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

JP2023110263A - Program and programmable logic controller - Google Patents

Program and programmable logic controller Download PDF

Info

Publication number
JP2023110263A
JP2023110263A JP2022011608A JP2022011608A JP2023110263A JP 2023110263 A JP2023110263 A JP 2023110263A JP 2022011608 A JP2022011608 A JP 2022011608A JP 2022011608 A JP2022011608 A JP 2022011608A JP 2023110263 A JP2023110263 A JP 2023110263A
Authority
JP
Japan
Prior art keywords
data
unit
time
program
application program
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
JP2022011608A
Other languages
Japanese (ja)
Inventor
佑亮 五嶌
Yusuke Goto
哲也 宮坂
Tetsuya Miyasaka
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 JP2022011608A priority Critical patent/JP2023110263A/en
Publication of JP2023110263A publication Critical patent/JP2023110263A/en
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

To interlock display screen images of plural application programs to be run in relation to a PLC.SOLUTION: Access information on another application program, that is, access information needed to access data employed in displaying an event screen image concerning the another application program is acquired. Based on the access information on the another application program and an event associated with a present event screen image dependent on one application program, an event screen image for the another application program associated with the event is identified. Based on a user manipulation performed on a screen image transition instruction component displayed in the present event screen image, a transition from the present event screen image to the identified event screen image is executed.SELECTED DRAWING: Figure 73

Description

本発明はプログラムおよびプログラマブルロジックコントローラに関する。 The present invention relates to programmable and programmable logic controllers.

プログラマブルロジックコントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。PLCの動作を監視するために、PLCが保持しているデータを収集して、PLCの外部に接続されたコンピュータ(PC)やHMI(ヒューマンインタフェース:表示装置)でデータをモニタすることが提案されている(特許文献1)。 A programmable logic controller (PLC) is a controller that controls industrial machines such as manufacturing equipment, transport equipment, and inspection equipment in factory automation. The PLC controls various expansion units and controlled devices by executing user programs such as ladder programs created by programmers. In order to monitor the operation of the PLC, it has been proposed to collect the data held by the PLC and monitor the data with a computer (PC) or HMI (human interface: display device) connected to the outside of the PLC. (Patent Document 1).

特開2019-016325号公報JP 2019-016325 A

PLCを正常に稼働させるためには、PLCの運転状況を記録し、この記録(運転記録)を分析することで製造ラインをストップさせるようなイベントの原因を探し出すことが重要である。これは、過去に発生したイベントをその後に分析する際に役立つ。たとえば、運転記録に基づきイベントの前後におけるPLCの状況を再現(再生)できれば、原因の発見に役立つであろう。 In order to operate the PLC normally, it is important to record the operation status of the PLC and analyze the record (operating record) to find the cause of the event that causes the production line to stop. This is useful for subsequent analysis of events that occurred in the past. For example, if the PLC situation before and after the event can be reproduced (played back) based on the driving record, it will be useful in discovering the cause.

その一方で、PLCの運転状況をリアルタイムで監視することも重要である。これは、イベントの兆候を監視することで、イベントの発生を未然に防いだり、発生したイベントを分析したりする際に役立つであろう。 On the other hand, it is also important to monitor the operational status of the PLC in real time. This will be useful in preventing the occurrence of events and analyzing events that have occurred by monitoring signs of events.

このように、運転記録に基づき分析レポートを生成して分先画面を提供するプログラムと、イベント兆候を監視するための監視画面を提供するプログラムとは、それぞれ用途が異なるため、個別に用意されるだろう。しかし、この二つのプログラムを連携させて利用できれば便利な場合がある。たとえば、所定のイベントが発生したときに、ユーザは、分析画面を見ながらイベント発生時の監視画面を再現したい場合がある。しかし、分析画面に表示されているデータと、監視画面に表示されているデータとは、関連付けられていないため、分析画面と監視画面とを連携させて画面遷移を実行することができない。 In this way, a program that generates an analysis report based on driving records and provides a minute screen and a program that provides a monitoring screen for monitoring event signs have different uses, so they are prepared separately. right. However, there are times when it is convenient to be able to use these two programs in conjunction. For example, when a predetermined event occurs, the user may want to reproduce the monitoring screen at the time of event occurrence while viewing the analysis screen. However, since the data displayed on the analysis screen and the data displayed on the monitoring screen are not associated with each other, the analysis screen and the monitoring screen cannot be linked to perform screen transition.

このように分析画面と監視画面とを連携させることが出来れば便利である。より一般的には、PLCに関連する独立した二つのプログラムの表示画面を連携させることができれば便利である。たとえば、シンボル値(例:デバイス値、変数値)に基づくデータを表示する第1アプリケーションプログラムの表示画面と、運転記録を処理した結果を表示する第2アプリケーションプログラムの表示画面とを連携させることが出来れば、PLCのユーザビリティがさらに向上するであろう。このような表示画面の連携は、複数の第1アプリケーションプログラムに対応した複数の表示画面間における連携であってもよいし、複数の第2アプリケーションプログラムに対応した複数の表示画面間における連携であってもよい。たとえば、一方の表示画面から他方の表示画面へ遷移したときに、一方の表示画面で注目されているイベントと同一のイベントについて他方の表示画面に連携して表示させることが出来れば、イベントを効率よく分析することが可能となろう。そこで、本発明はPLCに関連して実行される複数のアプリケーションプログラムの表示画面を連携させること を目的とする。 It would be convenient if the analysis screen and the monitoring screen could be linked in this manner. More generally, it would be convenient if the display screens of two independent programs associated with the PLC could be coordinated. For example, a display screen of a first application program that displays data based on symbol values (eg, device values, variable values) and a display screen of a second application program that displays results of processing driving records can be linked. If possible, the usability of the PLC will be further improved. Such linkage of display screens may be linkage between a plurality of display screens corresponding to a plurality of first application programs, or linkage between a plurality of display screens corresponding to a plurality of second application programs. may For example, when one display screen transitions to the other display screen, if it is possible to display the same event that is being watched on one display screen in cooperation with the other display screen, the event can be displayed efficiently. can be analyzed well. SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to link display screens of a plurality of application programs executed in association with a PLC.

本発明は、たとえば、
ユーザプログラムを繰り返し実行するユーザプログラム実行手段と、
前記ユーザプログラム実行手段によりアクセスされるデータを記憶するデバイスまたは変数である複数の保持手段と、
前記複数の保持手段のうち収集対象の保持手段に記憶されているデータを時系列に収集することにより時系列データを生成する収集手段と、
複数のアプリケーションプログラムを管理するアプリ管理手段と
を備えるプログラマブルロジックコントローラにインストールされるプログラムであって、
前記複数のアプリケーションプログラムは、
前記複数の保持手段に記憶されているデータに基づき前記プログラマブルロジックコントローラの動作状態を監視する監視データを表示画面に表示し、予め定められた条件が成立してイベント通知が発行された際の該監視データが複数保存された第1保存データを第1のイベント画面に表示する第1アプリケーションプログラムと、
前記収集手段により生成された時系列データであって、前記イベント通知が発行された時点を基準として保存された所定期間分の時系列データに関する第2保存データを第2のイベント画面に表示する第2アプリケーションプログラムと、のうちの少なくとも一方を含み、
前記プログラムは、前記プログラマブルロジックコントローラに、
前記複数のアプリケーションプログラムのうち一方のアプリケーションプログラムにしたがったイベント画面と他方のアプリケーションプログラムに従ったイベント画面とを生成する画面生成手段と、
前記アプリ管理手段からアクセス可能な前記他方のアプリケーションプログラムのアクセス情報であって、前記他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータにアクセスするために必要となるアクセス情報を取得する取得手段と、
前記取得手段により取得された前記他方のアプリケーションプログラムについてのアクセス情報と、前記一方のアプリケーションプログラムにしたがって前記画面生成手段により生成される現在のイベント画面に対応するイベントとに基づいて、当該イベントに対応する前記他方のアプリケーションプログラムのイベント画面を特定する特定手段と、
前記現在のイベント画面に表示される画面遷移指示部品に対するユーザ操作に基づいて、前記現在のイベント画面を、前記特定手段により特定された前記イベント画面に遷移させる命令を生成する命令生成手段と、
して機能させることを特徴とするプログラムを提供する。
The present invention, for example,
user program execution means for repeatedly executing the user program;
a plurality of holding means that are devices or variables that store data accessed by the user program execution means;
collecting means for generating time-series data by collecting in time-series data stored in holding means to be collected among the plurality of holding means;
A program installed in a programmable logic controller comprising application management means for managing a plurality of application programs,
The plurality of application programs are
monitor data for monitoring the operating state of the programmable logic controller is displayed on a display screen based on the data stored in the plurality of holding means; a first application program for displaying first saved data in which a plurality of pieces of monitoring data are saved on a first event screen;
displaying on a second event screen second stored data relating to the time-series data generated by the collecting means for a predetermined period of time stored based on the point in time when the event notification was issued; 2 application program and/or
The program causes the programmable logic controller to:
screen generation means for generating an event screen according to one of the plurality of application programs and an event screen according to the other application program;
Acquisition of access information of the other application program accessible from the application management means, which is necessary for accessing data used to display an event screen for the other application program a obtaining means for
responding to the event based on the access information about the other application program acquired by the acquisition means and the event corresponding to the current event screen generated by the screen generation means according to the one application program; identifying means for identifying the event screen of the other application program to
an instruction generating means for generating an instruction for transitioning the current event screen to the event screen specified by the specifying means based on a user operation on a screen transition instruction component displayed on the current event screen;
To provide a program characterized by functioning as

本発明によれば、PLCに関連して実行される複数のアプリケーションプログラムの表示画面を連携させることが可能となる。 According to the present invention, it is possible to link display screens of a plurality of application programs executed in association with a PLC.

PLCシステムを説明する図Diagram explaining the PLC system PCのハードウエアを説明する図Diagram explaining PC hardware PLCのハードウエアを説明する図Diagram explaining PLC hardware PCのCPUにより実現される機能を説明する図A diagram for explaining functions realized by a CPU of a PC. PLCのCPUにより実現される機能を説明する図Diagram for explaining the functions realized by the CPU of the PLC ユーザインタフェースを説明する図Diagram explaining the user interface ユーザインタフェースを説明する図Diagram explaining the user interface 通知ダイアログを説明する図Diagram explaining the notification dialog 分析レポートを説明する図Diagram explaining the analysis report 分析レポートを説明する図Diagram explaining the analysis report ユーザインタフェースを説明する図Diagram explaining the user interface 分析レポートを説明する図Diagram explaining the analysis report リレーションマップを説明する図Diagram explaining relation map 波形表示のユーザインタフェースを説明する図Diagram explaining the waveform display user interface 波形表示のユーザインタフェースを説明する図Diagram explaining the waveform display user interface 事例を説明する図Illustration explaining the case ラダープログラムを説明する図Diagram explaining the ladder program リレーションマップを説明する図Diagram explaining relation map リレーションマップにおける強調表示の変化を説明する図A diagram explaining the change in highlighting in the relation map プロジェクト編集方法を示すフローチャートFlowchart showing how to edit a project 分析レポートの表示処理を示すフローチャートFlowchart showing analysis report display processing 分析結果と稼働ログとの紐づけの例を示す図Diagram showing an example of linking analysis results and operation logs 分析結果と稼働ログとの紐づけの例を示す図Diagram showing an example of linking analysis results and operation logs 分析結果と稼働ログとの紐づけ方法を示すフローチャートFlowchart showing how to associate analysis results with operation logs PLCシステムを示す図Diagram showing a PLC system PCを説明する図Diagram explaining PC PLCを説明する図Diagram explaining PLC プログラム作成支援装置のCPUにより実現される機能を説明する図FIG. 4 is a diagram for explaining functions realized by a CPU of the program creation support device; 拡張ユニット(データ活用ユニット)のCPUにより実現される機能を説明する図Diagram for explaining the functions realized by the CPU of the expansion unit (data utilization unit) 拡張ユニット(データ活用ユニット)のCPUにより実現される機能を説明する図Diagram for explaining the functions realized by the CPU of the expansion unit (data utilization unit) 拡張ユニット(データ活用ユニット)のCPUにより実現される機能を説明する図Diagram for explaining the functions realized by the CPU of the expansion unit (data utilization unit) 表示画面を説明する図Diagram explaining the display screen 表示画面を説明する図Diagram explaining the display screen 表示画面を説明する図Diagram explaining the display screen 表示画面を説明する図Diagram explaining the display screen 表示画面を説明する図Diagram explaining the display screen アプリケーション選択画面を説明する図Diagram explaining the application selection screen 設定ウィザードを説明する図Diagram explaining the configuration wizard 閾値の自動設定を説明する図Diagram explaining automatic threshold setting 監視項目の設定画面を説明する図Diagram explaining the screen for setting monitoring items 閾値の設定画面を説明する図Diagram explaining threshold setting screen 設定ウィザードを説明する図Diagram explaining the configuration wizard 表示画面を説明する図Diagram explaining the display screen アプリケーションの動作の切り替えを受け付ける画面を説明する図Diagram explaining the screen for accepting switching of application operation チャートを説明する図Diagram explaining the chart 設定ウィザードを説明する図Diagram explaining the configuration wizard 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 波形上下限監視アプリケーションを説明する図Diagram explaining the waveform upper/lower limit monitoring application 監視手法と状態判定手法の組み合わせを説明する図Diagram explaining the combination of monitoring method and state determination method 設定ウィザードを説明する図Diagram explaining the configuration wizard 波形ガードバンド監視アプリケーションを説明する図Diagram explaining the waveform guardband monitoring application 閾値波形の決定手法を説明する図Diagram explaining the threshold waveform determination method 閾値波形の決定手法を説明する図Diagram explaining the threshold waveform determination method 閾値波形の決定手法を説明する図Diagram explaining the threshold waveform determination method 表示画面を説明する図Diagram explaining the display screen 設定ウィザードを説明する図Diagram explaining the configuration wizard 工程監視およびタイミング監視を示すフローチャートFlowchart showing process monitoring and timing monitoring 波形監視を示すフローチャートFlowchart showing waveform monitoring 通知ダイアログを説明する図Diagram explaining the notification dialog KPI算出アプリケーションのダッシュボードを説明する図Diagram explaining the dashboard of the KPI calculation application 画面遷移指示部品を含む表示画面を説明する図A diagram explaining a display screen including a screen transition instruction component 画面遷移指示部品を含む表示画面を説明する図A diagram explaining a display screen including a screen transition instruction component 拡張ユニット(データ活用ユニット)実現される機能の一部を説明する図Expansion unit (data utilization unit) Diagram explaining some of the functions implemented 基本ユニットにより実現される機能の一部を説明する図Diagram explaining some of the functions realized by the basic unit 運転記録と監視結果の履歴とを保存する保存処理の概要を示すフローチャート4 is a flow chart showing an overview of storage processing for storing operation records and history of monitoring results; 異なるアプリケーション間でのデータ連携を伴う画面遷移方法を示すフローチャートFlowchart showing a screen transition method involving data linkage between different applications 異なるアプリケーション間でのデータ連携を伴う画面遷移方法を示すフローチャートFlowchart showing a screen transition method involving data linkage between different applications 監視の履歴と分析レポート間において同一のイベントにより表示画面を連携させる手法の概念を説明する図A diagram explaining the concept of a method for linking display screens by the same event between the monitoring history and the analysis report. 画面遷移に関するシーケンスを示すシーケンス図Sequence diagram showing the sequence related to screen transition 画面遷移に関するシーケンスを示すシーケンス図Sequence diagram showing the sequence related to screen transition 稼働監視モニタを説明する図Diagram explaining the operation monitoring monitor アラーム情報モニタを説明する図Diagram explaining the alarm information monitor

以下、添付図面を参照して実施形態が詳しく説明される。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一または同様の構成には同一の参照番号が付され、重複した説明は省略される。複数の構成を区別するために参照符号の末尾に小文字のアルファベットが付与されることがある。複数の構成に共通する事項が説明される際には小文字のアルファベットが省略されることがある。 Embodiments are described in detail below with reference to the accompanying drawings. It should be noted that the following embodiments do not limit the invention according to the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more of the features described in the embodiments may be combined arbitrarily. Identical or similar configurations are given the same reference numerals, and duplicate descriptions are omitted. A lowercase letter may be added to the end of the reference number to distinguish between configurations. Lowercase letters may be omitted when items common to a plurality of configurations are described.

1.第1実施形態
プログラマブルロジックコントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。PLCの動作を監視するために、PLCが保持しているデータを収集して、PLCの外部に接続されたコンピュータ(PC)やHMI(ヒューマンインタフェース:表示装置)でデータをモニタすることが提案されている(特開2019-016325号公報)。
1. First Embodiment A programmable logic controller (PLC) is a controller that controls industrial machines such as manufacturing equipment, transport equipment, and inspection equipment in factory automation. The PLC controls various expansion units and controlled devices by executing user programs such as ladder programs created by programmers. In order to monitor the operation of the PLC, it has been proposed to collect the data held by the PLC and monitor the data with a computer (PC) or HMI (human interface: display device) connected to the outside of the PLC. (JP 2019-016325 A).

ところで、ユーザはプログラム作成支援装置でユーザプログラムを作成し、PLCに転送する。PLCはユーザプログラムを実際に実行することで、様々な製品を製造したりする。ここで、ユーザプログラムを作成したときには想定していなかったような稀なイベントが発生することで、製造ラインがストップしてしまうことがある。製造ラインがストップしてしまうことはないものの、注意が必要なイベントが発生することもある。その一方で、PLCは、所定のイベントが発生すると、その発生時刻の前後において収集されたデバイス値をバッファから読み出して記録する。これは、運転記録(稼働ログ)と呼ばれてもよい。データ活用ユニットが、この記録を分析して分析レポートを作成し、PLCの外部にあるWebブラウザに提供してもよいだろう。ここで、分析レポートともに稼働ログを再生できれば、ユーザは、分析レポートの内容を理解しやすくなるだけでなく、所定のイベントが発生した原因を突き止めやすくなるであろう。したがって、分析レポートと、稼働ログとは紐づけられている必要があろう。仮に、分析レポートと稼働ログとが紐づけられていなければ、ユーザが、分析レポートに対応する稼働ログを特定することは、困難になろう。そこで、以下の複数の実施形態のうちの一部の実施形態は、PLCにおける運転記録と分析結果との関係を適切に保持することを目的とする。 By the way, a user creates a user program with a program creation support device and transfers it to the PLC. The PLC actually executes user programs to manufacture various products. Here, the production line may stop due to the occurrence of a rare event that was not assumed when the user program was created. While the production line never stops, there are events that require attention. On the other hand, when a predetermined event occurs, the PLC reads and records the device values collected before and after the occurrence time from the buffer. This may be referred to as a driving record (running log). A data exploitation unit could analyze this record to produce an analysis report and provide it to a web browser external to the PLC. Here, if the operation log can be reproduced together with the analysis report, the user will not only be able to easily understand the contents of the analysis report, but will also be able to easily identify the cause of the occurrence of the predetermined event. Therefore, the analysis report and the operation log should be linked. If the analysis report and the operation log were not linked, it would be difficult for the user to identify the operation log corresponding to the analysis report. Therefore, some of the following embodiments aim to appropriately maintain the relationship between the driving record and the analysis result in the PLC.

<システム構成>
はじめにプログラマブルロジックコントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
<System configuration>
First, the configuration and operation of a typical PLC will be described so that those skilled in the art can better understand programmable logic controllers (PLCs, which may be simply called programmable controllers).

図1は本発明の実施の形態によるPLCシステムの一構成例を示す概念図である。図1が示すように、PLCシステムは、ラダープログラムなどのユーザプログラムを編集するPC2と、工場等に設置される各種の産業機械を統括的に制御するPLC1とを備えている。PCはパーソナルコンピュータの略称である。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、基本ユニット3で実行されるユーザプログラムは、ラダープログラムと仮定される。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。 FIG. 1 is a conceptual diagram showing one configuration example of a PLC system according to an embodiment of the present invention. As shown in FIG. 1, the PLC system includes a PC 2 that edits user programs such as ladder programs, and a PLC 1 that comprehensively controls various industrial machines 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 ladder language or a flowchart-type motion program such as 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, it is assumed that the user program executed by the basic unit 3 is a ladder program. The PLC 1 has a basic unit 3 with a built-in CPU and one or more expansion units 4 . One or a plurality of extension units 4 are detachable from the basic unit 3 .

基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3に取り付けられている拡張ユニット4の動作状況などを表示することができる。操作部6に対するユーザによる操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスに格納されている現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の記憶領域を指す名称(シンボル)であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。 The basic unit 3 has a display section 5 and an operation section 6 . The display unit 5 can display the operation status of the expansion unit 4 attached to the basic unit 3 and the like. The display unit 5 switches the display content according to the operation content of the operation unit 6 by the user. The display unit 5 normally displays current values (device values) stored in devices in the PLC 1, error information occurring in the PLC 1, and the like. A device is a name (symbol) indicating a storage area on a memory provided for storing device values (device data), and may be called a device memory. A device value is information that indicates the state of an input from an input device, the state of an output to an output device, and the state of internal relays (auxiliary relays), timers, counters, data memories, etc. that are set on a user program. Device value types include bit type and word type. A bit device stores a 1-bit device value. A word device stores a device value of one word.

拡張ユニット4はPLC1の機能を拡張するために用意されている。拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続されることがあり、これにより、各フィールドデバイス10が拡張ユニット4を介して基本ユニット3に接続される。フィールドデバイス10は、センサやカメラなどの入力機器であってもよいし、アクチュエータなどの出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。 An expansion unit 4 is provided to expand the functions of the PLC1. A field device (controlled device) 10 corresponding to the function of the expansion unit 4 may be connected to the expansion unit 4 , whereby each field device 10 is connected to the basic unit 3 via the expansion unit 4 . be done. The field device 10 may be an input device such as a sensor or camera, or an output device such as an actuator. Also, a plurality of field devices may be connected to one expansion unit 4 .

たとえば、拡張ユニット4bはモータ(フィールドデバイス10)を駆動してワークの位置決めする位置決めユニットであってもよいし、カウンタユニットであってもよい。カウンタユニットは手動パルサなどのエンコーダ(フィールドデバイス10)からの信号をカウントする。 For example, the extension unit 4b may be a positioning unit that drives a motor (field device 10) to position a workpiece, or may be a counter unit. The counter unit counts signals from an encoder (field device 10) such as a manual pulser.

拡張ユニット4aは、基本ユニット3においてシンボル(デバイス、変数など)からシンボル値を収集し、シンボル値を分析して分析結果を含む分析レポートを作成する。拡張ユニット4aは、分析レポートを外部のPC2へ提供するWebサーバを有していてもよい。基本ユニット3はCPUユニットと呼ばれることもある。本実施形態では、拡張ユニット(分析ユニット)4aがシンボル値を収集する収集部を有する例が説明される。しかし、当該収集部については、基本ユニット3に設けられてもよいし、他の拡張ユニットに設けられてもよい。また、拡張ユニット4aは、収集したデータを基本ユニット3からの指示や所定のタイミングに従って分析を行う分析装置として機能してもよい。本実施形態では、拡張ユニット4aが分析装置として機能する例が説明される。ただし、本発明を限定する意図は存在しない。基本ユニット3が分析装置として機能してもよいし、PC2などの外部装置が分析装置として機能してもよい。PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。 The extension unit 4a collects symbol values from symbols (devices, variables, etc.) in the basic unit 3, analyzes the symbol values, and creates an analysis report containing the analysis results. The expansion unit 4a may have a web server that provides analysis reports to the external PC2. The basic unit 3 is sometimes called a CPU unit. In this embodiment, an example in which the expansion unit (analysis unit) 4a has a collecting section for collecting symbol values will be described. However, the collection unit may be provided in the basic unit 3 or may be provided in another expansion unit. Further, the expansion unit 4a may function as an analysis device that analyzes collected data according to instructions from the basic unit 3 or predetermined timing. In this embodiment, an example in which the expansion unit 4a functions as an analysis device will be described. However, there is no intention to limit the invention. The basic unit 3 may function as an analyzer, or an external device such as the PC 2 may function as an analyzer. A system including PLC1 and PC2 may be called a programmable logic controller system.

PC2は主にプログラマーによって操作されるコンピュータである。PC2はプログラム作成支援装置(監視装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータまたはスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2を用いて作成される。その作成されたラダープログラムは、PC2内でニモニックコードに変換される。PC2は、たとえば、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9aを介してPLC1の基本ユニット3に接続される。ただし、通信ケーブル9aは、通信ケーブル9bと同様な、ネットワークケーブルなどであってもよい。なお、PC2は、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより設定されてもよい。プログラマブル表示器がWebブラウザ機能を搭載しており、Webブラウザ機能により分析結果等を表示してもよい。 PC2 is a computer operated primarily by a programmer. The PC 2 may be called a program creation support device (monitoring device). The PC 2 is, for example, a portable notebook-type or tablet-type personal computer or a smart phone, and is an external computer provided with a display unit 7 and an operation unit 8 . An external computer is a computer outside PLC1. A ladder program, which is an example of a user program for controlling the PLC1, is created using the PC2. The created ladder program is converted into a mnemonic code within the PC2. The PC 2 is connected to the basic unit 3 of the PLC 1 via a communication cable 9a such as, for example, a USB (Universal Serial Bus) cable. However, the communication cable 9a may be a network cable or the like similar to the communication cable 9b. The PC 2 may be a programmable display whose screen is set by the user. In this case, the screen for displaying the analysis results and the like may be set by the user. The programmable display is equipped with a web browser function, and analysis results and the like may be displayed by the web browser function.

図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9bを介して、PLC1の基本ユニット3または拡張ユニット4aに対して着脱可能に接続されてもよい。通信ケーブル9bは、いわゆるLANケーブルであってもよい。PC2は、通信ケーブル9a、9bを介さず、PLC1の基本ユニット3に対して無線通信によって接続されてもよい。 Although not shown in FIG. 1 , the operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2 . Also, the PC 2 may be detachably connected to the basic unit 3 or the expansion unit 4a of the PLC 1 via a communication cable 9b other than the USB cable. The communication cable 9b may be a so-called LAN cable. The PC 2 may be connected to the basic unit 3 of the PLC 1 by wireless communication without using the communication cables 9a, 9b.

<プログラム作成支援装置>
図2はPC2の電気的構成について説明するためのブロック図である。図2が示すように、PC2は、CPU11、表示部7、操作部8、記憶装置12および通信部13a、13bを備えている。表示部7、操作部8、記憶装置12および通信部13a、13bは、それぞれCPU11に対して電気的に接続されている。記憶装置12はRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
<Program creation support device>
FIG. 2 is a block diagram for explaining the electrical configuration of the PC2. As shown in FIG. 2, the PC 2 includes a CPU 11, a display section 7, an operation section 8, a storage device 12, and communication sections 13a and 13b. The display unit 7, the operation unit 8, the storage device 12, and the communication units 13a and 13b are electrically connected to the CPU 11, respectively. The storage device 12 includes RAM, ROM, HDD, SSD, and may also 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. HDD is an abbreviation for hard disk drive. SSD is an abbreviation for solid state drive.

PC2のユーザは記憶装置12に記憶されているプロジェクト編集プログラム14aをCPU11に実行させて、操作部8を通じてプロジェクトデータを編集する。つまり、PC2は、エンジニアリングツールであり、プログラム作成支援装置としても機能する。プロジェクトデータは、一つ以上のユーザープログラム(例:ラダープログラム)と、基本ユニット3や拡張ユニット4の構成情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置や、基本ユニット3に備えられた機能(例:通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例:撮影機能)などを示す情報、およb、デバイスの割り当て情報などである。ここで、プロジェクトデータの編集には、プロジェクトデータの作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、プロジェクト編集プログラム14aを用いて変更する。通信部13aは、通信ケーブル9aを介して基本ユニット3と通信する。CPU11は通信部13aを介してプロジェクトデータを基本ユニット3に転送する。通信部13aは、USB規格に準拠した通信を実行可能な通信回路などを含む。通信部13bは、通信ケーブル9bを介して拡張ユニット4aと通信する。通信部13bは、ネットワーク通信回路を含む。Webサーバプログラム14cはプロジェクト編集プログラム14aの一部として実装される。Webブラウザプログラム14dは、通信部13aを介して拡張ユニット4aがWeb形式で記述された分析レポートを受信して表示部7に表示する。なお、Webブラウザプログラム14dは、Webサーバプログラム14cに対して、分析レポートを提供するよう要求してもよい。Webサーバプログラム14cは、通信部13aおよび基本ユニット3を介して拡張ユニット4aにアクセスし、分析レポートを取得し、Webブラウザプログラム14dへ転送してもよい。 The user of the PC 2 causes the CPU 11 to execute the project editing program 14a stored in the storage device 12 and edits the project data through the operation section 8. FIG. In other words, the PC 2 is an engineering tool and also functions as a program creation support device. The project data includes one or more user programs (eg ladder program), configuration information of the basic unit 3 and expansion unit 4, and the like. The configuration information includes information indicating connection positions of a plurality of extension units 4 to the base unit 3, functions provided in the base unit 3 (eg, communication function and positioning function), and functions of the extension unit 4 (eg, imaging function). and b, device allocation information, and the like. Here, editing project data includes creating and changing (re-editing) project data. The user reads the project data stored in the storage device 12 as necessary and changes the project data using the project editing program 14a. The communication section 13a communicates with the basic unit 3 via the communication cable 9a. The CPU 11 transfers the project data to the basic unit 3 via the communication section 13a. The communication unit 13a includes a communication circuit and the like capable of executing communication conforming to the USB standard. The communication unit 13b communicates with the expansion unit 4a via the communication cable 9b. Communication unit 13b includes a network communication circuit. The web server program 14c is implemented as part of the project editing program 14a. The Web browser program 14 d receives the analysis report described in the Web format by the extension unit 4 a via the communication section 13 a and displays it on the display section 7 . The web browser program 14d may request the web server program 14c to provide an analysis report. The web server program 14c may access the extension unit 4a via the communication section 13a and the basic unit 3, acquire the analysis report, and transfer it to the web browser program 14d.

<PLC>
図3はPLC1の電気的構成について説明するためのブロック図である。図3が示すように、基本ユニット3は、CPU31、表示部5、操作部6、記憶装置32および通信部33を備えている。表示部5、操作部6、記憶装置32、および通信部33は、それぞれCPU31に電気的に接続されている。記憶装置32は、RAMやROM、メモリカードなどを含んでもよい。記憶装置32はデバイス部34やプロジェクト記憶部35、リングバッファ36、運転記録記憶部37などの複数の記憶領域を有している。デバイス部34はビットデバイスやワードデバイスなどを有し、各デバイスはデバイス値を記憶する。プロジェクト記憶部35は、PC2から転送されたプロジェクトデータを記憶する。リングバッファ36は、定期的にデバイス部34からデバイス値を収集して記憶する。運転記録記憶部37は、所定のイベントが発生すると、発生時刻の周辺(発生時刻以前、発生時刻以後、または、発生時刻の前後)に収集されたデバイス値とその収集時刻とを含むイベント記録を記憶する。イベントとは、たとえば、デバイスごとに設定された警報条件または注意条件が満たされたことをいう。警報条件とは、たとえば、PLC1による製造ラインの制御動作を停止すべきような条件をいう。注意条件は、たとえば、PLC1による製造ラインの制御動作について管理者が注意すべきようなデバイス値の条件をいう。CPU41は、PC2からの要求に応答してイベント記録をPC2へ送信する。また、CPU31は、リアルタイムでデバイス値をPC2に提供してもよい。記憶装置32は基本ユニット3のCPU31により実行される制御プログラムも記憶する。図3が示すように基本ユニット3と拡張ユニット4とは拡張バスの一種であるユニット内部バス90を介して接続されている。なお、ユニット内部バス90に関する通信機能はCPU31に実装されるが、通信部33の一部として実装されてもよい。通信部33は、USB規格などに準拠したシリアル通信回路を有してもよい。CPU31は通信部33を介してプロジェクトデータをPC2から受信する。
<PLC>
FIG. 3 is a block diagram for explaining the electrical configuration of the PLC1. As shown in FIG. 3, the basic unit 3 includes a CPU 31, a display section 5, an operation section 6, a storage device 32 and a communication section 33. The display unit 5, the operation unit 6, the storage device 32, and the communication unit 33 are electrically connected to the CPU 31, respectively. The storage device 32 may include RAM, ROM, memory cards, and the like. The storage device 32 has a plurality of storage areas such as a device section 34, a project storage section 35, a ring buffer 36, a driving record storage section 37, and the like. The device unit 34 has bit devices, word devices, etc., and each device stores a device value. The project storage unit 35 stores the project data transferred from the PC2. The ring buffer 36 periodically collects and stores device values from the device unit 34 . When a predetermined event occurs, the driving record storage unit 37 stores an event record including the device values collected around the occurrence time (before the occurrence time, after the occurrence time, or before and after the occurrence time) and the collection time. Remember. An event means, for example, that an alarm condition or caution condition set for each device is met. An alarm condition is, for example, a condition under which the control operation of the manufacturing line by the PLC 1 should be stopped. The caution condition is, for example, a device value condition that the manager should pay attention to when controlling the manufacturing line by the PLC 1 . The CPU 41 transmits the event record to the PC2 in response to the request from the PC2. Also, the CPU 31 may provide the device value to the PC 2 in real time. The storage device 32 also stores control programs executed by the CPU 31 of the basic unit 3 . As shown in FIG. 3, the basic unit 3 and the expansion unit 4 are connected via a unit internal bus 90 which is a kind of expansion bus. Although the communication function related to the unit internal bus 90 is implemented in the CPU 31, it may be implemented as part of the communication section 33. FIG. The communication unit 33 may have a serial communication circuit conforming to the USB standard or the like. The CPU 31 receives project data from the PC 2 via the communication section 33 .

ここで、ユニット内部バス90について、補足説明する。このユニット内部バス90は、入出力リフレッシュに使用される通信バスである。入出力リフレッシュとは、基本ユニット3と拡張ユニット4との間でデバイス値を更新する処理である。入出力リフレッシュは、ラダープログラムが一回実行されるごとに(つまり、一スキャンごとに)、実行される。 Here, the unit internal bus 90 will be additionally explained. This unit internal bus 90 is a communication bus used for input/output refresh. Input/output refresh is processing for updating device values between the basic unit 3 and the expansion unit 4 . The input/output refresh is executed each time the ladder program is executed (that is, each scan).

運転記録記憶部37に記録される運転記録(デバイス値とその収集時刻など)とは、PLC1の運転状態をスキャンタイムレベルで記録したものであってもよい。たとえば、運転記録は、PLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とを、一スキャン毎に時系列に記録することであってもよい。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボルであってもよいし、ユーザにより選択されるプログラム単位やユニット単位に含まれるすべてのシンボルであってもよい。この場合、運転記録の対象となるシンボルは、プログラム単位やユニット単位のように、有意な単位で一括して選択されてもよい。運転記録の対象となるシンボルは、個別に加除(追加または削除)されてもよい。たとえば、トラブル発生時に、トラブル発生時刻の周辺においてPLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とが、一スキャン毎に時系列に記録した運転記録が生成されてもよい。ユーザは運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することが可能となろう。運転記録には、その時の状況を再現するために多くの情報が含まれるかもしれない。情報が多いと運転記録のデータ容量が大きくなり、運転記録の取り扱い(データ処理など)が難しくなったり、運転記録の収集に負荷がかかったりする。そのため、収集対象となるシンボルは、プログラム単位やユニット単位でユーザにより選択できるようになっている。 The operation record (device value and its collection time, etc.) recorded in the operation record storage unit 37 may be a record of the operating state of the PLC 1 at the scan time level. For example, the operation record may be to record the symbol values of all the symbols related to the operation of the PLC 1 and their collection times in chronological order for each scan. All symbols related to operation may be, for example, all symbols used in user programs such as ladder programs, or all symbols included in program units or unit units selected by the user. good. In this case, the symbols to be the target of the operation record may be collectively selected in significant units such as program units or unit units. Symbols that are targets of driving records may be added or removed (added or deleted) individually. For example, when a trouble occurs, an operation record may be generated in which the symbol values of all symbols related to the operation of the PLC 1 around the trouble occurrence time and their collection times are recorded in time series for each scan. Based on the driving record, the user will be able to accurately grasp what happened when the trouble occurred even later. Driving records may contain a lot of information to reconstruct the situation at that time. If there is a lot of information, the data volume of the driving record becomes large, making it difficult to handle the driving record (data processing, etc.) and burdening the collection of the driving record. Therefore, the symbols to be collected can be selected by the user on a program-by-program or unit-by-unit basis.

また、運転記録には、シンボルに加え、時系列のカメラ画像がその撮像時刻ともに含まれていてもよい。これにより、ユーザは、たとえば、トラブル発生時に、トラブル発生時刻の周辺に遡って何が起きたかを後からでも正確に把握できるようになろう。とりわけ、設備の外観変化を示すカメラ画像が運転記録に含まれていることは、状況を把握することに役立つであろう。そのため、ユーザプログラムの実行の時系列と連動してカメラ画像が記録されてもよい。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴が変化点イベントとして運転記録に含まれてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかをユーザは時系列で確認できる。 In addition to the symbols, the driving record may include time-series camera images together with their imaging times. As a result, for example, when a trouble occurs, the user will be able to accurately grasp what happened around the time when the trouble occurred. In particular, the inclusion of camera images showing changes in the appearance of the facility in the driving record would be useful in grasping the situation. Therefore, camera images may be recorded in conjunction with the time series of execution of the user program. A writing history from an external device such as an HMI (Human Machine Interface) or a PC or a writing history from a PLC may be included in the driving record as change point events. As a result, for example, the user can confirm in chronological order what kinds of change point events occurred before and after the trouble occurred.

別の観点から補足すると、運転記録は、保存トリガ条件の成立に応じて保存された、デバイス、拡張ユニット4のバッファメモリ、変数など、スキャンタイム毎のデータの総称と呼ばれてもよい。運転記録には、保存トリガ条件の成立に応じて保存された、フレームごとに拡張ユニット(カメラユニット)で取得した映像データが含まれてもよい。また、運転記録には、保存トリガ条件の成立に応じて保存された、エラーやデバイス値変更などのイベント履歴が含まれてもよい。さらに、運転記録には、保存トリガ条件の成立時に実行されていたラダープログラム(プロジェクトデータ)が含まれてもよい。運転記録が生成された際のプロジェクトデータを運転記録に含ませることで、プロジェクトデータに複数のバージョンが存在しても、運転記録を生成したときに実際に使用されていたプロジェクトデータにより状況を再現することができる。運転記録には、分析レポートが含まれてもよい。 Supplementally from a different point of view, the driving record may also be called a general term for data for each scan time, such as devices, buffer memory of the expansion unit 4, variables, etc., saved in response to the establishment of the save trigger condition. The driving record may include video data acquired by the expansion unit (camera unit) for each frame, which is stored in response to the establishment of the storage trigger condition. The driving record may also include event history such as errors and device value changes that are saved according to the satisfaction of the save trigger condition. Furthermore, the driving record may include the ladder program (project data) that was being executed when the save trigger condition was met. By including the project data when the driving record was generated in the driving record, even if there are multiple versions of the project data, the situation is reproduced by the project data that was actually used when the driving record was generated. can do. Driving records may include analytical reports.

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

データ活用ユニット(分析ユニット)として機能する拡張ユニット4aのCPU41aは、通信部43と通信ケーブル9bを介してPC2と通信する。通信部43は、ネットワーク通信を実行する通信回路を含む。CPU41aは、メモリ42aに格納されたデータ活用プログラムを実行し、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。CPU41aは、データ活用アプリケーションとして運転記録分析アプリケーションが設定されると、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。たとえば、CPU41aは、運転記録データに含まれるシンボル値を分析することで、非正常シンボルと当該シンボルが非正常となった時刻とを特定し、非正常シンボルと当該シンボルが非正常となった時刻とを対応づけた分析結果を含む分析レポートを作成する。運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための情報を含んでいる。そのため、運転記録データは分析レポートと紐づけて管理されてもよい。また、運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための多くのシンボルのシンボル値を含む。そのため、運転記録データのデータサイズは大きくなりやすい。たとえば、CPU41aは、運転記録データの中から、分析レポートに必要なデータを読み出して、分析レポート用のデータとして運転記録データに追加保存してもよい。ここで、追加保存とは、たとえば、分析レポートに必要なデータを運転記録データから読み出してコピーし、コピーされたデータをタグ付けすることで作成された分析レポート用のデータを、運転記録データに追加保存することをいう。このようにデータをタグ付けしておくなど、データ加工を適用することで、分析レポートを作成しやすくなる。 The CPU 41a of the expansion unit 4a that functions as a data utilization unit (analysis unit) communicates with the PC 2 via the communication section 43 and the communication cable 9b. Communication unit 43 includes a communication circuit that performs network communication. The CPU 41a executes the data utilization program stored in the memory 42a, analyzes the device values collected in the basic unit 3, and creates an analysis report including the analysis results. When the driving record analysis application is set as the data utilization application, the CPU 41a analyzes the device values collected in the basic unit 3 to create an analysis report including the analysis results. For example, the CPU 41a identifies the abnormal symbol and the time when the symbol becomes abnormal by analyzing the symbol values included in the driving record data, and identifies the abnormal symbol and the time when the symbol becomes abnormal. create an analysis report containing analysis results that correspond to The drive record data includes information for reproducing the situation around the time when the save event of the drive record occurred. Therefore, the driving record data may be managed in association with the analysis report. Further, the driving record data includes symbol values of many symbols for reproducing the situation around the time when the driving record save event occurred. Therefore, the data size of the driving record data tends to be large. For example, the CPU 41a may read out data necessary for the analysis report from the driving record data and additionally store the read data in the driving record data as data for the analysis report. Here, additional storage means, for example, reading the data necessary for the analysis report from the driving record data, copying it, and adding the data for the analysis report created by tagging the copied data to the driving record data. This means additional storage. Applying data processing such as tagging data in this way makes it easier to create analysis reports.

運転記録データにカメラ画像が含まれてもよい。この場合、カメラ画像を再生することにより、ユーザは、運転記録の保存イベント発生時刻周辺の状況をより詳細に把握することができる。分析レポートはカメラ画像を再生するUI(ユーザインターフェース)を含んでもよい。カメラ画像はデータサイズが大きい。そのため、カメラ画像を再生するUIにおいてクリックやスクロール操作を受け付けた時などに、必要なカメラ画像データだけが部分的にダウンロードされてもよい。たとえば、CPU41aは、分析レポートを作成する際、カメラ画像を分析レポートにおける表示順序に対応して加工したり、時刻とカメラ画像の保存位置の対応関係を示すインデックス情報を生成したりしてもよい。これにより、CPU41aは、表示時刻(再生用の内部時計の時刻)に対応したカメラ画像を高速かつ部分的にダウンロードしてもよい。 A camera image may be included in the driving record data. In this case, by reproducing the camera image, the user can grasp in more detail the situation around the time when the storage event of the driving record occurred. The analysis report may include a UI (user interface) that reproduces camera images. Camera images have a large data size. Therefore, only necessary camera image data may be partially downloaded when a click or scroll operation is received on the UI for reproducing camera images. For example, when creating an analysis report, the CPU 41a may process the camera images in accordance with the display order in the analysis report, or generate index information indicating the correspondence between the times and the storage positions of the camera images. . Thereby, the CPU 41a may download the camera image corresponding to the display time (the time of the internal clock for reproduction) at high speed and partially.

分析レポートは、狭義には、分析結果そのものを意味するが、広義には、分析結果を表示するWebアプリケーションやそのユーザインタフェースを意味することがある。CPU41aは、たとえば、デバイス値が正常範囲内かどうかや、デバイス値が変化するタイミングが正常範囲内かどうかなどを判定する。デバイス値が変化するタイミングが正常範囲内かどうかは、たとえば、デバイス値が"1"(オン)である期間の長さが正常範囲かどうかであってもよい。また、ある工程またはサイクルにおけるデバイス値の変化回数が正常範囲内かどうかが判定されてもよい。あるデバイスから収集されたデバイス値が正常条件を満たしていない場合、そのデバイスは、いつもと違う振る舞いのデバイスであるとして、非正常デバイスと呼ばれてもよい。CPU41aは、Web形式の分析レポートを作成し、通信部43および通信ケーブル9bを介して分析レポートをPC2のWebブラウザに提供してもよい。CPU31がプロトコル変換機能を有している場合、CPU41aは、ユニット内部バス90、CPU31、通信部33および通信ケーブル9aを介して、分析レポートをPC2に送信してもよい。分析レポートは、グラフ表示部品や数値表示部品などを有してもよい。これらの表示部品は、フロントエンドの構造を記述するマークアップデータ(例:HTMLデータ)、装飾を記述するスタイルデータ(例:CSSデータ)および動的な処理を記述するコード(例:JavaScript(登録商標)コード)などにより実現される。HTMLはハイパーテキストマークアップ言語の略称である。CSSはカスケーディングスタイルシートの略称である。 In a narrow sense, the analysis report means the analysis result itself, but in a broader sense, it may mean a web application displaying the analysis result and its user interface. The CPU 41a determines, for example, whether the device value is within the normal range and whether the timing at which the device value changes is within the normal range. Whether the timing at which the device value changes is within the normal range may be, for example, whether the length of the period during which the device value is "1" (on) is within the normal range. It may also be determined whether the number of device value changes in a step or cycle is within a normal range. If the device values collected from a device do not meet normal conditions, the device may be called an abnormal device as it behaves differently than usual. The CPU 41a may create a web-format analysis report and provide the analysis report to the web browser of the PC 2 via the communication unit 43 and the communication cable 9b. If the CPU 31 has a protocol conversion function, the CPU 41a may transmit the analysis report to the PC 2 via the unit internal bus 90, CPU 31, communication section 33 and communication cable 9a. The analysis report may have a graph display component, a numerical display component, and the like. These display components consist of markup data (example: HTML data) that describes the structure of the front end, style data (example: CSS data) that describes decoration, and code that describes dynamic processing (example: JavaScript (registered trademark)). ) code). HTML is an abbreviation for Hypertext Markup Language. CSS is an abbreviation for Cascading Style Sheets.

図4はPC2のCPU11によって実現される機能を説明する図である。プロジェクト編集部50は、CPU11がプロジェクト編集プログラム14aを実行することで実現される機能である。プロジェクト編集部50は、操作部8を通じて入力されるユーザ指示にしたがってユーザプログラムを含むプロジェクトデータを作成する。Webサーバ51は、HTTP(ハイパーテキストトランスファープロト)にしたがってWebブラウザ60と通信してWebブラウザ60に表示部品を提供する。プロトコル変換部52は、HTTPを所定の通信プロトコルに変換する。所定の通信プロトコルとは、通信部13aと通信部33との間の通信で利用される通信プロトコルである。たとえば、Webブラウザ60がHTTPリクエストにより分析レポートを要求すると、Webサーバ51はHTTPリクエストをプロトコル変換部52に渡す。HTTPリクエストには、CPU41aで実行され、分析レポートを提供する拡張ユニット4a(Webサーバ)のURL(ユニフォームリソースロケータ)が含まれている。プロトコル変換部52は、HTTPリクエストをカプセル化して、所定の通信プロトコルで送信可能な要求信号(コマンド)に変換する。この要求信号は、基本ユニット3のCPU31に渡され、さらに、拡張ユニット4aのCPU41aに渡される。CPU41aは、CPU31を介してCPU11に分析レポートを返信する。CPU11のWebサーバ51は、分析レポートをWebブラウザ60に渡す。これによりWebブラウザ60は表示部7に分析レポートを表示する。 FIG. 4 is a diagram for explaining functions realized by the CPU 11 of the PC 2. As shown in FIG. The project editing unit 50 is a function realized by the CPU 11 executing the project editing program 14a. The project editing unit 50 creates project data including user programs according to user instructions input through the operation unit 8 . The web server 51 communicates with the web browser 60 according to HTTP (hypertext transfer protocol) and provides the web browser 60 with display components. The protocol converter 52 converts HTTP into a predetermined communication protocol. The predetermined communication protocol is a communication protocol used for communication between the communication units 13 a and 33 . For example, when the web browser 60 requests an analysis report using an HTTP request, the web server 51 passes the HTTP request to the protocol converter 52 . The HTTP request contains the URL (Uniform Resource Locator) of the expansion unit 4a (Web server) which is executed by the CPU 41a and which provides the analysis report. The protocol converter 52 encapsulates the HTTP request and converts it into a request signal (command) that can be transmitted using a predetermined communication protocol. This request signal is passed to the CPU 31 of the basic unit 3 and further passed to the CPU 41a of the expansion unit 4a. The CPU 41a returns an analysis report to the CPU 11 via the CPU 31. FIG. The web server 51 of the CPU 11 delivers the analysis report to the web browser 60 . The web browser 60 thereby displays the analysis report on the display unit 7 .

ダウンロード部53は、運転記録などを基本ユニット3からダウンロードして記憶装置12に格納する。デバッグ部54は、ユーザプログラムをデバッグし、表示部7にデバッグ結果を表示する。ラダーモニタ部56は、ユーザプログラムに記述されているシンボルに格納される値を運転記録から取得して、ユーザプログラム中のシンボルに対してその値を強調表示する。たとえば、ラダープログラムのラダー図に描画されるデバイスに対して、運転記録から取得されたデバイス値を関係づけて表示してもよい。リレーションマップ部55は、分析レポートにおいて表示される非正常デバイスに関連しているデバイスを示すリレーションマップを作成して表示部7に表示する。非正常デバイスとは、そのデバイス値が正常条件を満たしていないか、または、そのデバイス値の変化するタイミングが正常条件を満たしていないデバイスである。リレーションマップは、たとえば、非正常デバイスに対して影響を与えるデバイス(入力デバイス)と非正常デバイスとの関係を視覚的に示すUIである。リレーションマップは、非正常デバイスから影響を受けるデバイス(出力デバイス)と非正常デバイスとの関係も表示してもよい。デバッグ部54は、非正常デバイスとその関連デバイスとをラダープログラムを分析することで取得し、リレーションマップを作成する。 The download unit 53 downloads driving records and the like from the basic unit 3 and stores them in the storage device 12 . The debug unit 54 debugs the user program and displays the debug result on the display unit 7 . The ladder monitor unit 56 acquires the values stored in the symbols described in the user program from the driving record, and highlights the values for the symbols in the user program. For example, the device values obtained from the driving records may be displayed in association with the devices drawn in the ladder diagram of the ladder program. The relationship map unit 55 creates a relationship map showing devices related to the abnormal devices displayed in the analysis report and displays it on the display unit 7 . An abnormal device is a device whose device value does not satisfy normal conditions or whose device value change timing does not satisfy normal conditions. A relation map is, for example, a UI that visually indicates the relationship between a device (input device) that affects an abnormal device and the abnormal device. The relation map may also display the relationship between the device (output device) affected by the abnormal device and the abnormal device. The debug unit 54 acquires the abnormal device and its related devices by analyzing the ladder program, and creates a relation map.

受付部57は、ユーザプログラムに対する編集操作およびデバッグ処理に対する操作などを受け付ける。通知処理部58は、PLC1において通知が発行されているかどうかをポーリングにより取得し、取得した通知を表示部7に表示する。通知としては、たとえば、分析レポートの作成が完了したことなどである。再生部59は、たとえば、受付部57または連携部64から入力される再生要求に応じて、ダウンロード部53に運転記録をダウンロードさせて記憶装置12に保存させる。再生要求には、たとえば、運転記録を特定可能な識別情報(例:固有の識別情報やPLC1における保存パス名)などが含まれていてもよい。再生部59は、記憶装置12に保存されている運転記録を再生して表示部7に表示する。再生部59は、デバック部54の代わりに、ラダーモニタ部56を有していてもよい。あるいは、再生部59がデバック部54に含まれていてもよい。再生部59は、PLC1からリアルタイムで取得される時系列のデバイス値を波形化して表示したり、運転記録に含まれる時系列のデバイス値を波形化して表示したりしてもよい。 The accepting unit 57 accepts an editing operation for a user program, an operation for debugging processing, and the like. The notification processing unit 58 acquires by polling whether or not the PLC 1 has issued a notification, and displays the acquired notification on the display unit 7 . The notification is, for example, that the preparation of the analysis report has been completed. Reproduction unit 59 causes download unit 53 to download the driving record and store it in storage device 12 , for example, in response to a reproduction request input from reception unit 57 or cooperation unit 64 . The reproduction request may include, for example, identification information that can identify the driving record (eg, unique identification information or a storage path name in the PLC 1). The reproducing unit 59 reproduces the driving record stored in the storage device 12 and displays it on the display unit 7 . The playback unit 59 may have a ladder monitor unit 56 instead of the debug unit 54 . Alternatively, the playback section 59 may be included in the debug section 54 . The reproducing unit 59 may waveform and display the time-series device values obtained from the PLC 1 in real time, or may waveform and display the time-series device values included in the driving record.

Webブラウザ60は、Webアプリケーション61を実行することで分析レポートを表示部7に表示してもよい。Webアプリケーション61は、たとば、HTMLデータ、CSSデータおよびjava(R)スクリプトなどにより構成される。Webアプリケーション61は、拡張ユニット4aから提供されてもよい。通信処理部62は、Webサーバ51との通信を処理する。データ取得部63は、分析レポートに表示すべき運転記録をプロジェクト編集部50から取得する。運転記録は、ダウンロード部53によって記憶装置12にすでに保存されているものとする。連携部64は、分析レポートにおいてユーザにより指定または選択されたデバイスなどを示す指定情報をデバッグ部54などに渡す。これにより、デバッグ部54は、分析レポートにおいて指定された非正常デバイスのリレーションマップを表示したり、ラダープログラムにおいて非正常デバイスが記述されている部分を表示したりすることができる。ユーザは、非正常デバイスに関してラダープログラムを容易に編集することができる。描画部65は分析レポートを表示部7に表示する。また、連携部64は、分析レポートにおける再生時刻(選択時刻)と、プロジェクト編集部50における運転記録の再生時刻とが同期するように時刻管理を実行する。 The web browser 60 may display the analysis report on the display unit 7 by executing the web application 61 . The web application 61 is composed of, for example, HTML data, CSS data, java(R) scripts, and the like. The web application 61 may be provided from the expansion unit 4a. The communication processing unit 62 processes communication with the web server 51 . The data acquisition unit 63 acquires driving records to be displayed in the analysis report from the project editing unit 50 . It is assumed that the driving record has already been saved in the storage device 12 by the download unit 53 . The linking unit 64 passes specification information indicating the device specified or selected by the user in the analysis report to the debugging unit 54 or the like. As a result, the debug unit 54 can display the relation map of the abnormal device specified in the analysis report, or display the part where the abnormal device is described in the ladder program. A user can easily edit the ladder program for the abnormal device. The drawing unit 65 displays the analysis report on the display unit 7. FIG. In addition, the cooperation unit 64 performs time management so that the reproduction time (selection time) in the analysis report and the reproduction time of the driving record in the project editing unit 50 are synchronized.

図5はPLC1においてCPU31とCPU41aとが制御プログラムを実行することで実現する機能を示している。CPU31においてコマンド処理部71は、PC2から受信されるコマンドを解釈し、解釈結果に対応した処理を実行する。たとえば、HTTPリクエストをカプセル化して作成された要求信号が受信されると、コマンド処理部71は、要求信号をCPU41aに転送する。要求信号に対する応答信号がCPU41aから受信されると、コマンド処理部71は、応答信号をPC2へ転送する。収集部72は、基本ユニット3や拡張ユニット4bからシンボル値(デバイス値や変数に格納された値)を収集してリングバッファ36に格納する。ロギング部73は、収集されたシンボル値などに基づき、何らかのエラーまたはトラブル(非正常イベント)がPLC1において生じているかどうかを判定する。たとえば、ロギング部73は、収集されたシンボル値が記録条件を満たしているかどうかを判定してもよい。収集されたシンボル値が記録条件を満たしている場合に、ロギング部73は、当該シンボル値を運転記録74内の稼働ログ76として保存する。たとえば、ロギング部73は、運転記録74を格納するためのフォルダを作成し、そこに稼働ログ76を保存する。ロギング部73は、運転記録を作成したときに実行されていたプロジェクトデータ75をプロジェクト記憶部35から読み出して、運転記録74内に保存する。さらに、ロギング部73は、運転記録74を作成したことを分析部83に通知する。 FIG. 5 shows functions realized by the CPU 31 and the CPU 41a executing the control program in the PLC 1. As shown in FIG. A command processing unit 71 in the CPU 31 interprets a command received from the PC 2 and executes processing corresponding to the interpretation result. For example, when a request signal created by encapsulating an HTTP request is received, the command processing unit 71 transfers the request signal to the CPU 41a. When a response signal to the request signal is received from the CPU 41a, the command processing section 71 transfers the response signal to the PC2. The collection unit 72 collects symbol values (device values and values stored in variables) from the basic unit 3 and the expansion unit 4b and stores them in the ring buffer 36 . The logging unit 73 determines whether any error or trouble (abnormal event) has occurred in the PLC 1 based on the collected symbol values and the like. For example, the logging unit 73 may determine whether the collected symbol values satisfy recording conditions. When the collected symbol values satisfy the recording conditions, the logging unit 73 saves the symbol values as an operation log 76 within the operation record 74 . For example, the logging unit 73 creates a folder for storing the driving record 74 and saves the operation log 76 there. The logging unit 73 reads the project data 75 that was being executed when the driving record was created from the project storage unit 35 and saves it in the driving record 74 . Furthermore, the logging unit 73 notifies the analysis unit 83 that the driving record 74 has been created.

なお、CPU31またはCPU41aは、オペレータの入力に従って後述される学習モデルの生成や、分析、分析レポートの生成に利用する制御サイクルを設定するための設定部を有していてもよい。制御サイクルは、サイクルの基準となるタイミングを指定することで設定される。制御サイクルの設定はサイクル設定と呼ばれてもよい。たとえば、サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とを含む。サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの開始タイミングの設定情報と、サイクルの終了タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの終了タイミングの設定情報を含んでいてもよい。設定部による制御サイクルの設定はCSV等のファイル形式でPLC1に提供され、設定部がCSV等のファイルを読み出して制御サイクルを設定してもよい。たとえば、設定部によって設定された制御サイクルは、当該サイクルに同期するデバイスを分類して当該分類情報を属性情報としてモデルへ付加したり、分析対象とするデバイスを制御サイクルによって絞ったり、制御サイクルに同期して表示される分析レポートを生成したりするために用いられる。設定される制御サイクルは複数であってもよい。また、制御サイクルは必ずしも設定される必要はない。たとえば、正常時におけるシンボル値の取り得る値が予め決まっている場合、シンボル値がその予め決まっている取り得る値か否かを判定することで、非正常シンボルかどうかが判定されてもおい。 Note that the CPU 31 or CPU 41a may have a setting unit for setting a control cycle used for generating a learning model, analysis, and analysis report generation according to an operator's input. A control cycle is set by specifying the timing that serves as a reference for the cycle. A control cycle setting may be referred to as a cycle setting. For example, the cycle setting includes a symbol name that defines the start timing of the cycle and rising/falling edge information of the symbol value. The cycle setting includes a symbol name that defines the cycle start timing, cycle start timing setting information based on rising/falling edge information of the symbol value, a symbol name that defines the cycle end timing, and the symbol value. It may contain setting information for cycle end timing based on rising/falling edge information. The setting of the control cycle by the setting unit may be provided to the PLC 1 in a file format such as CSV, and the setting unit may read the file such as CSV to set the control cycle. For example, the control cycle set by the setting unit can classify devices synchronized with the cycle and add the classification information to the model as attribute information, narrow down the devices to be analyzed by the control cycle, It is used to generate analysis reports that are displayed synchronously. A plurality of control cycles may be set. Also, the control cycle does not necessarily have to be set. For example, if the possible values of the symbol value in the normal state are determined in advance, it may be determined whether or not the symbol value is the abnormal symbol by determining whether or not the symbol value is the predetermined possible value.

CPU41aにおいてプロトコル変換部81は、PC2からCPU31を介してカプセル化されて転送されてきたHTTPリクエストをプロトコル変換して要求信号からとりだす。プロトコル変換部81は、HTTPリクエストに対してWebサーバ82から送信される応答情報をカプセル化してCPU31に渡す。以下においてもPC2のWebブラウザ60と、拡張ユニット4aのWebサーバ82とは、PC2内のWebサーバ51やプロトコル変換部52、81、コマンド処理部71などを介して間接的に通信することができる。プロトコル変換部52、81は透過的なトンネル(例:TCPトンネル)を提供してもよい。Webサーバ82は、分析部83により作成された分析レポートをPC2へ提供する。分析部83は、運転記録74内の稼働ログ76を分析し、分析結果77を作成して、ロギング部73に渡す。分析部83が分析結果77を作成すると、ロギング部73は、プロジェクトデータ75および稼働ログ76に加えて、分析結果77を含む運転記録74に追加する。運転記録74は、運転記録記憶部37に格納される。このように、運転記録74は、PLC1において異常なイベントが発生したときのプロジェクトデータ75、稼働ログ76および分析結果77が関連付けて記憶されるため、異常なイベントが発生したときのPLC1の状態を正確に再現しやすくなる。たとえば、ラダー図上でデバイス値の変化を視覚的に再現することで、ユーザは、ラダープログラムをデバッグしやすくなるであろう。とりわけ、PC2に保存されているプロジェクトデータを用いると、異常なイベントが発生したときのPLC1の状態を正確に再現することが困難となることがある。PC2に保存されているプロジェクトデータと、異常なイベントが発生したときにPLC1で実行されていたプロジェクトデータ75が一致しないことがあるからである。そこで、異常なイベントが発生したときにPLC1で実行されていたプロジェクトデータ75が運転記録74に保存される。通知発行部84は、分析結果77が発行されると、通知を発行する。この通知は、CPU11に送信される。 In the CPU 41a, the protocol conversion unit 81 converts the protocol of the HTTP request transferred from the PC 2 via the CPU 31 in an encapsulated form and extracts it from the request signal. The protocol conversion unit 81 encapsulates response information transmitted from the web server 82 in response to the HTTP request and passes it to the CPU 31 . In the following also, the web browser 60 of the PC 2 and the web server 82 of the expansion unit 4a can indirectly communicate via the web server 51, the protocol conversion units 52 and 81, the command processing unit 71, etc. in the PC 2. . The protocol converters 52, 81 may provide transparent tunnels (eg TCP tunnels). Web server 82 provides the analysis report created by analysis unit 83 to PC 2 . The analysis unit 83 analyzes the operation log 76 in the operation record 74 , creates analysis results 77 , and delivers them to the logging unit 73 . When the analysis unit 83 creates the analysis result 77 , the logging unit 73 adds it to the operation record 74 including the analysis result 77 in addition to the project data 75 and the operation log 76 . The driving record 74 is stored in the driving record storage unit 37 . In this way, the operation record 74 stores the project data 75, the operation log 76, and the analysis result 77 when an abnormal event occurred in the PLC 1 in association with each other. Easier to reproduce accurately. For example, by visually reproducing changes in device values on the ladder diagram, it will be easier for the user to debug the ladder program. In particular, using the project data stored in the PC 2 may make it difficult to accurately reproduce the state of the PLC 1 when an abnormal event occurs. This is because the project data saved in the PC 2 may not match the project data 75 being executed in the PLC 1 when the abnormal event occurred. Therefore, the project data 75 being executed by the PLC 1 when the abnormal event occurred is saved in the operation record 74 . The notification issuing unit 84 issues a notification when the analysis result 77 is issued. This notification is sent to the CPU 11 .

<ユーザインタフェース(UI)>
図6および図7は表示部7に表示されるプロジェクト編集プログラム14aのUI100を示している(プロジェクト編集プログラム14aを実行することによりUI100が表示部7に表示される)。モード選択メニュー101は、プロジェクト編集プログラム14aが備える複数のモードを選択可能に表示する。複数のモードは、編集モード、モニタモード、リプレイモード(デバッグモード)などを含む。図6に示された編集モードは、プログラム表示領域104に表示されるラダープログラムを編集するモードである。プロジェクト表示領域102は、プロジェクトを構成する情報を表示する。この情報としては、PLC1を構成している基本ユニット3および拡張ユニット4の仕様情報および設定情報、デバイスの割り当て情報、運転記録の設定情報、ラダープログラムなどがある。編集モードにおいて、プログラム表示領域104は、プロジェクト表示領域102において指定されたラダープログラムを編集可能に表示する。図6においては、入力部、出力部および加工部状態と命名されたプログラムモジュールを有するラダープログラムが表示されている。とりわけ、複数のプログラムモジュールはタブ107によって選択可能であり、図6では、入力部に対応するタブ107が選択されている。
<User interface (UI)>
6 and 7 show the UI 100 of the project editing program 14a displayed on the display unit 7 (the UI 100 is displayed on the display unit 7 by executing the project editing program 14a). A mode selection menu 101 selectably displays a plurality of modes provided in the project editing program 14a. Modes include edit mode, monitor mode, replay mode (debug mode), and the like. The edit mode shown in FIG. 6 is a mode for editing the ladder program displayed in the program display area 104. FIG. A project display area 102 displays information that constitutes a project. This information includes specification information and setting information of the basic unit 3 and the expansion unit 4 that constitute the PLC 1, device allocation information, operation record setting information, ladder programs, and the like. In edit mode, program display area 104 editably displays the ladder program specified in project display area 102 . In FIG. 6, a ladder program is displayed having program modules named Input, Output and Machining State. Among other things, a plurality of program modules are selectable by tabs 107, and in FIG. 6 the tab 107 corresponding to the input section is selected.

モニタモードは、PLC1により発行される通知を待ち受けるモードである。拡張ユニット4aが分析結果を作成したことを示す通知を発行すると、CPU11は、通知を表示するためのダイアログなどを表示部7に表示する。モニタモードのユーザインタフェースは、基本的に、編集モードと同様である。 The monitor mode is a mode of waiting for notifications issued by the PLC1. When the extension unit 4a issues a notification indicating that the analysis result has been created, the CPU 11 displays a dialog or the like for displaying the notification on the display section 7. FIG. The user interface in monitor mode is basically the same as in edit mode.

図8は通知ダイアログ108を示している。通知ダイアログ108は、通知を発行したアプリケーションまたは機能の名称、通知の内容、通知の発生件数、通知の発生日時などを表示する。通知ダイアログ108を表示するための通知情報には、分析レポートのURLが含まれている。表示ボタン109が押し下げられると、CPU11は、分析レポートのURLをWebブラウザ60に渡す。これにより、Webブラウザ60は、URLで指定されたWebサーバにアクセスして、分析レポートの表示データ(Webアプリケーション61)を取得して、分析レポートを表示する。 FIG. 8 shows notification dialog 108 . The notification dialog 108 displays the name of the application or function that issued the notification, the content of the notification, the number of occurrences of the notification, the date and time of occurrence of the notification, and the like. The notification information for displaying the notification dialog 108 includes the URL of the analysis report. When the display button 109 is pressed, the CPU 11 passes the URL of the analysis report to the web browser 60 . As a result, the web browser 60 accesses the web server specified by the URL, acquires the analysis report display data (the web application 61), and displays the analysis report.

図7が示すように、リプレイモードは、運転記録をラダープログラム上で再現したり、運転記録を波形として表示したりするモードである。ポインタ103は、操作部8に対するユーザ操作に連動して移動し、ボタンなどを押し下げするために使用されたり、オブジェクトを選択したりするために使用される。たとえば、プロジェクト表示領域102において表示された分析レポートがポインタ103によりダブルクリックされると、CPU11はWebブラウザ60に分析レポートを表示させる。 As shown in FIG. 7, the replay mode is a mode for reproducing driving records on a ladder program and displaying driving records as waveforms. A pointer 103 moves in conjunction with a user's operation on the operation unit 8 and is used to press a button or the like or to select an object. For example, when the analysis report displayed in the project display area 102 is double-clicked with the pointer 103, the CPU 11 causes the web browser 60 to display the analysis report.

リプレイモードでは、プログラム表示領域104に、運転記録に含まれているデバイス値がラダープログラム上に表示される。リレーデバイス(ビットデバイス)の場合、デバイス値が0であるか、1であるかが視覚的に区別可能に表示される。視覚的に区別可能とは、異なる色による表示や異なるアイコンの表示を含む。ワードデバイスの場合、たとえば、デバイス値が10進化されて表示されてもよい。その他、16進化されたデバイス値など、他の数値表示形式が採用されてもよい。 In the replay mode, the program display area 104 displays the device values included in the driving record on the ladder program. In the case of a relay device (bit device), whether the device value is 0 or 1 is visually distinguishable. Visually distinguishable includes display with different colors and display with different icons. In the case of a word device, for example, the device value may be converted to decimal and displayed. In addition, other numerical display formats such as hexadecimal device values may be employed.

デバイス値は時間とともに変化しうる時系列データであるため、各デバイス値は、収集された時刻を示す時刻情報に紐づけられている。シークバー105aは、デバイス値の再生時刻を示すとともに、再生時刻を指定するためにポインタ103により操作されることがある。運転記録の再現中は、再生時刻の経過に連動して、シークバー105aが左から右へと移動する。時刻指定部106aは、再生時刻を進めたり、再生時刻を戻したり、自動的な再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。 Since the device value is time-series data that can change over time, each device value is associated with time information indicating the time at which it was collected. The seek bar 105a indicates the playback time of the device value and may be operated by the pointer 103 to specify the playback time. During reproduction of the driving record, the seek bar 105a moves from left to right as the reproduction time elapses. The time designation unit 106a is a control object for advancing the reproduction time, returning the reproduction time, instructing automatic start of reproduction, and instructing to stop reproduction.

[分析レポート]
図9はWebブラウザ60がWebアプリケーション61を実行することで表示部7に表示される分析レポート110を示す。なお、分析レポート110は、プロジェクト編集プログラム14aのUI100と一緒に表示部7に表示される。つまり、UI100のウインドウと、分析レポート110のウインドウとは異なるウインドウとして表示される。ただし、UI100と分析レポート110とが単一のウインドウ内に表示されてもよい。また、分析レポート110は、表示部7に表示されてもよいし、プログラマブル表示器、タブレット、スマートフォンなどの他の表示装置に表示されてもよい。
[Analysis report]
FIG. 9 shows an analysis report 110 displayed on the display unit 7 when the web browser 60 executes the web application 61 . Note that the analysis report 110 is displayed on the display unit 7 together with the UI 100 of the project editing program 14a. That is, the window of the UI 100 and the window of the analysis report 110 are displayed as different windows. However, UI 100 and analysis report 110 may be displayed in a single window. Also, the analysis report 110 may be displayed on the display unit 7, or may be displayed on another display device such as a programmable display, tablet, or smart phone.

検知マップ111は、PLC1において実行される複数の工程のそれぞれについて開始タイミングと終了タイミングとを表示する。一般に、開始タイミングから終了タイミングまでの期間はサイクルと呼ばれる。図9において、横方向に延びる矩形は、工程が実行中である期間(サイクル)を示している。この矩形は、左が古く、右が新しいことを示す。時刻バー112aは、運転記録データの保存トリガが発生したタイミングを示している。上述したように、運転記録データは、保存トリガが発生したタイミング以前に収集されたデータとこのタイミングより後に収集されたデータとを保持している。そのため、時刻バー112aの前後にデータが示されている。一方で、時刻バー112eは、選択中の時刻を示しており、ユーザのドラッグ操作またはドラッグアンドドロップ操作により、所望の時刻(左右)に移動できるようになっている。ドラッグアンドドロップではなく、ユーザが検知マップの所望位置をクリックすると、その所望位置に時刻バー112eがジャンプするようにしても構わない。このようにして、ユーザは、時刻バー112eを操作することにより、分析結果の表示を更新することができる。時刻バー112eの操作に従って、後述する、検知リスト114、画像表示領域113、および、分析コメント116の少なくとも1つまたは全部を連動して更新させ(時刻同期させ)、対応する分析結果が表示されてもよい。なお、時刻バー112a、112eは、それぞれ異なる色で描画されてもよいし、実線と破線とで描画されたりしてもよい。これにより、時刻バー112a、112eの識別力が向上する。 The detection map 111 displays start timings and end timings for each of a plurality of processes executed in the PLC 1 . Generally, the period from start timing to end timing is called a cycle. In FIG. 9, each horizontally extending rectangle indicates a period (cycle) during which the process is being executed. This rectangle indicates old on the left and new on the right. The time bar 112a indicates the timing at which the drive record data storage trigger is generated. As described above, the driving record data holds the data collected before the timing at which the save trigger was generated and the data collected after this timing. Therefore, data is shown before and after the time bar 112a. On the other hand, the time bar 112e indicates the time being selected, and can be moved to a desired time (left or right) by the user's drag operation or drag-and-drop operation. Instead of drag and drop, when the user clicks a desired position on the detection map, the time bar 112e may jump to that desired position. Thus, the user can update the display of the analysis result by operating the time bar 112e. According to the operation of the time bar 112e, at least one or all of the detection list 114, the image display area 113, and the analysis comment 116, which will be described later, are updated (time-synchronized), and the corresponding analysis result is displayed. good too. Note that the time bars 112a and 112e may be drawn with different colors, or may be drawn with a solid line and a broken line. This improves the discriminating power of the time bars 112a and 112e.

ここで、検知マップ111の工程1の中に丸印が2つ記載されているが、これは、検知対象デバイスがいつもと異なる状態になったタイミングを示している。左側の丸印は、デバイスR001とMR001がいつもと異なる状態になったタイミング(いずれも14:50:45)を示す。右側の丸印は、デバイスR004がいつもと異なる状態になったタイミング(14:59:01)を示す。図9は、検知リスト114においてユーザがR004のデバイス欄を選択した状態を示しており、検知マップ111の時刻バー112eは右側の丸印と重なる位置に表示されている。 Here, two circle marks are described in the process 1 of the detection map 111, which indicate timings when the detection target device becomes in an unusual state. The circles on the left indicate the timings (14:50:45 for both) at which the devices R001 and MR001 are in an unusual state. The circle on the right indicates the timing (14:59:01) at which the device R004 entered an unusual state. FIG. 9 shows a state in which the user has selected the R004 device column in the detection list 114, and the time bar 112e of the detection map 111 is displayed at a position overlapping the right circle.

検知マップ111の時刻バー112eの表示位置は、検知リスト114におけるユーザのデバイス選択に連動している。図9に示す状態において、MR001のデバイス欄が選択(クリック)されると、図10が示すように、MR001が強調表示されるとともに、検知マップ111の時刻バー112eが2つの丸印のうち左側の丸印と重なる位置に移動する(R001のデバイス欄を選択したときも同様である)。また、時刻バー112eの移動に応じて、検知リストの時刻バー112fも1つ上に移動(連動)する。 The display position of the time bar 112 e on the detection map 111 is linked to the user's device selection in the detection list 114 . In the state shown in FIG. 9, when the device column of MR001 is selected (clicked), MR001 is highlighted as shown in FIG. (The same is true when selecting the device column of R001). Further, according to the movement of the time bar 112e, the time bar 112f of the detection list is also moved upward by one (linked).

いつもと異なる状態とは、たとえば、デバイス値が正常範囲を逸脱したり、デバイス値が変化するタイミングまたは回数が正常範囲を外れたりすることである。製品の製造工場では、日々、同一の製品が大量生産される。つまり、同一の工程が何度も繰り返し実行される。そのため、いつもと異なる状態を検知して表示することは、ラダープログラムを改良したり、生産設備を見直したりするうえで、非常に役に立つ。いつもと同様の状態(正常状態)を定義する正常範囲(正常条件)は、マスターデータにより定義されてもよいし、デバイス値の学習結果により定義されてもよい。検知マップ111において、工程を示す矩形は、時間の経過にしたがって右から左に移動する(上述したように、時刻は、左が古く、右が新しい)。 The unusual state is, for example, that the device value deviates from the normal range, or the timing or number of changes of the device value deviates from the normal range. In a product manufacturing factory, the same product is mass-produced every day. That is, the same process is repeatedly executed many times. Therefore, detecting and displaying abnormal states is very useful for improving ladder programs and reviewing production equipment. A normal range (normal condition) that defines the same state as usual (normal state) may be defined by master data, or may be defined by learning results of device values. In the detection map 111, the rectangles indicating the processes move from right to left as time passes (as described above, the time is older on the left and newer on the right).

画像表示領域113は、PLC1において取得されたカメラ画像を表示する。カメラ画像も運転記録に含まれていてもよい。図9では、マスターデータのカメラ画像と、今回のカメラ画像とが対比可能に表示されている。カメラ画像も時系列データであるため、シークバー105bは、カメラ画像の再生時刻を示し、再生時刻の経過にしたがって左から右に移動する。時刻バー112bは、選択中の時刻を示しており、図9では、検知対象デバイスR004がいつもと異なる状態になったタイミングを示している。時刻指定部106bは、カメラ画像の再生時刻を進めたり、再生時刻を戻したり、再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。なお、連携部64および再生部59は、検知マップ111の再生時刻、カメラ画像の再生時刻、および、UI100における再生時刻が同期するように管理している。これにより、UI100における再生時刻と、分析レポート110における再生時刻とが一致する。 The image display area 113 displays the camera image acquired by the PLC1. Camera images may also be included in the driving record. In FIG. 9, the master data camera image and the current camera image are displayed so as to be comparable. Since the camera image is also time-series data, the seek bar 105b indicates the playback time of the camera image, and moves from left to right as the playback time elapses. The time bar 112b indicates the time being selected, and in FIG. 9 indicates the timing when the detection target device R004 is in an unusual state. The time specifying unit 106b is a control object for advancing the playback time of the camera image, returning the playback time, instructing the start of playback, and instructing to stop the playback. Note that the cooperation unit 64 and the reproduction unit 59 manage so that the reproduction time of the detection map 111, the reproduction time of the camera image, and the reproduction time on the UI 100 are synchronized. As a result, the playback time on the UI 100 and the playback time on the analysis report 110 match.

検知リスト114は、いつもと異なる状態になったデバイスと、その状態が発生した時刻(デバイス値の収集時刻)とを示す。CPU11は、検知リスト114に表示されたデバイスに対するクリックを検知すると、プロジェクト編集部50の動作モードをリプレイモードへ切り替えてもよい。CPU11は、クリックされたデバイスの識別情報と、再生時刻情報(デバイス値の収集時刻)と、分析対象となった運転記録を特定する情報(保存パス等)をデバッグ部54に渡す。これにより、分析対象となった運転記録を用いてリプレイモードに移行し、その際に分析レポート110の再生時刻と、プロジェクト編集部50の再生時刻情報が同期する。その結果、図7が示すように、運転記録74がラダープログラムと関連して再生される。なお、図7は、図9の検知リスト114においてデバイスR004が選択された状態で、UI100のリプレイモードを起動したときの表示画面に相当する。図7のシークバー105aは、デバイスR004がいつもと異なる状態になった時刻(14:59:01)を示している。また、プログラム表示領域104では、この時刻(14:59:01)における各デバイスの状態が視覚的に区別可能に表示される。なお、分析レポート110が表示される前に、すでにプロジェクト編集部50がリプレイモードで動作していてもよい。この場合、分析レポート110において、非正常デバイスが選択されると、CPU11は、非正常状態(いつもと異なるイベント)が発生した時刻をプロジェクト編集部50に渡し、プロジェクト編集部50は、当該時刻に同期したデバイス値を記憶装置12から読み出して、ラダープログラム上でデバイス値を表示してもよい。 The detection list 114 shows devices that have entered an unusual state and the time when the state occurred (device value collection time). When the CPU 11 detects a click on a device displayed in the detection list 114, the CPU 11 may switch the operation mode of the project editing section 50 to the replay mode. The CPU 11 passes identification information of the clicked device, playback time information (device value collection time), and information (storage path, etc.) specifying the driving record to be analyzed to the debug unit 54 . As a result, the operation record to be analyzed is used to shift to the replay mode, and the playback time of the analysis report 110 is synchronized with the playback time information of the project editor 50 at that time. As a result, as FIG. 7 shows, a driving log 74 is played in association with the ladder program. Note that FIG. 7 corresponds to a display screen when the replay mode of the UI 100 is activated with the device R004 selected in the detection list 114 of FIG. The seek bar 105a in FIG. 7 indicates the time (14:59:01) when the device R004 entered an unusual state. Also, in the program display area 104, the state of each device at this time (14:59:01) is displayed so as to be visually distinguishable. Note that the project editor 50 may already be operating in replay mode before the analysis report 110 is displayed. In this case, when an abnormal device is selected in the analysis report 110, the CPU 11 passes the time when the abnormal state (unusual event) occurred to the project editor 50, and the project editor 50 The synchronized device values may be read from the storage device 12 and displayed on the ladder program.

図9において、時刻バー112cは、運転記録データの保存トリガが発生したタイミング(14:59:06)を示している。また、時刻バー112fは、上述したように、検知マップ111の時刻バー112eが示す時刻と連動している。たとえば、時刻バー112eを左側の丸印よりも左方に移動させると、検知リスト114において時刻バー112fはR001のデバイス欄の上端線と重なる位置に移動する。 In FIG. 9, the time bar 112c indicates the timing (14:59:06) at which the drive record data save trigger occurred. Further, the time bar 112f is linked with the time indicated by the time bar 112e of the detection map 111, as described above. For example, when the time bar 112e is moved to the left of the left circle, the time bar 112f in the detection list 114 moves to a position overlapping the top line of the device column of R001.

ここで、図10および図11は、分析レポート110(図9)とプロジェクト編集プログラム14aのUI100(図7)とが連動する様子を説明するための説明図である。上述したように、図7は、図9の検知リスト114においてデバイスR004が選択された状態で、UI100のリプレイモードを起動したときの表示画面に相当する。 10 and 11 are explanatory diagrams for explaining how the analysis report 110 (FIG. 9) and the UI 100 (FIG. 7) of the project editing program 14a are interlocked. As described above, FIG. 7 corresponds to the display screen when the replay mode of the UI 100 is activated with the device R004 selected in the detection list 114 of FIG.

図10が示すように、ユーザが検知リスト114の中でMR001を選択(クリック)すると、検知マップ111において時刻バー112eが連動して移動する。時刻バー112eの移動に伴って、時刻バー112fも1つ上に移動する。また、時刻バー112eの移動に伴って、画像表示領域113における時刻バー112bも左へ移動(連動表示)する。さらに、後述する分析コメント116も、MR001の選択に伴って表示が切り替わる。詳細は後述する。 As shown in FIG. 10, when the user selects (clicks) MR001 in the detection list 114, the time bar 112e moves in conjunction with the detection map 111. FIG. As the time bar 112e moves, the time bar 112f also moves up by one. Further, as the time bar 112e moves, the time bar 112b in the image display area 113 also moves to the left (interlocked display). Furthermore, the display of the analysis comment 116, which will be described later, is also switched according to the selection of MR001. Details will be described later.

一方、図11が示すように、シークバー105aは、図7よりも少し左(時間的に前)に移動する。このとき、シークバー105aは、デバイスMR001がいつもと異なる状態になった時刻(14:50:45)を示すようになる。このように、連携部64によって、分析レポート110の時刻バー112eや時刻バー112fによって特定される時刻と、運転記録の再生時刻(シークバー105aによって特定される時刻)とは、同期して表示されることになる。 On the other hand, as shown in FIG. 11, the seek bar 105a moves slightly to the left (earlier in time) than in FIG. At this time, the seek bar 105a shows the time (14:50:45) when the device MR001 entered an unusual state. In this way, the time specified by the time bar 112e and the time bar 112f of the analysis report 110 and the playback time of the driving record (the time specified by the seek bar 105a) are displayed in synchronization by the cooperation unit 64. It will be.

なお、図10および図11では、予めプロジェクト編集プログラム14aのUI100を起動した状態での連動表示について説明されているが、たとえば、先に分析レポート110の検知リスト114においてMR001のデバイス欄を選択した状態で、UI100を起動した場合には、図10および図11に示す変化後の状態でUI100が起動される。 Note that FIG. 10 and FIG. 11 describe the interlocking display when the UI 100 of the project editing program 14a is activated in advance. When the UI 100 is activated in the state, the UI 100 is activated in the changed state shown in FIGS. 10 and 11 .

また、図10では、ユーザは検知リスト114の中からデバイスを1つ選択しているが、複数のデバイスが選択されてもよい。この場合、最上位のデバイス(時間的に一番古いデバイス)を選択したときと同様の処理が行われる。すなわち、たとえばMR001とR004の両方を選択した状態で、UI100のリプレイモードが起動されると、図11に示す変化後の状態でUI100が起動される。本明細書でいう時刻の同期再生には、時刻バー112fによって特定される時刻インデックスと、運転記録の再生時刻インデックスとの同期再生を含む概念である。つまり、時刻そのものでなくても、時刻を表すインデックス同士を同期再生しても構わない。 Also, in FIG. 10, the user selects one device from the detection list 114, but multiple devices may be selected. In this case, the same processing as when the highest device (the oldest device in terms of time) is selected is performed. That is, for example, when the replay mode of the UI 100 is activated with both MR001 and R004 selected, the UI 100 is activated in the changed state shown in FIG. Synchronous reproduction of time as used herein is a concept including synchronous reproduction of the time index specified by the time bar 112f and the reproduction time index of the driving record. In other words, not just the time itself, but the indexes representing the time may be synchronously reproduced.

図12が示すように、CPU11は、非正常デバイスの名称と、そのデバイスコメント115をプロジェクトデータから読み出して検知リスト114に表示してもよい。デバイスコメント115はデバイスの用途などを示す。よって、ユーザは、非正常デバイスの用途などを容易に理解できるであろう。 As shown in FIG. 12, the CPU 11 may read the name of the abnormal device and its device comment 115 from the project data and display them in the detection list 114 . A device comment 115 indicates the usage of the device. Therefore, the user can easily understand the purpose of the abnormal device.

分析コメント116は、分析結果に含まれるコメントと、検知リスト114で選択されたデバイスについての、マスターデータと、今回のデバイス値の時系列データとを表示する。分析コメント116に表示されるデータは、1制御サイクル分のデータである。時刻バー112dは、いつもと異なる状態が発生したタイミングを示す。 The analysis comment 116 displays comments included in the analysis result, master data for the device selected in the detection list 114, and time-series data of the current device value. The data displayed in the analysis comment 116 is data for one control cycle. A time bar 112d indicates the timing when an unusual state occurs.

図9および図12では、デバイスR004のデバイスについて、いつもと異なる状態が発生した1制御サイクル分のデータを示している。より具体的には、マスターデータでは、1制御サイクルにおいて、オフ→オン、オン→オフという2回の変化が発生するのに対し、今回のデータでは、変化が全く発生していない。そこで、いつもと異なる状態、すなわち、オフ→オンとなったタイミングに、時刻バー112dが表示されている。 FIGS. 9 and 12 show data for one control cycle in which an unusual state occurred for the device R004. More specifically, in the master data, two changes occur in one control cycle, ie, OFF→ON and ON→OFF, whereas the current data does not change at all. Therefore, the time bar 112d is displayed in a state different from usual, that is, at the timing of turning off to on.

ここで、図9および図12が示す分析コメント116において、ユーザが検知リスト114の中でMR001を選択(クリック)すると、図10に示される表示に切り替わる。図10では、MR001のデバイスにおいて、いつもと異なる状態が発生した様子を示している。なお、本実施形態では、時刻バー112e、112b、112fの各々は、いずれも同一のタイミングを示している。 Here, in the analysis comment 116 shown in FIGS. 9 and 12, when the user selects (clicks) MR001 in the detection list 114, the display is switched to that shown in FIG. FIG. 10 shows a state in which an unusual state occurs in the device of MR001. In this embodiment, each of the time bars 112e, 112b, and 112f indicates the same timing.

図12が示すように、分析レポート110は、リレーションマップの表示を指示するボタン117aと、波形の表示を指示するボタン117bとを有していてもよい。以下で、リレーションマップと波形の表示が詳細に説明される。 As shown in FIG. 12, the analysis report 110 may have a button 117a for instructing the display of the relation map and a button 117b for instructing the display of the waveform. The display of relation maps and waveforms is described in detail below.

[リレーションマップ]
図13はリレーションマップ120を示している。リレーションマップ120は、いつもと異なる状態になったデバイス(非正常デバイス)に対してラダープログラムにおいて関連している他のデバイスを表示するUIである。これにより、ユーザは、非正常デバイスと他のデバイスとの関係を容易に理解できる。一般に、PLC1において利用されるデバイスの数は数百から数万であるため、ユーザは、いつもと異なる状態になったデバイスから、その原因となったデバイスを特定することは容易ではない。CPU11は、非正常デバイスについてラダープログラム内を検索し、非正常デバイスに関する記述を発見し、当該記述を分析することで、関連デバイスを特定する。この例では、ラダープログラム内の出力部において、非正常デバイス(例:R004)が記述されており、関連デバイスとしてMR000、MR001、MR002が存在する。CPU11は、ラダープログラムから特定した非正常デバイス、関連デバイスおよびプログラムモジュールをツリーのように表示する。この例では、出力部における演算のために入力されるデバイスが左側に表示され、プログラムモジュールが真ん中に表示され、その右側に非正常デバイスが表示されている。図13が示すように、ポインタ103によりプログラムモジュールがダブルクリックされると、CPU11は、その情報をプロジェクト編集部50に渡し、該当するプログラムモジュールをプログラム表示領域104に表示してもよい。分析レポートは、全デバイスを対象として作成されてもよいし、一部のデバイスに限定して差作成されてもよい。一部のデバイスに限定することで、分析時間が短縮されるであろう。分析精度次第では、分析結果にノイズが多くなることが予想されるが、一部のデバイスに限定することにより、ノイズが削減されるであろう。このような一部のデバイスを対象とした分析レポートの場合、異常の要因となったデバイスは、いつもと違うと判分析されたデバイス、または、分析対象外のデバイスのいずれかに存在する。そのため、リレーションマッピングにおいて、分析対象外になったデバイスが強調表示されてもよい。
[Relation Map]
FIG. 13 shows the relation map 120. As shown in FIG. The relation map 120 is a UI that displays other devices that are related in the ladder program to a device in an abnormal state (abnormal device). This allows the user to easily understand the relationship between the abnormal device and other devices. Generally, the number of devices used in the PLC 1 is several hundred to several tens of thousands, so it is not easy for the user to identify the device that caused the unusual state. The CPU 11 searches the ladder program for abnormal devices, finds descriptions of the abnormal devices, and analyzes the descriptions to identify related devices. In this example, an abnormal device (eg, R004) is described in the output section of the ladder program, and MR000, MR001, and MR002 exist as related devices. The CPU 11 displays the abnormal devices, related devices and program modules identified from the ladder program like a tree. In this example, devices input for calculations in the output section are displayed on the left, program modules are displayed in the middle, and abnormal devices are displayed on the right. As shown in FIG. 13 , when a program module is double-clicked by the pointer 103 , the CPU 11 may transfer the information to the project editor 50 and display the corresponding program module in the program display area 104 . The analysis report may be created for all devices, or may be created only for some devices. Restricting to some devices would reduce analysis time. Depending on the accuracy of the analysis, it is expected that the analysis results will be noisy, but the noise will be reduced by limiting to some devices. In the case of such an analysis report targeting some devices, the device that caused the anomaly exists either in the device that was determined to be abnormal or in the device that was not analyzed. Therefore, in the relationship mapping, devices that are excluded from analysis may be highlighted.

[波形表示]
図14はCPU11が波形表示プログラム14bを実行することで表示部7に表示する波形UI130を示している。デバイスリスト131は、表示対象となるデバイスのリストを示す。たとえば、CPU11は、検知リスト114においてユーザにより選択または指定されたデバイスの名称をデバイスリスト131に列挙する。図14は、図9において、R001、MR001及びR004を選択した状態で、波形UI130を起動したときの様子を示している。なお、工程の制御サイクル(開始から終了まで)を示すリレーデバイスMR000は、ユーザの指定がなくても、CPU11によりデバイスリスト131に列挙される。すなわち、MR000は、上述したサイクル設定により規定されるデバイスであり、ユーザによる指定の有無に拘わらず、波形UI130に自動的に表示される。なお、波形UI130に表示されるデバイス波形を構成するデバイス値の数は、ユーザ設定により予め指定されてもよい。たとえば、分析レポート110の検知リスト114で選択されたデバイス欄に対応する時刻を基準として(基準の前、基準の後ろ、基準の前後で)所定数のデバイス値が表示されてもよい。他の例としては、波形UI130に表示されるデバイス波形を構成するデバイス値として、運転記録に含まれるデバイス値の全てが表示されるように、波形が縮小表示されてもよい。この場合、拡大表示していくことで、上述した基準となる時刻近傍のデバイス波形を、より明確に視認することができる。
[Waveform display]
FIG. 14 shows a waveform UI 130 displayed on the display unit 7 by the CPU 11 executing the waveform display program 14b. The device list 131 shows a list of devices to be displayed. For example, the CPU 11 lists the device names selected or specified by the user in the detection list 114 in the device list 131 . FIG. 14 shows a state when the waveform UI 130 is activated with R001, MR001 and R004 selected in FIG. Note that the relay device MR000 indicating the control cycle (from start to end) of the process is listed in the device list 131 by the CPU 11 without being specified by the user. That is, MR000 is a device defined by the cycle setting described above, and is automatically displayed on the waveform UI 130 regardless of whether it is specified by the user. Note that the number of device values forming the device waveform displayed on the waveform UI 130 may be specified in advance by user settings. For example, a predetermined number of device values may be displayed relative to the time (before baseline, after baseline, before and after baseline) corresponding to the device column selected in detection list 114 of analysis report 110 . As another example, the waveform may be displayed in a reduced size so that all the device values included in the driving record are displayed as the device values forming the device waveform displayed on the waveform UI 130 . In this case, by enlarging the display, the device waveform near the reference time can be visually recognized more clearly.

波形表示領域132は、選択されたデバイスについてのデバイス値の波形を示す。CPU11は、デバイス値の時系列データを運転記録から読み出して、波形表示領域132に表示する。CPU11は、波形に対しても時刻バー112gを表示してもよい。これにより、ユーザは、波形のどの部分でいつもと異なるイベントが発生したかを把握しやすくなろう。時刻バー112gが示す時刻は、時刻バー112e、112b、112fが示す時刻と一致している。これは、連携部64が、分析レポート110における再生時刻とイベント発生時刻と、再生部59におけるそれらとが一致するように時刻管理しているからである。 Waveform display area 132 shows the waveform of device values for the selected device. The CPU 11 reads time-series data of device values from the driving record and displays them in the waveform display area 132 . The CPU 11 may also display the time bar 112g for the waveform. This will make it easier for the user to grasp in which part of the waveform an unusual event occurred. The time indicated by the time bar 112g matches the time indicated by the time bars 112e, 112b, and 112f. This is because the cooperation unit 64 manages the time so that the playback time and the event occurrence time in the analysis report 110 match those in the playback unit 59 .

ここで、図15は、図14において一点鎖線の領域を拡大した拡大図である。図15において、デバイスMR001とR004について破線の波形が示されているが、これは、説明の便宜上記載したものであり、実際の表示画面上には表れない。図15では、連携部64によって、分析レポート110の検知リスト114における選択デバイスによって特定される時刻と、波形UI130の時刻バー112gとが同期して再生されることを説明する。 Here, FIG. 15 is an enlarged view of the area indicated by the dashed line in FIG. 14 . In FIG. 15, broken-line waveforms are shown for the devices MR001 and R004, but this is for convenience of explanation and does not appear on the actual display screen. FIG. 15 explains that the linking unit 64 synchronizes and reproduces the time specified by the selected device in the detection list 114 of the analysis report 110 and the time bar 112g of the waveform UI 130 .

図14および図15は、上から順に、MR000、R001、MR001、R004のデバイス波形が示されている。MR000は、上述したように制御サイクルを示すデバイスであり、オフ→オンから始まり、オン→オフを経て再びオフ→オンするまでの期間が1制御サイクルに相当する。図14において、本来であれば、R001は常時OFFしているはずのデバイスである。しかし、何らの異常により、制御サイクルが始まるタイミング(MR000がオンするタイミング)で、R001がオンしている(異常が発生している)。その結果、図7が示すR000(図14には図示されていない)がオンしても、MR001はオンしない(図14では、この様子を点線で示す)。さらに、MR001がオンしないことによって、図13が示す出力部のR004もオンしない(図14では、この様子を点線で示す)。 14 and 15 show device waveforms of MR000, R001, MR001, and R004 in order from the top. MR000 is a device indicating a control cycle as described above, and the period from OFF→ON to ON→OFF to OFF→ON again corresponds to one control cycle. In FIG. 14, R001 is a device that should normally be turned off. However, due to some abnormality, R001 is turned on (abnormality occurs) at the timing when the control cycle starts (when MR000 is turned on). As a result, even if R000 (not shown in FIG. 14) shown in FIG. 7 is turned on, MR001 is not turned on (in FIG. 14, this state is indicated by a dotted line). Furthermore, since MR001 does not turn on, R004 of the output section shown in FIG. 13 also does not turn on (in FIG. 14, this state is indicated by a dotted line).

図14は、図9の検知リスト114においてデバイスR001が選択された状態で波形UI130を起動したときの様子を示す。つまり、R001がいつもと違う状態になった時刻に、時刻バー112gが表示されている。この状態で、図9の検知リスト114においてデバイスMR001が選択されると、時刻バー112gは、MR001がいつもと違う状態になった時刻に表示される(図15の時刻バー112ga参照)。他にも、図9の検知リスト114においてデバイスR004が選択されると、時刻バー112gは、R004がいつもと違う状態になった時刻に表示される(図15の時刻バー112gb参照)。このように、連携部64により、分析レポート110の検知リスト114における選択デバイスによって特定される時刻と、波形UI130上の時刻バー112gが示す時刻とは、同期指定して再生されることになる。 FIG. 14 shows a state when the waveform UI 130 is activated with the device R001 selected in the detection list 114 of FIG. That is, the time bar 112g is displayed at the time when R001 is in an unusual state. In this state, when the device MR001 is selected in the detection list 114 of FIG. 9, the time bar 112g is displayed at the time when MR001 is in an unusual state (see time bar 112ga of FIG. 15). In addition, when the device R004 is selected in the detection list 114 of FIG. 9, the time bar 112g is displayed at the time when R004 is in an unusual state (see time bar 112gb of FIG. 15). In this way, the linking unit 64 synchronously designates and reproduces the time specified by the selected device in the detection list 114 of the analysis report 110 and the time indicated by the time bar 112g on the waveform UI 130 .

なお、図15は、予め波形UI130を起動した状態での連動表示について説明しているが、たとえば、先に検知リスト114の選択デバイスを変更(たとえばR001からMR001またはR004に変更)した状態で、波形UI130が起動されてもよい。この場合には、図15が示す変化後の状態で波形UI130が起動される。また、図15では、ユーザは検知リスト114の中からデバイスを1つ選択しているが、複数のデバイスを選択してもよい。この場合、最上位のデバイス(時間的に一番古いデバイス)を選択したときと同様の処理が行われる。すなわち、たとえばMR001とR004の両方を選択した状態で波形UI130が起動されると、時刻バー112gは、図15が示す時刻バー112gaの位置に表示(連動表示)される。 FIG. 15 describes the interlocked display with the waveform UI 130 activated in advance. A waveform UI 130 may be launched. In this case, the waveform UI 130 is activated in the changed state shown in FIG. Further, although the user selects one device from the detection list 114 in FIG. 15, multiple devices may be selected. In this case, the same process as when the highest device (the oldest device in terms of time) is selected is performed. That is, for example, when the waveform UI 130 is activated with both MR001 and R004 selected, the time bar 112g is displayed (linked display) at the position of the time bar 112ga shown in FIG.

図14では、いずれのデバイスもリレーデバイスであるが、ワードデバイスが選択されてもよい。CPU11は、ワードデバイスのデバイス値を波形化して波形表示領域132に表示してもよい。 In FIG. 14, both devices are relay devices, but word devices may be selected. The CPU 11 may waveform the device value of the word device and display it in the waveform display area 132 .

図14では、運転記録74に含まれるデバイス値が表示されているが、これと重ねてマスターデータが表示されてもよい。マスターデータは、いつもと同じデバイス値の時系列データである。そのため、これらを重ねて表示することで、どの時点で、いつもと異なるイベントが発生したかをユーザは理解しやすくなるであろう。 Although the device values included in the driving record 74 are displayed in FIG. 14, the master data may be displayed superimposed thereon. Master data is time-series data of the same device values as usual. Therefore, by displaying these overlaid, the user will be able to easily understand when an unusual event occurred.

[事例]
図16はPLC1により制御されるフィールドデバイス10の一例を示している。この例では、ベルトコンベヤ140aによりワークW1が搬送される。センサ141aは、ワークW1が所定位置に到着したことを検知する。ベルトコンベヤ140bによりワークW2が搬送される。センサ141bは、ワークW2が所定位置に到着したことを検知する。ロボット143は、ワークW1とワークW2とを作業台142上で組み立ててワークW3を製造し、ワークW3をベルトコンベヤ140cに積載する。
[Example]
FIG. 16 shows an example of a field device 10 controlled by PLC1. In this example, the work W1 is conveyed by the belt conveyor 140a. The sensor 141a detects that the workpiece W1 has arrived at a predetermined position. A work W2 is conveyed by the belt conveyor 140b. The sensor 141b detects that the work W2 has arrived at a predetermined position. The robot 143 assembles the work W1 and the work W2 on the workbench 142 to manufacture the work W3, and loads the work W3 onto the belt conveyor 140c.

図17は図16に示された事例を実現するラダープログラムを示している。プログラムモジュール150aは入力部を示している。入力デバイスR000はセンサ141aの検知結果を示すリレーデバイスである。センサ141aがワークW1を検知している場合、入力デバイスR000がオンになる。センサ141aがワークW1を検知していない場合、入力デバイスR000がオフになる。入力デバイスR001は、ロボット143がワークW1を受け入れ可能である場合に、オフとなる。入力デバイスR001は、ロボット143がワークW1を受け入れ可能でない場合に、オンとなる。MR001は、ワークW1の準備が完了したことを示すリレーデバイスである。プログラムモジュール150aの1行目によれば、入力デバイスR000がオンで、かつ、入力デバイスR001がオンでない場合に、MR001がオンになる。 FIG. 17 shows a ladder program that implements the example shown in FIG. Program module 150a represents an input. The input device R000 is a relay device that indicates the detection result of the sensor 141a. When the sensor 141a detects the workpiece W1, the input device R000 is turned on. When the sensor 141a does not detect the workpiece W1, the input device R000 is turned off. The input device R001 is turned off when the robot 143 can accept the workpiece W1. The input device R001 is turned on when the robot 143 cannot accept the workpiece W1. MR001 is a relay device indicating that the work W1 is ready. According to the first line of program module 150a, MR001 is turned on when input device R000 is on and input device R001 is not on.

入力デバイスR002はセンサ141bの検知結果を示すリレーデバイスである。センサ141bがワークW2を検知している場合、入力デバイスR002がオンになる。センサ141bがワークW2を検知していない場合、入力デバイスR002がオフになる。入力デバイスR003は、ロボット143がワークW2を受け入れ可能である場合に、オフとなる。入力デバイスR003は、ロボット143がワークW1を受け入れ可能でない場合に、オンとなる。MR002は、ワークW2の準備が完了したことを示すリレーデバイスである。プログラムモジュール150aの2行目によれば、入力デバイスR002がオンで、かつ、入力デバイスR003がオンでない場合に、MR002がオンになる。 The input device R002 is a relay device that indicates the detection result of the sensor 141b. When the sensor 141b detects the workpiece W2, the input device R002 is turned on. When the sensor 141b does not detect the workpiece W2, the input device R002 is turned off. The input device R003 is turned off when the robot 143 can accept the workpiece W2. The input device R003 is turned on when the robot 143 cannot accept the workpiece W1. MR002 is a relay device that indicates that work W2 is ready. According to the second line of program module 150a, MR002 is turned on when input device R002 is on and input device R003 is not on.

プログラムモジュール150bは出力部を示している。MR000は製造ラインが稼働中であることを示すリレーデバイスである。MR000がオンで、かつ、MR001がオンで、かつ、MR002がオンである場合に、リレーデバイスR004がオンになる。リレーデバイスR004は加工開始信号と呼ばれ、ロボット143に加工開始(組み立て開始)を指示する。 Program module 150b represents the output. MR000 is a relay device that indicates that the production line is in operation. Relay device R004 is turned on when MR000 is on, MR001 is on, and MR002 is on. The relay device R004 is called a processing start signal and instructs the robot 143 to start processing (start assembly).

プログラムモジュール150cは加工部状態を示している。DM0はデータメモリと呼ばれるデバイスであり、ワークW1に関して0(受け入れ可能)、1(ワークが異常)、2(ワークが詰まっている)、3(材料不足)などを示す。プログラムモジュール150cの1行目によれば、DM0が0以外である場合に、R001がオンにセットされる。DM1もデータメモリと呼ばれるデバイスであり、ワークW2に関して0(受け入れ可能)、1(ワークが異常)、2(ワークが詰まっている)、3(材料不足)などを示す。プログラムモジュール150cの2行目によれば、DM1が0以外である場合に、R003がオンにセットされる。 The program module 150c indicates the working section status. DM0 is a device called a data memory, and indicates 0 (acceptable), 1 (abnormal work), 2 (work jammed), 3 (insufficient material), etc. for work W1. According to line 1 of program module 150c, R001 is set on if DM0 is non-zero. DM1 is also a device called data memory, and indicates 0 (acceptable), 1 (abnormal work), 2 (work jammed), 3 (insufficient material), etc. for work W2. According to line 2 of program module 150c, R003 is set on if DM1 is non-zero.

デバッグの一例として、ワークW1に異常が発生し、ロボット143が加工を開始しなかった例を取り上げる。まず、デバッグを開始した時点では、完成品であるワークW3が排出されないというエラーイベントが生じているものと仮定されている。ユーザは、なぜ、ワークW3が排出されなかったのか、その原因を探ろうとする。 As an example of debugging, an example in which an abnormality occurs in the workpiece W1 and the robot 143 does not start machining is taken up. First, at the start of debugging, it is assumed that an error event has occurred in which the work W3, which is a finished product, has not been ejected. The user tries to find out why the work W3 was not ejected.

ユーザは、プロジェクト編集プログラム14aを起動し、モニタモードを選択する。CPU11は、通知をPLC1から受信して、通知ダイアログ108を表示する。CPU11は、ユーザにより表示ボタン109が押し下げられたことを検知し、分析レポートをPLC1から取得して表示部7に表示する。 The user starts the project editing program 14a and selects monitor mode. CPU 11 receives the notification from PLC 1 and displays notification dialog 108 . The CPU 11 detects that the display button 109 has been pressed by the user, acquires the analysis report from the PLC 1 and displays it on the display unit 7 .

図12が示すように、分析レポートの検知リスト114と分析コメント116によれば、加工開始信号であるR004がオンにならなかったために、ワークW1,W2の加工が実行されず、ワークW3が排出されなかったことがわかる。R001がオンしていることから、ワークW1の準備が完了しなかったことがわかるが、ワークW1の準備が完了しなかった原因まではわからない。 As shown in FIG. 12, according to the detection list 114 and the analysis comment 116 of the analysis report, since R004, which is the machining start signal, was not turned on, workpieces W1 and W2 were not machined, and workpiece W3 was ejected. I know it wasn't. Since R001 is on, it can be seen that the work W1 was not ready, but the reason why the work W1 was not ready is unknown.

CPU11は、図9の分析レポート110の検知リスト114において、MR001、R001およびR004が選択され、かつ、ボタン117bが押し下げられたことを検知すると、図14に示された波形UI130を表示部7に表示する。MR000は一つの加工サイクルを示すリレーである。つまり、MR000がオンになっている期間において、一つのワークW3が製造される。 When the CPU 11 detects that MR001, R001 and R004 have been selected in the detection list 114 of the analysis report 110 of FIG. 9 and that the button 117b has been pressed, the waveform UI 130 shown in FIG. indicate. MR000 is a relay indicating one machining cycle. That is, one workpiece W3 is manufactured during the period when MR000 is on.

検知リスト114において複数のデバイスが選択された場合、上述したように、CPU11は、検知リストにおいて最も上に表示されているデバイス(先頭デバイス)がいつもと違った状態になった時刻を特定し、特定された時刻に時刻バー112gを表示する。この例では、R001が先頭デバイスであるため、R001がいつもと違う状態になったタイミングに時刻バー112gが設定される。この例によれば、R001が正常状態ではオフとなるタイミングでオンとなってしまっていることがわかる。また、正常状態ではオンになるべきMR001とR004がオフになっていることも視覚的に容易にわかる。図14では、6サイクルに相当する波形が示されているが、CPU11は、時刻バー112gが示す時刻を含む1サイクルに相当する波形のみを切り出して拡大表示してもよい。 When multiple devices are selected in the detection list 114, as described above, the CPU 11 identifies the time when the device displayed at the top of the detection list (leading device) becomes abnormal, A time bar 112g is displayed at the specified time. In this example, since R001 is the leading device, the time bar 112g is set at the timing when R001 is in an unusual state. According to this example, it can be seen that R001 is turned on at the timing when R001 is normally turned off. Also, it is easy to visually recognize that MR001 and R004, which should be on in the normal state, are off. In FIG. 14, waveforms corresponding to 6 cycles are shown, but the CPU 11 may extract and enlarge only the waveform corresponding to 1 cycle including the time indicated by the time bar 112g.

次に、ユーザは、R004がいつもと異なる状態になった原因を探る。図12において、R004が選択され、かつ、ボタン117aが押し下げられたことを検知すると、CPU11は、リレーションマップ120を表示部7に表示する。CPU11は、R004の記述を含む行をラダープログラムから抽出し、リレーションマップ120を作成する。リレーションマップ120は、分析レポート110やプロジェクト編集プログラム14aのUI100とは異なるウインドウに表示されてもよい。図13が示すように、リレーションマップ120には、出力部(プログラムモジュール150b)の1行目において、R004に対してMR000、MR001、MR002が関連していることが示される。CPU11は、いつもと異なる状態になったデバイスとプログラムモジュールの行番号とを強調表示してもよい。また、リレーションマップ120において出力部のブロックがクリックされると、CPU11は、プログラム表示領域104に、プログラムモジュール150bを表示する。CPU11は、プログラムモジュール150bにおける各デバイスに、いつもと異なる状態になったタイミングで収集されたデバイス値を反映させる。図13では、MR001がオフであり、その結果、R004がオフになったことが判明する。プログラムモジュール150bは、リレーションマップ120とともに同一のウインドウ内に表示されてもよい。図13に示された展開ボタン121がクリックされると、CPU11は、MR001についてリレーションを展開して表示する。 Next, the user searches for the cause of R004 being in an unusual state. In FIG. 12, when detecting that R004 is selected and the button 117a is pressed down, the CPU 11 displays the relation map 120 on the display section 7. FIG. The CPU 11 extracts the line including the description of R004 from the ladder program and creates the relation map 120. FIG. The relationship map 120 may be displayed in a window different from the analysis report 110 and the UI 100 of the project editing program 14a. As shown in FIG. 13, the relation map 120 shows that MR000, MR001, and MR002 are related to R004 in the first line of the output section (program module 150b). The CPU 11 may highlight the device and the line number of the program module that are in an unusual state. Further, when the block of the output section in the relation map 120 is clicked, the CPU 11 displays the program module 150b in the program display area 104. FIG. The CPU 11 causes each device in the program module 150b to reflect the device value collected at the timing when the state is different from usual. In FIG. 13, it can be seen that MR001 is off and as a result R004 is off. Program module 150b may be displayed in the same window with relation map 120. FIG. When the expand button 121 shown in FIG. 13 is clicked, the CPU 11 expands and displays the relation for MR001.

図18によれば、MR001の展開ボタン121aがクリックされ、さらにR001の展開ボタン121bがクリックされた状態が示されている。CPU11は、MR001の展開ボタン121aがクリックされると、ラダープログラムを検索し、MR001が記述されているプログラムモジュール150aの1行目(入力部の1行目)を抽出する。これにより、CPU11は、MR001の左側に入力部の1行目を示すブロックを表示し、さらに、入力部の1行目を示すブロックのさらに左側に、R000のブロックとR001のブロックとを表示する。分析レポートまたは運転記録によれば、R001がいつもと異なる状態にあることがわかる。そのため、CPU11は、R001のブロックを強調表示する。 FIG. 18 shows a state in which the expansion button 121a for MR001 has been clicked, and the expansion button 121b for R001 has been clicked. When the expansion button 121a of MR001 is clicked, the CPU 11 searches the ladder program and extracts the first line (the first line of the input section) of the program module 150a in which MR001 is described. As a result, the CPU 11 displays the block indicating the first line of the input section to the left of MR001, and further displays the blocks R000 and R001 to the left of the block indicating the first line of the input section. . Analysis reports or driving records show that R001 is in an unusual state. Therefore, the CPU 11 highlights the R001 block.

R001のブロックのそばに表示される展開ボタン121bがクリックされると、CPU11はR001について検索を実行し、プログラムモジュール150c(加工部状態)の1行目を発見する。CPU11は、R001のブロックの左側に加工部状態の1行目を示すブロックを表示し、さらに、そのブロックのさらに左側にDM0のブロックを表示する。DM0が"0"でなかったために、R001がオンとなり、R004がオフになったことが、最終的に、判明する。 When the expand button 121b displayed beside the block of R001 is clicked, the CPU 11 executes a search for R001 and finds the first line of the program module 150c (processing section state). The CPU 11 displays a block indicating the first row of the processing unit status on the left side of the R001 block, and further displays a DM0 block on the left side of that block. It eventually turns out that R001 turned on and R004 turned off because DM0 was not "0".

図18においてプログラム表示領域122は、抽出されたプログラムモジュールを示すとともに、R004がいつもと異なる状態になったタイミングにおける各デバイスのデバイス値を示している。空欄はデバイスがオフであることを示し、斜線はデバイスがオンであることを示す。CPU11は、各デバイスのデバイス値を、記憶装置12に記憶されている運転記録から取得してリレーションマップ120に反映する。 In FIG. 18, the program display area 122 shows the extracted program module and the device value of each device at the timing when R004 is in an unusual state. A blank indicates that the device is off, and a diagonal line indicates that the device is on. The CPU 11 acquires the device value of each device from the driving record stored in the storage device 12 and reflects it in the relation map 120 .

図18には再生時刻を表示したり、再生時刻を指定したりするためのシークバーが示されていないが、シークバーがリレーションマップ120に設けられてもよい。これにより、ユーザは、リレーションマップ120においても容易にデバイス値の再生時刻を変更することができよう。この場合も、CPU11は、リレーションマップ120における再生時刻と他のユーザインタフェースにおけるデバイス値の再生時刻とを同期させる。 Although FIG. 18 does not show a seek bar for displaying the playback time or specifying the playback time, a seek bar may be provided in the relation map 120 . As a result, the user can easily change the playback time of the device value in the relation map 120 as well. Also in this case, the CPU 11 synchronizes the reproduction time in the relation map 120 with the reproduction time of the device value in another user interface.

リレーションマップ120において再生時刻を変更しながら、各デバイスのデバイス値を確認することで、ユーザは、デバイス値の異常状態がどのように連鎖したかを容易に理解できるようになろう。 By checking the device value of each device while changing the playback time in the relation map 120, the user can easily understand how the abnormal states of the device values are chained.

なお、いつもと異なるイベントが発生したデバイスはラダープログラム上で強調表示されてもよい。図18が示すように、R001の周囲がハッチングまたは強調色で表示されてもよい。また、正常時のデバイス値がオフとなることが、表示されてもよい。これにより、ユーザは、正常なデバイス値を容易に理解できるようになろう。 Note that a device in which an unusual event has occurred may be highlighted on the ladder program. As shown in FIG. 18, the periphery of R001 may be displayed with hatching or a highlighted color. In addition, it may be displayed that the device value in the normal state is OFF. This will allow the user to easily understand normal device values.

図18は、上述したように、デバイスR004が選択された状態でボタン117aが押し下げられたときに表示されるリレーションマップを示しているが、図18が示すリレーションマップ120が表示された状態で、分析レポート110の時刻バー112eを左方に移動させていくと、強調表示されるデバイスが切り替わっていく。このことについて、図19を用いて説明する。 As described above, FIG. 18 shows the relation map displayed when the button 117a is pressed while the device R004 is selected. As the time bar 112e of the analysis report 110 is moved to the left, the highlighted devices are switched. This will be described with reference to FIG. 19 .

図19は、強調表示されるデバイスが切り替わっていく様子を示す説明図である。分析レポート110の時刻バー112eが、デバイスR001およびMR001についていつもと違うが検出されたタイミング(14:50:45)と、デバイスR004についていつもと違うが検出されたタイミング(14:59:01)との間にあってもよい。この場合、リレーションマップ120で強調表示されるのは、デバイスR001およびMR001のみである(デバイスR004の強調表示は消える)。そして、分析レポート110の時刻バー112eが、デバイスR001およびMR001についていつもと違うが検出されたタイミング(14:50:45)よりも左方にある場合、リレーションマップ120ではいずれのデバイスも強調表示されない。 FIG. 19 is an explanatory diagram showing how devices to be highlighted are switched. The time bar 112e of the analysis report 110 shows the timing (14:50:45) when the device R001 and MR001 were detected to be different, and the timing (14:59:01) when the device R004 was detected to be different. may be between In this case, only devices R001 and MR001 are highlighted in relation map 120 (the highlighting of device R004 disappears). Then, if the time bar 112e of the analysis report 110 is to the left of the timing (14:50:45) at which the device R001 and MR001 were detected to be different than usual, none of the devices is highlighted on the relation map 120. .

図19は、分析レポート110の時刻バー112eを左へ移動させると、徐々に強調表示されるデバイスが減っていく様子を示している。これにより、どのデバイスがトラブルの原因になったかを時系列に沿って追跡することが容易になる。なお、分析レポート110の時刻バー112eを右へ移動させていくと、徐々に強調表示されるデバイスが増えて行く。時刻バー112eがデバイスR001およびMR001についていつもと違うが検出されたタイミング(14:50:45)を過ぎると、デバイスR001、MR001およびR004の全てが強調表示される。言い換えると、強調表示されるデバイスは、分析レポート110の時刻バー112eが示す時刻には既にいつもと違うが検出されているデバイスが該当する。 FIG. 19 shows how the number of highlighted devices gradually decreases as the time bar 112e of the analysis report 110 is moved to the left. This makes it easier to track which device caused trouble over time. As the time bar 112e of the analysis report 110 is moved to the right, the number of devices that are highlighted gradually increases. Devices R001, MR001 and R004 are all highlighted once the time bar 112e passes the timing (14:50:45) when anomalies were detected for devices R001 and MR001. In other words, the highlighted device corresponds to a device that has already been detected at the time indicated by the time bar 112e of the analysis report 110, although it is unusual.

なお、図18が示すリレーションマップ120には、分析レポート110を作成する際に分析対象外のデバイスが含まれる場合がある。この場合、この分析対象外のデバイスがリレーションマップ120上で強調表示されてもよい。なぜなら、いつもと違うと判定されたデバイス以外に、分析対象外のデバイスが、トラブルの要因となるデバイスに該当する可能性もあるからである。識別性を向上させるために、いつもと違うと判定されたデバイスの強調表示と、分析対象外のデバイスの強調表示とは、たとえば、線の種別や色を変える等、異なる強調表示にされることが好ましい。また、図18が示すリレーションマップ120では、分析レポート110で選択されたデバイス(R004)に影響を与えるデバイス(MR001やR001)が、その選択デバイスより左方に表示されている。しかし、これは一例にすぎず、本発明はこれに限られない。たとえば、分析レポート110で選択されたデバイスから影響を受けるデバイスが、その選択デバイスより右方に表示されてもよい。 It should be noted that the relationship map 120 shown in FIG. 18 may include devices that are not subject to analysis when the analysis report 110 is created. In this case, this non-analyzed device may be highlighted on the relationship map 120 . This is because, in addition to devices determined to be unusual, there is a possibility that devices not subject to analysis may correspond to devices that cause trouble. In order to improve recognizability, the highlighting of devices that are determined to be unusual and the highlighting of devices that are not subject to analysis should be performed differently, such as by changing the line type or color. is preferred. Also, in the relation map 120 shown in FIG. 18, the devices (MR001 and R001) that affect the device (R004) selected in the analysis report 110 are displayed to the left of the selected device. However, this is only an example, and the present invention is not limited to this. For example, devices affected by a device selected in analysis report 110 may be displayed to the right of the selected device.

<フローチャート>
図20はCPU11により実行される方法を示すフローチャートである。操作部8を通じてプロジェクト編集プログラム14aが起動されると、CPU11は、プロジェクト編集プログラム14aにしたがって以下の処理を実行する。
<Flowchart>
FIG. 20 is a flow chart showing a method performed by CPU 11 . When the project editing program 14a is activated through the operation unit 8, the CPU 11 executes the following processes according to the project editing program 14a.

ステップS1でCPU11(プロジェクト編集部50)はユーザにより指定されたプロジェクトデータを読み込む。これにより、CPU11(プロジェクト編集部50)はUI100を表示部7に表示する。プロジェクト表示領域102にはプロジェクトデータから読み込まれた情報が反映される。プログラム表示領域104にはプロジェクトデータに含まれるラダープログラムが表示される。 In step S1, the CPU 11 (project editing unit 50) reads project data designated by the user. As a result, the CPU 11 (project editing unit 50) displays the UI 100 on the display unit 7. FIG. Information read from the project data is reflected in the project display area 102 . A program display area 104 displays a ladder program included in the project data.

ステップS2でCPU11(プロジェクト編集部50)は動作モードを編集モードに設定する。これにより、CPU11(受付部57)は、プログラム表示領域104に入力される編集指示を受け付け、編集指示にしたがってラダープログラムを編集する。 In step S2, the CPU 11 (project editor 50) sets the operation mode to the edit mode. Thereby, the CPU 11 (accepting unit 57) accepts the editing instruction input to the program display area 104, and edits the ladder program according to the editing instruction.

ステップS3でCPU11(プロジェクト編集部50)は動作モードとしてモニタモードが選択されたかどうかを判定する。モード選択メニュー101においてモニタモードが選択されると、CPU11は、S4に進む。モード選択メニュー101においてモニタモードが選択されていない場合、CPU11は、S11に進む。 At step S3, the CPU 11 (project editing unit 50) determines whether or not the monitor mode has been selected as the operation mode. When the monitor mode is selected in the mode selection menu 101, the CPU 11 proceeds to S4. If the monitor mode is not selected in the mode selection menu 101, the CPU 11 proceeds to S11.

ステップS4でCPU11(デバッグ部54)はPLC1において通知が発行されたかどうかを判定する。通知処理部58は、ポーリングにより、通知発行部84から通知を取得する。なお、ステップS4はオプションのステップである。通知が存在すれば、CPU11は、ステップS5に進む。 In step S4, the CPU 11 (debugging unit 54) determines whether or not the PLC 1 has issued a notification. The notification processing unit 58 acquires notifications from the notification issuing unit 84 by polling. Note that step S4 is an optional step. If there is notification, the CPU 11 proceeds to step S5.

ステップS5でCPU11(デバッグ部54)はWebブラウザ60に分析レポート110を表示する。デバッグ部54は、通知に含まれている分析レポートのURLをWebブラウザ60に渡す。Webブラウザ60は、URLにしたがってHTTPリクエストを生成して、Webサーバ51にアクセスする。Webサーバ51は、URLにしたがってプロトコル変換部52にHTTPリクエストを渡す。プロトコル変換部52は、HTTPリクエストをカプセル化して基本ユニット3のCPU31(コマンド処理部71)に渡す。コマンド処理部71は、ヘッダ情報などに基づき、カプセル化されたHTTPリクエストをCPU41aのプロトコル変換部81に渡す。プロトコル変換部81カプセル化されたHTTPリクエストからHTTPリクエストを取り出して、Webサーバ82に渡す。Webサーバ82は、分析レポート110を表示するためのWebアプリケーション61をHTTPレスポンスとしてプロトコル変換部81に渡す。プロトコル変換部81は、Webアプリケーション61をカプセル化して、コマンド処理部71に渡す。コマンド処理部71は、カプセル化されたWebアプリケーション61をプロトコル変換部52に渡す。プロトコル変換部52は、カプセル化されたWebアプリケーション61からWebアプリケーション61を取り出して、Webサーバ51に渡す。Webサーバ51は、Webアプリケーション61をWebブラウザ60に渡す。Webブラウザ60は、Webアプリケーション61を実行することで分析レポート110を表示部7に表示する。データ取得部63は、通信処理部62を介してWebサーバ51に運転記録74を要求する。Webサーバ51は、ダウンロード部53に運転記録74をPLC1からダウンロードして記憶装置12に記憶するよう指示する。ダウンロード部53は、運転記録74をPLC1からダウンロードして記憶装置12に記憶する。Webサーバ51は、データ取得部63から要求された運転記録74をデータ取得部63に渡す。描画部65は、運転記録74に含まれている分析結果77を分析レポート110に表示する。 In step S<b>5 , the CPU 11 (debugging unit 54 ) displays the analysis report 110 on the web browser 60 . The debug unit 54 passes the URL of the analysis report included in the notification to the web browser 60 . The web browser 60 generates an HTTP request according to the URL and accesses the web server 51 . The web server 51 passes the HTTP request to the protocol converter 52 according to the URL. The protocol converter 52 encapsulates the HTTP request and passes it to the CPU 31 (command processor 71) of the basic unit 3. FIG. The command processing unit 71 passes the encapsulated HTTP request to the protocol conversion unit 81 of the CPU 41a based on the header information and the like. The protocol converter 81 extracts the HTTP request from the encapsulated HTTP request and passes it to the Web server 82 . The web server 82 passes the web application 61 for displaying the analysis report 110 to the protocol converter 81 as an HTTP response. The protocol converter 81 encapsulates the web application 61 and passes it to the command processor 71 . The command processing unit 71 passes the encapsulated web application 61 to the protocol conversion unit 52 . The protocol converter 52 extracts the web application 61 from the encapsulated web application 61 and passes it to the web server 51 . The web server 51 delivers the web application 61 to the web browser 60 . The web browser 60 displays the analysis report 110 on the display unit 7 by executing the web application 61 . The data acquisition unit 63 requests the driving record 74 from the web server 51 via the communication processing unit 62 . The web server 51 instructs the download unit 53 to download the driving record 74 from the PLC 1 and store it in the storage device 12 . The download unit 53 downloads the driving record 74 from the PLC 1 and stores it in the storage device 12 . The Web server 51 passes the driving record 74 requested by the data acquisition unit 63 to the data acquisition unit 63 . The drawing unit 65 displays the analysis result 77 included in the driving record 74 on the analysis report 110 .

ステップS6でCPU11(デバッグ部54)は分析レポート110またはUI100において動作モードがリプレイモードに切り替えられたかどうかを判定する。操作部8により動作モードがリプレイモードに切り替えられると、CPU11は、ステップS7に進む。作モードがリプレイモードに切り替えられていない場合、CPU11は、ステップS5に進む。 In step S6, the CPU 11 (debugging unit 54) determines whether the operation mode has been switched to the replay mode in the analysis report 110 or the UI 100. FIG. When the operating unit 8 switches the operation mode to the replay mode, the CPU 11 proceeds to step S7. If the play mode has not been switched to the replay mode, the CPU 11 proceeds to step S5.

ステップS7でCPU11(ラダーモニタ部56)は記憶装置12にダウンロードされた運転記録74を表示部7に再生する。上述されたようにプログラム表示領域104にはラダープログラムに記述されているデバイスのデバイス値が運転記録74から読み出され、各デバイスに反映される。デバイスに反映されるとは、デバイスがオンかオフかが視覚的にわかるように表示されること、または、デバイスに格納されているデバイス値がそのデバイスに関連付けて表示されることをいう。デバイス値がそのデバイスに関連付けて表示されるとは、たとえば、そのデバイスが記述されている行において、そのデバイスの近くにデバイス値を表示することをいう。 In step S<b>7 , the CPU 11 (ladder monitor unit 56 ) reproduces the driving record 74 downloaded to the storage device 12 on the display unit 7 . As described above, in the program display area 104, the device values of the devices described in the ladder program are read out from the operation record 74 and reflected in each device. “Reflected on the device” means that the device is displayed so as to visually recognize whether it is on or off, or that the device value stored in the device is displayed in association with the device. Displaying a device value in association with the device means, for example, displaying the device value near the device in the line describing the device.

ステップS3でモニタモードへの切り替えが指示されていない場合、CPU11はS11に進む。ステップS11でCPU11はリプレイモードへの切り替えが指示されたかどうかを判定する。リプレイモードへの切り替えが指示されていなければ、CPU11はS2に進む。リプレイモードへの切り替えが指示されていれば、CPU11はS12に進む。 When switching to the monitor mode is not instructed in step S3, the CPU 11 proceeds to S11. In step S11, the CPU 11 determines whether switching to the replay mode has been instructed. If switching to the replay mode has not been instructed, the CPU 11 proceeds to S2. If switching to the replay mode has been instructed, the CPU 11 proceeds to S12.

ステップS12でCPU11は記憶装置12に保存されている運転記録74を再生する。なお、記憶装置12に運転記録74が保存されていない場合、CPU11はPLC1から運転記録74をダウンロードして記憶装置12に保存し、運転記録74を再生する。CPU11(再生部59)は、運転記録74に含まれる時系列データとしてのデバイス値をラダープログラムに重ねて表示する。また、再生部59は、時間の経過とともに運転記録74から次のデバイス値を読み出して、表示する。 At step S12, the CPU 11 reproduces the driving record 74 stored in the storage device 12. FIG. If the driving record 74 is not stored in the storage device 12, the CPU 11 downloads the driving record 74 from the PLC 1, stores it in the storage device 12, and reproduces the driving record 74. The CPU 11 (reproducing unit 59) displays the device values as time series data included in the driving record 74 superimposed on the ladder program. In addition, the reproducing unit 59 reads out the next device value from the driving record 74 as time elapses and displays it.

ステップS13でCPU11は分析レポート110を表示するかどうかを判定する。たとえば、操作部8を通じて分析レポート110の表示の指示が入力されたかどうかをCPU11が判定する。分析レポート110を表示しない場合、CPU11は、S12に戻る。なお、ここで、他のモードへの切り替えが指示された場合、CPU11は、動作モードを他のモードへ切り替える。分析レポート110を表示する場合、CPU11は、S14に進む。 In step S13, the CPU 11 determines whether the analysis report 110 should be displayed. For example, the CPU 11 determines whether an instruction to display the analysis report 110 has been input through the operation unit 8 . When not displaying the analysis report 110, the CPU 11 returns to S12. It should be noted that here, when switching to another mode is instructed, the CPU 11 switches the operation mode to another mode. When displaying the analysis report 110, the CPU 11 proceeds to S14.

ステップS14でCPU11は、Webブラウザ60に分析レポート110を表示させる。 In step S<b>14 , the CPU 11 causes the web browser 60 to display the analysis report 110 .

[分析レポートの表示処理]
図21はステップS5、S14の分析レポートの表示処理の詳細を示している。
[Analysis report display processing]
FIG. 21 shows details of the analysis report display processing in steps S5 and S14.

ステップS21でCPU11は分析レポート110を表示させるためのURL(IPアドレス)をWebブラウザ60に指定する。分析レポート110を表示させるためのURLは、たとえば、運転記録74の分析結果77に含まれていてもよい。 In step S<b>21 , the CPU 11 designates the URL (IP address) for displaying the analysis report 110 to the web browser 60 . A URL for displaying the analysis report 110 may be included in the analysis result 77 of the driving record 74, for example.

ステップS22でCPU11(Webブラウザ60)は、分析レポート110を表示させるためのURLにしたがってWebサーバ51にアクセスし、分析レポート110を表示するためのWebアプリケーション61を受信する。 In step S<b>22 , CPU 11 (Web browser 60 ) accesses Web server 51 according to the URL for displaying analysis report 110 and receives Web application 61 for displaying analysis report 110 .

ステップS23でCPU11(Webブラウザ60)はWebアプリケーション61を実行することでWebブラウザ60に分析レポート110を表示する。 In step S<b>23 , the CPU 11 (web browser 60 ) executes the web application 61 to display the analysis report 110 on the web browser 60 .

ステップS24でCPU11はリレーションマップ120を表示するかどうかを判定する。たとえば、ボタン117aがクリックされると、CPU11はリレーションマップ120を表示すると判定し、ステップS25に進む。 In step S24, the CPU 11 determines whether the relation map 120 should be displayed. For example, when button 117a is clicked, CPU 11 determines to display relation map 120, and proceeds to step S25.

ステップS25でCPU11はリレーションマップ120を表示部7に表示する。たとえば、CPU11(連携部64)は通信処理部62を介してWebサーバ51にリレーションマップ120の表示要求(HTTPリクエスト)を送信する。この表示要求には、非正常デバイスの指定情報と非正常状態が発生したタイミングを示す時刻情報などが含まれる。Webサーバ51は、リレーションマップ120の表示要求をリレーションマップ部55に渡し、リレーションマップの表示部品を用意させる。リレーションマップ部55は、非正常デバイスの指定情報と非正常状態が発生したタイミングを示す時刻情報に基づき、運転記録74から、非正常状態が発生したタイミングの前後における非正常デバイスのデバイス値を読み出して、リレーションマップ120の表示部品を作成し、Webサーバ51に渡す。Webサーバ51はリレーションマップ120の表示部品をWebブラウザ60に渡す。Webブラウザ60はリレーションマップ120の表示部品にしたがってリレーションマップ120を表示する。あるいは、リレーションマップ部55はリレーションマップ120をWebブラウザ60とは異なるウインドウとして表示部7に表示してもよい。 In step S25, the CPU 11 displays the relation map 120 on the display section 7. FIG. For example, CPU 11 (coordination unit 64 ) transmits a display request (HTTP request) for relation map 120 to Web server 51 via communication processing unit 62 . This display request includes information specifying the abnormal device and time information indicating the timing at which the abnormal state occurred. The Web server 51 passes the request to display the relation map 120 to the relation map unit 55 to prepare display components for the relation map. The relation map unit 55 reads the device values of the abnormal devices before and after the timing when the abnormal state occurred from the operation record 74 based on the information specifying the abnormal device and the time information indicating the timing when the abnormal state occurred. Then, display parts of the relation map 120 are created and transferred to the Web server 51 . The web server 51 passes the display component of the relation map 120 to the web browser 60 . The web browser 60 displays the relation map 120 according to the display parts of the relation map 120 . Alternatively, the relationship map unit 55 may display the relationship map 120 on the display unit 7 as a window different from the window of the web browser 60 .

ステップS24でリレーションマップ120を表示しないと判定すると、CPU11は、S26に進む。ステップS26でCPU11は、指定されたデバイス値の波形を表示するかどうかを判定する。たとえば、いずれかの非正常デバイスが指定され、かつ、図12に示されたボタン117bがクリックされると、CPU11は波形を表示すると判定し、ステップS27に進む。 When determining not to display the relation map 120 in step S24, the CPU 11 proceeds to S26. In step S26, the CPU 11 determines whether or not to display the waveform of the designated device value. For example, when any abnormal device is specified and button 117b shown in FIG. 12 is clicked, CPU 11 determines to display the waveform, and proceeds to step S27.

ステップS27でCPU11は波形UI130を表示部7に表示する。たとえば、CPU11(連携部64)は通信処理部62を介してWebサーバ51に波形UIの表示要求(HTTPリクエスト)を送信する。この表示要求には、非正常デバイスの指定情報と非正常状態が発生したタイミングを示す時刻情報などが含まれる。Webサーバ51は、波形UI130の表示要求を再生部59に渡し、波形UI130の表示部品を用意させる。再生部59は、非正常デバイスの指定情報と非正常状態が発生したタイミングを示す時刻情報に基づき、運転記録74から、非正常状態が発生したタイミングの前後における非正常デバイスのデバイス値を読み出して、波形UI130の表示部品を作成し、Webサーバ51に渡す。Webサーバ51は波形UI130の表示部品をWebブラウザ60に渡す。Webブラウザ60は波形UI130の表示部品にしたがって波形UI130を表示する。あるいは、再生部59は、波形表示プログラム14bを起動して、波形UI130をWebブラウザ60とは異なるウインドウとして表示部7に表示してもよい。 In step S27, the CPU 11 displays the waveform UI 130 on the display section 7. FIG. For example, the CPU 11 (linkage unit 64 ) transmits a waveform UI display request (HTTP request) to the web server 51 via the communication processing unit 62 . This display request includes information specifying the abnormal device and time information indicating the timing at which the abnormal state occurred. The Web server 51 passes the display request of the waveform UI 130 to the reproduction unit 59 and prepares display components for the waveform UI 130 . The reproduction unit 59 reads the device values of the abnormal devices before and after the timing when the abnormal state occurred from the operation record 74 based on the information specifying the abnormal device and the time information indicating the timing when the abnormal state occurred. , create a display component for the waveform UI 130 and pass it to the web server 51 . The web server 51 passes the display component of the waveform UI 130 to the web browser 60 . The web browser 60 displays the waveform UI 130 according to the display components of the waveform UI 130 . Alternatively, the playback unit 59 may activate the waveform display program 14 b to display the waveform UI 130 on the display unit 7 as a window different from that of the web browser 60 .

ここで、ステップS25においてリレーションマップが表示された後、CPU11は、分析レポート110の時刻バー112eが操作されたか否かを判定する(ステップS28)。時刻バー112eが操作された場合、図19を用いて上述されたように、CPU11(連携部64)は時刻バー112eが示す時刻に基づいて、既にいつもと違うが検出されているデバイスの強調表示を行う(ステップS29)。時刻バー112eが示す時刻によっては、いずれのデバイスも強調表示されない。 Here, after the relation map is displayed in step S25, the CPU 11 determines whether or not the time bar 112e of the analysis report 110 has been operated (step S28). When the time bar 112e is operated, as described above with reference to FIG. 19, the CPU 11 (coordination unit 64) highlights devices that have already been detected to be different based on the time indicated by the time bar 112e. (step S29). No device is highlighted depending on the time indicated by the time bar 112e.

また、ステップS27において波形表示がなされた後、CPU11は、分析レポート110の時刻バー112eが操作されたか否かを判定する(ステップS30)。時刻バー112eが操作された場合、CPU11(連携部64)は時刻バー112eが示す時刻に基づいて、波形表示の時刻バー112gを連動表示させる(ステップS31)。本実施形態では、図19を用いて説明されたように、波形表示の時刻バー112gが連動表示されている。しかしこれは一例にすぎず、本発明はこれに限られない。たとえば、時刻バー112eが示す時刻に対応するデバイス波形が表示されるように、波形表示の表示範囲が連動してもよい。 Further, after the waveform is displayed in step S27, the CPU 11 determines whether or not the time bar 112e of the analysis report 110 has been operated (step S30). When the time bar 112e is operated, the CPU 11 (linkage unit 64) interlocks and displays the time bar 112g of waveform display based on the time indicated by the time bar 112e (step S31). In the present embodiment, as described with reference to FIG. 19, the waveform display time bar 112g is interlocked and displayed. However, this is only an example, and the present invention is not limited to this. For example, the display range of the waveform display may be interlocked so that the device waveform corresponding to the time indicated by the time bar 112e is displayed.

[プロジェクトデータ、稼働ログおよび分析結果の紐づけ]
図5に示された運転記録74では、プロジェクトデータ75、稼働ログ76および分析結果77が同一のフォルダに格納されることで、これらが紐づけられている。しかし、紐づけ手法はこれに限定されることはない。ロギング部73は、プロジェクトデータ75、稼働ログ76および分析結果77を圧縮して単一のファイルを生成してもよい。あるいは、ロギング部73は、固有の識別情報を用いて、プロジェクトデータ75、稼働ログ76および分析結果77を紐づけてもよい。以下では、プロジェクトデータ75、稼働ログ76および分析結果77を紐づけることが前提とされているが、これら三つの情報のうちの二つの情報が紐づけられてもよい。
[Associating project data, operation logs and analysis results]
In the operation record 74 shown in FIG. 5, the project data 75, the operation log 76, and the analysis result 77 are stored in the same folder and are linked. However, the linking method is not limited to this. The logging unit 73 may compress the project data 75, the operation log 76 and the analysis result 77 to generate a single file. Alternatively, the logging unit 73 may link the project data 75, the operation log 76, and the analysis result 77 using unique identification information. Below, it is assumed that the project data 75, the operation log 76, and the analysis result 77 are linked, but two of these three pieces of information may be linked.

図22は、識別情報を用いたプロジェクトデータ75、稼働ログ76および分析結果77の紐づけ手法を示している。ロギング部73は、所定ベントを検知すると、運転記録74として、稼働ログ76およびプロジェクトID200を運転記録記憶部37に保存し、分析部83に通知する。所定イベントとは、たとえば、ユーザがPLC1を管理する上で注意すべきイベントであって、ユーザにより予め定められた記録条件を満たしたイベントである。ロギング部73は、たとえば、プロジェクト記憶部35からプロジェクトID200を取得するものとする。ロギング部73は、プロジェクトデータ75に対してハッシュ演算を施すことでプロジェクトID200を決定してもよい。このように、プロジェクトID200は、所定イベントが発生したときにPLC1で実行されていたプロジェクトデータ75の識別情報である。 FIG. 22 shows a method of linking project data 75, operation logs 76, and analysis results 77 using identification information. When the logging unit 73 detects the predetermined vent, the logging unit 73 saves the operation log 76 and the project ID 200 as the operation record 74 in the operation record storage unit 37 and notifies the analysis unit 83 of them. A predetermined event is, for example, an event that the user should pay attention to in managing the PLC 1 and that satisfies a recording condition predetermined by the user. The logging unit 73 acquires the project ID 200 from the project storage unit 35, for example. The logging unit 73 may determine the project ID 200 by performing hash calculation on the project data 75 . Thus, the project ID 200 is identification information of the project data 75 being executed by the PLC 1 when the predetermined event occurred.

分析部83は分析結果77cを作成し、分析結果77cの識別情報である分析ID201をロギング部73に通知する。この例では、過去に生成された分析結果77a、77bもメモリ42bに記憶されている。ロギング部73は、分析ID201を運転記録74に保存する。これにより、所定イベントについて記録された稼働ログ76がプロジェクトID200を介してプロジェクトデータ75bに紐づけられる。同様に、所定イベントについて記録された稼働ログ76が分析ID201を介して分析結果77cに紐づけられる。通知発行部84は、分析結果が作成されたことを示す通知(分析IDを含む)を、基本ユニット3を介してPC2に送信する。 The analysis unit 83 creates an analysis result 77c and notifies the logging unit 73 of an analysis ID 201 that is identification information of the analysis result 77c. In this example, previously generated analysis results 77a and 77b are also stored in the memory 42b. The logging unit 73 saves the analysis ID 201 in the driving record 74 . As a result, the operation log 76 recorded for the predetermined event is linked to the project data 75b via the project ID 200. FIG. Similarly, the operation log 76 recorded for the predetermined event is linked to the analysis result 77c via the analysis ID 201. FIG. The notification issuing unit 84 transmits a notification (including an analysis ID) indicating that the analysis result has been created to the PC 2 via the basic unit 3 .

プロジェクト編集部50は、当該通知を受信すると、基本ユニット3から運転記録74を取得して、記憶装置12に格納する。さらに、プロジェクト編集部50は、運転記録74の再生指示が入力されると、運転記録74に含まれているプロジェクトID200に対応するプロジェクトデータ75bを記憶装置12から取得する。プロジェクトデータ75aのプロジェクトIDは0であるため、ここではプロジェクトデータ75aは選択されない。さらに、プロジェクト編集部50は、運転記録74に含まれている分析ID201に対応する分析結果77cを、基本ユニット3のコマンド処理部71および拡張ユニット4aのCPU41aを介して取得する。これにより、記憶装置12には、所定イベントが発生したときに実行されていたプロジェクトデータ75、稼働ログ76および分析結果77cが保存され、分析レポート110の表示や運転記録74の再生に利用される。 Upon receiving the notification, the project editor 50 acquires the driving record 74 from the basic unit 3 and stores it in the storage device 12 . Furthermore, when an instruction to reproduce the driving record 74 is input, the project editing unit 50 acquires the project data 75 b corresponding to the project ID 200 included in the driving record 74 from the storage device 12 . Since the project ID of the project data 75a is 0, the project data 75a is not selected here. Furthermore, the project editor 50 acquires the analysis result 77c corresponding to the analysis ID 201 included in the operation record 74 via the command processor 71 of the basic unit 3 and the CPU 41a of the expansion unit 4a. As a result, the project data 75, the operation log 76, and the analysis result 77c that were executed when the predetermined event occurred are saved in the storage device 12, and are used for displaying the analysis report 110 and reproducing the operation record 74. .

なお、異なる複数のイベントが発生すると、複数の運転記録74が生成されることがある。この場合、ロギング部73は、複数の運転記録74のそれぞれに固有の識別情報である記録IDを付与してもよい。これにより、複数の運転記録74が識別可能とされてもよい。 Note that multiple driving records 74 may be generated when multiple different events occur. In this case, the logging unit 73 may assign a record ID, which is unique identification information, to each of the plurality of driving records 74 . Thereby, a plurality of driving records 74 may be made identifiable.

図23が示すように、分析結果を主体として他のデータが紐づけられてもよい。図23では、記憶装置12にプロジェクトデータ75a、75bが記憶される。運転記録記憶部37には、運転記録74a~74cが記憶される。メモリ42aには分析結果77が記憶される。 As shown in FIG. 23, other data may be linked mainly to the analysis result. In FIG. 23, the storage device 12 stores project data 75a and 75b. The driving record storage unit 37 stores driving records 74a to 74c. An analysis result 77 is stored in the memory 42a.

ロギング部73は、所定ベントを検知すると、稼働ログ76と記録ID202を含む運転記録74cを作成し、運転記録記憶部37に保存し、分析部83に記録IDとプロジェクトIDを通知する。ロギング部73は、プロジェクト記憶部35からプロジェクトID200を取得するものとする。プロジェクトID200は、所定イベントが発生したときにPLC1で実行されていたプロジェクトデータ75の識別情報である。 When the logging unit 73 detects a predetermined vent, the logging unit 73 creates an operation log 76 and an operation record 74c including the record ID 202, saves it in the operation record storage unit 37, and notifies the analysis unit 83 of the record ID and the project ID. It is assumed that the logging unit 73 acquires the project ID 200 from the project storage unit 35 . The project ID 200 is identification information of the project data 75 being executed by the PLC 1 when the predetermined event occurred.

分析部83は、稼働ログ76を分析して分析結果データ203を作成し、基本ユニットから受信されたプロジェクトID200と記録ID202を、分析結果データ203とともに、分析結果77に格納する。これにより、分析結果77は、プロジェクトID200を介してプロジェクトデータ75bに紐づけられる。同様に、分析結果77cは、記録ID202を介して所定イベントについて記録された運転記録74c(稼働ログ76)に紐づけられる。通知発行部84は、分析結果が作成されたことを示す通知(分析IDを含む)を、基本ユニット3を介してPC2に送信する。 The analysis unit 83 analyzes the operation log 76 to create analysis result data 203 , and stores the project ID 200 and record ID 202 received from the basic unit together with the analysis result data 203 in the analysis result 77 . As a result, the analysis result 77 is linked to the project data 75b via the project ID 200. FIG. Similarly, the analysis result 77c is linked via the record ID 202 to the driving record 74c (operation log 76) recorded for the predetermined event. The notification issuing unit 84 transmits a notification (including an analysis ID) indicating that the analysis result has been created to the PC 2 via the basic unit 3 .

プロジェクト編集部50は、当該通知を受信すると、分析IDに基づき、基本ユニット3を介して拡張ユニット4aから分析結果77を取得して、記憶装置12に格納する。さらに、プロジェクト編集部50は、運転記録74の再生指示が入力されると、分析結果77に含まれているプロジェクトID200に対応するプロジェクトデータ75bを記憶装置12から取得する。プロジェクト編集部50は、分析結果77に含まれている記録ID202に対応する運転記録74cを、基本ユニット3のコマンド処理部71を介して取得する。これにより、記憶装置12には、所定イベントが発生したときに実行されていたプロジェクトデータ75b、稼働ログ76(運転記録74c)および分析結果77(分析結果データ203)が保存され、分析レポート110の表示や運転記録74の再生に利用される。 Upon receiving the notification, the project editor 50 acquires the analysis result 77 from the expansion unit 4a via the basic unit 3 based on the analysis ID, and stores it in the storage device 12. FIG. Further, the project editing unit 50 acquires the project data 75 b corresponding to the project ID 200 included in the analysis result 77 from the storage device 12 when an instruction to reproduce the driving record 74 is input. The project editor 50 acquires the operation record 74 c corresponding to the record ID 202 included in the analysis result 77 via the command processor 71 of the basic unit 3 . As a result, the storage device 12 stores the project data 75b, the operation log 76 (operating record 74c), and the analysis result 77 (analysis result data 203) executed when the predetermined event occurred. It is used for display and playback of the driving record 74 .

このように、運転記録74は、相互に紐づけられたプロジェクトデータ75、稼働ログ76および分析結果77を有しているため、ラダープログラムのデバッグに必要となる情報が容易に取得可能となる。たとえば、異なる複数のバージョンのプロジェクトデータ75が存在する場合であっても、稼働ログ76が取得されたときに使用されてきたプロジェクトデータ75bが容易に取得可能となる。また、分析結果77を取得するために使用された稼働ログ76も容易に取得可能となる。 In this way, the operation record 74 has the project data 75, the operation log 76, and the analysis result 77 that are linked to each other, so that the information necessary for debugging the ladder program can be easily obtained. For example, even if there are different versions of the project data 75, the project data 75b used when the operation log 76 was acquired can be easily acquired. Also, the operation log 76 used to obtain the analysis result 77 can be easily obtained.

ところで、PLC1を運用している運用責任者がトラブルを解消できない場合に、PLC1を設定したり、プロジェクトデータ75を作成したりしたエンジニアに対して、トラブルの解消について応援を依頼することがある。このような場合、運用責任者は、運転記録74を読み出して電子メールに添付してエンジニアに送信してもよい。エンジニアは、電子メールに添付されていた運転記録74を再生したり、分析レポート110を表示したり、プロジェクトデータ75を再編集したりすることで、トラブルが容易に解消されよう。 By the way, when the person in charge of operation who operates the PLC 1 cannot solve the trouble, he may ask the engineer who set up the PLC 1 or created the project data 75 to help solve the trouble. In such a case, the operations manager may read out the driving record 74 and attach it to an e-mail and send it to the engineer. By reproducing the operation record 74 attached to the e-mail, displaying the analysis report 110, or re-editing the project data 75, the engineer can easily solve the trouble.

CPU31は、FTP(ファイル転送プロトコル)クライアントとして機能してもよい。ロギング部73は運転記録74を運転記録記憶部37に保存すると、FTPクライアントに運転記録74のアップロードを指示する。FTPクライアントは、予め指定されたIPアドレスのFTPサーバに対して運転記録74をアップロードする。ここで、FTPサーバは、PC2のCPU11において稼働していてもよい。PC2のプロジェクト編集部50は、FTPサーバから運転記録74を取得できるようになる。たとえば、FTPサーバが運転記録74を記憶装置12に保存すると、プロジェクト編集部50は、記憶装置12から運転記録74を読み出すことが可能となる。 The CPU 31 may function as an FTP (File Transfer Protocol) client. After saving the driving record 74 in the driving record storage unit 37 , the logging unit 73 instructs the FTP client to upload the driving record 74 . The FTP client uploads the driving record 74 to the FTP server with the IP address specified in advance. Here, the FTP server may be running in the CPU 11 of the PC2. The project editing unit 50 of the PC 2 becomes able to acquire the driving record 74 from the FTP server. For example, when the FTP server stores the driving record 74 in the storage device 12 , the project editor 50 can read the driving record 74 from the storage device 12 .

図24は運転記録の保存方法を示すフローチャートである。 FIG. 24 is a flow chart showing a method of storing driving records.

ステップS31でCPU31(ロギング部73)は、運転記録74の記録条件(保存条件)が満たされたかどうかを判定する。記録条件は、予めPC2などによって設定されている。記録条件が満たされると、CPU31はステップS32に進む。 In step S31, the CPU 31 (logging unit 73) determines whether the recording condition (storage condition) of the driving record 74 is satisfied. The recording conditions are set in advance by the PC 2 or the like. When the recording conditions are satisfied, the CPU 31 proceeds to step S32.

ステップS32でCPU31(ロギング部73)は、稼働ログ76を取得する。上述されたように、ロギング部73は、リングバッファ36からデバイス値などを読み出して稼働ログ76を作成する。ここで、ロギング部73は、運転記録74を識別するための記録IDを稼働ログ76に付与してもよい。 CPU 31 (logging unit 73) acquires operation log 76 in step S32. As described above, the logging unit 73 reads device values and the like from the ring buffer 36 to create the operation log 76 . Here, the logging unit 73 may give the operation log 76 a record ID for identifying the operation record 74 .

ステップS33でCPU31(ロギング部73)は、基本ユニット3において実行されているプロジェクトデータ75またはその識別情報であるプロジェクトIDを取得する。 In step S33, the CPU 31 (logging unit 73) acquires the project data 75 being executed in the basic unit 3 or the project ID, which is its identification information.

ステップS34でCPU31(ロギング部73)は、稼働ログ76とプロジェクト(プロジェクトIDまたはプロジェクトデータ75)を紐づける。たとえば、ロギング部73は、同一のフォルダまたはファイルに稼働ログ76とプロジェクトデータ75とを保存する。あるいは、ロギング部73は、同一のフォルダまたはファイルに稼働ログ76とプロジェクIDとを保存する。 In step S34, the CPU 31 (logging unit 73) associates the operation log 76 with the project (project ID or project data 75). For example, logging unit 73 saves operation log 76 and project data 75 in the same folder or file. Alternatively, the logging unit 73 saves the operation log 76 and the project ID in the same folder or file.

ステップS35でCPU31(ロギング部73)は、拡張ユニット4aの分析部83に対して分析命令を発行する。たとえば、ロギング部73は、運転記録74(稼働ログ76)を保存したことを示す通知を分析部83に送信してもよい。分析命令または通知には、分析対象となる稼働ログ76を特定可能な情報(例:運転記録74が保存されたフォルダまたはファイルのパス名、運転記録74の識別情報)が含まれている。分析部83は、この情報にしたがって稼働ログ76にアクセスして分析結果を作成する。分析部83は、分析結果77またはこの分析結果を特定する分析IDをロギング部73に送信する。 In step S35, the CPU 31 (logging unit 73) issues an analysis command to the analysis unit 83 of the expansion unit 4a. For example, logging unit 73 may transmit to analysis unit 83 a notification indicating that operation record 74 (operation log 76) has been saved. The analysis command or notification includes information that can identify the operation log 76 to be analyzed (eg, the path name of the folder or file in which the driving record 74 is saved, identification information of the driving record 74). The analysis unit 83 accesses the operation log 76 according to this information and creates an analysis result. The analysis unit 83 transmits the analysis result 77 or an analysis ID specifying this analysis result to the logging unit 73 .

ステップS36でCPU31(ロギング部73)は、拡張ユニット4aから分析結果77または分析IDを受信する。 In step S36, the CPU 31 (logging unit 73) receives the analysis result 77 or analysis ID from the expansion unit 4a.

ステップS37でCPU31(ロギング部73)は、稼働ログ76とプロジェクトに分析結果77を紐づける。たとえば、ロギング部73は、同一のフォルダまたはファイルに稼働ログ76、プロジェクトデータ75(プロジェクトID)、および分析結果77を保存する。あるいは、ロギング部73は、同一のフォルダまたはファイルに稼働ログ76、プロジェクトデータ75(プロジェクトID)、および分析IDを保存する。これにより、プロジェクトデータ75、稼働ログ76、および分析結果77を相互に紐づけた運転記録74が完成する。運転記録74に、プロジェクトデータ75、稼働ログ76、および分析結果77そのものが含まれている必要は無く、IDなどの識別情報が含まれていてもよい。 In step S37, the CPU 31 (logging unit 73) associates the analysis result 77 with the operation log 76 and the project. For example, logging unit 73 saves operation log 76, project data 75 (project ID), and analysis result 77 in the same folder or file. Alternatively, the logging unit 73 saves the operation log 76, project data 75 (project ID), and analysis ID in the same folder or file. This completes the operation record 74 in which the project data 75, the operation log 76, and the analysis result 77 are mutually linked. The operation record 74 does not need to include the project data 75, the operation log 76, and the analysis result 77 itself, and may include identification information such as an ID.

ステップS38でCPU31(コマンド処理部71)は、運転記録74をPC2に転送する。たとえば、コマンド処理部71に内蔵されたFTPクライアントが運転記録74をPC2で稼働しているFTPサーバにアップロードする。アップロードが完了すると、コマンド処理部71は、運転記録74の保存が完了したことを示すビットデバイスをオフからオンに切り替えてもよい。あるいは、コマンド処理部71は、運転記録74の保存が完了したことを示す通知をPC2に送信してもよい。これにより、プロジェクト編集部50は、運転記録74が記憶装置12に記憶されていることを認識できるようになる。 In step S38, the CPU 31 (command processing unit 71) transfers the driving record 74 to the PC2. For example, the FTP client built into the command processing unit 71 uploads the driving record 74 to the FTP server running on the PC2. When the upload is completed, the command processing unit 71 may switch the bit device indicating that the driving record 74 has been saved from off to on. Alternatively, the command processing unit 71 may transmit to the PC 2 a notification indicating that the driving record 74 has been saved. This allows the project editor 50 to recognize that the driving record 74 is stored in the storage device 12 .

ところで、分析部83は拡張ユニット4aに実装されているが、分析部83は、基本ユニット3またはPC2に実装されてもよい。たとえば、ロギング部73が、運転記録74のうち稼働ログ76とプロジェクトデータ75(もしくはプロジェクトID)をメモリカードに保存してもよい。メモリカードは、記憶装置32の一部を構成しているものとする。PC2は、メモリカードからデータを読み出せるメモリカードリーダを有してもよい。PC2のCPU11(分析部83)は、メモリカードから稼働ログ76を読み出して分析結果77を作成し、運転記録74に分析結果77または分析IDを保存してもよい。これにより、運転記録74を構成する稼働ログ76、プロジェクトデータ75および分析結果77が紐づけられてもよい。 By the way, although the analysis unit 83 is mounted on the expansion unit 4a, the analysis unit 83 may be mounted on the basic unit 3 or the PC2. For example, the logging unit 73 may store the operation log 76 and project data 75 (or project ID) in the operation record 74 in the memory card. It is assumed that the memory card forms part of the storage device 32 . PC2 may have a memory card reader capable of reading data from a memory card. The CPU 11 (analyzer 83 ) of the PC 2 may read the operation log 76 from the memory card to create the analysis result 77 and save the analysis result 77 or the analysis ID in the driving record 74 . Thereby, the operation log 76, the project data 75, and the analysis result 77 which comprise the driving record 74 may be linked.

<第1実施形態のまとめ>
[観点1]
CPU11などは、ユーザプログラムを実行するプログラマブルロジックコントローラにより複数のデバイスから収集された複数のデバイス値の分析結果として、正常条件を満たさない非正常デバイスを示す分析レポートを取得する取得手段として機能する。表示部7などは分析レポートを表示するレポート表示手段として機能する。操作部8は、分析レポートに対する選択入力を受け付ける受付手段として機能する。CPU11および連携部64は選択入力により選択された非正常デバイスを特定する特定手段として機能する。図9などが示すように、CPU11および表示部7は、非正常デバイスに関する情報であって、プログラマブルロジックコントローラに保持されている当該デバイスに関する情報をグラフィカルに表示するグラフィカル表示手段として機能する。これにより、いつもと違う挙動をしたデバイス(非正常デバイス)の情報をユーザに提供することが可能となる。
<Summary of the first embodiment>
[Viewpoint 1]
The CPU 11 or the like functions as acquisition means for acquiring an analysis report indicating abnormal devices that do not satisfy normal conditions as analysis results of a plurality of device values collected from a plurality of devices by a programmable logic controller that executes a user program. The display unit 7 and the like function as report display means for displaying an analysis report. The operation unit 8 functions as a reception unit that receives selection inputs for analysis reports. The CPU 11 and the cooperation unit 64 function as identification means for identifying the abnormal device selected by the selection input. As shown in FIG. 9 and the like, the CPU 11 and the display unit 7 function as graphical display means for graphically displaying information about an abnormal device, which is information about the device held in the programmable logic controller. This makes it possible to provide the user with information on devices that behave differently than usual (abnormal devices).

[観点2]
CPU11および連携部64は選択入力により選択された非正常デバイスについて正常条件を満たさないというイベントが発生した時点を特定する特定手段として機能してもよい。上述されたように分析レポート110に表示される分析結果77には非正常デバイスのデバイス値と、そのデバイス値が収集された時刻情報とが含まれている。そのため、連携部64は、ポインタ103により選択された非正常デバイスにイベントが発生した時点を分析結果77から特定できる。なお、デバイス値とその時刻情報は稼働ログ76から取得されてもよい。図9などが示すように、CPU11および表示部7は、特定された時点の周辺においてデバイス値を収集されたデバイスに関する情報であって、プログラマブルロジックコントローラに保持されている当該デバイスに関する情報をグラフィカルに表示するグラフィカル表示手段として機能してもよい。
[Viewpoint 2]
The CPU 11 and the linking unit 64 may function as specifying means for specifying the point in time when an event occurs that the abnormal device selected by the selection input does not satisfy the normal condition. As described above, the analysis result 77 displayed in the analysis report 110 includes the device value of the abnormal device and the time information when the device value was collected. Therefore, the linking unit 64 can identify from the analysis result 77 the time when the event occurred in the abnormal device selected by the pointer 103 . Note that the device value and its time information may be acquired from the operation log 76 . As shown in FIG. 9 and the like, the CPU 11 and the display unit 7 display graphically the information about the devices whose device values are collected around the specified point in time, which is held in the programmable logic controller. It may function as graphical display means for displaying.

[観点3]
図7を参照して説明されたように、グラフィカル表示手段(例:UI100)は、ユーザプログラムのデバッグ画面を表示するデバッグ表示手段(例:リプレイモード)を含んでもよい。デバッグ表示手段は、デバッグ画面においてユーザプログラムに関連付けて、デバイスに関する情報として当該デバイスから収集されたデバイス値を表示してもよい。デバイス値は、PLC1がプロジェクトを実際に実行している期間においてPLC1により収集されたものである。ユーザプログラムに関連付けて実際のデバイス値が表示されるため、ユーザは、ユーザプログラムをデバッグまたは改良しやすくなるであろう。
[Viewpoint 3]
As described with reference to FIG. 7, the graphical display means (eg UI 100) may include debug display means (eg replay mode) for displaying a debug screen of the user program. The debug display means may display the device values collected from the device as the device-related information in association with the user program on the debug screen. The device values were collected by PLC1 during the period when PLC1 was actually executing the project. Displaying the actual device values in conjunction with the user program will help the user debug or improve the user program.

[観点4]
取得手段(例:CPU11、ダウンロード部53)は、プログラマブルロジックコントローラにおいて収集された時系列の複数のデバイス値を含む運転記録データ(例:運転記録74)を取得するように構成されてもよい。分析レポート110は、当該運転記録データの分析に基づき決定された正常条件を満たさない非正常デバイスを提示する分析レポートであってもよい。図7や図9、図14などが示すように、CPU11や再生部59は、PLC1に設けられているデバイスに格納されているデバイス値をモニタするためのモニタ画面上に、運転記録データに含まれる時系列の複数のデバイス値に基づき、時間の経過に伴うデバイス値の変化を再現表示する再現表示手段を含んでもよい。再現表示手段(例:再生部59)は、非正常デバイスから収集された時系列のデバイス値であって、運転記録データに含まれる時系列のデバイス値を時間の経過にしたがって再現表示してもよい。再現表示手段(例:再生部59)は、イベントが生じた時点の周辺で複数のデバイスから収集された時系列のデバイス値であって、運転記録データに含まれる時系列のデバイス値を時間の経過にしたがって再現表示するように構成されてもよい。
[Viewpoint 4]
Acquisition means (eg, CPU 11, download unit 53) may be configured to acquire driving record data (eg, driving record 74) including a plurality of time-series device values collected in the programmable logic controller. The analysis report 110 may be an analysis report presenting non-normal devices that do not meet normal conditions determined based on analysis of the driving record data. As shown in FIGS. 7, 9, and 14, the CPU 11 and the reproducing unit 59 display the device values included in the driving record data on the monitor screen for monitoring the device values stored in the devices provided in the PLC 1. It may also include reproduction display means for reproducing and displaying changes in device values over time based on a plurality of time-series device values. The reproduction display means (eg, the reproduction unit 59) reproduces and displays the time-series device values collected from the abnormal device and included in the operation record data over time. good. The reproducing display means (eg, the reproducing unit 59) displays time-series device values collected from a plurality of devices around the time when the event occurred, and time-series device values included in the driving record data. It may be configured to reproduce and display according to the progress.

[観点5]
リレーションマップ120は、選択された注目デバイスについてユーザプログラムを解析することで得られた解析結果に基づき、当該注目デバイスと、当該ユーザプログラムにおいて当該注目デバイスに関連している他のデバイスとを示すリレーションマップの一例である。リレーションマップ部55は、リレーションマップ120を表示部7に表示するマップ表示手段として機能する。マップ表示手段(例:リレーションマップ部55)は、イベントが発生した時点に基づいてリレーションマップを強調表示してもよい。たとえば、非正常デバイスや、非正常デバイスを記述しているプログラムモジュールなどが強調表示されてもよい。たとえば、正常デバイスの表示色と非正常デバイスの表示色とがことなってもよい。正常デバイスのアイコン画像と非正常デバイスのアイコン画像とが異なってもよい。非正常デバイスには、非正常なイベントが発生したことを示す文字や記号などが表示されてもよい。また、複数の非正常なイベントが発生した時刻のうち、ユーザが注目している時刻が強調表示されてもよい。このような、注目時刻は、時刻バー112により強調して表示されてもよい。とくに、デバイス値が波形化されて表示される場合に、ユーザは時刻バー112に着目することで、どのタイミングでいつもと異なるイベントが発生したかを容易に理解できるであろう。
[Viewpoint 5]
The relation map 120 is based on the analysis result obtained by analyzing the user program for the selected device of interest, and the relation indicating the device of interest and other devices related to the device of interest in the user program. An example of a map. The relation map section 55 functions as map display means for displaying the relation map 120 on the display section 7 . The map display means (eg, the relationship map unit 55) may highlight the relationship map based on the time when the event occurred. For example, abnormal devices, program modules describing abnormal devices, etc. may be highlighted. For example, the display color of a normal device and the display color of an abnormal device may be different. The icon image of the normal device and the icon image of the abnormal device may be different. Characters, symbols, or the like indicating that an abnormal event has occurred may be displayed on the abnormal device. Further, among the times when a plurality of abnormal events have occurred, the time that the user is paying attention to may be highlighted. Such a time of interest may be highlighted by the time bar 112 and displayed. In particular, when the device values are displayed as waveforms, the user can easily understand at what timing an unusual event occurred by focusing on the time bar 112 .

[観点6]
CPU11およびプロジェクト編集部50は、PLC1において収集された時系列の複数のデバイス値を含む運転記録データと、当該運転記録データの分析に基づき決定された正常条件を満たさない非正常デバイスを提示する分析レポートとを取得する取得手段として機能する。CPU11および再生部59(ラダーモニタ部56)は、イベントが生じた時点の周辺で複数のデバイスから収集された時系列のデバイス値であって、運転記録データに含まれる時系列のデバイス値を時間の経過にしたがって再現表示してもよい。
[Viewpoint 6]
The CPU 11 and the project editing unit 50 present driving record data including a plurality of time-series device values collected in the PLC 1 and abnormal devices that do not satisfy the normal conditions determined based on the analysis of the driving record data. Acts as a retrieval means to retrieve reports. The CPU 11 and the reproduction unit 59 (ladder monitor unit 56) reproduce the time-series device values included in the driving record data, which are time-series device values collected from a plurality of devices around the time when the event occurred. It may be reproduced and displayed according to the progress of.

[観点7]
CPU11は、ユーザプログラムを実行するPLC1により複数のデバイスから収集された複数のデバイス値の分析結果として、正常条件を満たさない非正常デバイスを示す分析レポートを取得する取得手段として機能する。CPU11やリレーションマップ部55は、選択された注目デバイスについてユーザプログラムを解析することで得られた解析結果に基づき、当該注目デバイスと、当該ユーザプログラムにおいて当該注目デバイスに関連している他のデバイスとを示すリレーションマップ120を表示するマップ表示手段として機能する。リレーションマップ部55は、当該イベントが発生した時点に基づいてリレーションマップ120を強調表示してもよい。
[Viewpoint 7]
The CPU 11 functions as acquisition means for acquiring an analysis report indicating abnormal devices that do not satisfy normal conditions as analysis results of a plurality of device values collected from a plurality of devices by the PLC 1 executing the user program. Based on the analysis result obtained by analyzing the user program for the selected device of interest, the CPU 11 and the relationship map unit 55 determine the device of interest and other devices related to the device of interest in the user program. It functions as map display means for displaying a relation map 120 showing the . The relationship map unit 55 may highlight the relationship map 120 based on the time when the event occurred.

[観点8]
PLC1は、ユーザプログラムを実行して被制御機器を制御するプログラマブルロジックコントローラの一例である。PC2は、PLC1と接続され、ユーザプログラムを編集してPLC1に転送するプログラム作成支援装置(監視装置)として機能する。通信部33は、プログラム作成支援装置と通信する第1通信手段の一例である。CPU31は、第1通信手段により受信されるユーザプログラムを実行する実行手段の一例である。CPU31は、複数のプロセッサコアや複数のプロセッサ回路を有してもよい。CPU31、収集部72およびロギング部73は、PLC1の動作に関する運転記録74を記録する記録手段として機能する。CPU41aおよび分析部83は、運転記録を分析して分析レポート(例:分析結果)を作成する作成手段として機能する。分析レポート110を実現するWebアプリケーション61は、メモリ42aのROM領域に記憶されており、Webサーバ82により読み出されてもよい。PC2の通信部13aは第1通信手段と通信する第2通信手段の一例である。CPU11およびプロジェクト編集部50は、ユーザプログラムの編集画面を通じて当該ユーザプログラムの編集を受け付けるプログラム編集手段の一例である。CPU11およびWebブラウザ60は、プログラム編集手段を介してPLC1から分析レポートを取得してレポート表示画面(図9)に表示する取得手段として機能する。これにより、いつもと違う挙動をしたデバイス(非正常デバイス)の情報などを含みうる分析レポート110をユーザに提供することが可能となる。Webブラウザ60は、プロジェクト編集部50に組み込まれたブラウザであってもよい。
[Viewpoint 8]
PLC1 is an example of a programmable logic controller that executes a user program and controls a controlled device. The PC2 is connected to the PLC1 and functions as a program creation support device (monitoring device) that edits a user program and transfers it to the PLC1. The communication unit 33 is an example of first communication means that communicates with the program creation support device. The CPU 31 is an example of execution means for executing a user program received by the first communication means. The CPU 31 may have multiple processor cores or multiple processor circuits. The CPU 31 , the collection unit 72 and the logging unit 73 function as recording means for recording an operation record 74 regarding the operation of the PLC 1 . The CPU 41a and the analysis unit 83 function as creating means for analyzing the driving record and creating an analysis report (eg, analysis result). The web application 61 that implements the analysis report 110 may be stored in the ROM area of the memory 42 a and read by the web server 82 . The communication unit 13a of the PC 2 is an example of second communication means that communicates with the first communication means. The CPU 11 and the project editing unit 50 are an example of program editing means for accepting editing of the user program through a user program editing screen. The CPU 11 and the web browser 60 function as acquisition means for acquiring the analysis report from the PLC 1 via the program editing means and displaying it on the report display screen (FIG. 9). As a result, it is possible to provide the user with an analysis report 110 that may include information about devices that behaved differently than usual (abnormal devices). The web browser 60 may be a browser built into the project editor 50 .

[観点9]
Webサーバ51は、取得手段から分析レポートに関するHTTPリクエストを受信する第1Webサーバとして機能する。プロトコル変換部52は、第1WebサーバのHTTPプロトコルを、PLC1の第1通信手段とPC2の第2通信手段との間で使用される通信プロトコルに変換する第1変換手段として機能する。第2通信手段(例:通信部13a)は、分析レポートに関するHTTPリクエストを第1変換手段により変換して生成された要求信号(例:カプセル化されたHTTPリクエスト)を第1通信手段に送信する。第2通信手段(例:通信部13a)は、当該要求信号に対する応答として分析レポートを第1通信手段から受信して、第1変換手段に渡すように構成されている。取得手段はWebブラウザ60であってもよい。レポート表示画面(例:分析レポート110)は当該Webブラウザ60のウインドウであってもよい。
[Viewpoint 9]
The web server 51 functions as a first web server that receives HTTP requests regarding analysis reports from the obtaining means. The protocol converter 52 functions as first conversion means for converting the HTTP protocol of the first Web server into a communication protocol used between the first communication means of the PLC 1 and the second communication means of the PC 2 . The second communication means (eg, communication unit 13a) transmits a request signal (eg, encapsulated HTTP request) generated by converting the HTTP request regarding the analysis report by the first conversion means to the first communication means. . The second communication means (eg, communication unit 13a) is configured to receive the analysis report from the first communication means as a response to the request signal and pass it to the first conversion means. The acquisition means may be the web browser 60 . The report display screen (eg, the analysis report 110) may be the window of the web browser 60 concerned.

[観点10]
拡張ユニット4aのWebサーバ82は、分析レポートを提供する第2Webサーバとして機能する。プロトコル変換部81は、要求信号を分析レポートに関するHTTPリクエストに変換して第2Webサーバに渡す第2変換手段として機能する。プロトコル変換部81は、第2Webサーバから分析レポート(Webアプリケーション61)を受信して第1通信手段に渡す。第1通信手段(例:通信部33)は分析レポートを第2通信手段(例:通信部13a)に送信する。第2通信手段(例:通信部13a)は、分析レポートを第1変換手段に渡す。第1変換手段(例:プロトコル変換部52)は分析レポートを第1Webサーバ(例:Webサーバ51)に渡す。第1Webサーバ(例:Webサーバ51)は分析レポートをWebブラウザ(例:Webブラウザ60)に渡す。このように、拡張ユニット4aとPC2とが直接的に接続されていない場合であっても、分析レポート110を提供することが可能となる。なお、通信ケーブル9bを介して拡張ユニット4aとPC2とが通信可能である場合は、拡張ユニット4aのWebサーバ82は、分析レポートを直接的にWebブラウザ60へ渡すことができる。
[Viewpoint 10]
The web server 82 of the expansion unit 4a functions as a second web server that provides analysis reports. The protocol conversion unit 81 functions as second conversion means for converting the request signal into an HTTP request regarding the analysis report and passing it to the second web server. The protocol converter 81 receives an analysis report (web application 61) from the second web server and passes it to the first communication means. The first communication means (eg, communication section 33) transmits the analysis report to the second communication means (eg, communication section 13a). The second communication means (eg, communication section 13a) passes the analysis report to the first conversion means. The first conversion means (eg protocol conversion unit 52) passes the analysis report to the first web server (eg web server 51). The first web server (eg, web server 51) passes the analysis report to the web browser (eg, web browser 60). Thus, even if the expansion unit 4a and the PC 2 are not directly connected, the analysis report 110 can be provided. Incidentally, when the extension unit 4a and the PC 2 can communicate with each other via the communication cable 9b, the web server 82 of the extension unit 4a can pass the analysis report directly to the web browser 60. FIG.

[観点11]
プロジェクト編集部50は、分析レポート110に紐づけられた運転記録74の内容を、ユーザプログラムに対応付けてデバッグ画面(例:プログラム表示領域104)に表示してもよい。
[Viewpoint 11]
The project editing unit 50 may display the contents of the driving record 74 linked to the analysis report 110 on the debug screen (eg, the program display area 104) in association with the user program.

[観点12]
連携部64またはダウンロード部53は、分析レポート110(分析結果77)に含まれている情報に基づき分析レポート110に紐づけられている運転記録74を特定してもよい。ダウンロード部53は、特定された運転記録74をPLC1からダウンロードするダウンロード手段として機能してもよい。
[Viewpoint 12]
The cooperation unit 64 or the download unit 53 may identify the driving record 74 linked to the analysis report 110 based on information included in the analysis report 110 (analysis result 77). The download unit 53 may function as download means for downloading the identified driving record 74 from the PLC 1 .

[観点13]
記憶装置12は、ダウンロード手段によりダウンロードされた運転記録74を保持する保持手段として機能する。再生部59やデバッグ部54は、分析レポート110に紐づけられている運転記録74を保持手段から取得して再生する再生手段として機能してもよい。
[Viewpoint 13]
The storage device 12 functions as holding means for holding the driving record 74 downloaded by the download means. The reproducing unit 59 and the debugging unit 54 may function as reproducing means for acquiring and reproducing the driving record 74 linked to the analysis report 110 from the holding means.

[観点14]
検知マップ111は、PLC1においてユーザプログラムにしたがって実行される複数の工程の開始タイミングと終了タイミングとを示す工程マップの一例である。検知リスト114は、予め想定された正常条件を満たさなかったデバイスのリストの一例である。画像表示領域113は、リストにおいて選択されたデバイスに紐づけられている時刻情報に対してさらに紐づけられているカメラ画像を表示する。再生部59、デバッグ部54および連携部64は、これらの表示情報を時刻整合させて再生するように構成されていてもよい。上述したように、連携部64は、分析レポート110における再生時刻情報と、リプレイモードでラダープログラムとともに表示されるデバイス値の再生時刻情報とを、再生部59およびデバッグ部54と共有している。たとえば、連携部64は、分析レポート110におけるシークバー105bや時刻バー112e等の操作により再生時刻が変更されると、通信処理部62を介して再生部59よびデバッグ部54に再生時刻の変更を通知する。同様に、再生部59よびデバッグ部54がシークバー105a等により再生時刻が変更されたことを検知すると、連携部64に再生時刻の変更を通知する。これにより、プロジェクト編集部50とWebブラウザ60との間で運転記録74の再生時刻が同期する。
[Viewpoint 14]
The detection map 111 is an example of a process map showing start timings and end timings of a plurality of processes executed according to a user program in the PLC 1 . The detection list 114 is an example of a list of devices that did not meet the presumed normal conditions. The image display area 113 displays a camera image further associated with the time information associated with the device selected in the list. The reproducing unit 59, the debugging unit 54, and the linking unit 64 may be configured to time-match and reproduce the display information. As described above, the cooperation unit 64 shares the playback time information in the analysis report 110 and the playback time information of the device values displayed together with the ladder program in the replay mode with the playback unit 59 and the debug unit 54 . For example, when the reproduction time is changed by operating the seek bar 105b or the time bar 112e in the analysis report 110, the cooperation unit 64 notifies the reproduction unit 59 and the debug unit 54 of the change in the reproduction time via the communication processing unit 62. do. Similarly, when the reproduction unit 59 and the debug unit 54 detect that the reproduction time has been changed by the seek bar 105a or the like, they notify the cooperation unit 64 of the change in the reproduction time. As a result, the playback time of the driving record 74 is synchronized between the project editing unit 50 and the web browser 60 .

[観点15~17]
リレーションマップ部55は、ユーザプログラムに記述されている複数のデバイス間の関係を含むリレーションマップ120を表示するマップ表示手段として機能する。これにより、ユーザは非正常なイベントの発生原因となったデバイスを容易に発見できるようになろう。
[Viewpoints 15-17]
The relation map unit 55 functions as map display means for displaying a relation map 120 including relations between a plurality of devices described in the user program. This will allow the user to easily find the device that caused the abnormal event.

マップ表示手段(例:リレーションマップ部55)は、リレーションマップにおいて、注目デバイスおよび他のデバイスのうち、正常条件を満たさなかったデバイスを強調表示してもよい。マップ表示手段(例:リレーションマップ部55)は、リスト(例:検知リスト114)から選択された注目デバイスと、当該注目デバイスの影響を受けるか、当該注目デバイスに影響を与える他のデバイスを含むリレーションマップ120を表示してもよい。なお、注目デバイスが影響を与えるデバイスについてはリレーションマップ120に含まれてなくてもよい。注目デバイス値が影響を与えるデバイスは、注目デバイスで非正常なイベントが発生した原因とはならないからである。つまり、非正常状態の原因となったイベントは、非正常状態が発生した時刻よりも前に発生しているはずだからである。 The map display means (for example, the relationship map unit 55) may highlight the device that did not satisfy the normal condition among the device of interest and the other devices in the relationship map. The map display means (eg, the relationship map unit 55) includes the device of interest selected from the list (eg, the detection list 114) and other devices that are affected by the device of interest or that affect the device of interest. A relation map 120 may be displayed. It should be noted that the devices affected by the device of interest need not be included in the relation map 120 . This is because a device affected by the device-of-interest value does not cause an abnormal event to occur in the device-of-interest. This is because the event that caused the abnormal state should have occurred before the time when the abnormal state occurred.

マップ表示手段(例:リレーションマップ部55)は、リレーションマップ120において、リストから選択された注目デバイスを強調表示してもよい。注目デバイスのデバイス値は、複数の異なるデバイスのデバイス値の演算結果である。そのため、演算に使用された複数の関連デバイスのうち一部のデバイスが非正常であり、他のデバイスが正常である場合にも、演算結果を格納する注目デバイスは非正常となりうる。そのため、関連デバイスのうち、非正常なデバイスのみが強調されれば、ユーザは非正常状態の原因を探索しやすくなるであろう。 The map display means (eg, the relationship map unit 55) may highlight the device of interest selected from the list on the relationship map 120. FIG. The device value of the device of interest is the result of computing the device values of a plurality of different devices. Therefore, even if some devices out of a plurality of related devices used for computation are abnormal and other devices are normal, the device of interest that stores the computation result may become abnormal. Therefore, if only abnormal devices among the related devices are emphasized, the user will be able to easily search for the cause of the abnormal state.

[観点18]
再生部59、デバッグ部54および連携部64は、運転記録74を再生する時刻を示すシークバーを表示するともに、当該シークバーに対する操作に応じた時刻のデバイス値を保持手段から読み出してもよい。これにより、ユーザは、再生時刻を容易に変更できるようになろう。さらに、ユーザは、再生時刻を変化しながらデバイス値の変化を確認することで、容易に非正常状態の原因を探索できるようになろう。
[Viewpoint 18]
The reproducing unit 59, the debugging unit 54, and the linking unit 64 may display a seek bar indicating the time to reproduce the driving record 74, and read the device value of the time according to the operation of the seek bar from the holding means. This will allow the user to easily change the playback time. Furthermore, the user will be able to easily search for the cause of the abnormal state by confirming the change in the device value while changing the playback time.

[観点19]
再生部59および波形UI130は、運転記録74に含まれるデバイスの値についての時系列データを波形化して表示するように構成されていてもよい。ユーザは、デバイス値の変化を容易に確認できるようになるため、非正常帯の原因を特定しやすくなるであろう。
[Viewpoint 19]
The reproducing unit 59 and the waveform UI 130 may be configured to waveform and display the time-series data of the device values included in the driving record 74 . The user will be able to easily confirm the change in the device value, so it will be easier to identify the cause of the abnormal zone.

[観点20、21]
CPU41aおよび分析部83は所定のイベントが発生すると運転記録74を分析して分析結果を生成する生成手段として機能する。CPU41aおよび通知発行部84は、分析結果が生成されたことをプログラム作成支援装置(例:PC2)に通知する通知手段として機能する。これにより、ユーザは、注意すべきイベントが発生したことを容易に把握できるようになろう。
[Viewpoints 20 and 21]
The CPU 41a and the analysis unit 83 function as generation means for analyzing the driving record 74 and generating an analysis result when a predetermined event occurs. The CPU 41a and the notification issuing unit 84 function as notification means for notifying the program creation support device (eg, PC 2) that the analysis result has been generated. This will allow the user to easily grasp that an event requiring attention has occurred.

なお、所定のイベントとして、例えば、スキャン毎のデバイス値が正常時のばらつき範囲を超えたこと、としてもよい。具体的には、CPU41aは、ユーザにより予め指定された一又は複数のデバイスのデバイス値が、正常時のばらつき範囲を示す閾値を超えたか否かを、常時監視(いわゆる兆候監視)する。そして、このデバイス値が正常時のばらつき範囲を示す閾値を超えた場合には、CPU41aはCPU31に対し、そのタイミングを基準として運転記録74を生成するよう指示を行う。CPU31は、CPU41aからの指示に基づいて自動的に運転記録74を生成する。運転記録74の生成が完了したら、CPU31は、CPU41aに運転記録生成完了の通知を行う。この通知を受けたCPU41aは、CPU31により生成された運転記録74に基づいて、分析レポートを自動的に生成する。このように、トラブルが発生する前の兆候を監視し、自動的に生成される分析レポートによって兆候の要因を特定できるようになる。 It should be noted that the predetermined event may be, for example, that the device value for each scan exceeds the normal variation range. Specifically, the CPU 41a constantly monitors (so-called symptom monitoring) whether or not the device values of one or more devices designated in advance by the user have exceeded a threshold value indicating the normal variation range. Then, when the device value exceeds the threshold value indicating the normal variation range, the CPU 41a instructs the CPU 31 to generate the driving record 74 based on the timing. The CPU 31 automatically generates a driving record 74 based on instructions from the CPU 41a. When the generation of the driving record 74 is completed, the CPU 31 notifies the CPU 41a of the completion of generating the driving record. Having received this notification, the CPU 41 a automatically generates an analysis report based on the driving record 74 generated by the CPU 31 . In this way, it becomes possible to monitor signs before troubles occur and to identify the causes of the signs by automatically generated analysis reports.

分析結果が生成されたことを示す通知は、ユーザプログラムの編集画面に表示されてもよい。とりわけ、プロジェクト編集のためのUI100がモニタモードに設定されると、CPU11は、通知をポーリングする。そして、CPU11は、通知を受信すると通知ダイアログ108を表示する。これにより、ユーザは、注意すべきイベントが発生したことを容易に認識できるであろう。通知ダイアログ108に、分析レポート110を表示するための表示ボタン109が設けられていてもよい。これにより、ユーザは、分析結果77の詳細を容易に確認することが可能となる。さらに、分析レポート110から運転記録74の再生を指示することで、ユーザは、注意すべきデバイスのデバイス値を再現して確認することが可能となる。 A notification indicating that the analysis results have been generated may be displayed on the edit screen of the user program. In particular, when the UI 100 for project editing is set to monitor mode, the CPU 11 polls for notifications. Then, the CPU 11 displays a notification dialog 108 upon receiving the notification. This will allow the user to easily recognize that an event requiring attention has occurred. A display button 109 for displaying the analysis report 110 may be provided in the notification dialog 108 . This allows the user to easily check the details of the analysis result 77 . Furthermore, by giving an instruction to reproduce the driving record 74 from the analysis report 110, the user can reproduce and confirm the device values of the devices that should be noted.

[観点22]
分析コメント116は、運転記録74に含まれるデバイス値の時系列データの波形と、当該デバイス値について予め取得されたマスターデータの波形とを対比させて表示する対比表示領域として機能してもよい。これにより、どのような非正常イベントが発生したかを、容易に把握することができるであろう。マスターデータは、複数の稼働ログ76などに基づき学習された学習結果であってもよいし、ユーザにより指定された過去の稼働ログ76であってもよい。
[Viewpoint 22]
The analysis comment 116 may function as a comparison display area for comparing and displaying the waveform of the time-series data of the device value included in the driving record 74 and the waveform of the master data obtained in advance for the device value. With this, it will be possible to easily grasp what kind of abnormal event has occurred. The master data may be learning results learned based on a plurality of operation logs 76 or the like, or past operation logs 76 specified by the user.

[観点23]
CPU31は、プロジェクトに含まれるユーザプログラムを実行する実行手段として機能する。CPU31(収集部72)は、ユーザプログラムが実行されている稼働期間においてPLC1の稼働状態を監視する監視手段として機能する。リングバッファ36は、稼働状態の監視結果を一時的に保持する保持手段として機能する。CPU31(ロギング部73)は、所定のイベントが発生すると、保持手段に保持されている監視結果を運転記録(稼働ログ76)として記録する記録手段の一例である。分析部83は、運転記録を分析して分析結果77を生成する分析手段として機能する。CPU31(ロギング部73)およびCPU41aは、当該監視結果から生成された分析結果77と、当該監視結果を含む当該運転記録(稼働ログ76)とを紐づける紐づけ手段として機能する。これにより、運転記録74(稼働ログ76)に対して分析結果77が直接的にまたは間接的に紐づけられる。そのため、分析結果77からその元になった運転記録74を特定して、運転記録74に基づきPLC1の動作を再現することが可能となろう。これは、プロジェクトデータ75のデバッグを効率よく進めることを可能にするであろう。
[Viewpoint 23]
The CPU 31 functions as execution means for executing user programs included in projects. The CPU 31 (collection unit 72) functions as monitoring means for monitoring the operating state of the PLC 1 during the operating period during which the user program is being executed. The ring buffer 36 functions as holding means for temporarily holding the monitoring result of the operating state. The CPU 31 (logging unit 73) is an example of recording means for recording the monitoring result held in the holding means as an operation record (operation log 76) when a predetermined event occurs. The analysis unit 83 functions as an analysis unit that analyzes driving records and generates analysis results 77 . The CPU 31 (logging unit 73) and CPU 41a function as linking means for linking the analysis result 77 generated from the monitoring result and the operation record (operation log 76) including the monitoring result. As a result, the analysis result 77 is directly or indirectly associated with the driving record 74 (operation log 76). Therefore, it will be possible to identify the operation record 74 that is the basis of the analysis result 77 and reproduce the operation of the PLC 1 based on the operation record 74 . This will allow debugging of the project data 75 to proceed efficiently.

[観点24]
紐づけ手段はさらに、運転記録(稼働ログ76)が記録されたときに実行されていたユーザプログラムを含むプロジェクト(プロジェクトデータ75)を、運転記録74(稼働ログ76)および分析結果77に紐づけてもよい。これにより、運転記録74に基づきPLC1の動作をさらに精度よく再現することが可能となろう。
[Viewpoint 24]
The linking means further links the project (project data 75) including the user program that was being executed when the operation record (operation log 76) was recorded to the operation record 74 (operation log 76) and the analysis result 77. may As a result, it will be possible to reproduce the operation of the PLC 1 more accurately based on the operation record 74 .

[観点25、26]
CPU31(ロギング部73)は、分析結果77(分析ID)と、当該分析結果77の元になった監視結果(稼働ログ76または記録ID)と、プロジェクト(プロジェクトデータ75またはプロジェクトID)と、を一括して、運転記録74として記録してもよい。CPU31(ロギング部73)は、分析結果77と、当該分析結果77の元になった監視結果と、プロジェクトと、を一つのファイルとして記録してもよい。たとえば、運転記録74は、一つのフォルダまたは一つの圧縮ファイル内に格納されてもよい。
[Viewpoints 25 and 26]
The CPU 31 (logging unit 73) stores the analysis result 77 (analysis ID), the monitoring result (operation log 76 or record ID) on which the analysis result 77 is based, and the project (project data 75 or project ID). It may be collectively recorded as a driving record 74 . The CPU 31 (logging unit 73) may record the analysis result 77, the monitoring result on which the analysis result 77 is based, and the project as one file. For example, driving records 74 may be stored in one folder or one compressed file.

[観点27]
PC2はPLC1と通信するコンピュータの一例である。この場合、PLC1は、上述された実行手段、監視手段、保持手段、記録手段、分析手段、および、紐づけ手段を有してもよい。PC2は、運転記録をPLC1から取得する取得手段(例:プロジェクト編集部50)と、取得手段により取得された運転記録を記憶する記憶手段(例:記憶装置12)と、を有してもよい。さらに、PC2は、運転記録に含まれている監視結果を再生する記録再生手段(再生部59、デバッグ部54、Webブラウザ60)と、運転記録に含まれている分析結果を分析レポートとして表示するレポート表示手段(Webブラウザ60)と、をさらに有してもよい。
[Viewpoint 27]
PC2 is an example of a computer that communicates with PLC1. In this case, the PLC 1 may have the execution means, monitoring means, retention means, recording means, analysis means and linking means described above. The PC 2 may have acquisition means (eg, project editing unit 50) that acquires driving records from the PLC 1, and storage means (eg, storage device 12) that stores the driving records acquired by the acquisition means. . Furthermore, the PC 2 displays recording and reproducing means (reproducing unit 59, debugging unit 54, Web browser 60) for reproducing the monitoring results contained in the driving records, and the analysis results contained in the driving records as analysis reports. and report display means (Web browser 60).

[観点28]
紐づけ手段(例:CPU31)は、運転記録の識別情報と、プロジェクトの識別情報と、分析結果の識別情報とを紐づけてもよい。これにより、運転記録が記録されたときに実行されていたユーザプログラムを含むプロジェクトが、監視結果から生成された分析結果に紐づけられてもよい。
[Viewpoint 28]
The linking means (eg, CPU 31) may link the identification information of the driving record, the identification information of the project, and the identification information of the analysis result. Thereby, the project including the user program that was being executed when the driving record was recorded may be linked to the analysis result generated from the monitoring result.

[観点29]
記憶装置12またはプロジェクト記憶部35は、プロジェクト(例:プロジェクトデータ75)と、当該プロジェクトの識別情報(例:プロジェクトID)とを記憶する第1記憶部として機能する。運転記録記憶部37は、監視結果と、プロジェクトの識別情報と、分析結果の識別情報とを記憶する第2記憶部として機能してもよい。メモリ42aは、分析結果と、当該分析結果の識別情報とを記憶する第3記憶部として機能してもよい。プロジェクトの識別情報により第1記憶部に記憶されているプロジェクトと、第2記憶部に記憶されている監視結果とが紐づけられてもよい。分析結果の識別情報により、第2記憶部に記憶されている監視結果と第3記憶部に記憶されている分析結果とが紐づけられてもよい。その結果として、監視結果、プロジェクトおよび分析結果とが紐づけられてもよい。
[Viewpoint 29]
The storage device 12 or the project storage unit 35 functions as a first storage unit that stores a project (eg project data 75) and identification information of the project (eg project ID). The operation record storage unit 37 may function as a second storage unit that stores monitoring results, project identification information, and analysis result identification information. The memory 42a may function as a third storage unit that stores analysis results and identification information of the analysis results. Projects stored in the first storage unit and monitoring results stored in the second storage unit may be associated with project identification information. The monitoring result stored in the second storage unit and the analysis result stored in the third storage unit may be linked by the identification information of the analysis result. As a result, monitoring results, projects and analysis results may be linked.

[観点30]
運転記録記憶部37は、監視結果と、監視結果を含む運転記録の識別情報とを記憶する第2記憶部として機能してもよい。記憶装置32およびメモリ42aは、分析結果と、プロジェクトの識別情報と、運転記録の識別情報とを記憶する第3記憶部として機能してもよい。この場合、プロジェクトの識別情報により第1記憶部に記憶されているプロジェクトと、第3記憶部に記憶されている分析結果とが紐づけられてもよい。運転記録の識別情報により、第2記憶部に記憶されている監視結果と第3記憶部に記憶されている分析結果とが紐づけられてもよい。その結果、監視結果、プロジェクトおよび分析結果が紐づけられてもよい。
[Viewpoint 30]
The driving record storage unit 37 may function as a second storage unit that stores the monitoring result and the identification information of the driving record including the monitoring result. The storage device 32 and the memory 42a may function as a third storage unit that stores analysis results, project identification information, and driving record identification information. In this case, the project stored in the first storage unit and the analysis result stored in the third storage unit may be linked by project identification information. The monitoring result stored in the second storage unit and the analysis result stored in the third storage unit may be associated with the identification information of the driving record. As a result, monitoring results, projects and analysis results may be linked.

[観点31]
CPU11(例:プロジェクト編集部50)は、運転記録の識別情報と、分析結果の識別情報と、プロジェクトの識別情報とに基づき、相互に関連付けられている運転記録、分析結果およびプロジェクトを取得する取得手段として機能してもよい。記憶装置12は、取得手段により取得された運転記録を記憶する記憶手段として機能してもよい。デバッグ部54または再生部59は、運転記録に含まれている監視結果を再生する記録再生手段として機能してもよい。Webブラウザ60は、運転記録に関連付けられている分析結果を分析レポートとして表示するレポート表示手段として機能してもよい。
[Viewpoint 31]
The CPU 11 (eg, the project editing unit 50) acquires the driving record, the analysis result, and the project that are associated with each other based on the driving record identification information, the analysis result identification information, and the project identification information. It may function as a means. The storage device 12 may function as storage means for storing driving records acquired by the acquisition means. The debugging unit 54 or the reproducing unit 59 may function as recording/reproducing means for reproducing the monitoring results included in the driving record. The web browser 60 may function as report display means for displaying analysis results associated with driving records as an analysis report.

[観点32]
監視結果は、ユーザプログラムにより使用されるデバイスに記憶されているデバイス値を含む。監視結果には、ユーザプログラムにより使用される変数など、デバイスとは異なるシンボルから取得された情報が格納されてもよい。
[Viewpoint 32]
Monitoring results include device values stored in devices used by user programs. The monitoring results may contain information obtained from symbols different from the device, such as variables used by the user program.

[観点33]
記録再生手段(例:CPU11)は、運転記録に紐づけられているプロジェクトの一部であるユーザプログラムを表示するとともに、当該ユーザプログラムに記述されているデバイスに対応付けて監視結果に含まれている当該デバイスのデバイス値を表示してもよい。
[Viewpoint 33]
The recording and reproducing means (eg, CPU 11) displays the user program that is part of the project linked to the driving record, and also displays the device included in the monitoring result in association with the device described in the user program. may display the device value of the device in question.

[観点34]
CPU31およびCPU41aは、運転記録が記録されると通知を発行する発行手段として機能してもよい。CPU31およびCPU41aは、分析記録が作成されると通知を発行する発行手段として機能してもよい。運転記録が記録されると、かならず分析結果が作成される場合、運転記録が記録されたことを示す通知は、分析結果が作成されたことを示す通知と同義であろう。同様に、分析結果が作成されたことを示す通知は、運転記録が記録されたことを示す通知と同義であろう。
[Viewpoint 34]
The CPU 31 and CPU 41a may function as issuing means for issuing a notification when a driving record is recorded. The CPU 31 and CPU 41a may function as issuing means for issuing a notification when an analysis record is created. If the driving record is always recorded and the analysis results are generated, then a notification that the driving record has been recorded would be synonymous with a notification that the analysis results have been generated. Similarly, a notification that an analysis result has been produced would be synonymous with a notification that a driving record has been recorded.

[観点35]
取得手段(例:CPU11)は、PLC1からアップロードされる運転記録、プロジェクトおよび分析結果を受信するFTPサーバとして機能してもよい。
[Viewpoint 35]
Acquisition means (eg CPU 11 ) may function as an FTP server to receive driving records, projects and analysis results uploaded from PLC 1 .

2.第2実施形態(2020057)
ところで、特開2019-016325号公報に記載された発明では、PLCの外部に設けられたIPC(産業用コンピュータ)において情報が収集されており、PLCだけで必要な情報を収集し、周辺装置に情報を提供することが出来なかった。そこで、第2実施形態は、データの収集機能とデータ表示画面の生成機能とを有するPLCを提供することを目的とする。
2. Second embodiment (2020057)
By the way, in the invention described in Japanese Patent Application Laid-Open No. 2019-016325, information is collected by an IPC (industrial computer) provided outside the PLC. could not provide information. Therefore, the second embodiment aims to provide a PLC having a data collection function and a data display screen generation function.

なお、第2実施形態の構成要素のうち第1実施形態においてすでに説明された構成要素の説明および図示は省略される。これは、第1実施形態と第2実施形態とが同時に実装可能であることを意味する。そのため、第2実施形態では、第1実施形態と異なる点または第1実施形態に対して補足される点が中心に説明される。 Note that the description and illustration of the components already described in the first embodiment among the components of the second embodiment are omitted. This means that the first embodiment and the second embodiment can be implemented simultaneously. Therefore, in the second embodiment, the points that are different from the first embodiment or the points supplemented to the first embodiment will be mainly described.

<システム構成>
図25は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。
<System configuration>
FIG. 25 is a conceptual diagram showing one configuration example of the programmable logic controller system according to the embodiment of the invention.

拡張ユニット4aは、フローを実行することで、基本ユニット3や拡張ユニット4bから収集対象データを収集し、収集対象データにデータ処理を施して表示対象データを作成し、ダッシュボードを表示部7またはPC2に表示するための表示データを作成するデータ収集ユニットである。 By executing the flow, the expansion unit 4a collects collection target data from the basic unit 3 and the expansion unit 4b, performs data processing on the collection target data to create display target data, and displays the dashboard on the display unit 7 or A data collection unit that creates display data to be displayed on the PC 2 .

PC2aは主にプログラマーによって操作されるコンピュータである。一方、PC2bは、現場担当者によって操作されるコンピュータである。PC2bは、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより画面設定されてもよい。プログラマブル表示器にあらかじめWebブラウザ機能が搭載され、Webブラウザ機能により分析結果等が表示されてもよい。PC2aはプログラム作成支援装置(設定装置)と呼ばれてもよい。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2aを用いて作成される。その作成されたラダープログラムは、PC2a内でニモニックコードに変換される。たとえば、PC2aは、ニモニックコードに変換されたラダープログラムを基本ユニット3に送る。基本ユニット3はラダープログラムをマシンコードに変換し、基本ユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードが基本ユニット3に送信されているが、本発明はこれに限られない。たとえば、PC2aは、ニモニックコードを中間コードに変換し、中間コードを基本ユニット3に送信してもよい。 PC2a is a computer operated primarily by a programmer. On the other hand, the PC 2b is a computer operated by the person in charge on site. The PC 2b may be a programmable display whose screen is set by the user. In this case, the screen for displaying the analysis results and the like may be set by the user. A web browser function may be installed in the programmable display device in advance, and analysis results and the like may be displayed by the web browser function. The PC 2a may be called a program creation support device (setting device). A ladder program, which is an example of a user program for controlling the PLC 1, is created using the PC 2a. The created ladder program is converted into a mnemonic code within the PC 2a. For example, the PC 2a sends a ladder program converted into mnemonic codes to the basic unit 3. The basic unit 3 converts the ladder program into machine code and stores it in a memory provided in the basic unit 3 . Although the mnemonic code is transmitted to the basic unit 3 here, the present invention is not limited to this. For example, the PC 2a may convert the mnemonic code into an intermediate code and send the intermediate code to the basic unit 3.

HMI(ヒューマンインタフェース)16は、PLC1のデバイスまたはバッファに格納されている情報を読み出して表示する表示装置である。HMI16は、たとえば、タッチパネル式の入力装置を有していてもよい。 HMI (Human Interface) 16 is a display device that reads and displays information stored in the device or buffer of PLC 1 . The HMI 16 may have, for example, a touch panel type input device.

<プログラム作成支援装置>
図26はPC2の電気的構成について説明するためのブロック図である。
<Program creation support device>
FIG. 26 is a block diagram for explaining the electrical configuration of PC2.

PC2aのユーザは記憶装置12に記憶されているプロジェクト編集プログラム14aをCPU11に実行させて、操作部8を通じてプロジェクトデータを編集する。つまり、PC2aはエンジニアリングツールであり、プログラム作成支援装置として機能する。プロジェクトデータは、一つ以上のユーザプログラム(例:ラダープログラム、制御プログラム、モーションプログラム、データ活用プログラム)、基本ユニット3や拡張ユニット4の構成情報、WebHMIの作画データ、基本ユニット3や拡張ユニット4に備えられた特定機能の設定情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置や、基本ユニット3に備えられた機能(例:データ収集機能、通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例:通信機能、位置決め機能、撮影機能)などを示す情報である。作画データは、WebHMIを実現するための表示部品群である。作画データは、フロントエンドの構造を記述するマークアップデータ(例:HTMLデータ)、装飾を記述するスタイルデータ(例:CSSデータ)および動的な処理を記述するコード(例:JavaScript(登録商標)コード)などにより実現される。なお、フロントエンドとは、Webページ、WebサービスおよびやWebアプリケーションにおいてユーザから直接的に見える部分をいう。装飾を記述するスタイルデータは、たとえばファイル形式として提供されてもよい。この場合、構造を記述するマークアップデータ内で外部スタイルデータファイルを呼び出す記述により、スタイルデータが呼び出されてもよい。動的処理を記述するコードは、たとえばファイル形式で提供されてもよい。この場合、構造を記述するマークアップデータ内で外部コードファイルを呼び出す記述により、動的処理を記述するコードが呼び出されてもよい。外部スタイルデータファイルや外部コードファイルを呼び出して使用できる形式のフロントエンドは、再利用性やメンテナンス性が高く、たとえば汎用のフロントエンドコンポーネント等を利用することができる。このような汎用的で再利用性の高いWeb描画技術を採用することで、WebHMIなどの開発においてコンポーネントを再利用でき、WebHMIなどの保守性も向上する。以下で、作画データは、表示部品と表記される。データ活用プログラムは、PLC1において制御データ(デバイス値など)を収集したり、データ処理したり、WebHMIに渡すためのデータを作成したりするためのプログラムを含む。特定機能の設定情報は、基本ユニット3に備えられた機能(例:データ収集機能、通信機能、位置決め機能)に関する設定情報を含む。たとえば、データ収集機能であれば、データ収集条件やデータ収集対象の設定情報が含まれる。拡張ユニット4の機能(例:通信機能、位置決め機能、データ活用機能、撮影機能)に関する設定情報等も含まれてもよい。ここで、プロジェクトデータの編集には、プロジェクトデータの作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、プロジェクト編集プログラム14aを用いて変更することができる。通信部13は、通信ケーブル9aを介して基本ユニット3と通信する。CPU11は通信部13を介してプロジェクトデータを基本ユニット3に転送する。通信部13は、通信ケーブル9bを介して拡張ユニット4aと通信する。 The user of the PC 2a causes the CPU 11 to execute the project editing program 14a stored in the storage device 12, and edits the project data through the operation section 8. FIG. That is, the PC 2a is an engineering tool and functions as a program creation support device. Project data includes one or more user programs (eg ladder program, control program, motion program, data utilization program), configuration information of basic unit 3 and expansion unit 4, drawing data of WebHMI, basic unit 3 and expansion unit 4. including setting information for specific functions provided in The configuration information includes information indicating connection positions of a plurality of expansion units 4 to the base unit 3, functions provided in the base unit 3 (eg, data collection function, communication function, and positioning function), functions of the expansion unit 4 (eg : communication function, positioning function, photographing function), etc. Drawing data is a display component group for realizing WebHMI. Drawing data includes markup data (eg HTML data) describing the structure of the front end, style data (eg CSS data) describing decoration, and code describing dynamic processing (eg JavaScript (registered trademark) code). ), etc. Note that the front end refers to a portion of a web page, web service, or web application that is directly visible to the user. Style data describing decorations may be provided, for example, as a file format. In this case, the style data may be invoked by a statement calling the external style data file within the markup data describing the structure. Code describing the dynamic processing may be provided, for example, in file format. In this case, the code that describes the dynamic processing may be called by the description that calls the external code file within the markup data that describes the structure. A front-end that can be used by calling an external style data file or an external code file has high reusability and maintainability, and can use, for example, general-purpose front-end components. By adopting such general-purpose and highly reusable web drawing technology, components can be reused in the development of WebHMI and the like, and maintainability of WebHMI and the like is improved. The drawing data is hereinafter referred to as a display component. The data utilization program includes programs for collecting control data (device values, etc.) in the PLC 1, processing the data, and creating data to be passed to the WebHMI. The specific function setting information includes setting information related to the functions provided in the basic unit 3 (eg, data collection function, communication function, positioning function). For example, in the case of the data collection function, data collection conditions and setting information for data collection targets are included. Setting information and the like related to functions of the expansion unit 4 (eg, communication function, positioning function, data utilization function, photographing function) may also be included. Here, editing project data includes creating and changing (re-editing) project data. The user can read the project data stored in the storage device 12 as necessary and change the project data using the project editing program 14a. The communication section 13 communicates with the basic unit 3 via the communication cable 9a. The CPU 11 transfers the project data to the basic unit 3 via the communication section 13 . The communication unit 13 communicates with the expansion unit 4a via the communication cable 9b.

CPU11はフロー・ダッシュボード編集プログラム14eを実行することで、フロー(データ活用プログラム)やダッシュボードの設定データを作成してもよい。フロー・ダッシュボード編集プログラム14eは、プロジェクト編集プログラム14aの一部であってもよい。 The CPU 11 may create flow (data utilization program) and dashboard setting data by executing the flow/dashboard editing program 14e. The flow dashboard editor program 14e may be part of the project editor program 14a.

CPU11はWebブラウザプログラム14dを実行することで、図28に示されるWebブラウザ60として機能してもよい。Webブラウザ60もプロジェクト編集プログラム14aの一部であってもよい。Webブラウザ60は、PLC1により提供される表示画面(ダッシュボード)を表示部7に表示する。なお、プロジェクト編集プログラム14aまたはフロー・ダッシュボード編集プログラム14eがPLC1により提供される表示画面(ダッシュボード)を表示部7に表示する機能を内蔵していてもよい。CPU11は通信部13を介してフローやダッシュボードの設定データを拡張ユニット4aに転送する。 The CPU 11 may function as the web browser 60 shown in FIG. 28 by executing the web browser program 14d. The web browser 60 may also be part of the project editing program 14a. The web browser 60 displays a display screen (dashboard) provided by the PLC 1 on the display unit 7 . Note that the project editing program 14a or the flow/dashboard editing program 14e may incorporate a function of displaying a display screen (dashboard) provided by the PLC 1 on the display unit 7. FIG. The CPU 11 transfers flow and dashboard setting data to the expansion unit 4a via the communication unit 13 .

<PLC>
図27はPLC1の電気的構成について説明するためのブロック図である。プロジェクト記憶部35は、PC2aから入力されたプロジェクトデータを記憶する。CPU31は通信部33を介してプロジェクトデータをPC2aから受信する。
<PLC>
FIG. 27 is a block diagram for explaining the electrical configuration of PLC1. The project storage unit 35 stores project data input from the PC 2a. The CPU 31 receives the project data from the PC 2a via the communication section 33. FIG.

データ活用ユニット(分析ユニット)として機能する拡張ユニット4aのCPU41aは、通信部43とケーブル9bを介してPC2aと通信する。CPU41aは、Web形式の分析レポートを作成し、通信部43および通信ケーブル9bを介して分析レポートをPC2bのWebブラウザに提供してもよい。 The CPU 41a of the expansion unit 4a that functions as a data utilization unit (analysis unit) communicates with the PC 2a via the communication section 43 and the cable 9b. The CPU 41a may create a web-format analysis report and provide the analysis report to the web browser of the PC 2b via the communication unit 43 and the communication cable 9b.

データ活用ユニットは、データ活用アプリケーションを実行する拡張ユニットである。データ活用アプリケーションは、制御データを収集したりデータ処理したりするデータ活用プログラム(例:フロー)と、データ活用プログラムの実行結果を表示するダッシュボードとを含む。ここでは、データ活用プログラムの一例としてフローが採用されているが、他の言語によるユーザプログラムであってもよい。フローはデータを収集する演算ブロック、データ処理を実行する演算ブロック、および、表示データを作成する演算ブロックなどを有してもよい。ダッシュボードは、グラフ表示部品や数値表示部品などを有する。分析レポートは、グラフ表示部品や数値表示部品などを有してもよい。これらの表示部品は、フロントエンドの構造を記述するマークアップデータ、装飾を記述するスタイルデータおよび動的な処理を記述するコードなどにより実現されてもよい。本実施形態で、フローはフローテンプレートにより実現される。フローテンプレートは予めアプリケーションごとに用意されており、ユーザにより指定されたパラメータが設定される一つ以上の演算ブロックを有している。ダッシュボードもテンプレートにより実現される。ダッシュボードテンプレートは、ユーザにより指定されたパラメータが設定される一つ以上の表示部品を有している。パラメータは、たとえば、ダッシュボードの名称、デバイス名、数値、ユニット変数名など多種多様な情報である。ユニット変数とは、拡張ユニット4aがフローの実行結果を保持するための変数である。 A data utilization unit is an extension unit that executes a data utilization application. Data-utilizing applications include data-utilizing programs (eg, flows) that collect control data and process data, and dashboards that display the execution results of the data-utilizing programs. Here, a flow is adopted as an example of a data utilization program, but a user program in another language may be used. A flow may have operational blocks that collect data, operational blocks that perform data processing, operational blocks that create display data, and the like. The dashboard has graph display components, numerical display components, and the like. The analysis report may have a graph display component, a numerical display component, and the like. These display components may be realized by markup data describing front-end structure, style data describing decoration, code describing dynamic processing, and the like. In this embodiment, flows are realized by flow templates. A flow template is prepared in advance for each application and has one or more operation blocks in which parameters specified by the user are set. Dashboards are also realized by templates. A dashboard template has one or more display components that have parameters specified by the user. Parameters are a wide variety of information such as dashboard names, device names, numerical values, and unit variable names. A unit variable is a variable for the expansion unit 4a to hold the flow execution result.

CPU41aはPC2aから受信したフローやダッシュボードの設定データをメモリ42aに格納する。CPU41aは、設定データにしたがってフローを実行し、デバイス値を収集し、ダッシュボードに表示するための表示データを作成する。CPU41aは、通信部43とケーブル9bを介してPC2bと通信する。CPU41aはPC2bに対してダッシュボードの表示データを送信する。これにより、PC2bはPLC1に関する各種データを含むダッシュボードを表示する。 The CPU 41a stores the flow and dashboard setting data received from the PC 2a in the memory 42a. The CPU 41a executes the flow according to the setting data, collects the device values, and creates display data for displaying on the dashboard. The CPU 41a communicates with the PC 2b via the communication section 43 and the cable 9b. The CPU 41a transmits dashboard display data to the PC 2b. As a result, the PC2b displays a dashboard containing various data regarding the PLC1.

HMI16も通信部43に接続され、通信部43を介してCPU41aと通信してもよい。CPU41aは、表示データを所定のバッファまたはデバイスに格納する。HMI16は、所定のバッファまたはデバイスから表示データを読み出して、表示データを表示する。 The HMI 16 may also be connected to the communication section 43 and communicate with the CPU 41a via the communication section 43 . The CPU 41a stores display data in a predetermined buffer or device. The HMI 16 reads display data from a predetermined buffer or device and displays the display data.

図28はPC2aのCPU11によって実現される機能を説明する図である。プロジェクト作成部250は、CPU11がプロジェクト編集プログラム14aを実行することで実現される機能である。プロジェクト作成部250は、制御プログラム作成部252、フロー・ダッシュボード作成部251および収集設定部257を備えている。プロジェクト作成部250は、操作部8を通じて入力されるユーザ指示にしたがってラダープログラム等のユーザプログラムを含むプロジェクトデータ75を作成する。 FIG. 28 is a diagram for explaining functions realized by the CPU 11 of the PC 2a. The project creating section 250 is a function realized by the CPU 11 executing the project editing program 14a. The project creation unit 250 includes a control program creation unit 252 , a flow/dashboard creation unit 251 and a collection setting unit 257 . The project creation unit 250 creates project data 75 including user programs such as ladder programs in accordance with user instructions input through the operation unit 8 .

制御プログラム作成部252は、操作部8を通じて入力されるユーザ指示にしたがって、CPU31で実行されるラダープログラム等の制御プログラム155を作成する。制御プログラム155はプロジェクトデータ75の一部として記憶装置12に格納される。 The control program creation unit 252 creates a control program 155 such as a ladder program to be executed by the CPU 31 according to user instructions input through the operation unit 8 . Control program 155 is stored in storage device 12 as part of project data 75 .

フロー・ダッシュボード作成部251は、CPU11がフロー・ダッシュボード編集プログラム14eを実行することで実現される機能である。フロー・ダッシュボード作成部251は、アプリケーション選択部255および設定データ作成部256を備える。アプリケーション選択部255は、複数のアプリケーション(データ活用プログラム)から一つのアプリケーションをユーザが選択することを支援する選択画面を表示部7に表示し、ユーザによるアプリケーションの選択を受け付ける。アプリケーションとしては、監視対象であるデバイスや変数をリアルタイムに監視するリアルタイム監視アプリケーションと、PLC1の運転状態を再現するための運転記録を分析して分析レポートを生成する運転記録分析アプリケーションなどが存在してもよい。また、アプリケーションとしては、可動率(べきどうりつ)、良品率、または、サイクルタイムなどのKPI(Key Performance Indicator)を算出する算出アプリケーションなどが存在してもよい。 The flow/dashboard creating unit 251 is a function realized by the CPU 11 executing the flow/dashboard editing program 14e. The flow/dashboard creation unit 251 includes an application selection unit 255 and a setting data creation unit 256 . The application selection unit 255 displays a selection screen on the display unit 7 to assist the user in selecting one application from a plurality of applications (data utilization programs), and accepts selection of the application by the user. Applications include a real-time monitoring application that monitors devices and variables to be monitored in real time, and an operation record analysis application that analyzes operation records to reproduce the operation state of the PLC 1 and generates an analysis report. good too. Further, as an application, there may be a calculation application for calculating KPIs (Key Performance Indicators) such as the availability rate, non-defective product rate, or cycle time.

設定データ作成部256は、ユーザにより選択されたアプリケーション(データ活用プログラム)に関するパラメータやダッシュボードの表示設定に関するパラメータを含むアプリケーション設定データ274bをユーザ指示に従い作成する。このパラメータとしては、たとえば、監視対象のデバイスまたは変数、監視項目名(例:工程の名称)、各監視対象に対する監視条件や、解析対象のファイル、解析対象のデバイス、解析対象期間、表示対象、表示部品の名称、単位、などである。設定データ作成部256は、アプリケーション設定データ274bを作成するために必要な情報をCSV等のファイル形式でPLC1に提供してもよい。設定データ作成部256は、提供されたCSV等のファイルを読み出して、アプリケーション設定データ274bを作成してもよい。設定データ作成部256は、ユーザにより選択されたダッシュボードを表示するためのテンプレートを抽出する。たとえば、ダッシュボードテンプレート271からダッシュボードテンプレート271aが抽出され、設定データ273に保存される。ダッシュボードテンプレート271は、ダッシュボードを実現するための様々な表示部品(グラフモジュール)を有している。設定データ作成部256は、ユーザにより選択されたダッシュボードにデータを表示するために必要となるデータ処理を実行するデータ活用プログラムのテンプレートを抽出する。たとえば、活用プログラムテンプレート272から活用プログラムテンプレート272aが抽出されて、設定データ273に保存される。活用プログラムテンプレート272は、データ処理を実行するための演算部品(プログラムモジュール)を有している。設定データ作成部256は、ダッシュボードのテンプレート、データ活用プログラムのテンプレート、これらのテンプレートに設定されるアプリケーション設定データ274bを含む設定データ273を作成し、記憶装置12に格納する。なお、設定データ作成部256は、収集対象のデバイスまたは変数、収集条件等を含む収集設定データ274aを作成してもよい。 The setting data creation unit 256 creates application setting data 274b including parameters related to the application (data utilization program) selected by the user and parameters related to dashboard display settings, in accordance with user instructions. These parameters include, for example, monitored devices or variables, monitored item names (e.g., process names), monitoring conditions for each monitored target, files to be analyzed, devices to be analyzed, analysis target periods, display targets, It is the name of the display part, the unit, and the like. The setting data creating unit 256 may provide the PLC 1 with information necessary for creating the application setting data 274b in a file format such as CSV. The setting data creating unit 256 may read the provided file such as CSV and create the application setting data 274b. Setting data creation unit 256 extracts a template for displaying the dashboard selected by the user. For example, a dashboard template 271 a is extracted from the dashboard template 271 and saved in the setting data 273 . The dashboard template 271 has various display components (graph modules) for realizing the dashboard. Setting data creation unit 256 extracts a template of a data utilization program that executes data processing required to display data on the dashboard selected by the user. For example, the utilization program template 272 a is extracted from the utilization program template 272 and stored in the setting data 273 . The utilization program template 272 has operation components (program modules) for executing data processing. The setting data creation unit 256 creates setting data 273 including a dashboard template, a data utilization program template, and application setting data 274b set in these templates, and stores them in the storage device 12 . Note that the setting data creation unit 256 may create collection setting data 274a including devices or variables to be collected, collection conditions, and the like.

設定データ作成部256は、リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果を参照する他のアプリケーションを作成してもよい。リアルタイム監視アプリケーションにより算出された監視対象の測定結果は、測定結果毎に所定の変数に出力される。設定データ作成部256は、測定結果を示す変数を参照するように、他のアプリケーションやユーザが新規に作成するアプリケーションを設定する。リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果は、たとえば各工程の処理時間、先行する工程と後続の工程との間の時間、全行程の長さを示す時間といった時間結果、時系列データ(波形データ)の特徴量、カメラ画像の特徴量などを含んでもよい。設定データ作成部256は、測定結果を示す変数を参照するようにユーザが作成するダッシュボードを設定してもよい。なお、リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果は、データベースに格納されてもよい。これは、リアルタイム監視アプリケーションとデータベース機能とを連動させることで実現されてもよい。 The setting data creation unit 256 may create another application that refers to the measurement result of the monitored object calculated in the real-time monitoring application. The measurement result of the monitored object calculated by the real-time monitoring application is output to a predetermined variable for each measurement result. The setting data creating unit 256 sets other applications and applications newly created by the user so as to refer to the variables indicating the measurement results. The measurement results to be monitored calculated in the real-time monitoring application include time results such as the processing time of each process, the time between the preceding process and the following process, the time indicating the length of the entire process, time series data ( waveform data), a feature amount of a camera image, and the like. The setting data creation unit 256 may configure the dashboard created by the user so as to refer to the variables indicating the measurement results. Note that the measurement result of the monitored object calculated by the real-time monitoring application may be stored in the database. This may be accomplished by coordinating a real-time monitoring application with database functionality.

収集設定部257は、ユーザ指示にしたがって、デバイスや変数の収集動作を定義する。さらに、収集設定部257は、収集対象のデバイスまたは変数、収集条件等を含む収集設定データ274aを作成する。収集設定データ274aは設定データ273に含まれてもよい。収集設定部257と設定データ作成部256は一つに統合されてもよい。 The collection setting unit 257 defines collection operations for devices and variables according to user instructions. Furthermore, the collection setting unit 257 creates collection setting data 274a including devices or variables to be collected, collection conditions, and the like. The collection setting data 274 a may be included in the setting data 273 . The collection setting unit 257 and the setting data creation unit 256 may be integrated into one.

転送部260は、プロジェクトデータ75を基本ユニット3に転送したり、設定データ273を拡張ユニット4aに転送したりする。Webブラウザ60は、CPU11がWebブラウザプログラム14dを実行することで実現される。 The transfer section 260 transfers the project data 75 to the basic unit 3 and the setting data 273 to the expansion unit 4a. The web browser 60 is implemented by the CPU 11 executing the web browser program 14d.

図29は拡張ユニット4aのCPU41aによって実現される機能を示している。以下で説明される拡張ユニット4aの機能の一部またはすべてが基本ユニット3に実装されてもよい。設定部280は、PC2aから受信した設定データ273をメモリ42aに格納する。設定部280は、設定データ273にしたがって基本ユニット3に対してどのようなデバイス値を収集すべきかを設定してもよい。設定データ273は、ダッシュボードテンプレート271a、活用プログラムテンプレート272a、収集設定データ274aおよびアプリケーション設定データ274bを含む。収集設定データ274aは、ダッシュボードテンプレート271aおよび活用プログラムテンプレート272aに代入された状態でPC2aから拡張ユニット4aに渡されてもよいし、ダッシュボードテンプレート271aおよび活用プログラムテンプレート272aから分離された状態でPC2aから拡張ユニット4aに渡されてもよい。フロー実行部281は、CPU41aが、収集設定データ274aにしたがって活用プログラムテンプレート272a内のフローを実行することで実現される機能である。収集部282は、収集設定データ274aにより指定されたデバイス値を基本ユニット3や拡張ユニット4bから収集し、収集されたデータ275を作成し、メモリ42aに格納する。データ処理部283は、収集設定データ274aにより指定されたデータ処理を、収集されたデータ275に適用し、解析されたデータ276を作成し、メモリ42aに格納する。表示処理部284は、アプリケーション設定データ274bにより指定されたダッシュボードテンプレート271aと表示対象データとに基づきダッシュボードの表示データ277(例:HTMLデータや画像データ、CSS(カスケーディングスタイルシート)、JavaScript(登録商標)のコード)を作成する。Webサーバ82は、PC2bなどのWebブラウザ60に対して、ダッシュボードの表示データ277を提供する。 FIG. 29 shows functions realized by the CPU 41a of the expansion unit 4a. Some or all of the functionality of the extension unit 4a described below may be implemented in the base unit 3. The setting unit 280 stores the setting data 273 received from the PC 2a in the memory 42a. The setting section 280 may set what kind of device values should be collected for the basic unit 3 according to the setting data 273 . The setting data 273 includes a dashboard template 271a, a utilization program template 272a, collection setting data 274a and application setting data 274b. The collection setting data 274a may be passed from the PC 2a to the expansion unit 4a while being assigned to the dashboard template 271a and the utilization program template 272a, or may be passed to the PC 2a while being separated from the dashboard template 271a and the utilization program template 272a. to the expansion unit 4a. The flow execution part 281 is a function realized by the CPU 41a executing the flow in the utilization program template 272a according to the collection setting data 274a. The collection unit 282 collects the device values specified by the collection setting data 274a from the basic unit 3 and the expansion unit 4b, creates the collected data 275, and stores it in the memory 42a. The data processing unit 283 applies the data processing specified by the collection setting data 274a to the collected data 275, creates analyzed data 276, and stores it in the memory 42a. The display processing unit 284 generates dashboard display data 277 (eg, HTML data, image data, CSS (cascading style sheet), JavaScript ( (registered trademark) code). The web server 82 provides the dashboard display data 277 to the web browser 60 such as the PC 2b.

図30は拡張ユニット4aのCPU41aによって実現される他の機能を説明する図である。以下で説明される拡張ユニット4aの機能の一部またはすべてが基本ユニット3に実装されてもよい。ここでは、拡張ユニット4aはPC2bに対してWebベースの技術によりダッシュボードなどの設定編集機能を提供する。なお、設定編集機能はダッシュボードから呼び出されて実行されてもよい。また、設定編集機能はプログラム作成支援装置であるPC2aにも備えられてもよい。なお、すでに説明された機能と同様の機能には同一の参照符号を付与されており、そのような機能の説明は省略される。 FIG. 30 is a diagram for explaining other functions realized by the CPU 41a of the expansion unit 4a. Some or all of the functionality of the extension unit 4a described below may be implemented in the base unit 3. Here, the expansion unit 4a provides a setting editing function such as a dashboard to the PC 2b by means of web-based technology. Note that the setting editing function may be invoked and executed from the dashboard. The setting editing function may also be provided in the PC 2a, which is a program creation support device. It should be noted that the same reference numerals are given to the same functions as those already explained, and the explanation of such functions will be omitted.

設定部280は、上述されたフロー・ダッシュボード作成部251を有している。フロー・ダッシュボード作成部251は、CPU41aがフロー・ダッシュボード編集プログラム14eを実行することで実現される機能である。フロー・ダッシュボード編集プログラム14eは、Webサーバ82を介していわゆるWebブラウザ60と通信して表示画面を提供したり、入力を受け付けたりするWeb処理部としてCPU41aを機能させてもよい。アプリケーション選択部255は、複数のダッシュボード(リアルタイム監視アプリケーション)から一つのダッシュボードをユーザが選択することを支援する選択画面を、Webサーバ82を通じて、PC2bの表示部7bに表示し、ユーザによるダッシュボードの選択を受け付ける。設定データ作成部256は、ユーザにより選択されたダッシュボードに関連付けられているフローに関するパラメータやダッシュボードの表示設定に関するパラメータについてのユーザ指定を、Webサーバ82を通じて、受け付ける。このパラメータとしては、収集対象のデバイスや、解析対象のデバイス、解析対象期間、表示対象、表示部品の名称、単位、などである。設定データ作成部256は、ユーザにより選択されたダッシュボードを表示するためのダッシュボードテンプレート271aを、ダッシュボードテンプレート271から抽出する。ダッシュボードテンプレート271は、ダッシュボードを実現するための様々な表示部品(グラフモジュール)を有している。設定データ作成部256は、ユーザにより選択されたダッシュボードにデータを表示するために必要となるデータ処理を実行する活用プログラムテンプレート272aを、活用プログラムテンプレート272から抽出する。活用プログラムテンプレート272は、データ処理を実行するための演算部品(プログラムモジュール)を有している。フロー・ダッシュボード作成部251は、Webブラウザ60から入力されるユーザ指示に従って、上述された収集設定データ274aおよびアプリケーション設定データ274bも作成してもよい。設定データ作成部256は、ダッシュボードテンプレート271a、活用プログラムテンプレート272a、収集設定データ274aおよびアプリケーション設定データ274bを含む設定データ273を作成し、メモリ42aに格納する。 The setting unit 280 has the flow dashboard creation unit 251 described above. The flow/dashboard creating unit 251 is a function realized by the CPU 41a executing the flow/dashboard editing program 14e. The flow/dashboard editing program 14e may cause the CPU 41a to function as a web processing unit that communicates with a so-called web browser 60 via the web server 82 to provide a display screen and receive input. The application selection unit 255 displays a selection screen for assisting the user in selecting one dashboard from a plurality of dashboards (real-time monitoring applications) on the display unit 7b of the PC 2b via the Web server 82, and displays the selection screen on the display unit 7b of the PC 2b. Accept board selection. The setting data creation unit 256 accepts, via the web server 82, user specifications of parameters related to the flow associated with the dashboard selected by the user and parameters related to dashboard display settings. The parameters include the device to be collected, the device to be analyzed, the period to be analyzed, the display object, the name of the display part, the unit, and the like. The setting data creating unit 256 extracts from the dashboard template 271 a dashboard template 271 a for displaying the dashboard selected by the user. The dashboard template 271 has various display components (graph modules) for realizing the dashboard. The setting data creation unit 256 extracts from the utilization program template 272 a utilization program template 272 a that executes data processing required to display data on the dashboard selected by the user. The utilization program template 272 has operation components (program modules) for executing data processing. The flow dashboard creating unit 251 may also create the collection setting data 274 a and the application setting data 274 b described above in accordance with user instructions input from the web browser 60 . The setting data creating unit 256 creates setting data 273 including a dashboard template 271a, a utilization program template 272a, collection setting data 274a and application setting data 274b, and stores them in the memory 42a.

図31は拡張ユニット4aに実装される追加の機能を示している。 FIG. 31 shows additional functions implemented in the expansion unit 4a.

発報部290は、フロー実行部281(分析部254)の判定結果に基づき周辺機器に通知を発行する機能である。周辺機器とは、HMI16、PC2a、2bなどである。アプリケーション通知部291は、リアルタイム監視アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことを周辺機器に通知する機能である。リアルタイム監視アプリケーションとは、PLC1においてユーザプログラム(ラダープログラム)が実行されているときにデバイス値を表示画面に表示するアプリケーションである。リアルタイム監視アプリケーションは、メモリカードなどに保存された過去のデバイス値のみを表示するアプリケーションとは区別される。リアルタイム監視アプリケーションが、これらの過去のデバイス値を表示する機能も含んでいてもよい。 The notification unit 290 has a function of issuing a notification to the peripheral device based on the determination result of the flow execution unit 281 (analysis unit 254). Peripherals are the HMI 16, PCs 2a and 2b, and the like. The application notification unit 291 is a function of notifying the peripheral device that the monitoring state of the real-time monitoring application has changed from the normal state to the caution state or alarm state. A real-time monitoring application is an application that displays device values on a display screen while a user program (ladder program) is being executed in the PLC 1 . Real-time monitoring applications are distinguished from applications that only display past device values stored on a memory card or the like. A real-time monitoring application may also include the ability to display these historical device values.

イベント登録部292は、監視アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことをイベントとして基本ユニット3に登録する機能である。基本ユニット3のCPU31は、エラーやイベントの履歴を保存する機能を有している。イベント登録部292は、内部バス90を介して通信コマンドを送信することで、基本ユニット3のCPU31にイベントの登録を要求する。 The event registration unit 292 is a function for registering in the basic unit 3 as an event that the monitoring state of the monitoring application has changed from a normal state to a caution state or an alarm state. The CPU 31 of the basic unit 3 has a function of saving error and event history. The event registration unit 292 requests the CPU 31 of the basic unit 3 to register an event by transmitting a communication command via the internal bus 90 .

運転記録保存部293は、収集されたデバイス値(運転記録)を保存するよう基本ユニット3のCPU31に要求する機能である。CPU31は、ラダープログラムのスキャンタイムごとに、リングバッファ等へデバイス値を格納する。拡張ユニット4aのCPU41aは、このデバイス値を取得して分析し、保存条件を満たしているかどうかを判定する。保存条件が満たされると、運転記録保存部293は、CPU31に対して内部バス90を介して保存要求を送信する。CPU31は、保存要求にしたがってリングバッファに格納されているデバイス値を運転記録として保存する。フロー実行部281(分析部254)は、基本ユニット3から運転記録を読み出して分析することで分析結果を取得し、分析結果を、解析されたデータ276に保存してもよい。 The driving record storage unit 293 is a function that requests the CPU 31 of the basic unit 3 to store the collected device values (driving records). The CPU 31 stores device values in a ring buffer or the like for each scan time of the ladder program. The CPU 41a of the expansion unit 4a acquires and analyzes this device value and determines whether or not the storage conditions are satisfied. When the storage condition is satisfied, driving record storage unit 293 transmits a storage request to CPU 31 via internal bus 90 . The CPU 31 stores the device value stored in the ring buffer as a driving record in accordance with the storage request. The flow executing unit 281 (analyzing unit 254 ) may acquire analysis results by reading and analyzing the driving records from the basic unit 3 and store the analysis results in the analyzed data 276 .

ここで運転記録とはPLC1の運転状態をスキャンタイムレベルで記録したものであってもよい。たとえば、運転記録は、PLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とを、一スキャン毎に時系列に記録することであってもよい。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボル(例:変数、デバイス)であってもよいし、ユーザにより選択されるプログラム単位やユニット単位に含まれるすべてのシンボルであってもよい。この場合、運転記録の対象となるシンボルは、プログラム単位やユニット単位のように、有意な単位で一括して選択されてもよい。運転記録の対象となるシンボルは、個別に加除(追加または削除)されてもよい。たとえば、トラブル発生時に、トラブル発生時刻の周辺においてPLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とが、一スキャン毎に時系列に記録した運転記録が生成されてもよい。ユーザは運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することが可能となろう。運転記録には、その時の状況を再現するために多くの情報が含まれるかもしれない。情報が多いと運転記録のデータ容量が大きくなり、運転記録の取り扱い(データ処理など)が難しくなったり、運転記録の収集に負荷がかかったりする。そのため、収集対象となるシンボルは、プログラム単位やユニット単位でユーザにより選択できるようになっている。 Here, the operating record may be a record of the operating state of the PLC 1 at the scan time level. For example, the operation record may be to record the symbol values of all the symbols related to the operation of the PLC 1 and their collection times in chronological order for each scan. All symbols related to operation may be, for example, all symbols (eg variables, devices) used in user programs such as ladder programs, or included in program units or unit units selected by the user. Any symbol is acceptable. In this case, the symbols to be the target of the operation record may be collectively selected in significant units such as program units or unit units. Symbols that are targets of driving records may be added or removed (added or deleted) individually. For example, when a trouble occurs, an operation record may be generated in which the symbol values of all symbols related to the operation of the PLC 1 around the trouble occurrence time and their collection times are recorded in time series for each scan. Based on the driving record, the user will be able to accurately grasp what happened when the trouble occurred even later. Driving records may contain a lot of information to reconstruct the situation at that time. If there is a lot of information, the data volume of the driving record becomes large, making it difficult to handle the driving record (data processing, etc.) and burdening the collection of the driving record. Therefore, the symbols to be collected can be selected by the user on a program-by-program or unit-by-unit basis.

また、運転記録には、シンボルに加え、時系列のカメラ画像がその撮像時刻ともに含まれていてもよい。これにより、ユーザは、たとえば、トラブル発生時に、トラブル発生時刻の周辺に遡って何が起きたかを後からでも正確に把握できるようになろう。とりわけ、設備の外観変化を示すカメラ画像が運転記録に含まれていることは、状況を把握することに役立つであろう。そのため、ユーザプログラムの実行の時系列と連動してカメラ画像が記録されてもよい。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴が変化点イベントとして運転記録に含まれてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかをユーザは時系列で確認できる。さらに、運転記録には、プロジェクトデータが含まれてもよい。運転記録データが生成された際のプロジェクトデータを運転記録に含ませることで、プロジェクトデータに複数のバージョンが存在しても、運転記録データを生成したときに実際に使用されていたプロジェクトデータにより状況を再現することができる。運転記録には、分析レポートが含まれてもよい。運転記録データを分析することで得られた分析結果を含む分析レポートを運転記録に含ませることで、分析結果と運転記録データとを連携させることが可能となる。 In addition to the symbols, the driving record may include time-series camera images together with their imaging times. As a result, for example, when a trouble occurs, the user will be able to accurately grasp what happened around the time when the trouble occurred even afterward. In particular, the inclusion of camera images showing changes in the appearance of equipment in the driving record would be useful in grasping the situation. Therefore, camera images may be recorded in conjunction with the time series of execution of the user program. A writing history from an external device such as an HMI (Human Machine Interface) or a PC or a writing history from a PLC may be included in the driving record as change point events. As a result, for example, the user can confirm in chronological order what kinds of change point events occurred before and after the trouble occurred. Additionally, the driving record may include project data. By including the project data at the time when the driving record data was generated in the driving record, even if there are multiple versions of the project data, the situation can be changed according to the project data that was actually used when the driving record data was generated. can be reproduced. Driving records may include analytical reports. By including an analysis report including the analysis results obtained by analyzing the driving record data in the driving records, it is possible to link the analysis results and the driving record data.

履歴保存部294は、注意状態または警報状態が発生したときに取得されたデバイス値、ダッシュボード用の表示データ(チャートやグラフ)、閾値を、履歴として保存する機能である。これらの履歴は過去に起きたいつもと異なる動作を表示画面上で再現することに役立つ。 The history storage unit 294 is a function that stores device values, dashboard display data (charts and graphs), and thresholds acquired when a caution state or alarm state occurs as a history. These histories are useful for reproducing unusual actions that occurred in the past on the display screen.

データ処理部283は、収集されたデータ275(デバイス値など)について統計処理を実行する機能を有していてもよい。トレンドグラフ作成部253aは、収集されたデータ275からトレンドグラフを作成する。たとえば、トレンドグラフ作成部253aは、収集されたデータ275に含まれている、指定された個数のデバイス値ごとに統計値(最大値、平均値または最小値)を選択し、選択された統計値と、この統計値が収集された時刻を示す時刻情報とを紐づけて蓄積する機能である。指定された個数の測定値から一つの測定値が選択されて保存されるため、データ圧縮効果が得られる。指定された個数を増加することで、保存されるデータの量が削減され、より長期間のトレンドを示すデータが得られる。 The data processing unit 283 may have a function of performing statistical processing on collected data 275 (device values, etc.). The trend graph creating unit 253 a creates a trend graph from the collected data 275 . For example, the trend graph creation unit 253a selects a statistic value (maximum value, average value or minimum value) for each specified number of device values included in the collected data 275, and and the time information indicating the time when this statistical value was collected are linked and accumulated. Since one measured value is selected from the specified number of measured values and stored, a data compression effect can be obtained. Increasing the specified number reduces the amount of data that is stored, resulting in data showing longer-term trends.

ヒストグラム作成部253bは、収集されたデータ275に含まれている、指定された個数のデバイス値の分布を作成する。たとえば、直近に収集された数百点分の測定値についての分布が得られる。 The histogram creation unit 253b creates a distribution of the specified number of device values included in the collected data 275. FIG. For example, a distribution can be obtained for several hundred recently collected measurements.

分析部254は、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値が、アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを分析する。これにより、分析部254は、シンボル値に関していつもと異なる状況を検知する。正常条件は、たとえば、注意状態や警報状態を検知するために使用される閾値を含む。 The analysis unit 254 analyzes whether or not the symbol values collected by the collection means according to the application program satisfy normal conditions set for the application program. This allows the analysis unit 254 to detect an unusual situation regarding the symbol values. Normal conditions include, for example, thresholds used to detect caution and alarm conditions.

フロー・ダッシュボード作成部251は、閾値設定部258とバンク切替部259とを有していてもよい。閾値設定部258は、注意状態や警報状態を検知するために使用される閾値の設定に関してユーザを補助する機能である。たとえば、閾値設定部258は、過去に収集されたデバイス値に基づき学習を実行し、学習結果に基づき閾値をユーザに提案してもよい。バンク切替部259は、PLC1の制御下で製造される製品の種類に応じて予め閾値のセット(バンク)を用意しておき、製品の種類が変更されると、閾値のセットを切り替える。 The flow dashboard creation unit 251 may have a threshold setting unit 258 and a bank switching unit 259 . The threshold setting unit 258 is a function that assists the user in setting thresholds used to detect caution and alarm states. For example, the threshold setting unit 258 may perform learning based on device values collected in the past and propose thresholds to the user based on the learning results. The bank switching unit 259 prepares a threshold set (bank) in advance according to the type of product manufactured under the control of the PLC 1, and switches the threshold set when the type of product is changed.

フロー実行部281は、停止/再開部286とアプリケーションエラー検知部287とを有してもよい。停止/再開部286は、監視アプリケーションを一時的に停止させたり、監視アプリケーションの動作を再開させたりする機能である。監視アプリケーションはメモリカードにアクセスすることで、様々なデータを保存することがある。監視アプリケーションがメモリカードにアクセスしているときにメモリカードが抜かれると、データが損傷することがある。よって、メモリカードが抜かれるときは、監視アプリケーションが停止されるべきであろう。また、電源投入から一定時間が経過するまではアクチュエータの動作が安定しないことがある。このような期間においては、監視アプリケーションにアクチュエータを監視させるべきではないであろう。よって、停止/再開部286は、PC2a、PC2bなどから監視アプリケーションの停止要求を受信すると、当該監視アプリケーションの動作を一時的に停止する。停止/再開部286は、PC2a、PC2bなどから監視アプリケーションの再開要求を受信すると、当該監視アプリケーションの動作を再開させる。アプリケーションエラー検知部287は、監視アプリケーション自体のエラーを検知してエラーの発生を周辺機器に通知する。たとえば、アプリケーションエラー検知部287は、監視対象となるデバイスや変数の指定が誤っていたり、監視結果を保存するメモリカードの空き容量が不足したりすると、周辺機器に通知を発行する。アプリケーションエラー検知部287は、発報部290に含まれていてもよい。 The flow execution section 281 may have a stop/resume section 286 and an application error detection section 287 . The stop/restart unit 286 is a function that temporarily stops the monitoring application and restarts the operation of the monitoring application. A surveillance application may store various data by accessing the memory card. Data can be corrupted if the memory card is removed while the surveillance application is accessing it. Therefore, the monitoring application should be stopped when the memory card is removed. In addition, the operation of the actuator may not stabilize until a certain period of time has elapsed since the power was turned on. During such periods, the monitoring application should not monitor the actuator. Therefore, upon receiving a monitoring application stop request from the PC 2a, PC 2b, or the like, the stop/restart unit 286 temporarily stops the operation of the monitoring application. When the stop/restart unit 286 receives a restart request for the monitoring application from the PC 2a, PC 2b, etc., it restarts the operation of the monitoring application. The application error detection unit 287 detects an error in the monitoring application itself and notifies the peripheral device of the occurrence of the error. For example, the application error detection unit 287 issues a notification to the peripheral device when the device or variable to be monitored is specified incorrectly, or when the free space of the memory card for saving the monitoring results is insufficient. Application error detection unit 287 may be included in reporting unit 290 .

●リアルタイム監視アプリケーション
以下ではダッシュボードを提供する複数のリアルタイム監視アプリケーションが説明される。このようなアプリケーションは、監視対象であるデバイスや変数をリアルタイムに監視する。リアルタイム監視アプリケーションとして、以下のものが存在してもよい。
(I)工程監視(サイクルチャート): サイクル動作とは、複数の工程を一サイクルごとに繰り返し実行することをいう。サイクル監視では、サイクル動作を構成する複数の工程それぞれの開始タイミングを示すビットデバイスと終了タイミングを示すビットデバイスとが監視対象デバイスとして設定される。サイクル全体動作の開始から終了までの時間間隔と、一サイクル内の各工程の開始から終了までの時間間隔とが監視される。サイクル全体動作とは、一サイクルの全体を指す。たとえば、開始トリガから終了トリガまでの時間(工程時間)が規定範囲内かどうか、が監視されてもよい。複数の工程の監視結果が同時に表示される場合、複数の工程のうちでボトルネックとなっている工程がユーザにとって確認しやすくなる。ある工程について異常が発生すると、その工程だけでなく、その工程の前後に実行される他の工程についても監視結果(チャート)が保存される。
(II)タイミング監視: 監視対象のビットデバイスのONおよび/またはOFFのタイミングが監視される。たとえば、開始トリガから終了トリガまでの時間が規定範囲内かどうか、が監視される。タイミング監視では、ある工程について異常が発生すると、その工程の監視結果(チャート)のみが保存される。
(III)波形上下限監視: 時系列のデバイス値(または変数に格納されたアナログ値)からなる波形(監視対象波形)があらかじめ設定された上限値から下限値までの範囲内に収まっているかどうかが監視される。
(IV)波形ガードバンド監視: 時系列のデバイス値(または変数に格納されたアナログ値)からなる波形(監視対象波形)が、予め定められたガードバンド内に収まっているかが時系列で監視される。ガードバンドとは、二つの閾値波形によって囲まれる帯状の範囲である。ガードバンドは、時間の経過とともに変化する上限値または下限値により定義されてもよい。つまり、ガードバンドは、時系列の上限値と、時系列の下限値とにより定義されてもよい。
(V)カメラ監視: 監視対象のカメラ画像の特徴量データ(例:輝度、色差青、色差赤など)があらかじめ設定された検知条件を満たすかどうかが監視される。フィールドデバイス10がカメラである場合に、カメラ監視プリケーションが実行される。
Real-Time Monitoring Applications Several real-time monitoring applications that provide dashboards are described below. Such applications monitor monitored devices and variables in real time. Real-time monitoring applications may include:
(I) Process monitoring (cycle chart): Cycle operation refers to repeatedly executing a plurality of processes for each cycle. In cycle monitoring, a bit device indicating start timing and a bit device indicating end timing of each of a plurality of steps constituting a cycle operation are set as devices to be monitored. The time interval from the start to the end of the entire cycle operation and the time interval from the start to the end of each step within a cycle are monitored. A full cycle operation refers to the entirety of one cycle. For example, it may be monitored whether the time from the start trigger to the end trigger (process time) is within a specified range. When the monitoring results of a plurality of processes are displayed at the same time, it becomes easier for the user to confirm which of the processes is the bottleneck. When an abnormality occurs in a certain process, monitoring results (charts) are saved not only for that process but also for other processes executed before and after that process.
(II) Timing monitoring: The ON and/or OFF timing of the monitored bit device is monitored. For example, it is monitored whether the time from the start trigger to the end trigger is within a specified range. In timing monitoring, when an abnormality occurs in a certain process, only the monitoring result (chart) of that process is saved.
(III) Waveform upper/lower limit monitoring: Whether the waveform (monitoring target waveform) consisting of time-series device values (or analog values stored in variables) is within the preset range from the upper limit value to the lower limit value is monitored.
(IV) Waveform guard band monitoring: A waveform (monitored waveform) composed of time series device values (or analog values stored in variables) is monitored in time series to see if it falls within a predetermined guard band. be. A guard band is a strip-shaped range surrounded by two threshold waveforms. A guard band may be defined by upper or lower limits that change over time. That is, the guard band may be defined by the upper limit value of the time series and the lower limit value of the time series.
(V) Camera monitoring: It is monitored whether the feature amount data (eg, luminance, color difference blue, color difference red, etc.) of the camera image to be monitored satisfies preset detection conditions. If the field device 10 is a camera, a camera surveillance application is executed.

リアルタイム監視アプリケーションは、PLC1のシンボルのシンボル値に基づく常時監視するためのアプリケーションで、たとえばリアルタイム監視アプリケーションの設定に応じて1又は複数のシンボルのシンボル値をスキャンタイムレベルで常時収集し、収集したシンボル値に基づく情報をリアルタイムに更新しながら常時表示するアプリケーションである。常時監視の対象となる1又は複数のシンボルは、予めユーザにより設定される。リアルタイム監視アプリケーションは、たとえばWebサーバ機能を有し、通信部43を介して汎用ブラウザから設定が可能である。汎用ブラウザから設定できることにより、プログラム作成支援装置等の専用ツールを介さずに、PC、スマホ、タブレットから設定または監視ができる。また、リアルタイム監視アプリケーションは、常時監視の対象となる1又は複数のシンボルについて正常時における複数のサイクルのシンボル値に基づき当該シンボルに対応する閾値を自動で設定する。たとえば、リアルタイム監視アプリケーションは、ユーザ指示を受け付けて、常時監視の対象となる複数のシンボルについて正常時における複数のサイクルのシンボル値のばらつきに基づき、シンボルの状態を監視するための閾値を一括で自動設定する。閾値は、いつもと違う状態、つまり、非正常状態を監視するように設定され、リアルタイム監視アプリケーションは、監視対象のシンボルのシンボル値が閾値を超えた場合はアラームを発報する。このようにして、たとえば、PLC1は、設備が止まる前に兆候を捉えることができる。PLC1は、リアルタイム監視アプリケーションによる兆候監視の結果、監視対象のシンボルのシンボル値が閾値を超えた場合のアラームを、運転記録の保存条件としてもよい。PLC1は、リアルタイム監視アプリケーションによるアラーム発生をイベントトリガとして、トリガ前後の運転記録データを保存する。PLC1は、運転記録データの保存が完了すると保存完了デバイスをONする。運転記録分析アプリケーションは、運転記録データの保存が完了したことをうけ、自動的に運転記録データを分析してもよい。たとえば、運転記録分析アプリケーションは、保存完了デバイスをONしたことに応じて運転記録データを分析してもよい。運転記録分析アプリケーションは、分析対象となったシンボルのシンボル値(例、全ビットデバイスのデバイス値)を分析して、アラートが出た要因候補のシンボルを抽出する。このようにして運転記録分析アプリケーションは、リアルタイム監視アプリケーションによるアラーム発生の要因をアラーム発生により保存した運転記録データを自動分析し、運転記録データの中からいつもと違うシンボルを抽出する。これにより、CPU41aは、リアルタイム監視アプリケーションの兆候監視機能により設備の状態を常時監視し、変化要因でアラートを発報する。さらに、CPU41aは、アラート要因を自動分析し、いつもと違うシンボルを抽出する。つまり、PLC1は、シンボル値を常時監視することで被制御対象設備の兆候監視をして、アラームにより被制御対象設備が止まる前に兆候を報知して、兆候の要因を自動分析する。 The real-time monitoring application is an application for constant monitoring based on the symbol values of the symbols of the PLC 1. For example, according to the settings of the real-time monitoring application, the symbol values of one or more symbols are constantly collected at the scan time level, and the collected symbols It is an application that constantly displays value-based information while updating it in real time. One or more symbols to be constantly monitored are set in advance by the user. The real-time monitoring application has a Web server function, for example, and can be set from a general-purpose browser via the communication unit 43 . By being able to set from a general-purpose browser, it is possible to set or monitor from a PC, smartphone, or tablet without going through a dedicated tool such as a program creation support device. In addition, the real-time monitoring application automatically sets a threshold corresponding to one or more symbols to be constantly monitored based on symbol values of a plurality of cycles in normal times. For example, the real-time monitoring application accepts user instructions and automatically sets threshold values for monitoring symbol states collectively based on variations in symbol values of multiple cycles in normal times for multiple symbols to be constantly monitored. set. A threshold is set to monitor anomalous or abnormal conditions, and the real-time monitoring application issues an alarm if the symbol value of the monitored symbol exceeds the threshold. In this way, for example, the PLC 1 can catch the symptom before the installation stops. The PLC 1 may set an alarm when a symbol value of a symbol to be monitored exceeds a threshold value as a result of symptom monitoring by a real-time monitoring application as a driving record storage condition. The PLC 1 saves the driving record data before and after the trigger by using the occurrence of an alarm by the real-time monitoring application as an event trigger. The PLC 1 turns on the storage completion device when the storage of the driving record data is completed. The driving record analysis application may automatically analyze the driving record data upon completion of saving the driving record data. For example, the drive record analysis application may analyze drive record data in response to turning on the save completion device. The driving record analysis application analyzes the symbol values of the symbols to be analyzed (for example, the device values of all bit devices), and extracts the symbol of the cause candidate for the alert. In this way, the driving record analysis application automatically analyzes the driving record data stored by the real-time monitoring application for the cause of the alarm generation, and extracts unusual symbols from the driving record data. As a result, the CPU 41a constantly monitors the state of the facility using the symptom monitoring function of the real-time monitoring application, and issues an alert based on the change factor. Furthermore, the CPU 41a automatically analyzes alert factors and extracts unusual symbols. In other words, the PLC 1 constantly monitors symbol values to monitor symptoms of the equipment to be controlled, notifies the symptoms before the equipment to be controlled is stopped by an alarm, and automatically analyzes the factors of the symptoms.

[工程監視アプリケーションの詳細]
図32はPC2bに表示される工程監視アプリケーションのダッシュボード300を示している。ダッシュボード300は、たとえば、表示データ277にしたがってWebブラウザ60により表示される。ダッシュボード300は、PC2aやHMI16などWebブウザとは異なるソフトウエアにより表示装置に表示されてもよい。ダッシュボード300は、監視結果をリアルタイムで表示する表示画面(ユーザーインタフェース)である。動作表示部301は、工程監視アプリケーションが動作中であるか、停止中であるかを表示する。切替ボタン302は、工程監視アプリケーションの動作状態を動作中と停止中との間で切り替えを停止/再開部286に指示するボタンである。切替ボタン302は、アプリケーションの動作/非動作だけでなく、試運転モードのオン/オフが切り替えられてもよい。試運転モードとは、警報状態と注意状態の判定は実行されて判定結果は表示されるが、判定結果が履歴として記録されないモードである。履歴ボタン303は、現在表示されている情報(測定値、チャートなど)を履歴として保存することを履歴保存部294に指示するためのボタンである。設定ボタン304は、工程監視アプリケーションの設定ウィザードを呼び出すためのボタンである。割合ボタン305は、各工程の測定値(開始トリガから終了トリガまでの時間)を工程ごとに割合で表示するよう表示処理部284に要求するためのボタンである。このように、表示データ277は、ボタンなどのコントロールオブジェクトを実現する表示部品を含んでいる。
[Details of process monitoring application]
FIG. 32 shows the dashboard 300 of the process monitoring application displayed on the PC 2b. Dashboard 300 is displayed by web browser 60 according to display data 277, for example. The dashboard 300 may be displayed on the display device by software different from the web browser, such as the PC 2a or the HMI 16. FIG. The dashboard 300 is a display screen (user interface) that displays monitoring results in real time. The operation display unit 301 displays whether the process monitoring application is in operation or stopped. The switch button 302 is a button for instructing the stop/resume unit 286 to switch the operating state of the process monitoring application between active and stopped. The switch button 302 may switch on/off of the test run mode as well as operating/non-operating the application. The trial operation mode is a mode in which the determination of the alarm state and caution state is executed and the determination results are displayed, but the determination results are not recorded as history. A history button 303 is a button for instructing the history saving unit 294 to save the currently displayed information (measured values, charts, etc.) as a history. A setting button 304 is a button for calling a setting wizard of the process monitoring application. A ratio button 305 is a button for requesting the display processing unit 284 to display the measured value of each process (the time from the start trigger to the end trigger) as a ratio for each process. Thus, the display data 277 includes display components that implement control objects such as buttons.

状態表示領域306aは、測定値が正常状態、注意状態または警状態報のいずれであるかを示す。項目名表示領域306bは各工程の名称を表示する。測定値表示領域306cは、開始トリガから終了トリガまでの時間の測定値を表示する。チャート表示領域306dは、測定値を棒状のオブジェクト307aで表示する。チャート表示領域306dは、測定値が警報状態かどうかを判定するための上限値および下限値と、測定値が注意状態かどうかを判定するための上限値を下限値とを縦線オブジェクト307cで表示してもよい。さらに、チャート表示領域306dは、学習結果またはユーザにより指定された測定値のマスターデータを棒状のオブジェクト307bで表示してもよい。マスターデータのオブジェクト307bは、たとえば、ハッチングを付与されることで、測定値のオブジェクト307aに対して視覚的に差別化されてもよい。詳細ボタン308は、測定値の詳細(例:トレンドグラフ、ヒストグラム)を表示することを指示するボタンである。 Status display area 306a indicates whether the measured value is a normal status, a caution status, or an alarm status alert. The item name display area 306b displays the name of each process. The measurement display area 306c displays the measurement of the time from the start trigger to the end trigger. The chart display area 306d displays the measured value as a bar-shaped object 307a. The chart display area 306d displays the upper and lower limits for determining whether the measured value is in the alarm state and the upper and lower limits for determining whether the measured value is in the caution state as vertical line objects 307c. You may Furthermore, the chart display area 306d may display learning results or master data of measured values specified by the user as bar-shaped objects 307b. The master data object 307b may be visually differentiated from the measurement object 307a by being given hatching, for example. A details button 308 is a button for instructing display of details of the measured value (eg, trend graph, histogram).

図32においてチャート表示領域306dは同期モード(切り出しモード)で測定値を表示している。同期モードとは、サイクル全体動作における開始トリガのタイミングを起点として、各工程の測定値を表示するモードである。同期モードにおいてチャート表示領域306dは、一つの全体サイクルごとに、測定値とマスターデータを表示する。測定値はリアルタイムで更新される。そのため、全体サイクルの測定値を示すオブジェクト307aは時間の経過とともに徐々に左から右に向かって伸びて行く。各工程も開始トリガが発生すると、その工程の測定値を示すオブジェクト307aが時間の経過とともに徐々に左から右に向かって伸びて行く。終了トリガが発生すると、オブジェクト307bの伸びは停止する。なお、マスターデータのオブジェクト307bは常に一定の長さのオブジェクトとして表示され続ける。 In FIG. 32, the chart display area 306d displays measured values in a synchronous mode (cutout mode). The synchronous mode is a mode in which the measured values of each process are displayed starting from the timing of the start trigger in the entire cycle operation. In synchronous mode, the chart display area 306d displays measured values and master data for each full cycle. Measurements are updated in real time. Therefore, the object 307a indicating the measured value of the entire cycle gradually extends from left to right as time elapses. When a start trigger is generated for each process, the object 307a indicating the measured value of that process gradually extends from left to right as time elapses. When the end trigger occurs, object 307b stops growing. Note that the master data object 307b is always displayed as an object with a fixed length.

このように表示データ277は複数の表示領域306を実現するための表示部品を有している。また、表示処理部284が時間の経過とともに表示データ277を更新するため、ダッシュボード300に表示される情報も更新される。 Thus, the display data 277 has display parts for realizing the plurality of display areas 306 . In addition, since the display processing unit 284 updates the display data 277 over time, the information displayed on the dashboard 300 is also updated.

図33は、非同期モードにおける工程監視アプリケーションのダッシュボード300を示している。非同期モードにおいて各工程の継続時間の測定値のうち、最新の測定値は右から左に移動する棒状のオブジェクト307dとして表示される。過去の測定値は破線の棒状のオブジェクト307eとして表示される。つまり、ある工程について開始トリガが検知されると、オブジェクト307dがチャート表示領域306dの右端から左端に向けて延びて行く。その工程について終了トリガが検知されると、測定値が確定するため、オブジェクト307dの延びは停止する。その後、オブジェクト307dは測定値に対応する一定の長さを維持したまま、オブジェクト307dは時間の経過とともに左へ移動する。なお、チャート表示領域306dの左端に到着するとオブジェクト307dはそれ以上左に移動できないため、時間の経過とともに、オブジェクト307dは縮むように表示される。 FIG. 33 shows the dashboard 300 of the process monitoring application in asynchronous mode. In the asynchronous mode, among the measured values of the duration of each process, the latest measured value is displayed as a bar-shaped object 307d moving from right to left. Past measurements are displayed as dashed bar-shaped objects 307e. That is, when a start trigger is detected for a certain process, the object 307d extends from the right end to the left end of the chart display area 306d. When an end trigger is detected for that process, the extension of object 307d stops because the measurement is fixed. Object 307d then moves to the left over time while maintaining a constant length corresponding to the measured value. Note that when the object 307d reaches the left end of the chart display area 306d, the object 307d cannot move further to the left, so the object 307d is displayed so as to shrink over time.

チャート表示領域306dは、連続した複数の全体サイクルについて測定値を表示してもよい。たとえば、ある工程について、過去の測定値を示すオブジェクト307eの右端から、次の測定値を示すオブジェクト307dの左端までの距離が短ければ短いほど、その工程には時間的な余裕が少なく、全体サイクルにおいてボトルネックになっていることが視覚的にわかる。 The chart display area 306d may display measurements for consecutive full cycles. For example, for a certain process, the shorter the distance from the right end of the object 307e showing the past measured value to the left end of the object 307d showing the next measured value, the less time margin there is for that process and the overall cycle. It can be visually seen that it is a bottleneck in

オブジェクト307a、307b、307d、307eの色は、正常状態、注意状態および警報状態に応じて異なってもよい。たとえば、正常状態は緑色、注意状態は黄色、警報状態は赤色などで視覚的に差別化されてもよい。 The colors of objects 307a, 307b, 307d, 307e may differ according to normal, caution and alarm states. For example, a normal state may be green, a caution state yellow, an alarm state red, and so on.

図34は割合ボタン305により呼び出される割合表示モードを示している。割合表示モードでは、たとえば、警報状態の上限値と注意状態の上限値とのうちいずれか大きい方が、チャート表示領域306dの全体の長さにおける70%となるように、オブジェクト307a、307bを正規化して表示するモードである。あるいは、警報状態の下限値と注意状態の下限値とのうちいずれか小さい方が、チャート表示領域306dの全体の長さにおける30%となるように、オブジェクト307a、307bを正規化して表示するモードであってもよい。あるいは、マスターデータがチャート表示領域306dの全体の長さにおける50%となるように、オブジェクト307a、307bを正規化して表示するモードであってもよい。あるいは、予め定められた最大監視時間を100%として、オブジェクト307a、307bを正規化して表示するモードであってもよい。割合を規定する具体的な数値は例示にすぎない。割合表示モードに関する表示設定(割合を示すパラメータなど)も後述される設定ウィザードにおいてユーザにより選択または指定されてもよい。 FIG. 34 shows the percentage display mode invoked by the percentage button 305. FIG. In the percentage display mode, for example, the objects 307a and 307b are normalized such that the larger of the upper limit of the warning state and the upper limit of the caution state is 70% of the entire length of the chart display area 306d. This mode displays the Alternatively, a mode in which the objects 307a and 307b are normalized and displayed so that the smaller of the lower limit value of the warning state and the lower limit value of the caution state is 30% of the entire length of the chart display area 306d. may be Alternatively, a mode may be used in which the objects 307a and 307b are normalized and displayed so that the master data is 50% of the entire length of the chart display area 306d. Alternatively, a mode may be used in which the objects 307a and 307b are normalized and displayed with a predetermined maximum monitoring time set to 100%. Specific numerical values defining the ratio are merely examples. Display settings for the percentage display mode (such as parameters indicating percentages) may also be selected or specified by the user in the configuration wizard described below.

図34においては、アプリケーションエラーが発生したことを示す通知表示領域309が設けられている。アプリケーションエラーが発生していなければ、通知表示領域309は、正常であることを表示するか、または、何も表示しなくてもよい。アプリケーションエラー検知部287がアプリケーションエラーを検知すると、通知が発行される。通知表示領域309は、この通知に基づき、エラーコードや発生日時などとともにエラーメッセージ(通知内容)を表示する。 In FIG. 34, a notification display area 309 is provided to indicate that an application error has occurred. If no application error has occurred, the notification display area 309 may display normal or nothing. A notification is issued when the application error detector 287 detects an application error. The notification display area 309 displays an error message (notification content) together with an error code, date and time of occurrence, etc. based on this notification.

図34においては、バンク切替ボタン391が設けられている。バンク切替ボタン391はバンク切替部259に対して複数のバンクのうち一つのバンクを指定するためのボタンである。まだ、ユーザによりバンクが作成されていない場合、バンク切替ボタン391が押されると、バンク切替部259は、バンクの新規作成画面を表示部7に表示し、たとえば、バンクの識別情報(例:バンク番号やバンク名)の指定を受け付けてもよい。このようにして、メモリ42aは、複数のバンクが保存される。複数のバンクは設定データ273の一部であってもよい。 In FIG. 34, a bank switching button 391 is provided. A bank switching button 391 is a button for designating one of a plurality of banks to the bank switching unit 259 . If a bank has not yet been created by the user, and the bank switching button 391 is pressed, the bank switching unit 259 displays a new bank creation screen on the display unit 7, and the bank identification information (eg, bank number or bank name) may be accepted. Thus, the memory 42a stores a plurality of banks. Multiple banks may be part of configuration data 273 .

各バンクには、注意状態の閾値設定、警報状態の閾値設定、チャートの表示設定(例:トレンドグラフの作成および表示の設定やヒストグラムの作成および表示の設定)が紐づけられている。そのため、バンクを切り替えることで、これらの設定も一括して切り替えられる。 Each bank is associated with a caution state threshold setting, an alarm state threshold setting, and a chart display setting (eg, trend graph creation and display settings, histogram creation and display settings). Therefore, by switching the bank, these settings can also be switched collectively.

図35は詳細ボタン308を押すことで表示される詳細画面310を示している。表示処理部284は、詳細ボタン308を押されたことを示す情報を、Webサーバ82を通じて受信すると、詳細画面310を表示するための表示データを、Webサーバ82を通じてWebブラウザ60に送信する。なお、詳細画面310を表示するための表示データは、表示データ277の一部であってもよい。 FIG. 35 shows a detail screen 310 displayed by pressing the detail button 308 . Upon receiving information indicating that the details button 308 has been pressed via the web server 82 , the display processing unit 284 transmits display data for displaying the details screen 310 to the web browser 60 via the web server 82 . Note that the display data for displaying the detailed screen 310 may be part of the display data 277 .

状態表示領域311は、詳細ボタン308により選択された工程の状態を示している。日時表示領域312は、状態表示領域311に示された状態が発生した日時を示す。戻るボタン313は、詳細画面310からダッシュボード300に戻ることを指示するボタンである。詳細ボタン308により選択された工程の状態の詳細は表示領域306a~306dに示される。割合ボタン305はチャート表示領域306dに設けられていてもよい。 A status display area 311 indicates the status of the process selected by the detail button 308 . The date and time display area 312 indicates the date and time when the state indicated in the state display area 311 occurred. A return button 313 is a button for instructing to return to the dashboard 300 from the detailed screen 310 . Details of the status of the process selected by detail button 308 are shown in display areas 306a-306d. The ratio button 305 may be provided in the chart display area 306d.

詳細表示領域314は、ボタン316aが押されるとヒストグラムを表示し、ボタン316bが押されるとトレンドグラフを表示する。ヒストグラム表示領域315は、直近データのヒストグラムと、マスターデータのヒストグラムとを対比可能に表示する。ヒストグラム表示領域315は、警報状態と注意状態の閾値(上限値、下限値)を縦線に表示してもよい。統計値表示領域317aは直近データの統計値(データ数、最大値、最小値および平均値)を表示する。統計値表示領域317bはマスターデータの統計値(データ数、最大値、最小値および平均値)を表示する。 The detailed display area 314 displays a histogram when the button 316a is pressed, and displays a trend graph when the button 316b is pressed. The histogram display area 315 displays the histogram of the most recent data and the histogram of the master data so that they can be compared. The histogram display area 315 may display thresholds (upper and lower limits) for alarm and caution states as vertical lines. The statistical value display area 317a displays the statistical values (the number of data, the maximum value, the minimum value and the average value) of the most recent data. The statistical value display area 317b displays the statistical values of the master data (number of data, maximum value, minimum value and average value).

監視項目設定表示領域318は、監視項目として設定された項目名(工程名)、監視方法、開始トリガとなるビットデバイス、および、終了トリガとなるビットデバイスなどを表示する。編集ボタン320aは、監視項目の設定の編集を指示するボタンである。編集ボタン320aが押されると、拡張ユニット4aのCPU41a(表示処理部284および設定部280)がPC2bに対して設定の編集画面を表示してもよい。 The monitoring item setting display area 318 displays item names (process names) set as monitoring items, monitoring methods, bit devices that serve as start triggers, bit devices that serve as end triggers, and the like. The edit button 320a is a button for instructing editing of settings of monitoring items. When the edit button 320a is pressed, the CPU 41a (the display processing section 284 and the setting section 280) of the expansion unit 4a may display a setting editing screen on the PC 2b.

閾値設定表示領域319は、警報状態と注意状態の閾値(上限値、下限値)を表示する。編集ボタン320bは、閾値設定の編集を指示するボタンである。編集ボタン320bが押されると、拡張ユニット4aのCPU41aがPC2bに対して閾値設定の編集画面を表示してもよい。閾値自動設定ボタン321は、拡張ユニット4aのCPU41a(閾値設定部258)に対して閾値を自動で設定するよう指示するボタンである。 The threshold setting display area 319 displays the thresholds (upper limit and lower limit) of the warning state and caution state. The edit button 320b is a button for instructing editing of threshold settings. When the edit button 320b is pressed, the CPU 41a of the expansion unit 4a may display an edit screen for threshold setting on the PC 2b. The threshold automatic setting button 321 is a button for instructing the CPU 41a (threshold setting unit 258) of the expansion unit 4a to automatically set the threshold.

図36は詳細ボタン308を押すことで表示される詳細画面310を示している。ここで、ボタン316bが押されたため、詳細表示領域314は、トレンドグラフ表示領域323にトレンドグラフを表示している。トレンドグラフ表示領域323は、最大値のトレンドを示す折れ線と、平均値のトレンドを示す折れ線と、最小値のトレンドを示す折れ線とを表示してもよい。さらに、警報状態と注意状態の閾値(上限値、下限値)を横線により表示してもよい。 FIG. 36 shows a detail screen 310 displayed by pressing the detail button 308 . Here, since the button 316b is pressed, the detailed display area 314 displays the trend graph in the trend graph display area 323. FIG. The trend graph display area 323 may display a line indicating the trend of the maximum value, a line indicating the trend of the average value, and a line indicating the trend of the minimum value. Furthermore, the thresholds (upper limit and lower limit) of the warning state and caution state may be displayed by horizontal lines.

●設定ウィザード
図37は、これらのリアルタイム監視アプリケーションを設定する際にPC2の表示部7に表示される選択画面330を示している。PC2aとPC2bとでほぼ同一の選択画面330が表示される。PC2aとPC2bのいずれか一方に選択画面330が表示されてもよい。フロー・ダッシュボード作成部251は、ボタン331aの押し下げを検知すると、工程監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部251は、ボタン331bの押し下げを検知すると、タイミング監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部251は、ボタン331cの押し下げを検知すると、波形上下限監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部251は、ボタン331dの押し下げを検知すると、波形ガードバンド監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部251は、ボタン331eの押し下げを検知すると、カメラ監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。ボタン331a~331eはポインタ103によって操作される。
●Setting Wizard FIG. 37 shows a selection screen 330 displayed on the display unit 7 of the PC 2 when setting these real-time monitoring applications. Almost the same selection screen 330 is displayed on the PC 2a and the PC 2b. The selection screen 330 may be displayed on either one of the PC 2a and the PC 2b. When the flow/dashboard creation unit 251 detects that the button 331a has been pressed, the display unit 7 displays a setting wizard for setting the process monitoring application. When the flow/dashboard creation unit 251 detects that the button 331b has been pressed, the display unit 7 displays a setting wizard for setting the timing monitoring application. When the flow/dashboard creation unit 251 detects that the button 331c has been pressed, the display unit 7 displays a setting wizard for setting the waveform upper/lower limit monitoring application. When the flow/dashboard creation unit 251 detects that the button 331d has been pressed, the display unit 7 displays a setting wizard for setting the waveform guard band monitoring application. When the flow/dashboard creation unit 251 detects that the button 331e has been pressed, the display unit 7 displays a setting wizard for setting the camera monitoring application. Buttons 331 a to 331 e are operated by pointer 103 .

図38は工程監視アプリケーションを設定するための設定ウィザード340を示している。アプリケーション名設定部341は、設定対象となるリアルタイム監視アプリケーションの識別情報や名称の指定を受け付ける。アプリケーション名設定部341は、たとえば、アプリケーションID(=0、1、2・・・)ごとにアプリケーション名を受け付けてもよい。さらに、アプリケーション名設定部341は、複数の言語ごとのアプリケーション名の入力を受け付けてもよい。 FIG. 38 shows a configuration wizard 340 for configuring the process monitoring application. The application name setting unit 341 accepts designation of identification information and a name of a real-time monitoring application to be set. The application name setting unit 341 may receive an application name for each application ID (=0, 1, 2, . . . ), for example. Furthermore, the application name setting unit 341 may accept input of application names for each of a plurality of languages.

最大監視時間入力部342は、リアルタイム監視アプリケーションによってデバイス値等が連続的に監視される時間の入力を受け付ける。表示モード選択メニュー343は、チャート表示領域306dにおけるチャートの表示モードの選択を受け付けるメニューである。ここでは、上述された同期モードと非同期モードのいずれかが選択される。監視方法設定部345aは、工程ごとの監視方法の設定を受け付ける。監視方法のうち開始指定とは、ある開始トリガの入力から次の開始トリガの入力までの期間を監視期間とする監視方法を意味する。開始・終了指定とは、開始トリガの入力から終了トリガの入力までの期間を監視期間とする監視方法を意味する。項目名設定部345bは、工程の名称の入力を受け付ける。開始トリガ設定部345cは、開始トリガとなるビットデバイスの指定を受け付ける。終了トリガ設定部345dは、終了トリガとなるビットデバイスの指定を受け付ける。監視方法が「開始指定」の場合は、終了トリガの設定は不要である。監視有効化部345eは、工程の監視を有効化するか無効化するかの指定を受け付ける。注意状態閾値設定部345fは、注意状態の上限値と下限値との指定を受け付ける。警報状態閾値設定部345gは、注意状態の上限値と下限値との指定を受け付ける。図38には示されていないが、マスターデータの設定部および詳細設定部(例:閾値自動設定ボタン、トレンドグラフを作成するために使用されるデータ数の入力部)などが追加されてもよい。 The maximum monitoring time input unit 342 receives input of the time during which device values and the like are continuously monitored by the real-time monitoring application. The display mode selection menu 343 is a menu for receiving selection of a chart display mode in the chart display area 306d. Here, either the synchronous mode or the asynchronous mode described above is selected. The monitoring method setting unit 345a receives setting of a monitoring method for each process. The start specification of the monitoring method means a monitoring method in which the period from the input of a certain start trigger to the input of the next start trigger is set as the monitoring period. The start/end designation means a monitoring method in which the period from the input of the start trigger to the input of the end trigger is set as the monitoring period. The item name setting section 345b receives an input of the process name. The start trigger setting unit 345c accepts designation of a bit device that serves as a start trigger. The termination trigger setting unit 345d accepts designation of a bit device that serves as an termination trigger. If the monitoring method is "specified start", setting the end trigger is unnecessary. The monitoring enabler 345e receives a designation as to whether process monitoring is enabled or disabled. The caution state threshold value setting unit 345f receives designation of the upper limit value and the lower limit value of the caution state. The warning state threshold value setting unit 345g receives designation of the upper limit value and the lower limit value of the caution state. Although not shown in FIG. 38, a master data setting section and a detailed setting section (eg, a threshold automatic setting button, an input section for the number of data used to create a trend graph), etc. may be added. .

設定ウィザード340で受け付けられる設定情報のうち、開始トリガ設定部345cや終了トリガ設定部345d等で受け付けられる設定情報は、基本ユニット3で実行されるユーザプログラムを理解することで適切に選択される。しかし、ユーザプログラムの作成者と、リアルタイム監視アプリケーションの設定者とが異なることがある。この場合、リアルタイム監視アプリケーションの設定者はユーザプログラムを理解していないであろう。そこで、開始トリガとなるビットデバイスや終了トリガとなるビットデバイスがファイル形式で入力可能とされてもよい。全体工程に対する開始トリガと終了トリガ、および、個別の工程に対する開始トリガと終了トリガが、CSVなどの構造化データを含むファイル形式で、入力されてもよい。また、複数のアプリケーションに関するパラメータが、一括して構造化データを含むファイル形式で、入力されてもよい。複数のアプリケーションには、運転記録分析アプリケーションとリアルタイム監視アプリケーションが含まれてもよいし、リアルタイム監視アプリケーションのうち、工程監視アプリケーションとタイミング監視アプリケーションが含まれてもよい。パラメータは、項目名、トリガの種類(開始トリガのみを使用するか、開始トリガと終了トリガとの両方を使用する)、開始トリガのデバイス名とそのトリガ成立条件(デバイスの立上と立下のどちらをトリガ成立と判定するか)、終了トリガのデバイス名とそのトリガ成立条件を含んでもよい。 Of the setting information received by the setting wizard 340, the setting information received by the start trigger setting section 345c, the end trigger setting section 345d, etc. is appropriately selected by understanding the user program executed by the basic unit 3. FIG. However, the creator of the user program may be different from the configurator of the real-time monitoring application. In this case, the configurator of the real-time monitoring application would not understand the user program. Therefore, a bit device that serves as a start trigger and a bit device that serves as an end trigger may be input in a file format. Start and end triggers for the overall process and start and end triggers for individual processes may be entered in a file format containing structured data such as CSV. Also, parameters for multiple applications may be entered collectively in a file format containing structured data. The multiple applications may include a driving record analysis application and a real-time monitoring application, and may include a process monitoring application and a timing monitoring application among the real-time monitoring applications. The parameters are the item name, trigger type (use only the start trigger or use both start and end triggers), device name of the start trigger, and conditions for which one is determined to be triggered), the device name of the end trigger, and the condition for trigger establishment.

表示モードとして同期モードが選択された場合、さらに、同期表示の基準となる項目名またはその項目の番号の指定を受け付ける受付部が表示されてもよい。 When the synchronous mode is selected as the display mode, a reception section may be further displayed for receiving designation of the item name or the number of the item as a reference for synchronous display.

言語設定ボタン346は、複数あるコメントセットのうちのどのセットに割り当てるかを設定するためのボタンである。たとえば、コメントセットの1番には日本語を割り当て、コメントセットの2番には英語を割り当てるといった言語設定が実行される。なお、アプリケーション名も言語設定に関連付けて入力される。たとえば、コメントセットの1番が日本語に設定されると、コメントセットの1番に設定されるアプリケーション名は日本語で記述される。 The language setting button 346 is a button for setting which set of a plurality of comment sets is assigned. For example, language setting is performed such that Japanese is assigned to comment set number 1, and English is assigned to comment set number 2. Note that the application name is also entered in association with the language setting. For example, if the comment set number 1 is set to Japanese, the application name set to the comment set number 1 is written in Japanese.

翻訳ボタン347は、あるコメントセットにおいて、ある言語で記述された単語を、他のコメントセットにおける他の選択された言語の単語へと翻訳することをCPU41aに要求するボタンである。翻訳前の言語と、翻訳後の言語と、翻訳結果の出力先となるコメントセットの番号がユーザにより指定されると、CPU41aは翻訳を実行してコメントセットを作成する。CPU41aは、翻訳に使用する辞書データの指定をユーザから受け付けてもよい。 The translation button 347 is a button for requesting the CPU 41a to translate a word written in a certain language in a certain comment set into a word in another selected language in another comment set. When the user specifies the language before translation, the language after translation, and the number of the comment set to which the translation result is to be output, the CPU 41a executes translation to create a comment set. The CPU 41a may receive from the user a specification of dictionary data to be used for translation.

設定保存ボタン348は、設定ウィザード340を通じ入力された設定データにファイル名を付与して保存することをCPU41aに命令するボタンである。設定読出ボタン349は、予め保存されている設定データを読み出して設定ウィザード340に反映することをCPU41aに命令するボタンである。 The setting save button 348 is a button for commanding the CPU 41a to give a file name to the setting data input through the setting wizard 340 and save the setting data. The setting read button 349 is a button for commanding the CPU 41 a to read setting data stored in advance and reflect it in the setting wizard 340 .

●閾値自動設定
閾値設定部258は、図36に示された閾値自動設定ボタン321が押されたことを検知すると、予め設けられた設定ルール(演算ルール)にしたがって注意状態の閾値と警報状態の閾値を一括して自動設定する。ここで、自動設定とは、設定される必要があるすべての閾値のうち少なくとも一部の閾値をユーザが手動で入力する作業を不要にすることをいう。閾値設定部258は、自動設定の演算に必要となる条件の入力を受け付けてもよい。ここで、条件は、閾値の演算に使用される測定データの指定と、閾値の演算手法(演算ルール)の指定とを含んでもよい。測定データとしては、ヒストグラムを表示するために蓄積されている測定データが指定されてもよいし、新規の測定データが指定されてもよい。後者の場合、閾値設定部258は、不図示の実行ボタンの押し下げを検知すると、データの測定を開始して、新規の測定データを取得して、閾値演算に使用する。
Automatic Threshold Setting When the threshold setting unit 258 detects that the automatic threshold setting button 321 shown in FIG. Automatically set thresholds all at once. Here, automatic setting means eliminating the need for the user to manually input at least some of all the thresholds that need to be set. The threshold value setting unit 258 may receive input of conditions necessary for calculation of automatic setting. Here, the conditions may include designation of measurement data used for threshold calculation and designation of a threshold calculation method (calculation rule). As the measurement data, accumulated measurement data for displaying a histogram may be designated, or new measurement data may be designated. In the latter case, when the threshold setting unit 258 detects that an execution button (not shown) has been pressed, it starts measuring data, acquires new measurement data, and uses it for threshold calculation.

図39は、閾値設定部258がPC2bの表示部7に表示する条件設定画面350を示している。この例では、各閾値ごとに演算手法の選択メニューが設けられている。この例では、測定データの標準偏差σを用いて注意状態の上限値(例:+σ)と下限値(例:-σ)が設定されることが選択されている。標準偏差σを用いる場合、ドリフト等の長期的なオフセットが少ない安定した条件下では、適切な閾値を設定しやすい。一方、長期的なオフセットを考慮して、測定データの最大値と最小値を用いて上限値と下限値とを設定できるようにしてもよい。たとえば、閾値設定部258は、最大値と最小値にそれぞれ1.1または0.9等の係数を乗算して上限値と下限値とを設定してもよい。また、警報状態に関しては、測定データの標準偏差σを用いて注意状態の上限値(例:+3σ)と下限値(例:-3σ)が設定されることが選択されている。警報状態に関しても、注意状態と同様に、最大値と最小値を用いた設定方法が用意されてもよい。マスタ値については、測定データの平均値が採用されている。このように、選択メニューにより複数の演算手法が提案され、ユーザにより選択された一つの演算手法が閾値の自動設定に使用される。なお、ユーザが閾値を指定する場合、チェックボックスからチェックが外される。 FIG. 39 shows a condition setting screen 350 displayed on the display unit 7 of the PC 2b by the threshold setting unit 258. As shown in FIG. In this example, a calculation method selection menu is provided for each threshold value. In this example, it is selected that the upper limit (eg +σ) and the lower limit (eg −σ) of the alert state are set using the standard deviation σ of the measured data. When using the standard deviation σ, it is easy to set an appropriate threshold under stable conditions with little long-term offset such as drift. On the other hand, in consideration of the long-term offset, the maximum and minimum values of the measurement data may be used to set the upper and lower limits. For example, the threshold value setting unit 258 may set the upper limit value and the lower limit value by multiplying the maximum value and the minimum value by coefficients such as 1.1 or 0.9. As for the alarm state, it is selected to set the upper limit (eg +3σ) and the lower limit (eg −3σ) of the caution state using the standard deviation σ of the measured data. A setting method using maximum and minimum values may be prepared for the alarm state as well as for the caution state. As for the master value, the average value of the measured data is adopted. In this way, a plurality of calculation methods are proposed by the selection menu, and one calculation method selected by the user is used for automatically setting the threshold. Note that when the user specifies a threshold value, the checkbox is unchecked.

●監視項目設定
図40は、編集ボタン320aが押されると表示される監視項目の手動設定画面400を示している。この例では、監視を有効にするか無効にするかを指示するトグルスイッチ401が設けられている。手動設定部402は、監視方法、項目名(工程名)、開始トリガおよび終了トリガの指定をユーザから受け付ける。設定部280は、手動設定画面400を通じて入力された情報を設定データ273に保存する。
Monitoring Item Setting FIG. 40 shows a monitoring item manual setting screen 400 displayed when the edit button 320a is pressed. In this example, a toggle switch 401 is provided to instruct whether monitoring is enabled or disabled. The manual setting unit 402 accepts from the user the specification of the monitoring method, item name (process name), start trigger, and end trigger. The setting unit 280 stores information input through the manual setting screen 400 in the setting data 273 .

●閾値手動設定
図41は編集ボタン320bが押されると表示される閾値の手動設定画面410を示している。閾値入力部411は、注意状態および警報状態に関する閾値(上限値と下限値)に加えマスタ値について手動入力を受け付ける。設定部280は、手動設定画面410を通じて入力された情報を設定データ273に保存する。
Threshold Manual Setting FIG. 41 shows a threshold manual setting screen 410 displayed when the edit button 320b is pressed. The threshold input unit 411 accepts manual input of master values in addition to thresholds (upper and lower limits) for caution and alarm states. The setting unit 280 stores information input through the manual setting screen 410 in the setting data 273 .

●システム設定
図42は設定ウィザード340に含まれるシステム設定タブ360を示している。運転記録設定部361は、運転記録を保存するか否かを指定するチェックボックスと、運転記録IDの指定部とを有している。このチェックボックスがチェックされると、運転記録保存部293が有効化される。詳細ボタン365aは、運転記録に関する詳細設定を受け付けるためのボタンである。たとえば、運転記録の保存条件の設定画面が表示されてもよい。この設定画面では、保存条件として、注意状態が発生したときにのみ運転記録を保存するか、警報状態が発生したときにのみ運転記録を保存するか、注意状態または警報状態のいずれかが発生したときに運転記録を保存するか、が選択される。
● System Settings FIG. 42 shows the System Settings tab 360 included in the Settings Wizard 340 . The driving record setting section 361 has a check box for designating whether or not to save the driving record, and a driving record ID designating section. When this check box is checked, the driving record storage unit 293 is activated. The details button 365a is a button for accepting detailed settings regarding driving records. For example, a screen for setting driving record storage conditions may be displayed. In this setting screen, as a saving condition, you can choose to save driving records only when a caution state occurs, save driving records only when an alarm state occurs, or save driving records only when either a caution state or an alarm state occurs. When to save the driving record is selected.

イベント登録設定部362は、注意状態または警報状態を基本ユニット3のCPUイベント/エラー履歴に登録するかどうかの設定を受け付けるチェックボックスを有する。チェックボックスがチェックされると、上述されたイベント登録部292が有効化される。詳細ボタン365bは、イベント/エラー履歴に関する詳細設定を受け付けるためのボタンである。詳細ボタン365bが押されると、イベント/エラー履歴の登録条件の設定画面が表示され、登録条件として、注意状態が発生したときにのみ登録を実行するか、警報状態が発生したときにのみ登録を実行するか、注意状態または警報状態のいずれかが発生したときに登録を実行するか、が選択される。 The event registration setting section 362 has a check box for receiving a setting as to whether or not to register the caution state or alarm state in the CPU event/error history of the basic unit 3 . When the check box is checked, the event registration portion 292 described above is activated. The details button 365b is a button for accepting detailed settings regarding the event/error history. When the details button 365b is pressed, a screen for setting conditions for registering event/error history is displayed. A choice is made to perform or to perform registration when either a caution condition or an alarm condition occurs.

データ設定に関しては、メモリカード設定部363は、メモリカードを運転記録の保存先として使用するかどうかを指定するチェックボックスと、どのユニットに取り付けられた、メモリカードを使用するかを指定するメニューとを有している。 As for data setting, the memory card setting unit 363 includes a check box for specifying whether or not the memory card is used as a storage destination for driving records, a menu for specifying which unit the memory card is attached to, and a menu. have.

履歴データ設定部364は、注意状態または警報状態が発生した後に履歴保存部294により保存されるチャートのデータ量の指定を受け付ける指定部と、履歴の最大保存件数の指定部と、トレンドグラフを表示するためのデータを保持するかどうかを指定するチェックボックスとを有する。 The history data setting unit 364 displays a designation unit for receiving designation of the amount of chart data to be saved by the history storage unit 294 after the occurrence of the caution state or the alarm state, a designation unit for the maximum number of history records to be saved, and a trend graph. and a check box for specifying whether to retain data for

高度な設定部366は、監視項目数(監視される工程の数)の上限数、項目名の文字列の長さの上限値、開始トリガ/終了トリガで指定される変数名の長さの上限値の指定などを受け付ける。システム設定タブ360を通じて入力された情報は設定部280により設定データ273に保存される。 The advanced setting unit 366 sets the upper limit of the number of monitoring items (the number of processes to be monitored), the upper limit of the length of the item name character string, and the upper limit of the length of the variable name specified by the start trigger/end trigger. It accepts specification of values, etc. Information input through the system setting tab 360 is stored in the setting data 273 by the setting unit 280 .

●ダッシュボードの他の例
図43はダッシュボード300の他の例を示している。すでに説明された表示部品には同一の参照符号が付与されており、その説明は省略される。図43に示されたダッシュボード300には注意状態の閾値(上限値、下限値)を表示する閾値表示領域306eと警報状態の閾値(上限値、下限値)を表示する閾値表示領域306fとを含む。これらは数値として上限値と下限値を表示している。図43に示されたダッシュボード300においても閾値自動設定ボタン321が押されると、図39に示された条件設定画面350が表示され、指定された条件で全項目の閾値が自動設定される。その他のボタンや表示に関しては、図34に関連して説明された通りである。
●Another Example of Dashboard FIG. 43 shows another example of the dashboard 300 . The same reference numerals are given to the display parts already explained, and the explanation thereof is omitted. The dashboard 300 shown in FIG. 43 has a threshold display area 306e for displaying threshold values (upper limit and lower limit) for the caution state and a threshold display area 306f for displaying threshold values (upper limit and lower limit) for the alarm state. include. These display the upper limit value and the lower limit value as numerical values. When the threshold automatic setting button 321 is pressed on the dashboard 300 shown in FIG. 43 as well, the condition setting screen 350 shown in FIG. 39 is displayed, and the thresholds for all items are automatically set according to the specified conditions. Other buttons and displays are as described in connection with FIG.

●アプリケーション動作の切り替え画面
図44は、アプリケーションの動作を切り替える画面420を示している。画面420は、切替ボタン302が押されると、停止/再開部286によって、PC2bの表示部7に表示される。スイッチ421は、アプリケーションの動作状態を動作中または停止中に切り替えることを停止/再開部286に指示するスイッチである。スイッチ422は、試運転モードを有効または無効に切り替えることを停止/再開部286に指示するスイッチである。
Application Operation Switching Screen FIG. 44 shows a screen 420 for switching application operations. The screen 420 is displayed on the display unit 7 of the PC 2b by the stop/restart unit 286 when the switch button 302 is pressed. The switch 421 is a switch that instructs the stop/resume unit 286 to switch the operating state of the application between running and stopped. A switch 422 is a switch that instructs the stop/restart unit 286 to switch the test run mode between enabled and disabled.

●チャートにおける測定データとマスターデータとの関係
図45は同期モードにおけるチャートを示している。ハッチングを施された棒状のオブジェクトはマスターデータを示している。空白の棒状のオブジェクトは各工程の継続時間(測定結果)を示している。この例では、時刻t0に全体サイクルの開始トリガがオンになっている。時刻t1にマスターデータにおける搬送工程が開始されている。一方、それに遅れて時刻t2で測定データにおける搬送工程が開始されている。時刻t3は、時刻t2を基準とした警報状態の下限値に相当する。時刻t4は、時刻t2を基準とした注意状態の下限値に相当する。時刻t5は、マスターデータにおける搬送工程が終了した時刻であり、加工工程の開始時刻である。時刻t6は、搬送工程について時刻t2を基準とした注意状態の上限値に相当する。時刻t7は、搬送工程について時刻t2を基準とした注意状態の上限値に相当する。実際には、時刻t1ないし時刻t7などは、時間の長さとして管理されている。たとえば、搬送工程について警報状態の下限値は、時刻t2から時刻t3までの時間長T1として予め記憶されている。搬送工程について注意状態の下限値は、時刻t2から時刻t4までの時間長T2として予め記憶されている。搬送工程について注意状態の上限は、時刻t2から時刻t6までの時間長T3として予め記憶されている。搬送工程について警報状態の上限値は、時刻t2から時刻t7までの時間長T4として予め記憶されている。時刻t2は毎回変わるため、時刻t2が判明すると、時刻t2に対して時間長T1~T4が加算されて、各閾値の表示位置が決定される。
●Relationship between measured data and master data in the chart FIG. 45 shows the chart in the synchronous mode. Hatched bar-shaped objects indicate master data. A blank bar-shaped object indicates the duration (measurement result) of each step. In this example, the start trigger for the entire cycle is on at time t0. At time t1, the transfer process for the master data is started. On the other hand, after that, at time t2, the transfer process for the measurement data is started. Time t3 corresponds to the lower limit of the alarm state with reference to time t2. Time t4 corresponds to the lower limit of the attention state with reference to time t2. Time t5 is the time when the transfer process in the master data ends and the time when the processing process starts. Time t6 corresponds to the upper limit value of the caution state with reference to time t2 for the transport process. Time t7 corresponds to the upper limit value of the caution state with reference to time t2 for the transport process. In practice, times t1 to t7 are managed as lengths of time. For example, the lower limit value of the alarm state for the transport process is stored in advance as the length of time T1 from time t2 to time t3. The lower limit value of the attention state for the transport process is stored in advance as the length of time T2 from time t2 to time t4. The upper limit of the caution state for the transport process is stored in advance as a time length T3 from time t2 to time t6. The upper limit value of the alarm state for the transport process is stored in advance as the length of time T4 from time t2 to time t7. Since the time t2 changes each time, when the time t2 is determined, the time lengths T1 to T4 are added to the time t2 to determine the display position of each threshold value.

各工程の時間的な長さ(測定値)を示す棒状のオブジェクトは状態に応じて着色されてもよい。同様に、各状態の閾値を示す縦線も状態に応じて着色されてもよい。たとえば、正常状態は緑色に着色され、注意状態は黄色に着色され、警報状態は赤色に着色されてもよい。 A bar-shaped object indicating the time length (measured value) of each step may be colored according to the state. Similarly, the vertical lines indicating the threshold for each state may also be colored accordingly. For example, normal conditions may be colored green, caution conditions may be colored yellow, and alarm conditions may be colored red.

表示レンジには、(1)全体サイクルの最大監視時間、または、(2)閾値、マスタ値(マスタデータ)および前回の全体サイクルの測定値(測定データ)のうちでの最大値が設定される。(1)は、閾値もマスタ値も設定されていないケースである。(2)は、閾値およびマスタ値のいずれかが設定される場合である。 The display range is set to (1) the maximum monitoring time of the entire cycle, or (2) the maximum value among the threshold value, the master value (master data), and the measurement value (measurement data) of the previous entire cycle. . (1) is a case in which neither the threshold nor the master value is set. (2) is the case where either the threshold value or the master value is set.

[タイミング監視アプリケーションの詳細]
タイミング監視アプリケーションは、上述の工程監視アプリケーションの機能縮小版である。たとえば、工程監視アプリケーションには同期モード、非同期モード、割合表示モードが存在するが、タイミング監視アプリケーションは割合表示モードのみが存在する。また、工程監視アプリケーションでは、履歴保存イベントが発生すると、すべての工程のチャートが履歴として保存されるが、タイミング監視アプリケーションでは、履歴保存イベントの原因となった工程のチャートのみが保存される。タイミング監視アプリケーションは、主にアクチュエータ(例:エアシリンダ)の動作を監視することに使用される。つまり、工程監視アプリケーションの用途とタイミング監視アプリケーションの用途の違いをユーザにわかりやすくするために、タイミング監視アプリケーションは、工程監視アプリケーションから独立して用意されている。そのため、タイミング監視アプリケーションで実行可能か監視手法は、工程監視アプリケーションでも実行可能である。タイミング監視アプリケーションでは機能が削減されているため、設定ウィザードも簡素化される。これは、ユーザビリティを向上させるであろう。
[Timing monitoring application details]
The timing monitor application is a scaled-down version of the process monitor application described above. For example, a process monitoring application has a synchronous mode, an asynchronous mode, and a percentage display mode, but a timing monitoring application has only a percentage display mode. Also, in the process monitoring application, when a history saving event occurs, the charts of all processes are saved as history, but in the timing monitoring application, only the chart of the process that caused the history saving event is saved. Timing monitoring applications are primarily used to monitor the operation of actuators (eg, air cylinders). In other words, the timing monitoring application is prepared independently of the process monitoring application so that the user can easily understand the difference between the usage of the process monitoring application and the usage of the timing monitoring application. Therefore, the monitoring method that can be executed by the timing monitoring application can also be executed by the process monitoring application. The reduced functionality in the timing monitoring application also simplifies the configuration wizard. This would improve usability.

図46はタイミング監視アプリケーションの設定ウィザード340を示している。タイミング監視アプリケーションの設定ウィザード340も工程監視アプリケーションの設定ウィザード340とほぼ共通している。表示モードは割合表示モードに固定されるため、表示モードの選択メニューが省略されている。その一方で、工程ごとに最大監視時間の設定を受け付ける設定部345hが設けられている。タイミング監視アプリケーションにおける最大監視時間とは、終了トリガのタイムアウト時間である。工程監視アプリケーションでは全体サイクルに対して一つの最大監視時間が設定されているが、タイミング監視アプリケーションでは工程ごとに最大監視時間が設定される。 FIG. 46 shows the setting wizard 340 of the timing monitor application. The setting wizard 340 for the timing monitoring application is also substantially the same as the setting wizard 340 for the process monitoring application. Since the display mode is fixed to the ratio display mode, the display mode selection menu is omitted. On the other hand, a setting section 345h is provided for receiving the setting of the maximum monitoring time for each process. The maximum monitoring time in the timing monitoring application is the timeout period of the termination trigger. In the process monitoring application, one maximum monitoring time is set for the entire cycle, but in the timing monitoring application, the maximum monitoring time is set for each process.

[波形上下限監視アプリケーション]
●上下限監視
図47は波形上下限監視アプリケーションにおける監視手法(上下限監視)を説明する図である。横軸は時間を示す。縦軸は測定値の大きさを示す。上下限監視とは、ある測定時間内に測定された時系列の測定値がいずれも上限値以下でかつ下限値以上であるかどうかを監視する手法である。ここで、上限値と下限値とは、警報状態に設定された二つの閾値であってもよいし、注意状態に設定された二つの閾値であってもよい。図47において正常範囲とは上限値以下でかつ下限値以上である範囲である。測定値が警報状態の上限値を超えると、CPU41aは、上限NGが発生したと判定し、警報通知を発行する。NGは不良(非正常)を意味する。測定値が警報状態の下限値を下回ると、CPU41aは、下限NGが発生したと判定し、警報通知を発行する。なお、注意状態に関しても同様の判定処理と通知処理とが実行される。
[Waveform Upper/Lower Limit Monitoring Application]
Upper/Lower Limit Monitoring FIG. 47 is a diagram for explaining a monitoring method (upper/lower limit monitoring) in the waveform upper/lower limit monitoring application. The horizontal axis indicates time. The vertical axis indicates the magnitude of the measured value. Upper/lower limit monitoring is a method of monitoring whether all of the time-series measured values measured within a certain measurement time are equal to or less than the upper limit and equal to or greater than the lower limit. Here, the upper limit value and the lower limit value may be two thresholds set for the warning state, or may be two thresholds set for the caution state. In FIG. 47, the normal range is the range below the upper limit and above the lower limit. When the measured value exceeds the upper limit value of the alarm state, the CPU 41a determines that the upper limit NG has occurred and issues an alarm notification. NG means bad (abnormal). When the measured value falls below the lower limit of the alarm state, the CPU 41a determines that the lower limit NG has occurred and issues an alarm notification. Note that similar determination processing and notification processing are executed for the caution state as well.

●ピーク(ボトム)上下限監視
図48は波形上下限監視アプリケーションにおける監視手法(ピーク(ボトム)上下限監視)を説明する図である。横軸は時間を示す。縦軸は測定値を示す。ピーク(ボトム)上下限監視とは、ある測定時間内に測定された時系列の測定値のうちピーク値(またはボトム値)が上限値以下でかつ下限値以上であるかどうかを監視する手法である。ここで、上限値と下限値とは、警報状態に設定された二つの閾値であってもよいし、注意状態に設定された二つの閾値であってもよい。図48において正常範囲とは上限値以下でかつ下限値以上である範囲である。ピーク値(またはボトム値)が正常範囲内に入っていない場合、CPU41a(分析部254、アプリケーション通知部291)は、ピーク値(またはボトム値)のNGが発生したと判定し、警報通知を発行する。なお、注意状態に関しても同様の判定処理と通知処理とが実行される。測定時間は、ユーザによってあらかじめ指定される。測定時間は、たとえば、開始トリガの立ち上がり(立下り)から計時される。図48では、測定時間において測定されたピーク値が正常範囲に届いていないため、分析部254は、ピーク値のNGが発生したと判定し、アプリケーション通知部291が通知を発行する。図48のケースでは、分析部254がNGを判定するタイミングは測定時間の終了時である。
Monitoring of Peak (Bottom) Upper and Lower Limits FIG. 48 is a diagram for explaining a monitoring method (monitoring of peak (bottom) upper and lower limits) in a waveform upper and lower limit monitoring application. The horizontal axis indicates time. The vertical axis indicates measured values. Peak (bottom) upper/lower limit monitoring is a method of monitoring whether the peak value (or bottom value) of the time-series measured values measured within a certain measurement time is below the upper limit and above the lower limit. be. Here, the upper limit value and the lower limit value may be two thresholds set for the warning state, or may be two thresholds set for the caution state. In FIG. 48, the normal range is the range below the upper limit and above the lower limit. If the peak value (or bottom value) is not within the normal range, the CPU 41a (analysis unit 254, application notification unit 291) determines that the peak value (or bottom value) is NG, and issues an alarm notification. do. Note that similar determination processing and notification processing are executed for the caution state as well. The measurement time is specified in advance by the user. The measurement time is, for example, timed from the rising edge (falling edge) of the start trigger. In FIG. 48, since the peak value measured at the measurement time does not reach the normal range, the analysis unit 254 determines that an NG peak value has occurred, and the application notification unit 291 issues a notification. In the case of FIG. 48, the timing at which the analysis unit 254 determines NG is the end of the measurement time.

図49はピーク(ボトム)上下限監視に関する他の例を示している。図49では、測定値が測定時間の途中で正常範囲を逸脱している。この場合、CPU41a(分析部254、アプリケーション通知部291)は、測定値が上限値を超えたタイミングで、ピーク値が上限値を超えたことを示す通知を発行する。このように、ピーク値の上下限監視を実行している場合、測定値が上限値を超えたタイミングで、NGを知らせる通知が発行される。 FIG. 49 shows another example of peak (bottom) upper and lower limit monitoring. In FIG. 49, the measured value deviates from the normal range during the measurement time. In this case, the CPU 41a (analysis unit 254, application notification unit 291) issues a notification that the peak value exceeds the upper limit at the timing when the measured value exceeds the upper limit. In this way, when the upper and lower limits of the peak value are being monitored, a NG notification is issued at the timing when the measured value exceeds the upper limit.

なお、ボトム値の上下限監視を行っているときに、測定時間においてボトム値が上限値以下でかつ下限値以上に収まらなかった場合、CPU41aは、NGを通知する。この場合の判定タイミングは測定時間の終了タイミングである。一方、測定時間の途中で測定値が下限値を下回った場合、CPU41aは即座にNG通知を発行する。 Note that when the bottom value is monitored for the upper and lower limits of the bottom value, if the bottom value does not fall within the upper limit value and the lower limit value during the measurement time, the CPU 41a notifies NG. The determination timing in this case is the end timing of the measurement time. On the other hand, when the measured value falls below the lower limit during the measurement time, the CPU 41a immediately issues an NG notification.

●タイミング上下限監視
図50はタイミング上下限監視を説明する図である。タイミング上下限監視とは、測定値の変化タイミングを監視することをいう。変化タイミングとは、たとえば、測定値が閾値(トリガレベル)を超えるタイミングなどである。
Timing Upper/Lower Limit Monitoring FIG. 50 is a diagram for explaining timing upper/lower limit monitoring. Timing upper and lower limit monitoring refers to monitoring the change timing of the measured value. The change timing is, for example, the timing at which the measured value exceeds a threshold (trigger level).

CPU41a(分析部254)は、測定値が閾値(トリガレベル)を超えるタイミングが正常範囲内かどうか、を判定する。つまり、測定値がトリガレベルを超えたタイミングが下限値以上であり、かつ、上限値以下であれば、CPU41aは正常と判定する。図50では、測定値がトリガレベルを超えたタイミングが上限値を超えているため、CPU41a(アプリケーション通知部291)は、NGを知らせる通知を発行する。この場合の判定タイミングは、上限値に相当するタイミングである。 The CPU 41a (analysis unit 254) determines whether the timing at which the measured value exceeds the threshold (trigger level) is within the normal range. That is, if the timing at which the measured value exceeds the trigger level is equal to or greater than the lower limit value and equal to or less than the upper limit value, the CPU 41a determines normal. In FIG. 50, the timing at which the measured value exceeds the trigger level exceeds the upper limit value, so the CPU 41a (application notification unit 291) issues a notification of NG. The determination timing in this case is the timing corresponding to the upper limit value.

図51は、正常範囲内において測定値がトリガレベルを超えなかったケースを示している。CPU41a(分析部254、アプリケーション通知部291)は、正常範囲内で測定値はトリガレベルに到達しなかったため、NGを知らせる通知を発行する。この場合の判定タイミングは、上限値に相当するタイミングである。 FIG. 51 shows the case where the measured value did not exceed the trigger level within the normal range. Since the measured value did not reach the trigger level within the normal range, the CPU 41a (analysis unit 254, application notification unit 291) issues an NG notification. The determination timing in this case is the timing corresponding to the upper limit value.

図52は、波形上下限監視アプリケーションにおける詳細表示領域314のUIを示している。波形上下限監視アプリケーションでは、図36で示されたUIの詳細表示領域314に波形表示を指示するためのボタン316cが設けられている。ボタン316a~316cはタブとして実装されてもよい。 FIG. 52 shows the UI of the detailed display area 314 in the waveform upper/lower limit monitoring application. In the waveform upper/lower limit monitoring application, a button 316c for instructing waveform display is provided in the detailed display area 314 of the UI shown in FIG. Buttons 316a-316c may be implemented as tabs.

ボタン316cが押されると、CPU41a(表示処理部284)は、測定値の時系列データである波形を波形表示領域505に表示する。この例では、波形表示領域505の横軸(表示レンジ)の長さは1つの測定時間に相当する。CPU41aによって過去の測定値における最大値と最小値とに基づき波形表示領域505の縦軸(表示レンジ)を決定する。つまり、過去の測定値における最大値と最小値とが表示レンジをはみ出さないように、縦軸の目盛りが設定される。CPU41aは、波形表示領域505に警報状態と注意状態の閾値を表示してもよい。CPU41aは、波形表示領域505にカーソル506を表示してもよい。カーソル506はユーザ操作に応じて横軸方向に移動可能であり、ツールチップ507に表示される測定値の収集時刻(収集タイミング)を指定する。ツールチップ507は、開始トリガを基準とした同一の経過時間における現在の測定値と過去の測定値を表示する。表示コントロール503は、波形表示領域505の表示の更新を停止したり、再開したりすることをCPU41aに指示するコントロールオブジェクトを含んでもよい。表示コントロール503は、波形表示領域505の横軸(時間軸)を拡大または縮小することをCPU41aに指示するコントロールオブジェクトを含んでもよい。CPU41aは、拡大された表示範囲の移動操作を受け付け、移動操作に応じて波形の表示範囲を移動してもよい。 When the button 316c is pressed, the CPU 41a (display processing unit 284) displays a waveform, which is time-series data of measured values, in the waveform display area 505. FIG. In this example, the length of the horizontal axis (display range) of the waveform display area 505 corresponds to one measurement time. The vertical axis (display range) of the waveform display area 505 is determined by the CPU 41a based on the maximum and minimum values of past measurements. In other words, the scale of the vertical axis is set so that the maximum and minimum values of the past measured values do not protrude from the display range. The CPU 41 a may display thresholds for the alarm state and caution state in the waveform display area 505 . The CPU 41 a may display a cursor 506 in the waveform display area 505 . A cursor 506 can be moved in the direction of the horizontal axis according to a user operation, and designates the collection time (collection timing) of the measured value displayed on the tool tip 507 . A tooltip 507 displays current and past measurements at the same elapsed time relative to the start trigger. The display control 503 may include a control object that instructs the CPU 41a to stop or restart updating the display of the waveform display area 505. FIG. The display control 503 may include a control object that instructs the CPU 41 a to enlarge or reduce the horizontal axis (time axis) of the waveform display area 505 . The CPU 41a may accept an operation to move the enlarged display range, and move the waveform display range in accordance with the movement operation.

図52では同期モードにより複数の波形が表示されているが、非同期モードで波形が表示されてもよい。たとえば、波形の切り出し手法が未設定の場合、CPU41aは、波形表示領域505の右端に最新の測定値を表示する。最新の測定値が更新されると、CPU41aは、波形表示領域505の右端に最新の測定値を表示し、過去の測定値をその左側に表示する。これにより、波形表示領域505の右端から左端に向かって波形が移動するように、波形が表示される。この場合も波形表示領域505の横軸の表示レンジは最大監視時間に応じて設定されてもよい。CPU41a(表示処理部284、設定部280)はこれまでに取得された複数の測定値における最大値と最小値とに応じて縦軸の表示レンジを調整してもよい。 Although multiple waveforms are displayed in synchronous mode in FIG. 52, waveforms may be displayed in asynchronous mode. For example, when the waveform extraction method is not set, the CPU 41 a displays the latest measured value at the right end of the waveform display area 505 . When the latest measured value is updated, the CPU 41a displays the latest measured value on the right end of the waveform display area 505 and displays past measured values on the left side thereof. As a result, the waveform is displayed so that the waveform moves from the right end to the left end of the waveform display area 505 . Also in this case, the display range of the horizontal axis of the waveform display area 505 may be set according to the maximum monitoring time. The CPU 41a (display processing unit 284, setting unit 280) may adjust the display range of the vertical axis according to the maximum and minimum values of the plurality of measured values obtained so far.

CPU41a(表示処理部284)は、波形表示領域505に各状態の閾値を表示してもよい。この場合に、CPU41aは、現在の測定値、過去の測定値、および各状態の閾値の表示色をそれぞれ異なる色に設定してもよい。 The CPU 41 a (display processing unit 284 ) may display the threshold of each state in the waveform display area 505 . In this case, the CPU 41a may set different display colors for the current measured value, the past measured value, and the threshold value for each state.

●監視手法
図53は、波形上下限監視アプリケーションにおける監視手法(波形切り出し手法)と判定手法との関係を示している。「開始トリガのみ」とは、ある開始トリガから次の開始トリガまでの時間を測定時間(監視時間)とする監視手法である。「開始トリガ/終了トリガ」とは、開始トリガから終了トリガまでの時間を測定時間(監視時間)とする監視手法である。「開始トリガ/監視時間」とは、開始トリガを起点とした所定時間を監視時間とする監視手法である。「常時監視」とは、常に監視する手法である。「サンプルトリガ」とは、あるサンプルトリガが入った瞬間のみ値を監視する手法である。
●Monitoring Method FIG. 53 shows the relationship between the monitoring method (waveform extraction method) and the judgment method in the waveform upper/lower limit monitoring application. "Only the start trigger" is a monitoring method in which the measurement time (monitoring time) is the time from one start trigger to the next start trigger. The "start trigger/end trigger" is a monitoring method in which the time from the start trigger to the end trigger is the measurement time (monitoring time). “Start trigger/monitoring time” is a monitoring method in which a predetermined period of time starting from a start trigger is set as a monitoring time. “Continuous monitoring” is a method of constantly monitoring. "Sample trigger" is a method of monitoring a value only at the moment when a certain sample trigger is entered.

図53が示すように監視手法と状態判定手法との組み合わせにより、5つの波形表示パターンが存在する。第1パターンでは波形は移動せず、波形表示領域505の左端は開始トリガの発生時刻に相当する。波形表示領域505の右端の位置は、過去に取得された波形に適用された波形切り出し範囲(監視時間)のうちで最大の範囲に相当する位置である。各トリガの発生タイミングが非周期的である場合に、波形切り出し範囲(監視時間)にばらつきが生じる。そのため、波形表示領域505の右端の位置は、このばらつきに応じて設定されてもよい。波形表示領域505には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が横棒として表示されてもよい。 As shown in FIG. 53, there are five waveform display patterns by combining the monitoring method and the state determination method. In the first pattern, the waveform does not move, and the left end of the waveform display area 505 corresponds to the generation time of the start trigger. The position of the right end of the waveform display area 505 is the position corresponding to the maximum range among the waveform extraction ranges (monitoring times) applied to waveforms acquired in the past. When the generation timing of each trigger is aperiodic, variations occur in the waveform extraction range (monitoring time). Therefore, the position of the right end of the waveform display area 505 may be set according to this variation. One or more past waveforms may be displayed in the waveform display area 505 in addition to the latest waveform. Also, a threshold value corresponding to each state may be displayed as a horizontal bar.

第2パターンは、波形表示領域505において波形が右端から左端に向かって移動するように表示され続ける手法である。波形表示領域505の横軸の表示レンジは、予めユーザにより設定された最大測定時間である。各状態に対応した閾値が横棒として表示される。 The second pattern is a technique in which the waveform is continuously displayed in the waveform display area 505 so as to move from the right end to the left end. The display range on the horizontal axis of the waveform display area 505 is the maximum measurement time preset by the user. A threshold corresponding to each state is displayed as a horizontal bar.

第3パターンは、波形表示領域505において波形が右端から左端に向かって移動するように表示され続ける手法である。波形表示領域505の横軸の表示レンジは、予めユーザにより設定された最大測定時間である。各状態に対応した閾値が横棒として表示される。 A third pattern is a technique in which the waveform is continuously displayed in the waveform display area 505 so as to move from the right end to the left end. The display range on the horizontal axis of the waveform display area 505 is the maximum measurement time preset by the user. A threshold corresponding to each state is displayed as a horizontal bar.

第4パターンは、波形は移動せず、波形表示領域505の左端は開始トリガの発生時刻に相当する。波形表示領域505の右端の位置は、波形切り出し範囲(監視時間)の終端の位置である。波形表示領域505には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が横棒として表示される。 In the fourth pattern, the waveform does not move, and the left end of the waveform display area 505 corresponds to the generation time of the start trigger. The right end position of the waveform display area 505 is the end position of the waveform extraction range (monitoring time). One or more past waveforms may be displayed in the waveform display area 505 in addition to the latest waveform. Also, the threshold corresponding to each state is displayed as a horizontal bar.

第5パターンは、波形は移動せず、波形表示領域505の左端は開始トリガの発生時刻に相当する。波形表示領域505の右端の位置は、波形切り出し範囲(監視時間)の終端の位置である。波形表示領域505には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が縦棒として表示される。さらに、変化タイミングに判定に使用されるトリガレベルを示す横棒も表示される。 In the fifth pattern, the waveform does not move, and the left end of the waveform display area 505 corresponds to the generation time of the start trigger. The right end position of the waveform display area 505 is the end position of the waveform extraction range (monitoring time). One or more past waveforms may be displayed in the waveform display area 505 in addition to the latest waveform. Also, the threshold corresponding to each state is displayed as a vertical bar. Furthermore, a horizontal bar indicating the trigger level used for determination is also displayed at the change timing.

図54は、波形上下限監視アプリケーション用の設定ウィザード340を示している。すでに説明された部分については同一の参照符号が付与されている。 FIG. 54 shows the setup wizard 340 for the waveform bounds monitoring application. Parts already described are provided with the same reference numerals.

判定手法設定部510aは、上述された波形判定手法のいずれかの設定を受け付ける。監視対象設定部510cは、監視対象となるユニット、デバイス(または変数)、データ型などの設定を受け付ける。収集周期設定部510dは、監視対象についての収集周期(例:定周期またはスキャンタイム)の設定を受け付ける。定周期が選択された場合、具体的な周期長(例:50ミリ秒)などの設定も受け付けられる。監視手法設定部510eは、上述された監視手法(例:開始トリガのみ、開始トリガ/終了トリガなど)のいずれかが選択される。指定条件設定部510fは、トリガとなるデバイスや、トリガ信号のタイミング(立下り、立ち上がり)、監視時間などの設定を受け付ける。変化タイミング設定部510gは、判定手法が変化タイミング(タイミング上下限監視)である場合に、トリガレベルや、トリガレベルに対する条件を受け付ける。トリガレベルに対する条件とは、たとえば、測定値がトリガレベルを超える(または下回る)までに要する時間(測定時間)を、各状態の上限値または下限値と比較することなどを意味する。トリガレベルに対する条件としては、たとえば、「超える」または「下回る」が選択されてもよい。 The determination method setting unit 510a accepts the setting of any one of the waveform determination methods described above. The monitoring target setting unit 510c receives settings such as a unit to be monitored, a device (or variable), and a data type. The collection cycle setting unit 510d receives the setting of the collection cycle (eg, fixed cycle or scan time) for the monitoring target. When fixed cycle is selected, setting such as specific cycle length (eg, 50 milliseconds) is accepted. The monitoring method setting unit 510e selects one of the above-described monitoring methods (eg, start trigger only, start trigger/end trigger, etc.). The specified condition setting unit 510f accepts settings such as the trigger device, trigger signal timing (falling edge, rising edge), monitoring time, and the like. The change timing setting unit 510g receives the trigger level and conditions for the trigger level when the determination method is change timing (timing upper/lower limit monitoring). Conditions for the trigger level mean, for example, comparing the time required for the measured value to exceed (or fall below) the trigger level (measurement time) with the upper limit or lower limit of each state. For example, "above" or "below" may be selected as a condition for the trigger level.

図54では省略されているが、項目ごとに、監視を有効化するか無効化するかの指定を受け付ける監視有効化部345eが設けられてもよい。また、詳細設定ボタンなどが設けられてもよい。詳細設定ボタンが押されると、たとえば、ダッシュボードに表示される数値の小数点以下の桁数の設定が受け付けられてもよい。 Although omitted in FIG. 54, a monitoring enabler 345e may be provided for receiving designation of whether to enable or disable monitoring for each item. Also, a detail setting button or the like may be provided. When the detail setting button is pressed, for example, the setting of the number of digits after the decimal point of the numerical value displayed on the dashboard may be accepted.

[波形ガードバンド監視アプリケーション]
波形ガードバンド監視とは、測定値からなる波形が上限値波形と下限値波形とにより定義される正常範囲(ガードバンド)内に収まっているかどうかを監視することをいう。上限値波形と下限値波形とはガードバンド波形(閾値波形)と呼ばれてもよい。なお、波形ガードバンド監視アプリケーションと、波形上下限監視アプリケーションとはほぼ共通したアプリケーションはである。ただし、これらは、判定手法における閾値が異なる。波形上下限監視アプリケーションでは、閾値は一定値として指定される。一方、波形ガードバンド監視アプリケーションでは、閾値は波形として指定される。さらに、波形ガードバンド監視アプリケーションでは監視手法として開始トリガ/測定時間だけが使用される。これは、測定波形を閾値波形と比較するためには、測定波形の時間的な長さと閾値波形の時間的長さとが一致していなければならないからである。波形上下限監視アプリケーションでは、図53に示された5種類のパターンのうちのいずれかのパターンが使用される。
[Waveform guard band monitoring application]
Waveform guard band monitoring refers to monitoring whether a waveform composed of measured values falls within a normal range (guard band) defined by an upper limit waveform and a lower limit waveform. The upper limit waveform and lower limit waveform may be called a guard band waveform (threshold waveform). Note that the waveform guard band monitoring application and the waveform upper/lower limit monitoring application are almost common applications. However, these differ in the threshold value in the determination method. In waveform bound monitoring applications, the threshold is specified as a constant value. On the other hand, in waveform guardband monitoring applications, the threshold is specified as a waveform. Additionally, waveform guardband monitoring applications use only the start trigger/measurement time as a monitoring technique. This is because the temporal length of the measured waveform and the temporal length of the threshold waveform must match in order to compare the measured waveform with the threshold waveform. In the waveform upper/lower limit monitoring application, one of the five types of patterns shown in FIG. 53 is used.

図55は、波形ガードバンド監視アプリケーションの波形表示領域505に表示される波形を示している。CPU41aは、開始トリガを基準として閾値波形と測定波形とを同期させ、時間の経過とともに取得される測定値と閾値波形とを比較する。この例では、正常範囲は、上限値波形と下限値波形との間にある帯状の範囲(ガードバンド)である。図55では、あるタイミングで測定値が上限値波形を超えているため、CPU41a(分析部254、アプリケーション通知部291)は、上限NGが発生したと判定して、通知を発行する。図55では、さらに別のタイミングで測定値が下限値波形を下回っているため、CPU41aは、下限NGが発生したと判定して、通知を発行する。 FIG. 55 shows the waveform displayed in the waveform display area 505 of the waveform guardband monitoring application. The CPU 41a synchronizes the threshold waveform and the measured waveform with the start trigger as a reference, and compares the measured value and the threshold waveform acquired over time. In this example, the normal range is a belt-like range (guard band) between the upper limit waveform and the lower limit waveform. In FIG. 55, the measured value exceeds the upper limit waveform at a certain timing, so the CPU 41a (the analysis unit 254 and the application notification unit 291) determines that the upper limit NG has occurred and issues a notification. In FIG. 55, since the measured value is below the lower limit waveform at yet another timing, the CPU 41a determines that the lower limit NG has occurred and issues a notification.

●閾値波形の設定方法
図56は閾値波形の設定方法(演算ルール)を示している。縦軸は値を示し、横軸は時間を示す。CPU41a(閾値設定部258)は、過去の測定データと、ユーザにより予め指定された値許容幅mvとに基づき上限値波形と下限値波形とを決定する。過去の測定データは、一回分の測定データであってもよいし、複数回の測定データの平均値データであってもよい。この例では、過去の測定値M(t)に対して値許容幅mvが加算されることで、上限値波形Uth(t)が演算されている。同様に、過去の測定値M(t)に対して値許容幅mvが減算されることで、下限値波形Lth(t)が演算されている。
●Method of Setting Threshold Waveform FIG. 56 shows a method of setting a threshold waveform (computation rule). The vertical axis indicates values and the horizontal axis indicates time. The CPU 41a (threshold value setting unit 258) determines the upper limit waveform and the lower limit waveform based on the past measurement data and the allowable value width mv specified in advance by the user. The past measurement data may be one-time measurement data, or may be average value data of a plurality of measurement data. In this example, the upper limit value waveform Uth(t) is calculated by adding the allowable value width mv to the past measured value M(t). Similarly, the lower limit value waveform Lth(t) is calculated by subtracting the allowable value width mv from the past measured value M(t).

図57は閾値波形の他の設定方法(演算ルール)を示している。この例では、値許容幅mvを用いて求められた上限値波形Uth(t)と下限値波形Lth(t)とが、時間許容幅mtを用いて変形される。たとえば、時間許容幅mtが2である場合、新たな上限値波形Uth'(t)は、以下のように求められる。まず、Uth(t-2)、Uth(t-1)、Uth(t)、Uth(t+1)、Uth(t+2)のうちでの最大値Uth_max(t)が求められる。t=3の場合、Uth_max(3)は7である。よって、Uth'(3)は7に決定される。 FIG. 57 shows another threshold waveform setting method (computation rule). In this example, the upper limit value waveform Uth(t) and the lower limit value waveform Lth(t) obtained using the value allowable width mv are transformed using the time allowable width mt. For example, when the allowable time width mt is 2, the new upper limit waveform Uth'(t) is obtained as follows. First, the maximum value Uth_max(t) among Uth(t-2), Uth(t-1), Uth(t), Uth(t+1), and Uth(t+2) is obtained. Uth_max(3) is 7 when t=3. Therefore, Uth'(3) is determined to be 7.

新たな下限値波形Lth'(t)は、以下のように求められる。時間許容幅mtが2である場合、Lth(t-2)、Lth(t-1)、Lth(t)、Lth(t+1)、Lth(t+2)のうちでの最小値Lth_min(t)が求められる。t=3の場合、Lth_min(3)は-1である。よって、Lth'(3)は-1に決定される。 A new lower limit waveform Lth'(t) is obtained as follows. When the allowable time width mt is 2, the minimum value Lth_min(t) among Lth(t−2), Lth(t−1), Lth(t), Lth(t+1), and Lth(t+2) is obtained. be done. When t=3, Lth_min(3) is -1. Therefore, Lth'(3) is determined to be -1.

このように、ある時刻tにおける上限値Uth'(t)は、時刻t-mtと時刻t+mtとの間で取得されたmt+1個の測定値(値許容幅mvが使用される場合、Uth)のうちの最大値に決定される。同様に、ある時刻tにおける下限値Lth'(t)は、時刻t-mtと時刻t+mtとの間で取得されたmt+1個の測定値(値許容幅mvが使用される場合、Lth)のうちの最小値に決定される。 Thus, the upper bound Uth'(t) at some time t is the number of mt+1 measurements (Uth, if a value tolerance mv is used) taken between times t−mt and t+mt. is determined to be the maximum value. Similarly, the lower bound Lth′(t) at a given time t is defined as is determined to be the minimum value of

図58は閾値波形のさらに他の設定方法を示している。CPU41a(閾値設定部258)は、PC2bの操作部8の操作に連動するポインタ103の軌跡に基づいて描画される自由曲線などを、上限値Uth(t)と下限値Lth(t)とに決定してもよい。たとえば、CPU41aは、ポインタ103の軌跡(自由曲線)の座標データをCSV形式のファイルとして保存してもよい。CPU41aは、アプリケーションIDと監視項目の番号とを組み合わせてファイルパスを作成し、そのファイルパスのCSV形式のファイルを保存する。これにより、監視アプリケーションと監視項目との組み合わせごとに上限値と下限値とを含むCSV形式のファイルが保存される。 FIG. 58 shows still another method of setting the threshold waveform. The CPU 41a (threshold value setting unit 258) determines the upper limit value Uth(t) and the lower limit value Lth(t) for the free curve drawn based on the trajectory of the pointer 103 interlocked with the operation of the operation unit 8 of the PC 2b. You may For example, the CPU 41a may save the coordinate data of the trajectory (free curve) of the pointer 103 as a file in CSV format. The CPU 41a creates a file path by combining the application ID and the monitoring item number, and saves the CSV format file of the file path. As a result, a file in CSV format that includes the upper limit value and the lower limit value for each combination of monitoring application and monitoring item is saved.

図59は、波形ガードバンド監視アプリケーションにおける詳細表示領域314のUIを示している。図52と比較して図59で異なる点は、各状態の閾値が波形として設定されている点である。波形ガードバンド監視アプリケーションにおけるその他の表示手法は、波形上下限監視アプリケーションの表示手法と同様である。たとえば、現在の波形に加えて、過去に測定された三つの波形も併せて表示されてもよい。 FIG. 59 shows the UI of the detailed display area 314 in the waveform guardband monitoring application. FIG. 59 differs from FIG. 52 in that the threshold for each state is set as a waveform. Other display methods in the waveform guard band monitoring application are the same as those of the waveform upper/lower limit monitoring application. For example, in addition to the current waveform, three previously measured waveforms may also be displayed.

上述されたように、波形ガードバンド監視アプリケーションの監視手法は開始トリガと測定時間とにより定義される。しかし、まれに監視手法がユーザによって未設定の場合がある。この場合、CPU41a(表示処理部284)は、波形表示領域505の右端に測定波形における最新の測定値が表示されるように、時間の経過とともに、表示を更新して行く。つまり、非同期モードと同様に、波形表示領域505の右端から左端に向かって波形が移動して行く。CPU41aは、開始トリガを基準として各状態の閾値波形を測定波形とともに表示してもよい。なお、波形表示領域505の横軸の表示レンジは、予めユーザによって定められた最大監視時間に設定される。 As described above, the monitoring strategy for waveform guardband monitoring applications is defined by a start trigger and a measurement time. However, in rare cases, the monitoring method is not set by the user. In this case, the CPU 41 a (display processing unit 284 ) updates the display over time so that the latest measured value of the measured waveform is displayed at the right end of the waveform display area 505 . That is, the waveform moves from the right end to the left end of the waveform display area 505 as in the asynchronous mode. The CPU 41a may display the threshold waveform in each state together with the measured waveform with reference to the start trigger. Note that the display range of the horizontal axis of the waveform display area 505 is set to the maximum monitoring time previously determined by the user.

図60は、波形ガードバンド監視アプリケーション用の設定ウィザード340を示している。すでに説明された部分については同一の参照符号が付与されている。設定部280は、設定ウィザード340をPC2bに表示させ、様々な設定を受け付ける。開始トリガ設定部520aは、開始トリガとなるデバイスなどの設定を受け付ける。測定時間設定部520bは、開始トリガを基準とした測定時間(監視時間)の設定を受け付ける。閾値指定手法設定部520cは、閾値指定手法の設定を受け付ける。上述されたように、許容幅(値許容幅と時間許容幅)と過去の測定データとを指定する手法と、自由曲線により閾値波形を指定する手法とのどちらかがユーザにより選択されてもよい。他の手法が実装されている場合は、その他の手法も選択肢となる。許容幅設定部520dでは、注意状態に関する値許容幅mvと時間許容幅mtとの設定を受け付ける。許容幅設定部520eでは、警報状態に関する値許容幅mvと時間許容幅mtとの設定を受け付ける。許容幅設定部520dと許容幅設定部520eは、上限閾値波形と下限閾値波形とで共通の値許容幅mvと時間許容幅mtとを受け付けているが、これは一例に過ぎない。上限閾値波形のため値許容幅mvと時間許容幅mtと、下限閾値波形のための値許容幅mvと時間許容幅mtとが個別に受け付けられてもよい。 FIG. 60 shows the configuration wizard 340 for the waveform guardband monitoring application. Parts already described are provided with the same reference numerals. The setting unit 280 displays a setting wizard 340 on the PC 2b and accepts various settings. The start trigger setting unit 520a accepts settings such as a device that serves as a start trigger. The measurement time setting section 520b accepts the setting of the measurement time (monitoring time) based on the start trigger. The threshold specifying method setting unit 520c receives setting of a threshold specifying method. As described above, the user may select either the method of specifying the allowable width (value allowable width and time allowable width) and the past measurement data, or the method of specifying the threshold waveform using a free-form curve. . Other methods are also an option if other methods are implemented. The permissible width setting unit 520d receives settings of the permissible value width mv and the permissible time width mt regarding the caution state. The permissible width setting unit 520e receives the setting of the permissible value width mv and the permissible time width mt regarding the alarm state. The permissible width setting section 520d and the permissible width setting section 520e receive a common value permissible width mv and time permissible width mt for the upper threshold waveform and the lower threshold waveform, but this is only an example. The value tolerance mv and time tolerance mt for the upper threshold waveform and the value tolerance mv and time tolerance mt for the lower threshold waveform may be received separately.

[フローチャート]
●工程監視アプリケーションとタイミング監視アプリケーション
図61は拡張ユニット4aのCPU41aにより実行される監視処理を示すフローチャートである。上述されたように、タイミング監視アプリケーションは、工程監視アプリケーションの機能縮小版(サブセット)であるため、以下で、両方のアプリケーションに適用される処理が説明される。また、監視アプリケーションは、拡張ユニット4aで実行されるデータ活用プログラムと、PC2bのWebブラウザで実行されるWebアプリケーションとを含む。
[flowchart]
●Process Monitoring Application and Timing Monitoring Application FIG. 61 is a flow chart showing monitoring processing executed by the CPU 41a of the expansion unit 4a. As mentioned above, the timing monitor application is a subset of the process monitor application, so the following describes processing that applies to both applications. Also, the monitoring application includes a data utilization program executed by the expansion unit 4a and a web application executed by the web browser of the PC 2b.

S41でCPU41a(収集部282)は設定データ273に従い開始トリガおよび終了トリガに対応するデバイスまたは変数を監視する。設定データ273は、開始トリガとして利用されるデバイスまたは変数の名称と、デバイスまたは変数に格納される所定値とを保持している。当該デバイスまたは変数の値が所定値に変化したタイミングが開始タイミングであるいは、デバイスまたは変数の変化が立ち上がりエッジまたは立下りエッジであることが開始条件として設定されてもよい。終了トリガについても同様である。CPU41a(収集部282)は設定データ273に基づくデータ活用プログラムを実行することによって設定データ273により指定される収集対象のデバイス値を収集し、メモリ42aに、収集されたデータ276として格納する。ここで、収集されたデータ276は、異なる時刻に収集された時系列データであってもよい。データ活用プログラムとは別に、設定データ273内の収集設定データ274aに従い収集動作を実行する収集プログラムを備えていてもよい。 In S41, the CPU 41a (collection unit 282) monitors devices or variables corresponding to the start trigger and end trigger according to the setting data 273. FIG. The setting data 273 holds the name of the device or variable used as the start trigger and the predetermined value stored in the device or variable. The start condition may be set such that the timing at which the value of the device or variable changes to a predetermined value is the start timing, or that the change in the device or variable is a rising edge or a falling edge. The same is true for termination triggers. The CPU 41a (collection unit 282) collects device values to be collected specified by the setting data 273 by executing a data utilization program based on the setting data 273, and stores them as collected data 276 in the memory 42a. Here, the collected data 276 may be time-series data collected at different times. Aside from the data utilization program, a collection program that executes the collection operation according to the collection setting data 274a in the setting data 273 may be provided.

S42でCPU41a(データ処理部283)は活用プログラムテンプレート272により指定されたデータ活用プログラムを実行する。CPU41a(データ処理部283)はデータ活用プログラムを実行することで、収集されたデータ275(デバイス値)に基づいて開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間情報を決定する。CPU41a(データ処理部283)は、監視対象として設定されたデバイスや変数が立ち上がりエッジ等の条件を満たすかを監視する。ここでは、条件を満たすタイミング、つまり開始トリガの条件を満たすタイミングが監視される。CPU41a(データ処理部283)は、監視対象として設定されたデバイスや変数が立ち上がりエッジ等の条件を満たすかを監視する。ここでは、条件を満たすタイミング、つまり終了トリガの条件を満たすタイミングが監視される。CPU41a(データ処理部283)により決定される時間情報は、開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間幅(測定時間)であってもよい。 In S42, the CPU 41a (data processing unit 283) executes the data utilization program designated by the utilization program template 272. FIG. The CPU 41a (data processing unit 283) executes the data utilization program to determine time information from the timing when the start trigger condition is satisfied to the timing when the end trigger condition is satisfied based on the collected data 275 (device value). do. The CPU 41a (data processing unit 283) monitors whether the devices and variables set as monitoring targets satisfy conditions such as a rising edge. Here, the timing that satisfies the condition, that is, the timing that satisfies the condition of the start trigger, is monitored. The CPU 41a (data processing unit 283) monitors whether the devices and variables set as monitoring targets satisfy conditions such as a rising edge. Here, the timing that satisfies the condition of the end trigger, that is, the timing that satisfies the condition of the end trigger is monitored. The time information determined by the CPU 41a (data processing unit 283) may be the time width (measurement time) from the timing when the condition of the start trigger is satisfied to the timing when the condition of the end trigger is satisfied.

S43でCPU41a(データ処理部283)はS42で決定された時間情報と設定データ273に従い設定された判定閾値に基づいて状態を判定する。CPU41a(データ処理部283)はデータ活用プログラムを実行することで、この判定を実行する。判定閾値として注意状態や警報状態のための上限値および下限値が設定されている場合がある。この場合、CPU41a(データ処理部283)は、測定値である決定された時間情報が上限値を上回るか否かを判定する。また、CPU41a(データ処理部283)は、決定された時間情報が下限値を下回るか否かを判定する。監視対象の状態としては、正常状態、注意状態、警報状態が含まれてもよい。正常状態に対する測定値の乖離度に基づき注意状態と警報状態とが区別される。正常状態の測定値(正常値)と警報状態の測定値(警報値)との差は、正常状態の測定値と注意状態の測定値(注意値)との差よりも大きい。よって、警報状態の閾値には、注意状態の閾値よりも正常値から乖離した値が設定される。注意状態の閾値と警報状態の閾値とがそれぞれ上限値として設定される場合がある。この場合、CPU41a(データ処理部283)は、決定された時間情報が注意状態の閾値以下であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が注意状態の閾値を超え、かつ、警報状態の閾値以下であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が警報状態の閾値を超えるときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ276が作成され、メモリ42aに保存される。 In S<b>43 , the CPU 41 a (data processing unit 283 ) determines the state based on the time information determined in S<b>42 and the determination threshold set according to the setting data 273 . The CPU 41a (data processing unit 283) executes this determination by executing the data utilization program. Upper and lower limits may be set for caution and alarm states as decision thresholds. In this case, the CPU 41a (data processing unit 283) determines whether or not the determined time information, which is the measured value, exceeds the upper limit value. Further, the CPU 41a (data processing unit 283) determines whether or not the determined time information is below the lower limit. Conditions to be monitored may include a normal condition, a caution condition, and an alarm condition. A cautionary state and a warning state are distinguished based on the deviation of the measured value from the normal state. The difference between the normal state measurement value (normal value) and the alarm state measurement value (alarm value) is greater than the difference between the normal state measurement value and the caution state measurement value (caution value). Therefore, the threshold for the warning state is set to a value that deviates from the normal value more than the threshold for the caution state. A caution state threshold and a warning state threshold may each be set as an upper limit. In this case, the CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "normal state" when the determined time information is equal to or less than the caution state threshold. The CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "caution state" when the determined time information exceeds the caution state threshold and is equal to or less than the alarm state threshold. The CPU 41a (data processing unit 283) determines the state of the monitored object to be an "alarm state" when the determined time information exceeds the alarm state threshold. Thereby, the analyzed data 276 is created and stored in the memory 42a.

注意状態の閾値と警報状態の閾値とがそれぞれ下限値として設定される場合がある。この場合、CPU41a(データ処理部283)は、決定された時間情報が注意状態の閾値以上であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が注意状態の閾値未満となり、かつ、警報状態の閾値以上であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が警報状態の閾値未満であるときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ276が作成され、メモリ42aに保存される。 A caution state threshold and an alarm state threshold may each be set as a lower limit. In this case, the CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "normal state" when the determined time information is equal to or greater than the caution state threshold. The CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "caution state" when the determined time information is less than the caution state threshold and is equal to or greater than the alarm state threshold. The CPU 41a (data processing unit 283) determines the state of the monitoring target to be "alarm state" when the determined time information is less than the threshold for the alarm state. Thereby, the analyzed data 276 is created and stored in the memory 42a.

注意状態の閾値と警報状態の閾値とがそれぞれ上限値および下限値により設定される場合がある。この場合、CPU41a(データ処理部283)は、決定された時間情報が注意状態の下限値以上でありかつ、決定された時間情報が注意状態の閾値上限以下であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が警報状態の上限値未満となり、かつ、注意状態の上限閾値以上であるときに監視対象の状態を「注意状態」と判定する。同様に、CPU41a(データ処理部283)は、決定された時間情報が注意状態の下限値未満となり、かつ、警報状態の下限値以上であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部283)は、決定された時間情報が警報状態の下限閾値未満であるか、または、決定された時間情報が警報状態の上限閾値を超えているときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ276が作成され、メモリ42aに保存される。 A caution state threshold and an alarm state threshold may be set by upper and lower limits, respectively. In this case, the CPU 41a (data processing unit 283) determines the state of the monitoring target when the determined time information is equal to or greater than the lower limit value of the caution state and the determined time information is equal to or less than the upper threshold value of the caution state. Determined as "normal". The CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "caution state" when the determined time information is less than the upper limit value of the warning state and equal to or greater than the upper limit threshold value of the caution state. Similarly, the CPU 41a (data processing unit 283) determines the state of the monitoring target to be the "caution state" when the determined time information is less than the lower limit value of the caution state and is equal to or greater than the lower limit value of the alarm state. . The CPU 41a (data processing unit 283) determines the state of the monitoring target when the determined time information is less than the lower threshold of the alarm state or exceeds the upper threshold of the alarm state. Determined as "alarm state". Thereby, the analyzed data 276 is created and stored in the memory 42a.

S44でCPU41a(表示処理部284)はS42で決定された時間情報、判定閾値、S43で判定された監視対象の状態を含むダッシュボードの表示データ277を生成する。CPU41a(表示処理部284)はダッシュボードテンプレート271と設定データ273とに基づいて決定した時間情報、判定閾値、判定した監視対象の状態を、ダッシュボードテンプレート271に割り当てられた変数に反映する。たとえば、CPU41aは、チャート表示領域306dに、開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間幅を示す測定値が棒グラフの形式で表示されるように表示データ277を作成する。表示データ277はWebアプリケーションの一部として作成されてもよい。このときと開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間が帯状に表示されてもよい。これにより、時間幅だけでなく、サイクル動作の制御において各監視対象がサイクル内のどのタイミングで動作しているかを示すダッシュボードが表示される。CPU41aは、表示対象データを定期的に更新することで表示データ277を作成してもよい。CPU41aは、収集されたデータ275および/または解析されたデータ276などの表示対象データを用いて表示データ277を作成する。 In S44, the CPU 41a (display processing unit 284) generates dashboard display data 277 including the time information determined in S42, the determination threshold value, and the state of the monitoring target determined in S43. The CPU 41 a (display processing unit 284 ) reflects the time information, the determination threshold value, and the determined monitoring target state based on the dashboard template 271 and the setting data 273 to the variables assigned to the dashboard template 271 . For example, the CPU 41a creates the display data 277 so that the measured value indicating the time width from the timing when the condition of the start trigger is satisfied to the timing when the condition of the end trigger is satisfied is displayed in the form of a bar graph in the chart display area 306d. . Display data 277 may be created as part of a web application. This time and the time from the timing when the condition of the start trigger is satisfied to the timing when the condition of the end trigger is satisfied may be displayed in a strip shape. As a result, a dashboard showing not only the time width but also the timing within the cycle at which each monitored object is operating in the control of the cycle operation is displayed. The CPU 41a may create the display data 277 by periodically updating the data to be displayed. The CPU 41 a creates display data 277 using display target data such as collected data 275 and/or analyzed data 276 .

S45でCPU41a(Webサーバ82)は表示データ277をPC2bに提供する。CPU41aは表示データ277をPLC1の表示器(HMI16)に表示してもよい。PLC1の表示器はPLC1に内蔵されていてもよいし、PLC1に対して有線たまは無線により接続されていてもよい。 In S45, the CPU 41a (Web server 82) provides the display data 277 to the PC 2b. The CPU 41a may display the display data 277 on the display of the PLC 1 (HMI 16). The display of PLC1 may be built in PLC1, or may be connected to PLC1 by wire or wirelessly.

●波形上下限監視アプリケーションおよび波形ガードバンド監視アプリケーション
図62は波形監視アプリケーションに関する監視処理を示すフローチャートである。図62において図61と共通する処理には同一の参照符号が付与されており、その説明は省略される。上述されたS41の次にCPU41aはS52に進む。
●Waveform Upper/Lower Limit Monitoring Application and Waveform Guard Band Monitoring Application FIG. 62 is a flow chart showing monitoring processing relating to the waveform monitoring application. In FIG. 62, the same reference numerals are assigned to the processes common to those in FIG. 61, and the description thereof will be omitted. After S41 described above, the CPU 41a proceeds to S52.

S52でCPU41a(データ処理部283)は、設定データ273にしたがって収集されたデータ275(デバイス値)に基づいて開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの監視期間において切り出した波形の特徴量を求める。上下限監視アプリケーションの特徴量は測定値そのものである。ピーク上下限監視の特徴量は、監視期間において測定されたすべての測定値のうちの最大値(ピーク値)である。ボトム上下限監視の特徴量は、監視期間において測定されたすべての測定値のうちの最小値(ボトム値)である。変化タイミング監視の特徴量は、開始トリガがオンになってから、測定値が最初にトリガレベルを超えた測定時刻までの時間である。 In S52, the CPU 41a (data processing unit 283) cuts out data during the monitoring period from the timing when the condition of the start trigger is satisfied to the timing when the condition of the end trigger is satisfied based on the data 275 (device value) collected according to the setting data 273. Obtain the feature value of the waveform. The feature quantity of the upper/lower limit monitoring application is the measured value itself. The feature value for peak upper/lower limit monitoring is the maximum value (peak value) of all measured values measured during the monitoring period. The feature quantity for monitoring the bottom upper and lower limits is the minimum value (bottom value) of all measured values measured during the monitoring period. The characteristic amount of change timing monitoring is the time from when the start trigger is turned on to the measurement time when the measured value first exceeds the trigger level.

S53でCPU41a(データ処理部283)は、特徴量と判定閾値とに基づいて状態を判定する。判定閾値は判定手法に応じて異なる。たとえば、波形ガードバンド監視アプリケーションでは、判定閾値が波形データ(CSV形式のファイルなど)として提供される。S43で説明されたように特徴量と判定閾値(各状態の閾値である上限値、下限値)とを比較することで、監視対象項目の状態が、正常状態、注意状態または警報状態に分類される。 In S53, the CPU 41a (data processing unit 283) determines the state based on the feature amount and the determination threshold. The determination threshold varies depending on the determination method. For example, in a waveform guardband monitoring application, decision thresholds are provided as waveform data (such as a file in CSV format). As described in S43, the state of the monitoring target item is classified into a normal state, a caution state, or a warning state by comparing the feature amount and the determination threshold (the upper limit value and the lower limit value that are the threshold values of each state). be.

S54でCPU41a(表示処理部284)は、判定閾値、波形(測定値または特徴量)、および、判定された情報(判定結果)をダッシュボードに表示するための表示データ277を生成する。S45でダッシュボード300の表示データ277がPC2a、PC2bまたはHMI16に提供される。 In S54, the CPU 41a (display processing unit 284) generates display data 277 for displaying the determination threshold value, waveform (measured value or feature amount), and determined information (determination result) on the dashboard. Display data 277 of dashboard 300 is provided to PC 2a, PC 2b or HMI 16 in S45.

[KPI算出アプリケーションの詳細]
図64はPC2bに表示されるKPI算出アプリケーションのダッシュボード550を示している。KPI算出アプリケーションは、たとえば生産準備期間のKPIを算出するものであってもよい。KPI算出アプリケーションのダッシュボード550は、算出したKPIを表示する。ここでKPIは、一定期間のKPIを含む。たとえば、時間あたり出来高、可動率、良品率、サイクルタイムなどが含まれてもよい。KPI算出アプリケーションは、KPIに加え、KPIの目標に対する達成率を算出し、達成率を表示にしてもよい。一定期間のKPIは、KPI算出アプリケーションのダッシュボード550に表示され計測開始ボタン551が押されてから計測終了ボタン552が押されるまでの計測期間におけるKPIであってもよい。このように、ユーザ入力により指定された計測期間におけるKPIが算出されもよい。あるいは、計測期間を規定するデバイスが設定されてもよい。この場合、設定されたデバイスのデバイス値に応じて決まる計測期間におけるKPIが算出されよう。
[Details of KPI calculation application]
FIG. 64 shows the dashboard 550 of the KPI calculation application displayed on the PC 2b. The KPI calculation application may calculate the KPI for the production preparation period, for example. The KPI calculation application dashboard 550 displays the calculated KPIs. Here, KPI includes KPI for a certain period of time. For example, output per hour, availability rate, non-defective product rate, cycle time, etc. may be included. The KPI calculation application may calculate, in addition to the KPI, the achievement rate for the target of the KPI and display the achievement rate. The KPI for a certain period of time may be a KPI in the measurement period from when the measurement start button 551 is displayed on the dashboard 550 of the KPI calculation application and when the measurement end button 552 is pressed. In this way, the KPI in the measurement period specified by user input may be calculated. Alternatively, a device that defines the measurement period may be set. In this case, the KPI in the measurement period determined according to the set device value of the device will be calculated.

KPI算出アプリケーションのダッシュボード550は、KPIの項目表示部560と、計測結果表示部570とを有している。項目表示部560は、KPIの項目として、出来高計測に関する項目、平均CT(サイクルタイム)に関する項目、良品率に関する項目、可動率に関する項目を表示する。計測結果表示部570は、KPIの算出に使用された生データ(計測結果)を表示する。計測結果は、計測開始時刻、計測終了時刻、経過時間、稼働時間、サイクルタイム、サイクルタイムの計測回数、生産品の排出回数、良品数、不良数などを含んでもよい。KPI算出アプリケーションのダッシュボード550は、計測開始から計測終了前までは、計測開始から現在時刻までの計測値に基づいて算出されたKPIを表示する。ダッシュボード550は、計測終了後には、計測開始から計測終了までの計測値に基づいて算出されたKPIを表示する。ダッシュボード550は、ユーザ入力やデバイス入力に基づく計測開始時刻を開始時刻の表示欄に表示する。ダッシュボード550は、ユーザ入力やデバイス入力に基づく計測終了時刻を終了時刻の表示欄に表示する。ダッシュボード550は、計測開始から現在時刻まで時間を経過時間の表示欄に表示する。終了時刻の表示欄は、計測がまだ終了していない場合、計測中である旨を表示してもよい。 The dashboard 550 of the KPI calculation application has a KPI item display section 560 and a measurement result display section 570 . The item display section 560 displays, as KPI items, items related to yield measurement, items related to average CT (cycle time), items related to the rate of non-defective products, and items related to availability. The measurement result display unit 570 displays the raw data (measurement results) used for calculating the KPI. The measurement results may include measurement start time, measurement end time, elapsed time, operating time, cycle time, the number of cycle time measurements, the number of product discharges, the number of non-defective products, the number of defective products, and the like. The dashboard 550 of the KPI calculation application displays KPIs calculated based on measured values from the start of measurement to the current time, from the start of measurement to the end of measurement. After the measurement is finished, the dashboard 550 displays the KPI calculated based on the measured values from the start of the measurement to the end of the measurement. The dashboard 550 displays the measurement start time based on user input or device input in the start time display column. The dashboard 550 displays the measurement end time based on user input or device input in the end time display field. The dashboard 550 displays the elapsed time from the start of measurement to the current time in the display column of the elapsed time. The end time display field may indicate that the measurement is in progress if the measurement has not yet ended.

KPI算出アプリケーション(フロー・ダッシュボード作成部251)は、KPIの各項目を算出するためのパラメータ設定を受け付ける。フロー・ダッシュボード作成部251は、たとえば、生産設備が稼働していることを示す稼働信号、生産設備において生産品を排出したことを示す排出信号、1サイクルあたりの取り数、および、1サイクルあたりの不良数のそれぞれに対応するデバイスの指定を受け付ける。稼働信号としては稼働中にONするビットデバイスが指定されてもよい。排出信号としては生産品を排出するごとにONするビットデバイスが指定されてもよい。1サイクル取り数としては取り数を示す定数または定数を格納したワードデバイスが指定されてもよい。1サイクル不良数としては1サイクルあたりの不良数を格納したデバイスが指定されてもよい。 The KPI calculation application (flow/dashboard creation unit 251) receives parameter settings for calculating each item of the KPI. The flow dashboard creation unit 251 generates, for example, an operation signal indicating that the production facility is in operation, a discharge signal indicating that the product has been discharged from the production facility, the number of pieces taken per cycle, and , the specification of the device corresponding to each of the defective numbers is accepted. A bit device that turns ON during operation may be specified as the operation signal. A bit device that turns ON each time a product is discharged may be specified as the discharge signal. A constant indicating the number of cycles taken or a word device storing a constant may be designated as the number of cycles taken. A device that stores the number of defects per cycle may be designated as the number of defects per cycle.

サイクルタイムとしては工程監視アプリケーションにおいて測定された全体サイクルの時間(測定値)が指定されてもよい。KPI算出アプリケーションは、他のアプリケーションにより計測された値、つまりサイクルタイムやサイクルタイムの測定回数を取得する。KPI算出アプリケーションは、工程監視アプリケーションから全体サイクルの測定値やサイクルタイムの測定回数を自動取得にしてもよい。サイクルタイムの測定回数は、全体サイクルの開始から終了までを1回の測定とカウントしたものである。そのため、サイクルタイムの測定回数は全体サイクルの繰り返し回数を示す。 As the cycle time, the time (measured value) of the entire cycle measured in the process monitoring application may be specified. The KPI calculation application acquires the values measured by other applications, that is, the cycle time and the number of cycle time measurements. The KPI calculation application may automatically acquire the measurement values of the entire cycle and the number of cycle time measurements from the process monitoring application. The number of cycle time measurements counted from the start to the end of the entire cycle as one measurement. Therefore, the number of cycle time measurements indicates the number of repetitions of the entire cycle.

ダッシュボード550は、稼働中にONするビットデバイスのON時間に基づき計測された稼働時間を稼働時間表示欄に表示する。ダッシュボード550は、工程監視アプリケーションから自動取得した現在のサイクルタイムを現在CT表示欄に表示し、サイクルタイムの測定回数をCTカウント表示欄に表示する。ダッシュボード550は、生産品を排出するごとにONするビットデバイスのON回数を排出信号ONの表示欄に表示する。ダッシュボード550は、良品数を良品数表示欄に表示し、不良数を不良数表示欄に表示する。良品数は、排出信号がONするたびに1サイクルあたりの取り数から1サイクルあたりの不良数を差し引いた個数を加算した累積個数である。不良数は、排出信号がONするたびに1サイクルあたりの不良数を加算した累積個数である。 The dashboard 550 displays the operating time, which is measured based on the ON time of the bit device that is ON during operation, in the operating time display field. The dashboard 550 displays the current cycle time automatically acquired from the process monitoring application in the current CT display field, and displays the number of cycle time measurements in the CT count display field. The dashboard 550 displays the ON count of the bit device that is turned ON each time the product is discharged in the discharge signal ON display column. The dashboard 550 displays the number of non-defective products in the display column for the number of non-defective products and the number of defective products in the display column for the number of defective products. The number of non-defective products is a cumulative number obtained by adding the number obtained by subtracting the number of defective products per cycle from the number of products taken per cycle each time the discharge signal is turned ON. The number of defects is a cumulative number obtained by adding the number of defects per cycle each time the discharge signal is turned ON.

ダッシュボード550の項目表示部560は、ユーザ入力された各目標値と、計測結果に基づき算出されたKPIの各項目と、各項目に対応する達成率とを達成率のグラフとともに表示してもよい。各項目に対する達成率は、各KPIの項目の各目標に対する実際の値(算出されたKPI)を示す。出来高は良品数に相当する。平均CTは、全体サイクルの測定値の累積値をサイクルタイム測定回数で除したものである。良品率は良品数を総生産数で除したものである。総生産数は排出信号がONするたびに1サイクルあたりの取り数を加算した累積個数である。図64の例では、排出信号ONの回数が163回である。取り数は12個である。良品数が1917個である。そのため、良品率は1917/(163×12)と演算される。可動率は、稼働時間を経過時間で除したものである。なお、KPI算出アプリケーションのダッシュボード550は、上述されたリアルタイム画面の他、KPI算出アプリケーションを設定するための設定画面を表示するための設定ボタン404と、過去の履歴を表示する履歴画面を表示するための履歴表示ボタン403を有していてもよい。 The item display section 560 of the dashboard 550 may display each target value input by the user, each item of KPI calculated based on the measurement results, and the achievement rate corresponding to each item, together with the graph of the achievement rate. good. The achievement rate for each item indicates the actual value (calculated KPI) for each goal of each KPI item. The turnover corresponds to the number of non-defective products. The average CT is obtained by dividing the cumulative value of the measured values for the entire cycle by the number of cycle time measurements. The non-defective product rate is obtained by dividing the number of non-defective products by the total production volume. The total number of production is the cumulative number obtained by adding the number of pieces taken per cycle each time the discharge signal is turned on. In the example of FIG. 64, the number of times the ejection signal is turned ON is 163 times. The number of pieces is 12. The number of non-defective products is 1917. Therefore, the non-defective product rate is calculated as 1917/(163×12). The availability ratio is obtained by dividing the operating time by the elapsed time. In addition to the real-time screen described above, the dashboard 550 of the KPI calculation application displays a setting button 404 for displaying a setting screen for setting the KPI calculation application and a history screen for displaying past history. may have a history display button 403 for

<第2実施形態のまとめ>
[観点1]
記憶装置32やメモリ42a、42bはアプリケーションプログラムを記憶する記憶手段として使用されてもよい。CPU31、41a、41bはアプリケーションプログラムを実行する実行手段として機能してもよい。
<Summary of Second Embodiment>
[Viewpoint 1]
The storage device 32 and memories 42a and 42b may be used as storage means for storing application programs. The CPUs 31, 41a, 41b may function as execution means for executing application programs.

収集部282は、アプリケーションプログラムにしたがって収集対象となるデバイスまたは変数であるシンボルに格納されているシンボル値を収集する収集手段の一例である。フロー実行部281(分析部254)は、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値が、アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを判定または分析することで、シンボル値に関していつもと異なる状況を検知する判定手段または分析手段として機能してもよい。表示処理部284は、判定結果または分析結果と、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値を示す情報とを含む表示画面(例:ダッシュボード300)を生成する生成手段として機能する。ダッシュボード300は、プログラム作成支援装置であるPC2a、Webブラウザを有したPC2bまたはHMI16のいずれに表示されてもよい。表示画面を表示するために必要となる表示データ277は、画像または映像であってもよいし、Webアプリケーションとして実現されてもよい。また、シンボル値はリアルタイムで収集されて表示されてもよい。つまり、表示画面が表示されている間は、リアルタイムでシンボル値が更新されて表示されてもよい。 The collecting unit 282 is an example of collecting means for collecting symbol values stored in symbols, which are devices or variables to be collected according to an application program. The flow executing unit 281 (analyzing unit 254) determines or analyzes whether the symbol values collected by the collecting means according to the application program satisfy the normal conditions set for the application program, thereby obtaining symbol values It may function as a determination means or an analysis means for detecting unusual situations with respect to. The display processing unit 284 functions as generation means for generating a display screen (eg, dashboard 300) including determination results or analysis results and information indicating symbol values collected by the collection means according to the application program. The dashboard 300 may be displayed on any of the PC 2a that is a program creation support device, the PC 2b that has a web browser, or the HMI 16. FIG. The display data 277 required to display the display screen may be an image or video, or may be implemented as a web application. Symbol values may also be collected and displayed in real time. That is, while the display screen is displayed, the symbol values may be updated and displayed in real time.

[観点2]
判定手段または分析手段(例:フロー実行部281)は、PLC1により実行される工程の継続時間(例:開始トリガから終了トリガまでの時間)が正常条件を満たしているどうかを判定または分析してもよい。なお、継続時間は監視時間や測定時間と呼ばれてもよい。
[Viewpoint 2]
Determination means or analysis means (eg, flow execution unit 281) determines or analyzes whether the duration of the process executed by PLC 1 (eg, time from start trigger to end trigger) satisfies normal conditions. good too. Note that the duration may be called monitoring time or measurement time.

[観点3]
シンボル値(例:デバイス値または変数に格納された値)は、工程の開始を示す開始デバイスのデバイス値と、工程の終了を示す終了デバイスのデバイス値とを含んでもよい。継続時間は、開始デバイスのデバイス値が変化したタイミングから終了デバイスのデバイス値が変化したタイミングまでの時間であってもよい。継続時間は、第1の開始トリガから第2の開始トリガまでの時間であってもよい。第2の開始トリガは第1の開始トリガの次の開始トリガである。また、継続時間は、第1の開始トリガを起点とした所定時間であってもよい。
[Viewpoint 3]
The symbol values (eg, device values or values stored in variables) may include a start device device value that indicates the start of the process and an end device device value that indicates the end of the process. The duration may be the time from when the device value of the start device changes to when the device value of the end device changes. The duration may be the time from the first start trigger to the second start trigger. The second start trigger is the next start trigger after the first start trigger. Also, the duration may be a predetermined time starting from the first start trigger.

[観点4]
収集手段(例:収集部282)は、一つの動作サイクルを構成している複数の工程(例:全体サイクル、搬送工程、加工工程、検査工程、排出工程など)のそれぞれについて継続時間を求めるためのシンボル値を収集してもよい。生成手段(例:表示処理部284)は、複数の工程のそれぞれについて継続時間を表示するための表示画面を生成するように構成されていてもよい。
[Viewpoint 4]
Collection means (eg, collection unit 282) is used to determine the duration of each of a plurality of processes (eg, overall cycle, transport process, processing process, inspection process, discharge process, etc.) that constitute one operation cycle. symbol values may be collected. The generation means (eg, the display processing unit 284) may be configured to generate a display screen for displaying the duration of each of the plurality of steps.

[観点5]
表示画面は、複数の工程のそれぞれについての継続時間を示唆するグラフィカルオブジェクト(例:棒状のオブジェクト)と、複数の工程のそれぞれについての継続時間と対比されるマスターデータを示唆するグラフィカルオブジェクトとを表示するように構成されていてもよい。マスターデータはいつもと同様の状態を示すデータであるため、ユーザは、どの工程においていつもと異なる事象が発生しているかを、容易に認識できるであろう。
[Viewpoint 5]
The display screen displays a graphical object (e.g., bar-shaped object) suggesting the duration for each of the plurality of steps and a graphical object suggesting master data against which the duration for each of the plurality of steps is contrasted. may be configured to Since the master data is data indicating the same state as usual, the user can easily recognize in which process an unusual event occurs.

[観点6]
非同期モードに関して説明されたように、グラフィカルオブジェクトは、時間の経過とともに、表示画面において一方向に移動するように表示されてもよい。同期モードに関して説明されたように、グラフィカルオブジェクトは、表示画面における所定位置を起点として一方向に伸びるように表示されてもよい。
[Viewpoint 6]
As described with respect to the asynchronous mode, graphical objects may appear to move in one direction on the display screen over time. As described with respect to the synchronous mode, graphical objects may be displayed starting from a predetermined position on the display screen and extending in one direction.

[観点7]
表示画面は、グラフィカルオブジェクトとともに、正常条件を示すグラフィカルオブジェクト(例:縦線、横線、波形、帯)を表示するように構成されていてもよい。
[Viewpoint 7]
The display screen may be configured to display graphical objects indicating normal conditions (eg, vertical lines, horizontal lines, waveforms, bands) along with the graphical objects.

[観点8]
発報部290は、シンボル値がユーザにより設定された通知条件を満たすと、通知を発行する通知手段として機能してもよい。
[Viewpoint 8]
The notification unit 290 may function as notification means for issuing a notification when the symbol value satisfies a notification condition set by the user.

[観点9]
通知手段は、表示画面を表示する周辺機器に対して通知を送信するように構成されていてもよい。図43などが例示するように、アプリケーション通知部291は、ダッシュボード300に通知を表示してもよい。図63が例示するように、アプリケーション通知部291は、ダッシュボード530に対してダイアログ531を重ねて表示してもよい。ダイアログ531は、アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことを示すメッセージを含んでいてもよい。複数の通知が時間を空けて発生した場合、アプリケーション通知部291は、監視アプリケーションごとに最新の一つの通知だけをダイアログ531に表示してもよい。ダイアログ531には、クリアボタン532が設けられていてもよい。アプリケーション通知部291は、クリアボタン532がユーザにより押されたことを検知すると、ダイアログ531を消去してもよい。アプリケーション通知部291は、監視対象デバイスごとに、通知を保持していてもよい。アプリケーション通知部291は、クリアボタン532が押されると、クリアボタン532を含むダイアログ531に紐づけられている監視対象デバイスについてのすべての通知を削除してもよい。なお、監視対象デバイスに関する通知が発生したときに、PC2b等でダッシュボード300、530が表示されていないことがある。この場合、アプリケーション通知部291は、ダッシュボード300、530がPC2bにおいて表示されると、これまで保持しておいた通知を示すダイアログ531をPC2bに表示してもよい。なお、PC2a、2bのCPU11やHMI16は、アプリケーション通知部291に対してポーリングを実行して通知を取得してダイアログ531を表示してもよい。表示リンク533は、ダイアログ531により通知されたデバイスを監視している監視アプリケーションのダッシュボード300、530を呼び出すためのリンクである。表示リンク533が押されたことを検知すると、表示処理部284は、表示リンク533に紐づけられているダッシュボード300、530の表示データ277を、Webサーバ82を介してPC2bに送信する。これにより、通知が発生したときのデバイス値を示すチャートがダッシュボード300、530に表示される。
[Viewpoint 9]
The notification means may be configured to send a notification to the peripheral device displaying the display screen. As illustrated in FIG. 43 and the like, the application notification unit 291 may display notifications on the dashboard 300 . As illustrated in FIG. 63 , the application notification unit 291 may display a dialog 531 overlaid on the dashboard 530 . Dialog 531 may include a message indicating that the application's monitoring state has changed from a normal state to a caution state or an alert state. When a plurality of notifications occur at intervals, the application notification unit 291 may display only the latest notification in the dialog 531 for each monitoring application. A clear button 532 may be provided in the dialog 531 . The application notification unit 291 may erase the dialog 531 upon detecting that the clear button 532 has been pressed by the user. The application notification unit 291 may hold notifications for each monitored device. When the clear button 532 is pressed, the application notification unit 291 may delete all notifications regarding the monitored device linked to the dialog 531 including the clear button 532 . It should be noted that the dashboards 300 and 530 may not be displayed on the PC 2b or the like when the notification regarding the monitoring target device is generated. In this case, when the dashboards 300 and 530 are displayed on the PC 2b, the application notification unit 291 may display a dialog 531 indicating the previously held notifications on the PC 2b. The CPU 11 and HMI 16 of the PCs 2a and 2b may poll the application notification unit 291 to acquire notification and display the dialog 531. FIG. A display link 533 is a link for calling the dashboards 300 and 530 of the monitoring application that monitors the device notified by the dialog 531 . Upon detecting that the display link 533 has been pressed, the display processing unit 284 transmits the display data 277 of the dashboards 300 and 530 linked to the display link 533 to the PC 2b via the web server 82 . As a result, a chart showing device values when the notification occurs is displayed on the dashboards 300 and 530 .

[観点10]
イベント登録部292は、PLC1において発生するエラーまたはイベントの履歴を登録する登録手段として機能してもよい。イベント登録部292は、シンボル値が登録条件(例:注意状態または警報状態)を満たすと履歴に登録するように構成されていてもよい。たとえば、この履歴は、基本ユニット3のCPU31により保持されてもよい。イベント登録部292は、内部バス90を介してCPU31に履歴への登録を要求してもよい。また、イベント登録部292の機能をCPU31によって実現してもよい。
[Viewpoint 10]
The event registration unit 292 may function as registration means for registering a history of errors or events occurring in the PLC 1 . The event registration unit 292 may be configured to register in the history when a symbol value satisfies a registration condition (eg, caution state or alarm state). For example, this history may be held by the CPU 31 of the basic unit 3 . The event registration unit 292 may request the CPU 31 via the internal bus 90 to register the event in the history. Also, the function of the event registration unit 292 may be implemented by the CPU 31 .

[観点11]
運転記録保存部293は、シンボル値が保存条件(例:注意状態または警報状態)を満たすと当該シンボル値を運転記録として保存する運転記録保存手段として機能する。この場合、CPU41a(フロー実行部281)は、運転記録を分析して分析結果を示す分析レポートを作成して周辺装置に表示してもよい。
[Viewpoint 11]
The driving record storage unit 293 functions as driving record storage means for storing the symbol value as a driving record when the symbol value satisfies a storage condition (eg, caution state or alarm state). In this case, the CPU 41a (flow execution unit 281) may analyze the driving record, create an analysis report showing the analysis results, and display the report on the peripheral device.

[観点12]
履歴保存部294は、正常条件を逸脱したシンボル値が検知されると、当該シンボル値、正常条件、および表示画面を履歴として保存する履歴保存手段として機能する。たとえば、正常条件を逸脱したシンボル値が検知されると、そのシンボル値だけでなく、そのシンボル値に関する表示データ277が保存されてもよい。
[Viewpoint 12]
The history storage unit 294 functions as a history storage unit that, when a symbol value deviating from normal conditions is detected, stores the symbol value, normal conditions, and display screen as a history. For example, when a symbol value deviating from normal conditions is detected, not only the symbol value but also the display data 277 for that symbol value may be saved.

[観点13、14]
図36が示すように、表示画面は、シンボル値、または、当該シンボル値から求められた時間のトレンドを示すトレンドグラフを含んでもよい。図35が示すように、表示画面は、シンボル値、または、当該シンボル値から求められた時間のヒストグラムを含んでもよい。
[Viewpoints 13 and 14]
As shown in FIG. 36, the display screen may include a trend graph showing the trend over time determined from the symbol values or the symbol values. As shown in FIG. 35, the display screen may include a histogram of symbol values or times determined from the symbol values.

[観点15、16]
設定部280や設定ウィザード340などは、正常条件を設定する設定手段として機能する。図56や図57を用いて説明されたように、設定手段(閾値設定部258)は、予め取得されたシンボル値に所定の演算ルールを適用して正常条件を作成するように構成されていてもよい。たとえば、閾値設定部258は、所定の演算ルールとしてユーザにより指定された演算ルールを使用してもよい。
[Viewpoints 15 and 16]
The setting unit 280, the setting wizard 340, and the like function as setting means for setting normal conditions. As described with reference to FIGS. 56 and 57, the setting means (threshold value setting unit 258) is configured to apply a predetermined calculation rule to symbol values obtained in advance to create a normal condition. good too. For example, the threshold setting unit 258 may use a calculation rule specified by the user as the predetermined calculation rule.

[観点17]
メモリ42aは、それぞれ異なる正常条件を有する複数の条件セットを記憶する条件記憶手段として機能してもよい。バンク切替部259は、ユーザ指示に応じて条件記憶手段に記憶されている複数の条件セットのうち一つの条件セットを選択する選択手段として機能してもよい。これにより正常条件を容易に変更することが可能となろう。複数の条件セットは、たとえば、PLC1により制御される製造ラインで製造される製品の品種ごとに用意されていてもよい。
[Viewpoint 17]
The memory 42a may function as condition storage means for storing a plurality of condition sets each having different normal conditions. The bank switching unit 259 may function as selection means for selecting one condition set from a plurality of condition sets stored in the condition storage means in accordance with user instructions. This would allow normal conditions to be easily changed. A plurality of condition sets may be prepared, for example, for each type of product manufactured on a manufacturing line controlled by PLC1.

[観点18]
停止/再開部286および切替ボタン302は、アプリケーションプログラムの実行停止または実行再開に関する指示を入力する入力手段の一例である。停止/再開部286は、アプリケーションプログラムの実行停止に関する指示が入力されると、アプリケーションプログラムの実行を停止する。アプリケーションプログラムの実行再開に関する指示が入力されると、停止/再開部286は、アプリケーションプログラムの実行を再開する。これにより、ユーザは、容易にアプリケーションプログラムの停止と再開とを指示することが可能となる。
[Viewpoint 18]
The stop/resume unit 286 and switching button 302 are an example of input means for inputting an instruction for stopping or resuming the execution of the application program. Stop/resume unit 286 stops execution of the application program when an instruction to stop the execution of the application program is input. When an instruction for resuming execution of the application program is input, the stop/resume unit 286 resumes execution of the application program. This allows the user to easily instruct the stop and restart of the application program.

[観点19]
アプリケーションエラー検知部287は、アプリケーションプログラムの正常な実行を妨げる事象を検知し、当該事象を報告するように構成されていてもよい。このような事象としては、ラダープログラム等で使用されないデバイスが監視対象デバイスとして指定されていることなである。また、監視対象として指定された変数がユーザプログラムに記述されていないことなども、一種のエラーとして検知されてもよい。また、収集されたデータ275や解析されたデータ276の保存先として指定されたメモリカードの空き容量が不足していることなども、一種のエラーとして検知されてもよい。これらのエラーは、いずれもアプリケーションプログラムの正常な実行を妨げるからである。
[Viewpoint 19]
The application error detector 287 may be configured to detect an event that prevents normal execution of the application program and report the event. Such an event is that a device not used by a ladder program or the like is designated as a device to be monitored. In addition, it may be detected as a kind of error that a variable designated as a monitoring target is not described in the user program. Insufficient free space in the memory card designated as the storage destination of the collected data 275 and the analyzed data 276 may also be detected as a kind of error. This is because any of these errors will interfere with normal execution of the application program.

[観点20]
図47や図52などが示すように、生成手段(表示処理部284)は、収集手段により時系列データとして収集された複数のシンボル値を波形として表示するよう表示画面を生成してもよい。
[Viewpoint 20]
As shown in FIG. 47, FIG. 52, etc., the generation means (display processing unit 284) may generate a display screen to display a plurality of symbol values collected as time-series data by the collection means as waveforms.

[観点21]
図52が示すように、生成手段(表示処理部284)は、第1の収集期間に収集手段により時系列データとして収集された複数のシンボル値を示す第1波形(太線)と、第1の収集期間よりも過去の第2の収集期間に収集手段により時系列データとして収集された複数のシンボル値を示す第2波形(細線)とを重ねて表示してもよい。第1波形表示中にユーザがラッチ操作を行うことにより第1波形をラッチし、そのラッチした波形を第2波形としてもよい。これにより、ユーザは、現在の波形と、過去のいくつかの波形とを対比しやすくなるであろう。
[Viewpoint 21]
As shown in FIG. 52, the generating means (display processing unit 284) generates a first waveform (bold line) representing a plurality of symbol values collected as time-series data by the collecting means during the first collecting period, and a first A second waveform (thin line) representing a plurality of symbol values collected as time-series data by the collection means during a second collection period earlier than the collection period may be superimposed and displayed. The first waveform may be latched by the user performing a latch operation while the first waveform is being displayed, and the latched waveform may be used as the second waveform. This will help the user contrast the current waveform with some past waveforms.

[観点22]
生成手段(表示処理部284)は、波形のピーク値またはボトム値を規制するための閾値(例:注意状態または警報状態の上限値もしくは下限値)であって正常条件に含まれる閾値を示す線を、波形とともに表示するよう表示画面を生成してもよい。これにより、ユーザは、ピーク値やボトム値が閾値に対してどの程度の余裕があるかなどを視覚的に理解しやすくなるであろう。
[Viewpoint 22]
The generation means (display processing unit 284) generates a line indicating a threshold included in the normal condition, which is a threshold for regulating the peak value or bottom value of the waveform (eg, upper limit or lower limit of caution state or alarm state). may be generated to display along with the waveform. This will make it easier for the user to visually understand how much margin the peak value and bottom value have with respect to the threshold.

[観点23]
図50や図51が示すように、生成手段(表示処理部284)は、シンボル値が所定値(例:トリガレベル)を超えるタイミングを規制するための閾値であって正常条件に含まれる閾値を示す線を波形とともに表示するよう表示画面を生成してもよい。
[Viewpoint 23]
As shown in FIGS. 50 and 51, the generating means (display processing unit 284) sets a threshold included in the normal condition, which is a threshold for regulating the timing when the symbol value exceeds a predetermined value (eg, trigger level). A display screen may be generated to display the indicated line along with the waveform.

[観点24]
図56や図57を用いて説明されたように、閾値設定部258は、シンボル値に基づく測定波形とユーザ入力とに基づき閾値の集合である閾値波形を決定する閾値決定手段として機能してもよい。ユーザ入力は、たとえば、測定波形に対して加算または減算される係数(例:値許容幅mv)を含んでもよい。ユーザ入力は、測定波形を構成する複数のシンボル値のうち、閾値波形における注目タイミングの閾値を決定するために考慮される波形区間(例:時間許容幅mt)であって、当該注目タイミングの前後の波形区間を指定する指定情報を含んでもよい。これにより、容易に閾値を設定することが可能となる。
[Viewpoint 24]
As described with reference to FIGS. 56 and 57, the threshold setting unit 258 may function as threshold determination means for determining a threshold waveform, which is a set of thresholds, based on a measured waveform based on symbol values and user input. good. User input may include, for example, a factor (eg, value tolerance mv) to be added or subtracted from the measured waveform. The user input is a waveform section (e.g., time tolerance mt) considered for determining the threshold value of the timing of interest in the threshold waveform among the plurality of symbol values that make up the measured waveform, and is before and after the timing of interest. may include designation information that designates the waveform section of . This makes it possible to easily set the threshold.

[観点27]
図58が示すように、閾値設定部258は、ユーザにより描画される自由曲線に基づき閾値の集合である閾値波形を決定する閾値決定手段として機能してもよい。
[Viewpoint 27]
As shown in FIG. 58, the threshold setting unit 258 may function as threshold determination means for determining a threshold waveform, which is a set of thresholds, based on a free-form curve drawn by the user.

3.第3実施形態
第1実施形態によれば、PLC1の稼働状態を運転記録74として記録し、イベントが発生したときの運転記録74に基づき分析レポート110が作成され、分析レポート110が分析画面に表示される。一方、第2実施形態によれば、イベントの兆候または発生をリアルタイムで監視するための監視画面(例:ダッシュボード300)が提供される。このような複数のアプリケーション間で表示対象のデータ(イベント)について連携させながら表示画面を遷移できればユーザにとって便利であろう。たとえば、第1実施形態の分析レポート110を見ながら、第2実施形態のサイクル監視結果(例:ダッシュボード300、詳細画面310)を確認できれば便利であろう。あるいは、あるイベントについてサイクル監視結果を確認中に、サイクル監視の対象となっていない他のシンボルの分析レポート110を見ることが出来れば、便利であろう。図65が例示するように、画面遷移指示ボタン601aが詳細画面310に設けられてもよい。画面遷移指示ボタン601aは、詳細画面310に表示されているイベントに関連付けられた分析レポート110を表示することを指示する画面遷移指示部品である。図66が例示するように、画面遷移指示ボタン601bが分析レポート110に設けられてもよい。画面遷移指示ボタン601bが操作されると、分析レポート110に表示されているイベントに関連付けられている監視結果を含む詳細画面310が表示されてもよい。画面遷移指示ボタン601a、601bを設けることで、それぞれ異なるアプリケーション間で、表示対象を連携させながら表示画面の遷移が実現される。なお、図65に示す詳細画面310は、図32に示すダッシュボード300上で詳細ボタン308をクリックしたときに遷移する画面であり、ダッシュボード300と対応関係にある。よって、画面遷移指示ボタン601aは、詳細画面310の代わりにダッシュボード300に表示されてもよい。
3. Third Embodiment According to the first embodiment, the operating state of the PLC 1 is recorded as the operation record 74, the analysis report 110 is created based on the operation record 74 when the event occurs, and the analysis report 110 is displayed on the analysis screen. be done. On the other hand, according to the second embodiment, a monitoring screen (eg, dashboard 300) for monitoring signs or occurrences of events in real time is provided. It would be convenient for the user if display screens could be transitioned while linking data (events) to be displayed among such a plurality of applications. For example, it would be convenient if the cycle monitoring results (eg, dashboard 300, detailed screen 310) of the second embodiment could be confirmed while viewing the analysis report 110 of the first embodiment. Alternatively, while reviewing cycle monitoring results for an event, it would be convenient to be able to view analysis reports 110 for other symbols that are not subject to cycle monitoring. As illustrated in FIG. 65 , a screen transition instruction button 601a may be provided on the detail screen 310 . The screen transition instruction button 601 a is a screen transition instruction component for instructing display of the analysis report 110 associated with the event displayed on the detailed screen 310 . As illustrated in FIG. 66, a screen transition instruction button 601b may be provided in the analysis report 110. FIG. When the screen transition instruction button 601b is operated, a detailed screen 310 including monitoring results associated with the event displayed in the analysis report 110 may be displayed. By providing the screen transition instruction buttons 601a and 601b, the transition of the display screen is realized while the display targets are linked between different applications. The details screen 310 shown in FIG. 65 is a screen that transitions when the details button 308 is clicked on the dashboard 300 shown in FIG. Therefore, the screen transition instruction button 601 a may be displayed on the dashboard 300 instead of the detailed screen 310 .

図67は、拡張ユニット4aのCPU41aの機能の一部を示している。メモリ42aは、アプリケーションプログラム602a、602b~602nおよびデータ群606を記憶している。データ群606は、上述された設定データ273、収集されたデータ275、解析されたデータ276、および、表示データ277などを含みうる。第1アプリケーション603は、CPU41aがアプリケーションプログラム602aを実行することで実現される機能である。第1アプリケーション603は、たとえば、第2実施形態で説明された各種の監視アプリケーションである。第1アプリケーション603は、設定部280、フロー実行部281、収集部282、Webサーバ82、発報部290、データ処理部283、フロー・ダッシュボード作成部251などを含む。第2アプリケーション604は、CPU41aがアプリケーションプログラム602bを実行することで実現される機能である。第2アプリケーション604は、たとえば、第1実施形態で説明された分析レポート110を作成して表示するアプリケーションである。第2アプリケーション604は、プロトコル変換部81、Webサーバ82、分析部83および通知発行部84などを含む。 FIG. 67 shows part of the functions of the CPU 41a of the expansion unit 4a. Memory 42a stores application programs 602a, 602b-602n and data group 606. FIG. Data group 606 may include configuration data 273, collected data 275, parsed data 276, display data 277, and the like described above. The first application 603 is a function implemented by the CPU 41a executing the application program 602a. The first application 603 is, for example, various monitoring applications described in the second embodiment. The first application 603 includes a setting unit 280, a flow execution unit 281, a collection unit 282, a Web server 82, an alarm unit 290, a data processing unit 283, a flow dashboard creation unit 251, and the like. The second application 604 is a function implemented by the CPU 41a executing the application program 602b. The second application 604 is, for example, an application that creates and displays the analysis report 110 described in the first embodiment. A second application 604 includes a protocol conversion unit 81, a web server 82, an analysis unit 83, a notification issuing unit 84, and the like.

アプリケーション管理部605は、アプリケーションプログラム602nをCPU41aが実行することで実現されてもよいし、予め拡張ユニット4aに記憶されているプログラム(システムプログラム等)をCPU41aが実行することで実現されてもよい。アプリケーション管理部605は、拡張ユニット4aにインストールされている複数のアプリケーションプログラム602a~602nを管理しており、複数のアプリケーション間で連携した表示画面の遷移を仲介する機能である。アプリケーション管理部605は、さらに、基本ユニット3にインストールされているアプリケーションプログラムも管理してもよい。アプリケーション管理部605は、複数のアプリケーションプログラム602a、602bから情報(例:ダッシュボード番号、ページ番号など)を取得する方法(例:コマンド、インタフェース、データ形式など)を知っている。アプリケーション管理部605は、画面遷移指示ボタン601aが押されたことを検知すると、詳細画面310に表示されているイベントに関連する分析レポート110を表示することを第2アプリケーション604に要求する。これにより、詳細画面310に表示される情報の記録時刻と、分析レポート110に表示される情報の記録時刻とが同一または類似したものとなる。同様に、アプリケーション管理部605は、画面遷移指示ボタン601bが押されたことを検知すると、分析レポート110に表示されているイベントに関連する詳細画面310を表示することを第1アプリケーション603に要求する。これにより、詳細画面310に表示される情報の記録時刻と、分析レポート110に表示される情報の記録時刻とが同一または類似したものとなる。詳細画面310は一例にすぎず、ダッシュボード300に画面遷移指示ボタン601aが設けられてもよい。 The application management unit 605 may be implemented by the CPU 41a executing the application program 602n, or may be implemented by the CPU 41a executing a program (such as a system program) stored in advance in the expansion unit 4a. . The application management unit 605 manages a plurality of application programs 602a to 602n installed in the expansion unit 4a, and has a function of mediating display screen transitions in cooperation with a plurality of applications. The application manager 605 may also manage application programs installed in the basic unit 3 . The application manager 605 knows how to obtain information (eg, dashboard numbers, page numbers, etc.) from multiple application programs 602a, 602b (eg, commands, interfaces, data formats, etc.). When the application management unit 605 detects that the screen transition instruction button 601 a has been pressed, it requests the second application 604 to display the analysis report 110 related to the event displayed on the detail screen 310 . As a result, the recording time of the information displayed on the detailed screen 310 and the recording time of the information displayed on the analysis report 110 are the same or similar. Similarly, upon detecting that the screen transition instruction button 601b has been pressed, the application management unit 605 requests the first application 603 to display the detailed screen 310 related to the event displayed in the analysis report 110. . As a result, the recording time of the information displayed on the detailed screen 310 and the recording time of the information displayed on the analysis report 110 are the same or similar. The detailed screen 310 is merely an example, and the dashboard 300 may be provided with a screen transition instruction button 601a.

図67では、アプリケーション管理部605は、第1アプリケーション603および第2アプリケーション604から独立している。しかし、アプリケーション管理部605は、第1アプリケーション603または第2アプリケーション604の一部として実装されてもよい。あるいは、アプリケーション管理部605と、第1アプリケーション603および第2アプリケーション604とが通信可能である限り、基本ユニット3のCPU31により、アプリケーション管理部605が実装されてもよい。 In FIG. 67, the application manager 605 is independent of the first application 603 and the second application 604. FIG. However, application manager 605 may be implemented as part of first application 603 or second application 604 . Alternatively, the application management section 605 may be implemented by the CPU 31 of the basic unit 3 as long as the application management section 605 can communicate with the first application 603 and the second application 604 .

図68は、基本ユニット3のCPU31により実現される機能を示している。運転記録アプリケーション610は、第1実施形態で説明されたコマンド処理部71、収集部72、ロギング部73、および、第2実施形態でCPU31により実現されると説明された機能を含むが、図68ではロギング部73のみが図示されている。なお、ここでいうアプリケーションは、PLC1(又は拡張ユニット4a)の機能を拡張するために、PC2等からPLC1(又は拡張ユニット4a)に送信されて組み込まれる(追加される)特定用途プログラムであり、追加したアプリケーションを後から削除することも可能である。つまり、アプリケーションは、PLC1(又は拡張ユニット4a)にアドオン(アドイン)されるプログラムにより実現され、自由に加除できる。したがって、複数のアプリケーション同士は互いに疎な関係にある。 FIG. 68 shows functions realized by the CPU 31 of the basic unit 3. As shown in FIG. The driving record application 610 includes the command processing unit 71, the collecting unit 72, the logging unit 73 described in the first embodiment, and the functions described as being realized by the CPU 31 in the second embodiment, but FIG. , only the logging unit 73 is shown. The application here is a special purpose program that is transmitted and incorporated (added) to the PLC 1 (or expansion unit 4a) from the PC 2 or the like in order to extend the function of the PLC 1 (or expansion unit 4a), It is also possible to delete the added application later. That is, the application is implemented by an add-on program to the PLC 1 (or the expansion unit 4a) and can be freely added or removed. Therefore, a plurality of applications have a sparse relationship with each other.

上述した運転記録アプリケーション610は、このようなアプリケーションの一つとして実現されてもよいが、予めPLC1(基本ユニット3)に組み込まれたプログラム(いわゆるシステムプログラム)により実現されてもよい。運転記録の機能は、スキャンタイムでデバイスを収集し、イベント発生時に運転記録を生成し、PLC1の基本動作に深く関与するものであるため、処理速度向上の観点からすれば、運転記録アプリケーション610よりも、運転記録システムプログラムにより実現することが好ましい。 The driving record application 610 described above may be realized as one of such applications, but may also be realized by a program (so-called system program) preinstalled in the PLC 1 (basic unit 3). The driving record function collects devices at scan time, generates a driving record when an event occurs, and is deeply involved in the basic operation of the PLC 1. Therefore, from the viewpoint of improving the processing speed, the driving record application 610 is also preferably realized by the driving record system program.

ロギング部73は、イベント管理部611および記録管理部612を含む。拡張ユニット4aのCPU41aが所定のイベントを検知すると、CPU41aはイベント通知を発行する。イベント管理部611は、イベント通知を受信すると、イベント通知が示すイベントの内容とイベントの発生時刻を管理する。たとえば、イベント管理部611は、イベントに対して識別情報(イベントID)を発行して、イベントの内容とイベントの発生時刻に紐づけてもよい。また、イベントの内容、イベントの発生時刻およびイベントIDなどは記憶装置32に保持されて管理されてもよい。イベント管理部611は、イベントIDからイベントの内容およびイベントの発生時刻を特定したり、時刻からイベントIDおよびイベントの内容を特定したりする。イベント管理部611は、イベントに関する問い合わせを受信すると、イベントをサーチしてサーチ結果を返信してもよい。 Logging unit 73 includes event management unit 611 and recording management unit 612 . When the CPU 41a of the expansion unit 4a detects a predetermined event, the CPU 41a issues an event notification. When the event notification is received, the event management unit 611 manages the content of the event indicated by the event notification and the occurrence time of the event. For example, the event management unit 611 may issue identification information (event ID) for the event, and associate the content of the event with the occurrence time of the event. Further, the content of the event, the time of occurrence of the event, the event ID, and the like may be stored and managed in the storage device 32 . The event management unit 611 identifies the content of the event and the time of occurrence of the event from the event ID, or identifies the event ID and the content of the event from the time. Upon receiving an inquiry about an event, the event management section 611 may search for the event and return the search result.

記録管理部612は、CPU41aによりイベントが検知されると発行される運転記録74の保存要求を受信し、リングバッファ36に保持されている複数のシンボル値(デバイス値、変数値)を運転記録74として運転記録記憶部37に退避(記憶)させる。記録管理部612は、運転記録74の退避(保存)が完了すると、完了通知(保存完了応答)をCPU41aに返信してもよい。これにより、CPU41aは運転記録74の保存が完了したことを認識できる。 The record management unit 612 receives a storage request for the operation record 74 issued when an event is detected by the CPU 41a, and saves the plurality of symbol values (device values, variable values) held in the ring buffer 36 as the operation record 74. , and is saved (stored) in the driving record storage unit 37 . When saving (storing) of the driving record 74 is completed, the record management unit 612 may return a completion notification (storage completion response) to the CPU 41a. Thereby, the CPU 41a can recognize that the storage of the driving record 74 has been completed.

(1)保存処理
図69は第1アプリケーション603にしたがってCPU41aが実行する処理を示している。
(1) Storage Processing FIG. 69 shows processing executed by the CPU 41a according to the first application 603. FIG.

S61でCPU41aは監視対象のシンボル値(例:デバイス値、変数値)を基本ユニット3から取得する。 In S61, the CPU 41a acquires from the basic unit 3 a symbol value to be monitored (eg, device value, variable value).

S62でCPU41aは、取得されたシンボル値に基づき所定の条件(状況)が発生したかどうかを判定する。たとえば、取得されたシンボル値が予め定められた条件(例:変動が大きいなど)を満たしていれば、所定の条件が発生したと判定される。所定の条件が発生していなければ、CPU41aはS61に戻る。所定のイベントが発生すると、CPU41aはS63に進む。 In S62, the CPU 41a determines whether a predetermined condition (situation) has occurred based on the acquired symbol value. For example, if the acquired symbol value satisfies a predetermined condition (eg, large variation, etc.), it is determined that the predetermined condition has occurred. If the predetermined condition has not occurred, the CPU 41a returns to S61. When a predetermined event occurs, the CPU 41a proceeds to S63.

S63でCPU41aは、基本ユニット3のCPU31に対して運転記録74の保存要求を発行する。これにより、CPU31は、PLC1の状態を示す予め指定されたシンボル値とその収集時刻とをリングバッファ36から読み出し、これらを含む運転記録74を作成し、運転記録記憶部37に保存する。 In S<b>63 , the CPU 41 a issues a storage request for the operation record 74 to the CPU 31 of the basic unit 3 . As a result, the CPU 31 reads from the ring buffer 36 a predetermined symbol value indicating the state of the PLC 1 and its collection time, creates an operation record 74 including these, and stores it in the operation record storage unit 37 .

S64でCPU41aは、イベントが発生したことを示すイベント通知をCPU31(イベント管理部611)に対して発行する。イベント管理部611は、イベント通知が示すイベント内容および発生時刻などを記憶装置32に保存する。これはイベント登録と呼ばれる。 In S64, the CPU 41a issues an event notification indicating that an event has occurred to the CPU 31 (event management unit 611). The event management unit 611 saves the content of the event indicated by the event notification, the occurrence time, and the like in the storage device 32 . This is called event registration.

S65でCPU41aは、イベントが検知された時刻(イベント発生時刻)を含む履歴をメモリ42aに保存する。ここで、履歴とは、正常条件を逸脱したシンボル値が検知されたときの、当該シンボル値、正常条件、および表示画面(表示画面を表示するために必要となるテンプレートおよびデータ群)などを含みうる。 In S65, the CPU 41a saves the history including the time when the event was detected (event occurrence time) in the memory 42a. Here, the history includes symbol values, normal conditions, display screens (templates and data groups necessary for displaying display screens), etc. when symbol values deviating from normal conditions are detected. sell.

S66でCPU41aは、基本ユニット3において運転記録74が保存されたかどうかを判定する。たとえば、保存要求に対するレスポンス(保存完了応答)が基本ユニット3から受信されると、運転記録74が保存されたと判定される。運転記録74が保存されると、CPU41aはS67に進む。なお、S66以降の処理は、上述した第1アプリケーション603とは異なる第2アプリケーション604にしたがってCPU41aが実行する。すなわち、CPU41aは、第2アプリケーション604に従って、運転記録74が保存されたかどうかを監視しており、保存されたことを認識するとS67に進む。 In S66, the CPU 41a determines whether or not the driving record 74 has been saved in the basic unit 3. For example, when a response to the storage request (a storage completion response) is received from the basic unit 3, it is determined that the operation record 74 has been stored. After the driving record 74 is saved, the CPU 41a proceeds to S67. Note that the CPU 41a executes the processes after S66 according to the second application 604 different from the first application 603 described above. That is, the CPU 41a monitors whether or not the driving record 74 has been saved according to the second application 604, and advances to S67 when recognizing that it has been saved.

S67でCPU41aは基本ユニット3にから運転記録74を取得し、運転記録74に基づき分析レポート110を作成する。分析レポート110の作成処理は第1実施形態で説明された通りである。分析レポート110には、分析対象となったシンボル値の収集時刻など、イベント発生時刻に相当する時刻情報が含まれる。 In S67, the CPU 41a acquires the driving record 74 from the basic unit 3 and creates the analysis report 110 based on the driving record 74. FIG. The processing for creating the analysis report 110 is as described in the first embodiment. The analysis report 110 includes time information corresponding to the event occurrence time, such as the collection time of the symbol value to be analyzed.

(2)表示処理
図70は二つのアプリケーションがそれぞれの表示画面を連携させるための表示処理を示している。ここでは、複数のアプリケーションのうち一方のアプリケーションの表示画面から他方のアプリケーションの表示画面への画面遷移が想定されている。ここで、画面遷移とは、複数のウインドウ間でのアクティブウインドウの切替のようなというような単純な画面遷移ではなく、複数の表示画面にそれぞれ表示されるデータの、PLC1における収集時刻の関連性を伴うような画面遷移をいう。
(2) Display Processing FIG. 70 shows display processing for two applications to link their respective display screens. Here, screen transition from the display screen of one of a plurality of applications to the display screen of the other application is assumed. Here, the screen transition is not a simple screen transition such as switching the active window between multiple windows, but the relevance of the collection time in the PLC 1 of the data displayed on each of the multiple display screens. It refers to a screen transition that accompanies

一方のアプリケーションと他方のアプリケーションとの組み合わせは任意である。一例として、一方のアプリケーションはリアルタイム監視アプリケーション(第1アプリケーション603)であり、他方のアプリケーションは運転記録分析アプリケーション(第2アプリケーション604)であることが仮定されている。一方のアプリケーションと他方のアプリケーションとの組み合わせは、それぞれの表示画面に表示されるデータの収集時刻などに関連性があるような組み合わせであればよい。たとえば、一方のアプリケーションが第2アプリケーション604であり、他方のアプリケーションが第1アプリケーション603であってもよい。また、一方のアプリケーションが第1バージョンの第1アプリケーション603であり、他方のアプリケーションが第1バージョンと異なる第2バージョンの第1アプリケーション603であってもよい。一般にアプリケーションプログラム602は度重なる更新を受けて改良されるため、新しいバージョンのプログラムと古いバージョンのプログラムとが同時に起動可能となる場合がある。このよう場合、バージョンの異なる複数のアプリケーション間でイベント連携を伴う画面遷移が実現されてもよい。同様に、一方のアプリケーションが第1バージョンの第2アプリケーション604であり、他方のアプリケーションが第1バージョンと異なる第2バージョンの第2アプリケーション604であってもよい。さらには、一方のアプリケーションと連携する他方のアプリケーションの個数は2以上であってもよい。つまり、三つ以上のアプリケーション間で、イベント連携を伴う画面遷移が実現されてもよい。 The combination of one application and the other application is arbitrary. As an example, it is assumed that one application is a real-time monitoring application (first application 603) and the other application is a driving record analysis application (second application 604). The combination of one application and the other application may be a combination that is related to the collection time of data displayed on the respective display screens. For example, one application may be the second application 604 and the other application may be the first application 603 . Alternatively, one application may be the first application 603 of the first version, and the other application may be the first application 603 of the second version different from the first version. Since the application program 602 is generally improved through repeated updates, there are cases where both a new version of the program and an old version of the program can be activated at the same time. In such a case, screen transitions involving event cooperation may be realized between a plurality of applications of different versions. Similarly, one application may be the first version of the second application 604 and the other application may be the second version of the second application 604 that differs from the first version. Furthermore, the number of applications cooperating with one application may be two or more. In other words, screen transitions involving event cooperation may be realized among three or more applications.

以下では、説明の便宜上、一方のアプリケーションが第1アプリケーション603である場合、第1アプリケーション603は、ユーザにより選択された履歴をダッシュボード300の詳細画面310に表示しているものとする。 In the following, for convenience of explanation, when one application is the first application 603 , the first application 603 displays the history selected by the user on the detail screen 310 of the dashboard 300 .

S71でCPU41a(一方のアプリケーション)は他方のアプリケーションへの画面遷移が指示されたかどうかを判定する。上述されたようにCPU41aは一方のアプリケーションの画面遷移指示ボタン601が操作されると、他方のアプリケーションへの画面遷移が指示されたと判定し、S72に進む。なお、一方のアプリケーションは、画面遷移指示ボタン601が操作されると、表示画面に表示されているデータに関連付けられている別の表示画面の表示するために必要となる情報を、アプリケーション管理部605に対して要求してもよい。ここで、必要となる情報とは、他方のアプリケーションの表示画面を開くためのURLを作成するために必要となる情報であってもよい。URLを作成するために必要となる情報は、たとえば、ダッシュボード番号とページ番号とがある。ダッシュボード番号は、アプリケーション(アプリケーションプログラム)の識別情報である。たとえば、第1アプリケーション603のダッシュボード番号と第2アプリケーション604のダッシュボード番号とは異なっている。ページ番号は、アプリケーションが提供する複数の表示画面の識別情報である。たとえば、ダッシュボード300と詳細画面310とにはそれぞれ異なるページ番号が割り当てられている。一方のアプリケーションが連携対象となる他方のアプリケーションのダッシュボード番号とページ番号とを知っていれば、他方のアプリケーションのダッシュボード番号とページ番号とを問い合わせは不要である。これは、たとえば、画面遷移指示ボタン601のプロパティに他方のアプリケーションのダッシュボード番号とページ番号とが含まれている場合である。通常、一方のアプリケーションは、これらの情報を知らないため、アプリケーション管理部605に対して他方のアプリケーションのダッシュボード番号とページ番号とを問い合わせることが必要となる。 In S71, the CPU 41a (one application) determines whether or not a screen transition to the other application has been instructed. As described above, when the screen transition instruction button 601 of one application is operated, the CPU 41a determines that a screen transition to the other application has been instructed, and proceeds to S72. Note that when the screen transition instruction button 601 is operated, one application sends information necessary for displaying another display screen associated with the data displayed on the display screen to the application management unit 605. may be requested. Here, the required information may be information required to create a URL for opening the display screen of the other application. Information required to create a URL includes, for example, a dashboard number and a page number. A dashboard number is identification information of an application (application program). For example, the dashboard number of the first application 603 and the dashboard number of the second application 604 are different. A page number is identification information of a plurality of display screens provided by an application. For example, dashboard 300 and detail screen 310 are assigned different page numbers. If one application knows the dashboard number and page number of the other application to be linked, there is no need to inquire about the dashboard number and page number of the other application. This is the case, for example, when the properties of the screen transition instruction button 601 include the dashboard number and page number of the other application. Since one application usually does not know this information, it is necessary to inquire of the application management unit 605 about the dashboard number and page number of the other application.

S72でCPU41a(アプリケーション管理部605)はPLC1にインストールされているアプリケーション(アプリケーションプログラム)の一覧をメモリ42aから取得する。この一覧はアプリケーション管理部605により管理されている。したがって、アプリケーション管理部605は、一方のアプリケーションから問い合わせを受信すると、一覧をメモリ42aから取得する。 In S72, the CPU 41a (application management unit 605) acquires a list of applications (application programs) installed in the PLC 1 from the memory 42a. This list is managed by the application management unit 605 . Therefore, upon receiving an inquiry from one of the applications, the application management unit 605 acquires the list from the memory 42a.

S73でCPU41a(アプリケーション管理部605)は、一覧に基づき、他方のアプリケーションがPLC1にインストールされているかどうかを判定する。他方のアプリケーションがPLC1にインストールされている場合、CPU41aはS74に進む。 In S73, the CPU 41a (application management unit 605) determines whether or not the other application is installed in the PLC 1 based on the list. If the other application is installed in the PLC 1, the CPU 41a proceeds to S74.

S74でCPU41a(アプリケーション管理部605)は、他方のアプリケーションのダッシュボード番号とページ番号とを一覧から検索して取得する。あるいは、アプリケーション管理部605は、一覧に含まれている他方のアプリケーションに対して問い合わせることで、他方のアプリケーションのダッシュボード番号とページ番号とを取得してもよい。アプリケーション管理部605は、他方のアプリケーションのダッシュボード番号とページ番号とを一方のアプリケーションへ送信する。これにより、一方のアプリケーションが、他方のアプリケーションのダッシュボード番号とページ番号とを一方のアプリケーションを取得する。 In S74, the CPU 41a (application management unit 605) retrieves and acquires the dashboard number and page number of the other application from the list. Alternatively, the application management unit 605 may acquire the dashboard number and page number of the other application by inquiring of the other application included in the list. The application management unit 605 transmits the dashboard number and page number of the other application to one application. This allows one application to obtain the dashboard number and page number of the other application.

S75でCPU41a(一方のアプリケーション)は、ユーザにより要求された表示画面のURLを作成する。一方のアプリケーションは、アプリケーション管理部605から受信された他方のアプリケーションのダッシュボード番号とページ番号とに基づき他方のアプリケーションの表示画面のURLを作成する。URLの一例は次の通りである。
http://192.168.0.11/?boardno=0&pageno=0
ここで、boardnoはダッシュボード番号を示すクエリパラメータである。pagenoはページ番号を示すクエリパラメータである。さらに追加のクエリパラメータが指定されてもよい。たとえば、ある特定のイベントについて二つのアプリケーションの表示画面を連携表示させたい場合、そのイベントの発生時刻がクエリパラメータとして指定されてもよい。
http://192.168.0.11/?boardno=1&pageno=3&datetime=20211226123456
ここでdatetimeは時刻(例:年月日時分秒)を示すクエリパラメータである。
イベントの発生時刻を指定することは、非常に直接的に、一方のアプリケーションの表示画面に表示される情報と、他方のアプリケーションの表示画面に表示される情報とを連携させることになる。イベントIDなど、時刻情報とは異なる連携情報が、クエリパラメータにおいて指定されてもよい。上述されたように、イベントIDはイベント管理部611において複数のアプリケーションに対して共通に管理されていてもよい。ここでは、一方のアプリケーションによりURLが作成されているが、アプリケーション管理部605で作成されて、一方のアプリケーションに渡されてもよい。なお、URLのクエリパラメータとしてイベントの時刻情報またはイベントIDが搭載される場合、アプリケーション管理部605は一方のアプリケーションからイベントの時刻情報またはイベントIDを取得して、URLを完成させる。
In S75, the CPU 41a (one application) creates the URL of the display screen requested by the user. One application creates the URL of the display screen of the other application based on the dashboard number and page number of the other application received from the application management unit 605 . An example URL is as follows.
http://192.168.0.11/?boardno=0&pageno=0
Here, boardno is a query parameter indicating the dashboard number. pageno is a query parameter that indicates the page number. Additional query parameters may also be specified. For example, when it is desired to display the display screens of two applications in relation to a specific event, the occurrence time of the event may be specified as a query parameter.
http://192.168.0.11/?boardno=1&pageno=3&datetime=20211226123456
Here, datetime is a query parameter that indicates the time (eg year, month, day, hour, minute, second).
Designating the event occurrence time very directly links the information displayed on the display screen of one application with the information displayed on the display screen of the other application. Linkage information different from time information, such as an event ID, may be specified in the query parameter. As described above, the event ID may be commonly managed for multiple applications in the event management unit 611 . Although the URL is created by one of the applications here, it may be created by the application management unit 605 and passed to one of the applications. When event time information or an event ID is included as a URL query parameter, the application management unit 605 acquires the event time information or event ID from one of the applications to complete the URL.

S76でCPU41a(一方のアプリケーション)は、作成されたURLにアクセスする。これは、たとえば、一方のアプリケーションと通信しているPC2のWebブラウザ60に対してURLを渡すことで実現される。Webブラウザ60は、一方のアプリケーションにより設定されたURLにアクセスする。 In S76, the CPU 41a (one application) accesses the created URL. This is realized, for example, by passing the URL to the web browser 60 of the PC 2 communicating with one of the applications. The web browser 60 accesses the URL set by one application.

ところで、S73で他方のアプリケーションがPLC1にインストールされていないと判定された場合、CPU41aはS77に進む。 By the way, when it is determined in S73 that the other application is not installed in the PLC 1, the CPU 41a proceeds to S77.

S77でCPU41a(一方のアプリケーション)は、ユーザにより要求された表示画面を表示できないことを示すメッセージを出力(表示)する。この処理は、たとえば、アプリケーション管理部605が、一方のアプリケーションに対して、他方のアプリケーションがインストールされていないことを回答することと、一方のアプリケーションがこの回答に基づき、表示画面を表示できないことを示すメッセージを出力(表示)することと、を含んでもよい。 In S77, the CPU 41a (one application) outputs (displays) a message indicating that the display screen requested by the user cannot be displayed. In this process, for example, application management unit 605 replies to one application that the other application is not installed, and based on this reply, one application notifies that the display screen cannot be displayed. and outputting (displaying) a message indicating.

図71は主に他方のアプリケーションにおいて実行される表示画面の表示処理を示している。 FIG. 71 shows display processing of the display screen mainly executed in the other application.

S81でCPU41a(他方のアプリケーションまたはWebサーバ82)は、他方のアプリケーションのURLへのアクセスがあるかどうかを判定する。上述されたように、Webブラウザ60は、一方のアプリケーションから指定されたURLに対してアクセスする。他方のアプリケーションは、URLに対応するWebサーバ82を介して、表示画面を要求されたことを認識する。他方のアプリケーションのURLへのアクセスが検知されると、CPU41aはS82に進む。 In S81, the CPU 41a (the other application or the Web server 82) determines whether there is access to the URL of the other application. As described above, the web browser 60 accesses the URL specified by one of the applications. The other application recognizes that the display screen has been requested via the web server 82 corresponding to the URL. When access to the URL of the other application is detected, the CPU 41a proceeds to S82.

S82でCPU41a(他方のアプリケーションまたはWebサーバ82)は、クエリパラメータにより指定された連携情報(例:イベントの発生時刻、ID)に関連する表示画面を探す。たとえば、PC2上で稼働しているWebブラウザ60がURLにしたがってWebサーバ82にアクセスすると、Webサーバ82はURLのクエリパラメータに基づき、他方のアプリケーションにクエリパラメータを渡す。具体的には、Webサーバ82はダッシュボード番号に基づき他方のアプリケーションを特定し、他方のアプリケーションにページ番号および時刻情報(イベントID)を渡す。これにより、他方のアプリケーションは、ページ番号および時刻情報(イベントID)を入手する。このWebサーバ82は他方のアプリケーションに設けられていてもよいし、一方のアプリケーションに設けられていてもよいし、これらのアプリケーションから独立して設けられてもよい。他方のアプリケーションは、これらの連携情報に基づき表示画面を特定する。たとえば、他方のアプリケーションは、ページ番号に対応する特定の表示画面(例:分析レポート110)が要求されていることを認識する。さらに、他方のアプリケーションは、時刻情報(またはイベントID)に基づき、複数の表示画面のうち、この時刻情報に紐づけられている表示画面を検索して抽出する。時刻情報がイベント発生時刻(例:時刻t3)である場合、表示画面に表示されているシンボル値が収集された収集期間(例:時刻t1から時刻t5までの期間)に、イベント発生時刻(例:時刻t3)が含まれているかどうかに基づき、表示画面がサーチされる(t1<t3<t5)。このサーチは、表示画面(表示画面を生成するために必要なデータ群)を保持している記憶装置(例:メモリ42a、運転記録記憶部37、リムーバブルメディア、データサーバ)に対して実行される。 In S82, the CPU 41a (the other application or Web server 82) searches for a display screen related to the link information (eg, event occurrence time, ID) specified by the query parameter. For example, when Web browser 60 running on PC 2 accesses Web server 82 according to a URL, Web server 82 passes query parameters to the other application based on the query parameters of the URL. Specifically, the Web server 82 identifies the other application based on the dashboard number, and passes the page number and time information (event ID) to the other application. The other application thereby obtains the page number and time information (event ID). This Web server 82 may be provided in the other application, may be provided in one application, or may be provided independently of these applications. The other application identifies the display screen based on these linkage information. For example, the other application recognizes that a particular display screen (eg, analysis report 110) corresponding to the page number is requested. Furthermore, based on the time information (or the event ID), the other application searches and extracts the display screen linked to this time information from among the plurality of display screens. When the time information is the event occurrence time (eg time t3), the event occurrence time (eg : time t3), the display screen is searched (t1<t3<t5). This search is executed with respect to a storage device (eg, memory 42a, driving record storage unit 37, removable media, data server) holding display screens (data group necessary for generating display screens). .

S83でCPU41aは、一方のアプリケーションから要求された表示画面が見つかったかどうかを判定する。表示画面が見つかれば、CPU41aはS84に進む。なお、表示画面が見つからなければ、CPU41aはS87に進む。S87でCPU41aは、要求された表示画面が無いことを示すメッセージを出力する。このメッセージは他方のアプリケーションの表示画面として出力されてもよい。表示画面が見つかれば、CPU41aはS84に進む。 In S83, the CPU 41a determines whether the display screen requested by one of the applications has been found. If the display screen is found, the CPU 41a proceeds to S84. If the display screen is not found, the CPU 41a proceeds to S87. In S87, the CPU 41a outputs a message indicating that there is no requested display screen. This message may be output as the display screen of the other application. If the display screen is found, the CPU 41a proceeds to S84.

S84でCPU41aは、一方のアプリケーションから要求された表示画面を提供する。たとえば、CPU41aは、要求された表示画面を表示するために必要なデータ群(例:ダッシュボードテンプレート、シンボル値、シンボル値から演算により求められた数値など)を、Webサーバ82を介して、Webブラウザ60に送信する。これにより、Webブラウザ60は、他方のアプリケーションについての表示画面を表示する。たとえば、第1アプリケーション603の詳細画面310に時刻t2から時刻t4に収集されたシンボル値に基づくサイクル時間の測定値が表示される。その一方で第2アプリケーション604の分析レポート110には、時刻t1から時刻t5に収集されたシンボル値に関する分析結果が表示される。ここで、t1<t2<t3<t4<t5であるため、第1アプリケーション603の詳細画面310と分析レポート110とは同一のイベントの影響を受けたシンボル値に関する情報を表示することになる。 In S84, the CPU 41a provides the display screen requested by one of the applications. For example, the CPU 41a transmits a group of data necessary for displaying the requested display screen (eg, dashboard template, symbol values, numerical values calculated from the symbol values, etc.) via the web server 82. Send to browser 60 . As a result, the web browser 60 displays the display screen for the other application. For example, detail screen 310 of first application 603 displays cycle time measurements based on symbol values collected from time t2 to time t4. On the other hand, the analysis report 110 of the second application 604 displays analysis results for symbol values collected from time t1 to time t5. Here, since t1<t2<t3<t4<t5, the detailed screen 310 of the first application 603 and the analysis report 110 display information about symbol values affected by the same event.

図72は二つのアプリケーションの表示画面を連携させる手法の概念を説明する図である。一例として、第1アプリケーション603が工程監視(タイミング監視、波形上下監視、波形ガードバンド監視)を実行していることが想定されている。第1アプリケーション603がPLC1により収集されたシンボル値に基づきイベントを検知する(時刻t3)。第1アプリケーション603は、イベントをトリガとして、監視の履歴を保存する。この例では、履歴は、時刻t2から時刻t4までに収集されたシンボル値に基づき演算された測定値(1サイクルの時間的な長さ(測定値)と、収集時刻の情報(t2~t4)を含む。その一方で、第2アプリケーション604は、イベントをトリガとして、基本ユニット3に運転記録74を退避させ、運転記録74に基づき分析レポート110を作成し、基本ユニット3に保存する。ここで、分析レポート110は、時刻t1から時刻t5に収集されたシンボル値に基づき作成される。図72から明らかなように、履歴の収集期間である時刻t2から時刻t4までの期間には、イベントの発生時刻である時刻t3が含まれる。同様に、分析レポート110に紐づけられている時刻t1から時刻t5までの期間(分析期間)にも時刻t3が含まれる。このように、イベントの発生時刻t3に基づき、第1アプリケーション603の表示画面と第2アプリケーション604の表示画面とが時刻的に連携する。連携に必要となる連携情報としてイベントの発生時刻t3は必須ではなく、イベントを特定可能な情報(例:イベントID)が連携情報として採用されてもよい。 FIG. 72 is a diagram for explaining the concept of a technique for linking the display screens of two applications. As an example, it is assumed that the first application 603 is executing process monitoring (timing monitoring, waveform up/down monitoring, waveform guard band monitoring). The first application 603 detects an event based on the symbol values collected by PLC1 (time t3). The first application 603 saves the history of monitoring using an event as a trigger. In this example, the history includes measured values (time length of one cycle (measured values) calculated based on symbol values collected from time t2 to time t4, and collection time information (t2 to t4). On the other hand, the second application 604 uses the event as a trigger to save the driving record 74 in the basic unit 3, creates the analysis report 110 based on the driving record 74, and saves it in the basic unit 3. Here, , the analysis report 110 is created based on the symbol values collected from time t1 to time t5.As is clear from FIG. Time t3, which is the occurrence time, is included in. Similarly, time t3 is included in the period (analysis period) from time t1 to time t5 linked to the analysis report 110. In this way, time t3 is included in the event occurrence time. Based on t3, the display screen of the first application 603 and the display screen of the second application 604 are time-linked.As linkage information required for linkage, the event occurrence time t3 is not essential, and the event can be specified. Information (eg, event ID) may be employed as the cooperation information.

(3)シーケンス
図73は第1アプリケーション603が工程監視を実行するアプリケーションであり、第2アプリケーション604が運転分析を実行するアプリケーションである場合に、第1アプリケーション603から第2アプリケーション604へ画面遷移する事例を示している。ただし、Sq1からSq5は運転記録74と分析レポート110の作成および保存処理に関する処理を含む。
(3) Sequence FIG. 73 shows screen transition from the first application 603 to the second application 604 when the first application 603 is an application for executing process monitoring and the second application 604 is an application for executing operation analysis. An example is shown. However, Sq1 to Sq5 include processing related to creation and storage processing of the driving record 74 and analysis report 110 .

Sq1で、運転記録610は第1アプリケーション603から要求に応じてシンボル値を送信する。第1アプリケーション603は、シンボル値またはシンボル値から演算された数値を監視画面に表示する。第1アプリケーション603は、シンボル値または数値に基づき異常状態(イベント)を検知する。 At Sq 1 , drive record 610 sends symbol values as requested by first application 603 . The first application 603 displays the symbol value or a numerical value calculated from the symbol value on the monitoring screen. The first application 603 detects abnormal conditions (events) based on symbol values or numerical values.

Sq2で第1アプリケーション603は、イベントが検知されたため、イベント通知を運転記録610に送信する。運転記録610のイベント管理部611はイベント通知に基づきイベントを管理する。 In Sq2, the first application 603 sends an event notification to the driving record 610 since the event has been detected. The event management section 611 of the driving record 610 manages the event based on the event notification.

Sq3で第1アプリケーション603は、イベントが検知されたため、運転記録の保存要求を運転記録610の記録管理部612へ送信する。 In Sq3, the first application 603 transmits a drive record storage request to the record management unit 612 of the drive record 610 since the event is detected.

Sq4で記録管理部612は保存要求に基づき運転記録74を保存し、保存通知を第2アプリケーション604へ送信する。 In Sq4, the record management unit 612 saves the driving record 74 based on the save request and transmits a save notification to the second application 604 .

Sq5で第2アプリケーション604は保存通知に基づき運転記録74を分析して分析結果77(分析レポート110)を作成し、分析結果77(分析レポート110)を記録管理部612へ送信する。 In Sq5, the second application 604 analyzes the driving record 74 based on the storage notification, creates an analysis result 77 (analysis report 110), and transmits the analysis result 77 (analysis report 110) to the record management unit 612.

Sq11で第1アプリケーション603は、ユーザにより入力される画面遷移の指示に基づき、分析レポート110を表示するために必要となる情報を要求するための情報要求をアプリケーション管理部605へ送信する。 In Sq11, the first application 603 transmits an information request for requesting information necessary for displaying the analysis report 110 to the application management unit 605 based on the screen transition instruction input by the user.

Sq12でアプリケーション管理部605は、第1アプリケーション603からの情報要求にしたがって連携対象である第2アプリケーション604を特定し、第2アプリケーション604に対して情報要求を送信する。 In Sq<b>12 , the application management unit 605 identifies the second application 604 to be linked according to the information request from the first application 603 and transmits the information request to the second application 604 .

Sq13で第2アプリケーション604は、情報要求を受信すると、第2アプリケーション604のダッシュボード番号とページ番号とをアプリケーション管理部605へ送信する。 In Sq 13 , upon receiving the information request, the second application 604 transmits the dashboard number and page number of the second application 604 to the application management unit 605 .

Sq14でアプリケーション管理部605は、第2アプリケーション604のダッシュボード番号とページ番号とを第1アプリケーション603へ送信する。 In Sq<b>14 , the application management unit 605 transmits the dashboard number and page number of the second application 604 to the first application 603 .

Sq15で第1アプリケーション603は、第2アプリケーション604のダッシュボード番号とページ番号とを受信し、これらに基づきURLを作成し、URLを使用した画面要求を送信する。上述されたように、URLには、第1アプリケーション603の表示画面に関連付けられているイベントを特定可能な情報(例:イベント発生時刻、イベントID)などがクエリパラメータとして付加されてもよい。 In Sq15, the first application 603 receives the dashboard number and page number of the second application 604, creates a URL based on these, and transmits a screen request using the URL. As described above, information that can identify an event associated with the display screen of the first application 603 (eg, event occurrence time, event ID) or the like may be added to the URL as a query parameter.

Sq16で第2アプリケーション604(Webサーバ)は、第1アプリケーション603(Webブラウザ)からの画面要求にしたがって、表示画面に必要となる画面情報を要求するための画面情報要求を運転記録610に送信する。画面情報要求は、たとえば、クエリパラメータとして設定されたページ番号により特定されるWebページ(分析レポート110)を構成する部品データ(画面情報)の読み出し要求である。 In Sq16, the second application 604 (web server) transmits a screen information request for requesting screen information necessary for the display screen to the driving record 610 in accordance with the screen request from the first application 603 (web browser). . The screen information request is, for example, a request to read component data (screen information) forming a web page (analysis report 110) specified by a page number set as a query parameter.

Sq17で運転記録610は、分析レポート110の画面情報を第2アプリケーション604へ送信する。 In Sq17, the driving record 610 transmits the screen information of the analysis report 110 to the second application 604. FIG.

Sq18で第2アプリケーション604は画面情報を第1アプリケーション603へ送信する。これにより、監視画面に表示されたイベントに関連する分析レポート110が分析画面に表示される。 The second application 604 transmits the screen information to the first application 603 in Sq18. As a result, an analysis report 110 related to the event displayed on the monitoring screen is displayed on the analysis screen.

図74は第1アプリケーション603が工程監視を実行するアプリケーションであり、第2アプリケーション604が運転分析を実行するアプリケーションである場合に、第2アプリケーション604から第1アプリケーション603へ画面遷移する事例を示している。ただし、Sq1からSq5はすでに説明された通りである。 FIG. 74 shows an example of screen transition from the second application 604 to the first application 603 when the first application 603 is an application for executing process monitoring and the second application 604 is an application for executing operation analysis. there is However, Sq1 to Sq5 are as already explained.

Sq21で第2アプリケーション604は、ユーザにより入力される画面遷移の指示に基づき、監視画面を表示するために必要となる情報を要求するための情報要求をアプリケーション管理部605へ送信する。 In Sq21, the second application 604 transmits an information request to the application management unit 605 for requesting information necessary for displaying the monitoring screen based on the screen transition instruction input by the user.

Sq22でアプリケーション管理部605は、第2アプリケーション604からの情報要求にしたがって連携対象である第1アプリケーション603を特定し、第1アプリケーション603に対して情報要求を送信する。 In Sq22, the application management unit 605 identifies the first application 603 to be linked according to the information request from the second application 604, and transmits the information request to the first application 603. FIG.

Sq23で第1アプリケーション603は、情報要求を受信すると、第1アプリケーション603のダッシュボード番号とページ番号とをアプリケーション管理部605へ送信する。 In Sq 23 , upon receiving the information request, the first application 603 transmits the dashboard number and page number of the first application 603 to the application management unit 605 .

Sq24でアプリケーション管理部605は、第1アプリケーション603のダッシュボード番号とページ番号とを第2アプリケーション604へ送信する。 In Sq 24 , the application management unit 605 transmits the dashboard number and page number of the first application 603 to the second application 604 .

Sq25で第2アプリケーション604は、第1アプリケーション603のダッシュボード番号とページ番号とを受信し、これらに基づきURLを作成し、URLを使用した画面情報要求を送信する。上述されたように、URLには、第2アプリケーション604の表示画面に関連付けられているイベントを特定可能な情報(例:イベント発生時刻、イベントID)などがクエリパラメータとして付加されてもよい。 In Sq25, the second application 604 receives the dashboard number and page number of the first application 603, creates a URL based on these, and transmits a screen information request using the URL. As described above, information that can identify an event associated with the display screen of the second application 604 (eg, event occurrence time, event ID) or the like may be added to the URL as a query parameter.

Sq26で第1アプリケーション603(Webサーバ)は、第2アプリケーション604(Webブラウザ)からの画面情報要求に対応するWebページ(監視画面)を構成する部品データ(履歴を含む画面情報)を読み出し、画面情報を第1アプリケーション603へ送信する。これにより、分析レポート110に表示されたイベントに関連する工程監視の結果が監視画面に表示される。 In Sq26, the first application 603 (web server) reads the component data (screen information including history) that constitutes the web page (monitoring screen) corresponding to the screen information request from the second application 604 (web browser), and displays the screen information. Send the information to the first application 603 . As a result, the results of process monitoring related to the event displayed in the analysis report 110 are displayed on the monitoring screen.

<第3実施形態の変形例>
(変形例1)
ここで第1アプリケーション603、第2アプリケーション604および表示画面の他の例について説明する。第1アプリケーション603は、シンボル値を波形として表示するアプリケーションであってもよい。第2アプリケーション604は、シンボル値に統計処理を施して統計データを求めて表示するアプリケーションであってもよい。第1アプリケーション603は、シンボル値に基づきイベントを検知すると、波形データを履歴として保存する。第2アプリケーション604は、上述のイベント通知に基づき、統計データを保存する。ここで、波形データの履歴に紐づけられた時刻範囲(t2~t4)にはイベント発生時刻t3が含まれる。同様に、統計データの統計期間(t1~t5)にもイベント発生時刻t3が含まれる。そのため、イベント発生時刻t3のような連携情報に基づき、第1アプリケーション603の表示画面から、第2アプリケーション604の表示画面へと、シンボル値またはイベントの関連性を維持しながら、画面遷移することが可能となる。
<Modified example of the third embodiment>
(Modification 1)
Here, another example of the first application 603, the second application 604, and the display screen will be described. The first application 603 may be an application that displays symbol values as waveforms. The second application 604 may be an application that performs statistical processing on symbol values to obtain and display statistical data. When the first application 603 detects an event based on the symbol value, it saves the waveform data as history. The second application 604 saves statistical data based on the event notifications described above. Here, the event occurrence time t3 is included in the time range (t2 to t4) associated with the history of the waveform data. Similarly, the statistic period (t1 to t5) of the statistic data also includes the event occurrence time t3. Therefore, based on the linkage information such as the event occurrence time t3, the display screen of the first application 603 can be changed to the display screen of the second application 604 while maintaining the association of symbol values or events. It becomes possible.

(変形例2)
一方のアプリケーションから画面遷移可能な他方のアプリケーションは複数個であってもよい。さらに、一方のアプリケーションから画面遷移可能な他方のアプリケーションはユーザにより選択されてもよい。上述された実施形態では、アプリケーション管理部605によって1個の他方のアプリケーションのダッシュボード番号が特定されているが、これは一例にすぎない。たとえば、アプリケーション管理部605は、一方のアプリケーションに対して連携可能な複数個の他方のアプリケーションの一覧を保持している場合がある。この場合、アプリケーション管理部605は、一覧を表示して、一方のアプリケーションに対して連携させる他方のアプリケーションを一覧からユーザに選択させてもよい。これにより、アプリケーション管理部605は、ユーザにより選択された他方のアプリケーションのダッシュボード番号を一方のアプリケーションに対して回答してもよい。
(Modification 2)
There may be a plurality of other applications that allow screen transition from one application. Furthermore, the user may select another application to which screen transition is possible from one application. In the embodiment described above, the dashboard number of one other application is specified by the application manager 605, but this is only an example. For example, the application management unit 605 may hold a list of multiple applications that can cooperate with one application. In this case, the application management unit 605 may display a list and allow the user to select from the list an application to be linked with one application. Accordingly, the application management unit 605 may reply to one application with the dashboard number of the other application selected by the user.

(変形例3)
連携情報は時刻情報以外の情報であってもよい。上述された例ではURLのクエリパラメータに時刻情報であるdatetimeが採用されているが、他のクエリパラメータが採用されてもよい。あるイベントが発生したときに、分析レポート110と履歴とが同一フォルダの異なるサブフォルダに保存されてもよい。このフォルダは基本ユニット3の記憶装置32、メモリ42a、リムーバブルメディア、データサーバのいずれに記憶されてもよい。さらに、当該フォルダのフォルダ名またはサブフォルダのフォルダ名がクエリパラメータ(pathname)として採用されてもよい。このように、フォルダのフォルダ名またはサブフォルダのフォルダ名がなどのパス情報に基づき、S83において表示画面が検索されて特定されてもよい。
(Modification 3)
The cooperation information may be information other than time information. In the example described above, datetime, which is time information, is adopted as the query parameter of the URL, but other query parameters may be adopted. Analysis reports 110 and history may be saved in different subfolders of the same folder when an event occurs. This folder may be stored in any of the storage device 32 of the base unit 3, memory 42a, removable media, and data server. Furthermore, the folder name of the folder or the folder name of the subfolder may be adopted as the query parameter (pathname). Thus, the display screen may be searched and specified in S83 based on the path information such as the folder name of the folder or the folder name of the subfolder.

(変形例4)
二つのアプリケーション間で表示画面を連携させるための連携情報はクエリパラメータでなくともよい。上述の例では、クエリパラメータに時刻情報が設定されているが、時刻情報はURLから省略されてもよい。この場合、S71で画面遷移が指示されると、一方のアプリケーションは、アプリケーション管理部605に対して、ダッシュボード番号およびページ番号を要求するとともに、イベントの発生時刻t3を渡す。アプリケーション管理部605は、一方のアプリケーションに対して連携すべき他方のアプリケーションを特定すると、他方のアプリケーションに対してイベントの発生時刻t3を渡す。他方のアプリケーションは、イベントの発生時刻t3を保持する。この場合、S75で作成されるURLのクエリパラメータには時刻情報が含まれない。S82で、他方のアプリケーションは、クエリパラメータにより指定されたページ番号により表示画面を特定し、予め保存しておいたイベントの発生時刻t3をシンボル値の時刻範囲として含む表示画面を探す。このように、連携情報は、URLのクエリパラメータとして渡されずに、別の手法により渡されてもよい。
(Modification 4)
Linkage information for linking display screens between two applications need not be a query parameter. Although the time information is set in the query parameter in the above example, the time information may be omitted from the URL. In this case, when a screen transition is instructed in S71, one application requests the dashboard number and page number from the application management unit 605, and passes the event occurrence time t3. When the application management unit 605 specifies the other application to be linked with one application, the application management unit 605 passes the event occurrence time t3 to the other application. The other application holds event occurrence time t3. In this case, time information is not included in the query parameter of the URL created in S75. In S82, the other application identifies the display screen by the page number specified by the query parameter, and searches for a display screen that includes the previously saved event occurrence time t3 as the time range of the symbol value. In this way, the federation information may be passed by another technique instead of being passed as a URL query parameter.

(変形例5)
上述の例では、第1アプリケーション603における履歴の保存トリガと第2アプリケーション604における運転記録74の保存トリガとして、第1アプリケーション603によりイベント(異常状態)が検知されたことが採用されている。しかし、これは一例にすぎない。たとえば、PLC1に接続された外部センサが所定のイベントを検知してもよい。外部センサが所定のイベントを検知すると、外部センサに割り当てられたビットデバイスのデバイス値が変化する(オフ⇒オン)。外部センサに割り当てられたビットデバイスが変化すると、基本ユニット3のCPU31は、履歴の保存要求を第1アプリケーション603に発行し、運転記録74の保存要求をロギング部73に発行する。第1アプリケーション603または第2アプリケーション604は一方のアプリケーションとして、保存要求の受信時刻を上述のイベント発生時刻t3として採用できる。このように、履歴の保存時刻と運転記録74の保存時刻とに基づき、第1アプリケーション603の表示画面と、第2アプリケーション604の表示画面とが連携可能とされてもよい。他にも例えば、第2アプリケーション604によりイベント(異常状態)を検知してもよいし、第1アプリケーション603と第2アプリケーション604の両方によりイベントを検知してもよい。後者の場合、第1アプリケーション603と第2アプリケーション604が互いに独立してイベントを検知することになるため、対応するイベントを紐付ける必要がある。例えば、第1アプリケーション603により検知されるイベントと、第2アプリケーション604により検知されるイベントとが同一タイミングで発生する場合、その同一タイミングをサーチして紐付ければよい(対応づければよい)。この場合、保存データを管理する時刻情報は、絶対時刻でも相対時刻でも可能である。一方で、第1アプリケーション603により検知されるイベントと、第2アプリケーション604により検知されるイベントとが同一タイミングで発生しない場合(両者のイベントタイミングがずれる場合)、例えば最も近い時刻を探索する等の手段により、対応するイベントを紐付ければよい(対応づければよい)。この場合、保存データを管理する時刻情報は絶対時刻である必要がある。
(Modification 5)
In the above example, detection of an event (abnormal state) by the first application 603 is used as the trigger for saving the history in the first application 603 and the trigger for saving the driving record 74 in the second application 604 . However, this is only an example. For example, an external sensor connected to PLC 1 may detect certain events. When the external sensor detects a predetermined event, the device value of the bit device assigned to the external sensor changes (OFF⇒ON). When the bit device assigned to the external sensor changes, the CPU 31 of the basic unit 3 issues a history storage request to the first application 603 and issues a drive record 74 storage request to the logging unit 73 . As one of the applications, the first application 603 or the second application 604 can adopt the reception time of the save request as the event occurrence time t3. In this way, the display screen of the first application 603 and the display screen of the second application 604 may be linked based on the storage time of the history and the storage time of the driving record 74 . Alternatively, for example, the second application 604 may detect an event (abnormal state), or both the first application 603 and the second application 604 may detect the event. In the latter case, since the first application 603 and the second application 604 detect events independently of each other, it is necessary to link the corresponding events. For example, when an event detected by the first application 603 and an event detected by the second application 604 occur at the same timing, the same timing may be searched and linked (associated). In this case, the time information for managing the saved data can be absolute time or relative time. On the other hand, if the event detected by the first application 603 and the event detected by the second application 604 do not occur at the same timing (when the event timings of the two do not coincide), for example, searching for the closest time is performed. Corresponding events may be linked (associated) by means. In this case, the time information used to manage the saved data must be absolute time.

(変形例6)
上述された例は、主に、履歴は拡張ユニット4aのメモリ42aに保持され、運転記録74は基本ユニット3の記憶装置32に保持されることが説明されている。しかし、履歴および運転記録74が、PLC1の外部に設けられ、ネットワークを介して接続可能なデータサーバ(データベース)に保存されて、PLC1からアクセスされてもよい。この場合、データサーバは、履歴のパス名と、運転記録74(分析レポート110)のパス名とを保持するリレーショナルデータベースをさらに有してもよい。第1アプリケーション603は、履歴をデータサーバにアップロードし、履歴のパス名をリレーショナルデータベースのレコードに保存する。第2アプリケーション604は、運転記録74(分析レポート110)をデータサーバにアップロードするとともに、運転記録74(分析レポート110)のパス名をリレーショナルデータベースのレコードに保存する。上述されたようにそれぞれの保存トリガは共通している。このように、リレーショナルデータベースのレコードを介して、履歴と運転記録74(分析レポート110)とが紐付けされてもよい。
(Modification 6)
The examples described above mainly describe that the history is held in the memory 42a of the expansion unit 4a and the driving record 74 is held in the storage device 32 of the basic unit 3. FIG. However, the history and driving record 74 may be provided outside the PLC 1, stored in a data server (database) connectable via a network, and accessed from the PLC 1. In this case, the data server may further have a relational database that holds pathnames of history and pathnames of driving records 74 (analysis reports 110). The first application 603 uploads the history to the data server and saves the pathname of the history to the relational database record. The second application 604 uploads the driving record 74 (analysis report 110) to the data server and saves the path name of the driving record 74 (analysis report 110) in the relational database record. Each save trigger is common as described above. In this way, the history and the driving record 74 (analysis report 110) may be linked via records in the relational database.

(変形例7)
履歴は、監視されたシンボル値そのもの、または、データ処理部283によりシンボル値を分析することで生成されたデータであってもよい。この場合、履歴の保存形式はCSV形式であってもよい。また、上述した図73では、第1アプリケーション603から第2アプリケーション604へ画面遷移する事例を示したが、例えば、第1アプリケーション603から別の第1アプリケーション603'(図示せず)へ画面遷移する事例について補足する。両方の第1アプリケーション603、603'は、いずれもイベントを検知する機能を有し、運転記録アプリケーション610にイベント通知を行ってもよい。どちらのイベント検知を優先するかは、ユーザが予め設定してもよい(例えば、一方の第1アプリケーションのイベント検知のみが有効になるよう設定してもよいし、両方の第1アプリケーション603、603'のイベント検知のうち早い方が有効になるよう設定してもよい)。第1アプリケーション603、603'は、運転記録アプリケーション610にイベント通知を行ったことを互いに通知することで、その通知タイミングに基づいて、それぞれ第1保存データを第1のイベント画面に表示する。そして、その後は図73のSq11以降のステップと同様に考えることができる。第1アプリケーション603、603'が同じ種類のアプリケーションである場合には、ダッシュボード番号、ページ番号などの情報やり取りを省略することも考えられる(どのダッシュボード番号とページ番号にするか予め決めておけばよい)。但し、第1アプリケーション603、603'が違う種類のアプリケーションである場合も考慮して、ダッシュボード番号、ページ番号などの情報やり取りは省略しない方が好ましい。なお、画面遷移先のイベント画面を特定する場合には、第1アプリケーション603、603'のイベント検知が同一タイミングで発生するときは、絶対時刻または相対時刻により対応付けられるイベント検知のタイミングをサーチすればよい一方、第1アプリケーション603、603'のイベント検知がずれるときは、最も近い時刻により対応付けられるイベント検知のタイミングをサーチすればよい。
(Modification 7)
The history may be the monitored symbol values themselves or data generated by analyzing the symbol values by the data processing unit 283 . In this case, the history storage format may be CSV format. Also, FIG. 73 described above shows an example of screen transition from the first application 603 to the second application 604, but for example, screen transition from the first application 603 to another first application 603' (not shown) Supplementary examples. Both of the first applications 603 and 603' have the function of detecting events, and may notify the driving record application 610 of the event. Which event detection has priority may be set by the user in advance (for example, it may be set so that only one of the first applications is enabled for event detection, or both first applications 603, 603 may be set to enable event detection). ' can be set so that the earliest event detection is enabled). The first applications 603 and 603' notify each other that the driving record application 610 has been notified of the event, and display the first saved data on the first event screen based on the notification timing. After that, the steps after Sq11 in FIG. 73 can be considered in the same way. If the first applications 603 and 603' are of the same type, it is conceivable to omit the exchange of information such as the dashboard number and page number (which dashboard number and page number should be determined in advance). should be fine). However, considering the case where the first applications 603 and 603' are different types of applications, it is preferable not to omit exchange of information such as the dashboard number and page number. When specifying the event screen of the screen transition destination, if the event detections of the first applications 603 and 603' occur at the same timing, the timing of the event detection associated with the absolute time or the relative time should be searched. On the other hand, if the event detections of the first applications 603 and 603' are out of sync, it is sufficient to search for the event detection timing associated with the closest time.

(変形例8)
図75は、第1アプリケーション603の一例として、PLCの稼働状態についての統計情報をモニタする稼働監視モニタ620を示している。図75は、例えば図32のダッシュボード300に表示された所定ボタン(稼働監視モニタ620を起動するためのボタン)をクリックすることで表示される。図76は、第2アプリケーション604の一例として、アラーム履歴を表示するアラーム情報モニタ630を示している。
(Modification 8)
FIG. 75 shows, as an example of the first application 603, an operation monitoring monitor 620 that monitors statistical information about the PLC operating status. FIG. 75 is displayed, for example, by clicking a predetermined button (button for activating the operation monitoring monitor 620) displayed on the dashboard 300 of FIG. FIG. 76 shows, as an example of the second application 604, an alarm information monitor 630 that displays alarm history.

図75に示すように、稼働監視モニタ620では、統計情報として、「稼働中」「故障中」「計画停止中」の項目に分類された円グラフが上方のグラフエリア621に表示されている。「稼働中」は、PLCが正常に稼働している状態を示し、「故障中」は、PLCが故障により停止している状態を示し、「計画停止中」は、計画的にPLCを停止している状態を示している。なお、稼働状態は、例えば、所定のビットデバイス信号のON状態が続く時間を計測することで認識することができる。また、稼働監視モニタ620の下方には、1日の稼働状況が一目で分かる棒グラフ622が表示されている。 As shown in FIG. 75, in the operation monitoring monitor 620, a pie chart classified into items of "in operation", "out of order", and "planned suspension" is displayed in an upper graph area 621 as statistical information. "In operation" indicates a state in which the PLC is operating normally, "Out of order" indicates a state in which the PLC is stopped due to a failure, and "Planned stop" indicates a state in which the PLC is stopped in a planned manner. This indicates that the The operating state can be recognized, for example, by measuring the duration of the ON state of a predetermined bit device signal. A bar graph 622 is displayed below the operation monitoring monitor 620 so that the operating status of the day can be understood at a glance.

一方、図76に示すように、アラーム情報モニタ630では、時刻範囲631として設定された時間範囲におけるアラームの履歴632が表示される。図76では、2022/1/14の2時から6時までの間に発生したアラームの履歴が一覧表示されている。 On the other hand, as shown in FIG. 76, an alarm information monitor 630 displays an alarm history 632 within a time range set as a time range 631 . In FIG. 76, a list of the history of alarms generated between 2:00 and 6:00 on January 14, 2022 is displayed.

ここで、図27に示すHMI16、或いは、PC2a、2bなどの外部機器に図75の稼働監視モニタが表示されている場合において、ユーザは、棒グラフの「故障中」の部分をクリックすると、「故障中」の時刻範囲が、「アラーム情報モニタ」の時刻範囲631として自動的に設定され、設定された時刻範囲に発生したアラームの履歴632がアラーム情報モニタ630において一覧表示される(図76)。 75 is displayed on the HMI 16 shown in FIG. 27 or an external device such as the PCs 2a and 2b, the user clicks on the "out of order" portion of the bar graph to select "out of order". The "medium" time range is automatically set as the "alarm information monitor" time range 631, and a list of the alarm history 632 that occurred during the set time range is displayed on the alarm information monitor 630 (FIG. 76).

このように、画面遷移のトリガとなる画面遷移指示部品は、必ずしも、図65や図66に示すような専用ボタンでなくてもよく、円グラフや棒グラフなどの図形部品の一部によって構成されてもよい。また、ここでは時刻範囲を用いて例示したように、一方のアプリケーションのパラメータを、他方のアプリケーションに引数として渡してもよい。パラメータとしては、デバイスや変数などが含まれていてもよい。 As described above, the screen transition instruction component that triggers screen transition does not necessarily have to be a dedicated button as shown in FIGS. good too. Also, as exemplified here with time ranges, parameters of one application may be passed as arguments to the other application. Parameters may include devices, variables, and the like.

なお、変形例8では、「故障中」の時刻範囲がそのまま「アラーム情報モニタ」の時刻範囲として自動的に設定されているが、これは一例にすぎない。例えば、開始時間は2時よりも少し前の時間に自動設定されてもよい。故障中となる少し前に原因のアラームが発生している可能性があるからである。 In Modification 8, the time range of "out of order" is automatically set as the time range of "alarm information monitor", but this is only an example. For example, the start time may be automatically set to a time slightly earlier than 2:00. This is because there is a possibility that an alarm that is the cause may have occurred shortly before the failure occurred.

また、変形例8では、「故障中」の時刻範囲に発生したアラームの履歴632が一覧表示されているが、これは一例にすぎない。例えば、アラーム履歴632としては全てのアラームを一覧表示しておき、「故障中」の時刻範囲の開始時刻に一番近い発生時刻のアラームを強調表示してもよい。 Further, in Modified Example 8, a list of the history 632 of alarms generated in the time range of "out of order" is displayed, but this is only an example. For example, a list of all alarms may be displayed as the alarm history 632, and the alarm whose occurrence time is closest to the start time of the "out of order" time range may be highlighted.

(変形例9)
なお、請求項1でいうプログラマブルロジックコントローラは、物理的に複数台のプログラマブルロジックコントローラにより構成されていてもよい。例えば、エッジ層向けの第1のプログラマブルロジックコントローラでは第1アプリケーションが実行され、設備層向けの第2のプログラマブルロジックコントローラでは第2アプリケーションが実行されてもよい。この場合、第1アプリケーションと第2アプリケーションとの間のデータやり取り(例えば図73や図74に示す情報など)は、通信を介して行われる。
(Modification 9)
Incidentally, the programmable logic controller in claim 1 may be physically composed of a plurality of programmable logic controllers. For example, a first programmable logic controller for the edge tier may execute a first application, and a second programmable logic controller for the equipment tier may execute a second application. In this case, data exchange (for example, information shown in FIGS. 73 and 74) between the first application and the second application is performed through communication.

<第3実施形態のまとめ>
[観点1、17]
CPU31はユーザプログラムを繰り返し実行するユーザプログラム実行手段の一例である。デバイス部34に確保されるデバイスおよび変数は、ユーザプログラム実行手段によりアクセスされるデータを記憶するデバイスまたは変数である複数の保持手段の一例である。CPU31および収集部72は、複数の保持手段のうち収集対象の保持手段に記憶されているデータを時系列に収集することにより時系列データを生成する収集手段の一例である。CPU31、CPU41aおよびアプリケーション管理部605は、複数のアプリケーションプログラムを管理するアプリ管理手段の一例である。アプリケーションプログラム602a~602nは、プログラマブルロジックコントローラにインストールされるプログラムの一例である。第1アプリケーションプログラム602aは、複数の保持手段に記憶されているデータに基づきプログラマブルロジックコントローラの動作状態を監視する監視データを表示画面に表示する第1アプリケーションプログラムの一例である。第1アプリケーションプログラム602aは、さらに、予め定められた条件が成立してイベント通知が発行された際の監視データが複数保存された第1保存データを第1のイベント画面(例:ダッシュボード300、詳細画面310)に表示する。第2アプリケーションプログラム602bは、収集手段により生成された時系列データであって、イベント通知が発行された時点を基準として保存された所定期間分の時系列データに関する第2保存データを第2のイベント画面(例:分析レポート110)に表示する第2アプリケーションプログラムの一例である。なお、第1アプリケーションプログラム602aは、予め定められた条件が成立してイベント通知が発行された後にダッシュボード300に表示される監視データが複数保存された第1保存データを第1のイベント画面に表示してもよい。
<Summary of Third Embodiment>
[Viewpoints 1 and 17]
The CPU 31 is an example of user program executing means for repeatedly executing a user program. The devices and variables secured in the device unit 34 are an example of a plurality of holding means which are devices or variables that store data accessed by the user program execution means. The CPU 31 and the collecting unit 72 are an example of collecting means for generating time-series data by collecting in time series data stored in a holding means to be collected among the plurality of holding means. CPU 31, CPU 41a and application management unit 605 are an example of application management means for managing a plurality of application programs. Application programs 602a-602n are examples of programs installed in programmable logic controllers. The first application program 602a is an example of a first application program that displays monitoring data for monitoring the operating state of the programmable logic controller on the display screen based on data stored in a plurality of holding units. The first application program 602a further stores a plurality of pieces of monitoring data when a predetermined condition is met and an event notification is issued, and the first saved data is displayed on the first event screen (eg, dashboard 300, displayed on the detailed screen 310). The second application program 602b converts the second stored data relating to the time-series data generated by the collection means for a predetermined period of time based on the point in time when the event notification was issued to the second event notification. It is an example of the 2nd application program displayed on a screen (example: analysis report 110). Note that the first application program 602a transfers the first saved data in which a plurality of pieces of monitoring data to be displayed on the dashboard 300 after a predetermined condition is met and an event notification is issued to the first event screen. may be displayed.

アプリケーションプログラム602a~602nは、以下のような様々な手段としてPLC1を機能される。画面生成手段(例:CPU41a、フロー・ダッシュボード作成部251、Webサーバ82)は、複数のアプリケーションプログラムのうち一方のアプリケーションプログラムにしたがったイベント画面(例:詳細画面310/分析レポート110)と他方のアプリケーションプログラムに従ったイベント画面(例:分析レポート110/詳細画面310)とを生成する。取得手段(例:CPU41a)は、アプリ管理手段からアクセス可能な他方のアプリケーションプログラムのアクセス情報(例:ダッシュボード番号、ページ番号、時刻情報、パス情報)を取得する。たとえば、取得手段(例:CPU41a)は、他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータにアクセスするために必要となるアクセス情報を取得する。特定手段(例:CPU41a)は、取得された他方のアプリケーションプログラムについてのアクセス情報(例:ダッシュボード番号、ページ番号)と、一方のアプリケーションプログラムにしたがって画面生成手段により生成される現在のイベント画面に対応するイベント(例:イベント発生時刻t3、イベントID、パス情報)とに基づいて、当該イベントに対応する他方のアプリケーションプログラムのイベント画面を特定する。命令生成手段(例:CPU41a)は、現在のイベント画面に表示される画面遷移指示部品(例:画面遷移指示ボタン601)に対するユーザ操作に基づいて、現在のイベント画面を、特定手段により特定されたイベント画面に遷移させる命令(例:クエリパラメータを伴うURLへのアクセスリクエスト)を生成する。PLCに関連して実行される複数のアプリケーションプログラムの表示画面を連携させることが可能となる。つまり、複数のアプリケーションプログラム間で表示データを関連させながらの画面遷移が容易となろう。 Application programs 602a-602n serve PLC 1 in a variety of ways, such as: The screen generation means (eg, CPU 41a, flow/dashboard creation unit 251, Web server 82) generates an event screen (eg, detailed screen 310/analysis report 110) according to one application program among a plurality of application programs and the other. event screen (eg, analysis report 110/detail screen 310) according to the application program of . Acquisition means (eg, CPU 41a) acquires access information (eg, dashboard number, page number, time information, path information) of the other application program accessible from the application management means. For example, the acquisition means (eg, CPU 41a) acquires access information required to access data used to display an event screen for the other application program. The identifying means (eg, CPU 41a) uses the acquired access information (eg, dashboard number, page number) for the other application program and the current event screen generated by the screen generating means according to the one application program. Based on the corresponding event (eg event occurrence time t3, event ID, path information), the event screen of the other application program corresponding to the event is specified. The command generating means (eg, CPU 41a) selects the current event screen based on the user's operation on the screen transition instruction component (eg, screen transition instruction button 601) displayed on the current event screen. Generates an instruction to transition to an event screen (eg, a request to access a URL with query parameters). It is possible to link the display screens of a plurality of application programs executed in association with the PLC. In other words, screen transitions will be facilitated while associating display data between a plurality of application programs.

[観点2]
一方のアプリケーションプログラムは、第1アプリケーションプログラム602aであってもよい。この場合、他方のアプリケーションプログラムは、第2アプリケーションプログラム602bであってもよい。
[Viewpoint 2]
One application program may be the first application program 602a. In this case, the other application program may be the second application program 602b.

[観点3]
一方のアプリケーションプログラムは、第2アプリケーションプログラム602bであり、他方のアプリケーションプログラムは、第1アプリケーションプログラム602aであってもよい。
[Viewpoint 3]
One application program may be the second application program 602b and the other application program may be the first application program 602a.

[観点4]
一方のアプリケーションプログラムは、第1バージョンの第1アプリケーションプログラム602aであり、他方のアプリケーションプログラムは、第1バージョンと異なる第2バージョンの第1アプリケーションプログラムであってもよい。
[Viewpoint 4]
One application program may be a first version of the first application program 602a, and the other application program may be a second version of the first application program different from the first version.

[観点5]
一方のアプリケーションプログラムは、第1バージョンの第2アプリケーションプログラム602bであり、他方のアプリケーションプログラムは、第1バージョンと異なる第2バージョンの第2アプリケーションプログラムであってもよい。
[Viewpoint 5]
One application program may be the first version of the second application program 602b, and the other application program may be the second version of the second application program different from the first version.

[観点6、7]
図69のS64に関連して説明されたように、PLC1は、予め定められた条件が成立したときにイベント通知を発行するイベント通知発行手段(例:CPU31、41a)をさらに備えてもよい。イベント通知発行手段(例:CPU41a)は、プログラマブルロジックコントローラに含まれる拡張ユニット4aに設けられていてもよい。たとえば、イベント通知発行手段は、第1アプリケーション603に実装されてもよいし、外部センサに割り当てられたビットデバイスとして実装されてもよい。
[Viewpoints 6 and 7]
As described in relation to S64 in FIG. 69, the PLC 1 may further include event notification issuing means (eg CPUs 31, 41a) that issues an event notification when a predetermined condition is met. The event notification issuing means (eg, CPU 41a) may be provided in the expansion unit 4a included in the programmable logic controller. For example, the event notification issuing means may be implemented in the first application 603 or implemented as a bit device assigned to an external sensor.

[観点8]
図32などが示唆するように、監視データは、開始トリガとして指定された第1デバイスのデバイス値が変化したタイミングから、終了トリガとして指定された第2デバイスのデバイス値が変化したタイミングまでの時間の測定値であってもよい。
[Viewpoint 8]
As suggested by FIG. 32 and the like, the monitoring data is the time from the timing when the device value of the first device specified as the start trigger changes to the timing when the device value of the second device specified as the end trigger changes. may be the measured value of

[観点9]
図32などが示唆するように、第1保存データ(例:履歴)は、プログラマブルロジックコントローラにより繰り返し実行される工程の開始タイミングから終了タイミングまでの時間である1サイクル分の監視データであってもよい。より具体的には、図32に示す工程監視アプリケーションのダッシュボード300は、監視結果を(動画のように)リアルタイムで表示更新するものであるが、イベント通知が発行されると、そのタイミングを含む1サイクル分の監視データ(複数の監視データ)が第1保存データとしてメモリ42aに保存される。図32は、メモリ42aに保存された第1保存データが(静止画のように)ダッシュボード300に表示された様子をも示している。この状態からリアルタイム監視の状態に戻る場合は、例えば、リアルタイム監視に戻るためのボタン(図示は省略)を表示させ、ユーザにそのボタンを押下させればよい。
[Viewpoint 9]
As suggested by FIG. 32 and the like, the first saved data (example: history) is monitoring data for one cycle, which is the time from the start timing to the end timing of the process repeatedly executed by the programmable logic controller. good. More specifically, the dashboard 300 of the process monitoring application shown in FIG. 32 updates the display of the monitoring results in real time (like a moving image). One cycle of monitoring data (a plurality of monitoring data) is saved in the memory 42a as first saved data. FIG. 32 also shows how the first saved data saved in memory 42a is displayed on dashboard 300 (like a still image). To return from this state to the real-time monitoring state, for example, a button (not shown) for returning to real-time monitoring may be displayed and the user may press the button.

[観点10]
アクセス情報(例:連携情報)は、他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータが格納されている格納先を示すパス情報であってもよい。
[Viewpoint 10]
The access information (eg, cooperation information) may be path information indicating a storage location in which data used to display an event screen for the other application program is stored.

[観点11]
図32および図65などが示唆するように、第1アプリケーションプログラム602aは、第1保存データとして、プログラマブルロジックコントローラにより繰り返し実行される工程の開始タイミングから終了タイミングまでの時間である1サイクル分の監視データであって、当該1サイクルの時間の測定値である当該監視データを、第1のイベント画面に表示させてもよい。
[Viewpoint 11]
As suggested by FIGS. 32 and 65, the first application program 602a monitors one cycle, which is the time from the start timing to the end timing of the process repeatedly executed by the programmable logic controller, as the first saved data. The monitoring data, which is data and is a measurement of the time of the one cycle, may be displayed on the first event screen.

[観点12]
図66などが示唆するように、第2アプリケーションプログラム602bは、所定期間分の時系列データを分析することで生成された分析レポートを第2のイベント画面に表示させてもよい。
[Viewpoint 12]
As suggested by FIG. 66 and the like, the second application program 602b may cause the second event screen to display an analysis report generated by analyzing time-series data for a predetermined period.

[観点13]
S82に関連して説明されたように、特定手段(例:CPU41a)は、一方のアプリケーションプログラムにしたがった現在のイベント画面に表示される保存データに紐づけられた時刻情報をキーとして、当該現在のイベント画面に対応するイベントに対応する他方のアプリケーションプログラムにしたがったイベント画面に表示される保存データを検索することで、当該他方のアプリケーションプログラムにしたがった当該イベント画面を特定してもよい。
[Viewpoint 13]
As described in connection with S82, the identifying means (eg, CPU 41a) uses the time information linked to the saved data displayed on the current event screen according to one application program as a key to identify the current event. The event screen according to the other application program may be identified by retrieving stored data displayed on the event screen according to the other application program corresponding to the event corresponding to the event screen.

[観点14]
イベント画面はHTML形式で表記されてもよい。つまり、イベント画面は、Webブラウザにより表示されてもよい。S75,S76およびS81などに関連して説明されたように、アクセス情報はイベント画面のURLを含んでもよい。
[Viewpoint 14]
The event screen may be described in HTML format. That is, the event screen may be displayed by a web browser. The access information may include the URL of the event screen, as described in relation to S75, S76 and S81, etc. FIG.

[観点15]
画面遷移指示部品は、画面遷移の対象となるアプリケーションプログラムのイベント画面に対して紐づけられたスイッチ部品(例:画面遷移指示ボタン601、ハイパーリンク)であってもよい。
[Viewpoint 15]
The screen transition instruction component may be a switch component (eg, screen transition instruction button 601, hyperlink) linked to the event screen of the application program to be screen transitioned.

[観点16]
第1アプリケーションプログラムは、予め定められた条件が成立してイベント通知が発行された後に表示画面に表示される監視データが複数保存された第1保存データを第1のイベント画面に表示するプログラムであってもよい。
[Viewpoint 16]
The first application program is a program for displaying, on a first event screen, first stored data in which a plurality of pieces of monitoring data to be displayed on a display screen after a predetermined condition is satisfied and an event notification is issued. There may be.

[観点17]
アプリケーション管理部605およびCPU41aは、観点1で説明されたアプリ管理手段として機能してもよい。アプリ管理手段はCPU31に実装されてもよい。
[Viewpoint 17]
The application management unit 605 and the CPU 41a may function as the application management means described in the first aspect. Application management means may be implemented in the CPU 31 .

[観点17]
デバイス部34は、ユーザプログラムが繰り返し実行されることで繰り返し更新される複数のデータを保持する保持手段の一例である。第1アプリケーション603(CPU41a)は、第1アプリケーションプログラムにしたがって保持手段に保持されている複数のデータのうち予め監視対象として指定されたデータを監視し、所定のイベントが発生すると、当該データのスナップショットデータを作成する監視手段として機能する。第1アプリケーション603(CPU41a)およびWebサーバ82は、第1アプリケーションプログラムにしたがって監視手段の監視結果を外部機器に表示させる第1表示手段として機能する。CPU31、CPU41a、第2アプリケーション604およびロギング部73は、所定のイベントが発生すると、保持手段に保持されている複数のデータを運転記録として出力する出力手段として機能する。CPU41aおよび分析部254は、第2アプリケーションプログラム602bにしたがって、運転記録を分析して分析結果を作成する分析手段として機能する。フロー・ダッシュボード作成部251、Webサーバ82およびCPU41aは、第2アプリケーションプログラムにしたがって、分析結果を外部機器に表示させる第2表示手段として機能する。CPU41aおよびアプリケーション管理部605は、第1アプリケーションプログラムによる外部機器への監視結果の表示画面と、第2アプリケーションプログラムによる外部機器への分析結果の表示画面との間の画面遷移を連携させる連携手段として機能する。CPU41aおよびアプリケーション管理部605は、外部機器に表示される監視結果に関連する連携情報(例:ページ番号、時刻情報、イベントID、パス情報)を第2アプリケーションプログラムに渡すことで、第2アプリケーションプログラムが当該監視結果に関連する分析結果を外部機器に表示させてもよい。CPU41aおよびアプリケーション管理部605は、外部機器に表示される分析結果に関連する連携情報(例:ページ番号、時刻情報、イベントID、パス情報)を第1アプリケーションプログラムに渡すことで、第1アプリケーションプログラムが当該分析結果に関連する監視結果を外部機器に表示させてもよい。
[Viewpoint 17]
The device unit 34 is an example of holding means for holding a plurality of data that are repeatedly updated by repeatedly executing the user program. The first application 603 (CPU 41a) monitors data designated as a monitoring target in advance among a plurality of data held in the holding means according to the first application program, and when a predetermined event occurs, the data is snapped. It functions as a monitoring means that creates shot data. The first application 603 (CPU 41a) and the web server 82 function as first display means for displaying the monitoring result of the monitoring means on the external device according to the first application program. CPU 31, CPU 41a, second application 604, and logging unit 73 function as output means for outputting a plurality of data held in the holding means as driving records when a predetermined event occurs. The CPU 41a and the analysis unit 254 function as analysis means for analyzing driving records and creating analysis results according to the second application program 602b. The flow/dashboard creating unit 251, the Web server 82, and the CPU 41a function as second display means for displaying the analysis results on the external device according to the second application program. The CPU 41a and the application management unit 605 function as linking means for linking screen transitions between the display screen of the monitoring result on the external device by the first application program and the display screen of the analysis result on the external device by the second application program. Function. The CPU 41a and the application management unit 605 pass link information (eg, page number, time information, event ID, and path information) related to the monitoring result displayed on the external device to the second application program. may cause the external device to display analysis results related to the monitoring results. The CPU 41a and the application management unit 605 pass link information (eg, page number, time information, event ID, path information) related to the analysis result displayed on the external device to the first application program. may cause the external device to display monitoring results related to the analysis results.

発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。 The invention is not limited to the above embodiments, and various modifications and changes are possible within the scope of the invention.

Claims (19)

ユーザプログラムを繰り返し実行するユーザプログラム実行手段と、
前記ユーザプログラム実行手段によりアクセスされるデータを記憶するデバイスまたは変数である複数の保持手段と、
前記複数の保持手段のうち収集対象の保持手段に記憶されているデータを時系列に収集することにより時系列データを生成する収集手段と、
複数のアプリケーションプログラムを管理するアプリ管理手段と
を備えるプログラマブルロジックコントローラにインストールされるプログラムであって、
前記複数のアプリケーションプログラムは、
前記複数の保持手段に記憶されているデータに基づき前記プログラマブルロジックコントローラの動作状態を監視する監視データを表示画面に表示し、予め定められた条件が成立してイベント通知が発行された際の該監視データが複数保存された第1保存データを第1のイベント画面に表示する第1アプリケーションプログラムと、
前記収集手段により生成された時系列データであって、前記イベント通知が発行された時点を基準として保存された所定期間分の時系列データに関する第2保存データを第2のイベント画面に表示する第2アプリケーションプログラムと、のうちの少なくとも一方を含み、
前記プログラムは、前記プログラマブルロジックコントローラに、
前記複数のアプリケーションプログラムのうち一方のアプリケーションプログラムにしたがったイベント画面と他方のアプリケーションプログラムに従ったイベント画面とを生成する画面生成手段と、
前記アプリ管理手段からアクセス可能な前記他方のアプリケーションプログラムのアクセス情報であって、前記他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータにアクセスするために必要となるアクセス情報を取得する取得手段と、
前記取得手段により取得された前記他方のアプリケーションプログラムについてのアクセス情報と、前記一方のアプリケーションプログラムにしたがって前記画面生成手段により生成される現在のイベント画面に対応するイベントとに基づいて、当該イベントに対応する前記他方のアプリケーションプログラムのイベント画面を特定する特定手段と、
前記現在のイベント画面に表示される画面遷移指示部品に対するユーザ操作に基づいて、前記現在のイベント画面を、前記特定手段により特定された前記イベント画面に遷移させる命令を生成する命令生成手段と、
して機能させることを特徴とするプログラム。
user program execution means for repeatedly executing the user program;
a plurality of holding means that are devices or variables that store data accessed by the user program execution means;
collecting means for generating time-series data by collecting in time-series data stored in holding means to be collected among the plurality of holding means;
A program installed in a programmable logic controller comprising application management means for managing a plurality of application programs,
The plurality of application programs are
monitor data for monitoring the operating state of the programmable logic controller is displayed on a display screen based on the data stored in the plurality of holding means; a first application program for displaying first saved data in which a plurality of pieces of monitoring data are saved on a first event screen;
displaying on a second event screen second stored data relating to the time-series data generated by the collecting means for a predetermined period of time stored based on the point in time when the event notification was issued; 2 application program and/or
The program causes the programmable logic controller to:
screen generation means for generating an event screen according to one of the plurality of application programs and an event screen according to the other application program;
Acquisition of access information of the other application program accessible from the application management means, which is necessary for accessing data used to display an event screen for the other application program a obtaining means for
responding to the event based on the access information about the other application program acquired by the acquisition means and the event corresponding to the current event screen generated by the screen generation means according to the one application program; identifying means for identifying the event screen of the other application program to
an instruction generating means for generating an instruction for transitioning the current event screen to the event screen specified by the specifying means based on a user operation on a screen transition instruction component displayed on the current event screen;
A program characterized by functioning as
前記一方のアプリケーションプログラムは、前記第1アプリケーションプログラムであり、前記他方のアプリケーションプログラムは、前記第2アプリケーションプログラムであることを特徴とする請求項1に記載のプログラム。 2. The program according to claim 1, wherein said one application program is said first application program, and said other application program is said second application program. 前記一方のアプリケーションプログラムは、前記第2アプリケーションプログラムであり、前記他方のアプリケーションプログラムは、前記第1アプリケーションプログラムであることを特徴とする請求項1に記載のプログラム。 2. The program according to claim 1, wherein said one application program is said second application program and said other application program is said first application program. 前記一方のアプリケーションプログラムは、第1バージョンの前記第1アプリケーションプログラムであり、前記他方のアプリケーションプログラムは、前記第1バージョンと異なる第2バージョンの前記第1アプリケーションプログラムであることを特徴とする請求項1に記載のプログラム。 3. The one application program is a first version of the first application program, and the other application program is a second version of the first application program different from the first version. 1. The program according to 1. 前記一方のアプリケーションプログラムは、第1バージョンの前記第2アプリケーションプログラムであり、前記他方のアプリケーションプログラムは、前記第1バージョンと異なる第2バージョンの前記第2アプリケーションプログラムであることを特徴とする請求項1に記載のプログラム。 3. The one application program is the first version of the second application program, and the other application program is the second version of the second application program different from the first version. 1. The program according to 1. 前記プログラマブルロジックコントローラは、前記予め定められた条件が成立したときに前記イベント通知を発行するイベント通知発行手段をさらに備えることを特徴とする請求項1から5のいずれか一項に記載のプログラム。 6. The program according to any one of claims 1 to 5, wherein said programmable logic controller further comprises event notification issuing means for issuing said event notification when said predetermined condition is satisfied. 前記イベント通知発行手段は、前記プログラマブルロジックコントローラに含まれる拡張ユニットに設けられていることを特徴とする請求項6に記載のプログラム。 7. The program according to claim 6, wherein said event notification issuing means is provided in an expansion unit included in said programmable logic controller. 前記監視データは、開始トリガとして指定された第1デバイスのデバイス値が変化したタイミングから、終了トリガとして指定された第2デバイスのデバイス値が変化したタイミングまでの時間の測定値であることを特徴とする請求項1から7のいずれか一項に記載のプログラム。 The monitoring data is a measurement value of the time from the timing when the device value of the first device specified as the start trigger changes to the timing when the device value of the second device specified as the end trigger changes. 8. The program according to any one of claims 1 to 7, wherein: 前記第1保存データは、前記プログラマブルロジックコントローラにより繰り返し実行される工程の開始タイミングから終了タイミングまでの時間である1サイクル分の監視データであることを特徴とする請求項1から8のいずれか一項に記載のプログラム。 9. The first stored data is monitor data for one cycle, which is the time from the start timing to the end timing of the process repeatedly executed by the programmable logic controller. The program described in Section. 前記アクセス情報は、前記他方のアプリケーションプログラムについての前記イベント画面を表示するために使用される前記データが格納されている格納先を示すパス情報であることを特徴とする請求項1から9のいずれか一項に記載のプログラム。 10. The access information is path information indicating a storage location where the data used for displaying the event screen for the other application program is stored. or the program described in paragraph 1. 前記第1アプリケーションプログラムは、前記第1保存データとして、前記プログラマブルロジックコントローラにより繰り返し実行される工程の開始タイミングから終了タイミングまでの時間である1サイクル分の監視データであって、当該1サイクルの時間の測定値である当該監視データを前記第1のイベント画面に表示させることを特徴とする請求項1から7のいずれか一項に記載のプログラム。 In the first application program, as the first saved data, monitoring data for one cycle, which is the time from the start timing to the end timing of the process repeatedly executed by the programmable logic controller, wherein the one cycle time 8. The program according to any one of claims 1 to 7, characterized by displaying the monitoring data, which is the measured value of, on the first event screen. 前記第2アプリケーションプログラムは、前記所定期間分の時系列データを分析することで生成された分析レポートを前記第2のイベント画面に表示させることを特徴とする請求項1から11のいずれか一項に記載のプログラム。 12. The second application program displays, on the second event screen, an analysis report generated by analyzing the time-series data for the predetermined period. program described in . 前記特定手段は、前記一方のアプリケーションプログラムにしたがった前記現在のイベント画面に表示される保存データに紐づけられた時刻情報をキーとして、当該現在のイベント画面に対応するイベントに対応する前記他方のアプリケーションプログラムにしたがったイベント画面に表示される保存データを検索することで、当該他方のアプリケーションプログラムにしたがった当該イベント画面を特定することを特徴とする請求項1から12のいずれか一項に記載のプログラム。 The specifying means uses time information linked to stored data displayed on the current event screen according to the one application program as a key, and uses the other application program corresponding to the event corresponding to the current event screen. 13. The event screen according to the other application program is identified by retrieving stored data displayed on the event screen according to the application program. program. 前記イベント画面はHTML形式で表記され、
前記アクセス情報は前記イベント画面のURLを含むことを特徴とする請求項1から13のいずれか一項に記載のプログラム。
The event screen is written in HTML format,
14. The program according to any one of claims 1 to 13, wherein said access information includes a URL of said event screen.
前記画面遷移指示部品は、画面遷移の対象となるアプリケーションプログラムのイベント画面に対して紐づけられたスイッチ部品であることを特徴とする請求項1から14のいずれか一項に記載のプログラム。 15. The program according to any one of claims 1 to 14, wherein the screen transition instruction component is a switch component linked to an event screen of an application program to be subjected to screen transition. 前記第1アプリケーションプログラムは、予め定められた条件が成立してイベント通知が発行された後に前記表示画面に表示される前記監視データが複数保存された第1保存データを第1のイベント画面に表示することを特徴とする請求項1から15のいずれか一項に記載のプログラム。 The first application program displays, on a first event screen, first saved data in which a plurality of pieces of the monitoring data to be displayed on the display screen are saved after an event notification is issued upon establishment of a predetermined condition. 16. The program according to any one of claims 1 to 15, characterized by: ユーザプログラムを繰り返し実行するユーザプログラム実行手段と、
前記ユーザプログラム実行手段によりアクセスされるデータを記憶するデバイスまたは変数である複数の保持手段と、
前記複数の保持手段のうち収集対象の保持手段に記憶されているデータを時系列に収集することにより時系列データを生成する収集手段と、
を備えるプログラマブルロジックコントローラにインストールされるプログラムであって、
前記プログラムは、前記プログラマブルロジックコントローラに、
複数のアプリケーションプログラムを管理するアプリ管理手段であって、前記複数のアプリケーションプログラムは、前記複数の保持手段に記憶されているデータに基づき前記プログラマブルロジックコントローラの動作状態を監視する監視データを表示画面に表示し、予め定められた条件が成立してイベント通知が発行された際の該監視データが複数保存された第1保存データを第1のイベント画面に表示する第1アプリケーションプログラムと、前記収集手段により生成された時系列データであって、前記イベント通知が発行された時点を基準として保存された所定期間分の時系列データに関する第2保存データを第2のイベント画面に表示する第2アプリケーションプログラムと、のうちの少なくとも一方を含む、アプリ管理手段と、
前記複数のアプリケーションプログラムのうち一方のアプリケーションプログラムにしたがったイベント画面と、他方のアプリケーションプログラムに従ったイベント画面と、を生成する画面生成手段と、
前記アプリ管理手段からアクセス可能な前記他方のアプリケーションプログラムのアクセス情報であって、前記他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータにアクセスするために必要となるアクセス情報を取得する取得手段と、
前記取得手段により取得された前記他方のアプリケーションプログラムについてのアクセス情報と、前記一方のアプリケーションプログラムにしたがって前記画面生成手段により生成される現在のイベント画面に対応するイベントとに基づいて、当該イベントに対応する前記他方のアプリケーションプログラムのイベント画面を特定する特定手段と、
前記現在のイベント画面に表示される画面遷移指示部品に対するユーザ操作に基づいて、前記現在のイベント画面を、前記特定手段により特定された前記イベント画面に遷移させる命令を生成する命令生成手段と、
して機能させることを特徴とするプログラム。
user program execution means for repeatedly executing the user program;
a plurality of holding means that are devices or variables that store data accessed by the user program execution means;
collecting means for generating time-series data by collecting in time-series data stored in holding means to be collected among the plurality of holding means;
A program installed in a programmable logic controller comprising
The program causes the programmable logic controller to:
Application management means for managing a plurality of application programs, wherein the plurality of application programs display monitoring data for monitoring the operating state of the programmable logic controller based on the data stored in the plurality of holding means. a first application program for displaying, on a first event screen, first saved data in which a plurality of pieces of monitoring data are saved when an event notification is issued upon establishment of a predetermined condition; a second application program for displaying on a second event screen second stored data relating to time-series data for a predetermined period of time stored based on the point in time when the event notification was issued, which is time-series data generated by and an application management means including at least one of
screen generation means for generating an event screen according to one of the plurality of application programs and an event screen according to the other application program;
Acquisition of access information of the other application program accessible from the application management means, which is necessary for accessing data used to display an event screen for the other application program a obtaining means for
responding to the event based on the access information about the other application program acquired by the acquisition means and the event corresponding to the current event screen generated by the screen generation means according to the one application program; identifying means for identifying the event screen of the other application program to
an instruction generating means for generating an instruction for transitioning the current event screen to the event screen specified by the specifying means based on a user operation on a screen transition instruction component displayed on the current event screen;
A program characterized by functioning as
プログラマブルロジックコントローラであって、
ユーザプログラムを繰り返し実行するユーザプログラム実行手段と、
前記ユーザプログラム実行手段によりアクセスされるデータを記憶するデバイスまたは変数である複数の保持手段と、
前記複数の保持手段のうち収集対象の保持手段に記憶されているデータを時系列に収集することにより時系列データを生成する収集手段と、
複数のアプリケーションプログラムを管理するアプリ管理手段であって、前記複数のアプリケーションプログラムは、前記複数の保持手段に記憶されているデータに基づき前記プログラマブルロジックコントローラの動作状態を監視する監視データを表示画面に表示し、予め定められた条件が成立してイベント通知が発行された際の該監視データが複数保存された第1保存データを第1のイベント画面に表示する第1アプリケーションプログラムと、前記収集手段により生成された時系列データであって、前記イベント通知が発行された時点を基準として保存された所定期間分の時系列データに関する第2保存データを第2のイベント画面に表示する第2アプリケーションプログラムと、のうちの少なくとも一方を含む、アプリ管理手段と、
前記複数のアプリケーションプログラムのうち一方のアプリケーションプログラムにしたがったイベント画面と他方のアプリケーションプログラムに従ったイベント画面とを生成する画面生成手段と、
前記アプリ管理手段からアクセス可能な前記他方のアプリケーションプログラムのアクセス情報であって、前記他方のアプリケーションプログラムについてのイベント画面を表示するために使用されるデータにアクセスするために必要となるアクセス情報を取得する取得手段と、
前記取得手段により取得された前記他方のアプリケーションプログラムについてのアクセス情報と、前記一方のアプリケーションプログラムにしたがって前記画面生成手段により生成される現在のイベント画面に対応するイベントと、に基づいて、当該イベントに対応する前記他方のアプリケーションプログラムのイベント画面を特定する特定手段と、
前記現在のイベント画面に表示される画面遷移指示部品に対するユーザ操作に基づいて、前記現在のイベント画面を、前記特定手段により特定された前記イベント画面に遷移させる命令を生成する命令生成手段と、
を有することを特徴とするプログラマブルロジックコントローラ。
A programmable logic controller,
user program execution means for repeatedly executing the user program;
a plurality of holding means that are devices or variables that store data accessed by the user program execution means;
collecting means for generating time-series data by collecting in time-series data stored in holding means to be collected among the plurality of holding means;
Application management means for managing a plurality of application programs, wherein the plurality of application programs display monitoring data for monitoring the operating state of the programmable logic controller based on the data stored in the plurality of holding means. a first application program for displaying, on a first event screen, first saved data in which a plurality of pieces of monitoring data are saved when an event notification is issued upon establishment of a predetermined condition; a second application program for displaying on a second event screen second stored data relating to time-series data for a predetermined period of time stored based on the point in time when the event notification was issued, which is time-series data generated by and an application management means including at least one of
screen generation means for generating an event screen according to one of the plurality of application programs and an event screen according to the other application program;
Acquisition of access information of the other application program accessible from the application management means, which is necessary for accessing data used to display an event screen for the other application program a obtaining means for
Based on the access information about the other application program acquired by the acquisition means and the event corresponding to the current event screen generated by the screen generation means according to the one application program, identifying means for identifying the corresponding event screen of the other application program;
an instruction generating means for generating an instruction for transitioning the current event screen to the event screen specified by the specifying means based on a user operation on a screen transition instruction component displayed on the current event screen;
A programmable logic controller comprising:
ユーザプログラムを繰り返し実行するユーザプログラム実行手段と、
前記ユーザプログラムが繰り返し実行されることで繰り返し更新される複数のデータを保持する保持手段と、
第1アプリケーションプログラムにしたがって前記保持手段に保持されている前記複数のデータのうち予め監視対象として指定されたデータを監視し、所定のイベントが発生すると、当該データのスナップショットデータを作成する監視手段と、
前記第1アプリケーションプログラムにしたがって前記監視手段の監視結果を外部機器に表示させる第1表示手段と、
前記所定のイベントが発生すると、前記保持手段に保持されている前記複数のデータを運転記録として出力する出力手段と、
第2アプリケーションプログラムにしたがって、前記運転記録を分析して分析結果を作成する分析手段と、
前記第2アプリケーションプログラムにしたがって、前記分析結果を前記外部機器に表示させる第2表示手段と、
前記第1アプリケーションプログラムによる前記外部機器への前記監視結果の表示画面と、前記第2アプリケーションプログラムによる前記外部機器への前記分析結果の表示画面との間の画面遷移を連携させる連携手段と、
を有し、
前記連携手段は、
前記外部機器に表示される前記監視結果に関連する連携情報を前記第2アプリケーションプログラムに渡すことで、前記第2アプリケーションプログラムが当該監視結果に関連する前記分析結果を前記外部機器に表示させるか、または、
前記外部機器に表示される前記分析結果に関連する連携情報を前記第1アプリケーションプログラムに渡すことで、前記第1アプリケーションプログラムが当該分析結果に関連する前記監視結果を前記外部機器に表示させる、プログラマブルロジックコントローラ。
user program execution means for repeatedly executing the user program;
holding means for holding a plurality of data repeatedly updated by repeatedly executing the user program;
monitoring means for monitoring data designated as a monitoring target in advance among the plurality of data held in the holding means according to a first application program, and creating snapshot data of the data when a predetermined event occurs; and,
a first display means for displaying a monitoring result of the monitoring means on an external device according to the first application program;
output means for outputting the plurality of data held in the holding means as a driving record when the predetermined event occurs;
analysis means for analyzing the driving record and creating an analysis result according to a second application program;
a second display means for displaying the analysis result on the external device according to the second application program;
linking means for linking screen transition between a display screen of the monitoring result on the external device by the first application program and a display screen of the analysis result on the external device by the second application program;
has
The cooperation means is
By passing linking information related to the monitoring result displayed on the external device to the second application program, the second application program causes the external device to display the analysis result related to the monitoring result, or or,
By passing link information related to the analysis result displayed on the external device to the first application program, the first application program causes the external device to display the monitoring result related to the analysis result. logic controller.
JP2022011608A 2022-01-28 2022-01-28 Program and programmable logic controller Pending JP2023110263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022011608A JP2023110263A (en) 2022-01-28 2022-01-28 Program and programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022011608A JP2023110263A (en) 2022-01-28 2022-01-28 Program and programmable logic controller

Publications (1)

Publication Number Publication Date
JP2023110263A true JP2023110263A (en) 2023-08-09

Family

ID=87546146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022011608A Pending JP2023110263A (en) 2022-01-28 2022-01-28 Program and programmable logic controller

Country Status (1)

Country Link
JP (1) JP2023110263A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7548464B1 (en) 2024-06-24 2024-09-10 富士電機株式会社 Programmable logic controller, support device, and logging method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7548464B1 (en) 2024-06-24 2024-09-10 富士電機株式会社 Programmable logic controller, support device, and logging method

Similar Documents

Publication Publication Date Title
JP6757386B2 (en) Programmable logic controller and program creation support device
US11409257B2 (en) Setting device that sets a programmable logic controller and PLC system that collects control data and a dashboard for displaying control data
EP2042959B1 (en) Correlation of non-times series events in industrial systems
US20170351226A1 (en) Industrial machine diagnosis and maintenance using a cloud platform
CN111090255A (en) Programmable logic controller and master unit
JP2011253545A (en) Event historian for batch processing
JP7450471B2 (en) Programmable logic controller and PLC system
WO2016168785A1 (en) Augmented manufacturing system
US20210182101A1 (en) Program generating device, program generating method, and information storage medium
JP6956347B2 (en) Trace data acquisition system, trace data acquisition method, and program
CN113919813A (en) Production line dynamic value flow analysis method and system based on production line dynamic value flow graph
JP2023110263A (en) Program and programmable logic controller
JP2022158228A (en) Monitoring device and programmable logic controller system
JP2022016659A (en) Externally setting device, logging setting method and program
US20220317650A1 (en) Analysis apparatus, control method thereof, and analysis system
JP7102801B2 (en) Control system, control device and display device
CN115202282A (en) Analysis device, analysis system, and control method thereof
JP7212496B2 (en) Programmable logic controller system, programming support device and computer program
CN115202280A (en) Analysis device, analysis system, and control method thereof
JP6996887B2 (en) Programmable logic controller system and data acquisition device
JP2022158229A (en) Programmable logic controller system
JP2022158230A (en) programmable logic controller
Rodrigues et al. Multi-approach debugging of industrial IoT workflows
JP7450470B2 (en) Setting device and PLC system
JP6948450B2 (en) Programmable logic controller and main unit