Nothing Special   »   [go: up one dir, main page]

JP2023164999A - Program creation assistance device for programmable logic controller - Google Patents

Program creation assistance device for programmable logic controller Download PDF

Info

Publication number
JP2023164999A
JP2023164999A JP2023147288A JP2023147288A JP2023164999A JP 2023164999 A JP2023164999 A JP 2023164999A JP 2023147288 A JP2023147288 A JP 2023147288A JP 2023147288 A JP2023147288 A JP 2023147288A JP 2023164999 A JP2023164999 A JP 2023164999A
Authority
JP
Japan
Prior art keywords
unit
program
display
event
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023147288A
Other languages
Japanese (ja)
Inventor
昌一 吉岡
Shoichi Yoshioka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2023147288A priority Critical patent/JP2023164999A/en
Publication of JP2023164999A publication Critical patent/JP2023164999A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

To acquire a log of an event useful for solving a trouble.SOLUTION: A program creation assistance device includes: an event display control unit 14 that lists and displays, on a display unit 7, a plurality of events included in event data read from an operation-record-data holding unit 22b and respective occurrence times of the plurality of events; a selection receiving unit 16 that receives one selection from the plurality of events listed and displayed by the event display control unit 14; and a device display control unit 13 that superimposes and displays, on a user program, a device value that is included in log data read from the operation-record-data holding unit 22b and is recorded at a time corresponding to an occurrence time of an event selected by the selection receiving unit 16. The event display control unit 14 selectively lists and displays, on the display unit 7, specific events that change an operating state of a PLC 1 or an operating state of a device to be controlled by the PLC 1.SELECTED DRAWING: Figure 6

Description

本発明は、プログラマブルロジックコントローラ用プログラム作成支援装置に関する。 The present invention relates to a program creation support device for a programmable logic controller.

プログラマブルロジックコントローラ(Programmable Logic Controller:以下、「PLC」という。)はファクトリーオートメーション(Factory Automation:FA)において製造機器や搬送装置、検査装置を制御するコントローラである。PLCはユーザによって作成されるラダープログラム等のユーザープログラムを実行することで様々な拡張ユニットや被制御機器を制御する。ユーザープログラムを実際にPLC上で実行してみて、ユーザープログラムの作成時には想定していなかった事象が見つかり、ユーザープログラムの修正が必要となることがある。ユーザは修正箇所を特定するためにユーザープログラムを見直すだけでなく、PLCが生成したログデータを参照する。ログデータにはユーザープログラムを実行しているときに収集されたデバイスの値(デバイス値)が記憶される。PLCの分野においてデバイスとは情報を記憶する記憶領域を意味する。デバイスとしては、一ビットの情報を保持するリレーデバイスや一ワードの情報を保持するワードデバイス等がある。 A programmable logic controller (hereinafter referred to as "PLC") is a controller that controls manufacturing equipment, transport equipment, and inspection equipment in factory automation (FA). The PLC controls various expansion units and controlled devices by executing user programs such as ladder programs created by the user. When a user program is actually executed on a PLC, a phenomenon that was not anticipated when the user program was created may be discovered, and the user program may need to be modified. The user not only reviews the user program to identify correction points, but also refers to the log data generated by the PLC. Log data stores device values (device values) collected while a user program is running. In the field of PLC, a device means a storage area that stores information. Devices include relay devices that hold one bit of information, word devices that hold one word of information, and the like.

FAの分野でシーケンス制御を行うため、PLC用のプログラムを、プログラム編集用のアプリケーションプログラムを設計する。設計者は、プログラムを設計した後、このプログラムのシーケンス動作をシミュレーションし、シミュレーションの結果を検証しながらプログラムをデバッグして、完成したプログラムをPLCに転送し、実行させる。しかしながら、必ずしも想定したとおりの動作が実現されるとは限らず、実運用を踏まえて、プログラムを再度デバッグするなど、編集することが行われる。特に実運用時に、想定どおりの動作が実現できていない場合は、その原因がどこにあるのか、トラブルの元となった事象の特定が重要となる。例えば、必ずしもプログラムの設計とは別の原因で、動作が止まっていることもある(一例として、想定しないワークがライン上に流れていることが原因で制御が停止している場合など)。 In order to perform sequence control in the FA field, we design programs for PLC and application programs for program editing. After designing a program, the designer simulates the sequence operation of the program, debugs the program while verifying the simulation results, and transfers the completed program to the PLC for execution. However, it is not always possible to realize the expected operation, and the program must be edited, such as debugging it again, based on actual operation. In particular, if the expected behavior is not achieved during actual operation, it is important to identify the cause and the event that caused the problem. For example, operations may be stopped for reasons other than the program design (for example, control may be stopped due to unexpected work flowing on the line).

このようなデバイス値を保存する技術とは別に、イベントログ(故障が発生した等)を保存する技術が知られている(例えば特許文献1)。 Apart from such a technique of storing device values, a technique of storing an event log (for example, when a failure occurs) is known (for example, Patent Document 1).

しかしながら、保存したイベントログの種類は非常に多いため(1000種類オーダー)、重要なイベントログが埋もれてしまうと、ユーザがトラブルの原因を探るとき、時間がかかり使い勝手が悪いという問題があった。一方で、予め保存対象となるイベントログをユーザが絞り込んでおくことも考えられるが、保存対象とするイベントの選定が難しく、トラブル解決に役立つイベントを保存し損なう虞があった。 However, since there are a large number of saved event log types (on the order of 1,000 types), there is a problem in that if important event logs are buried, it takes time for the user to search for the cause of a problem, making it inconvenient to use. On the other hand, it is conceivable that the user narrows down the event logs to be saved in advance, but it is difficult to select the events to be saved, and there is a risk that events useful for troubleshooting may not be saved.

特開2003-029829号公報JP2003-029829A

本発明の目的の一は、トラブル解決に有用なイベントのログを取得できるようにしたプログラマブルロジックコントローラ用プログラム作成支援装置を提供することにある。 One object of the present invention is to provide a program creation support device for a programmable logic controller that is capable of acquiring event logs useful for troubleshooting.

課題を解決するための手段及び発明の効果Means for solving the problem and effects of the invention

本発明の第1の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、一以上のユニットで構成されたプログラマブルロジックコントローラであり、ユーザープログラムを繰り返し実行するプログラム実行部、該プログラム実行部によって参照される記憶領域であるデバイスを有するデバイス部、該デバイス部に記憶されているデバイス値を現在時刻と共にログデータとして時系列に記録すると共に、前記プログラマブルロジックコントローラ又は該プログラマブルロジックコントローラにより制御される被制御装置にて発生した複数のイベントを発生時刻と共にイベントデータとして時系列に記録する一時記録部、及び運転時において所定の保存条件が満たされると該一時記録部に記録されているログデータ及びイベントデータを保存する保存メモリを備える前記プログラマブルロジックコントローラにおいて実行される、グラフィカルプログラミング言語で記述される前記ユーザープログラムの作成を支援するためのプログラム作成支援装置であって、前記プログラマブルロジックコントローラの運転時に前記保存メモリに保存されたログデータ及びイベントデータを、運転記録データとして記憶する運転記録データ保持部と、前記ユーザープログラムを表示させる表示部と、前記運転記録データ保持部から読み出したイベントデータに含まれる複数のイベント及び該複数のイベントの各々の発生時刻を、前記表示部に一覧表示するイベント表示制御部と、前記イベント表示制御部により一覧表示された複数のイベントの中から一つの選択を受け付ける選択受付部と、前記運転記録データ保持部から読み出したログデータに含まれ、かつ、前記選択受付部により選択されたイベントの発生時刻に対応する時刻に記録されたデバイス値を、前記ユーザープログラム上に重ねて表示するデバイス表示制御部とを備え、前記イベント表示制御部は、前記プログラマブルロジックコントローラの動作状態又は該プログラマブルロジックコントローラにより制御される被制御装置の動作状態を変更する特定イベントを、前記表示部上に選択的に一覧表示するよう構成できる。上記構成により、多種多様なイベントの内から、トラブル解決に有用なイベントを選択的に表示させて、トラブルの原因究明に役立てることができる。 According to the program creation support device for a programmable logic controller according to the first aspect of the present invention, the programmable logic controller is composed of one or more units, and includes a program execution section that repeatedly executes a user program, and a program execution section that repeatedly executes a user program. A device unit that has a device that is a referenced storage area, records device values stored in the device unit in chronological order as log data together with the current time, and is controlled by the programmable logic controller or the programmable logic controller. A temporary recording section that records multiple events occurring in the controlled device in chronological order as event data together with the time of occurrence, and log data and log data recorded in the temporary recording section when predetermined storage conditions are met during operation. A program creation support device for supporting the creation of the user program written in a graphical programming language, which is executed in the programmable logic controller and includes a storage memory for storing event data, the program creation support device comprising: a storage memory for storing event data; a driving record data holding unit that stores the log data and event data stored in the storage memory as driving record data; a display unit that displays the user program; and an event data read out from the driving record data holding unit. an event display control section that displays a list of a plurality of events and the times of occurrence of each of the plurality of events on the display section; and a selection of one from among the plurality of events displayed as a list by the event display control section. A selection reception unit and a device value recorded at a time that is included in the log data read from the driving record data storage unit and that corresponds to the time of occurrence of the event selected by the selection reception unit are displayed on the user program. and a device display control section that displays a specific event that changes the operating state of the programmable logic controller or the operating state of a controlled device controlled by the programmable logic controller. It can be configured to selectively display a list on the display section. With the above configuration, events useful for troubleshooting can be selectively displayed from among a wide variety of events, and can be useful for investigating the cause of troubles.

また、第2の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記構成に加えて、さらに、
って、さらに、前記プログラマブルロジックコントローラの前記一時記録部に対し、前記複数のイベントのうち前記特定イベントのみを記録するよう設定する記録設定部を備えることができる。
Further, according to the program creation support device for a programmable logic controller according to the second aspect, in addition to the above configuration, further:
Accordingly, it is possible to further include a recording setting section that configures the temporary recording section of the programmable logic controller to record only the specific event among the plurality of events.

さらに、第3の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記特定イベントが、前記プログラム実行部による前記ユーザープログラムの実行と独立してユーザが行った操作に関するイベントを含むことができる。 Furthermore, according to the program creation support device for a programmable logic controller according to a third aspect, in addition to any of the above configurations, the specific event is executed by the user independently of the execution of the user program by the program execution unit. It can contain events related to operations performed.

さらにまた、第4の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記ユーザ操作に関するイベントが、少なくとも、前記ユーザープログラム及び前記プログラマブルロジックコントローラの構成情報を含むプロジェクトデータの書き換え、前記プログラマブルロジックコントローラの設定を行う設定モードと、前記プログラマブルロジックコントローラ上で前記ユーザープログラムを実行させる運転モードとのモード切替、前記プログラマブルロジックコントローラに接続可能なケーブルの挿抜、前記プログラマブルロジックコントローラに取り付け可能な記憶媒体の挿抜、及び前記被制御装置の電源のON/OFFを含むことができる。 Furthermore, according to the program creation support device for a programmable logic controller according to a fourth aspect, in addition to any of the above configurations, the event related to the user operation is configured to include at least configuration information of the user program and the programmable logic controller. rewriting project data including rewriting the project data, switching the mode between a setting mode in which the programmable logic controller is configured and an operation mode in which the user program is executed on the programmable logic controller, insertion and removal of a cable connectable to the programmable logic controller, This may include inserting and removing a storage medium that can be attached to the programmable logic controller, and turning on and off the power of the controlled device.

さらにまた、第5の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記イベント表示制御部は、前記プログラム実行部による前記ユーザープログラムの実行に従って、前記プログラマブルロジックコントローラ内で自動的に実行される処理に応じたイベントを非表示とすることができる。 Furthermore, according to the program creation support device for a programmable logic controller according to a fifth aspect, in addition to any of the above configurations, the event display control section may cause the event display control section to display the program according to the execution of the user program by the program execution section. Events corresponding to processing automatically executed within the programmable logic controller can be hidden.

さらにまた、第6の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記自動実行される処理に応じたイベントは、少なくとも、前記プログラマブルロジックコントローラと接続された外部装置とTCP接続又はFTP接続するときの通信開始又は通信切断、及び前記プログラマブルロジックコントローラ内に用意されたフォルダ又はファイルへの書き込みを含むことができる。 Furthermore, according to the program creation support device for a programmable logic controller according to the sixth aspect, in addition to any of the above configurations, an event corresponding to the automatically executed process is at least connected to the programmable logic controller. This may include starting or terminating communication when establishing a TCP connection or FTP connection with an external device that has been installed, and writing to a folder or file prepared in the programmable logic controller.

さらにまた、第7の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、さらに、前記デバイス表示制御部における表示対象時刻と、前記イベント表示制御部における表示対象時刻とを同期させる同期ソフトウエアモジュールを備え、前記同期ソフトウエアモジュールが、前記デバイス表示制御部と、前記イベント表示制御部を、前記表示部において連動させて表示させることができる。 Furthermore, according to the program creation support device for a programmable logic controller according to the seventh aspect, in addition to any of the above configurations, the display target time in the device display control section and the display in the event display control section are further provided. A synchronization software module is provided for synchronizing the target time, and the synchronization software module can display the device display control section and the event display control section in conjunction with each other on the display section.

さらにまた、第8の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記表示部は、イベントを一覧表示させるイベント表示欄と、前記ユーザープログラムであるラダー図を表示させるラダーモニタ欄とを備え、前記選択受付部で、前記イベント表示欄から任意のイベントが選択されると、該選択されたイベントの時刻と対応するラダー図が前記ラダーモニタ欄で選択されて表示されるように構成できる。 Furthermore, according to the program creation support device for a programmable logic controller according to the eighth aspect, in addition to any of the above configurations, the display section includes an event display field for displaying a list of events, and the user program. and a ladder monitor column for displaying a ladder diagram, and when an arbitrary event is selected from the event display column in the selection reception section, a ladder diagram corresponding to the time of the selected event is displayed in the ladder monitor column. Can be configured to be selected and displayed.

さらにまた、第9の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記記憶装置をSDカード(商品名)とすることができる。 Furthermore, according to the program creation support device for a programmable logic controller according to the ninth aspect, in addition to any of the above configurations, the storage device can be an SD card (product name).

さらにまた、第10の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記イベント表示制御部が、デバイス値を時系列波形として前記表示部に表示することができる。 Furthermore, according to the program creation support device for a programmable logic controller according to the tenth aspect, in addition to any of the above configurations, the event display control section displays device values as a time series waveform on the display section. be able to.

プログラマブルロジックコントローラシステムの概念図である。1 is a conceptual diagram of a programmable logic controller system. プログラマブルロジックコントローラシステムを示す図である。FIG. 1 is a diagram showing a programmable logic controller system. ラダープログラムを説明する図である。It is a diagram explaining a ladder program. プログラム作成支援装置を説明する図である。FIG. 2 is a diagram illustrating a program creation support device. PLCを説明する図である。It is a figure explaining PLC. ラダープログラムのスキャンを説明する図である。FIG. 3 is a diagram illustrating scanning of a ladder program. プログラム作成支援装置を示すブロック図である。FIG. 2 is a block diagram showing a program creation support device. 運転記録データとプロジェクトデータの関連付けを示す説明図である。It is an explanatory view showing association of driving record data and project data. ユーザーインターフェースを説明する図である。FIG. 3 is a diagram illustrating a user interface. 履歴再生モードのユーザープログラム作成支援プログラムのGUI画面を示すイメージ図である。FIG. 3 is an image diagram showing a GUI screen of a user program creation support program in history playback mode. 記録モードのユーザープログラム作成支援プログラムのGUI画面を示すイメージ図である。FIG. 3 is an image diagram showing a GUI screen of a user program creation support program in recording mode. モード選択欄の一例を示すイメージ図である。It is an image diagram showing an example of a mode selection column. ラダープログラムを編集する様子を示すGUIのイメージ図である。FIG. 2 is an image diagram of a GUI showing how a ladder program is edited. 図13の状態から編集画面を表示させたイメージ図である。14 is an image diagram of an editing screen displayed from the state of FIG. 13. FIG. 図14により編集が反映されたラダープログラムを示すイメージ図である。FIG. 15 is an image diagram showing a ladder program in which the edits shown in FIG. 14 are reflected; デバイス値を編集する様子を示すユーザープログラム作成支援プログラムのGUIのイメージ図である。FIG. 2 is an image diagram of a GUI of a user program creation support program showing how device values are edited. プロジェクトの保存画面を示すGUIのイメージ図である。FIG. 2 is an image diagram of a GUI showing a project save screen. 「プロジェクトの別名保存」ダイヤログ画面を示すイメージ図である。FIG. 3 is an image diagram showing a “save project under a different name” dialog screen. 「上書き保存禁止」処理の一例を示すフローチャートである。12 is a flowchart illustrating an example of "overwrite storage prohibition" processing. 「新しいプロジェクトデータとして保存」処理の一例を示すフローチャートである。12 is a flowchart illustrating an example of a "save as new project data" process. プロジェクトデータの照合機能を示すGUI画面のイメージ図である。FIG. 3 is an image diagram of a GUI screen showing a project data matching function. 照合結果の一例を示すGUI画面のイメージ図である。FIG. 3 is an image diagram of a GUI screen showing an example of a comparison result. プログラム作成支援装置の機能を説明する図である。It is a figure explaining the function of a program creation support device. CPUユニットの機能を説明する図である。It is a figure explaining the function of a CPU unit. ユニット構成情報の作成処理を説明する図である。FIG. 3 is a diagram illustrating a process for creating unit configuration information. デバッグ処理の概要を示すフローチャートである。3 is a flowchart showing an overview of debugging processing. プロジェクト作成部を説明する図である。FIG. 3 is a diagram illustrating a project creation section. ログ表示制御部を説明する図である。It is a figure explaining a log display control part. プログラム表示モジュールを説明する図である。It is a figure explaining a program display module. プロジェクトデータとログデータの表示モジュールを説明する図である。FIG. 3 is a diagram illustrating a display module for project data and log data. 再生制御モジュールを説明する図である。FIG. 3 is a diagram illustrating a reproduction control module. ユーザープログラムとデバイス値とを表示するUIを説明する図である。FIG. 2 is a diagram illustrating a UI that displays a user program and device values. ユーザープログラムとデバイス値とを表示する処理を示すフローチャートである。3 is a flowchart showing a process for displaying a user program and device values. デバイス値の波形を表示する処理を示すフローチャートである。7 is a flowchart showing a process for displaying a waveform of a device value. 再生制御を示すフローチャートである。3 is a flowchart showing playback control. PLC用エンジニアリングツールの一例を示すブロック図である。FIG. 2 is a block diagram showing an example of a PLC engineering tool. プログラマブルロジックコントローラシステムのイベントログ機能に関するブロック図である。FIG. 2 is a block diagram regarding an event log function of the programmable logic controller system. CPUユニットで発生するイベントを記録する動作を示すフローチャートである。3 is a flowchart showing an operation for recording events occurring in a CPU unit. 拡張ユニットで発生するイベントを記録する動作を示すフローチャートである。3 is a flowchart showing an operation for recording events occurring in an expansion unit. イベントログ表示時のフィルタ動作を示すフローチャートである。3 is a flowchart showing a filter operation when displaying an event log. 表示のフィルタリング設定を行う設定画面を示すイメージ図である。FIG. 3 is an image diagram showing a setting screen for setting display filtering. 実施形態に係るプログラマブルロジックコントローラ用エンジニアリングツールのGUIを示すイメージ図である。FIG. 2 is an image diagram showing a GUI of an engineering tool for a programmable logic controller according to an embodiment. 操作バーのカーソルが重なっているGUIのイメージ図である。FIG. 3 is an image diagram of a GUI in which the cursors of operation bars overlap. GUIのイメージ図である。It is an image diagram of GUI. GUIのイメージ図である。It is an image diagram of GUI. カメラモニタ欄を有するプログラマブルロジックコントローラ用エンジニアリングツールのGUIを示すイメージ図である。FIG. 2 is an image diagram showing a GUI of an engineering tool for a programmable logic controller having a camera monitor field.

以下、本発明の実施形態を図面に基づいて説明する。ただし、以下に示す実施形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施形態の部材に特定するものでは決してない。特に実施形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一若しくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。 Embodiments of the present invention will be described below based on the drawings. However, the embodiment shown below is an illustration for embodying the technical idea of the present invention, and the present invention is not limited to the following. Moreover, this specification does not in any way specify the members shown in the claims to the members of the embodiments. In particular, the dimensions, materials, shapes, relative arrangements, etc. of the components described in the embodiments are not intended to limit the scope of the present invention, unless otherwise specified, and are merely illustrative examples. It's nothing more than that. Note that the sizes, positional relationships, etc. of members shown in each drawing may be exaggerated for clarity of explanation. Furthermore, in the following description, the same names and symbols indicate the same or homogeneous members, and detailed descriptions will be omitted as appropriate. Furthermore, each element constituting the present invention may be configured so that a plurality of elements are made of the same member so that one member serves as a plurality of elements, or conversely, the function of one member may be performed by a plurality of members. It can also be accomplished by sharing.

図1に、プログラマブルロジックコントローラシステムの概要図を示す。この図に示すプログラマブルロジックコントローラシステム1000は、ラインを流れる対象物WKをカメラ部98で撮像して検査するシステムを例示している。このプログラマブルロジックコントローラシステム1000は、PC2と接続されて、プロジェクトデータ編集プログラムを編集する。 FIG. 1 shows a schematic diagram of a programmable logic controller system. A programmable logic controller system 1000 shown in this figure exemplifies a system in which an object WK flowing on a line is imaged by a camera unit 98 and inspected. This programmable logic controller system 1000 is connected to the PC 2 and edits a project data editing program.

プログラマブルロジックコントローラ1は、複数のユニットを接続して構成される。複数のユニット間は、ユニット間バス90を介して通信可能に接続されている。ユニットは、CPUユニット3と拡張ユニット4に大別される。CPUユニット3はメインユニットや基本ユニットとも呼ばれ、プログラマブルロジックコントローラの基本動作を行う。また拡張ユニット4は、CPUユニット3の機能を拡張する機能拡張ユニットである。図1の例では、拡張ユニット4はカメラ入力拡張ユニット4cと、モーションユニット4dと、通信ユニット4eを含む。拡張ユニット4の一種であるカメラ入力拡張ユニット4cは、カメラ部98と接続されて、対象物WKを所定のタイミングで撮像して、CPUユニットに送出する。モーションユニット4dは、位置決めユニットとも呼ばれ、軸とよばれる制御対象の位置を制御する。一般に軸ごとにモータ等の駆動源が存在する。通信ユニット4eは、外部機器と通信を行う。またCPUユニット3は、これら拡張ユニット4からのデータを収集して、必要な制御を行う。
<システム構成>
The programmable logic controller 1 is configured by connecting a plurality of units. The plurality of units are communicably connected via an inter-unit bus 90. The units are roughly divided into a CPU unit 3 and an expansion unit 4. The CPU unit 3 is also called a main unit or basic unit, and performs basic operations of the programmable logic controller. Further, the expansion unit 4 is a function expansion unit that expands the functions of the CPU unit 3. In the example of FIG. 1, the expansion unit 4 includes a camera input expansion unit 4c, a motion unit 4d, and a communication unit 4e. A camera input expansion unit 4c, which is one type of expansion unit 4, is connected to the camera section 98, takes an image of the object WK at a predetermined timing, and sends it to the CPU unit. The motion unit 4d is also called a positioning unit and controls the position of a controlled object called an axis. Generally, a drive source such as a motor exists for each axis. The communication unit 4e communicates with external equipment. The CPU unit 3 also collects data from these expansion units 4 and performs necessary control.
<System configuration>

ここで、プログラマブルロジックコントローラ(以下「PLC」とも呼ぶ。)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。 Here, in order to help those skilled in the art better understand the programmable logic controller (hereinafter also referred to as "PLC"), the configuration and operation of a typical PLC will be described.

図2は、本発明の実施の形態によるプログラマブルロジックコントローラシステムの一構成例を示す概念図である。図2が示すように、このシステムは、ラダープログラム等のユーザープログラムの編集を行うためのPC2と、工場等に設置される各種制御装置を統括的に制御するためのPLC1とを備えている。PCはパーソナルコンピュータの略称である。ユーザープログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)等のフローチャート形式のモーションプログラム等のグラフィカルプログラミング言語を用いて作成されてもよいし、C言語等の高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、ユーザープログラムはラダープログラムとする。PLC1は、CPUが内蔵されたCPUユニット3と、1つないし複数の拡張ユニット4を備えている。CPUユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。例えば、拡張ユニット4aはモータ(フィールドデバイス10a)を駆動してワークの位置決めする位置決めユニットであり、拡張ユニット4bはカウンタユニットであってもよい。カウンタユニットは手動パルサ等のエンコーダ(フィールドデバイス10b)からの信号をカウントする。なお、参照符号の末尾に付与されているa、b、c・・・の文字は省略されることがある。なお、PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。 FIG. 2 is a conceptual diagram showing a configuration example of a programmable logic controller system according to an embodiment of the present invention. As shown in FIG. 2, this system includes a PC 2 for editing user programs such as ladder programs, and a PLC 1 for comprehensively controlling various control devices installed in a factory or the like. PC is an abbreviation for personal computer. The user program may be created using a graphical programming language such as a flowchart-style motion program such as a ladder language or SFC (sequential function chart), or may be created using a high-level programming language such as C language. . In the following, for convenience of explanation, the user program is assumed to be a ladder program. The PLC 1 includes a CPU unit 3 with a built-in CPU, and one or more expansion units 4. One or more expansion units 4 can be attached to and detached from the CPU unit 3. For example, the extension unit 4a may be a positioning unit that positions a workpiece by driving a motor (field device 10a), and the extension unit 4b may be a counter unit. The counter unit counts signals from an encoder (field device 10b) such as a manual pulser. Note that the letters a, b, c, etc. appended to the end of the reference numerals may be omitted. Note that a system including PLC1 and PC2 may be called a programmable logic controller system.

CPUユニット3には、PLC側表示部5及びPLC側操作部6が備えられている。PLC側表示部5は、CPUユニット3に取り付けられている各拡張ユニット4の動作状況等を表示することができる。PLC側操作部6の操作内容に応じてPLC側表示部5は表示内容を切り替える。またPLC側操作部6は、CPUユニット3と一体に組み込まれたボタン等とする他、外付けのコンソールやマウスやキーボード等の入力装置としてもよい。あるいは、PLC側表示部5をタッチパネルとして操作部の機能を兼用させることもできる。 The CPU unit 3 is equipped with a PLC side display section 5 and a PLC side operation section 6. The PLC side display section 5 can display the operating status of each expansion unit 4 attached to the CPU unit 3. The PLC side display section 5 switches the display contents according to the operation contents of the PLC side operation section 6. Further, the PLC-side operation section 6 may be a button or the like integrated with the CPU unit 3, or may be an external console, a mouse, a keyboard, or other input device. Alternatively, the PLC-side display section 5 can also be used as a touch panel to function as an operation section.

PLC側表示部5は、通常、PLC1内のデバイスの現在値(デバイス値)やPLC1内で生じたエラー情報等を表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の領域を指す名称であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態及びユーザープログラム上で設定される内部リレー(補助リレー)、タイマ、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。 The PLC-side display unit 5 normally displays current values (device values) of devices within the PLC 1, error information that has occurred within the PLC 1, and the like. A device is a name indicating an area on a memory provided for storing device values (device data), and may also be called a device memory. The device value is information indicating the input state from the input device, the output state to the output device, and the state of internal relays (auxiliary relays), timers, counters, data memories, etc. set on the user program. There are two types of device values: bit type and word type. A bit device stores a 1-bit device value. A word device stores one word of device value.

拡張ユニット4は、PLC1の機能を拡張するために用意されている。各拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続され、これにより、各フィールドデバイス10が拡張ユニット4を介してCPUユニット3に接続される。フィールドデバイス10は、センサやカメラ部等の入力機器であってもよいし、アクチュエータ等の出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。
(プログラマブルロジックコントローラ用エンジニアリングツール)
The expansion unit 4 is prepared to expand the functions of the PLC 1. Each expansion unit 4 is connected to a field device (controlled device) 10 corresponding to the function of the expansion unit 4, and thereby each field device 10 is connected to the CPU unit 3 via the expansion unit 4. The field device 10 may be an input device such as a sensor or a camera unit, or may be an output device such as an actuator. Further, a plurality of field devices may be connected to one expansion unit 4.
(Engineering tool for programmable logic controllers)

PC2は、プログラマブルロジックコントローラ用エンジニアリングツール(以下「PLC用エンジニアリングツール」ともいう。)を実現する。PLC用エンジニアリングツールとは、PLC1と接続して、その設定や、運用時の制御や動作確認等を行うための部材である。また、PLC1やこれを含めたプログラマブルロジックコントローラシステムを動作させる各種プログラムの作成や、作成済みのプログラムの編集、修正を行うこともできる。この意味ではプログラム作成支援装置と呼ばれてもよい。さらにPLC用エンジニアリングツールは、過去のプログラマブルロジックコントローラシステムの動作を記録した運転記録データに基づいて、その当時の各デバイスの動作状況を再現することもできる。運転記録データは、ラダープログラム等のユーザープログラムや、各ユニットのユニット構成情報などの設定データを含むプロジェクトデータ、及び運転当時の各デバイスのデバイス値やカメラ部の画像データ等の運用データであるログデータを含んでいる。このPLC用エンジニアリングツールは運転記録データの内、プロジェクトデータを読み込んで編集することも可能である。この意味でPLC用エンジニアリングツールは、プロジェクトデータ編集プログラムと呼ばれてもよい。 The PC 2 realizes an engineering tool for programmable logic controllers (hereinafter also referred to as "PLC engineering tool"). The PLC engineering tool is a member that connects to the PLC 1 to perform settings, control during operation, and operation confirmation. It is also possible to create various programs for operating the PLC 1 and the programmable logic controller system including this, and to edit and modify already created programs. In this sense, it may also be called a program creation support device. Furthermore, the PLC engineering tool can also reproduce the operational status of each device at that time based on operation record data that records the past operation of the programmable logic controller system. Operation record data includes user programs such as ladder programs, project data that includes setting data such as unit configuration information for each unit, and logs that are operational data such as device values of each device at the time of operation and image data of the camera unit. Contains data. This PLC engineering tool can also read and edit project data from the driving record data. In this sense, the PLC engineering tool may be called a project data editing program.

PC2は、例えば携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータであって、表示部7及びPC側操作部8を備えている。PLC1を制御するためのユーザープログラムの一例であるラダープログラムは、PC2を用いて作成される。その作成されたラダープログラムは、PC2内でニモニックコードに変換される。PC2は、USB(Universal Serial Bus)等の通信ケーブル9を介してPLC1のCPUユニット3に接続され、ニモニックコードに変換されたラダープログラムをCPUユニット3に送る。CPUユニット3はラダープログラムをマシンコードに変換し、CPUユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードがCPUユニット3に送信されているが、本発明はこれに限られない。例えば、PC2は、ニモニックコードを中間コードに変換し、中間コードをCPUユニット3に送信してもよい。 The PC 2 is, for example, a portable notebook-type or tablet-type personal computer, and includes a display section 7 and a PC-side operation section 8. A ladder program, which is an example of a user program for controlling the PLC 1, is created using the PC 2. The created ladder program is converted into a mnemonic code within the PC 2. The PC 2 is connected to the CPU unit 3 of the PLC 1 via a communication cable 9 such as a USB (Universal Serial Bus), and sends the ladder program converted into a mnemonic code to the CPU unit 3. The CPU unit 3 converts the ladder program into machine code and stores it in a memory provided in the CPU unit 3. Note that although the mnemonic code is transmitted to the CPU unit 3 here, the present invention is not limited to this. For example, the PC 2 may convert the mnemonic code into an intermediate code and transmit the intermediate code to the CPU unit 3.

なお、図2は示していないが、PC2のPC側操作部8には、PC2に接続されたマウス等のポインティングデバイスが含まれていてもよい。またPC2は、USB以外の他の通信ケーブル9を介して、PLC1のCPUユニット3に対して着脱可能に接続されるような構成であってもよい。また、通信ケーブル9を介さず、PLC1のCPUユニット3に対して無線によって接続されるような構成であってもよい。
<ラダープログラム>
Although not shown in FIG. 2, the PC-side operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. Further, the PC 2 may be configured to be detachably connected to the CPU unit 3 of the PLC 1 via a communication cable 9 other than the USB. Alternatively, the configuration may be such that it is connected wirelessly to the CPU unit 3 of the PLC 1 without using the communication cable 9.
<Ladder program>

図3は、ラダープログラムの作成時にPC2の表示部7に表示されるラダー図Ldの一例を示す図である。PC2は、マトリックス状に配置された複数のセルを表示部7に表示する。各セルには、仮想デバイスのシンボルが配置される。シンボルは、入力リレーや出力リレー等を示している。このような複数のシンボルによってリレー回路が形成される。ラダー図Ldには、例えば10列×N行(Nは任意の自然数)のセルが配置されている。そして各行のセル内には、仮想デバイスのシンボルが適宜配置される。 FIG. 3 is a diagram showing an example of a ladder diagram Ld displayed on the display unit 7 of the PC 2 when creating a ladder program. The PC 2 displays a plurality of cells arranged in a matrix on the display unit 7. A symbol of a virtual device is arranged in each cell. Symbols indicate input relays, output relays, etc. A relay circuit is formed by such a plurality of symbols. In the ladder diagram Ld, cells are arranged in, for example, 10 columns×N rows (N is an arbitrary natural number). Symbols of virtual devices are appropriately arranged in the cells of each row.

図3が示すリレー回路は、入力装置からの入力信号に基づいてON/OFFされる3つの仮想デバイス(以下、「入力デバイス」と呼ぶ。)のシンボルと、出力装置の動作を制御するためにON/OFFされる仮想デバイス(以下、「出力デバイス」と呼ぶ。)のシンボルと、が適宜結合されることにより構成されている。 The relay circuit shown in FIG. 3 has symbols for three virtual devices (hereinafter referred to as "input devices") that are turned ON/OFF based on input signals from input devices, and a symbol for controlling the operation of an output device. It is configured by appropriately combining symbols of virtual devices (hereinafter referred to as "output devices") to be turned on and off.

各入力デバイスのシンボルの上方に表示されている文字(「R0001」、「R0002」及び「R0003」)は、その入力デバイスのデバイス名(アドレス名)を表している。各入力デバイスのシンボルの下方に表示されている文字(「フラグ1」、「フラグ2」及び「フラグ3」)は、その入力デバイスに対応付けられたデバイスコメントを表している。出力デバイスのシンボルの上方に表示されている文字(「原点復帰」)は、その出力デバイスの機能を表す文字列からなるラベルである。 The characters (“R0001,” “R0002,” and “R0003”) displayed above the symbol of each input device represent the device name (address name) of that input device. The characters (“flag 1,” “flag 2,” and “flag 3”) displayed below the symbol of each input device represent the device comment associated with that input device. The characters (“return to origin”) displayed above the symbol of the output device are labels consisting of a character string representing the function of the output device.

図3が示す例では、デバイス名「R0001」及び「R0002」にそれぞれ対応する2つの入力デバイスのシンボルが直列的に結合されることにより、AND回路が構成されている。また、これらの2つの入力デバイスのシンボルからなるAND回路に対して、デバイス名「R0003」に対応する入力デバイスのシンボルが並列的に結合されることにより、OR回路が構成されている。すなわち、このリレー回路では、一行目の2つのシンボルに対応する入力デバイスがいずれもONした場合、又は二行目のシンボルに対応する入力デバイスがONした場合にのみ、一行目のシンボルに対応する出力デバイスがONになる。
<プログラム作成支援装置>
In the example shown in FIG. 3, the symbols of two input devices corresponding to device names "R0001" and "R0002" are connected in series to form an AND circuit. Furthermore, an OR circuit is constructed by connecting in parallel the symbol of the input device corresponding to the device name "R0003" to the AND circuit composed of the symbols of these two input devices. That is, in this relay circuit, the relay circuit corresponds to the symbol in the first row only when both input devices corresponding to the two symbols on the first row are turned on, or when an input device corresponding to the symbol on the second row is turned on. The output device turns on.
<Program creation support device>

図4は、PC2の電気的構成について説明するためのブロック図である。図4が示すように、PC2は、PC側メモリ部11、PC側CPU21、表示部7、PC側操作部8、PC側記憶装置22及びPC側通信部23を備えている。表示部7、PC側操作部8、PC側記憶装置22及びPC側通信部23は、それぞれPC側CPU21に対して電気的に接続されている。 FIG. 4 is a block diagram for explaining the electrical configuration of the PC 2. As shown in FIG. As shown in FIG. 4, the PC 2 includes a PC memory section 11, a PC CPU 21, a display section 7, a PC operation section 8, a PC storage device 22, and a PC communication section 23. The display unit 7, the PC-side operation unit 8, the PC-side storage device 22, and the PC-side communication unit 23 are each electrically connected to the PC-side CPU 21.

PC側メモリ部11は、PC側CPU21が処理を実行するための作業空間となる作業メモリであり、典型的にはRAM等で構成される。PC側記憶装置22は、後述する運転記録データ記憶部36Bの機能を実現する。運転記録データは、プロジェクトデータを含んでいる。 The PC-side memory unit 11 is a work memory that serves as a work space for the PC-side CPU 21 to execute processing, and is typically composed of a RAM or the like. The PC side storage device 22 realizes the function of a driving record data storage section 36B, which will be described later. The driving record data includes project data.

PC側記憶装置22はハードディスクや半導体メモリ、ROM等を含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。 The PC side storage device 22 includes a hard disk, a semiconductor memory, a ROM, etc., and may further include a removable memory card. CPU is an abbreviation for central processing unit. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory.

ユーザは、PC側記憶装置22に記憶されているコンピュータプログラムである編集ソフトウエアをPC側CPU21に実行させて、PC側操作部8を通じてプロジェクトデータを編集する。この編集ソフトウエアは、プロジェクトデータ編集プログラムにあたる。
(プロジェクトデータ)
The user causes the PC CPU 21 to execute editing software, which is a computer program stored in the PC storage device 22, and edits the project data through the PC operation unit 8. This editing software corresponds to a project data editing program.
(project data)

プロジェクトデータは、一つ以上のユーザープログラム(例えばラダープログラム)と、CPUユニット3や拡張ユニット4のユニット構成情報等を含む。またプロジェクトデータは、ユーザープログラムがどのようなプログラム部品から構成されているかを示すプログラム構成情報を含めてもよい。さらにユニット構成情報は、CPUユニット3に対する複数の拡張ユニット4の接続位置や、CPUユニット3に備えられた機能(例えば通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例えば撮影機能)等を示す情報である。 The project data includes one or more user programs (for example, a ladder program), unit configuration information of the CPU unit 3 and the expansion unit 4, and the like. The project data may also include program configuration information indicating what kind of program parts the user program is composed of. Further, the unit configuration information includes information indicating the connection positions of the plurality of expansion units 4 to the CPU unit 3, functions provided in the CPU unit 3 (for example, communication function and positioning function), and functions of the expansion unit 4 (for example, shooting function). This is information indicating such things.

ここで、プロジェクトデータの編集には、プロジェクトデータの作成及び変更が含まれる。プロジェクトデータ編集プログラムを用いて作成されたプロジェクトデータは、PC側記憶装置22に記憶される。またユーザは、必要に応じてPC側記憶装置22に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、プロジェクトデータ編集プログラムを用いて変更することができる。PC側通信部23は、通信ケーブル9を介してPC2をCPUユニット3に通信可能に接続するためのものである。PC側CPU21はPC側通信部23を介してプロジェクトデータをCPUユニット3に転送する。 Here, editing the project data includes creating and changing the project data. Project data created using the project data editing program is stored in the PC-side storage device 22. Furthermore, the user can read out the project data stored in the PC storage device 22 and change the project data using the project data editing program, if necessary. The PC-side communication unit 23 is for communicably connecting the PC 2 to the CPU unit 3 via the communication cable 9. The PC side CPU 21 transfers the project data to the CPU unit 3 via the PC side communication section 23.

プロジェクトデータ編集プログラムは、編集モードとモニタモードと履歴再生モードを備える。編集モードはエディットモード等とも呼ばれ、プロジェクトデータを編集することができる。またモニタモードはユーザープログラムのデバッグ等を行うためのシミュレーション動作を行うことができる。さらに履歴再生モードはリプレイモードやタイムマシン再生等とも呼ばれ、再生表示を行うことができる。これらの編集モード、モニタモード、履歴再生モードの切り替えは、後述するモード選択部50Dで行われる。
<PLC1>
The project data editing program has an editing mode, a monitor mode, and a history playback mode. The edit mode is also called an edit mode, and allows project data to be edited. Also, in the monitor mode, simulation operations can be performed for debugging the user program. Furthermore, the history playback mode is also called replay mode, time machine playback, etc., and allows playback and display. Switching between the editing mode, monitor mode, and history playback mode is performed by a mode selection section 50D, which will be described later.
<PLC1>

図5はPLC1の電気的構成について説明するためのブロック図である。この図に示すように、CPUユニット3は、PLC側CPU31、PLC側表示部5、PLC側操作部6、PLC側記憶装置32及びPLC側通信部33を備えている。PLC側表示部5、PLC側操作部6、PLC側記憶装置32及びPLC側通信部33は、それぞれPLC側CPU31に電気的に接続されている。
(PLC側記憶装置32)
FIG. 5 is a block diagram for explaining the electrical configuration of the PLC 1. As shown in this figure, the CPU unit 3 includes a PLC side CPU 31, a PLC side display section 5, a PLC side operation section 6, a PLC side storage device 32, and a PLC side communication section 33. The PLC-side display section 5, the PLC-side operation section 6, the PLC-side storage device 32, and the PLC-side communication section 33 are electrically connected to the PLC-side CPU 31, respectively.
(PLC side storage device 32)

PLC側記憶装置32は、プロジェクト記憶部35、デバイス部34、一時記録部91a、保存メモリ36を備えている。 The PLC side storage device 32 includes a project storage section 35, a device section 34, a temporary storage section 91a, and a storage memory 36.

プロジェクト記憶部35は、PC2から入力されたプロジェクトデータを記憶する。またPLC側記憶装置32はCPUユニット3用の制御プログラムも記憶する。 The project storage unit 35 stores project data input from the PC 2. The PLC side storage device 32 also stores a control program for the CPU unit 3.

デバイス部34はビットデバイスやワードデバイス等を有し、各デバイスはデバイス値を記憶する。このデバイス部34は、複数のデバイスの各デバイス値を記憶するデバイスメモリとして機能する。またユーザープログラムに従い参照される記憶領域として機能させてもよい。 The device section 34 has bit devices, word devices, etc., and each device stores a device value. This device section 34 functions as a device memory that stores each device value of a plurality of devices. Further, it may function as a storage area that is referenced according to a user program.

一時記録部91aは、デバイス部34に記憶されているデバイス値を時系列に記録する。この一時記録部91aは、リングバッファ等で構成できる。 The temporary recording section 91a records the device values stored in the device section 34 in chronological order. This temporary recording section 91a can be composed of a ring buffer or the like.

保存メモリ36は、一時記録部91aに時系列に記録されたデバイス値を保存する。保存メモリ36は、不揮発性メモリとして、内部メモリ37や着脱可能なメモリカード36A等で構成される。 The storage memory 36 stores the device values recorded in chronological order in the temporary storage section 91a. The storage memory 36 is comprised of an internal memory 37, a removable memory card 36A, and the like as nonvolatile memory.

このようにPLC側記憶装置32は複数の記憶領域を有している。このPLC側記憶装置32はRAMやROM、メモリカード等を含んでもよい。例えば図5の例では、保存メモリ36は着脱可能なメモリカード36Aで構成されている。
(PLC側CPU31)
In this way, the PLC side storage device 32 has a plurality of storage areas. This PLC side storage device 32 may include a RAM, ROM, memory card, etc. For example, in the example shown in FIG. 5, the storage memory 36 is composed of a removable memory card 36A.
(PLC side CPU31)

PLC側CPU31は、プログラム実行部514と、保存条件設定部45と、記録制御部39と、保存制御部50Cを備えている。プログラム実行部514は、ユーザープログラムを繰り返し実行するラダー実行エンジンとして機能する。ユーザープログラムに従い、プログラム実行部514により参照される記憶領域であるデバイス部34は、複数のデバイスの各デバイス値を記憶している。 The PLC side CPU 31 includes a program execution section 514, a storage condition setting section 45, a recording control section 39, and a storage control section 50C. The program execution unit 514 functions as a ladder execution engine that repeatedly executes a user program. The device unit 34, which is a storage area referenced by the program execution unit 514 according to the user program, stores each device value of a plurality of devices.

保存条件設定部45は、各種の条件を設定するための部材である。ここでは保存条件設定部45は、一時記録部91aに記録するための記録トリガについての第1トリガ条件と、保存メモリ36に保存するための保存トリガについての第2トリガ条件と、記録トリガが示す時点を基準時とし、この基準時までの期間及び該基準時からの期間の少なくとも一方を含む期間であって、一時記録部91aに一時的な記録を行う期間を示すバッファ記録期間を設定する。 The storage condition setting section 45 is a member for setting various conditions. Here, the storage condition setting section 45 sets a first trigger condition for a recording trigger for recording in the temporary recording section 91a, a second trigger condition for a storage trigger for storing in the storage memory 36, and a recording trigger indicated by the recording trigger. The time is set as a reference time, and a buffer recording period is set, which is a period including at least one of a period up to this reference time and a period from the reference time, and is a period during which temporary recording is performed in the temporary recording section 91a.

保存条件設定部45で、第1トリガ条件として、一時記録部91aへの記録を開始するための記録開始トリガについての条件を設定することができる。またバッファ記録期間として、この記録開始トリガが示す基準時からの期間を設定することができる。 The storage condition setting section 45 can set, as a first trigger condition, a condition for a recording start trigger for starting recording to the temporary recording section 91a. Furthermore, the period from the reference time indicated by this recording start trigger can be set as the buffer recording period.

記録制御部39は、記録トリガについての第1トリガ条件が成立すると、この記録トリガが示す時点を基準時とするバッファ記録期間に対応した時系列のデバイス値をログデータとして一時記録部91aに記録する。また記録制御部39は、保存トリガについての第2トリガ条件が成立する時点、又は次に記録トリガについての第1トリガ条件が成立する時点の、いずれか早い時点までの間、記録した該ログデータを一時記録部91aに保持させる。そして、次に記録トリガについての第1トリガ条件が成立すると、次に該記録トリガが示す時点を基準時とするバッファ記録期間に対応した時系列のデバイス値をログデータとして、一時記録部91aに記録する。 When the first trigger condition for the recording trigger is satisfied, the recording control unit 39 records the time-series device values corresponding to the buffer recording period whose reference time is the point in time indicated by this recording trigger in the temporary recording unit 91a as log data. do. The recording control unit 39 also controls the recorded log data until the time when the second trigger condition for the save trigger is satisfied or the time when the first trigger condition for the recording trigger is satisfied, whichever is earlier. is temporarily held in the recording section 91a. Then, when the first trigger condition for the recording trigger is met, the time-series device values corresponding to the buffer recording period with the time point indicated by the recording trigger as the reference time are stored as log data in the temporary recording section 91a. Record.

保存制御部50Cは、保存トリガについての第2トリガ条件が成立すると、記録制御部39により一時記録部91aに保持されたログデータを保存メモリ36に保存する。ここで保存制御部50Cは、保存トリガについての第2トリガ条件が成立すると、記録制御部39により一時記録部91aに保持され、保存トリガからみて直前の記録トリガに対応するログデータを、保存メモリに保存することが好ましい。このように保存制御部50Cは、バッファ記録期間を経過した後も、バッファ記録期間中に記録したログデータを保持しておき、保存トリガが起動すると、記録トリガに対応付けて保持されたログデータを保存する。ただ記録制御部39が保存するログデータは、直近の記録トリガに対応するログデータに限らず、2個前の記録トリガや、3回前の記録トリガとしてもよい。 The storage control unit 50C stores the log data temporarily held in the storage unit 91a by the recording control unit 39 in the storage memory 36 when the second trigger condition for the storage trigger is satisfied. Here, when the second trigger condition for the save trigger is satisfied, the save control unit 50C stores log data that is temporarily held in the recording unit 91a by the record control unit 39 and corresponds to the immediately previous record trigger from the perspective of the save trigger, into the save memory. It is preferable to store it in In this way, the storage control unit 50C retains the log data recorded during the buffer recording period even after the buffer recording period has elapsed, and when the storage trigger is activated, the log data stored in association with the recording trigger is stored. Save. However, the log data stored by the recording control unit 39 is not limited to the log data corresponding to the most recent recording trigger, but may be the two previous recording triggers or the third previous recording trigger.

図5が示すように,CPUユニット3と拡張ユニット4とは拡張バスの一種であるユニット間バス90を介して接続されている。なお、ユニット間バス90に関する通信機能は、PLC側通信部33の一部として実装されてもよい。またPLC側通信部33は、ネットワーク通信回路を有してもよい。PLC側CPU31は、PLC側通信部33を介してログデータ等をPC2やクラウド等に送信してもよい。 As shown in FIG. 5, the CPU unit 3 and the expansion unit 4 are connected via an inter-unit bus 90, which is a type of expansion bus. Note that the communication function regarding the inter-unit bus 90 may be implemented as part of the PLC side communication section 33. Further, the PLC side communication section 33 may include a network communication circuit. The PLC-side CPU 31 may transmit log data and the like to the PC 2, the cloud, etc. via the PLC-side communication unit 33.

ここで、ユニット間バス90について、補足説明する。このユニット間バス90は、次に説明する入出力リフレッシュ等が行われるバスである。ユニット間バス90における通信制御は、いわゆるバスマスタ38によって実現される(なお、PLC側通信部33の一部としてバスマスタを設けてもよいし、PLC側CPU31の一部としてバスマスタ38を設けてもよい)。バスマスタ38は、ユニット間バス90での通信を制御するための制御回路であって、PLC側CPU31からの通信要求を受けて、拡張ユニット4との間で、後述する入出力リフレッシュ等の通信を行う。 Here, a supplementary explanation will be given regarding the inter-unit bus 90. This inter-unit bus 90 is a bus on which input/output refresh, etc., which will be described next, is performed. Communication control on the inter-unit bus 90 is realized by a so-called bus master 38 (the bus master may be provided as a part of the PLC side communication section 33, or the bus master 38 may be provided as a part of the PLC side CPU 31). ). The bus master 38 is a control circuit for controlling communication on the inter-unit bus 90, and upon receiving a communication request from the PLC side CPU 31, performs communication such as input/output refreshing, which will be described later, with the expansion unit 4. conduct.

拡張ユニット4はCPU41とメモリ42を備えている。CPU41は、デバイスに格納されたCPUユニット3からの指示(デバイス値)に従って、フィールドデバイス10を制御する。またCPU41は、フィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによってCPUユニット3に転送される。またデバイスに格納されている制御結果は、CPUユニット3からの読み出し命令に従って、入出力リフレッシュとは異なるタイミングであっても、CPUユニット3に転送される。メモリ42はRAMやROM等を含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。またメモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。 The expansion unit 4 includes a CPU 41 and a memory 42. The CPU 41 controls the field device 10 according to instructions (device values) from the CPU unit 3 stored in the device. Further, the CPU 41 stores the control results of the field device 10 in a device called a buffer memory. The control results stored in the device are transferred to the CPU unit 3 by input/output refresh. Further, the control results stored in the device are transferred to the CPU unit 3 according to a read command from the CPU unit 3 even at a timing different from the input/output refresh. The memory 42 includes RAM, ROM, etc. In particular, a storage area is reserved in the RAM to be used as a buffer memory. The memory 42 may also include a buffer that temporarily holds data (eg, still image data or video data) acquired by the field device 10.

図6はCPUユニット3のスキャンタイムを示す模式図である。図6が示すように1つのスキャンタイムTは、入出力のリフレッシュを行うためのユニット間通信201、プログラム実行202、END処理204により構成されている。ユニット間通信201で、CPUユニット3は、ラダープログラムを実行して得られた出力データをCPUユニット3内のPLC側記憶装置32から拡張ユニット4等の外部機器に送信する。さらにCPUユニット3は、拡張ユニット4等の外部機器から受信した入力データをCPUユニット3内のPLC側記憶装置32に取り込む。つまり、CPUユニット3のデバイスに記憶されているデバイス値は出力リフレッシュによって拡張ユニット4のデバイスに反映される。同様に、拡張ユニット4のデバイスに記憶されているデバイス値は、入力リフレッシュによってCPUユニット3のデバイスに反映される。このように入出力リフレッシュによって、CPUユニット3のデバイスと拡張ユニット4のデバイスが同期する。 FIG. 6 is a schematic diagram showing the scan time of the CPU unit 3. As shown in FIG. 6, one scan time T is composed of inter-unit communication 201 for refreshing input/output, program execution 202, and END processing 204. In inter-unit communication 201, the CPU unit 3 transmits output data obtained by executing the ladder program from the PLC side storage device 32 in the CPU unit 3 to an external device such as the expansion unit 4. Furthermore, the CPU unit 3 takes in input data received from an external device such as the expansion unit 4 into the PLC side storage device 32 within the CPU unit 3. In other words, the device value stored in the device of the CPU unit 3 is reflected in the device of the expansion unit 4 by output refresh. Similarly, the device value stored in the device of the expansion unit 4 is reflected in the device of the CPU unit 3 by input refresh. By input/output refresh in this manner, the devices of the CPU unit 3 and the devices of the expansion unit 4 are synchronized.

なお、リフレッシュ以外のタイミングでデバイス値をユニット間で更新する仕組み(ユニット間同期)が採用されてもよい。ただ、CPUユニット3のデバイスは、CPUユニット3が随時書き換えており、同様に拡張ユニット4のデバイスは拡張ユニット4が随時書き換えている。つまり、CPUユニット3のデバイスは、CPUユニット3の内部の装置によって随時アクセス可能である。同様に、拡張ユニット4のデバイスは拡張ユニット4の内部の装置によって随時アクセス可能になっている。CPUユニット3と拡張ユニット4との間では、基本的にリフレッシュのタイミングにおいて相互にデバイス値を更新して同期する。プログラム実行202で、CPUユニット3は、更新された入力データを用いてプログラムを実行(演算)する。図6が示すように、プログラム実行202においては複数のプログラムモジュール又はラダープログラムがプロジェクトデータに従って順番に実行されてもよい。CPUユニット3はプログラムの実行によりデータを演算処理する。なお、END処理とは、PC2やCPUユニット3に接続された表示器(図示せず)等の外部機器とのデータ通信、システムのエラーチェック等の周辺サービスに関する処理全般を意味する。 Note that a mechanism (inter-unit synchronization) in which device values are updated between units at a timing other than refresh may be adopted. However, the devices of the CPU unit 3 are rewritten by the CPU unit 3 at any time, and similarly, the devices of the expansion unit 4 are rewritten by the expansion unit 4 at any time. In other words, the devices of the CPU unit 3 can be accessed by devices inside the CPU unit 3 at any time. Similarly, devices in the expansion unit 4 can be accessed at any time by devices inside the expansion unit 4. The CPU unit 3 and expansion unit 4 basically update and synchronize their device values with each other at refresh timing. In program execution 202, the CPU unit 3 executes (computes) the program using the updated input data. As shown in FIG. 6, in program execution 202, a plurality of program modules or ladder programs may be executed in sequence according to project data. The CPU unit 3 processes data by executing programs. Note that the END processing refers to all processing related to peripheral services such as data communication with external devices such as a display device (not shown) connected to the PC 2 and the CPU unit 3, and system error checking.

このように、PC2はユーザの操作に応じたラダープログラムを作成し、作成したラダープログラムをPLC1に転送する。PLC1は、入出力リフレッシュ、ラダープログラムの実行及びEND処理を1サイクル(1スキャン)として、このサイクルを周期的、すなわちサイクリックに繰り返し実行する。これにより、各種の入力機器(センサ等)からのタイミング信号に基づいて、各種の出力機器(モータ等)を制御する。なお、スキャン周期とは別に、CPUユニット3や拡張ユニット4はそれぞれ内部制御周期を有している。CPUユニット3や拡張ユニット4は内部制御周期を基準としてフィールドデバイス10等の機能を制御する。
<ロギング>
In this way, the PC 2 creates a ladder program according to the user's operation, and transfers the created ladder program to the PLC 1. The PLC 1 considers input/output refresh, ladder program execution, and END processing as one cycle (one scan), and repeatedly executes this cycle periodically, that is, cyclically. Thereby, various output devices (motors, etc.) are controlled based on timing signals from various input devices (sensors, etc.). Note that, apart from the scan cycle, the CPU unit 3 and the expansion unit 4 each have an internal control cycle. The CPU unit 3 and expansion unit 4 control the functions of the field device 10 and the like based on the internal control cycle.
<Logging>

ユーザがユーザープログラムを改良したり、修正したりする際に、PLC1がユーザープログラムを実行している際に取得されたデバイス値が役に立つことがある。そこで、PLC1は予め指定されたデバイス値を取得し、ログデータを作成する。ここで、PLC1が管理するデバイスには、ユーザープログラムによって利用されるものだけでなく、ユーザープログラムによって利用されないものも存在する。また、ユーザープログラムを改良したり、修正したりする際に役立つデバイスもあれば、役に立たないデバイスもある。一般にデバイスの数は数千個に及ぶため、ユーザが必要なデバイスを指定することは大きな負担となっていた。そこで、PC2は、ユーザープログラムを解析し、ユーザープログラムに使用又は記述されているデバイスをロギング対象として抽出する。これにより、ユーザの負担が軽減される。 When a user improves or modifies a user program, the device values acquired while the PLC 1 is executing the user program may be useful. Therefore, the PLC 1 acquires a device value specified in advance and creates log data. Here, the devices managed by the PLC 1 include not only those used by the user program but also those not used by the user program. Additionally, some devices are useful for improving or modifying user programs, while others are useless. Since the number of devices is generally in the thousands, it has been a heavy burden for users to specify the devices they need. Therefore, the PC 2 analyzes the user program and extracts devices used or described in the user program as logging targets. This reduces the burden on the user.

PLC1が管理するすべてのデバイスをロギングの対象とすると、スキャンタイムが長くなってしまう。なぜなら、ロギングは、ユーザープログラムの一つとして実行されたり、入出力リフレッシュの際に実行されたりするからである。時には、ロギングのもたらす遅延によって、ユーザープログラムがユーザの希望通りに動作しないこともありうる。したがって、ロギング対象のデバイスの数は適切に維持されるべきであろう。 If all devices managed by the PLC 1 are targeted for logging, the scan time will become long. This is because logging is executed as part of a user program or during input/output refresh. Sometimes, the delays caused by logging can prevent a user program from working as the user desires. Therefore, the number of devices to be logged should be maintained appropriately.

ユーザープログラムは、複数のプログラム部品(例えばプログラムモジュール(メインのラダープログラムとサブのラダープログラム)、ファンクションブロック)から構成されることがある。この内、ユーザが修正を希望するプログラム部品に関連したデバイスがロギングされれば、ユーザにとって十分な場合がある。また、複数のプログラム部品の内で、ユーザは特定のプログラム部品を抽出対象から除外したり、特定のプログラム部品を抽出対象に追加したりすることを希望することもあろう。よって、プログラム部品を単位として、ロギング対象からデバイスを追加又は削除できればユーザにとって便利であろう。 A user program may be composed of a plurality of program parts (eg, program modules (main ladder program and sub ladder program), function blocks). Of these, it may be sufficient for the user if devices related to the program component that the user desires to modify are logged. Furthermore, the user may desire to exclude a specific program component from being extracted from among a plurality of program components or to add a specific program component to be extracted. Therefore, it would be convenient for the user if devices could be added or deleted from the logging targets for each program component.

上述したようにCPUユニット3や拡張ユニット4は一つ以上の機能を有している。各機能には様々なデバイスが割り付けられている。よって、これらの機能を単位として、ロギング対象からデバイスを追加又は削除できれば、ユーザにとって便利であろう。例えば、CPUユニット3の通信機能に関する望ましくないイベントが発生した場合、ユーザはCPUユニット3の通信機能に関するデバイスのデバイス値を参照することで、このイベントを解消することが容易になろう。
(プログラム作成支援装置)
As described above, the CPU unit 3 and expansion unit 4 have one or more functions. Various devices are assigned to each function. Therefore, it would be convenient for the user if devices could be added or deleted from logging targets based on these functions. For example, if an undesirable event related to the communication function of the CPU unit 3 occurs, the user can easily resolve this event by referring to the device value of the device related to the communication function of the CPU unit 3.
(Program creation support device)

プログラム作成支援装置の一例を、図7のブロック図に示す。この図に示すプログラム作成支援装置1200は、一以上のユニットで構成されたPLC1で実行されるユーザープログラムの作成を支援する。このプログラム作成支援装置1200は、PC2にユーザープログラム作成支援プログラムをロードさせて実行させて実現する他、専用のハードウェアで構築してもよい。図7に示す例では、PC2にユーザープログラム作成支援プログラムをインストールして実現した例を示している。このプログラム作成支援装置1200は、PC側CPU21と、PC側メモリ部11と、PC側記憶装置22と、表示部7と、PC側操作部8と、通信部を備える。 An example of the program creation support device is shown in the block diagram of FIG. A program creation support device 1200 shown in this figure supports creation of a user program to be executed on a PLC 1 composed of one or more units. The program creation support device 1200 may be realized by loading and executing a user program creation support program on the PC 2, or may be constructed using dedicated hardware. The example shown in FIG. 7 shows an example in which a user program creation support program is installed on the PC 2. This program creation support device 1200 includes a PC side CPU 21, a PC side memory section 11, a PC side storage device 22, a display section 7, a PC side operation section 8, and a communication section.

PC側メモリ部11はPC側CPU21が処理を実行するための作業空間である。このような作業メモリとして、RAM等が利用できる。 The PC side memory section 11 is a work space for the PC side CPU 21 to execute processing. A RAM or the like can be used as such a working memory.

PC側記憶装置22は、PC2で読み取り可能なストレージである。典型的には、PC2が備えるハードディスクなどの記憶装置であるが、固定式に限らず、可搬式の媒体やメディアとすることもできる。例えば、PLC1が備えるメモリカード36Aを、PLC1側から抜き取り、PC2側に挿入して読み取る態様としてもよい。または、PC2とネットワーク接続されたPLC1のPLC側記憶装置32にアクセスする態様としてもよい。 The PC-side storage device 22 is a storage that can be read by the PC 2. Typically, it is a storage device such as a hard disk included in the PC 2, but it is not limited to a fixed type, and can also be a portable medium or medium. For example, the memory card 36A included in the PLC 1 may be removed from the PLC 1 side, inserted into the PC 2 side, and read. Alternatively, a mode may be adopted in which the PLC side storage device 32 of the PLC 1 connected to the PC 2 via a network is accessed.

このPC側記憶装置22は、運転記録データを記憶する運転記録データ記憶部36Bの機能を実現する。運転記録データは、プロジェクトデータと、ログデータを含んでいる。プロジェクトデータは、PLC1のユーザープログラム及び各ユニットのユニット構成情報を含む。ユニット構成情報には、各ユニットの機能、ユニット間の接続位置の情報等が含まれる。ログデータは、PLC1の運転時におけるデバイス値等のデータである。これらプロジェクトデータとログデータとが関連付けられた運転記録データが、運転記録データ記憶部36Bに記憶されている。 This PC-side storage device 22 realizes the function of a driving record data storage section 36B that stores driving record data. The driving record data includes project data and log data. The project data includes a user program of the PLC 1 and unit configuration information of each unit. The unit configuration information includes information on the functions of each unit, connection positions between units, and the like. The log data is data such as device values during operation of the PLC 1. Driving record data in which these project data and log data are associated is stored in the driving record data storage section 36B.

表示部7は、ログ表示制御部61によりログを表示させる。ログ表示制御部61は、運転記録データ記憶部36Bから運転記録データをPC側メモリ部11に読み出して、運転記録データ内のログデータとプロジェクトデータとを関連付けて表示する。 The display unit 7 causes the log display control unit 61 to display the log. The log display control unit 61 reads the driving record data from the driving record data storage unit 36B to the PC side memory unit 11, and displays the log data and project data in the driving record data in association with each other.

PC側CPU21は、プロジェクト編集部50B、保存制御部50C等の機能を実現する。プロジェクト編集部50Bは、ログ表示制御部61により表示部7に表示されたプロジェクトデータの編集指示を受け付けて、このプロジェクトデータを編集する。そして編集後のプロジェクトデータを保存する際には、そのプロジェクトデータと対応するログデータとを関連付けた運転記録データとして、運転記録データ記憶部36Bに記憶される。 The PC-side CPU 21 implements functions such as a project editing section 50B and a storage control section 50C. The project editing section 50B receives an instruction to edit the project data displayed on the display section 7 by the log display control section 61, and edits this project data. When the edited project data is saved, the project data and the corresponding log data are stored in the driving record data storage unit 36B as driving record data.

保存制御部50Cは、運転記録データ記憶部36Bに記憶された運転記録データ内のプロジェクトデータに対して、プロジェクト編集部50Bにより編集された状態で保存することを規制する。これにより、ユーザによるプロジェクトデータ内のユーザープログラム等の修正によって意図せずプロジェクトデータ全体の信ぴょう性が損なわれる事態を回避できる。具体的には、保存制御部50Cが、運転記録データ記憶部36Bに記憶された運転記録データ内のプロジェクトデータに対して、プロジェクト編集部50Bにより編集された状態で上書き保存することを規制する。例えば、プロジェクト編集部50Bによりプロジェクトデータに対して上書き操作が試みられたことを検出して、表示部7上に上書き禁止ポップアップが表示される。あるいは、編集後のプロジェクトデータを保存しようとしたとき、この編集後のプロジェクトデータを、運転記録データに含まれる元のプロジェクトデータとは別のファイルとして保存する。例えば別名での保存を促すよう、保存ファイル名の入力ダイヤログを表示させたり、自動で名称を変更して新たにコピー保存させてもよい。
(運転記録データ)
The storage control unit 50C restricts the project data in the driving record data stored in the driving record data storage unit 36B from being saved in the state edited by the project editing unit 50B. Thereby, it is possible to avoid a situation where the authenticity of the entire project data is unintentionally damaged due to the user's modification of the user program, etc. in the project data. Specifically, the storage control unit 50C prevents the project data in the driving record data stored in the driving record data storage unit 36B from being overwritten and saved in a state edited by the project editing unit 50B. For example, when the project editing section 50B detects that an attempt is made to overwrite the project data, an overwrite prohibition pop-up is displayed on the display section 7. Alternatively, when attempting to save the edited project data, the edited project data is saved as a separate file from the original project data included in the driving record data. For example, a save file name input dialog may be displayed to encourage saving under a different name, or the name may be automatically changed and a new copy may be saved.
(driving record data)

運転記録データは、所定のタイミングで記録される。具体的には、トラブルが発生する可能性のある時期を指定して、この間のデータを運転記録データとしてまとめて保存しておくことで、トラブル発生時の原因解析に役立てることができる。 Driving record data is recorded at predetermined timing. Specifically, by specifying the time when a problem is likely to occur and storing the data during that period as driving record data, it can be used to analyze the cause of a problem when it occurs.

運転記録データは、複数のファイルをパッケージしたものとできる。運転記録データに含める情報は、例えば管理情報データ、プロジェクトデータ、プロジェクト識別情報、デバイスデータ、画像データ、イベントデータ等が挙げられる。管理情報データは、運転記録データに何が含まれているかの情報である。その拡張子は、例えばTMNとする。プロジェクトデータは、運転記録データの記録時点(例えばトラブル発生時)でのプロジェクトデータである。その拡張子は、例えばTPJとする。詳細については後述する。 Driving record data can be a package of multiple files. Examples of the information included in the driving record data include management information data, project data, project identification information, device data, image data, and event data. The management information data is information about what is included in the driving record data. The extension is, for example, TMN. The project data is project data at the time of recording the driving record data (for example, when a trouble occurs). The extension is, for example, TPJ. Details will be described later.

プロジェクト識別情報は、この運転記録データ記録時点でのプロジェクトデータを識別するための情報である。その拡張子は、例えばTPIとする。デバイスデータは、運転記録データの記録時点でのデバイスを記録したデータであり、デバイスの数だけ存在する。その拡張子は、例えばTDVとする。画像データは、運転記録データの記録時点の画像を記録したデータである。その拡張子は、例えばTCAとする。イベントデータは、運転記録データの記録時点に発生していたイベントやエラーを記録したデータである。その拡張子は、例えばTEVとする。これらは一例であって、この内いずれかの情報のみを運転記録データに含めてもよいし、あるいはこれ以外の情報を追加してもよい。
(プロジェクトデータの構成)
The project identification information is information for identifying the project data at the time of recording this driving record data. The extension is, for example, TPI. The device data is data recording the devices at the time of recording the driving record data, and exists as many as the number of devices. The extension is, for example, TDV. The image data is data that records an image at the time of recording the driving record data. The extension is, for example, TCA. The event data is data recording events and errors that occurred at the time the driving record data was recorded. The extension is, for example, TEV. These are just examples, and only one of these pieces of information may be included in the driving record data, or other information may be added.
(Project data structure)

プロジェクトデータは、複数のデータで構成される。データの数が多い場合は、圧縮形式で保存することが好ましい。プロジェクトデータには、プロジェクトファイル、モジュール、ファンクションブロック、ユニット設定ファイル、メール設定ファイル等を含めることができる。プロジェクトファイルは、プロジェクトの設定に関する情報である。その拡張子は、kpr例えばとする。モジュールは、ラダープログラムの情報である。その拡張子は、例えばmodとする。ファンクションブロックは、部品化されたラダープログラムの情報である。その拡張子は、例えばkfbとする。ユニット設定ファイルは、ユニットの構成情報である。その拡張子は、例えばue2とする。メール設定ファイルは、メールの設定情報である。その拡張子は、例えばmilとする。これら以外にも、ユニット毎に拡張子が異なるファイルを含めてもよい。またこれらは一例であって、この内いずれかの情報のみをプロジェクトデータに含めてもよいし、あるいはこれ以外の情報を追加してもよい。 Project data consists of multiple pieces of data. If there is a large amount of data, it is preferable to save it in a compressed format. Project data can include project files, modules, function blocks, unit configuration files, email configuration files, and the like. The project file is information regarding project settings. For example, the extension is kpr. A module is information about a ladder program. The extension is, for example, mod. A function block is information of a ladder program made into components. The extension is, for example, kfb. The unit setting file is the configuration information of the unit. The extension is, for example, ue2. The email configuration file is email configuration information. The extension is, for example, mil. In addition to these, files with different extensions may be included for each unit. Further, these are just examples, and only one of these pieces of information may be included in the project data, or other information may be added.

各データファイルの種別を示す識別情報には、ファイルの拡張子を利用できる。またファイルの拡張子を用いて、運転記録データとプロジェクトデータの関連付けを行うこともできる。例えば運転記録データについてはTMNファイルが、プロジェクトデータについてはkprファイルが、それぞれPC2上でユーザープログラム作成支援プログラムに関連付けられている。PC2上の該当するファイルをダブルクリックすることで、ユーザープログラム作成支援プログラムが起動される。この様子を図8に示す。ここでは、ユーザープログラム作成支援プログラムのプロジェクト編集部50Bは、識別情報解釈部を備えている。ここでは識別情報解釈部の例として、TPJ解釈部50B1とkpr解釈部50B2を示している。表示部7上でエクスプローラ等のファイラ画面上から、TMNファイルをダブルクリックした場合、ユーザープログラム作成支援プログラムは、圧縮形式で保存されたTPJファイルを解凍し、PC側メモリ部11上にロードする。またkprファイルをダブルクリックした場合、ユーザープログラム作成支援プログラムは、kprと同じフォルダに配置された、他の設定ファイルを合わせてPC側メモリ部11上にロードする。一方、TPJファイル及びkprファイルは、TPJ解釈部50B1とkpr解釈部50B2により共通のモデルデータとして解釈され、PC側メモリ部11上にロードされる。
(モード選択部50D)
A file extension can be used as identification information indicating the type of each data file. It is also possible to associate driving record data and project data using file extensions. For example, a TMN file for driving record data and a kpr file for project data are each associated with the user program creation support program on the PC 2. By double-clicking the corresponding file on the PC 2, the user program creation support program is started. This situation is shown in FIG. Here, the project editing section 50B of the user program creation support program includes an identification information interpretation section. Here, a TPJ interpreter 50B1 and a kpr interpreter 50B2 are shown as examples of identification information interpreters. When a TMN file is double-clicked on a filer screen such as an explorer on the display unit 7, the user program creation support program decompresses the TPJ file saved in a compressed format and loads it onto the PC side memory unit 11. Further, when the kpr file is double-clicked, the user program creation support program loads other setting files placed in the same folder as the kpr file onto the PC side memory unit 11. On the other hand, the TPJ file and the kpr file are interpreted as common model data by the TPJ interpretation section 50B1 and the kpr interpretation section 50B2, and are loaded onto the PC side memory section 11.
(Mode selection section 50D)

さらにPC側CPU21は、モード選択部50Dの機能を実現することもできる。モード選択部50Dは、編集モードや履歴再生モードを選択できる。編集モードは、プロジェクトデータを編集するモードであり、エディットモード等とも呼ばれる。また履歴再生モードは、ログ表示制御部61による表示を行うモードであり、リプレイモード等とも呼ばれる。このように、ユーザープログラム作成支援プログラムでは、一のプログラム中で動作モードを切り替えて、トラブル解決のため過去のイベントを再生させつつ、原因と思われる箇所のユーザープログラムを修正するという作業に移行することができる。また履歴再生モードと編集モードとで共通のGUIを用いることで、スムーズな作業の移行を行わせることが可能となる。
(ユーザープログラム作成支援プログラム1300)
Furthermore, the PC side CPU 21 can also realize the function of the mode selection section 50D. The mode selection section 50D can select an editing mode or a history playback mode. The edit mode is a mode for editing project data, and is also called an edit mode. Further, the history playback mode is a mode in which the log display control unit 61 performs display, and is also called a replay mode or the like. In this way, the user program creation support program switches the operating mode within one program, plays back past events in order to solve the problem, and moves on to modifying the user program at the location that is thought to be the cause. be able to. Furthermore, by using a common GUI between the history playback mode and the edit mode, it is possible to perform a smooth transition of work.
(User program creation support program 1300)

まず、モード選択部50Dで履歴再生モードを選択した場合の、ユーザープログラム作成支援プログラム1300のGUIを図9に示す。この図に示すGUIは、プロジェクト表示領域420と、ラダーモニタ450と、カメラモニタ430と、ユニットモニタ440を備えている。図9において、左欄のプロジェクト表示領域420には、プロジェクトデータ71を構成する様々な情報が表示されている。上から順に、ユニット構成(CPUユニット、モーションユニット、アナログ入力ユニット、カメラ入力拡張ユニット等)、プログラム構成(毎スキャンモジュール、定周期モジュール、ユニット間同期モジュール、ファンクションブロック、マクロ等)が表示されている。モーションユニットについては、機能設定として軸構成や軸制御の設定パラメータが表示されている。ユーザは、図9に示すGUI上において、軸構成や軸制御をダブルクリックすることで、これらの設定パラメータについて、どのような設定内容になっているかを確認することができる。また、プロジェクト表示領域420において、毎スキャンモジュールに対してMainとSubが表示されているところ、ユーザがMainをクリックすると、中央のラダーモニタ450のプログラム表示領域410に、Mainプログラムが表示される。
(履歴再生モード)
First, FIG. 9 shows the GUI of the user program creation support program 1300 when the history playback mode is selected in the mode selection section 50D. The GUI shown in this figure includes a project display area 420, a ladder monitor 450, a camera monitor 430, and a unit monitor 440. In FIG. 9, various information constituting the project data 71 is displayed in the project display area 420 in the left column. From the top, the unit configuration (CPU unit, motion unit, analog input unit, camera input expansion unit, etc.) and program configuration (every scan module, fixed cycle module, inter-unit synchronization module, function block, macro, etc.) are displayed. There is. Regarding the motion unit, the axis configuration and axis control setting parameters are displayed as function settings. By double-clicking on the axis configuration or axis control on the GUI shown in FIG. 9, the user can check the settings for these setting parameters. Furthermore, in the project display area 420, Main and Sub are displayed for each scan module, and when the user clicks on Main, the Main program is displayed in the program display area 410 of the ladder monitor 450 at the center.
(history playback mode)

次に履歴再生モードにおいて、トラブル発生時等に記録された運転記録データを再生する手順を、図10に基づいて説明する。例えば、予め保存された運転記録データのデータファイル(上述した拡張子TMNの運転記録データファイル)やプロジェクトファイル(拡張子kprのプロジェクトデータファイル)をダブルクリックすると、図10に示すユーザープログラム作成支援プログラム1300が起動されると共に、ダブルクリックされたファイルを解析して、含まれているファイルを展開したり、関連付けられた別ファイルを呼び出すなどして、運転記録データ保存時の状況が自動で再現される。あるいは、ユーザープログラム作成支援プログラム1300をユーザが起動した上で、ファイルメニューなどから、運転記録データファイル等の該当するファイルを選択して展開することもできる。 Next, a procedure for reproducing driving record data recorded when a trouble occurs in the history reproducing mode will be explained based on FIG. 10. For example, if you double-click a pre-saved driving record data file (the driving record data file with the extension TMN mentioned above) or a project file (the project data file with the extension kpr), the user program creation support program shown in FIG. 1300 is started, it analyzes the double-clicked file, expands the included file, calls another associated file, etc., and automatically reproduces the situation when the driving record data was saved. Ru. Alternatively, after starting the user program creation support program 1300, the user can select and expand a corresponding file such as a driving record data file from a file menu or the like.

この例では、運転記録データをダブルクリックした場合は、図10に示す履歴再生モードでユーザープログラム作成支援プログラム1300が起動するよう構成している。一方、プロジェクトデータをダブルクリックした場合は、図11に示す編集モードでユーザープログラム作成支援プログラム1300が起動するよう構成している。このようにユーザが選択したファイルに応じて、初期選択される動作モードを異ならせることで、想定されるユーザの操作に沿った動作モードを予め選択してスムーズな操作環境を提供できる。
(履歴再生モードと編集モードの切り替え)
In this example, the user program creation support program 1300 is configured to start in the history playback mode shown in FIG. 10 when driving record data is double-clicked. On the other hand, when project data is double-clicked, the user program creation support program 1300 is configured to start in the edit mode shown in FIG. 11. In this way, by varying the initially selected operation mode depending on the file selected by the user, it is possible to select in advance an operation mode that is in line with the expected user operation and provide a smooth operation environment.
(Switching between history playback mode and edit mode)

ユーザープログラム作成支援プログラム1300の起動後に、編集モードと履歴再生モードの2つの動作モードを切り替えるには、モード選択部50Dの一形態であるモード選択欄50D1から、切り替えたい動作モードを選択する。例えばモード選択欄50D1を、図12に示すようなプルダウンメニューで構成して、ユーザは所望の動作モードを容易に選択できる。図12の例では、「リプレイ」を選択すると履歴再生モード(リプレイモード)に、「エディタ」を選択すると編集モード(エディタモード)に、それぞれ切り替えられる。またモード選択欄50D1には、現在選択中の動作モードが表示されており、ユーザに対して現在の動作モードを告知する機能も奏している。 After starting the user program creation support program 1300, to switch between the two operating modes, edit mode and history playback mode, select the desired operating mode from the mode selection column 50D1, which is one form of the mode selection section 50D. For example, the mode selection field 50D1 may be configured with a pull-down menu as shown in FIG. 12, so that the user can easily select a desired operation mode. In the example of FIG. 12, selecting "Replay" switches to history playback mode (replay mode), and selecting "Editor" switches to editing mode (editor mode). Furthermore, the mode selection field 50D1 displays the currently selected operation mode, and also has the function of notifying the user of the current operation mode.

なおプロジェクトデータをダブルクリックして編集モードで起動したユーザープログラム作成支援プログラムを、履歴再生モードに切り替える場合、プロジェクトデータにはデバイスデータ等が指定されていないため、履歴再生モードで使用するためのデバイスデータを含む運転記録データを、別途指定するように促される。例えば、運転記録データを選択するダイヤログ画面を表示させる。 Note that when switching the user program creation support program started in edit mode by double-clicking the project data to history playback mode, the device data for use in history playback mode is not specified in the project data. You will be prompted to separately specify the driving record data including the data. For example, a dialog screen for selecting driving record data is displayed.

このように履歴再生モードにおいて、保存された運転記録データを読み込んでトラブル発生時のイベントを再生し、ユーザはトラブルの原因を推定し、これを改善するように必要な処置を検討できる。例えば、トラブルを解消できるようにラダープログラムを編集する。 In this way, in the history playback mode, the saved driving record data is read and the event when the trouble occurred is played back, allowing the user to estimate the cause of the trouble and consider necessary measures to improve it. For example, edit the ladder program to resolve the problem.

図9の履歴再生モードにおいては、ユーザープログラムの編集が禁止されるようにしている。言い換えると、運転記録データの再生すなわち閲覧が許可され、改ざんは禁止される。これによってトラブル発生時の運転記録データの信ぴょう性が確保される。なお、ユーザープログラムの編集が禁止された履歴再生モードを、ログ再生モードと呼ぶ。
(編集モード)
In the history playback mode of FIG. 9, editing of the user program is prohibited. In other words, reproduction or viewing of the driving record data is permitted, but falsification is prohibited. This ensures the reliability of driving record data when trouble occurs. Note that the history playback mode in which editing of the user program is prohibited is called the log playback mode.
(edit mode)

ここで編集モードとしたユーザープログラム作成支援プログラム1300を用いて、ユーザープログラムの編集を行う手順として、ラダープログラムを修正する例を図13~図15に基づいて説明する。この例では、ユーザープログラム作成支援プログラム1300を用いてモーションユニットの位置決め制御を行っている途中で、現在座標を示すデバイスの値が12000を超えていたら、動作をトルク制御に変更するようなユーザープログラムを検討している。ここでは、履歴再生モードでトラブルの発生原因を検証した結果、図13に示すようにプログラム表示領域410に示すラダー図のデバイス値が12000を超えてから動作を変更すると、可動アームがワークに接触してしまうことが判明したため、編集モードにおいて、しきい値を12000から10000に変更したいケースを想定する。まず、図13のユーザープログラム作成支援プログラム1300において、破線で囲む部分を選択して、PC側操作部8を構成するキーボードのEnterキーを押す等して、図14のプログラム編集画面1310を表示させる。このプログラム編集画面1310から、デバイス値入力欄1312において、値12000を、10000に修正して、「上書」ボタン1314を押下する。これにより、図15のユーザープログラム作成支援プログラム1300のプログラム表示領域410に示すように、ラダープログラムが変更される。 Here, as a procedure for editing a user program using the user program creation support program 1300 in the edit mode, an example of modifying a ladder program will be described based on FIGS. 13 to 15. In this example, a user program is created that changes the operation to torque control if the value of the device indicating current coordinates exceeds 12,000 while positioning control of the motion unit is being performed using the user program creation support program 1300. We are considering. Here, as a result of verifying the cause of the trouble in the history playback mode, as shown in FIG. 13, if the operation is changed after the device value in the ladder diagram shown in the program display area 410 exceeds 12,000, the movable arm will come into contact with the workpiece. Let's assume a case where you want to change the threshold from 12,000 to 10,000 in the edit mode because it turns out that the threshold value is 12,000. First, in the user program creation support program 1300 shown in FIG. 13, select the part surrounded by the broken line and press the Enter key on the keyboard that constitutes the PC-side operation unit 8 to display the program editing screen 1310 shown in FIG. . From this program editing screen 1310, the value 12000 is corrected to 10000 in the device value input field 1312, and the "overwrite" button 1314 is pressed. As a result, the ladder program is changed as shown in the program display area 410 of the user program creation support program 1300 in FIG.

またユーザープログラムを編集する他の例として、モーションユニットの位置決め制御のパラメータを修正する手順を、図16のユーザープログラム作成支援プログラム1300に基づいて説明する。ここでは、履歴再生モードでトラブルの発生原因を検証した結果、ワークの加速が急すぎたことが判明したため、編集モードの切り替えて、ポイントパラメータNo1に移動する際のワークの速度を減少させることを考える。まず図16のユーザープログラム作成支援プログラム1300において、左側に表示されるプロジェクト表示欄420にツリー表示されるユニット構成から、モーションユニットの「ポイントパラメータ」を選択する。この状態で、変更したいパラメータを選択し、PC側操作部8であるキーボード等から値を入力する。ここで画面右側のポイントパラメータ編集欄1320において、速度指定欄1322から、速度を低い値(例えば300mm/s)に変更する。このような操作により、ユーザープログラムを所望の値に変更できる。 As another example of editing a user program, a procedure for modifying parameters for positioning control of a motion unit will be described based on the user program creation support program 1300 in FIG. 16. Here, as a result of verifying the cause of the trouble in history playback mode, it was found that the acceleration of the workpiece was too rapid, so we decided to switch the editing mode and reduce the speed of the workpiece when moving to point parameter No. 1. think. First, in the user program creation support program 1300 of FIG. 16, the "point parameter" of the motion unit is selected from the unit configuration displayed in a tree in the project display field 420 displayed on the left side. In this state, select the parameter you want to change and input the value from the keyboard or the like that is the PC side operation section 8. Here, in the point parameter editing field 1320 on the right side of the screen, change the speed to a lower value (for example, 300 mm/s) from the speed specification field 1322. Through such operations, the user program can be changed to desired values.

このようにしてユーザープログラムを編集した結果を保存する手順を、図17~図18に基づいて説明する。ユーザープログラムを保存する際、運転記録データに含まれる元のユーザープログラムを編集してしまうと、履歴再生モードにおいてトラブル発生時のユーザープログラムを再現できなくなるため、元のユーザープログラムとは別に保存する必要がある。ここでは、別のプロジェクトデータとして保存する場合を考える。まず、図17に示すユーザープログラム作成支援プログラム1300のファイルメニュー1330のように、通常のプロジェクトと同様の手順で、プロジェクトデータの保存操作を行う。ここで、ファイルメニュー1330から「プロジェクトを別名保存」1332を選択する場合は、図18に示すように「プロジェクトの別名保存」ダイヤログ画面1340が表示され、ユーザはプロジェクト名やデータファイルの保存場所を指定するよう促される。この手順であれば、運転記録データに含まれるユーザープログラムを維持したまま、新たなプロジェクトデータとして保存される。 The procedure for saving the result of editing a user program in this way will be explained based on FIGS. 17 and 18. When saving a user program, if you edit the original user program included in the driving record data, you will not be able to reproduce the user program when a problem occurred in history playback mode, so it is necessary to save it separately from the original user program. There is. Here, we will consider the case of saving as separate project data. First, the project data is saved using the same procedure as for a normal project, as shown in the file menu 1330 of the user program creation support program 1300 shown in FIG. Here, when selecting "Save project as" 1332 from the file menu 1330, a "Save project as" dialog screen 1340 is displayed as shown in FIG. You will be prompted to specify. With this procedure, the user program included in the driving record data is preserved as new project data.

一方、図17のファイルメニュー1330において「プロジェクトを上書き保存」1334や、一般的なショートカットキーであるCtrl+Sのキーボード操作を行って上書き保存しようとすると、保存制御部50Cが上書き保存を制御する。すなわち、上書き保存の指示に拘わらず、図18に示す「プロジェクトの別名保存」ダイヤログ画面1340を表示させて、別名でのプロジェクトデータの保存を促す。あるいは、図17の保存画面において、上書き保存を禁止するように、該当する「プロジェクトを上書き保存」をグレーアウトさせて選択できないようにしたり、「プロジェクトを上書き保存」をファイルメニューの選択肢として表示させないようにしてもよい。あるいは、自動的にプロジェクトデータを別名で保存することもできる。例えばファイル名に「-1」等の枝番号を付すなどして、別名のファイルを自動生成する。あるいはまた「プロジェクトを上書き保存」を選択すると、上書き保存操作が禁止されていることを示す上書き禁止ポップアップを表示させてもよい。 On the other hand, if an attempt is made to overwrite and save by using the "overwrite save project" 1334 or the general keyboard shortcut keys Ctrl+S in the file menu 1330 of FIG. 17, the save control unit 50C controls the overwrite save. That is, regardless of the overwrite save instruction, a "save project under a different name" dialog screen 1340 shown in FIG. 18 is displayed to prompt the user to save the project data under a different name. Alternatively, on the save screen in Figure 17, to prohibit overwriting, the corresponding "Save project" may be grayed out so that it cannot be selected, or "Save project" may not be displayed as an option in the file menu. You may also do so. Alternatively, you can automatically save project data under a different name. For example, a file with a different name is automatically generated by adding a branch number such as "-1" to the file name. Alternatively, when "overwrite save project" is selected, an overwrite prohibition pop-up may be displayed indicating that overwrite save operation is prohibited.

なお、既に別名での保存を行ったユーザープログラムに対して、さらに上書き保存を指示した場合は、運転記録データに含まれる元のユーザープログラムに対する操作ではないため、そのまま上書き保存が実行される。すなわち、上述した上書き保存操作を規制する保存制御部50Cの動作は、トラブル発生時の運転記録データに含まれる元のプロジェクトデータやユーザープログラムが未だ別名でコピーされて保存されていない場合に実行され、一旦別名で保存されると、上書き保存操作が許容される。
(運転記録データの保存操作)
Note that if you instruct to overwrite and save a user program that has already been saved under a different name, the overwrite save will be executed as is since this is not an operation for the original user program included in the driving record data. That is, the operation of the save control unit 50C that regulates the overwrite save operation described above is executed when the original project data and user program included in the driving record data at the time of trouble occurrence have not yet been copied and saved under a different name. , once saved under a different name, overwrite save operations are allowed.
(Save operation of driving record data)

以上のように、ユーザはPC2上にあらかじめ保存された、装置のバックアッププロジェクトに基づいて、運転記録データを再生できる。また、装置のバックアッププロジェクトがない場合は、運転記録データに保存されたプロジェクトデータに基づいて、運転記録を再生できる。ユーザは履歴再生モードで運転記録データを再生することにより、そのプロジェクトデータが対象とする処理の問題個所を見つけ、編集モードにてその問題個所を修正した場合、その変更内容をPC2上に保存する操作を行うことができる。 As described above, the user can reproduce the driving record data based on the backup project of the device stored in advance on the PC 2. Furthermore, if there is no backup project for the device, the driving record can be reproduced based on the project data saved in the driving record data. By playing back the driving record data in the history playback mode, the user finds a problem in the process targeted by the project data, and when the problem is corrected in the edit mode, the changes are saved on the PC2. operations can be performed.

一方で運転記録の再生に、運転記録データ内のプロジェクトデータを使用していた場合、編集モードで編集したプロジェクトデータの保存操作実行時に、ユーザープログラム作成支援プログラムは、保存制御部で上書き保存禁止メッセージを出して、保存をブロックしてもよい。あるいは、新しいプロジェクトデータとして、PCのハードディスク等に保存してもよい。
(「上書き保存禁止」の手順)
On the other hand, if project data in the driving record data is used to play back the driving record, when executing the save operation for the project data edited in edit mode, the user program creation support program will display an overwrite save prohibition message in the save control section. You can block the save by issuing . Alternatively, the data may be saved as new project data on the hard disk of the PC.
(Procedure for "Prohibit overwriting")

このような保存制御部50Cによる「上書き保存禁止」処理の一例を、図19のフローチャートに基づいて説明する。まずステップS1901において、保存操作を開始をすると、ステップS1902において、運転記録データに保存されたプロジェクトデータを編集中か否かを判定する。編集中の場合は、ステップS1903において、ユーザに対して、保存できない旨のメッセージを表示し、保存処理をキャンセルする。一方、編集中でない場合は、ステップS1904に進んで保存処理を実行する。
(「新しいプロジェクトデータとして保存」の手順)
An example of such "overwrite storage prohibition" processing by the storage control unit 50C will be explained based on the flowchart of FIG. 19. First, in step S1901, when a save operation is started, it is determined in step S1902 whether or not project data saved in driving record data is being edited. If editing is in progress, in step S1903, a message indicating that saving is not possible is displayed to the user, and the saving process is canceled. On the other hand, if editing is not in progress, the process advances to step S1904 and save processing is executed.
(Procedure for "Save as new project data")

また保存制御部50Cによる「新しいプロジェクトデータとして保存」処理の一例を、図20のフローチャートに基づいて説明する。まずステップS2001において、保存操作を開始をすると、ステップS2002において、運転記録データに保存されたプロジェクトデータを編集中か否かを判定する。編集中の場合は、ステップS2003において、ユーザに対して、新しいプロジェクトとして保存するため、PC2上のファイル保存パスの入力を要求する。そしてステップS2004において、入力された保存パスに、プロジェクトの保存を実行する。一方、ステップS2002において編集中でない場合は、ステップS2005に進み、保存処理を実行する。
(保存したプロジェクトの照合機能)
An example of the "save as new project data" process by the storage control unit 50C will be described based on the flowchart of FIG. 20. First, in step S2001, when a save operation is started, in step S2002, it is determined whether or not project data saved in driving record data is being edited. If editing is in progress, in step S2003 the user is requested to input a file save path on the PC 2 in order to save it as a new project. Then, in step S2004, the project is saved to the input save path. On the other hand, if editing is not in progress in step S2002, the process advances to step S2005 and save processing is executed.
(Verification function for saved projects)

編集後のプロジェクトデータは、通常のプロジェクトデータと同様に、ユーザープログラム作成支援プログラム1300が提供する照合機能によって、現在ユーザープログラム作成支援プログラムで表示しているプロジェクトと、PC2上に保存した編集後のプロジェクトデータの間の差分を確認することができる。例えば図21のユーザープログラム作成支援プログラム1300の画面において、ファイルメニュー1330から「プロジェクト-プロジェクトの照合」1336を選択すると、指定されたプロジェクトデータの差分を自動で抽出して、ユーザープログラム作成支援プログラム1300の画面上に表示させる。例えば、照合先のプロジェクトデータに対して追加された部分や変更された部分をハイライトさせつつ、削除された部分をグレーアウトさせる。また、差分を一覧表示させてハイライトさせてもよい。一例として、図13~図15で編集したラダープログラムに対して、照合機能を実行した結果を図22に示す。図22はユーザープログラム作成支援プログラム1300でプロジェクトデータの比較表示を行う比較表示画面1350の一例を示している。この図に示す例では、ラダープログラム中で編集された項目について、ステップ番号と、照合元の値及び照合先の値を、赤文字で示している。このようにしてユーザは、参照先のプロジェクトデータ、例えばトラブル発生時のユーザープログラムに対して、編集した箇所を視覚的に把握することが容易となる。
●ロギングの設定(自動抽出と加除)
Like normal project data, the edited project data can be compared with the project currently displayed in the user program creation support program and the edited project data saved on the PC 2 using the collation function provided by the user program creation support program 1300. You can check the differences between project data. For example, on the screen of the user program creation support program 1300 in FIG. display on the screen. For example, parts that have been added to or changed from the target project data are highlighted, while deleted parts are grayed out. Alternatively, the differences may be displayed as a list and highlighted. As an example, FIG. 22 shows the results of executing the matching function on the ladder program edited in FIGS. 13 to 15. FIG. 22 shows an example of a comparison display screen 1350 for displaying a comparison of project data in the user program creation support program 1300. In the example shown in this figure, for items edited in the ladder program, the step number, collation source value, and collation destination value are shown in red. In this way, the user can easily visually grasp the edited portion of the referenced project data, for example, the user program at the time of trouble occurrence.
●Logging settings (automatic extraction and addition/subtraction)

図23は、PC2のPC側CPU21が、PC側記憶装置22に記憶されているプロジェクトデータ編集プログラムを実行することで実現される機能を示している。これらの機能の一部又はすべては、ASICやFPGA等のハードウエア回路により実現されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。 FIG. 23 shows functions realized by the PC-side CPU 21 of the PC 2 executing the project data editing program stored in the PC-side storage device 22. Some or all of these functions may be realized by a hardware circuit such as ASIC or FPGA. ASIC is an abbreviation for application specific integrated circuit. FPGA is an abbreviation for field programmable gate array.

図23のPC側CPU21は、プロジェクト作成部50と、ログ設定部51と、ログ表示制御部61の機能を実現する。なお本実施形態では、図23に示す機能をPC2上で実現することとしたが、本発明はこれに限られず、PLC1上で実現しても構わない。
(プロジェクト作成部50)
The PC-side CPU 21 in FIG. 23 realizes the functions of a project creation section 50, a log setting section 51, and a log display control section 61. In this embodiment, the functions shown in FIG. 23 are realized on the PC2, but the present invention is not limited to this, and may be realized on the PLC1.
(Project creation department 50)

プロジェクト作成部50は、プログラム作成部63と、機能設定部62の機能を実現する。このプロジェクト作成部50は、表示部7にプロジェクトデータ71を作成するためのUIを表示し、PC側操作部8から入力されたユーザ指示に従ってプロジェクトデータ71を作成し、PC側記憶装置22に記憶する。UIはユーザーインターフェースの略称である。プロジェクトデータ71には、ユーザープログラムと、PLC1のユニット構成情報等が含まれている。 The project creation section 50 realizes the functions of the program creation section 63 and the function setting section 62. This project creation unit 50 displays a UI for creating project data 71 on the display unit 7, creates project data 71 according to user instructions input from the PC side operation unit 8, and stores it in the PC side storage device 22. do. UI is an abbreviation for user interface. The project data 71 includes a user program, unit configuration information of the PLC 1, and the like.

プログラム作成部63は、UIを介したユーザ操作に基づいて、ユーザープログラムを構成する複数のプログラム部品(各モジュール)を作成する。機能設定部62は、CPUユニット3の機能や拡張ユニット4の機能に関する設定を実行する。例えば、機能設定部62は、CPUユニット3に設けられた機能に対していずれかのデバイスを割り付けたり、拡張ユニット4に設けられた機能に対していずれかのデバイスを割り付けたりし、機能とデバイスとの関係を示す割付情報をユニット構成情報に書き込む。なおプロジェクト作成部50は、ユーザープログラムがどのようなプログラム部品から構成されているかを示すプログラム構成情報も、プロジェクトデータ71として記憶させる。PLC1全体がどのようなユニットから構成されるかを示すユニット構成情報も、プロジェクトデータ71として記憶させる。
(ログ設定部51)
The program creation unit 63 creates a plurality of program parts (each module) that constitute a user program based on user operations via the UI. The function setting section 62 executes settings regarding the functions of the CPU unit 3 and the functions of the expansion unit 4. For example, the function setting section 62 assigns any device to a function provided in the CPU unit 3, or assigns any device to a function provided in the expansion unit 4, and assigns a function and a device. Writes allocation information indicating the relationship with the unit configuration information. Note that the project creation unit 50 also stores program configuration information indicating what kind of program parts the user program is composed of as the project data 71. Unit configuration information indicating what kind of units the entire PLC 1 is composed of is also stored as project data 71.
(Log setting section 51)

ログ設定部51は、部品指定部52と、機能指定部60と、デバイス抽出部53と、手動設定部58と、推定部59の機能を実現する。このログ設定部51は、プロジェクトデータ71を解析することで、このプロジェクトデータ71に記述されているデバイスを抽出し、抽出されたデバイスをロギング対象として設定するためのログ設定データ72を作成する。ログ設定部51は各種の機能を有している。部品指定部52は、PC側操作部8から入力されるユーザ指示に従って、デバイスの抽出対象となるプログラム部品を指定する。また部品指定部52は、PC側操作部8から入力されるユーザ指示に従って、デバイスの抽出対象から除外されるプログラム部品を指定する。 The log setting section 51 realizes the functions of a component specifying section 52, a function specifying section 60, a device extracting section 53, a manual setting section 58, and an estimating section 59. The log setting unit 51 extracts the devices described in the project data 71 by analyzing the project data 71, and creates log setting data 72 for setting the extracted devices as logging targets. The log setting section 51 has various functions. The component designation unit 52 designates a program component to be extracted from a device according to a user instruction input from the PC-side operation unit 8. Further, the component designation unit 52 designates program components to be excluded from device extraction targets in accordance with user instructions input from the PC-side operation unit 8.

デバイス抽出部53は、追加部54と、削除部55と、マージ部56と、特定部57の機能を実現する。このデバイス抽出部53は、プロジェクトデータ71を解析することでプロジェクトデータ71に記述されているデバイスを抽出し、ログ設定データ72を作成する。追加部54は、部品指定部52により抽出対象として指定されたプログラム部品を解析し、プログラム部品に記述されているデバイスを抽出し、抽出リストに追加する。 削除部55は、部品指定部52により除外対象として指定されたプログラム部品を解析し、プログラム部品に記述されているデバイスを抽出し、抽出されたデバイスを抽出リストから削除する。あるいは、削除部55は、抽出されたデバイスを除外リストに追加する。マージ部56は、複数のプログラム部品からそれぞれ抽出されたデバイスの内、重複して抽出されたデバイスを抽出リストから削除する。特定部57は、プロジェクトデータ71においてメモリカードに対する命令語を検知し、当該命令語の対象となっているデバイスを特定し、特定されたデバイスを抽出リストに追加する。 The device extracting section 53 realizes the functions of the adding section 54, the deleting section 55, the merging section 56, and the specifying section 57. The device extraction unit 53 extracts the devices described in the project data 71 by analyzing the project data 71, and creates log setting data 72. The adding unit 54 analyzes the program component specified as an extraction target by the component specifying unit 52, extracts the device described in the program component, and adds it to the extraction list. The deletion unit 55 analyzes the program component designated as an exclusion target by the component designation unit 52, extracts the device described in the program component, and deletes the extracted device from the extraction list. Alternatively, the deletion unit 55 adds the extracted device to the exclusion list. The merging unit 56 deletes duplicately extracted devices from the extraction list among the devices extracted from each of the plurality of program parts. The specifying unit 57 detects a command for a memory card in the project data 71, specifies the device targeted by the command, and adds the specified device to the extraction list.

本実施形態では、部品指定部52がプログラム部品を指定した後、追加部54が、その指定されたプログラム部品を解析することにより、ロギング対象となるデバイスを抽出・追加することとしたが、本発明はこれに限られない。例えば、追加部54は、プロジェクトデータ71に含まれる一又は複数のプログラム部品を先に解析することでデバイスを抽出し、抽出されたデバイスを抽出リストに追加した後で、部品指定部52によって指定されたプログラム部品に記述されたデバイスを抽出し、これを抽出リストへ追加するようにしてもよい。 In this embodiment, after the component specifying unit 52 specifies a program component, the adding unit 54 extracts and adds devices to be logged by analyzing the specified program component. The invention is not limited to this. For example, the adding unit 54 extracts a device by first analyzing one or more program parts included in the project data 71, adds the extracted device to an extraction list, and then specifies it using the part specifying unit 52. The device described in the program component may be extracted and added to the extraction list.

同様にして、削除部55は、プロジェクトデータ71に含まれる一又は複数のプログラム部品を先に解析することで抽出リストを作成した後で、部品指定部52によって指定されたプログラム部品に記述されたデバイスを抽出し、これを抽出リストから削除するようにしてもよい。 Similarly, the deletion unit 55 creates an extraction list by first analyzing one or more program parts included in the project data 71, and then deletes the information written in the program parts specified by the part specification unit 52. The device may be extracted and removed from the extraction list.

なお、本実施形態では、説明の便宜上、追加部54と削除部55を分けているが、一つの機能ブロックであってもよいことは言うまでもない。 Note that in this embodiment, for convenience of explanation, the adding section 54 and the deleting section 55 are separated, but it goes without saying that they may be one functional block.

手動設定部58は、PC側操作部8を通じて入力されるユーザ指示に従って一つのデバイスや、関連した一連のデバイスを抽出リストに追加する。推定部59は、デバイス抽出部53により記録対象として抽出されたデバイスの数に基づきPLC1によるデバイス値の記録がユーザープログラムの実行に与える影響を推定する。ロギングによってデバイス値の数に相関した遅延時間がスキャンタイムに加算される。よって、推定部59は、デバイス値の数に所定係数を乗算することで遅延時間を求め、遅延時間を推定結果として表示部7に表示してもよい。この遅延時間はスキャンタイムの伸びと呼ばれてもよい。 The manual setting unit 58 adds one device or a series of related devices to the extraction list according to user instructions input through the PC-side operation unit 8. The estimation unit 59 estimates the influence that the recording of device values by the PLC 1 has on the execution of the user program based on the number of devices extracted as recording targets by the device extraction unit 53. Logging adds a delay time correlated to the number of device values to the scan time. Therefore, the estimation unit 59 may calculate the delay time by multiplying the number of device values by a predetermined coefficient, and display the delay time on the display unit 7 as the estimation result. This delay time may be referred to as scan time elongation.

機能指定部60は、PC側操作部8から入力されるユーザ指示に従って、デバイスの抽出対象となるCPUユニット3の機能や拡張ユニット4の機能を指定する。また、機能指定部60は、PC側操作部8から入力されるユーザ指示に従って、デバイスの抽出対象から除外されるCPUユニット3の機能や拡張ユニット4の機能を指定する。追加部54は、機能指定部60により抽出対象として指定された機能のユニット構成情報を解析し、ユニット構成情報により当該機能に割り付けられたデバイスを抽出し、抽出リストに追加する。削除部55は、機能指定部60により除外対象として指定された機能のユニット構成情報を解析し、ユニット構成情報により当該機能に割り付けられているデバイスを抽出し、抽出されたデバイスを抽出リストから削除する。マージ部56は、複数の機能のそれぞれについて抽出されたデバイスの内、重複して抽出されたデバイスを抽出リストから削除する。特定部57は、プロジェクトデータ71においてメモリカードに対する命令語を検知し、当該命令語の対象となっているデバイスを特定し、特定されたデバイスを抽出リストに追加する。 The function specifying section 60 specifies the function of the CPU unit 3 and the function of the expansion unit 4 from which devices are to be extracted, according to user instructions input from the PC-side operation section 8 . Further, the function specifying unit 60 specifies the functions of the CPU unit 3 and the functions of the expansion unit 4 to be excluded from the device extraction target according to user instructions input from the PC-side operation unit 8. The adding unit 54 analyzes the unit configuration information of the function specified as an extraction target by the function specifying unit 60, extracts the device assigned to the function based on the unit configuration information, and adds it to the extraction list. The deletion unit 55 analyzes the unit configuration information of the function specified as an exclusion target by the function specification unit 60, extracts the device assigned to the function based on the unit configuration information, and deletes the extracted device from the extraction list. do. The merging unit 56 deletes duplicately extracted devices from the extraction list among the devices extracted for each of the plurality of functions. The specifying unit 57 detects a command for a memory card in the project data 71, specifies the device targeted by the command, and adds the specified device to the extraction list.

ログ表示制御部61は、PLC1において生成されたログデータ73を、ログデータ保存部74に保存する。ログデータ保存部74は、メモリカード36A等が利用できる。ログデータ保存部74に保存されたログデータ73を、メモリカード36Aを介して読み出し、表示部7にログデータ73を表示する。例えば、ログ表示制御部61は、ログデータ73に記録されているデバイス値と、プロジェクトデータ71のプログラム部品とを関連付けて表示部7に表示してもよい。ログ表示制御部61は、プログラマブルロジックコントローラ用のエンジニアリングツールの中核をなす。またログデータ73は、デバイス値の他、カメラ部で撮像した画像データ等を含めてもよい(詳細は後述)。これらプロジェクトデータとログデータを含めて運転記録データとしてパッケージ化して保存する。あるいはプロジェクトデータとログデータとを関連付けて別々のファイルで保存し、プロジェクトデータ又はログデータの一方を開くと、他方のファイルも関連付け情報を参照して読み出し可能としてもよい(詳細は後述)。
●ロギングの実行
The log display control unit 61 stores the log data 73 generated in the PLC 1 in the log data storage unit 74. As the log data storage section 74, a memory card 36A or the like can be used. The log data 73 stored in the log data storage section 74 is read out via the memory card 36A, and the log data 73 is displayed on the display section 7. For example, the log display control section 61 may display the device values recorded in the log data 73 and the program components of the project data 71 in association with each other on the display section 7 . The log display control unit 61 forms the core of an engineering tool for programmable logic controllers. In addition to device values, the log data 73 may also include image data captured by a camera unit (details will be described later). These project data and log data are packaged and saved as operation record data. Alternatively, project data and log data may be associated and saved as separate files, and when either the project data or the log data is opened, the other file may also be readable by referring to the association information (details will be described later).
● Executing logging

図24はCPUユニット3のPLC側CPU31の機能を示している。これらの機能の一部又はすべてはASICやFPGA等のハードウエア回路により実現されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。 FIG. 24 shows the functions of the PLC side CPU 31 of the CPU unit 3. Some or all of these functions may be realized by a hardware circuit such as ASIC or FPGA. ASIC is an abbreviation for application specific integrated circuit. FPGA is an abbreviation for field programmable gate array.

PLC側CPU31は、PC2から受信したプロジェクトデータ71とログ設定データ72をPLC側記憶装置32に記憶しているものとする。実行部80は、ユーザープログラムを繰り返し実行するラダー実行エンジン80aと、このラダー実行エンジン80aを制御したり、拡張ユニット4との入出力リフレッシュを実行したりするユニット制御部80bと、を有している。実行部80のラダー実行エンジン80aは、プロジェクトデータ71に含まれるユーザープログラムを繰り返し実行し、ユーザープログラムに従って拡張ユニット4を制御する。なお、実行部80のラダー実行エンジン80aは、ユーザープログラムに従って、デバイス部34のCPUユニットデバイス部34aに保持されている出力系のデバイスにデバイス値を書き込んだり、CPUユニットデバイス部34aに保持されている入力系のデバイスからデバイス値を読み込んだりする。 It is assumed that the PLC side CPU 31 stores the project data 71 and log setting data 72 received from the PC 2 in the PLC side storage device 32. The execution unit 80 includes a ladder execution engine 80a that repeatedly executes a user program, and a unit control unit 80b that controls the ladder execution engine 80a and performs input/output refresh with the expansion unit 4. There is. The ladder execution engine 80a of the execution unit 80 repeatedly executes the user program included in the project data 71, and controls the expansion unit 4 according to the user program. Note that the ladder execution engine 80a of the execution unit 80 writes device values to output devices held in the CPU unit device unit 34a of the device unit 34, and writes device values to output devices held in the CPU unit device unit 34a according to the user program. Read device values from input devices.

一方で、実行部80のユニット制御部80bは、入出力リフレッシュにより取得した拡張ユニット4に関するデバイス値を、拡張ユニットデバイス部34bに読み書きする。また、CPUユニット3と拡張ユニット4は、ユニット間バス90によって電気的に接続されており、ユニット制御部80bは、このユニット間バス90における通信制御を行う機能、いわゆるバスマスタとしての機能を有している。ユニット制御部80bがバスマスタとして機能する場合には、図23を用いて説明したユニット構成情報、すなわち、PLC1全体がどのようなユニットから構成されるかを示す情報に基づいて、各拡張ユニット4とリフレッシュ通信を行う。 On the other hand, the unit control section 80b of the execution section 80 reads and writes the device value related to the expansion unit 4 obtained by input/output refresh to and from the expansion unit device section 34b. Further, the CPU unit 3 and the expansion unit 4 are electrically connected by an inter-unit bus 90, and the unit control section 80b has a function of controlling communication on this inter-unit bus 90, that is, a so-called bus master function. ing. When the unit control section 80b functions as a bus master, each expansion unit 4 and Perform refresh communication.

記録部81は、ログ設定データ72に従ってデバイス部34(CPUユニットデバイス部34a又は拡張ユニットデバイス部34b)からデバイス値を取得したり、拡張ユニット4のバッファメモリからデバイス値を取得したりして、ログデータ73としてメモリ(例えばリングバッファ)に書き込む。上述されたように、記録部81は、END処理の際等に、ロギング処理を実行する。 The recording unit 81 acquires a device value from the device unit 34 (CPU unit device unit 34a or expansion unit device unit 34b) according to the log setting data 72, or acquires a device value from the buffer memory of the expansion unit 4, It is written as log data 73 in a memory (for example, a ring buffer). As described above, the recording unit 81 executes the logging process during the END process and the like.

END処理におけるロギング処理について、更に詳細に説明する。ログ設定データ72には、部品指定部52によって指定されたプログラム部品に記述されたデバイスや、機能指定部60によって指定された機能(例えばユニットモニタによる監視の対象)に割り付けられたデバイスが、ロギング対象として含まれている。前者のデバイスについては、END処理の際に、ログデータ73に書き込む一方で、後者のデバイスについては、END処理の際に、拡張ユニット4から対象となるデバイス(UG)のデバイス値を読み出して、ログデータ73に書き込む。 The logging process in the END process will be explained in more detail. The log setting data 72 includes devices written in program parts specified by the component specification section 52 and devices assigned to functions specified by the function specification section 60 (for example, targets for monitoring by a unit monitor). Included as a target. For the former device, the device value of the target device (UG) is read from the expansion unit 4 during the END process, and for the latter device, the device value is written to the log data 73 during the END process. Write to log data 73.

ここで、モータの現在座標や指令座標の更新周期(いわゆる制御周期)は、ラダープログラムのスキャン周期と比べて格段に短い。したがって、本実施形態では、スキャン周期と同期してUGのデバイス値を読み出すようにしているので、全ての現在座標や指令座標がログデータ73に書き込まれるわけではない。しかし、本発明はこれに限られず、例えば、拡張ユニット4のメモリに、制御周期ごとに現在座標や指令座標を格納していき、スキャン周期のタイミングで、それまで格納した複数の現在座標や指令座標等を読み出すように構成することも可能である。 Here, the update cycle (so-called control cycle) of the current coordinates and command coordinates of the motor is much shorter than the scan cycle of the ladder program. Therefore, in this embodiment, since the device values of the UG are read out in synchronization with the scan cycle, not all current coordinates and command coordinates are written to the log data 73. However, the present invention is not limited to this, and for example, current coordinates and command coordinates are stored in the memory of the expansion unit 4 for each control cycle, and at the timing of the scan cycle, a plurality of previously stored current coordinates and command coordinates are stored in the memory of the expansion unit 4. It is also possible to configure it to read out coordinates and the like.

また、記録部81は、時刻管理部83により保持されている時刻情報をログデータ73の各レコードに付与する。これによりログデータ73には時系列にデバイス値が並べられる。 Furthermore, the recording unit 81 adds time information held by the time management unit 83 to each record of the log data 73. As a result, device values are arranged in chronological order in the log data 73.

ロギング対象となるデバイスは、基本的に、ログ設定データ72のロギング対象リストによって指定されるが、検知部82によって追加のデバイスが指定されてもよい。検知部82は、例えば、デバイス部34に含まれているいずれかのデバイスに対する外部機器からのデバイス値の書き換えを検知してもよい。一般にデバイス値はユーザープログラムに従って書き換えられる場合と、外部機器によって書き換えられることがある。このような書き換えはユーザープログラムを解析するだけでは事前に把握することができない。記録部81は、検知部82によりデバイス値の書き換えが検知されたデバイスをロギング対象に追加してもよい。一般に外部機器からのデバイス値の書き換えは、ユーザにとって想定外の事象の原因となりやすい。よって、記録部81は、外部機器により書き換えられたデバイス値をロギングすることで、ユーザによるプログラムの改良に役立つであろう。 Devices to be logged are basically designated by the logging target list of the log setting data 72, but additional devices may be designated by the detection unit 82. The detection unit 82 may detect, for example, rewriting of a device value from an external device to any device included in the device unit 34. Generally, device values may be rewritten according to a user program or may be rewritten by an external device. Such rewriting cannot be detected in advance simply by analyzing the user program. The recording unit 81 may add a device whose device value has been detected to be rewritten by the detection unit 82 as a logging target. Generally, rewriting device values from an external device tends to cause unexpected events for the user. Therefore, the recording unit 81 will be useful for the user to improve the program by logging the device values rewritten by the external device.

ところで、END処理において、ユーザープログラムとは無関係に発行されるUG読み出し命令が発行されることがある。UGはバッファメモリを示すデバイス種別である。検知部82は、ユーザープログラムとは無関係に発行されるUG読み出し命令を検知してもよい。記録部81は、検知部82により検知されたUG読み出し命令の対象となっているバッファメモリを特定し、特定したバッファメモリを記録対象として追加してもよい。この拡張ユニット4がモーションユニットである場合、このようなバッファメモリには、トルク値や現在座標位置等が記憶されている。 By the way, in the END process, a UG read command may be issued regardless of the user program. UG is a device type indicating a buffer memory. The detection unit 82 may detect a UG read command issued regardless of the user program. The recording unit 81 may identify the buffer memory that is the target of the UG read command detected by the detection unit 82, and add the identified buffer memory as a recording target. When the expansion unit 4 is a motion unit, such a buffer memory stores torque values, current coordinate positions, and the like.

検知部82はFPGA等により実現されてもよい。実行部80はASICにより実現されてもよい。この場合、実行部80はPLC側記憶装置32に対してアドレス線を用いて読み出し/書き込み対象となっているデバイスのアドレスを指定する。よって、検知部82はこのアドレス線を監視することで、動的に、デバイス値を更新されたデバイスを検知してもよい。これはユーザープログラムに記述されていないデバイスを記録対象として追加する際に有用であろう。 The detection unit 82 may be realized by FPGA or the like. The execution unit 80 may be realized by ASIC. In this case, the execution unit 80 specifies the address of the device to be read/written to the PLC side storage device 32 using an address line. Therefore, the detection unit 82 may dynamically detect a device whose device value has been updated by monitoring this address line. This may be useful when adding a device that is not described in the user program as a recording target.

検知部82は実行部80に設けられてもよい。この場合、実行部80は、デバイス部34の特定のデバイスに対してデバイス値を書き込むと共に、このデバイス値とデバイス名(デバイス番号)をログデータ73に書き込んでもよい。この手法は、ユーザープログラムに記述されていないデバイスであって、動的に割り付け割れるデバイスを記録対象として追加する際に有用であろう。 The detection unit 82 may be provided in the execution unit 80. In this case, the execution unit 80 may write a device value to a specific device in the device unit 34, and may also write this device value and the device name (device number) to the log data 73. This method is useful when adding a device that is not described in the user program and can be dynamically allocated as a recording target.

このように記録部81はログ設定データ72に含まれているデバイスリストとは無関係にデバイスを記録してもよい。極端な場合、ユーザはログ設定データ72を作成せずに、ログデータ73を取得可能となる。例えば、実行部80が起動すると、実行部80は、デバイス部34におけるすべてのデバイスからデバイス値を取得する。検知部82は、デバイスを監視しているため、実行部80がデバイス値を読み出したことを検知し、記録部81にデバイス値を読み出されたデバイスの情報(アドレス情報)を伝達する。記録部81は、検知部82により伝達されたアドレス情報に基づきデバイス部34に含まれているすべてのデバイスからデバイス値を読み出してログデータ73に書き込む。それ以降もデバイス部34へのアクセスを検知部82が検知するたびに、記録部81はデバイス値をロギングする。 In this way, the recording unit 81 may record devices regardless of the device list included in the log setting data 72. In an extreme case, the user can obtain log data 73 without creating log setting data 72. For example, when the execution unit 80 is activated, the execution unit 80 acquires device values from all devices in the device unit 34. Since the detection unit 82 monitors the device, it detects that the execution unit 80 has read the device value, and transmits information (address information) about the device from which the device value has been read to the recording unit 81. The recording unit 81 reads device values from all devices included in the device unit 34 based on the address information transmitted by the detection unit 82 and writes them in the log data 73. Thereafter, every time the detection section 82 detects an access to the device section 34, the recording section 81 logs the device value.

ところで、記録部81はスキャン周期ごと、又は所定の収集周期ごとにデバイス値をログデータ73に書き込んでもよい。例えば、一周期内で検知部82が複数回にわたるデバイスへのアクセスを検知したとしても、記録部81は、最後のアクセスが検知されたときのデバイス値だけでログデータ73に書き込んでもよい。これにより、ログデータ73のデータサイズを削減することが可能となる。 By the way, the recording unit 81 may write the device value to the log data 73 every scan cycle or every predetermined collection cycle. For example, even if the detection unit 82 detects multiple accesses to the device within one cycle, the recording unit 81 may write to the log data 73 only the device value when the last access was detected. This makes it possible to reduce the data size of the log data 73.

実行部80はデバイスを保持するキャッシュを有していてもよい。この場合、検知部82はキャッシュを監視することで、デバイスの書き込みを検知してもよい。 The execution unit 80 may have a cache that holds devices. In this case, the detection unit 82 may detect writing by the device by monitoring the cache.

ログ設定データ72には記録対象となるデバイスを示すデバイスリストが含まれているが、記録の除外対象となるデバイスを示すデバイスリストが含まれていてもよい。この場合、記録部81は、除外対象となるデバイスへのアクセスを検知部82が検知すると、そのデバイスについてのデバイス値の記録をスキップする。 The log setting data 72 includes a device list indicating devices to be recorded, but may also include a device list indicating devices to be excluded from recording. In this case, when the detection unit 82 detects an access to a device to be excluded, the recording unit 81 skips recording the device value for that device.

検知部82は実行部80による拡張ユニット4のバッファメモリへのアクセスを検知してもよい。この場合、実行部80は、拡張ユニット4のバッファメモリから読み出したデバイス値をPLC側記憶装置32内に確保されたバッファ等に書き込む。記録部81はバッファからデバイス値を読み出してログデータ73に書き込む。 The detection unit 82 may detect access by the execution unit 80 to the buffer memory of the expansion unit 4. In this case, the execution unit 80 writes the device value read from the buffer memory of the expansion unit 4 into a buffer etc. secured within the PLC side storage device 32. The recording unit 81 reads the device value from the buffer and writes it into the log data 73.

実行部80はユーザープログラムを繰り返し実行し、ユーザープログラムに従ってデバイス値を書き換える。検知部82が実行部80に実装されている場合、実行部80はデバイス値を書き換える命令語を検知すると、その命令語と共にデバイス値を記録部81に出力する。記録部81は、命令語、デバイス値及びタイムスタンプ(デバイス値を取得した時刻)をログデータ73に書き込んでもよい。 The execution unit 80 repeatedly executes the user program and rewrites device values according to the user program. When the detection unit 82 is installed in the execution unit 80, when the execution unit 80 detects a command word for rewriting a device value, it outputs the device value together with the command word to the recording unit 81. The recording unit 81 may write the command word, the device value, and the time stamp (time when the device value was acquired) to the log data 73.

ところで、ログ設定データ72には、ログデータ73のデータ形式(例:バイナリー形式やテキスト形式)が含まれてもよい。データ形式としては、10進数16ビット、10進数32ビット、±10進数16ビット、±10進数32ビット、16進数16ビット、16進数32ビット、文字列、Float、DoubleFloat等が、デバイスごとに設定されてもよい。このようなデータ形式はプログラム部品における命令語を解析することで判別可能である。 Incidentally, the log setting data 72 may include the data format (eg, binary format or text format) of the log data 73. Data formats include 16-bit decimal, 32-bit decimal, 16-bit decimal, 32-bit decimal, 16-bit hexadecimal, 32-bit hexadecimal, character string, Float, DoubleFloat, etc., set for each device. may be done. Such a data format can be determined by analyzing the instruction words in the program component.

出力部84は、ユーザープログラムの実行が終了したとき、或いは、メモリカードへの保存トリガリレーがONした場合等、所定の出力条件が満たされると、プロジェクトデータ71、ログデータ73、画像データをメモリカード36Aに書き込む。所定の出力条件が満たされるまでは、ログデータ73がメモリ(例えばリングバッファ)に記録されていき、容量が一杯になると、一番古いログデータ73が消去され、新しいログデータ73が追加記録されていく(いわゆるFIFO形式で記録する)。このメモリカード36AはCPUユニット3から取り外されて、PC2の装着部に装着される。これにより、PC2の表示部7にログデータ73が表示されるようになる。なお、出力部84は、PLC側通信部33を介してPC2やクラウド等にログデータ73を送信してもよい。 The output unit 84 outputs the project data 71, log data 73, and image data to the memory when a predetermined output condition is met, such as when the execution of the user program is finished or when the save trigger relay to the memory card is turned on. Write to card 36A. Until a predetermined output condition is met, log data 73 is recorded in a memory (for example, a ring buffer), and when the capacity is full, the oldest log data 73 is deleted and new log data 73 is added and recorded. (records in so-called FIFO format). This memory card 36A is removed from the CPU unit 3 and installed in the mounting section of the PC 2. As a result, the log data 73 comes to be displayed on the display section 7 of the PC 2. Note that the output unit 84 may transmit the log data 73 to the PC 2, the cloud, etc. via the PLC side communication unit 33.

なお、本実施形態では、所定の出力条件が満たされたときに、ログデータ73等をメモリカード36Aに書き込むこととしたが、本発明はこれに限られず、例えば、内部メモリ(フラッシュメモリやハードディスク等の不揮発性メモリ)に保存しても構わない。また、少なくともログデータ73については、所定の出力条件が満たされたときにメモリカード36A又は内部メモリ37に保存される必要がある一方、プロジェクトデータ71については、所定の出力条件が満たされたときに限られない。例えば、PLC1が設定モード(PROGRAMモード)から運転モード(RUNモード)になったタイミングで、予めメモリカード36Aや内部メモリ37に保存しておいてもよい。
●ユニット構成情報の作成
Note that in this embodiment, the log data 73 and the like are written to the memory card 36A when a predetermined output condition is met; however, the present invention is not limited to this, and for example, It is also possible to save it in a non-volatile memory such as Furthermore, at least the log data 73 needs to be saved in the memory card 36A or internal memory 37 when a predetermined output condition is met, while the project data 71 needs to be saved when a predetermined output condition is met. Not limited to. For example, the information may be stored in the memory card 36A or internal memory 37 in advance at the timing when the PLC 1 changes from the setting mode (PROGRAM mode) to the operation mode (RUN mode).
●Creation of unit configuration information

図25は機能設定部62が実行するユニット構成情報の作成処理(ユニット設定)を説明する図である。機能設定部62はユニットエディタと呼ばれてもよい。機能設定部62はユニットエディタの起動を支持されると、ユニット設定UI150を表示部7に表示する。名称欄151は各ユニットの名称(例:型番等)を表示する欄である。なお、各ユニットには自動的にユニット番号が付与される。この例では、CPUユニット3にユニット番号として“0”が付与されている。入力領域欄152は入力系のデバイスを割り付けるための欄である。この例では、CPUユニット3に入力系のデバイスとしてR000からR015までのデバイスが割り付けられている。出力領域欄153は出力系のデバイスを割り付けるための欄である。この例では、CPUユニット3に出力系のデバイスとしてR500からR507までのデバイスが割り付けられている。占有領域欄154は、入出力混合系のデバイスを割り付けるための欄である。エンドユニットは、いわゆる終端ユニットである。ユーザはPC側操作部8を通じて拡張ユニット4の種類、接続順番、割り付けられるデバイスを設定する。機能設定部62は、拡張ユニット4の種類、接続順番(ユニット番号)、CPUユニット3と拡張ユニット4とのそれぞれに割り付けられるデバイスを示す情報をユニット構成情報に格納する。ユニット構成情報はユニット設定情報と呼ばれてもよい。ここでは、ユニットごとにデバイスが割り付けられているが、各ユニットの機能ごとにデバイスが割り付けられてもよい。機能設定部62はユニット構成情報をプロジェクトデータ71の一部として管理している。 FIG. 25 is a diagram illustrating the unit configuration information creation process (unit setting) executed by the function setting section 62. The function setting section 62 may be called a unit editor. When the function setting section 62 receives permission to start the unit editor, it displays the unit setting UI 150 on the display section 7. The name column 151 is a column for displaying the name (eg, model number, etc.) of each unit. Note that each unit is automatically assigned a unit number. In this example, "0" is assigned to the CPU unit 3 as a unit number. The input area column 152 is a column for allocating input devices. In this example, devices R000 to R015 are assigned to the CPU unit 3 as input devices. The output area column 153 is a column for allocating output-related devices. In this example, devices R500 to R507 are assigned to the CPU unit 3 as output devices. The occupied area column 154 is a column for allocating mixed input/output type devices. The end unit is a so-called terminal unit. The user sets the type of expansion unit 4, connection order, and assigned device through the PC-side operation unit 8. The function setting section 62 stores information indicating the type of expansion unit 4, the connection order (unit number), and the devices allocated to each of the CPU unit 3 and expansion unit 4 in the unit configuration information. Unit configuration information may be called unit setting information. Here, devices are assigned to each unit, but devices may be assigned to each function of each unit. The function setting section 62 manages unit configuration information as part of the project data 71.

このようにユニット構成情報には各ユニットに割り付けられているデバイスを示す情報や各機能に割り付けられているデバイスを示す情報が含まれている。そのため、デバイス抽出部53はユニット構成情報を参照することで、各ユニットに割り付けられているデバイスや各機能に割り付けられているデバイスを抽出することができる。
<デバッグ>
In this way, the unit configuration information includes information indicating devices assigned to each unit and information indicating devices assigned to each function. Therefore, by referring to the unit configuration information, the device extraction unit 53 can extract the devices assigned to each unit and the devices assigned to each function.
<Debug>

図26はユーザにより実行されるユーザープログラムのデバッグ処理の概要を示すフローチャートである。 FIG. 26 is a flowchart showing an overview of the user program debugging process executed by the user.

ステップS2601でユーザはPC2を操作し、複数のプログラム部品から構成されるユーザープログラムを作成し、ユーザープログラムを含むプロジェクトデータ71を作成する。プログラム作成部63はユーザ入力に従ってユーザープログラムを作成し、PC側記憶装置22に格納する。プロジェクト作成部50はユーザ入力に従ってプロジェクトデータ71を作成し、PC側記憶装置22に格納する。プロジェクトデータ71は、プロジェクトデータ71又はユーザープログラムを識別するための識別情報を含む。プロジェクト作成部50は、プロジェクトデータ71又はユーザープログラムに対して演算を実行してハッシュ値又は誤り検出符号等を求め、これらを識別情報としてプロジェクトデータ71に付加してもよい。なお、識別情報はGUID(グローバル一意識別子)等であってもよい。 In step S2601, the user operates the PC 2, creates a user program composed of a plurality of program parts, and creates project data 71 including the user program. The program creation unit 63 creates a user program according to user input and stores it in the PC storage device 22. The project creation unit 50 creates project data 71 according to user input, and stores it in the PC storage device 22. The project data 71 includes identification information for identifying the project data 71 or the user program. The project creation unit 50 may perform calculations on the project data 71 or the user program to obtain a hash value or an error detection code, and add these to the project data 71 as identification information. Note that the identification information may be a GUID (globally unique identifier) or the like.

ステップS2602でユーザはPC2を操作し、プロジェクトデータ71をPLC1に転送する。プロジェクト作成部50はプロジェクトデータ71をPC側記憶装置22から読み出し、PC側通信部23を介してPLC1へ送信する。PLC1のCPUユニット3はプロジェクトデータ71を受信すると、PLC側記憶装置32に書き込む。 In step S2602, the user operates the PC 2 to transfer the project data 71 to the PLC 1. The project creation unit 50 reads project data 71 from the PC storage device 22 and transmits it to the PLC 1 via the PC communication unit 23. When the CPU unit 3 of the PLC 1 receives the project data 71, it writes it into the PLC side storage device 32.

ステップS2603でユーザはCPUユニット3のPLC側操作部6を操作し(例えば、PROGRAMモードからRUNモードに切り替えるモード切替スイッチを操作することにより)、プロジェクトの実行を指示する。実行部80はプロジェクトデータ71に含まれているユーザープログラムを実行する。記録部81はデバイス値等をロギングし、ロギングしたデバイス値を一時記録部91aに格納(記録)する。出力部84の内の保存部93は、所定の出力条件が満たされると、一時記録部91aに記録されているデバイス値や、上述した画像データを、メモリカード36A又は内部メモリ37に保存することで、ログデータ73を作成する。 In step S2603, the user operates the PLC side operation unit 6 of the CPU unit 3 (for example, by operating a mode changeover switch for switching from PROGRAM mode to RUN mode) to instruct execution of the project. The execution unit 80 executes the user program included in the project data 71. The recording unit 81 logs device values and the like, and temporarily stores (records) the logged device values in the recording unit 91a. The storage unit 93 of the output unit 84 stores the device values recorded in the temporary storage unit 91a and the above-mentioned image data in the memory card 36A or the internal memory 37 when a predetermined output condition is satisfied. Then, log data 73 is created.

また、保存部93は、ログデータ73に加えて、プロジェクトデータ71をメモリに保存する。これにより、PC2において、トラブル発生時のプロジェクトデータ71を使って、トラブル発生時の動きをモニタ上で再現できるようになる。詳細については後述する。 In addition to the log data 73, the storage unit 93 stores the project data 71 in the memory. This allows the PC 2 to use the project data 71 at the time of the trouble to reproduce on the monitor the behavior at the time of the trouble. Details will be described later.

また、保存部93は、プロジェクトデータ71に加えて、プロジェクトデータ71の識別情報(ハッシュ値等)をメモリに保存する。これにより、PC2は、その識別情報を使って、現在の(リプレイ対象にしようとしている)プロジェクトデータが、実際のトラブル発生時のプロジェクトデータ71と一致するか否かを検証できるようになる。詳細については後述する。 In addition to the project data 71, the storage unit 93 stores identification information (such as a hash value) of the project data 71 in the memory. This allows the PC 2 to use the identification information to verify whether the current project data (to be replayed) matches the project data 71 at the time of the actual trouble occurrence. Details will be described later.

なお、本実施形態では、所定の出力条件が満たされたタイミングで、ログデータ73に加えて、プロジェクトデータ71及びその識別情報をメモリに保存することとしたが、本発明はこれに限られない。例えば、PLC1の運転開始前、運転開始時、又は運転中に、プロジェクトデータ71及びその識別情報をメモリに保存しておき、所定の出力条件が満たされたタイミングで、ログデータ73のみをメモリに保存するようにしてもよい。要するに、所定の出力条件が満たされた時点で、ログデータ73と、プロジェクトデータ71と、その識別情報とが対応付けられた状態で、メモリに保存されていればよい。 Note that in this embodiment, the project data 71 and its identification information are stored in the memory in addition to the log data 73 at the timing when a predetermined output condition is met, but the present invention is not limited to this. . For example, the project data 71 and its identification information are stored in memory before, at the time of, or during operation of the PLC 1, and only the log data 73 is stored in the memory at the timing when a predetermined output condition is met. You may also save it. In short, it is only necessary that the log data 73, the project data 71, and their identification information be stored in the memory in a state in which they are associated with each other when a predetermined output condition is satisfied.

また、本実施形態では、プロジェクトデータ71をメモリに保存しているが、本発明はこれに限られず、例えば、プロジェクトデータ71に代えて、プロジェクトデータ71の識別情報のみをメモリに保存するようにしてもよい。この場合、PC2における現在のプロジェクトデータは、実際のトラブル発生時のプロジェクトデータ71と一致することを前提としている。すなわち、プロジェクトデータをPLC1に転送した後、現在のプロジェクトデータは編集・改変されていないことを前提としている。仮に、両データが不一致と判定された場合には、ユーザは、現在のプロジェクトデータが、実際のトラブル発生時のプロジェクトデータ71とは異なることを認識した上でリプレイを行えばよいので、ユーザがこれを認識しない状態でリプレイ(不正確なトラブルシューティング)が行われるのを防ぐことができる。 Further, in this embodiment, the project data 71 is stored in the memory, but the present invention is not limited to this. For example, instead of the project data 71, only the identification information of the project data 71 may be stored in the memory. It's okay. In this case, it is assumed that the current project data on the PC 2 matches the project data 71 at the time of the actual trouble occurrence. That is, it is assumed that the current project data is not edited or modified after the project data is transferred to the PLC 1. If it is determined that the two data do not match, the user can perform a replay after recognizing that the current project data is different from the project data 71 at the time of the actual trouble. This can prevent replays (inaccurate troubleshooting) from being performed without being aware of this.

ステップS2604でユーザはCPUユニット3のPLC側操作部6を操作し、プロジェクトデータ71とログデータ73をPC2へ転送するよう指示する。或いは、PC2のPC側操作部8を操作して、メモリカード36Aに書き込まれたプロジェクトデータ71、プロジェクトデータ71の識別情報、及びログデータ73を読み出してもよい。出力部84はプロジェクトデータ71とログデータ73をPC2へ送信する。なお、出力部84はプロジェクトデータ71の転送が禁止されていると判定した場合に、プロジェクトデータ71の識別情報をログデータ73に付加する構成を採用してもよい。プロジェクトデータ71の識別情報とログデータ73とは別々に送信されてもよい。出力部84は、メモリカード36Aに書き込むための所定の条件が成立したタイミングで、プロジェクトデータ71又はユーザープログラムに対して(例えばハッシュ関数を用いた)演算を実行してハッシュ値又は誤り検出符号等を求め、これらを識別情報としてログデータ73に付加してもよい。なお、PC2が実行する識別情報の作成ルールと、CPUユニット3が実行する識別情報の作成ルールとが一致していれば、どのようなルールが採用されてもよい。 In step S2604, the user operates the PLC side operation section 6 of the CPU unit 3 and instructs to transfer the project data 71 and log data 73 to the PC 2. Alternatively, the project data 71 written in the memory card 36A, the identification information of the project data 71, and the log data 73 may be read out by operating the PC-side operation unit 8 of the PC 2. The output unit 84 transmits the project data 71 and log data 73 to the PC 2. Note that the output unit 84 may adopt a configuration in which the identification information of the project data 71 is added to the log data 73 when it is determined that the transfer of the project data 71 is prohibited. The identification information of the project data 71 and the log data 73 may be transmitted separately. The output unit 84 executes an operation (for example, using a hash function) on the project data 71 or the user program to generate a hash value, an error detection code, etc. at the timing when a predetermined condition for writing to the memory card 36A is satisfied. may be obtained and added to the log data 73 as identification information. Note that any rule may be adopted as long as the identification information creation rule executed by the PC 2 and the identification information creation rule executed by the CPU unit 3 match.

ステップS2605でユーザはPC2を操作し、ログデータ73を再生(リプレイ)しつつトラブルの原因究明を行って、プロジェクトデータ71を構成するユーザープログラムのデバッグを実行する。ログデータ73の再生は、ログデータ73に含まれている時系列のデバイス値を波形として表示部7に表示することや、デバイス値をユーザープログラムに関連付けて表示することや、ログデータ73に含まれている時系列の画像データを表示部7に表示することを含む。ログ表示制御部61は、仮想的な時刻を計時する内部時計を有しており、内部時計に同期してログデータ73からデバイス値を取得して表示部7に表示する。プロジェクトデータ71がPLC1から送信されないこともある。この場合、ログ表示制御部61は、PC側記憶装置22に保持されているプロジェクトデータ71(マスタデータ)のユーザープログラムを使用して、デバイス値をユーザープログラムに関連付けて表示してもよい。ログデータ73を再生することによるトラブルの原因究明の詳細については、後述する。 In step S2605, the user operates the PC 2 to investigate the cause of the trouble while replaying the log data 73, and debugs the user program constituting the project data 71. Reproduction of the log data 73 includes displaying the time-series device values included in the log data 73 as waveforms on the display unit 7, displaying the device values in association with the user program, and displaying the device values included in the log data 73 in association with the user program. This includes displaying time-series image data on the display unit 7. The log display control section 61 has an internal clock that measures virtual time, acquires device values from the log data 73 in synchronization with the internal clock, and displays them on the display section 7 . The project data 71 may not be transmitted from the PLC 1. In this case, the log display control unit 61 may use the user program of the project data 71 (master data) held in the PC storage device 22 to display the device value in association with the user program. Details of investigating the cause of the trouble by reproducing the log data 73 will be described later.

ここで注意すべき点としては、ログデータ73を取得するために使用されたプロジェクトデータ71のバージョンと、PC2に保持されているプロジェクトデータ71のバージョンとが異なることがある。この場合、デバイス値をユーザープログラムに関連付けて表示することが不可能となるか、又はユーザープログラムとデバイス値との関連付が誤ってしまうことも考えられる。この場合、ログ表示制御部61は、プロジェクトデータの識別情報を使って、ログデータ73を取得するために使用されたプロジェクトデータ71のバージョンと、PC2に保持されているプロジェクトデータ71のバージョンとが異なることを示す警告を表示部7に表示してもよい。なお、ログ表示制御部61は、第一のバージョンのプロジェクトデータ71を使用して取得されたログデータ73を、PC2に保持されている第2のバージョンのプロジェクトデータ71に関連付けて表示するかどうかをユーザに問い合わせもよい。ユーザがこのような表示を希望する場合、ログ表示制御部61は、第一のバージョンのプロジェクトデータ71を使用して取得されたログデータ73を、PC2に保持されている第2のバージョンのプロジェクトデータ71に関連付けて表示部7に表示する。なお、バージョンは識別情報によって管理される。ユーザがログデータ73に問題がないことを確認すると、デバッグは不要であり、後続のステップS2606やステップS2607も不要である。ユーザはログデータ73を分析し、ユーザープログラムのバグ等を発見し、ユーザープログラムを修正する。プロジェクト作成部50はユーザ入力に従ってプロジェクトデータ71を修正(更新)し、PC側記憶装置22に格納する。 It should be noted here that the version of the project data 71 used to obtain the log data 73 may be different from the version of the project data 71 held in the PC 2. In this case, it is possible that it becomes impossible to display the device value in association with the user program, or that the association between the user program and the device value becomes incorrect. In this case, the log display control unit 61 uses the identification information of the project data to determine whether the version of the project data 71 used to obtain the log data 73 and the version of the project data 71 held in the PC 2 are different from each other. A warning indicating the difference may be displayed on the display unit 7. Note that the log display control unit 61 determines whether to display the log data 73 acquired using the first version of the project data 71 in association with the second version of the project data 71 held in the PC 2. You can also ask the user. If the user desires such a display, the log display control unit 61 displays the log data 73 obtained using the first version of the project data 71 as the second version of the project held in the PC 2. It is displayed on the display section 7 in association with the data 71. Note that the version is managed using identification information. If the user confirms that there is no problem with the log data 73, debugging is unnecessary, and subsequent steps S2606 and S2607 are also unnecessary. The user analyzes the log data 73, discovers bugs, etc. in the user program, and corrects the user program. The project creation unit 50 modifies (updates) the project data 71 according to user input, and stores it in the PC storage device 22.

ステップS2606でユーザはPC2を操作し、プロジェクトデータ71をPLC1に転送する。なお、プロジェクトデータ71内のユーザープログラムが変更されると、識別情報が更新される。これにより、修正前のプロジェクトデータ71と修正後のプロジェクトデータ71とが区別可能となる。 In step S2606, the user operates the PC 2 to transfer the project data 71 to the PLC 1. Note that when the user program in the project data 71 is changed, the identification information is updated. This makes it possible to distinguish between the project data 71 before modification and the project data 71 after modification.

ステップS2607でユーザはCPUユニット3を操作し、プロジェクトデータ71に含まれるユーザープログラムの実行を指示することで、プロジェクトデータ71を検証する。実行部80はプロジェクトデータ71に含まれているユーザープログラムを実行する。PLC1がユーザの想定通りに稼働していれば、ユーザはプロジェクトデータ71のデバッグに成功したと判断する。なお、PLC1がユーザの想定通りに稼働していなければ、記録部81によって再びデバイス値等をロギングし、保存部93によってログデータ73を作成する。そして、ユーザはステップS2604ないしステップS2607を再び実行する。 In step S2607, the user operates the CPU unit 3 to instruct execution of the user program included in the project data 71, thereby verifying the project data 71. The execution unit 80 executes the user program included in the project data 71. If the PLC 1 is operating as expected by the user, the user determines that the project data 71 has been successfully debugged. Note that if the PLC 1 is not operating as expected by the user, the recording unit 81 logs the device values and the like again, and the storage unit 93 creates log data 73. Then, the user executes steps S2604 to S2607 again.

このようにユーザはログデータ73を参照しながらプロジェクトデータ71をデバッグできる。そのため、デバッグの効率が向上すると考えられる。 In this way, the user can debug the project data 71 while referring to the log data 73. Therefore, it is thought that debugging efficiency will improve.

なお、プロジェクトデータ71の転送はメモリカード36Aを介して実行されてもよい。つまり、PC2はメモリカード36Aに書き込む。ユーザはメモリカード36AをPC2から取り外し、CPUユニット3にメモリカード36Aを取り付ける。CPUユニット3はメモリカード36Aからプロジェクトデータ71を読み出してPLC側記憶装置32に書き込む。同様に、ログデータ73の転送もメモリカード36Aを介して実行されてもよい。
<プロジェクト作成部50>
Note that the project data 71 may be transferred via the memory card 36A. That is, the PC 2 writes to the memory card 36A. The user removes the memory card 36A from the PC 2 and attaches the memory card 36A to the CPU unit 3. The CPU unit 3 reads the project data 71 from the memory card 36A and writes it to the PLC side storage device 32. Similarly, the transfer of log data 73 may also be performed via the memory card 36A.
<Project creation department 50>

図27はプロジェクト作成部50の詳細を示している。機能設定部62はPC側操作部8から入力される情報に基づき拡張ユニット4のユニット構成情報、CPUユニット3の機能及び拡張ユニット4の機能を設定し、設定内容を示すユニット構成情報を作成する。CPUユニット3の機能の設定としては、IPアドレスの設定、FTPクライアントに関する設定、プロジェクトデータ71のアクセス権限の設定等がある。拡張ユニット4の機能の設定としては、入力チャネルの設定やPLC同士の通信に関する設定等がある。ユニット構成情報はプロジェクトデータ71の一部である。編集部311(図23に示すプログラム作成部63を兼ねてもよい)は、表示部7にユーザープログラムの編集UIを表示し、PC側操作部8から入力される情報に基づきユーザープログラムを編集する。デバッグ部314はプロジェクトデータ71を使用してユーザープログラムをデバッグする。付加部312はプロジェクトデータ71に識別情報を付加する。演算部313は識別情報(例:ハッシュ値や誤り検出符号)を演算により求める。なお、この演算部313による識別情報の演算(算出)機能については、出力部84が、同機能を発揮するようにしてもよい。
<ログ表示制御部61>
FIG. 27 shows details of the project creation section 50. The function setting unit 62 sets the unit configuration information of the expansion unit 4, the functions of the CPU unit 3, and the functions of the expansion unit 4 based on information input from the PC-side operation unit 8, and creates unit configuration information indicating the setting contents. . Functional settings of the CPU unit 3 include IP address settings, FTP client settings, access authority settings for the project data 71, and the like. Settings for the functions of the expansion unit 4 include settings for input channels, settings for communication between PLCs, and the like. The unit configuration information is part of the project data 71. The editing unit 311 (which may also serve as the program creation unit 63 shown in FIG. 23) displays an editing UI for the user program on the display unit 7 and edits the user program based on information input from the PC-side operation unit 8. . The debug unit 314 debugs the user program using the project data 71. The adding unit 312 adds identification information to the project data 71. The calculation unit 313 calculates identification information (eg, a hash value or an error detection code) by calculation. Note that the output unit 84 may perform the same function as the identification information calculation function performed by the calculation unit 313.
<Log display control unit 61>

図28はログ表示制御部61の詳細を示している。プログラム表示モジュール321はプロジェクトデータ71に含まれるユーザープログラムと共に、ログデータ73に含まれるデバイス値を表示部7に表示するモジュールである。また、プログラム表示モジュール321は、ユーザープログラムのみならず、プロジェクトデータ71に含まれるプログラム構成情報、複数のプログラム部品、ユニット構成、ユニット毎の機能設定等、ユーザがプロジェクトデータ71の設定内容を視認するための各種情報を表示可能となっている。画像表示モジュール323は、ログデータ73に含まれる時系列の画像データを表示部7に表示する。波形表示モジュール322は、ログデータ73に含まれる時系列のデバイス値を波形化して表示部7に表示するモジュールである。再生制御モジュール324は、プログラム表示モジュール321によって表示される情報と波形表示モジュール322によって表示される情報とを時間的に同期させる。これらのモジュールはエンジニアリングソフトウエアと呼ばれてもよい。なお、画像表示モジュール323は、プログラム表示モジュール321の一機能(画像表示部)として具現化されてもよいし、波形表示モジュール322の一機能(画像表示部)として具現化されてもよい。
●プログラム表示モジュール
FIG. 28 shows details of the log display control section 61. The program display module 321 is a module that displays the user program included in the project data 71 as well as device values included in the log data 73 on the display unit 7. Further, the program display module 321 allows the user to visually check the setting contents of the project data 71, such as not only the user program but also the program configuration information included in the project data 71, multiple program parts, unit configurations, and function settings for each unit. Various information can be displayed. The image display module 323 displays time-series image data included in the log data 73 on the display unit 7. The waveform display module 322 is a module that converts time-series device values included in the log data 73 into a waveform and displays the waveform on the display unit 7. The reproduction control module 324 temporally synchronizes the information displayed by the program display module 321 and the information displayed by the waveform display module 322. These modules may be called engineering software. Note that the image display module 323 may be realized as one function (image display section) of the program display module 321, or may be realized as one function (image display section) of the waveform display module 322.
●Program display module

図29はプログラム表示モジュール321の詳細を示している。時刻UI330aは、ユーザープログラムと共に表示されるデバイスの取得時刻(表示時刻)を操作するためのUI(例:スライドバーやカーソル等)を提供する。表示時刻制御部331aは時刻UI330aにより指定された表示時刻を再生制御モジュール324に送出したり、再生制御モジュール324から通知された表示時刻を時刻UI330aに設定したりする。プログラム表示部332は、プロジェクトデータ71を表示部7に表示したり、識別情報に対応したプロジェクトデータ71をPC側記憶装置22から読み出して表示部7に表示したりする。また、プログラム表示部332はデバイス値取得部333aにより取得されたデバイス値を、ユーザープログラムに使用又は記述されているデバイスと関連付けて表示する。デバイス値取得部333aは、リアルタイム再生モードと履歴再生モード(ログ再生モード)とを有している。デバイス値取得部333aは、リアルタイム再生モードにおいて、PLC1のリアルタイム送信部にアクセスし、デバイス値を取得し、プログラム表示部332に渡す。デバイス値取得部333aは、ログ再生モードにおいて、図28の再生制御モジュール324にアクセスし、表示時刻とデバイス値を取得し、プログラム表示部332に渡す。 FIG. 29 shows details of the program display module 321. The time UI 330a provides a UI (eg, a slide bar, a cursor, etc.) for operating the device acquisition time (display time) displayed together with the user program. The display time control unit 331a sends the display time specified by the time UI 330a to the playback control module 324, and sets the display time notified from the playback control module 324 to the time UI 330a. The program display section 332 displays the project data 71 on the display section 7 or reads out the project data 71 corresponding to the identification information from the PC storage device 22 and displays it on the display section 7 . Further, the program display unit 332 displays the device value acquired by the device value acquisition unit 333a in association with the device used or described in the user program. The device value acquisition unit 333a has a real-time playback mode and a history playback mode (log playback mode). The device value acquisition unit 333a accesses the real-time transmission unit of the PLC 1 in real-time playback mode, acquires the device value, and passes it to the program display unit 332. In the log playback mode, the device value acquisition unit 333a accesses the playback control module 324 in FIG. 28, acquires the display time and device value, and passes them to the program display unit 332.

図9は、プログラム表示部332等によって表示部7に表示されるGUIの一例を示す模式図である。図9において、左欄のプロジェクト表示領域420には、プロジェクトデータ71を構成する様々な情報が表示されている。上から順に、ユニット構成(CPUユニット、モーションユニット、アナログ入力ユニット、カメラ入力拡張ユニット)、プログラム構成(毎スキャンモジュール、定周期モジュール、ユニット間同期モジュール、ファンクションブロック、マクロ)が表示されている。モーションユニットについては、機能設定として軸構成や軸制御の設定パラメータが表示されている。ユーザは、図9に示すGUI上において、軸構成や軸制御をダブルクリックすることで、これらの設定パラメータについて、どのような設定内容になっているかを確認することができる。また、プロジェクト表示領域420において、毎スキャンモジュールに対してMainとSubが表示されているところ、ユーザがMainをクリックすると、中央のラダーモニタ450のプログラム表示領域410に、Mainプログラムが表示される。このように、図28に示すプログラム表示モジュール321は、メモリカード36Aからプロジェクトデータ71を読み出して、プロジェクト表示領域420に各種情報を表示したり、プログラム表示領域410に所望プログラムを表示したりする。 FIG. 9 is a schematic diagram showing an example of a GUI displayed on the display section 7 by the program display section 332 or the like. In FIG. 9, various information constituting the project data 71 is displayed in the project display area 420 in the left column. From the top, the unit configuration (CPU unit, motion unit, analog input unit, camera input expansion unit) and program configuration (every scan module, fixed cycle module, inter-unit synchronization module, function block, macro) are displayed. Regarding the motion unit, the axis configuration and axis control setting parameters are displayed as function settings. By double-clicking on the axis configuration or axis control on the GUI shown in FIG. 9, the user can check the settings for these setting parameters. Furthermore, in the project display area 420, Main and Sub are displayed for each scan module, and when the user clicks on Main, the Main program is displayed in the program display area 410 of the ladder monitor 450 at the center. In this way, the program display module 321 shown in FIG. 28 reads the project data 71 from the memory card 36A, displays various information in the project display area 420, and displays a desired program in the program display area 410.

ここで、プログラム表示領域410は、いわゆるラダーモニタ450の一部であり、リアルタイム再生モードにおいて単独で動作させることができるものである。×印をクリックすることで、ラダーモニタ450のみを非表示にすることも可能である。一方で、ログ再生モードでは、プログラム表示部332によって、運転記録を保存した際のプロジェクトに含まれるラダープログラムを再現することができるようになっている。また、プログラム表示部332は、ログ再生モードにおいて、デバイス値取得部333aを介してログデータ73に含まれるデバイス値を、Mainプログラムに記述されているデバイスと関連付けて表示する。表示対象となるデバイス値は、時刻指定カーソル404によって指定された時刻に対応するデバイス値となる(より詳細は、後述する図32を用いて説明する)。 Here, the program display area 410 is a part of a so-called ladder monitor 450, and can be operated independently in real-time playback mode. It is also possible to hide only the ladder monitor 450 by clicking the x mark. On the other hand, in the log reproduction mode, the program display section 332 can reproduce the ladder program included in the project when the driving record was saved. Furthermore, in the log playback mode, the program display section 332 displays the device value included in the log data 73 via the device value acquisition section 333a in association with the device described in the Main program. The device value to be displayed is the device value corresponding to the time specified by the time designation cursor 404 (more details will be explained later using FIG. 32).

図9でいえば、時刻表示領域409に表示されている20XX/10/01の18:52:54と対応付けられたデバイス値が、Mainプログラムに記述されているデバイスと関連付けて表示される。この日付の右側に表示された[35000/74286]は、全スキャン回数74286に対する現在のスキャン回数35000を示している。ユーザは、時刻指定カーソル404をドラッグして移動させることで、表示時刻及びスキャン回数の更新と共に、デバイス値の表示も更新される。例えば、更新後の表示時刻において、ONしているリレーデバイスの箇所にはON表示(例えば色で塗潰す等)がなされ、OFFしているリレーデバイスの箇所にはOFF表示(例えば色抜き等)がなされる。再生ボタン406の機能等の詳細については、図32を用いて後述する。 In FIG. 9, the device value associated with 18:52:54 on 20XX/10/01 displayed in the time display area 409 is displayed in association with the device described in the Main program. [35000/74286] displayed to the right of this date indicates the current number of scans of 35,000 compared to the total number of scans of 74,286. By dragging and moving the time designation cursor 404, the user not only updates the display time and number of scans, but also updates the display of the device value. For example, at the updated display time, relay devices that are ON are displayed as ON (for example, by filling them in color), and relay devices that are OFF are displayed as OFF (for example, by removing color). will be done. Details of the function of the playback button 406 will be described later using FIG. 32.

図9において、右上欄には、カメラモニタ430の画像表示領域が設けられている。画像表示モジュール323は、プログラム表示モジュール321によってラダーモニタ450に表示された表示時刻と同期して、ログデータ73から画像データを読み出してカメラモニタ430の画像表示領域に表示する。図9では、表示時刻である20XX/10/01の18:52:54と対応付けられた画像データが、カメラモニタ430に表示されている。また、この表示時刻の右側には、282/601と表示されているが、これは、全撮像枚数601に対する現在の画像データの順番(282枚目)を表している。ユーザは、カメラモニタ430において、時刻指定カーソル404aをドラッグして移動させることで、表示時刻及び現在の画像データの順番を更新させることができる。 In FIG. 9, an image display area of the camera monitor 430 is provided in the upper right column. The image display module 323 reads image data from the log data 73 and displays it on the image display area of the camera monitor 430 in synchronization with the display time displayed on the ladder monitor 450 by the program display module 321. In FIG. 9, image data associated with the display time 18:52:54 on 20XX/10/01 is displayed on the camera monitor 430. Moreover, 282/601 is displayed to the right of this display time, which represents the order of the current image data (282nd image) with respect to the total number of captured images 601. The user can update the display time and the current order of image data by dragging and moving the time designation cursor 404a on the camera monitor 430.

このとき、時刻指定カーソル404aの移動に伴って、上述したラダーモニタ450における時刻指定カーソル404も連動して移動する。例えば、時刻指定カーソル404aを、表示時刻20XX/10/01の19:00:00に合わせた場合には、ラダーモニタ450における時刻指定カーソル404も、表示時刻20XX/10/01の19:00:00の位置に追従して移動する。そして、時刻指定カーソル404の移動に伴って、ラダーモニタ450におけるデバイス値も更新される。ここでは時刻指定カーソル404aを移動させたが、逆も同様である。例えば、ラダーモニタ450における時刻指定カーソル404を移動させると、それに応じて、カメラモニタ430における時刻指定カーソル404aも移動する。このような処理動作が可能になるのは、プログラム表示モジュール321と、画像表示モジュール323とが、再生制御モジュール324を介して表示時刻に関する同期制御を実行しているからである。 At this time, as the time designation cursor 404a moves, the time designation cursor 404 on the ladder monitor 450 described above also moves in conjunction with the movement. For example, when the time designation cursor 404a is set to the display time 19:00:00 on 20XX/10/01, the time designation cursor 404 on the ladder monitor 450 also moves to the display time 19:00:00 on 20XX/10/01. Moves to follow position 00. As the time designation cursor 404 moves, the device value on the ladder monitor 450 is also updated. Although the time designation cursor 404a is moved here, the reverse is also true. For example, when the time designation cursor 404 on the ladder monitor 450 is moved, the time designation cursor 404a on the camera monitor 430 also moves accordingly. Such a processing operation is possible because the program display module 321 and the image display module 323 execute synchronized control regarding the display time via the playback control module 324.

また、図9において、右下欄には、ユニットモニタ440が表示されている。例えば、ユニットモニタ440は、モーションユニットにおけるバッファメモリ(UG)のデバイス値を表示する。より具体的には、ログ表示制御部61のユニット表示モジュール325は、再生制御モジュール324から現在再生すべき表示時刻を受け取ると、その時刻と対応付けられたデバイス値をメモリカード36Aから読み出して、ユニットモニタ440に表示させる。したがって、例えば図9でいえば、表示時刻20XX/10/01の18:52:54と対応付けられたデバイス値の一覧が、ユニットモニタ440に表示される。 Further, in FIG. 9, a unit monitor 440 is displayed in the lower right column. For example, the unit monitor 440 displays the device value of the buffer memory (UG) in the motion unit. More specifically, when the unit display module 325 of the log display control unit 61 receives the display time to be currently played from the playback control module 324, it reads the device value associated with that time from the memory card 36A, and It is displayed on the unit monitor 440. Therefore, for example, in FIG. 9, a list of device values associated with the display time 18:52:54 on 20XX/10/01 is displayed on the unit monitor 440.

図30は、ログ再生モードにおけるGUIを表示するためのデータソースを模式化した図である。図30に示すように、プロジェクト表示領域420は、プロジェクトデータ71に含まれるユニット構成、機能設定、プログラム構成、プログラム部品をメモリから読み出して、これらをツリー形式で表示する。ラダーモニタ450は、プログラム構成(どのようなプログラム部品からなるか)、プログラム部品をメモリから読み出して、ユーザによって指定されたプログラム部品を表示すると共に、ログデータ73から表示時刻に対応するデバイス値を読み出して表示する。カメラモニタ430は、ユニット構成(カメラモニタがあるか否か)と機能設定(カメラモニタの機能。例えば複数ポートある場合にはポート番号、撮像周期やゲイン設定等)等の情報に基づいて、ログデータ73から表示時刻に対応する画像データを読み出して表示する。ユニットモニタ440は、ユニット構成(どのようなユニットがあるか)と機能設定(モーションユニットであれば軸構成や軸制御等)等の情報に基づいて、ログデータ73から表示時刻に対応するデバイス値を読み出して表示する。 FIG. 30 is a diagram schematically showing a data source for displaying a GUI in log playback mode. As shown in FIG. 30, the project display area 420 reads the unit configuration, function settings, program configuration, and program parts included in the project data 71 from memory and displays them in a tree format. The ladder monitor 450 reads the program configuration (what kind of program parts are included) and the program parts from the memory, displays the program parts specified by the user, and also retrieves the device value corresponding to the display time from the log data 73. Read and display. The camera monitor 430 logs data based on information such as unit configuration (whether there is a camera monitor or not) and function settings (camera monitor functions; for example, if there are multiple ports, the port number, imaging cycle, gain settings, etc.). Image data corresponding to the display time is read out from the data 73 and displayed. The unit monitor 440 extracts the device value corresponding to the display time from the log data 73 based on information such as the unit configuration (what kind of units are there) and function settings (for motion units, axis configuration, axis control, etc.). Read and display.

図9や図30から分かるように、再生制御モジュール324の機能によって、プログラム表示モジュール321、画像表示モジュール323、ユニット表示モジュール325を同期制御して、連携させることができる。なお、波形表示モジュール322の連携の詳細については後述する。 As can be seen from FIGS. 9 and 30, the function of the playback control module 324 allows the program display module 321, image display module 323, and unit display module 325 to be synchronously controlled and made to work together. Note that details of the cooperation of the waveform display module 322 will be described later.

ここで、本実施形態では、現在のプロジェクトデータが、実際のトラブル発生時のプロジェクトデータ71と一致するか否かを検証できるようにしている。より具体的には、図29に示すプログラム表示モジュール321の内の照合部334は、PLC1から出力されるプロジェクトデータ71(ユーザープログラム)の識別情報と、PC側記憶装置22に記憶されているプロジェクトデータ71(ユーザープログラム)の識別情報とを照合し、照合結果を警告部335に出力する。警告部335は、PLC1から出力される、運転記録を保存した時のプロジェクトデータ71(ユーザープログラム)の識別情報と、PC側記憶装置22に記憶されているプロジェクトデータ(ユーザープログラム)の識別情報とが不一致である場合に、警告を表示部7に表示させる。 Here, in this embodiment, it is possible to verify whether the current project data matches the project data 71 at the time of actual trouble occurrence. More specifically, the collation unit 334 in the program display module 321 shown in FIG. The data 71 (user program) is compared with the identification information, and the comparison result is output to the warning section 335. The warning unit 335 outputs the identification information of the project data 71 (user program) when the driving record was saved, which is output from the PLC 1, and the identification information of the project data (user program) stored in the PC side storage device 22. If they do not match, a warning is displayed on the display unit 7.

なお、本実施形態では、2つのプロジェクトデータの識別情報を比較して、一致・不一致を検証することとした。より詳細には、プロジェクトデータに含まれるプログラム構成、複数のプログラム部品、ユニット構成、ユニット毎に機能設定に対し、それぞれ識別情報が付加されており、それら全てが一致するか否かにより検証することとした。しかし、本発明はこれに限られず、少なくとも、複数のプログラム部品から構成されるユーザープログラムの識別情報を比較して、一致・不一致を検証すればよい。
●再生制御モジュール324
Note that in this embodiment, the identification information of two pieces of project data are compared to verify whether they match or do not match. More specifically, identification information is added to the program configuration, multiple program parts, unit configuration, and function settings for each unit included in the project data, and verification is performed by checking whether all of them match. And so. However, the present invention is not limited to this, and at least the identification information of user programs composed of a plurality of program parts may be compared to verify whether they match or do not match.
Reproduction control module 324

図31は再生制御モジュール324の詳細を示している。デバイス値提供部341は、ログデータ取得部344によりログデータ73から取得されたデバイス値をプログラム表示モジュール321と波形表示モジュール322とに提供する。また、デバイス値提供部341は、ユニット表示モジュール325にも、ログデータ73から取得されたデバイス値を提供する。なお、ログデータ73から取得されたデバイス値は一時的にログデバイス345に格納されてもよい。プログラム表示モジュール321と波形表示モジュール322のデバイス値取得部333aはデバイス値提供部341にデバイス値を要求する。デバイス値取得部333aはログデバイス345からデバイス値を取得し、デバイス値取得部333aに送信する。時刻デバイス342は再生制御部343により設定された表示時刻を保持するデバイスである。時刻デバイス342に保持されているデバイス値(時刻情報)もデバイス値提供部341がデバイス値取得部333aへ送信してもよい。あるいは、再生制御部343がプログラム表示モジュール321の表示時刻制御部331aや波形表示モジュール322の表示時刻制御部に時刻情報を提供してもよい。再生制御部343は、表示時刻を計時するための仮想的な内部時計を有し、この内部時計に従って時刻デバイス342に保持されている時刻情報を更新する。再生制御部343は、表示時刻制御部331a、波形表示モジュール322の表示時刻制御部に時刻デバイス342に保持されている時刻情報を送信する。再生制御部343は、表示時刻制御部331a、波形表示モジュール322の表示時刻制御部から表示時刻の指定を受信すると、受信した表示時刻を内部時計に設定する(時刻合わせ)。よって、プログラム表示モジュール321の表示時刻制御部331aから表示時刻が指定されると、この表示時刻は再生制御部343を介して波形表示モジュール322の表示時刻制御部に伝達される。同様に、波形表示モジュール322の表示時刻制御部から表示時刻が指定されると、この表示時刻は再生制御部343を介して表示時刻制御部331aに伝達される。これによりプログラム表示モジュール321の表示時刻と波形表示モジュール322の表示時刻とが同期する。スロー再生、早送り再生、巻き戻し再生等を実現するために、再生制御部343は、PC側操作部8からのユーザ入力に従って内部時計の更新速度を変更する。再生制御部343は、ログデータ73に含まれている最も古いレコードの時刻情報を内部時計の初期値に設定してもよい。ログデータ取得部344は時刻デバイス342に保持されている表示時刻に関連付けられているデバイス値をログデータ73から取得して、デバイス値提供部341に渡す。 FIG. 31 shows details of the playback control module 324. The device value providing unit 341 provides the program display module 321 and the waveform display module 322 with the device value acquired from the log data 73 by the log data acquisition unit 344. The device value providing unit 341 also provides the unit display module 325 with the device value acquired from the log data 73. Note that the device value acquired from the log data 73 may be temporarily stored in the log device 345. The device value acquisition section 333a of the program display module 321 and the waveform display module 322 requests a device value from the device value providing section 341. The device value acquisition unit 333a acquires a device value from the log device 345 and transmits it to the device value acquisition unit 333a. The time device 342 is a device that holds the display time set by the playback control section 343. The device value providing section 341 may also transmit the device value (time information) held in the time device 342 to the device value obtaining section 333a. Alternatively, the playback control section 343 may provide the time information to the display time control section 331a of the program display module 321 or the display time control section of the waveform display module 322. The playback control unit 343 has a virtual internal clock for measuring the displayed time, and updates the time information held in the time device 342 according to this internal clock. The playback control section 343 transmits the time information held in the time device 342 to the display time control section 331a and the display time control section of the waveform display module 322. When the playback control unit 343 receives the display time designation from the display time control unit 331a and the display time control unit of the waveform display module 322, the playback control unit 343 sets the received display time in the internal clock (time adjustment). Therefore, when a display time is specified by the display time control section 331a of the program display module 321, this display time is transmitted to the display time control section of the waveform display module 322 via the playback control section 343. Similarly, when a display time is specified by the display time control section of the waveform display module 322, this display time is transmitted to the display time control section 331a via the playback control section 343. As a result, the display time of the program display module 321 and the display time of the waveform display module 322 are synchronized. In order to realize slow playback, fast forward playback, rewind playback, etc., the playback control unit 343 changes the update speed of the internal clock according to user input from the PC-side operation unit 8. The playback control unit 343 may set the time information of the oldest record included in the log data 73 as the initial value of the internal clock. The log data acquisition unit 344 acquires the device value associated with the display time held in the time device 342 from the log data 73 and passes it to the device value providing unit 341.

同様にして、再生制御部343は、プログラム表示モジュール321の表示時刻と波形表示モジュール322の表示時刻に加えて、画像表示モジュール323やユニット表示モジュール325の時刻を同期させるようにしてもよい。 Similarly, the playback control section 343 may synchronize the display time of the program display module 321 and the display time of the waveform display module 322, as well as the time of the image display module 323 and the unit display module 325.

なお、本実施形態では、ログ再生モードにおいて、プログラム表示モジュール321、波形表示モジュール322、画像表示モジュール323、ユニット表示モジュール325の各表示時刻を常に同期させることとしたが、本発明はこれに限られず、例えば、同期させるか否かをユーザが選択できるようにしてもよい。例えば、各モニタ画面上に同期有無のチェックボックスを設け、デフォルトでチェック有の状態にしてもよい。そして、ユーザは、同期したくないモジュールについて、チェックを外すことにより、そのモジュールについてだけ同期させないことも可能である。このように、ログ表示制御部61は、再生制御モジュールによって同期制御(追従制御)されるモジュールを選択する、選択機能を有していてもよい。
<プログラムの表示UI>
In this embodiment, the display times of the program display module 321, waveform display module 322, image display module 323, and unit display module 325 are always synchronized in the log playback mode, but the present invention is not limited to this. For example, the user may be able to select whether or not to synchronize. For example, a check box indicating whether synchronization is present may be provided on each monitor screen, and the check box may be set to a checked state by default. Then, by unchecking a module that the user does not want to synchronize, it is possible to prevent only that module from being synchronized. In this way, the log display control unit 61 may have a selection function to select a module to be synchronously controlled (followed control) by the playback control module.
<Program display UI>

図32はプログラム表示モジュール321によって提供される表示UI400を示している。図9等で説明した表示UI400を別の観点から、更に詳述する。プログラム表示領域410は、プロジェクトデータ71のユーザープログラムを表示する領域である。この例ではプログラム表示領域410はラダープログラム(ラダー図)を表示している。プログラム表示部332は、ユーザープログラムに使用又は記述されているデバイスのデバイス値をデバイス値取得部333aにより取得し、ユーザープログラムと共に表示する。例えば、プログラム表示部332は、リレーデバイスがONであればONを示すアイコン401aをユーザープログラム上に重ねて表示してもよい。プログラム表示部332は、リレーデバイスがOFFであればOFFを示すアイコン401bをユーザープログラム上に重ねて表示してもよい。プログラム表示部332は、出力系のデバイスであるDM100のデバイス値をデバイス値取得部333aにより取得し、ユーザープログラムにおけるDM100の記述と重ねて表示してもよい。この例では、DM100の記述の下にデバイス値の表示領域403が設けられている。プログラム表示部332は表示領域403にデバイス値を表示する。なお、再生制御モジュール324は表示時刻の更新と共にデバイス値も更新するため、プログラム表示部332は、ユーザープログラムと共に表示されているデバイス値を更新する。
(再生制御欄402)
FIG. 32 shows a display UI 400 provided by the program display module 321. The display UI 400 described with reference to FIG. 9 and the like will be described in further detail from another perspective. The program display area 410 is an area where the user program of the project data 71 is displayed. In this example, the program display area 410 displays a ladder program (ladder diagram). The program display unit 332 uses the device value acquisition unit 333a to acquire the device value of the device used or described in the user program, and displays it together with the user program. For example, if the relay device is ON, the program display unit 332 may display an icon 401a indicating ON over the user program. If the relay device is OFF, the program display section 332 may display an icon 401b indicating OFF over the user program. The program display unit 332 may acquire the device value of the DM 100, which is an output device, using the device value acquisition unit 333a, and display the device value overlappingly with the description of the DM 100 in the user program. In this example, a device value display area 403 is provided below the description of DM 100. The program display section 332 displays device values in the display area 403. Note that since the playback control module 324 updates the device value as well as the display time, the program display section 332 updates the device value displayed together with the user program.
(Playback control column 402)

プログラム表示領域410の下段には、保存されたデバイス値等のログデータの再生を操作するための再生制御欄402を設けている。具体的には、時刻UI330aは時刻デバイス342から取得した表示時刻に応じて時刻指定カーソル404を右から左へ移動させる。時刻指定カーソル404はポインタ101によりドラッグ可能である。時刻指定カーソル404がポインタ101によりドラッグされたことを時刻UI330aが検知すると、表示時刻制御部331aは再生制御部343に表示時刻の更新を停止させ、時刻指定カーソル404のドラッグ量を再生制御部343に通知する。再生制御部343は、ドラッグ量に応じて内部時計のカウント値(表示時刻)を調整する。時刻UI330aは、表示時刻の更新速度(例:・・・、2.0倍、1.0倍、0.5倍、0.1倍、・・・)を速度指定部405に表示してもよい。なお、速度指定部405は、複数の更新速度のリストを表示し、その内の一つの更新速度を選択可能なプルダウメニューによって実現されてもよい。時刻UI330aは、速度指定部405に対するポインタ101によるクリックを検知すると、このようなプルダウメニューを表示し、更新速度の選択を受け付けてもよい。 At the bottom of the program display area 410, a playback control field 402 is provided for operating the playback of saved log data such as device values. Specifically, the time UI 330a moves the time designation cursor 404 from right to left according to the display time acquired from the time device 342. The time designation cursor 404 can be dragged by the pointer 101. When the time UI 330a detects that the time designation cursor 404 has been dragged by the pointer 101, the display time control unit 331a causes the playback control unit 343 to stop updating the display time, and adjusts the dragging amount of the time designation cursor 404 to the playback control unit 343. to notify. The playback control unit 343 adjusts the count value (display time) of the internal clock according to the drag amount. The time UI 330a may display the update speed of the display time (for example, ..., 2.0 times, 1.0 times, 0.5 times, 0.1 times, ...) in the speed specification section 405. good. Note that the speed designation unit 405 may be realized by a pull-down menu that displays a list of a plurality of update speeds and allows one of the update speeds to be selected. When the time UI 330a detects a click by the pointer 101 on the speed specification section 405, the time UI 330a may display such a pull-down menu and accept a selection of an update speed.

再生ボタン406はデバイス値の時系列的な表示を指示するためのボタンである。時刻UI330aは再生ボタン406がポインタ101によりクリックされたことを検知すると、表示時刻制御部331aに表示時刻の更新を開始するよう再生制御部343に指示する。この指示はデバイス値の表示の開始の指示又は表示の再開の指示に相当する。ワンステップ逆再生ボタン407は、表示時刻をワンステップずつ更新(巻き戻し)しながらデバイス値を時系列的に表示することを指示するためのボタンである。時刻UI330aはワンステップ逆再生ボタン407がポインタ101によりクリックされたことを検知すると、表示時刻制御部331aに表示時刻を一ステップ戻すように指示する。ワンステップ再生ボタン408は、表示時刻をワンステップずつ更新しながらデバイス値を時系列的に表示することを指示するためのボタンである。時刻UI330aはワンステップ再生ボタン408がポインタ101によりクリックされたことを検知すると、表示時刻制御部331aに表示時刻を一ステップ進めるように指示する。なお、ワンステップ再生が実行されているときは、ワンステップ逆再生ボタン407又はワンステップ再生ボタン408が操作されない限り、再生制御部343は表示時刻を更新しない。ワンステップ再生が実行されているときに、再生ボタン406が操作されると、再生制御部343は速度指定部405により指定された更新速度で表示時刻の更新を再開する。時刻表示領域409は時刻デバイス342に保持されている表示時刻を表示する領域である。表示時刻制御部331aは、時刻デバイス342から取得された表示時刻を時刻表示領域409に表示する。
<表示部HMIのエミュレータ>
A play button 406 is a button for instructing to display device values in chronological order. When the time UI 330a detects that the playback button 406 has been clicked by the pointer 101, the time UI 330a instructs the playback control unit 343 to start updating the display time in the display time control unit 331a. This instruction corresponds to an instruction to start displaying device values or an instruction to restart display. The one-step reverse playback button 407 is a button for instructing to display device values in chronological order while updating (rewinding) the display time one step at a time. When the time UI 330a detects that the one-step reverse playback button 407 has been clicked by the pointer 101, it instructs the display time control unit 331a to move the display time back one step. The one-step playback button 408 is a button for instructing to display device values in chronological order while updating the display time one step at a time. When the time UI 330a detects that the one-step playback button 408 has been clicked by the pointer 101, it instructs the display time control unit 331a to advance the display time by one step. Note that when one-step playback is being executed, the playback control unit 343 does not update the display time unless the one-step reverse playback button 407 or the one-step playback button 408 is operated. When the playback button 406 is operated while one-step playback is being executed, the playback control unit 343 resumes updating the display time at the update speed specified by the speed designation unit 405. The time display area 409 is an area for displaying the display time held in the time device 342. The display time control unit 331a displays the display time acquired from the time device 342 in the time display area 409.
<Display HMI emulator>

PLC1は外付けの表示装置である表示器HMIを接続可能である。表示器HMIはタッチパネル式の入力装置を有していてもよい。表示器HMIはPLC1のデバイス部34に保持されているデバイス値を読み出して表示装置に表示する。プロジェクト作成部50は表示器HMIに表示されるUIと、UIに表示されるデバイス値を設定し、プロジェクトデータ71に保存する。デバッグ部314は、表示器HMIのエミュータを有しており、プロジェクトデータ71に従ってエミュータを動作させることで、表示器HMIの動作を確認する。ログ表示制御部61は、表示器HMIのエミュレータに対してログデータ73のデバイス値を供給する。表示器HMIのエミュレータは、時系列的に提供されたデバイス値をUIに表示する。
<ログ表示に関するフローチャート>
●プログラム表示モジュール
The PLC 1 can be connected to a display HMI which is an external display device. The display HMI may have a touch panel type input device. The display HMI reads device values held in the device section 34 of the PLC 1 and displays them on the display device. The project creation unit 50 sets the UI displayed on the display HMI and the device values displayed on the UI, and saves them in the project data 71. The debug unit 314 has an emulator for the display HMI, and checks the operation of the display HMI by operating the emulator according to the project data 71. The log display control unit 61 supplies the device value of the log data 73 to the emulator of the display HMI. The display HMI emulator displays device values provided in chronological order on the UI.
<Flowchart regarding log display>
●Program display module

図33はプログラム表示モジュール321によって実行される表示処理を示している。なお、ステップS3301、ステップS3302及びステップS3309はPLC1からプロジェクトデータ71を取得できない場合にのみ実行されてもよい。PLC1からプロジェクトデータ71を取得できる場合、PLC1からプロジェクトデータ71が使用される。PLC1からプロジェクトデータ71を取得できない場合、PC2に保持されているプロジェクトデータ71が使用される。 FIG. 33 shows display processing executed by the program display module 321. Note that steps S3301, S3302, and S3309 may be executed only when the project data 71 cannot be acquired from the PLC 1. If the project data 71 can be acquired from the PLC 1, the project data 71 from the PLC 1 is used. If the project data 71 cannot be acquired from the PLC 1, the project data 71 held in the PC 2 is used.

ステップS3301でPC側CPU21(照合部334)はPLC1に保持されているプロジェクトデータ71の識別情報と、PC2に保持されているプロジェクトデータ71の識別情報とを取得する。 In step S3301, the PC side CPU 21 (verification unit 334) acquires the identification information of the project data 71 held in the PLC 1 and the identification information of the project data 71 held in the PC 2.

ステップS3302でPC側CPU21(照合部334)はPLC1に保持されているプロジェクトデータ71の識別情報と、PC2に保持されているプロジェクトデータ71の識別情報とが一致するかどうかを判定する。両者が一致しなければ、PC側CPU21はステップS3309に進む。ステップS3309でPC側CPU21(警告部335)はPLC1に保持されているプロジェクトデータ71の識別情報と、PC2に保持されているプロジェクトデータ71の識別情報とが一致しないことを示す警告を表示部7に表示する。両者が一致する場合、PC側CPU21はステップS3303に進む。 In step S3302, the PC side CPU 21 (verification unit 334) determines whether the identification information of the project data 71 held in the PLC 1 and the identification information of the project data 71 held in the PC 2 match. If the two do not match, the PC side CPU 21 proceeds to step S3309. In step S3309, the PC side CPU 21 (warning section 335) displays a warning on the display section 7 indicating that the identification information of the project data 71 held in the PLC 1 and the identification information of the project data 71 held in the PC 2 do not match. to be displayed. If the two match, the PC side CPU 21 proceeds to step S3303.

ステップS3303でPC側CPU21(プログラム表示部332)はPLC1又はPC側記憶装置22からプロジェクトデータ71を取得する。 In step S3303, the PC side CPU 21 (program display unit 332) acquires the project data 71 from the PLC 1 or the PC side storage device 22.

ステップS3304でPC側CPU21(プログラム表示部332)はPC側操作部8から入力された情報に基づきログ再生モードが選択されているのか、それともリアルタイム再生モードが選択されているのかを判定する。リアルタイム再生モードが選択されていれば、PC側CPU21はステップS3310に進む。ステップS3310でPC側CPU21(デバイス値取得部333a)は再生制御モジュール324を介さずにPLC1のリアルタイム送信部からデバイス値を取得する。ステップS3311でPC側CPU21(プログラム表示部332)はプロジェクトデータ71に含まれるユーザープログラムと共にデバイス値を表示部7に表示する。ログ再生モードが選択されていれば、PC側CPU21はステップS3305に進む。 In step S3304, the PC-side CPU 21 (program display section 332) determines whether the log playback mode or the real-time playback mode is selected based on the information input from the PC-side operation section 8. If the real-time playback mode is selected, the PC side CPU 21 advances to step S3310. In step S3310, the PC-side CPU 21 (device value acquisition section 333a) acquires the device value from the real-time transmission section of the PLC 1 without going through the playback control module 324. In step S3311, the PC side CPU 21 (program display section 332) displays the device value on the display section 7 along with the user program included in the project data 71. If the log playback mode is selected, the PC side CPU 21 advances to step S3305.

ステップS3305でPC側CPU21(デバイス値取得部333a)は再生制御モジュール324を起動し、再生制御モジュール324から表示時刻とログデータ73のデバイス値と取得する。 In step S3305, the PC side CPU 21 (device value acquisition unit 333a) activates the playback control module 324 and acquires the display time and the device value of the log data 73 from the playback control module 324.

ステップS3306でPC側CPU21(プログラム表示部332)はプロジェクトデータ71に含まれるユーザープログラムと共にデバイス値と表示時刻を表示部7に表示する。 In step S3306, the PC side CPU 21 (program display section 332) displays the user program included in the project data 71, as well as the device value and display time on the display section 7.

ステップS3307でPC側CPU21(表示時刻制御部331a)は時刻UI330aにより時刻指定が検知されたかどうかを判定する。上述したように時刻指定は時刻指定カーソル404の操作によって実行される。時刻指定が検知されていなければ、PC側CPU21はステップS3305に戻る。時刻指定が検知されていれば、PC側CPU21はステップS3308に進む。 In step S3307, the PC-side CPU 21 (display time control unit 331a) determines whether time designation is detected by the time UI 330a. As described above, time specification is performed by operating the time specification cursor 404. If the time designation is not detected, the PC side CPU 21 returns to step S3305. If the time designation is detected, the PC side CPU 21 advances to step S3308.

ステップS3308でPC側CPU21(表示時刻制御部331a)は再生制御モジュール324の再生制御部343に、時刻指定カーソル404により入力された指定時刻を通知する。PC側CPU21はステップS3305に戻る。
●波形表示モジュール
In step S3308, the PC side CPU 21 (display time control unit 331a) notifies the playback control unit 343 of the playback control module 324 of the designated time input using the time designation cursor 404. The PC side CPU 21 returns to step S3305.
●Waveform display module

図34は波形表示モジュール322によって実行される表示処理を示している。 FIG. 34 shows display processing performed by the waveform display module 322.

ステップS3401でPC側CPU21(波形表示部336)はPC側操作部8から入力された情報に基づきログ再生モードが選択されているのか、それともリアルタイム再生モードが選択されているのかを判定する。リアルタイム再生モードが選択されていれば、PC側CPU21はステップS3406に進む。ステップS3406でPC側CPU21(波形表示モジュール322のデバイス値取得部)は再生制御モジュール324を介さずにPLC1のリアルタイム送信部からデバイス値を取得する。ステップS3407でPC側CPU21(波形表示部336)はデバイス値を表示部7に表示する。ログ再生モードが選択されていれば、PC側CPU21はステップS3402に進む。 In step S3401, the PC-side CPU 21 (waveform display section 336) determines whether the log playback mode or the real-time playback mode is selected based on the information input from the PC-side operation section 8. If the real-time playback mode is selected, the PC side CPU 21 advances to step S3406. In step S3406, the PC-side CPU 21 (device value acquisition unit of the waveform display module 322) acquires the device value from the real-time transmission unit of the PLC 1 without going through the playback control module 324. In step S3407, the PC side CPU 21 (waveform display section 336) displays the device value on the display section 7. If the log playback mode is selected, the PC side CPU 21 advances to step S3402.

ステップS3402でPC側CPU21(波形表示モジュール322のデバイス値取得部)は再生制御モジュール324を起動し、再生制御モジュール324からデバイス値と表示時刻を取得する。 In step S3402, the PC-side CPU 21 (device value acquisition unit of the waveform display module 322) starts the playback control module 324 and acquires the device value and display time from the playback control module 324.

ステップS3403でPC側CPU21(波形表示部336)はデバイス値と表示時刻を表示部7に表示する。 In step S3403, the PC side CPU 21 (waveform display section 336) displays the device value and display time on the display section 7.

ステップS3404でPC側CPU21(波形表示モジュール322の表示時刻制御部)は時刻UI330bにより時刻指定が検知されたかどうかを判定する。上述したように時刻指定はバー103によって実行される。時刻指定が検知されていなければ、PC側CPU21はステップS3402に戻る。時刻指定が検知されていれば、PC側CPU21はステップS3405に進む。 In step S3404, the PC-side CPU 21 (display time control unit of the waveform display module 322) determines whether time designation is detected by the time UI 330b. As described above, the time specification is performed using the bar 103. If the time designation is not detected, the PC-side CPU 21 returns to step S3402. If the time designation is detected, the PC side CPU 21 advances to step S3405.

ステップS3405でPC側CPU21(波形表示モジュール322の表示時刻制御部)は再生制御モジュール324の再生制御部343に、バー103により入力された指定時刻を通知する。PC側CPU21はステップS3402に戻る。
●再生制御モジュール
In step S3405, the PC-side CPU 21 (display time control unit of the waveform display module 322) notifies the playback control unit 343 of the playback control module 324 of the specified time input via the bar 103. The PC side CPU 21 returns to step S3402.
●Reproduction control module

図35は再生制御モジュール324によって実行される再生制御を示している。 FIG. 35 shows the playback control performed by the playback control module 324.

ステップS3501でPC側CPU21(ログデータ取得部344)はPLC1からログデータ73を取得し、PC側記憶装置22に格納する。 In step S3501, the PC side CPU 21 (log data acquisition unit 344) acquires the log data 73 from the PLC 1 and stores it in the PC side storage device 22.

ステップS3502でPC側CPU21(再生制御部343)は内部時計の時刻を初期化する。 In step S3502, the PC side CPU 21 (playback control unit 343) initializes the time of the internal clock.

ステップS3503でPC側CPU21(再生制御部343)は内部時計の時刻を取得し、時刻を時刻デバイス342に格納する。 In step S3503, the PC side CPU 21 (playback control unit 343) obtains the time of the internal clock and stores the time in the time device 342.

ステップS3504でPC側CPU21(再生制御部343)は時刻デバイス342に保持されている表示時刻に対応するデバイス値をログデータ73から取得し、ログデバイス345に格納する。これにより、デバイス値提供部341はプログラム表示モジュール321や波形表示モジュール322に対してデバイス値と表示時刻とを提供可能となる。 In step S3504, the PC side CPU 21 (playback control unit 343) obtains the device value corresponding to the display time held in the time device 342 from the log data 73, and stores it in the log device 345. This allows the device value providing unit 341 to provide the program display module 321 and waveform display module 322 with device values and display times.

ステップS3505でPC側CPU21(再生制御部343)は表示時刻制御部331aから時刻指定を受信したかどうかを判定する。時刻指定を受信していれば、PC側CPU21はステップS3506に進む。時刻指定を受信していなければ、PC側CPU21はステップS3507に進む。 In step S3505, the PC side CPU 21 (playback control unit 343) determines whether or not a time designation has been received from the display time control unit 331a. If the time designation has been received, the PC side CPU 21 advances to step S3506. If the time designation has not been received, the PC side CPU 21 advances to step S3507.

ステップS3506でPC側CPU21(再生制御部343)は表示時刻制御部331aからの時刻指定に従って内部時計の時刻を変更する。 In step S3506, the PC side CPU 21 (playback control section 343) changes the time of the internal clock according to the time specification from the display time control section 331a.

ステップS3507でPC側CPU21(再生制御部343)は表示時刻制御部331aから更新速度の変更指示を受信したかどうかを判定する。変更指示を受信していれば、PC側CPU21はステップS3508に進む。変更指示を受信していなければ、PC側CPU21はステップS3503に進む。 In step S3507, the PC side CPU 21 (playback control unit 343) determines whether an instruction to change the update speed has been received from the display time control unit 331a. If the change instruction has been received, the PC side CPU 21 advances to step S3508. If no change instruction has been received, the PC side CPU 21 advances to step S3503.

ステップS3508でPC側CPU21(再生制御部343)は表示時刻制御部331aから指定された更新速度に従って内部時計の更新速度を変更する。その後、PC側CPU21はステップS3503に進む。
(イベント履歴表示機能)
In step S3508, the PC side CPU 21 (playback control section 343) changes the update speed of the internal clock according to the update speed specified by the display time control section 331a. Thereafter, the PC side CPU 21 proceeds to step S3503.
(Event history display function)

また本実施形態に係るPLC用エンジニアリングツールは、トラブル解決につながるイベントログを厳選して記録し、表示させることができる。PLCやその拡張ユニット4には、発生した各種イベントを記録するイベントログ機能が存在している。また、デバイスの値を、制御周期毎、任意周期、書き換え毎等のタイミングで記録するロギング機能も存在している。ユーザはトラブルが発生した時に、それらの機能を組み合わせることにより、事後的に原因を探ることができる。しかしながら、各種のログ機能は、PLC上の不揮発性記憶領域に主に記録されることが多く、このようなPLCの不揮発性記憶領域は、サイズに制約があることが多い。また、ログの件数が増えて記憶領域が上限に達すると、新しいログを残すため古いログから順次消去していくことが一般的である。このため、発生しているログが数千件や数万件のオーダーになると、トラブル解決に繋がる原因のログが消去されている可能性が高くなり、トラブルの原因追跡が難しくなるという問題があった。これに対して、記録時間を延ばすためユーザが保存対象となるイベントを絞り込むと、今度はトラブル解決に役立つイベントを保存し損なうおそれが出てくる。また一方で、記録が消去されず残っていたとしても、表示される件数が多いとトラブル解決に繋がるイベントが他のイベントに埋もれてしまい、見つけ難くなる。 Furthermore, the PLC engineering tool according to the present embodiment can carefully select and record event logs that can lead to troubleshooting, and display the logs. The PLC and its expansion unit 4 have an event log function for recording various events that occur. There is also a logging function that records device values at every control cycle, arbitrary cycle, every rewrite, etc. When a problem occurs, the user can find the cause after the fact by combining these functions. However, various log functions are often recorded mainly in a non-volatile storage area on a PLC, and the size of such a non-volatile storage area of a PLC is often limited. Furthermore, when the number of logs increases and the storage area reaches its upper limit, it is common to delete the oldest logs in order to leave new logs. Therefore, when the number of logs that occur is on the order of thousands or tens of thousands of logs, there is a high possibility that the logs that lead to the resolution of the problem have been deleted, making it difficult to trace the cause of the problem. Ta. On the other hand, if the user narrows down the events to be saved in order to extend the recording time, there is a risk that events useful for troubleshooting may not be saved. On the other hand, even if the records remain without being deleted, if a large number of events are displayed, events that can lead to troubleshooting will be buried among other events, making them difficult to find.

そこで本実施形態に係るPLC用エンジニアリングツールでは、トラブル解決に繋がるイベントを厳選して記録する。またその厳選して記録されたイベントを表示する際には、フィルタして表示したり、関連するログ情報を表示したりすることができ、これによってユーザのトラブル解決を容易にすることが可能となる。このようなPLC用エンジニアリングツールの一例を、図36のブロック図に示す。 Therefore, the PLC engineering tool according to the present embodiment carefully selects and records events that lead to troubleshooting. In addition, when displaying the carefully selected recorded events, it is possible to filter them and display related log information, making it easier for users to troubleshoot problems. Become. An example of such a PLC engineering tool is shown in the block diagram of FIG. 36.

PLC用エンジニアリングツールは、PLC1の動作を規定するユーザープログラムを評価するためのツールである。図36は、PLC用エンジニアリングツールである専用のプログラムをインストールしたPC2に、PLC1を接続したプログラマブルロジックコントローラシステムを示している。このPLC用エンジニアリングツールは、専用プログラムをインストールしたPC2で実現しているが、本発明はPLC用エンジニアリングツールを専用プログラムをインストールしたPCに限定するものでなく、専用のハードウェアでPLC用エンジニアリングツールを実現してもよい。また図36の例では、PC2とPLC1が別体で構成されているが、これらを統合してもよい。 The PLC engineering tool is a tool for evaluating a user program that defines the operation of the PLC 1. FIG. 36 shows a programmable logic controller system in which a PLC 1 is connected to a PC 2 in which a dedicated program, which is an engineering tool for PLC, is installed. Although this PLC engineering tool is implemented on a PC2 with a dedicated program installed, the present invention does not limit the PLC engineering tool to a PC with a dedicated program installed; may be realized. Further, in the example of FIG. 36, the PC2 and PLC1 are configured separately, but they may be integrated.

図36に示すPLC1も、上述したPLCと同様の構成を備える。すなわち、ユーザープログラムを繰り返し実行するプログラム実行部514、このプログラム実行部514によって参照される記憶領域であるデバイスを有するデバイス部34、このデバイス部34に記憶されているデバイス値を現在時刻と共にログデータとして時系列に記録すると共に、PLC1又はこのPLC1により制御される被制御装置にて発生した複数のイベントを発生時刻と共にイベントデータとして時系列に記録する一時記録部91a、及び運転時において所定の保存条件が満たされるとこの一時記録部91aに記録されているログデータ及びイベントデータを保存する保存メモリ36を備える。そしてPLC用エンジニアリングツールは、このPLC1において実行される、グラフィカルプログラミング言語で記述されるユーザープログラムの作成を支援するためのプログラム作成支援装置である。 The PLC 1 shown in FIG. 36 also has the same configuration as the PLC described above. That is, a program execution section 514 that repeatedly executes a user program, a device section 34 having a device that is a storage area referenced by this program execution section 514, and a device value stored in this device section 34 as log data along with the current time. a temporary recording section 91a that records a plurality of events occurring in the PLC 1 or a controlled device controlled by the PLC 1 in chronological order as event data together with the time of occurrence, and a predetermined storage during operation. A storage memory 36 is provided for storing log data and event data recorded in the temporary recording section 91a when conditions are met. The PLC engineering tool is a program creation support device that is executed in the PLC 1 and supports the creation of a user program written in a graphical programming language.

図36に示すPLC用エンジニアリングツールは、表示部7と、PC側CPU21と、PC側記憶装置22と、PC側メモリ部11と、PC側操作部8と、PC側通信部23とを備えている。表示部7は、ラダー図などのユーザープログラムを表示させる。また表示部7は、PC2に接続したモニタとする他、表示器HMIを利用してもよい。 The PLC engineering tool shown in FIG. 36 includes a display section 7, a PC-side CPU 21, a PC-side storage device 22, a PC-side memory section 11, a PC-side operation section 8, and a PC-side communication section 23. There is. The display unit 7 displays user programs such as ladder diagrams. Further, the display section 7 may be a monitor connected to the PC 2, or a display HMI may be used.

PC側記憶装置22は、運転記録データ保持部22bの機能を実現する。運転記録データ保持部22bは、PLC1の運転時に保存メモリ36に保存されたログデータ及びイベントデータを、運転記録データとして記憶する。 The PC side storage device 22 realizes the function of the driving record data holding section 22b. The driving record data holding unit 22b stores the log data and event data stored in the storage memory 36 during operation of the PLC 1 as driving record data.

PC側CPU21は、記録設定部12と、デバイス表示制御部13と、イベント表示制御部14と、選択受付部16の機能を実現する。イベント表示制御部14は、運転記録データ保持部22bから読み出したイベントデータに含まれる複数のイベント及びこの複数のイベントの各々の発生時刻を、表示部7に一覧表示する。選択受付部16は、イベント表示制御部14により一覧表示された複数のイベントの中から一つの選択を受け付ける。デバイス表示制御部13は、運転記録データ保持部22bから読み出したログデータに含まれ、かつ、選択受付部16により選択されたイベントの発生時刻に対応する時刻に記録されたデバイス値を、ユーザープログラム上に重ねて表示する。イベント表示制御部14は、PLC1の動作状態又はこのPLC1により制御される被制御装置の動作状態を変更する特定イベントを、表示部7上に選択的に一覧表示するよう構成している。 The PC-side CPU 21 realizes the functions of the recording setting section 12, the device display control section 13, the event display control section 14, and the selection reception section 16. The event display control unit 14 displays a list on the display unit 7 of a plurality of events included in the event data read from the driving record data holding unit 22b and the times of occurrence of each of the plurality of events. The selection accepting unit 16 accepts the selection of one event from among the plurality of events displayed as a list by the event display control unit 14. The device display control unit 13 displays the device value recorded at the time corresponding to the time of occurrence of the event that is included in the log data read from the driving record data holding unit 22b and selected by the selection reception unit 16 in the user program. Display on top of each other. The event display control unit 14 is configured to selectively display a list of specific events that change the operating state of the PLC 1 or the operating state of a controlled device controlled by the PLC 1 on the display unit 7.

また記録設定部12は、PLC1の一時記録部91aに対し、複数のイベントのうち特定イベントのみを記録するよう設定する。 The recording setting section 12 also sets the temporary recording section 91a of the PLC 1 to record only a specific event among the plurality of events.

ここで特定イベントは、プログラム実行部514によるユーザープログラムの実行と独立してユーザが行った操作に関するイベントを含む。ユーザ操作に関するイベントとしては、例えばユーザープログラム及びPLC1の構成情報を含むプロジェクトデータの書き換え、PLC1の設定を行う設定モードと、PLC1上でユーザープログラムを実行させる運転モードとのモード切替、PLC1に接続可能なケーブルの挿抜、PLC1に取り付け可能な記憶媒体の挿抜、被制御装置の電源のON/OFF等が挙げられる。 Here, the specific event includes an event related to an operation performed by the user independently of execution of the user program by the program execution unit 514. Events related to user operations include, for example, rewriting project data including the user program and PLC1 configuration information, mode switching between a setting mode for configuring PLC1 and an operation mode for executing a user program on PLC1, and connection to PLC1. Examples include insertion and removal of cables, insertion and removal of storage media that can be attached to the PLC 1, and turning on and off the power of controlled devices.

一方でイベント表示制御部14は、プログラム実行部514によるユーザープログラムの実行に従って、PLC1内で自動的に実行される処理に応じたイベントを非表示とする。このような自動実行される処理に応じたイベントとしては、例えばPLC1と接続された外部装置とTCP接続又はFTP接続するときの通信開始又は通信切断や、PLC1内に用意されたフォルダ又はファイルへの書き込み等が挙げられる。このように、イベント表示制御部14でもって、ユーザが介在したユーザ操作に応じたイベントは、トラブル解決に役立つので表示させる。その一方で、ユーザが介在しなくても自動的に実行される処理に応じたイベントについては非表示としている。非表示とする理由は、自動実行される処理は頻度が多すぎるのでログとして残すと膨大になる上、内部処理であるためイベントログを参照したところで、これに基づいてどのようにすればトラブル解決につながるのかが判り難いため、これらがトラブル解決に有用な場面は少ないと思われないからである。このように、イベントの表示内容を、トラブル解決に有用と思われるものと、そうでないものに分類して、選択的に表示部7に表示させることで、ユーザによるトラブルシューティングを支援することが期待できる。 On the other hand, the event display control unit 14 hides events corresponding to processes automatically executed within the PLC 1 in accordance with execution of the user program by the program execution unit 514. Events corresponding to such automatically executed processes include, for example, the start or disconnection of communication when establishing a TCP connection or FTP connection with an external device connected to PLC1, or the opening or disconnection of communication to a folder or file prepared in PLC1. Examples include writing. In this way, the event display control unit 14 displays events corresponding to user operations, since they are useful for troubleshooting. On the other hand, events corresponding to processes that are automatically executed without user intervention are hidden. The reason why it is hidden is that automatically executed processes are too frequent, so if they were to be kept as a log, it would be huge. Also, since it is an internal process, I looked at the event log and found out how to troubleshoot based on this. This is because it is difficult to know whether this will lead to problems or not, so there are likely to be few situations where these are useful for troubleshooting. In this way, it is expected that the display content of events will be classified into those that are considered useful for troubleshooting and those that are not, and will be selectively displayed on the display unit 7 to assist the user in troubleshooting. can.

以下、図36に基づき各部材の詳細を説明する。記録設定部12は、運転記録データ等各種のデータをPLC側記憶装置32に保存させるよう設定する。PLC側記憶装置32に保存されるデータとしては、PLC1の運用時に、PLC1で記録された時系列の複数のデバイス値、各デバイス値の記録時刻に応じた第一時刻データ、PLC1又はPLC1により制御される被制御装置にて発生した複数のイベント、各イベントの発生時刻に応じた第二時刻データ等が挙げられる。PLC側記憶装置32は、PLC1内部の書き換え可能な不揮発性メモリや、挿抜可能なSDカード(商品名)等が利用できる。特にSDカードは、データの移行が簡単なため、好ましい。例えばPC2をPLC1に接続していなくとも、PLC側記憶装置32に保存されたデータにアクセスすることが可能となる。 Hereinafter, details of each member will be explained based on FIG. 36. The record setting unit 12 sets various data such as driving record data to be stored in the PLC side storage device 32. The data stored in the PLC side storage device 32 includes a plurality of time-series device values recorded by the PLC 1 during operation of the PLC 1, first time data according to the recording time of each device value, and data controlled by the PLC 1 or the PLC 1. Examples include a plurality of events occurring in the controlled device, second time data corresponding to the time of occurrence of each event, and the like. As the PLC side storage device 32, a rewritable non-volatile memory inside the PLC 1, a removable SD card (trade name), etc. can be used. In particular, SD cards are preferable because data can be easily transferred. For example, even if the PC 2 is not connected to the PLC 1, it is possible to access data stored in the PLC side storage device 32.

デバイス表示制御部13は、表示部7で表示させたラダー図上に、デバイス値を表示する。イベント表示制御部14は、表示部7上に複数のイベントを一覧表示する。この際イベント表示制御部14は、PLC1の動作状態又はPLC1により制御されるモータ等の被制御装置の動作状況を変更する特定イベントを、選択的に表示させることができる。 The device display control unit 13 displays device values on the ladder diagram displayed on the display unit 7. The event display control unit 14 displays a list of multiple events on the display unit 7. At this time, the event display control unit 14 can selectively display a specific event that changes the operating state of the PLC 1 or the operating state of a controlled device such as a motor controlled by the PLC 1.

図36に示すPLC用エンジニアリングツールでPLC用の設定を行った後、プロジェクトデータをPLC側に転送する。具体的には、PC側通信部23から、PLC1のPLC側通信部33に、記録すべきイベントやその優先順位を規定したプロジェクトデータを転送する。またプロジェクトデータには、運転記録データに関する設定や、ユーザープログラム、各機能の設定などを含めてもよい。
(表示部7)
After making settings for the PLC using the PLC engineering tool shown in FIG. 36, the project data is transferred to the PLC side. Specifically, project data defining events to be recorded and their priorities is transferred from the PC-side communication unit 23 to the PLC-side communication unit 33 of the PLC 1. The project data may also include settings related to driving record data, user programs, settings for each function, and the like.
(Display section 7)

表示部7は、ラダー図等を表示させる。具体的には表示部7は、イベントを一覧表示させるイベント表示欄1400と、ラダー図を表示させるラダーモニタ欄1500を備えることができる。そしてイベント表示欄1400で、ユーザが選択受付部16を用いて、ここではPC側操作部8を操作してGUI上から任意のイベントを選択すると、この選択されたイベントの時刻と対応するラダー図がラダーモニタ欄1500で選択されて表示される。 The display unit 7 displays a ladder diagram or the like. Specifically, the display unit 7 can include an event display field 1400 that displays a list of events, and a ladder monitor field 1500 that displays a ladder diagram. Then, in the event display field 1400, when the user selects an arbitrary event from the GUI using the selection reception unit 16, here by operating the PC side operation unit 8, a ladder diagram corresponding to the time of the selected event is displayed. is selected and displayed in the ladder monitor field 1500.

また表示部7は、さらにカメラモニタ欄1600を備えてもよい。カメラモニタ欄1600は、プログラマブルロジックコントローラシステムに接続されたカメラ部98で時系列に撮像された複数の画像データを表示させる。そしてイベント表示欄1400で、任意のイベントを選択すると、この選択されたイベントの時刻と対応するラダー図がラダーモニタ欄1500で選択されると共に、選択されたイベントの時刻と対応する画像データがカメラモニタ欄1600に表示される。 Further, the display section 7 may further include a camera monitor column 1600. The camera monitor column 1600 displays a plurality of image data captured in chronological order by the camera unit 98 connected to the programmable logic controller system. When an arbitrary event is selected in the event display column 1400, a ladder diagram corresponding to the time of the selected event is selected in the ladder monitor column 1500, and image data corresponding to the time of the selected event is displayed on the camera. It is displayed in the monitor column 1600.

PLC1は、PLC側CPUと、PLC側記憶装置32と、PLC側通信部33を備える。PLC側記憶装置32には、上述の通り記録設定部12での設定に従い、PLC1にて記録された時系列の複数のデバイス値、各デバイス値の記録時刻に応じた第一時刻データ、PLC1又はPLC1により制御される被制御装置にて発生した複数のイベント、各イベントの発生時刻に応じた第二時刻データ等が保存される。 The PLC 1 includes a PLC side CPU, a PLC side storage device 32, and a PLC side communication section 33. The PLC side storage device 32 stores a plurality of time-series device values recorded in the PLC 1, first time data corresponding to the recording time of each device value, and PLC 1 or A plurality of events occurring in the controlled device controlled by the PLC 1, second time data corresponding to the time of occurrence of each event, etc. are stored.

複数のデバイス値とイベントとは、PLC側記憶装置32に分けて記録される。デバイス値もイベントも、ある程度収集した後は、古いデータを削除していくが、好ましくはイベントをデバイス値よりも長い時間残す。トラブルの原因が、直近のイベントのみならず、過去の変更に起因することが起こり得ることに対応させたものである。また、これらデバイス値の第一時刻データと特定イベントの第二時刻データも保存することで、これらを同期させることが可能となる(詳細は後述)。 A plurality of device values and events are recorded separately in the PLC side storage device 32. After a certain amount of device values and events have been collected, old data is deleted, but events are preferably left for a longer period of time than device values. This corresponds to the fact that the cause of trouble may be caused not only by recent events but also by past changes. Furthermore, by saving the first time data of these device values and the second time data of the specific event, it is possible to synchronize them (details will be described later).

ここでイベント表示制御部14は、PLC1の動作状態又はPLC1により制御される被制御装置の動作状態を変更する特定イベントを、選択的に表示部7上に表示させる。例えばプログラマブルロジックコントローラ用エンジニアリングツールは、トラブル解決に繋がる厳選されたイベントをPLC側記憶装置32に記録すると共に、これを表示させる際には、それらのイベントのみをフィルタ表示させてもよい。これにより、多種多様なイベントの内から、トラブル解決に有用なイベントを選択的に表示させて、トラブルの原因究明に役立てることができる。またこのイベント表示制御部14は、デバイス値を時系列波形として表示部7に表示させることができる。 Here, the event display control section 14 selectively displays on the display section 7 a specific event that changes the operating state of the PLC 1 or the operating state of a controlled device controlled by the PLC 1. For example, an engineering tool for a programmable logic controller records carefully selected events that lead to troubleshooting in the PLC side storage device 32, and when displaying them, only those events may be filtered and displayed. This makes it possible to selectively display events that are useful for troubleshooting from among a wide variety of events, thereby making them useful for investigating the cause of troubles. Further, the event display control section 14 can display the device values as a time series waveform on the display section 7.

またPLC用エンジニアリングツールは、同期ソフトウエアモジュール15を備えてもよい。同期ソフトウエアモジュール15は、デバイス表示制御部13における表示対象時刻である第一時刻データと、イベント表示制御部14における表示対象時刻である第二時刻データとを同期させて、表示部7において連動させて表示させることができる。 The PLC engineering tool may also include a synchronization software module 15. The synchronization software module 15 synchronizes the first time data, which is the display target time in the device display control unit 13, and the second time data, which is the display target time in the event display control unit 14, and displays the synchronized data in the display unit 7. It can be displayed.

あるいは、すべてのイベントを記録する他、イベントの内から選別した特定イベントのみをPLC側記憶装置32に記録するよう構成してもよい。例えば記録設定部12で、特定イベントのみをPLC側記憶装置32に記録させるように設定できる。これにより、トラブルシューティングに有用な特定イベントのみを記憶装置に記憶させて、これを表示部7に表示させることで、検索や絞り込みなどを行わずともトラブルシューティングに無関係なイベントに埋もれてしまう事態を回避できる。この場合、デバイス値については運転記録データとしてすべて記録しつつ、イベントについては、PLC1の動作状態又はPLC1により制御されるモータ等の被制御装置の動作状態を変更する特定イベントのみを記録している。これにより、選別した特定イベントのみをイベント表示欄1400に選択的に表示させることが可能となる。また特定イベントを、別途記録されたデバイス値と同期させることで、トラブル解析に有益となる。さらに選択的に表示される特定イベントは、優先順位付けしてもよい。
(特定イベント)
Alternatively, instead of recording all events, only specific events selected from among the events may be recorded in the PLC storage device 32. For example, the recording setting unit 12 can be configured to record only specific events in the PLC storage device 32. As a result, by storing only specific events useful for troubleshooting in the storage device and displaying them on the display unit 7, it is possible to prevent events from being buried in events unrelated to troubleshooting without performing a search or narrowing down. It can be avoided. In this case, while all device values are recorded as driving record data, only specific events that change the operating state of the PLC 1 or the operating state of a controlled device such as a motor controlled by the PLC 1 are recorded. . This makes it possible to selectively display only the selected specific events in the event display column 1400. Also, by synchronizing specific events with separately recorded device values, it is useful for trouble analysis. Additionally, specific events that are selectively displayed may be prioritized.
(Specific event)

表示部7に表示させる特定イベントには、PLC1のユーザープログラム及び各ユニットのユニット構成情報を含むプロジェクトデータの書き換え、被制御装置の電源のON/OFF、プログラマブルロジックコントローラの設定を行う設定モード又はプログラマブルロジックコントローラを実行させる運転モードのモード切替、各種履歴のクリア、記憶装置の挿抜、他の機器と通信を行うイーサネットケーブルの挿抜、PLCシステムに接続される表示器HMIから要求されるデバイス書換信号、あるいはPLCシステムに接続されるモーションユニットのモーションエラー等が挙げられる。例えばモード切替は、PLC1の設定時の動作モードであるPROGRAMモードと、実運用時のRUNモードの切り替えを行ったタイミングを示している。また表示器HMIからのデバイス書換信号は、トラブル発生時に、予め定められた復旧手順に沿って操作したか否かを確認したい場合に、有用となる。
(イベントログの記録動作)
Specific events to be displayed on the display unit 7 include rewriting of project data including the user program of the PLC 1 and unit configuration information of each unit, power ON/OFF of a controlled device, and setting mode or programmable logic controller setting. Switching the operating mode that runs the logic controller, clearing various history, inserting and removing storage devices, inserting and removing Ethernet cables that communicate with other devices, device rewriting signals requested from the display HMI connected to the PLC system, Another example is a motion error in a motion unit connected to the PLC system. For example, mode switching indicates the timing of switching between the PROGRAM mode, which is the operating mode when the PLC 1 is set, and the RUN mode during actual operation. Further, the device rewrite signal from the display HMI is useful when it is desired to confirm whether or not the operation has been performed in accordance with a predetermined recovery procedure when a trouble occurs.
(Event log recording operation)

ここで、イベントログの記録動作を、プログラマブルロジックコントローラシステムの機能ブロック図である図37に基づいて説明する。この図に示すプログラマブルロジックコントローラシステムは、CPUユニット3と拡張ユニット4を備える。
(CPUユニット3)
Here, the event log recording operation will be explained based on FIG. 37, which is a functional block diagram of the programmable logic controller system. The programmable logic controller system shown in this figure includes a CPU unit 3 and an expansion unit 4.
(CPU unit 3)

CPUユニット3は、PLC側CPU31と、PLC側時刻管理部83と、イベント管理部76と、イベントログメモリ部75と、ログメモリ部73Bと、デバイスメモリ部34Bを備える。PLC側CPU31は、ユーザープログラムの実行や拡張ユニット4とのデータ交換、データ収集処理等を行う。
(PLC側時刻管理部83)
The CPU unit 3 includes a PLC-side CPU 31, a PLC-side time management section 83, an event management section 76, an event log memory section 75, a log memory section 73B, and a device memory section 34B. The PLC side CPU 31 executes user programs, exchanges data with the expansion unit 4, and performs data collection processing.
(PLC side time management section 83)

PLC側時刻管理部83は、イベントやログデータの記録時の時刻を管理するための部材である。
(デバイスメモリ部34B)
The PLC-side time management unit 83 is a member for managing the time at which events and log data are recorded.
(Device memory section 34B)

デバイスメモリ部34Bは、プログラムや各機能で使用する値が格納されているデバイスが配置されているメモリである。デバイスメモリ部34Bは、通信からのデバイス書換に関してもイベントとして記録可能である。検知はPLC側CPU31で行う。
(イベント管理部76)
The device memory section 34B is a memory in which devices storing values used in programs and various functions are arranged. The device memory unit 34B can also record device rewriting from communication as an event. Detection is performed by the PLC side CPU 31.
(Event management department 76)

イベント管理部76は、発生したイベントをイベントログメモリ部75に記録する。このイベント管理部76は、PLC1のスキャン動作とは非同期に、PLC側CPU31から発行されたイベントを受け取り、イベントログに保存する。すなわちPLC1のEND処理の繰り返し周期とは独立して、任意のタイミングでイベントログの記録を行うことができる。またイベント管理部76は、複数のイベントが同時に発生した場合の調停や、イベントログメモリ部75のメモリ容量がフルになった場合に古いデータから順次消去する制御等も行う。
(イベントログメモリ部75)
The event management unit 76 records the generated event in the event log memory unit 75. This event management section 76 receives an event issued from the PLC side CPU 31 asynchronously with the scan operation of the PLC 1, and stores it in an event log. That is, the event log can be recorded at any timing, independent of the repetition cycle of the END process of the PLC1. The event management section 76 also performs arbitration when a plurality of events occur at the same time, and control to sequentially erase data starting from the oldest data when the memory capacity of the event log memory section 75 becomes full.
(Event log memory section 75)

イベントログメモリ部75は、発生したイベントを格納するメモリである。イベントログメモリ部75には、第二時刻データと共にイベントが格納されている。
(ログメモリ部73B)
The event log memory section 75 is a memory that stores events that have occurred. The event log memory section 75 stores events together with second time data.
(Log memory section 73B)

ログメモリ部73Bは、収集したデータを格納するメモリである。これらイベントログメモリ部75やログメモリ部73Bは、共通のμsオーダの時刻データを有しており、表示時にスキャンレベルで連動させることが可能である。このためログメモリ部73Bは、スキャン動作と同期して、スキャン動作の一部として収集したデータを記録する。またログデータの記録時には、第一時刻データと共に記録する。
(拡張ユニット4)
The log memory unit 73B is a memory that stores collected data. These event log memory section 75 and log memory section 73B have common time data on the μs order, and can be linked at the scan level when displayed. Therefore, the log memory unit 73B records data collected as part of the scan operation in synchronization with the scan operation. Furthermore, when recording log data, it is recorded together with the first time data.
(Expansion unit 4)

拡張ユニット4は、カメラ部98やモーションユニットなどの被制御装置を接続する、一以上のユニットである。各拡張ユニット4は、バッファメモリ部77と、機能実行部96を備える。バッファメモリ部77は、拡張ユニット4の機能を制御するための値やモニタ値が格納されているメモリである。機能実行部96は、拡張ユニット4の機能を実行している。また機能実行部96は、拡張バス-CPUユニット制御部と情報を伝達する。例えばPLC側CPU31からの要求を受けて、又は自動的に動作して、状態や結果をバッファメモリ部77に格納する。一例として、モーション系の拡張ユニットの場合は、ワークが装置のリミットに達した等モーション系のエラーが発生した場合、それを機能実行部96が検出する。また、拡張ユニット4側からイベントを発行することも可能である。
(イベントログ記録動作のフローチャート(CPUユニット3で発生するイベントの場合))
The expansion unit 4 is one or more units to which controlled devices such as the camera section 98 and motion unit are connected. Each expansion unit 4 includes a buffer memory section 77 and a function execution section 96. The buffer memory section 77 is a memory in which values and monitor values for controlling the functions of the expansion unit 4 are stored. The function execution unit 96 executes the functions of the expansion unit 4. The function execution unit 96 also communicates information with the expansion bus-CPU unit control unit. For example, upon receiving a request from the PLC side CPU 31 or automatically operating, the status and results are stored in the buffer memory section 77. As an example, in the case of a motion-related expansion unit, if a motion-related error occurs, such as when the workpiece reaches the limit of the device, the function execution unit 96 detects it. It is also possible to issue an event from the expansion unit 4 side.
(Flowchart of event log recording operation (for events occurring in CPU unit 3))

図37のプログラマブルロジックコントローラシステムにおいて、イベントログを記録する動作は、CPUユニット3側で発生するイベントに対して行うことも、拡張ユニット4側で発生するイベントに対して行うこともできる。 In the programmable logic controller system of FIG. 37, the operation of recording an event log can be performed for events occurring on the CPU unit 3 side or for events occurring on the expansion unit 4 side.

次に、CPUユニット3で発生するイベントを記録する動作を、図38のフローチャートに基づいて説明する。まずステップS3801において、CPUユニット3のPLC側CPU31がイベントを検出する。次にステップS3802において、イベント管理部76が、CPUユニット3のPLC側CPU31からイベントを受け取る。そしてステップS3803において、イベントログメモリ部75の残容量を確認する。残容量がない場合は、ステップS3804に進み、古いイベントをイベントログメモリ部75から削除する。一方、残容量がある場合はステップS3805に進み、μsオーダの時刻データを取得して、イベントログメモリ部75にイベントを格納する。 Next, the operation of recording events occurring in the CPU unit 3 will be explained based on the flowchart of FIG. 38. First, in step S3801, the PLC side CPU 31 of the CPU unit 3 detects an event. Next, in step S3802, the event management section 76 receives an event from the PLC side CPU 31 of the CPU unit 3. Then, in step S3803, the remaining capacity of the event log memory unit 75 is confirmed. If there is no remaining capacity, the process advances to step S3804, and old events are deleted from the event log memory unit 75. On the other hand, if there is remaining capacity, the process advances to step S3805, where time data on the μs order is acquired and the event is stored in the event log memory unit 75.

次に、拡張ユニット4で発生するイベントを記録する動作を、図39のフローチャートに基づいて説明する。まずステップS3901において、拡張ユニット4の機能実行部96がイベントを検出する。次にステップS3902において、拡張ユニット4の機能実行部96が、イベントを入れたメッセージ通信を、拡張バスに送信する。さらにステップS3903において、CPUユニット3のPLC側CPU31が割り込み処理を用いて、イベントを入れたメッセージ通信を、拡張バスから受信する。次いでステップS3904において、CPUユニット3のPLC側CPU31が、メッセージ通信からイベントを取り出す。さらにステップS3905において、イベント管理部76が、CPUユニット3のPLC側CPU31からイベントを受け取る。そしてステップS3906において、イベントログメモリ部75の残容量を確認する。ここで残容量がない場合はステップS3907において、古いイベントをイベントログメモリ部75から削除した上で、ステップS3908に進む。一方、ステップS3906において残容量がある場合は、ステップS3908に進んで、μsオーダの時刻データを取得して、イベントログにイベントを格納する。 Next, the operation of recording events occurring in the expansion unit 4 will be explained based on the flowchart of FIG. 39. First, in step S3901, the function execution unit 96 of the expansion unit 4 detects an event. Next, in step S3902, the function execution unit 96 of the expansion unit 4 transmits the message communication containing the event to the expansion bus. Furthermore, in step S3903, the PLC side CPU 31 of the CPU unit 3 uses interrupt processing to receive message communication containing an event from the expansion bus. Next, in step S3904, the PLC side CPU 31 of the CPU unit 3 extracts the event from the message communication. Furthermore, in step S3905, the event management section 76 receives an event from the PLC side CPU 31 of the CPU unit 3. Then, in step S3906, the remaining capacity of the event log memory unit 75 is confirmed. If there is no remaining capacity, old events are deleted from the event log memory unit 75 in step S3907, and the process advances to step S3908. On the other hand, if there is remaining capacity in step S3906, the process advances to step S3908 to acquire time data in μs order and store the event in the event log.

次に、イベントログ表示時のフィルタ動作を、図40のフローチャートに基づいて説明する。まずステップS4001において、イベントログ全件をメモリに読み込む。次にステップS4002において、イベント表示時にフィルタしたい、イベントのグループをUIで選択する。さらにステップS4003において、イベントログから1件、イベントを取り出す。そしてステップS4004において、取り出したイベントが、UIで選択したイベントに該当している場合、表示用イベントログに格納する。さらにステップS4005において、イベントログメモリ部75にイベントが残っているか否かを判定し、残っている場合はステップS4003に戻って処理を繰り返す。一方、残っていない場合はステップS4006に進み、表示用イベントログをGUIに全件表示する。
(選択的に表示するイベントの例)
Next, the filtering operation when displaying the event log will be explained based on the flowchart of FIG. 40. First, in step S4001, all event logs are read into memory. Next, in step S4002, a group of events to be filtered when displaying events is selected using the UI. Furthermore, in step S4003, one event is extracted from the event log. In step S4004, if the extracted event corresponds to the event selected on the UI, it is stored in the display event log. Furthermore, in step S4005, it is determined whether or not there are any events left in the event log memory section 75. If any events remain, the process returns to step S4003 and repeats the process. On the other hand, if there are no event logs remaining, the process advances to step S4006, and all event logs for display are displayed on the GUI.
(Example of events to be selectively displayed)

選択的に表示するイベントの例を、以下に示す。まず重度エラーは、PLC1が運転を継続できない重篤なエラーである。重度エラーの検出主体は、CPUユニット3(制御部・周辺制御)である。 Examples of events that are selectively displayed are shown below. First, a severe error is a serious error that prevents the PLC 1 from continuing operation. The main body for detecting severe errors is the CPU unit 3 (control unit/peripheral control).

また軽度エラーは、PLC1が運転を継続できる軽微なエラーである。ただし軽度エラーは、トラブルの解決に繋がらない可能性もある。経度エラーの検出主体は、CPUユニット3(制御部・周辺制御)や拡張ユニット4である。 Moreover, a minor error is a minor error that allows the PLC 1 to continue operating. However, minor errors may not lead to a solution to the problem. The CPU unit 3 (control unit/peripheral control) and the expansion unit 4 are responsible for detecting longitude errors.

電源ON/OFFは、電源の投入と遮断についてのイベントである。トラブルの周辺で発生することがある。電源ON/OFFの検出主体は、CPUユニット3(周辺制御)である。 Power ON/OFF is an event related to power on and off. It may occur around trouble. The main body for detecting power ON/OFF is the CPU unit 3 (peripheral control).

アラームリレーは、ユーザが指定したアラーム履歴である。アラームリレーの検出主体は、CPUユニット3(PLC側CPU31)である。 Alarm relay is a user-specified alarm history. The main body that detects the alarm relay is the CPU unit 3 (PLC side CPU 31).

デバイス値変更は、通信によるデバイス値の書き換えである。装置によってはトラブルに関係なく発生するが、トラブルの起点となることもある。このデバイス値変更の検出主体は、CPUユニット3(PLC側CPU31)である。 Device value modification is rewriting of device values through communication. Depending on the device, this may occur regardless of the problem, but it may also be the starting point of the problem. The main body that detects this device value change is the CPU unit 3 (PLC side CPU 31).

運転記録保存は、運転記録データの保存トリガのタイミングや記録に関する。この運転記録データも、トラブル解析の起点となり得る。運転記録保存の検出主体は、CPUユニット3(PLC側CPU31)である。 Driving record storage relates to the timing of a storage trigger and recording of driving record data. This driving record data can also serve as a starting point for trouble analysis. The main body that detects the storage of driving records is the CPU unit 3 (PLC side CPU 31).

RUN/PROGRAMの切換は、PLC1の運転モードの切り替えに関する情報である。モード切換の際にトラブルが起きることもあるが、通常運用時にも普通に発生する。RUN/PROGRAMの切換の検出主体は、CPUユニット3(PLC側CPU31)である。 The RUN/PROGRAM switching is information related to switching the operation mode of the PLC1. Trouble may occur when switching modes, but it also occurs during normal operation. The main body that detects the RUN/PROGRAM switching is the CPU unit 3 (PLC side CPU 31).

プロジェクト変更は、例えばPLC1のプログラム変更がきっかけとなり、トラブルが発生することが多いため、トラブル解析に有益と考えられる。プロジェクト変更の検出主体は、CPUユニット3(PLC側CPU31)である。 Project changes are considered useful for trouble analysis because troubles often occur due to changes in the program of the PLC 1, for example. The main body that detects the project change is the CPU unit 3 (PLC side CPU 31).

履歴クリアも、トラブルを解決するための判断材料になる。特に、これがいつ消去されたかは重要な要素となり得る。履歴クリアの検出主体も、CPUユニット3(イベント管理部76)である。 Clearing the history can also be used as a basis for determining troubleshooting. In particular, when it was deleted can be an important factor. The CPU unit 3 (event management section 76) also detects the history clearing.

メモリカードは、その挿抜等がトラブル解決の鍵となることがある。その反面、装置の運用方法によってはトラブルが発生していなくても日々イベントが発生することもある。メモリカードの検出主体は、CPUユニット3(周辺制御)である。 Inserting and removing a memory card may be the key to solving problems. On the other hand, depending on how the device is operated, events may occur every day even when no trouble occurs. The main body for detecting the memory card is the CPU unit 3 (peripheral control).

カレンダタイマは、履歴データを元にトラブル解決の解析をするため、このカレンダタイマ値の変更を記録することが重要な場合があるため、候補に挙げられる。反面、時刻の自動調整をするような運営をしている場合は、定期的にイベントが発生する。カレンダタイマの検出主体は、CPUユニット3(周辺制御)である。 The calendar timer is a candidate because it may be important to record changes in the calendar timer value in order to analyze troubleshooting based on historical data. On the other hand, if you operate a system that automatically adjusts the time, events will occur periodically. The detection main body of the calendar timer is the CPU unit 3 (peripheral control).

イーサネット通信は、イーサネットのハードウェアレベルの接続イベントは、接触不良等の障害の予兆として発生することがあるため、候補に挙げられる。ただ、電源ON/OFFのタイミングでも日々発生する。イーサネット通信の検出主体は、CPUユニット3(周辺制御)や拡張ユニット4である。 Ethernet communication is a candidate because connection events at the Ethernet hardware level may occur as a sign of a failure such as a poor contact. However, it occurs every day even when the power is turned on and off. The main body that detects Ethernet communication is the CPU unit 3 (peripheral control) and the expansion unit 4.

シリアル通信は、シリアルのハードウェアレベルの接続が、接触不良等の障害の予兆として発生することがあるため、有益と考えられる。シリアル通信の検出主体は、拡張ユニット4である。 Serial communication is considered beneficial because serial hardware-level connections can be a sign of failure, such as poor contact. The main body that detects serial communication is the expansion unit 4.

イベントエラーは、イベントが大量に発生した場合のエラーである。イベントエラーの検出主体は、CPUユニット3(イベント管理部76)である。 An event error is an error that occurs when a large number of events occur. The main body that detects event errors is the CPU unit 3 (event management section 76).

このようなトラブルに対する考察に記述している通り、イベントの種類によってはマスクしたくなる場合もあるし、マスクせず表示したい場合もある。つまり、ユーザの装置の運用方法次第でマスクの必要性が変化する。そこで、ユーザにグループ毎に表示を選択させることを可能とした。 As described in the discussion on such problems, depending on the type of event, there are times when you want to mask it, and there are times when you want to display it without masking it. In other words, the necessity of a mask changes depending on how the user operates the device. Therefore, we made it possible for the user to select the display for each group.

イベントの選定に際しては、例えば図41に示すエラーイベント履歴フィルタ設定部1370で、グループ毎に個別に表示のフィルタリング設定を行うことができる。ここでは、表示される候補となるエラーやイベント中から、非表示とするエラーやイベントを選択する。この例では、画面左側に表示対象のイベントを表示一覧1371に、右側に非表示とするイベントを非表示一覧1372に、それぞれ列挙しており、イベント毎に自由に移動させることで表示か非表示かを選択できる。
(イベントとして記録しているが、敢えて表示しないイベントの例)
When selecting an event, display filtering settings can be made individually for each group, for example, in the error event history filter setting section 1370 shown in FIG. Here, you select an error or event to hide from among the displayed candidate errors or events. In this example, events to be displayed are listed on the left side of the screen in a display list 1371, and events to be hidden are listed on the right side in a hidden list 1372, and each event can be displayed or hidden by moving freely. You can choose which.
(Example of an event that is recorded as an event but not displayed)

次に、イベントとして記録しているが、敢えて表示していないイベントの例を説明する。これらは、ユーザに公開しても、ユーザでのトラブルの公開に直結しないイベントである。 Next, an example of an event that is recorded as an event but intentionally not displayed will be explained. These are events that, even if disclosed to the user, do not directly lead to disclosure of troubles by the user.

まず、PLC1上でのプログラムのコンパイルエラー発生時の詳細情報は、ユーザに公開しても、対処方法を示すことが難しいため表示しない。 First, detailed information when a program compilation error occurs on the PLC 1 is not displayed even if it is disclosed to the user because it is difficult to show how to deal with it.

ファームウェアアップデート情報は、ファームウェアの更新により記録フォーマットが変化する可能性があり、継続して記録を残せない可能性があるため、表示しない。 Firmware update information is not displayed because the recording format may change due to firmware updates and it may not be possible to continue recording.

自己テストの実施履歴は、ユーザに公開しても、対処方法を示すことが難しいため表示していない。
(敢えて記録していないイベントのリスト(優先度高))
The self-test implementation history is not displayed because it is difficult to show users how to deal with it even if it is made public.
(List of events that are intentionally not recorded (high priority))

次に、敢えて記録していないイベントの内で、優先度の高いものの例を以下に示す。まずユーザープログラムの組み方によっては、件数が多すぎて簡単にログが溢れるため、記録から除外しているものとして、TCP接続の交信開始/終了がある。これは通信毎に交信を切断するシステムの場合、1秒に複数回のオーダーでイベントが発生する可能性がある。 Next, examples of events with high priority among the events that are intentionally not recorded are shown below. First, depending on how the user program is configured, the number of events can easily overflow the log, so the start/end of TCP connection communication is excluded from the record. In the case of a system that disconnects communication after each communication, events may occur on the order of multiple times per second.

またFTP接続開始/切断は、データを1件収集する毎に、上位にファイルをアップデートするような使い方の場合、イベント件数が増加する。 Furthermore, when starting/disconnecting an FTP connection, the number of events will increase if the FTP connection is used in such a way that a file is updated to a higher level every time one piece of data is collected.

さらにフォルダ/ファイルの書込みは、データを1件収集する毎に、メモリカードに記録するような使い方の場合、イベント件数が増加する。 Furthermore, when writing to a folder/file, the number of events increases if data is recorded on a memory card each time data is collected.

次に、システムの運用時には発生する可能性が低く、トラブル解決に繋がらない可能性があるため、記録から除外するイベントの例を説明する。まず、リモート操作要求受付は、運用時ではなく、装置のプログラミング時や立ち上げ時やデバッグ時に使用する可能性が高い機能であるのため、記録から除外する。また、強制値リフレッシュのセット、強制値リフレッシュのリセット、強制値リフレッシュの全解除、強制値リフレッシュの解除等は、いずれも運用時ではなく、装置のデバッグ時やトラブル発生後の解析に使用する可能性が高い機能のため、記録から除外する。
(敢えて記録していないイベントの例(優先度低))
Next, we will explain examples of events that are excluded from recording because they are unlikely to occur during system operation and may not lead to troubleshooting. First, remote operation request reception is excluded from the record because it is a function that is likely to be used not during operation but during device programming, startup, and debugging. In addition, setting forced value refresh, resetting forced value refresh, canceling all forced value refresh, canceling forced value refresh, etc. can all be used not during operation, but when debugging the device or analyzing after a problem occurs. This function is highly sensitive, so it will be excluded from recording.
(Example of an event that is intentionally not recorded (low priority))

さらに敢えて記録していないイベントの内、優先度の低いものの例を、説明する。まず、レシピ実行操作は、システムの組み方次第では、ワーク1件毎にイベントが発生して簡単にログ容量が溢れる可能性がある。 Furthermore, an example of a low priority event that is intentionally not recorded will be explained. First, depending on how the system is set up, recipe execution operations can cause an event to occur for each work, easily overflowing the log capacity.

またDB接続サービス開始、DB接続サービス停止、DB接続サービス終了は、いずれも運用時に頻繁に発生するイベントになり、簡単にログ容量が溢れる可能性がある。 Furthermore, the start of the DB connection service, the stop of the DB connection service, and the end of the DB connection service are all events that occur frequently during operation, and the log capacity may easily overflow.

またユーザ認証有効/無効、ログオン成功、ログオン失敗、CPUユニットのバックアップ成功、CPUユニットのバックアップ失敗、CPUユニットのリストア成功、CPUユニットのリストア失敗等は、いずれも運用時ではなく、装置のプログラミング時や立ち上げ時やデバッグ時に使用する可能性が高い機能である。 In addition, user authentication enable/disable, logon success, logon failure, CPU unit backup success, CPU unit backup failure, CPU unit restore success, CPU unit restore failure, etc. all occur during device programming, not during operation. This is a function that is likely to be used when starting up or debugging.

ここで、デバイス表示制御部13とイベント表示制御部14で特定イベントを選択的に表示部7上に表示させる様子を、図42のPLC用エンジニアリングツール1380のGUI画面に基づいて説明する。この図に示すPLC用エンジニアリングツール1380は、プロジェクトデータ編集プログラム、あるいはプログラム表示モジュール321によって提供される表示UIを示している。このプロジェクトデータ編集プログラムは、モード選択部50Dでログ再生モード(リプレイモード)が選択されており、編集が禁止されたプロジェクトデータ再生プログラムとして機能する。なお、編集機能を有しないプロジェクトデータの再生のみを行うプロジェクトデータ再生プログラムも、PLC用エンジニアリングツールの一種に包含される。 Here, how the device display control section 13 and the event display control section 14 selectively display specific events on the display section 7 will be described based on the GUI screen of the PLC engineering tool 1380 in FIG. 42. The PLC engineering tool 1380 shown in this figure represents a project data editing program or a display UI provided by the program display module 321. This project data editing program has the log playback mode (replay mode) selected in the mode selection section 50D, and functions as a project data playback program in which editing is prohibited. Note that a project data reproducing program that only reproduces project data without an editing function is also included in a type of PLC engineering tool.

このプロジェクトデータ編集プログラムは、左側にプロジェクト表示領域420、中央にプログラム表示領域410、右側にイベント表示欄1400を、それぞれ設けている。またプログラム表示領域410は、上段にラダーモニタ欄1500を、下段に再生制御欄402を、それぞれ設けている。ラダーモニタ欄1500ではラダープログラム(ラダー図)を表示している。
(再生制御欄402)
This project data editing program has a project display area 420 on the left, a program display area 410 in the center, and an event display column 1400 on the right. Further, the program display area 410 has a ladder monitor field 1500 in the upper part and a playback control field 402 in the lower part. A ladder monitor column 1500 displays a ladder program (ladder diagram).
(Playback control column 402)

再生制御欄402では、イベント表示欄1400等で選択されたイベントを再生するための再生制御を行う。具体的には、図31の再生制御モジュール324の機能によって、選択されたイベントと対応する、記録済みのデバイス値と画像データを含む運転記録データをPLC側記憶装置32から読み込んで、再生させる。再生制御欄402は、図32等で説明したのと同様、時間軸を表すスライダ状の操作バー404dと、この操作バー404d上を移動可能な時刻指定カーソル404、速度指定部405、再生ボタン406、ワンステップ逆再生ボタン407、ワンステップ再生ボタン408等を備えている。 In the playback control field 402, playback control for playing back the event selected in the event display field 1400 or the like is performed. Specifically, the function of the reproduction control module 324 in FIG. 31 reads driving record data including recorded device values and image data corresponding to the selected event from the PLC storage device 32 and reproduces it. The playback control field 402 includes a slider-like operation bar 404d representing a time axis, a time designation cursor 404 that can be moved on the operation bar 404d, a speed designation section 405, and a playback button 406, as described in FIG. 32 and the like. , a one-step reverse playback button 407, a one-step playback button 408, and the like.

再生ボタン408を押下することで、過去のイベントの状態を再生できる。また操作バー404d上の時刻指定カーソル404を操作することにより、どの時刻の状態を再生するのかを選択できる。さらに、デバイス表示制御部13とイベント表示制御部14は連動しており、いずれかで選択した項目に対応して、各部の表示が連動される。例えば再生制御欄402で操作バー404d上をクリックする等して再生時刻を指示すると、指定した再生時刻のデバイス値が、ラダーモニタ欄1500のラダー図上に表示される。同様にイベント表示欄1400において、操作バー404d上で指定された再生時刻に発生したイベントが反転表示される。一方で、イベント表示欄1400において、一覧表示されたイベントのいずれかをクリックすることにより、操作バー404d上の再生時間が連動して移動する。このように、ESM同士の連動を行うことにより、トラブルの解析が容易になる。 By pressing the playback button 408, the state of past events can be played back. Furthermore, by operating the time designation cursor 404 on the operation bar 404d, it is possible to select which time state to reproduce. Further, the device display control section 13 and the event display control section 14 are linked, and the display of each part is linked depending on the item selected by either of them. For example, when a playback time is specified by clicking on the operation bar 404d in the playback control field 402, the device value at the specified playback time is displayed on the ladder diagram in the ladder monitor field 1500. Similarly, in the event display column 1400, events that occurred at the playback time specified on the operation bar 404d are displayed in reverse video. On the other hand, by clicking on any of the events listed in the event display column 1400, the playback time on the operation bar 404d moves in conjunction. In this way, by interlocking ESMs, trouble analysis becomes easier.

なおイベント表示欄1400に表示されるイベントが、収集された運転記録データ内で発生したイベントか否かを、判別できるようにしてもよい。例えば運転記録データ内に発生したイベントを着色して表示させることで、ユーザは視覚的に判別できる。 Note that it may be possible to determine whether the event displayed in the event display field 1400 is an event that occurred within the collected driving record data. For example, by coloring and displaying events that occur in driving record data, the user can visually distinguish them.

特定イベントをイベント表示欄1400に表示させる例を図43に示す。ここでは、イベント表示欄1400において、イーサネットリンクアップとイーサネットリンクダウンが一覧表示されている。イーサネットリンクアップは、イーサネットの接続が開始したことを表す。このイーサネットリンクアップは、例えばイーサネットケーブルが接続された場合、ハブの電源がONされた場合等に発生する。またイーサネットリンクダウンは、イーサネットの接続が終了したことを表す。例えばイーサネットケーブルが切断された場合や、ハブの電源がOFFになった場合等に発生する。図43の例では、短期間にイーサネットリンクアップとイーサネットリンクダウンが繰り返されており、イーサネットの接続が不安定になり、その結果としてトラブルが発生して保存トリガがONになったものと想定される。 FIG. 43 shows an example of displaying a specific event in the event display column 1400. Here, in the event display column 1400, Ethernet link up and Ethernet link down are displayed as a list. Ethernet link up indicates that an Ethernet connection has started. This Ethernet link-up occurs, for example, when an Ethernet cable is connected, when a hub is powered on, and the like. Further, "Ethernet link down" indicates that the Ethernet connection has been terminated. For example, this occurs when the Ethernet cable is disconnected or when the power to the hub is turned off. In the example in Figure 43, the Ethernet link up and down are repeated in a short period of time, making the Ethernet connection unstable, and as a result, it is assumed that a trouble has occurred and the save trigger is turned ON. Ru.

なお図43において、イベント表示欄1400において表示されるイベントの内、着色される等ハイライトされたイベント1402は、デバイス表示制御部13の記録時間に発生したイベントであることを示す。またイベント表示欄1400において反転表示されたイベント1401は、現在選択中の再生表示に係るイベントである。イベント表示欄1400において選択された再生時刻に対応して、再生制御欄402における時刻指定カーソル404の位置が移動される。同様に、ラダーモニタ欄1500において対応するラダー図にデバイス値が表示される。また、再生制御欄402における時刻指定カーソル404を移動させると、これに応じてイベント表示欄1400やラダーモニタ欄1500の表示も連動して、対応する再生時刻の表示に更新される。 Note that in FIG. 43, among the events displayed in the event display field 1400, an event 1402 highlighted, such as colored, indicates that the event occurred during the recording time of the device display control section 13. Furthermore, an event 1401 highlighted in the event display field 1400 is an event related to the currently selected playback display. The position of the time designation cursor 404 in the playback control field 402 is moved in accordance with the playback time selected in the event display field 1400. Similarly, device values are displayed in the corresponding ladder diagram in the ladder monitor column 1500. Furthermore, when the time designation cursor 404 in the playback control field 402 is moved, the displays in the event display field 1400 and the ladder monitor field 1500 are updated accordingly to display the corresponding playback time.

また再生制御欄402における操作バー404dは、保存トリガを発生させるイベント(保存トリガ発生イベント)の発生した時刻に保存トリガバー404eを表示させてもよい。保存トリガバー404eは、赤色等で示すことで視認し易くしている。なお図43の例では、イベント表示欄1400においてトリガ発生イベントが選択されているので、操作バー404dにおいて、灰色の時刻指定カーソル404と赤色のトリガ発生イベントが重なって表示されている。このため時刻指定カーソル404の指定する再生時刻を示す時刻表示領域409においては、イベント表示欄1400で選択され反転表示されている第二時刻データと同じ2018/11/20 11:20:46が表示されている。 The operation bar 404d in the playback control field 402 may display a save trigger bar 404e at the time when an event that causes a save trigger (save trigger occurrence event) occurs. The storage trigger bar 404e is shown in red or the like to make it easier to see. In the example of FIG. 43, since the trigger event is selected in the event display field 1400, the gray time designation cursor 404 and the red trigger event are displayed overlappingly on the operation bar 404d. Therefore, in the time display area 409 indicating the playback time specified by the time designation cursor 404, 2018/11/20 11:20:46 is displayed, which is the same as the second time data selected and highlighted in the event display field 1400. has been done.

さらに再生制御欄402において、時刻表示領域409と並べて、総スキャン回数及び表示中のスキャン回数を示すスキャン回数表示領域409bを設けてもよい。図43の例では、全部で360629スキャン分のデバイス値セットが運転記録データとして記憶されていることが判る。また時刻表示領域409には、現在時刻指定カーソル404で現在指定されている再生時刻(11:20:46)が表示されているところ、この再生時刻では、193526スキャン目のデバイス値セットがラダーモニタ表示欄に表示されていることが、スキャン回数表示領域409bに示されている。 Further, in the playback control column 402, a scan number display area 409b may be provided in parallel with the time display area 409, indicating the total number of scans and the number of scans currently being displayed. In the example of FIG. 43, it can be seen that device value sets for a total of 360,629 scans are stored as driving record data. Also, in the time display area 409, the playback time (11:20:46) currently specified by the current time designation cursor 404 is displayed, and at this playback time, the device value set of the 193526th scan is displayed on the ladder monitor. What is displayed in the display field is shown in the scan number display area 409b.

図43の状態から、時刻指定カーソル404を、右側、すなわち図43より時間を進めた時刻に移動させた状態を、図44に示す。ここでは、操作バー404dの保存トリガバー404eよりも時間的に遅い位置に、時刻指定カーソル404を位置させている。すなわち、時刻指定カーソル404を右に移動させるほど時刻が進み、左に行くほど時刻が戻る。 FIG. 44 shows a state in which the time designation cursor 404 is moved to the right side, that is, to a time advanced from FIG. 43 from the state shown in FIG. Here, the time designation cursor 404 is positioned later than the save trigger bar 404e on the operation bar 404d. That is, as the time designation cursor 404 is moved to the right, the time advances, and as it moves to the left, the time advances.

また操作バー404dは、PLC側記憶装置32に保存された運転記録データの記録時間に対応させている。すなわち、操作バー404dの左端が、運転記録データの記録開始時、右端が運転記録データの記録終了時となる。そして上述の通り、運転記録データの記録を行う保存トリガ発生イベントの発生した時刻に保存トリガバー404eが操作バー404d上に表示されている。すなわち操作バー404dにおいて、保存トリガバー404eの左側が、保存トリガより前の収集時間Ta、保存トリガバー404eの右側が、保存トリガよりも後の収集時間Tbを示している。 Further, the operation bar 404d corresponds to the recording time of the driving record data stored in the PLC side storage device 32. That is, the left end of the operation bar 404d is the time when recording of driving record data starts, and the right end is when recording of driving record data is finished. As described above, the save trigger bar 404e is displayed on the operation bar 404d at the time when the save trigger event for recording driving record data occurs. That is, in the operation bar 404d, the left side of the save trigger bar 404e shows the collection time Ta before the save trigger, and the right side of the save trigger bar 404e shows the collection time Tb after the save trigger.

図44の例では、イベント表示欄1400で選択されているイベントである「イーサネットリンクダウン」のイベントの第二時刻データは、2018/11/20の11:20:49であるため、これに連動して再生制御欄402の時刻表示領域409に表示される時刻も、この時刻と一致されて表示されている。なお、図44のラダーモニタ欄では、一部の入力接点及び一部の出力要素において、色塗り表示がなされている。これは、時刻指定カーソル404が図44に示す位置にあるときの時刻において、それらの入力接点及び出力要素がONになっていることを示している。 In the example of FIG. 44, the second time data of the event "Ethernet link down", which is the event selected in the event display field 1400, is 11:20:49 on 2018/11/20, so this is linked. The time displayed in the time display area 409 of the playback control field 402 is also displayed to match this time. Note that in the ladder monitor field of FIG. 44, some input contacts and some output elements are displayed in color. This indicates that these input contacts and output elements are ON at the time when the time designation cursor 404 is at the position shown in FIG.

さらに、イベント表示欄1400において、ハイライトされたイベント1402以外のイベントを選択した例を、図45に示す。イベント表示欄1400においてハイライトされていないイベントは、デバイス値などの運転記録データが保存されていないため、保存期間外となり、対応する運転記録データが存在しない。この例では、イベント表示欄1400において2018/11/20 10:38:08が選択されているが、この時刻の運転記録データが保存されていないため、再生制御欄402においては、時刻指定カーソル404は、操作バー404dの下限である左端に貼り付いた状態となる。すなわち操作バー404dでは保存期間よりも以前や以後の時刻を表現できないため、保存期間外の時間がイベント表示欄1400で選択された場合は、連動表示ができないため、操作バー404dで対応する最も近い値に移動される。具体的には、保存期間よりも古い時刻の場合は操作バー404dの左端に、保存期間よりも新しい時刻の場合は操作バー404dの右端に、時刻指定カーソル404が位置される。 Further, FIG. 45 shows an example in which an event other than the highlighted event 1402 is selected in the event display field 1400. For events that are not highlighted in the event display column 1400, driving record data such as device values are not stored, so the storage period is exceeded, and corresponding driving record data does not exist. In this example, 2018/11/20 10:38:08 is selected in the event display field 1400, but since driving record data for this time is not saved, the time designation cursor 404 is selected in the playback control field 402. is stuck to the left end, which is the lower limit of the operation bar 404d. In other words, since the operation bar 404d cannot express times before or after the storage period, if a time outside the storage period is selected in the event display field 1400, linked display cannot be performed, so the operation bar 404d displays the nearest corresponding time. moved to value. Specifically, the time designation cursor 404 is positioned at the left end of the operation bar 404d if the time is older than the retention period, and at the right end of the operation bar 404d if the time is newer than the retention period.

また時刻表示領域409には、操作バー404dの右端に対応する時刻2018/11/20 11:20:20が表示されており、保存トリガバー404eが示す保存トリガによって保存された運転記録データは、2018/11/20 11:20:20以降となる。またスキャン回数表示領域409bは、最も古いスキャン回数である1回目を指している。 In addition, the time display area 409 displays the time 2018/11/20 11:20:20, which corresponds to the right end of the operation bar 404d, and the driving record data saved by the save trigger indicated by the save trigger bar 404e is 2018/11/20 11:20:20. /11/20 11:20:20 onwards. Further, the scan count display area 409b indicates the first scan count, which is the oldest scan count.

なお、イベント表示欄1400においては、2018/11/20 11:20:38以降のイベントがハイライト表示されている。これは、保存期間の内、2018/11/20 11:20:20~11:20:37までは特に何のイベントもなかったためであり、この間に記録されたイベントが存在しない以上、イベント表示欄1400でも表示がない状態となっている。また、図45では、図44と比較して、色塗り表示された入力接点及び出力要素が増加している。これは、時刻指定カーソル404が図45に示す位置にあるときの時刻では、図44よりもONになった入力接点及び出力要素が増えていることを示している。
(カメラモニタ欄1600)
Note that in the event display column 1400, events after 2018/11/20 11:20:38 are highlighted. This is because there was no particular event from 2018/11/20 11:20:20 to 11:20:37 within the retention period, and since there are no events recorded during this period, the event display field 1400 is also in a state where there is no display. Furthermore, in FIG. 45, the number of input contacts and output elements displayed in color is increased compared to FIG. 44. This indicates that at the time when the time designation cursor 404 is at the position shown in FIG. 45, the number of input contacts and output elements that are turned ON is greater than in FIG. 44.
(Camera monitor column 1600)

以上の例では、イベント表示欄1400と再生制御欄402とラダーモニタ欄1500の表示を同期させる例を説明したが、これに加えて、カメラ部98で撮像した画像データも同様に、同期させて表示させることができる。このような例を図46のGUIに示す。この例では、画面右上に、画像データを表示するカメラモニタ欄1600を設けている。この例でも同様に、イベント表示欄1400で任意のイベントを選択すると、この選択されたイベントの時刻と対応する時刻に撮像された画像データが表示され、再生制御欄402における時刻指定カーソル404も、対応する再生時刻に移動される。また、再生ボタン406を押下すると、カメラモニタ欄1600において動画が再生されると共に、時間の経過に応じて対応するイベントにイベント表示欄1400の選択が切り替わり、またラダーモニタ欄1500におけるラダー図のデバイス値も更新されていく。これによって、トラブル発生時の動作を動的に再現できるので、トラブルの原因究明に有効となり得る。 In the above example, the display of the event display field 1400, the playback control field 402, and the ladder monitor field 1500 is synchronized, but in addition to this, the image data captured by the camera unit 98 is also synchronized. It can be displayed. Such an example is shown in the GUI of FIG. In this example, a camera monitor column 1600 for displaying image data is provided at the upper right of the screen. Similarly in this example, when an arbitrary event is selected in the event display field 1400, image data captured at a time corresponding to the time of the selected event is displayed, and the time designation cursor 404 in the playback control field 402 is also will be moved to the corresponding playback time. Further, when the play button 406 is pressed, the video is played in the camera monitor field 1600, and the selection in the event display field 1400 switches to the corresponding event as time passes, and the device in the ladder diagram in the ladder monitor field 1500 is changed. The values will also be updated. This makes it possible to dynamically reproduce the behavior when a trouble occurs, which can be effective in investigating the cause of the trouble.

本発明に係るプログラマブルロジックコントローラ用プログラム作成支援装置は、FAにおけるPLCシステムのトラブルシューティングに好適に利用できる。 The program creation support device for a programmable logic controller according to the present invention can be suitably used for troubleshooting a PLC system in an FA.

1…PLC
2…PC
3…CPUユニット
4、4a、4b…拡張ユニット
4c…カメラ入力拡張ユニット
4d…モーションユニット
4e…通信ユニット
5…PLC側表示部
6…PLC側操作部
7…表示部
8…PC側操作部
9…通信ケーブル
10、10a、10b…フィールドデバイス
11…PC側メモリ部
12…記録設定部
13…デバイス表示制御部
14…イベント表示制御部
15…同期ソフトウエアモジュール
16…選択受付部
21、21B…PC側CPU
22…PC側記憶装置
22b…運転記録データ保持部
23…PC側通信部
31…PLC側CPU
32…PLC側記憶装置
33…PLC側通信部
34…デバイス部;34a…CPUユニットデバイス部;34b…拡張ユニットデバイス部
34B…デバイスメモリ部
35…プロジェクト記憶部
36…保存メモリ;36A…メモリカード
36B…運転記録データ記憶部
37…内部メモリ
38…バスマスタ
39…記録制御部
41…CPU
42…メモリ
45…保存条件設定部
46…記録バッファ設定部
47…保存トリガ設定部
50…プロジェクト作成部
50B…プロジェクト編集部
50B1…TPJ解釈部;50B2…kpr解釈部
50C…保存制御部
50D…モード選択部;50D1…モード選択欄
51、51B…ログ設定部
52…部品指定部
53…デバイス抽出部
54…追加部
55…削除部
56…マージ部
57…特定部
58…手動設定部
59…推定部
60…機能指定部
61…ログ表示制御部
62…機能設定部
63…プログラム作成部
71…プロジェクトデータ
72…ログ設定データ
73…ログデータ
73B…ログメモリ部
74…ログデータ保存部
75…イベントログメモリ部
76…イベント管理部
77…バッファメモリ部
80…実行部
80a…ラダー実行エンジン
80b…ユニット制御部
81…記録部
82…検知部
83…時刻管理部
84…出力部
90…ユニット間バス
91a…一時記録部
93…保存部
96…機能実行部
98…カメラ部
101…ポインタ
150…ユニット設定UI
151…名称欄
152…入力領域欄
153…出力領域欄
154…占有領域欄
201…ユニット間通信
202…プログラム実行
204…END処理
311…編集部
312…付加部
313…演算部
314…デバッグ部
321…プログラム表示モジュール
322…波形表示モジュール
323…画像表示モジュール
324…再生制御モジュール
325…ユニット表示モジュール
330a…時刻UI
331a…表示時刻制御部
332…プログラム表示部
333a…デバイス値取得部
334…照合部
335…警告部
341…デバイス値提供部
342…時刻デバイス
343…再生制御部
344…ログデータ取得部
345…ログデバイス
400…表示UI
401a…アイコン
401b…アイコン
402…再生制御欄
403…表示領域
404、404a…時刻指定カーソル
404d…操作バー
404e…保存トリガバー
405…速度指定部
406…再生ボタン
407…ワンステップ逆再生ボタン
408…ワンステップ再生ボタン
409…時刻表示領域
409b…スキャン回数表示領域
410…プログラム表示領域
420…プロジェクト表示領域
430…カメラモニタ
440…ユニットモニタ
450…ラダーモニタ
514…プログラム実行部
1000、2000…プログラマブルロジックコントローラシステム
1200…プログラム作成支援装置
1300…ユーザープログラム作成支援プログラム
1310…プログラム編集画面
1312…デバイス値入力欄
1314…「上書」ボタン
1320…ポイントパラメータ編集欄
1322…速度指定欄
1330…ファイルメニュー
1332…「プロジェクトを別名保存」
1334…「プロジェクトを上書き保存」
1340…「プロジェクトの別名保存」ダイヤログ画面
1336…「プロジェクト-プロジェクトの照合」
1350…比較表示画面
1370…エラーイベント履歴フィルタ設定部
1371…表示一覧
1372…非表示一覧
1400…イベント表示欄
1401…反転表示されたイベント
1402…ハイライトされたイベント
1500…ラダーモニタ欄
1600…カメラモニタ欄
Ld…ラダー図
T…スキャンタイム
Ta…収集時間
Tb…収集時間
WK…対象物
1...PLC
2...PC
3...CPU units 4, 4a, 4b...Extension unit 4c...Camera input extension unit 4d...Motion unit 4e...Communication unit 5...PLC side display section 6...PLC side operation section 7...Display section 8...PC side operation section 9... Communication cables 10, 10a, 10b...Field device 11...PC side memory section 12...Record setting section 13...Device display control section 14...Event display control section 15...Synchronization software module 16...Selection reception section 21, 21B...PC side CPU
22...PC side storage device 22b...driving record data holding section 23...PC side communication section 31...PLC side CPU
32... PLC side storage device 33... PLC side communication section 34... device section; 34a... CPU unit device section; 34b... expansion unit device section 34B... device memory section 35... project storage section 36... storage memory; 36A... memory card 36B ...Driving record data storage unit 37...Internal memory 38...Bus master 39...Record control unit 41...CPU
42...Memory 45...Save condition setting unit 46...Record buffer setting unit 47...Save trigger setting unit 50...Project creation unit 50B...Project editing unit 50B1...TPJ interpretation unit; 50B2...kpr interpretation unit 50C...Save control unit 50D...Mode Selection section; 50D1...Mode selection field 51, 51B...Log setting section 52...Component specification section 53...Device extraction section 54...Addition section 55...Deletion section 56...Merge section 57...Identification section 58...Manual setting section 59...Estimation section 60...Function specification section 61...Log display control section 62...Function setting section 63...Program creation section 71...Project data 72...Log setting data 73...Log data 73B...Log memory section 74...Log data storage section 75...Event log memory Unit 76...Event management unit 77...Buffer memory unit 80...Execution unit 80a...Ladder execution engine 80b...Unit control unit 81...Recording unit 82...Detection unit 83...Time management unit 84...Output unit 90...Inter-unit bus 91a...Temporary Recording section 93...Storage section 96...Function execution section 98...Camera section 101...Pointer 150...Unit setting UI
151...Name column 152...Input area column 153...Output area column 154...Occupied area column 201...Inter-unit communication 202...Program execution 204...END processing 311...Editing section 312...Adding section 313...Calculating section 314...Debug section 321... Program display module 322... Waveform display module 323... Image display module 324... Playback control module 325... Unit display module 330a... Time UI
331a...Display time control section 332...Program display section 333a...Device value acquisition section 334...Verification section 335...Warning section 341...Device value provision section 342...Time device 343...Reproduction control section 344...Log data acquisition section 345...Log device 400...Display UI
401a...Icon 401b...Icon 402...Playback control field 403...Display area 404, 404a...Time specification cursor 404d...Operation bar 404e...Save trigger bar 405...Speed specification section 406...Playback button 407...One step reverse playback button 408...One step Play button 409...Time display area 409b...Scan count display area 410...Program display area 420...Project display area 430...Camera monitor 440...Unit monitor 450...Ladder monitor 514...Program execution unit 1000, 2000...Programmable logic controller system 1200... Program creation support device 1300...User program creation support program 1310...Program editing screen 1312...Device value input field 1314..."Overwrite" button 1320...Point parameter editing field 1322...Speed specification field 1330...File menu 1332..."Project by another name"keep"
1334..."Saveproject"
1340..."Save project under another name" dialog screen 1336..."Project - project matching"
1350... Comparison display screen 1370... Error event history filter setting section 1371... Display list 1372... Hidden list 1400... Event display column 1401... Highlighted event 1402... Highlighted event 1500... Ladder monitor column 1600... Camera monitor Column Ld...Ladder diagram T...Scan time Ta...Collection time Tb...Collection time WK...Object

本発明の第1の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、カメラ部が接続されるユニットを含む一以上のユニットで構成されたプログラマブルロジックコントローラであり、ユーザープログラムを繰り返し実行するプログラム実行部、該プログラム実行部によって参照される記憶領域であるデバイスを有するデバイス部、該デバイス部に記憶されているデバイス値を現在時刻と共にログデータとして時系列に記録すると共に、前記プログラマブルロジックコントローラ又は該プログラマブルロジックコントローラにより制御される被制御装置にて発生した複数のイベントを発生時刻と共にイベントデータとして時系列に記録する一時記録部、及び運転時において所定の保存条件が満たされると該一時記録部に記録されているログデータ及びイベントデータを保存メモリに保存すると共に、前記カメラ部で時系列に撮像された複数の画像データを該保存メモリに保存する保存部を備える前記プログラマブルロジックコントローラにおいて実行される、グラフィカルプログラミング言語で記述される前記ユーザープログラムの作成を支援するためのプログラム作成支援装置であって、前記プログラマブルロジックコントローラの運転時に前記保存メモリに保存されたログデータ及びイベントデータ並びに前記複数の画像データを、運転記録データとして記憶する運転記録データ保持部と、前記イベントを一覧表示させるイベント表示欄、前記ユーザープログラムであるラダー図を表示させるラダーモニタ欄、及び前記運転記録データ保持部から読み出した前記複数の画像データを時系列に表示させるカメラモニタ欄を表示させる表示部と、前記運転記録データ保持部から読み出したイベントデータに含まれる複数のイベント及び該複数のイベントの各々の発生時刻を、前記イベント表示欄に一覧表示するイベント表示制御部と、前記イベント表示制御部により一覧表示された複数のイベントの中から一つの選択を受け付ける選択受付部と、前記運転記録データ保持部から読み出したログデータに含まれ、かつ、前記選択受付部により選択されたイベントの発生時刻に対応する時刻に記録されたデバイス値を、前記ラダーモニタ欄に表示された前記ユーザープログラム上に重ねて表示するデバイス表示制御部とを備え、前記イベント表示欄において選択受付部により一つのイベントが選択されると、選択されたイベントの発生時刻に応じて、前記ラダーモニタ欄におけるデバイス値の表示が連動して更新されると共に、該選択されたイベントの発生時刻と対応する画像データが前記カメラモニタ欄に表示されるよう構成できる。上記構成により、多種多様なイベントの内から、トラブル解決に有用なイベントを選択的に表示させて、トラブルの原因究明に役立てることができる。
According to the program creation support device for a programmable logic controller according to the first aspect of the present invention, the programmable logic controller is composed of one or more units including a unit to which a camera section is connected , and repeatedly executes a user program. a program execution unit; a device unit having a device that is a storage area referenced by the program execution unit; and a device unit that records device values stored in the device unit in chronological order as log data together with the current time; or a temporary recording unit that records multiple events occurring in a controlled device controlled by the programmable logic controller in chronological order as event data together with the time of occurrence, and the temporary recording when predetermined storage conditions are met during operation. Executed in the programmable logic controller, which includes a storage unit that stores log data and event data recorded in the unit in a storage memory, and stores a plurality of image data captured in chronological order by the camera unit in the storage memory. A program creation support device for supporting the creation of the user program written in a graphical programming language, the program creation support device comprising: log data and event data stored in the storage memory during operation of the programmable logic controller; image data from a driving record data storage unit that stores the image data as driving record data, an event display field that displays a list of the events, a ladder monitor field that displays the ladder diagram that is the user program, and the driving record data storage unit. a display unit that displays a camera monitor field that displays the plurality of read image data in chronological order ; a plurality of events included in the event data read from the driving record data storage unit; and times of occurrence of each of the plurality of events. an event display control unit that displays a list of events in the event display field , a selection reception unit that receives a selection from among a plurality of events listed by the event display control unit, and reads out the driving record data from the driving record data storage unit. displaying a device value included in the selected log data and recorded at a time corresponding to the time of occurrence of the event selected by the selection reception unit over the user program displayed in the ladder monitor field; and a device display control section, when one event is selected by the selection reception section in the event display field, the display of the device value in the ladder monitor field is linked according to the occurrence time of the selected event. The image data may be updated and the image data corresponding to the time of occurrence of the selected event may be displayed in the camera monitor field . With the above configuration, events useful for troubleshooting can be selectively displayed from among a wide variety of events, and can be useful for investigating the cause of troubles.

また、第2の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記構成に加えて、前記デバイス表示制御部における表示対象時刻と、前記イベント表示欄における表示対象時刻と、前記カメラモニタ欄に表示される画像データの表示とを同期させるための同期ソフトウエアモジュールを備えることができる。
Further, according to the program creation support device for a programmable logic controller according to the second aspect, in addition to the above configuration , the display target time in the device display control section, the display target time in the event display field, and the camera monitor A synchronization software module may be provided for synchronizing the display of image data displayed in the column.

さらに、第3の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記表示部は、前記ラダーモニタ欄に表示されるデバイス値の表示対象時刻を操作するための時刻UIを表示する時刻UI表示領域を有し、前記イベント表示欄において選択受付部により一つのイベントが選択されると、選択されたイベントの発生時刻に応じて、前記時刻UI表示領域における時刻UIの表示が連動して更新されると共に、該選択されたイベントの発生時刻と対応する画像データが前記カメラモニタ欄に表示されることができる。
Furthermore, according to the program creation support device for a programmable logic controller according to a third aspect, in addition to any of the above configurations , the display section operates the display target time of the device value displayed in the ladder monitor field. When one event is selected by the selection reception unit in the event display field, the time UI display area displays a time UI for The display of the time UI in is updated in conjunction, and image data corresponding to the time of occurrence of the selected event can be displayed in the camera monitor field.

さらにまた、第4の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記時刻UIは再生ボタンを含み、前記時刻UI表示領域において再生ボタンが操作されると、前記ラダーモニタ欄においてデバイス値が時系列的に表示更新されるとともに、前記カメラモニタ欄において前記複数の画像データからなる動画が再生され、前記イベント表示欄において時間の経過に応じて対応するイベントが切り替わることができる。
Furthermore, according to the program creation support device for a programmable logic controller according to a fourth aspect, in addition to any of the above configurations, the time UI includes a play button, and the play button is operated in the time UI display area. Then, device values are displayed and updated in chronological order in the ladder monitor field, a video consisting of the plurality of image data is played in the camera monitor field, and a response is displayed in the event display field according to the passage of time. The events to be performed can be switched .

さらにまた、第5の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記表示部は、さらに、前記カメラモニタ欄に表示させる画像データに対応付けられた時刻を指定する時刻指定カーソルを表示し、前記時刻指定カーソルによって指定された時刻に応じて、前記カメラモニタ欄に表示される画像データが更新されると共に、前記時刻UI表示領域における時刻UIの表示が連動して更新されることができる。
Furthermore, according to the program creation support device for a programmable logic controller according to the fifth aspect, in addition to any of the above configurations , the display section is further configured to be associated with image data to be displayed in the camera monitor column. A time designation cursor for designating the time specified by the time designation cursor is displayed, and the image data displayed in the camera monitor field is updated according to the time designated by the time designation cursor, and the time UI in the time UI display area is updated. The display can be updated accordingly .

さらにまた、第6の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記プログラマブルロジックコントローラの前記保存部は、前記ログデータ及び前記イベントデータ並びに前記複数の画像データを、複数のファイルからなるパッケージとして前記保存メモリに保存し、前記運転記録データ保持部は、前記保存メモリに保存された複数のファイルからなるパッケージを前記運転記録データとして記憶することができる。
Furthermore, according to the program creation support device for a programmable logic controller according to a sixth aspect, in addition to any of the above configurations , the storage section of the programmable logic controller stores the log data, the event data, and the plurality of log data. image data is stored in the storage memory as a package made up of a plurality of files, and the driving record data holding unit stores the package made up of the plurality of files stored in the storage memory as the driving record data. can.

さらにまた、第7の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記運転記録データは、前記複数のファイルからなるパッケージの内容を示す管理情報データを含むことができる。
Furthermore, according to the program creation support device for a programmable logic controller according to the seventh aspect, in addition to any of the above configurations , the driving record data includes management information data indicating the contents of the package consisting of the plurality of files. can include .

さらにまた、第8の態様に係るプログラマブルロジックコントローラ用プログラム作成支援装置によれば、上記何れかの構成に加えて、前記保存部は、前記ログデータ及び前記イベントデータ並びに前記複数の画像データを前記保存メモリに保存すると共に、前記ユーザープログラム及び前記ユニットの構成情報を含むプロジェクトデータを保存し、
前記表示部は、前記運転記録データ保持部から読み出したプロジェクトデータに含まれる前記ユーザープログラム及び前記ユニットの構成情報を表示させ、前記デバイス表示制御部は、前記運転記録データ保持部から読み出したログデータに含まれ、かつ、前記選択受付部により選択されたイベントの発生時刻に対応する時刻に記録されたデバイス値を、前記運転記録データ保持部から読み出したプロジェクトデータに含まれる前記ユーザープログラム上に重ねて表示することができる。
Furthermore, according to the program creation support device for a programmable logic controller according to an eighth aspect, in addition to any of the above configurations , the storage unit stores the log data, the event data, and the plurality of image data. storing project data including configuration information of the user program and the unit in a storage memory;
The display section displays the user program and the configuration information of the unit included in the project data read from the driving record data holding section, and the device display control section displays the log data read from the driving record data holding section. and is recorded at a time corresponding to the time of occurrence of the event selected by the selection receiving unit, on the user program included in the project data read from the driving record data holding unit. can be displayed .

Claims (11)

一以上のユニットで構成されたプログラマブルロジックコントローラであり、ユーザープログラムを繰り返し実行するプログラム実行部、該プログラム実行部によって参照される記憶領域であるデバイスを有するデバイス部、該デバイス部に記憶されているデバイス値を現在時刻と共にログデータとして時系列に記録すると共に、前記プログラマブルロジックコントローラ又は該プログラマブルロジックコントローラにより制御される被制御装置にて発生した複数のイベントを発生時刻と共にイベントデータとして時系列に記録する一時記録部、及び運転時において所定の保存条件が満たされると該一時記録部に記録されているログデータ及びイベントデータを保存する保存メモリを備える前記プログラマブルロジックコントローラにおいて実行される、グラフィカルプログラミング言語で記述される前記ユーザープログラムの作成を支援するためのプログラム作成支援装置であって、
前記プログラマブルロジックコントローラの運転時に前記保存メモリに保存されたログデータ及びイベントデータを、運転記録データとして記憶する運転記録データ保持部と、
前記ユーザープログラムを表示させる表示部と、
前記運転記録データ保持部から読み出したイベントデータに含まれる複数のイベント及び該複数のイベントの各々の発生時刻を、前記表示部に一覧表示するイベント表示制御部と、
前記イベント表示制御部により一覧表示された複数のイベントの中から一つの選択を受け付ける選択受付部と、
前記運転記録データ保持部から読み出したログデータに含まれ、かつ、前記選択受付部により選択されたイベントの発生時刻に対応する時刻に記録されたデバイス値を、前記ユーザープログラム上に重ねて表示するデバイス表示制御部と、
を備えるプログラマブルロジックコントローラ用プログラム作成支援装置。
A programmable logic controller composed of one or more units, including a program execution unit that repeatedly executes a user program, a device unit that has a device that is a storage area referenced by the program execution unit, and a device that is stored in the device unit. Device values are recorded in chronological order as log data together with the current time, and multiple events occurring in the programmable logic controller or a controlled device controlled by the programmable logic controller are recorded in chronological order as event data together with the time of occurrence. A graphical programming language executed in the programmable logic controller, comprising a temporary recording section for storing log data and event data recorded in the temporary recording section when predetermined storage conditions are met during operation. A program creation support device for supporting the creation of the user program described in
an operation record data holding unit that stores log data and event data stored in the storage memory during operation of the programmable logic controller as operation record data;
a display unit that displays the user program;
an event display control unit that displays a list of a plurality of events included in the event data read from the driving record data holding unit and the occurrence times of each of the plurality of events on the display unit;
a selection reception unit that accepts one selection from among the plurality of events listed by the event display control unit;
Displaying a device value included in the log data read from the driving record data holding unit and recorded at a time corresponding to the time of occurrence of the event selected by the selection reception unit over the user program. a device display control section;
A program creation support device for a programmable logic controller.
請求項1に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、さらに、
前記プログラマブルロジックコントローラの前記一時記録部に対し、前記複数のイベントのうち前記特定イベントのみを記録するよう設定する記録設定部を備えてなるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 1, further comprising:
A program creation support device for a programmable logic controller, comprising a recording setting section configured to set the temporary recording section of the programmable logic controller to record only the specific event among the plurality of events.
請求項1に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記特定イベントが、前記プログラム実行部による前記ユーザープログラムの実行と独立してユーザが行った操作に関するイベントを含んでなるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 1,
A program creation support device for a programmable logic controller, wherein the specific event includes an event related to an operation performed by a user independently of execution of the user program by the program execution unit.
請求項3に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記ユーザ操作に関するイベントが、少なくとも、
前記ユーザープログラム及び前記プログラマブルロジックコントローラの構成情報を含むプロジェクトデータの書き換え、
前記プログラマブルロジックコントローラの設定を行う設定モードと、前記プログラマブルロジックコントローラ上で前記ユーザープログラムを実行させる運転モードとのモード切替、
前記プログラマブルロジックコントローラに接続可能なケーブルの挿抜、
前記プログラマブルロジックコントローラに取り付け可能な記憶媒体の挿抜、及び
前記被制御装置の電源のON/OFF
を含むプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 3,
The event related to the user operation includes at least
rewriting project data including configuration information of the user program and the programmable logic controller;
mode switching between a setting mode for setting the programmable logic controller and an operation mode for executing the user program on the programmable logic controller;
Insertion and removal of a cable connectable to the programmable logic controller;
Inserting and removing a storage medium that can be attached to the programmable logic controller, and turning on/off the power of the controlled device
A program creation support device for programmable logic controllers, including:
請求項1に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記イベント表示制御部は、前記プログラム実行部による前記ユーザープログラムの実行に従って、前記プログラマブルロジックコントローラ内で自動的に実行される処理に応じたイベントを非表示としてなるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 1,
The event display control unit is configured to hide events corresponding to processing automatically executed within the programmable logic controller in accordance with execution of the user program by the program execution unit.
請求項5に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記自動実行される処理に応じたイベントは、少なくとも、
前記プログラマブルロジックコントローラと接続された外部装置とTCP接続又はFTP接続するときの通信開始又は通信切断、及び
前記プログラマブルロジックコントローラ内に用意されたフォルダ又はファイルへの書き込み
を含むプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 5,
The event corresponding to the automatically executed process includes at least the following:
Program creation support for the programmable logic controller, including starting or disconnecting communication when making a TCP connection or FTP connection with an external device connected to the programmable logic controller, and writing to a folder or file prepared in the programmable logic controller. Device.
請求項1に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、さらに、
前記デバイス表示制御部における表示対象時刻と、前記イベント表示制御部における表示対象時刻とを同期させる同期ソフトウエアモジュールを備え、
前記同期ソフトウエアモジュールが、前記デバイス表示制御部と、前記イベント表示制御部を、前記表示部において連動させて表示させてなるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 1, further comprising:
comprising a synchronization software module that synchronizes the display target time in the device display control unit and the display target time in the event display control unit,
A program creation support device for a programmable logic controller, wherein the synchronization software module causes the device display control section and the event display control section to be displayed in conjunction with each other on the display section.
請求項7に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記表示部は、
前記イベントを一覧表示させるイベント表示欄と、
前記ユーザープログラムであるラダー図を表示させるラダーモニタ欄と
を備え、
前記選択受付部で、前記イベント表示欄から任意のイベントが選択されると、該選択されたイベントの時刻と対応するラダー図が前記ラダーモニタ欄で選択されて表示されるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 7,
The display section is
an event display field for displaying a list of the events;
and a ladder monitor field for displaying the ladder diagram that is the user program,
Creating a program for a programmable logic controller in which, when an arbitrary event is selected from the event display field in the selection reception section, a ladder diagram corresponding to the time of the selected event is selected and displayed in the ladder monitor field. Support equipment.
請求項8に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記記録設定部は、前記プログラマブルロジックコントローラに接続されたカメラ部で時系列に撮像された複数の画像データを前記保存メモリに保存させるよう設定しており、
前記表示部は、さらに
前記カメラ部で時系列に撮像された複数の画像データを表示させるカメラモニタ欄
を備え、
前記選択受付部で、前記イベント表示欄から任意のイベントが選択されると、該選択されたイベントの時刻と対応するラダー図が前記ラダーモニタ欄で選択され、かつ該選択されたイベントの時刻と対応する画像データが前記カメラモニタ欄に表示されるプログラマブルロジックコントローラ用プログラム作成支援装置。
The program creation support device for a programmable logic controller according to claim 8,
The recording setting unit is configured to store a plurality of image data captured in chronological order by a camera unit connected to the programmable logic controller in the storage memory,
The display unit further includes a camera monitor field for displaying a plurality of image data captured in chronological order by the camera unit,
When an arbitrary event is selected from the event display column in the selection reception section, a ladder diagram corresponding to the time of the selected event is selected in the ladder monitor column, and a ladder diagram corresponding to the time of the selected event is selected. A program creation support device for a programmable logic controller in which corresponding image data is displayed in the camera monitor field.
請求項9に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記保存メモリが、SDカード(商品名)であるプログラマブルロジックコントローラ用プログラム作成支援装置。
A program creation support device for a programmable logic controller according to claim 9,
A program creation support device for a programmable logic controller, wherein the storage memory is an SD card (product name).
請求項1~10のいずれか一項に記載のプログラマブルロジックコントローラ用プログラム作成支援装置であって、
前記イベント表示制御部が、デバイス値を時系列波形として前記表示部に表示してなるプログラマブルロジックコントローラ用プログラム作成支援装置。
A program creation support device for a programmable logic controller according to any one of claims 1 to 10,
A program creation support device for a programmable logic controller, wherein the event display control section displays device values as time-series waveforms on the display section.
JP2023147288A 2019-02-12 2023-09-12 Program creation assistance device for programmable logic controller Pending JP2023164999A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023147288A JP2023164999A (en) 2019-02-12 2023-09-12 Program creation assistance device for programmable logic controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019023077A JP2020134986A (en) 2019-02-12 2019-02-12 Program creation support device for programmable logic controller
JP2023147288A JP2023164999A (en) 2019-02-12 2023-09-12 Program creation assistance device for programmable logic controller

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019023077A Division JP2020134986A (en) 2019-02-12 2019-02-12 Program creation support device for programmable logic controller

Publications (1)

Publication Number Publication Date
JP2023164999A true JP2023164999A (en) 2023-11-14

Family

ID=72278544

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019023077A Pending JP2020134986A (en) 2019-02-12 2019-02-12 Program creation support device for programmable logic controller
JP2023147288A Pending JP2023164999A (en) 2019-02-12 2023-09-12 Program creation assistance device for programmable logic controller

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019023077A Pending JP2020134986A (en) 2019-02-12 2019-02-12 Program creation support device for programmable logic controller

Country Status (1)

Country Link
JP (2) JP2020134986A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11641131B2 (en) * 2020-11-06 2023-05-02 Asco Power Technologies, L.P. Power control system (PCS) commissioning agent
JP2023122186A (en) * 2022-02-22 2023-09-01 オムロン株式会社 Control system, support device and support program
WO2024013915A1 (en) * 2022-07-13 2024-01-18 三菱電機株式会社 Logging device, log data analysis assistance system, information provision method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118567A (en) * 2009-03-27 2012-06-21 Mitsubishi Electric Corp Programmable display
CN105103064B (en) * 2013-04-12 2017-03-08 三菱电机株式会社 The peripheral device of Programmable Logic Controller and debugging householder method
JP2015176370A (en) * 2014-03-14 2015-10-05 オムロン株式会社 Control system, method, program and information processor

Also Published As

Publication number Publication date
JP2020134986A (en) 2020-08-31

Similar Documents

Publication Publication Date Title
US11188048B2 (en) Programmable logic controller and main unit
JP6757386B2 (en) Programmable logic controller and program creation support device
JP2023164999A (en) Program creation assistance device for programmable logic controller
US10983743B2 (en) Programmable display and programmable logic controller system including the same
US7849364B2 (en) Kernel-mode in-flight recorder tracing mechanism
JP7320953B2 (en) Programmable logic controller and its log data storage method
JP7273935B2 (en) External setting device, logging setting method and program
JP7173826B2 (en) Programmable logic controller system, programming support device and computer program
JP7212496B2 (en) Programmable logic controller system, programming support device and computer program
JP7466319B2 (en) Programmable display and programmable logic controller system equipped with the same
JP2022158228A (en) Monitoring device and programmable logic controller system
CN106462139A (en) Programmable display device and rendering software
JP6948450B2 (en) Programmable logic controller and main unit
JP6806946B2 (en) External setting devices and programs
JP7405714B2 (en) programmable logic controller
JP6986125B2 (en) Programmable logic controller and main unit
JP7356778B2 (en) Program creation support device for programmable logic controllers
JP7412076B2 (en) Engineering tools for programmable logic controllers
JP2019159868A (en) Control system, controller and display device
JP2001154711A (en) Method and device for debugging process stepping type program
CN114490285A (en) System and method for replaying RPA flow execution process
EP3767407A1 (en) Control device, control method, and control program
EP3767409A1 (en) Factory automation (fa) system, controller, and control method
JP3168993B2 (en) Remote program debugging system, remote program debugging method, and recording medium recording remote debugging program
JP7581861B2 (en) CONTROL SYSTEM, SUPPORT DEVICE AND LABELING METHOD

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231005