[go: up one dir, main page]

JP7668670B2 - Analytical device, analytical system, and control method thereof - Google Patents

Analytical device, analytical system, and control method thereof Download PDF

Info

Publication number
JP7668670B2
JP7668670B2 JP2021062983A JP2021062983A JP7668670B2 JP 7668670 B2 JP7668670 B2 JP 7668670B2 JP 2021062983 A JP2021062983 A JP 2021062983A JP 2021062983 A JP2021062983 A JP 2021062983A JP 7668670 B2 JP7668670 B2 JP 7668670B2
Authority
JP
Japan
Prior art keywords
analysis
symbol
unit
cycle
report
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.)
Active
Application number
JP2021062983A
Other languages
Japanese (ja)
Other versions
JP2022158227A (en
Inventor
哲也 宮坂
大樹 川上
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 JP2021062983A priority Critical patent/JP7668670B2/en
Priority to CN202210305677.0A priority patent/CN115202282A/en
Publication of JP2022158227A publication Critical patent/JP2022158227A/en
Application granted granted Critical
Publication of JP7668670B2 publication Critical patent/JP7668670B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は分析装置、分析システム、およびその制御方法に関する。 The present invention relates to an analysis device, an analysis system, and a control method thereof.

プログラマブル・ロジック・コントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである(特許文献1、2)。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器などを制御する。 A programmable logic controller (PLC) is a controller that controls industrial machinery such as manufacturing equipment, conveying equipment, and inspection equipment in factory automation (Patent Documents 1 and 2). PLCs control various extension units and controlled devices by executing user programs such as ladder programs created by programmers.

特許第5661222号公報Patent No. 5661222 特開2018-097662号公報JP 2018-097662 A

ところで、PLCの動作やPLCによって制御される産業機械の動作を監視するために、PLCが保持しているデータを収集して活用することが望まれている。PLCは、基本ユニット(CPUユニット)とそれに接続される拡張ユニットとを有している。基本ユニットは、ラダープログラムなどのユーザプログラムを実行することで拡張ユニットを制御する。拡張ユニットは基本ユニットからの命令にしたがって産業機械を制御し、制御結果を基本ユニットに返す。 In order to monitor the operation of a PLC or the operation of industrial machinery controlled by a PLC, it is desirable to collect and utilize the data held by the PLC. A PLC has a base unit (CPU unit) and an expansion unit connected to it. The base unit controls the expansion unit by executing user programs such as ladder programs. The expansion unit controls the industrial machinery according to commands from the base unit and returns the control results to the base unit.

また、これらの制御結果等のデータはトラブル解析や品質管理のために使用される。従って、これらのデータを蓄積して分析し、復旧のために早期に解析結果を得ることが要求されている。しかし、PLCに関連する全てのデバイスのデータを記録する場合は膨大なデータを記憶することになり、さらに異常デバイスを特定するためにはこれらの膨大なデータ(全デバイス)を解析する必要があるため時間を要する作業となる。また、膨大な分析結果から異常デバイスを特定したり、システムを復旧させるためには、経験や知識も必要となる。従って、十分な専門的な知識や経験を必要とすることなく、各デバイスに関連する膨大なデータの中から効率よく分析を行い、分析結果を表示する仕組みが望まれている。 These control results and other data are also used for troubleshooting and quality control. Therefore, there is a demand to accumulate and analyze this data and obtain analysis results quickly in order to restore the system. However, if data for all devices related to the PLC is recorded, a huge amount of data will be stored, and in order to identify the abnormal device, this huge amount of data (all devices) must be analyzed, which is a time-consuming task. Furthermore, experience and knowledge are required to identify the abnormal device from the huge amount of analysis results and to restore the system. Therefore, there is a demand for a system that can efficiently analyze the huge amount of data related to each device and display the analysis results without requiring sufficient specialized knowledge or experience.

そこで、本発明は上記問題に鑑み、各デバイスの分析結果を同期させたレポートを提供することを目的とする。また、他の目的として、レポートを表示する画面において、複数の表示項目を時間軸に連動して操作可能とすることを目的とする。 In view of the above problems, the present invention aims to provide a report that synchronizes the analysis results of each device. Another aim is to enable multiple display items on a screen that displays a report to be operated in conjunction with a time axis.

本発明は、たとえば、分析装置であって、ユーザプログラムを繰り返し実行する実行エンジンと、前記ユーザプログラムの実行によって収集される、時系列の複数のシンボル値を含む運転記録データを取得する取得手段と、1以上の制御サイクルの各制御サイクルのタイミングを規定するシンボルをユーザにより選択することで、当該1以上の制御サイクルの定義を設定する設定手段と、取得された正常時の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンの学習に基づきシンボル毎のモデルを生成するモデル生成手段と、取得された分析対象の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンについて、前記モデルに従ってシンボル値が変化するタイミング又は前記各制御サイクルにおけるシンボル値の変化回数に関する正常条件を満たさない非正常シンボルを分析する分析手段と、設定された前記1以上の制御サイクルの定義に従って、前記各制御サイクルと、前記非正常シンボルとして検知した各シンボルの分析結果である異常が発生した箇所とを、時間軸上で同期させて表示する分析レポートを生成するレポート生成手段とを備えることを特徴とする。 The present invention is, for example, an analysis device comprising an execution engine that repeatedly executes a user program; acquisition means for acquiring driving record data including a plurality of symbol values in a time series collected by execution of the user program; setting means for setting a definition of one or more control cycles by a user selecting a symbol that specifies the timing of each of the one or more control cycles; model generation means for generating a model for each symbol based on learning of a change pattern of each symbol belonging to each of the control cycles in the acquired driving record data under normal conditions; analysis means for analyzing abnormal symbols that do not satisfy a normal condition related to the timing of symbol value changes or the number of times symbol value changes in each of the control cycles in accordance with the model, for the change pattern of each symbol belonging to each of the control cycles in the acquired driving record data to be analyzed; and report generation means for generating an analysis report that displays each of the control cycles and the location where an abnormality occurred, which is the analysis result of each symbol detected as the abnormal symbol , in accordance with the set definition of the one or more control cycles, in synchronization on a time axis.

本発明によれば、いつもと違う挙動をしたデバイスの情報が同期されてユーザに提供される。 According to the present invention, information about devices that behave unusually is synchronized and provided to the user.

PLCシステムを説明する図Diagram explaining a PLC system PC2aのハードウエアを説明する図FIG. 2 is a diagram illustrating the hardware of PC 2a. PC2bのハードウエアを説明する図FIG. 2 is a diagram illustrating the hardware of PC 2b. PLCのハードウエアを説明する図Diagram explaining PLC hardware PCのCPUにより実現される機能を説明する図FIG. 1 is a diagram for explaining functions realized by a CPU of a PC. PLCのCPUにより実現される機能を説明する図FIG. 2 is a diagram for explaining functions realized by the CPU of the PLC. 基本フローを示すフローチャートFlowchart showing the basic flow 結果表示画面を説明する図Diagram explaining the result display screen 結果表示画面を説明する図Diagram explaining the result display screen リレーションマップを説明する図Diagram explaining the relationship map 制御サイクル及び異常点を説明する図A diagram explaining the control cycle and abnormal points 複数の表示項目が時間軸上の操作に応じて連動して更新される様子を示す図A diagram showing how multiple display items are updated in response to operations on the time axis. 正常時の映像と分析対象の映像との同期を説明する図Diagram explaining synchronization between normal video and video to be analyzed モデルの生成フローを示すフローチャートFlowchart showing the model generation flow サイクルパターンの判別制御を説明する図FIG. 1 is a diagram for explaining cycle pattern discrimination control. 分析ユニットの結果表示フローを示すフローチャートFlowchart showing the result display flow of the analysis unit PCの結果表示フローを示すフローチャートFlowchart showing the result display flow on a PC ユーザプログラムの編集画面を示す図Figure showing the user program editing screen サイクルを定義する設定画面を示す図A diagram showing the setting screen for defining a cycle サイクル未設定の場合の警告を説明する図Illustration explaining the warning when a cycle is not set PLCシステムの変形例を説明する図FIG. 1 is a diagram illustrating a modified example of a PLC system. サイクルの処理フローを説明する図A diagram explaining the process flow of a cycle

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

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

図1は本発明の実施の形態によるPLCシステムの一構成例を示す概念図である。図1が示すように、PLCシステムは、ラダープログラムなどのユーザプログラムを編集するPC2aと、分析結果等を表示するPC2bと、工場等に設置される各種の産業機械を統括的に制御するPLC1と、PLC1に接続されるカメラ等のフィールドデバイス10とを備えている。PCはパーソナルコンピュータの略称である。なお、以下で単にPC2と記載した場合は、PC2aおよびPC2bの構成や制御について説明しているものである。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、基本ユニット3で実行されるユーザプログラムはラダープログラムと仮定される。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。 Figure 1 is a conceptual diagram showing an example of the configuration of a PLC system according to an embodiment of the present invention. As shown in Figure 1, the PLC system includes a PC 2a for editing user programs such as ladder programs, a PC 2b for displaying analysis results, a PLC 1 for controlling various industrial machines installed in a factory, and a field device 10 such as a camera connected to the PLC 1. PC is an abbreviation for personal computer. In the following, when simply referring to PC 2, the configuration and control of PC 2a and PC 2b are explained. The user program may be created using a graphical programming language such as a ladder language or a motion program in a flow chart format 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 includes a basic unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the basic unit 3.

基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3に取り付けられている各拡張ユニット4の動作状況などを表示することができる。操作部6の操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスの現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。ここでデバイスとは、基本ユニット3や拡張ユニット4に含まれる種々のデバイス(リレー、タイマー、カウンタなど)を含むものであり、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の領域を指すものでもあり、デバイスメモリと呼ばれてもよい。なお、当該デバイスメモリは不揮発性メモリであり、書き換え可能な不揮発性ROMで構成されてもよく、揮発性RAM等をバッテリーバックアップ等により不揮発性を実現してもよい。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型等がある。ビットデバイスは1ビットのデバイス値、たとえば、0/1、ON/OFF、H/L等を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。以下で詳細に説明されるデータ活用プログラムの収集対象としては、デバイスとして変数が指定されてもよい。変数も情報を保持する保持手段であり、ユーザプログラムに従って実行エンジンによりアクセスされるものである。したがって、以下の説明においてデバイスは変数も指すものである。なお、デバイスを保持するメモリはデバイスメモリと呼ばれてもよい。また、収集されたデータを保持するメモリはデータメモリと呼ばれてもよい。PLC1は、デバイスの他、変数を取り扱うよう構成されてもよく、デバイスや変数のことをシンボルと呼び、シンボルが示す値をシンボル値と呼ぶ。 The basic unit 3 includes a display unit 5 and an operation unit 6. The display unit 5 can display the operating status of each expansion unit 4 attached to the basic unit 3. The display unit 5 switches the display content according to the operation content of the operation unit 6. The display unit 5 usually displays the current value (device value) of the device in the PLC 1 and error information generated in the PLC 1. Here, the device includes various devices (relays, timers, counters, etc.) included in the basic unit 3 and the expansion unit 4, and also refers to an area on the memory provided to store the device value (device data), and may be called a device memory. The device memory is a non-volatile memory and may be composed of a rewritable non-volatile ROM, or a volatile RAM or the like may be made non-volatile by a battery backup or the like. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. The device value is information indicating the input state from the input device, the output state to the output device, and the state of the internal relay (auxiliary relay), timer, counter, data memory, etc. set on the user program. The device value type includes bit type and word type. A bit device stores a one-bit device value, such as 0/1, ON/OFF, H/L, etc. A word device stores a one-word device value. A variable may be specified as a device to be collected by a data utilization program described in detail below. A variable is also a storage means for storing information, and is accessed by an execution engine according to a user program. Therefore, in the following description, a device also refers to a variable. A memory that stores a device may be called a device memory. A memory that stores collected data may be called a data memory. The PLC 1 may be configured to handle variables in addition to devices, and devices and variables are called symbols, and values indicated by symbols are called symbol values.

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

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

分析ユニット4aは、基本ユニット3においてシンボル(デバイス、変数など)からシンボル値を収集し、シンボル値を分析して分析結果を含む分析レポートを作成する。分析ユニット4aは、分析レポートを外部のPC2bへ提供するWebサーバを有していてもよい。基本ユニット3はCPUユニットと呼ばれることもある。PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。本実施形態では、分析ユニット4aが各デバイスのデータを収集する例について説明するが、当該収集部については基本ユニット3に設けられてもよく、或いは、他の拡張ユニットに設けられてもよい。また、分析ユニット4aは、収集したデータを基本ユニット3からの指示や所定のタイミングに従って分析を行う分析装置として機能することも可能である。なお、本実施形態では、分析ユニット4aが分析装置として動作する例について説明するが、本発明を限定する意図はなく、基本ユニット3が分析装置として機能してもよく、PC2a、2bなどの外部装置が分析装置として機能してもよい。以下で説明されるフロー(フロープログラム)はデータ活用プログラムの一例に過ぎない。基本ユニット3はCPUユニットと呼ばれることもある。なお、PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。 The analysis unit 4a collects symbol values from symbols (devices, variables, etc.) in the basic unit 3, analyzes the symbol values, and creates an analysis report including the analysis results. The analysis unit 4a may have a Web server that provides the analysis report to an external PC 2b. The basic unit 3 may also be called a CPU unit. A system including the PLC 1 and the PC 2 may also be called a programmable logic controller system. In this embodiment, an example in which the analysis unit 4a collects data from each device will be described, but the collection unit may be provided in the basic unit 3, or may be provided in another expansion unit. The analysis unit 4a can also function as an analysis device that analyzes the collected data according to instructions from the basic unit 3 or a predetermined timing. In this embodiment, an example in which the analysis unit 4a operates as an analysis device will be described, but this is not intended to limit the present invention, and the basic unit 3 may function as an analysis device, or an external device such as the PC 2a or 2b may function as an analysis device. The flow (flow program) described below is merely one example of a data utilization program. The basic unit 3 may also be called a CPU unit. The system including PLC1 and PC2 may be called a programmable logic controller system.

PC2aは主にプログラマーによって操作されるコンピュータである。一方、PC2bは主に現場担当者によって操作されるコンピュータである。PC2bは、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより画面設定されてもよく、あらかじめWebブラウザ機能が搭載され、Webブラウザ機能により分析結果等が表示されてもよい。PC2aはプログラム作成支援装置(設定装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータ又はスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2aを用いて作成される。その作成されたラダープログラムは、PC2a内でニモニックコードに変換される。PC2は、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9を介してPLC1の基本ユニット3に接続される。たとえば、PC2aは、ニモニックコードに変換されたラダープログラムを基本ユニット3に送る。基本ユニット3はラダープログラムをマシンコードに変換し、基本ユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードが基本ユニット3に送信されているが、本発明はこれに限られない。たとえば、PC2aは、ニモニックコードを中間コードに変換し、中間コードを基本ユニット3に送信してもよい。 PC2a is a computer operated mainly by a programmer. On the other hand, PC2b is a computer operated mainly by a field staff. PC2b may be a programmable display device whose screen is set by a user. In this case, the screen for displaying the analysis results, etc. may be set by the user, or a web browser function may be installed in advance and the analysis results, etc. may be displayed by the web browser function. PC2a may be called a program creation support device (setting device). PC2 is, for example, a portable notebook type or tablet type personal computer or a smartphone, and is an external computer equipped with a display unit 7 and an operation unit 8. The external computer is a computer outside the PLC1. A ladder program, which is an example of a user program for controlling the PLC1, is created using PC2a. The created ladder program is converted into a mnemonic code in PC2a. PC2 is connected to the basic unit 3 of the PLC1 via a communication cable 9 such as a USB (Universal Serial Bus) cable. For example, PC2a sends the ladder program converted into a mnemonic code 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. Note that, although a 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 transmit the intermediate code to the basic unit 3.

なお、図1には示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9を介して、PLC1の基本ユニット3に対して着脱可能に接続されるような構成であってもよい。また、PC2は、通信ケーブル9を介さず、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. The PC 2 may be configured to be detachably connected to the basic unit 3 of the PLC 1 via a communication cable 9 other than a USB cable. The PC 2 may be connected to the basic unit 3 of the PLC 1 by wireless communication without using the communication cable 9.

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

PC2aのユーザは記憶装置12aに記憶されているプロジェクト編集プログラム14aをCPU11aに実行させて、操作部8aを通じてプロジェクトデータ15を編集する。つまり、PC2aはエンジニアリングツールであり、プログラム作成支援装置として機能する。CPU11aがプロジェクト編集プログラム14aを実行することで、プロジェクト作成部16とプロジェクト転送部17が実現される。プロジェクト作成部16はユーザ入力にしたがってプロジェクトデータ15を作成する。プロジェクト転送部17はプロジェクトデータ15をPLC1に転送する。プロジェクトデータ15は、一つ以上のユーザプログラム(例:ラダープログラム、制御プログラム、モーションプログラム、データ活用プログラム)と、基本ユニット3や拡張ユニット4の構成情報、WebHMIの作画データ、基本ユニット3や拡張ユニット4に備えられた特定機能の設定情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置やデバイスの割り当て情報を含む。基本ユニット3に備えられた機能(例:データ収集機能、通信機能、位置決め機能)を示す情報、拡張ユニット4の機能(例:通信機能、位置決め機能、撮影機能)などを示す情報を含んでいてもよい。作画データは、WebHMIを実現するための表示部品群であり、フロントエンドの構造を記述するマークアップデータ、たとえばHTMLデータ、装飾を記述するスタイルデータ、たとえばCSSデータおよび動的な処理を記述するコード、たとえばJavaScript(登録商標)コードなどにより実現される。装飾を記述するスタイルデータは、たとえばファイル形式として提供されてもよく、構造を記述するマークアップデータ内で外部スタイルデータファイルを呼び出す記述により呼び出されてもよい。動的処理を記述するコードは、たとえばファイル形式で提供されてもよく、構造を記述するマークアップデータ内で外部コードファイルを呼び出す記述により呼び出されてもよい。外部スタイルデータファイルや外部コードファイルを呼び出して使用できる形式のフロントエンドは、再利用性やメンテナンス性が高く、たとえば汎用のフロントエンドコンポーネント等を利用することができる。以下で、作画データは、表示部品と表記される。データ活用プログラムは、PLC1において制御データ(デバイス値など)を収集したり、データ処理したり、WebHMIに渡すためのデータを作成したりするためのプログラムを含む。特定機能の設定情報は、基本ユニット3に備えられた機能(例:データ収集機能、通信機能、位置決め機能)に関する設定情報、たとえば、データ収集機能であれば、データ収集条件やデータ収集対象の設定情報を含み、拡張ユニット4の機能(例:通信機能、位置決め機能、データ活用機能、撮影機能)に関する設定情報等を含む。ここで、プロジェクトデータ15の編集には、プロジェクトデータ15の作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12aに記憶されているプロジェクトデータ15を読み出し、そのプロジェクトデータ15を、プロジェクト編集プログラム14aを用いて変更することができる。通信部13aは、通信ケーブル9aを介して基本ユニット3と通信する。プロジェクト転送部17は通信部13aを介してプロジェクトデータを基本ユニット3に転送する。通信部13aは、通信ケーブル9bを介して分析ユニット4aと通信する。 The user of the PC 2a edits the project data 15 through the operation unit 8a by having the CPU 11a execute the project editing program 14a stored in the storage device 12a. In other words, the PC 2a is an engineering tool and functions as a program creation support device. The CPU 11a executes the project editing program 14a to realize the project creation unit 16 and the project transfer unit 17. The project creation unit 16 creates the project data 15 according to user input. The project transfer unit 17 transfers the project data 15 to the PLC 1. The project data 15 includes one or more user programs (e.g., ladder program, control program, motion program, data utilization program), configuration information of the basic unit 3 and the expansion unit 4, drawing data of the WebHMI, setting information of specific functions provided in the basic unit 3 and the expansion unit 4, etc. The configuration information includes the connection positions of the multiple expansion units 4 to the basic unit 3 and device allocation information. The drawing data may include information indicating the functions (e.g., data collection function, communication function, positioning function) of the basic unit 3, and information indicating the functions (e.g., communication function, positioning function, photographing function) of the extension unit 4. The drawing data is a group of display parts for realizing the WebHMI, and is realized by markup data describing the structure of the front end, such as HTML data, style data describing decoration, such as CSS data, and code describing dynamic processing, such as JavaScript (registered trademark) code. The style data describing decoration may be provided, for example, in a file format, or may be called by a description calling an external style data file in the markup data describing the structure. The code describing dynamic processing may be provided, for example, in a file format, or may be called by a description calling an external code file in the markup data describing the structure. A front end in a format 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, a general-purpose front end component. Hereinafter, the drawing data is referred to as a display part. The data utilization program includes a program for collecting control data (such as device values) in the PLC 1, processing the data, and creating data to be passed to the WebHMI. The setting information for a specific function includes setting information on the functions (e.g., data collection function, communication function, positioning function) provided in the basic unit 3, such as setting information on data collection conditions and data collection targets for the data collection function, and setting information on the functions of the expansion unit 4 (e.g., communication function, positioning function, data utilization function, photography function). Here, editing the project data 15 includes creating and changing (re-editing) the project data 15. The user can read out the project data 15 stored in the storage device 12a as necessary and change the project data 15 using the project editing program 14a. The communication unit 13a communicates with the basic unit 3 via the communication cable 9a. The project transfer unit 17 transfers the project data to the basic unit 3 via the communication unit 13a. The communication unit 13a communicates with the analysis unit 4a via the communication cable 9b.

<ダッシュボードの表示に使用されるPC>
図3はPC2bの電気的構成について説明するためのブロック図である。図3が示すように、PC2bは、CPU11b、表示部7b、操作部8b、記憶装置12bおよび通信部13bを備えている。表示部7b、操作部8b、記憶装置12bおよび通信部13bは、それぞれCPU11bに対して電気的に接続されている。記憶装置12bはRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。
<PC used to display the dashboard>
Fig. 3 is a block diagram for explaining the electrical configuration of the PC 2b. As shown in Fig. 3, the PC 2b includes a CPU 11b, a display unit 7b, an operation unit 8b, a storage device 12b, and a communication unit 13b. The display unit 7b, the operation unit 8b, the storage device 12b, and the communication unit 13b are each electrically connected to the CPU 11b. The storage device 12b includes a RAM, a ROM, a HDD, and an SSD, and may further include a removable memory card.

CPU11bはWebブラウザプログラム14dを実行することでWebブラウザ18を実現する。Webブラウザ18は、通信部13bを介して、分析ユニット4aによって提供されるデータ活用アプリケーションの設定ページにアクセスしたり、ダッシュボードのページにアクセスしたりする。またCPU11bは、分析ユニット4aから送信された異常発生時の特定結果(判定結果)を示す画面情報に従って、当該特定結果を表示部7bに表示する。 The CPU 11b executes the web browser program 14d to realize the web browser 18. The web browser 18 accesses the setting page of the data utilization application provided by the analysis unit 4a and accesses the dashboard page via the communication unit 13b. The CPU 11b also displays the identification result (judgment result) at the time of the occurrence of an abnormality on the display unit 7b according to screen information indicating the identification result (judgment result) sent from the analysis unit 4a.

<PLC>
図4はPLC1の電気的構成について説明するためのブロック図である。図4が示すように、基本ユニット3は、CPU31、表示部5、操作部6、メモリ32および通信部33を備えている。表示部5、操作部6、メモリ32、および通信部33は、それぞれCPU31に電気的に接続されている。メモリ32は、RAMやROM、メモリカードなどを含んでもよい。メモリ32はデバイス部34やプロジェクト記憶部35、リングバッファ36、運転記録記憶部37などの複数の記憶領域を有している。
<PLC>
Fig. 4 is a block diagram for explaining the electrical configuration of the PLC 1. As shown in Fig. 4, the basic unit 3 includes a CPU 31, a display unit 5, an operation unit 6, a memory 32, and a communication unit 33. The display unit 5, the operation unit 6, the memory 32, and the communication unit 33 are each electrically connected to the CPU 31. The memory 32 may include a RAM, a ROM, a memory card, etc. The memory 32 has a plurality of storage areas, such as a device unit 34, a project storage unit 35, a ring buffer 36, and an operation record storage unit 37.

ここで運転記録とはPLC1の運転状態をスキャンタイムレベルで記録したものであり、たとえばPLC1の運転に関わる全てのシンボルのシンボル値と収集時刻とを、一スキャン毎に時系列に記録したものである。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボルであってもよく、ユーザにより選択されるプログラム単位やユニット単位に含まれる全てのシンボルであってもよい。この場合、運転記録の対象となるシンボルをプログラム単位やユニット単位のように有意な単位で一括選択でき、さらに個別にシンボルを加除できるようにしてもよい。これにより、たとえば、トラブル発生時に、トラブル発生時刻の前後においてPLC1の運転に関わる全てのシンボルのシンボル値と収集時刻とを、一スキャン毎に時系列に記録した運転記録を生成し、運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することができる。運転記録には、その時の状況を再現するために多くの情報が含まれるが、情報が多いと運転記録のデータ容量が大きくなり取り回しが難しくなったり、運転記録の収集に負荷がかかったりするため、収集対象となるユーザによりプログラム単位やユニット単位で選択できるようになっている。 Here, the operation record is a record of the operation state of PLC1 at the scan time level, for example, the symbol values and collection times of all symbols related to the operation of PLC1 recorded in chronological order for each scan. All symbols related to the operation may be, for example, all symbols used in a user program such as a ladder program, or all symbols included in a program unit or unit unit selected by the user. In this case, the symbols to be recorded for the operation record may be selected in a meaningful unit such as a program unit or unit unit, and symbols may be added or removed individually. As a result, for example, when a trouble occurs, an operation record is generated in which the symbol values and collection times of all symbols related to the operation of PLC1 before and after the trouble occurs are recorded in chronological order for each scan, and it is possible to accurately grasp what happened at the time of the trouble based on the operation record even later. The operation record contains a lot of information to reproduce the situation at that time, but if there is a lot of information, the data capacity of the operation record becomes large, making it difficult to handle and placing a burden on the collection of the operation record, so that the user to be collected can select the program unit or unit unit.

また、運転記録には、シンボルに加え時系列のカメラ画像が撮像時刻とともに含まれてもよい。これにより、たとえば、トラブル発生時に、トラブル発生時刻の前後に遡って何が起きたかを後からでも正確に把握でき、設備の外観変化を示すカメラ画像も運転記録に含めることでユーザプログラムの時系列と連動してカメラ画像を記録することができる。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴を変化点イベントとして運転記録に含めてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかを時系列で確認できる。 In addition to symbols, the operation record may also include a time series of camera images along with the time of capture. This makes it possible, for example, when a problem occurs, to accurately determine what happened before and after the problem occurred even at a later time, and by including camera images showing changes in the appearance of the equipment in the operation record, the camera images can be recorded in conjunction with the time series of the user program. The operation record may also include writing history from external devices such as HMIs (human machine interfaces) and PCs, and writing history from PLCs, as change-point events. This makes it possible, for example, to check in chronological order what change-point events occurred before and after the problem occurred.

デバイス部34はビットデバイスやワードデバイスなどを有し、各デバイスはデバイス値を記憶する。プロジェクト記憶部35は、PC2aから転送されたプロジェクトデータを記憶する。リングバッファ36は、定期的にデバイス部34からデバイス値を収集して記憶する。運転記録記憶部37は、所定のイベントが発生すると、発生時刻の周辺(発生時刻以前、発生時刻以後、または、発生時刻の前後)に収集されたデバイス値とその収集時刻とを含むイベント記録を記憶する。イベントとは、たとえば、デバイスごとに設定された警報条件または注意条件が満たされたことをいう。警報条件とは、たとえば、PLC1による製造ラインの制御動作を停止すべきような条件をいう。注意条件は、たとえば、PLC1による製造ラインの制御動作について管理者が注意すべきようなデバイス値の条件をいう。CPU31は、PC2aからの要求に応答してイベント記録をPC2aへ送信する。また、CPU31は、リアルタイムでデバイス値をPC2aに提供してもよい。メモリ32は基本ユニット3のCPU31により実行される制御プログラムも記憶する。図3が示すように基本ユニット3と拡張ユニット4とは拡張バスの一種であるユニット内部バス90を介して接続されている。なお、ユニット内部バス90に関する通信機能はCPU31に実装されるが、通信部33の一部として実装されてもよい。通信部33は、USB規格などに準拠したシリアル通信回路を有してもよい。CPU31は通信部33を介してプロジェクトデータをPC2aから受信する。 The device section 34 has a bit device, a word device, etc., and each device stores a device value. The project storage section 35 stores project data transferred from the PC 2a. The ring buffer 36 periodically collects and stores device values from the device section 34. When a specific event occurs, the operation record storage section 37 stores an event record including device values collected around the time of occurrence (before, after, or around the time of occurrence) and the collection time. An event means, for example, that an alarm condition or a caution condition set for each device is satisfied. An alarm condition means, for example, a condition that the control operation of the production line by the PLC 1 should be stopped. An caution condition means, for example, a device value condition that the administrator should be careful about regarding the control operation of the production line by the PLC 1. The CPU 31 transmits the event record to the PC 2a in response to a request from the PC 2a. The CPU 31 may also provide the device value to the PC 2a in real time. The memory 32 also stores a control program 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 type of expansion bus. The communication function related to the unit internal bus 90 is implemented in the CPU 31, but may also be implemented as part of the communication unit 33. The communication unit 33 may have a serial communication circuit that complies with the USB standard or the like. The CPU 31 receives project data from the PC 2a via the communication unit 33.

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

拡張ユニット4はCPU41とメモリ42を備えている。拡張ユニット4bのCPU41bは、デバイスに格納された基本ユニット3からの指示(デバイス値)にしたがってフィールドデバイス10を制御する。なお、本実施形態において拡張ユニット4bは、カメラ制御ユニットとして機能する。また、CPU41bは、カメラ等のフィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによって基本ユニット3に転送される。また、デバイスに格納されている制御結果は、基本ユニット3からの読み出し命令にしたがって、入出力リフレッシュとは異なるタイミングであっても、基本ユニット3に転送されることがある。メモリ42はRAMやROMなどを含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。メモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。 The expansion unit 4 includes 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. In this embodiment, the expansion unit 4b functions as a camera control unit. The CPU 41b also stores the control results of the field device 10, such as a camera, in a device called a buffer memory. The control results stored in the device are transferred to the basic unit 3 by input/output refresh. The control results stored in the device may also 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 a RAM, a ROM, and the like. In particular, a memory area used as a buffer memory is secured in the RAM. The memory 42 may have a buffer that temporarily holds data (e.g., still image data or video data) acquired by the field device 10.

データ活用ユニット(分析ユニット)として機能する分析ユニット4aのCPU41aは、通信部43と通信ケーブル9bを介してPC2bと通信する。通信部43は、ネットワーク通信を実行する通信回路を含む。CPU41aは、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。たとえば、CPU41aは、データ活用アプリケーションとして運転記録分析アプリケーションを実行することにより、運転記録データに含まれるシンボル値を分析することで、非正常シンボルと当該シンボルが非正常となる時刻とを特定し、非正常シンボルと当該シンボルが非正常となる時刻とを対応づけた分析結果を含む分析レポートを作成する。運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための情報を含んでいるため、分析レポートと紐づけて管理されてもよい。また、運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するため、多くのシンボルのシンボル値を含むことからデータサイズが大きくなる。このため、たとえば、CPU41aは、運転記録データの中から、分析レポートに必要なデータを読み出して、分析レポート用のデータとして運転記録データに追加保存してもよい。分析レポート用のデータは、もともと運転記録データに含まれていた分析レポートに必要なデータを、そのままコピーしたものを分析レポート用のデータとしてタグ付けして運転記録データに追加保存してもよく、分析レポート用にデータ加工して運転記録データに追加保存してもよい。 The CPU 41a of the analysis unit 4a, which functions as a data utilization unit (analysis unit), communicates with the PC 2b via the communication unit 43 and the communication cable 9b. The communication unit 43 includes a communication circuit that executes network communication. The CPU 41a creates an analysis report including the analysis results by analyzing the device values collected in the basic unit 3. For example, the CPU 41a executes a driving record analysis application as a data utilization application to analyze the symbol values included in the driving record data, thereby identifying abnormal symbols and the time at which the symbols become abnormal, and creates an analysis report including the analysis results in which the abnormal symbols and the time at which the symbols become abnormal are associated. The driving record data includes information for reproducing the situation around the time at which the driving record storage event occurs, and therefore may be managed in association with the analysis report. In addition, the driving record data includes symbol values of many symbols to reproduce the situation around the time at which the driving record storage event occurs, and therefore the data size becomes large. For this reason, for example, the CPU 41a may read data required for the analysis report from the driving record data, and additionally store it in the driving record data as data for the analysis report. The data for the analysis report may be a direct copy of the data necessary for the analysis report that was originally included in the driving record data, tagged as data for the analysis report, and added to the driving record data, or the data may be processed for the analysis report and added to the driving record data.

運転記録データにカメラ画像が含まれると、カメラ画像の再生により運転記録の保存イベント発生時刻周辺の状況をより詳細に把握することができる。分析レポートはカメラ画像を再生するUI(ユーザインターフェース)を含んでもよい。カメラ画像はデータサイズが大きいため、カメラ画像を再生するUIにおいてクリックやスクロール操作を受け付けた時などに必要なカメラ画像データだけを部分的にダウンロードしてもよい。たとえば、CPU41aは、分析レポートを作成する際、カメラ画像を分析レポートにおける表示順序に対応して加工したり、時刻とカメラ画像の保存位置の対応関係を示すインデックス情報を生成し、時刻に対応したカメラ画像を高速かつ部分的にダウンロードできるようにしてもよい。 When camera images are included in the driving record data, the situation around the time when the driving record storage event occurred can be understood in more detail by playing back the camera images. The analysis report may include a UI (user interface) for playing back camera images. Since camera images have a large data size, only the necessary camera image data may be partially downloaded when a click or scroll operation is received in the UI for playing back the camera images. For example, when creating the 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 time and the storage location of the camera images, allowing the camera images corresponding to the time to be downloaded quickly and partially.

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

<PC2bの機能>
図5はPC2bのCPU11bによって実現される機能を説明する図である。PC2bのCPU11bは、Webブラウザプログラム14dを実行することによりWebブラウザ18を実行する。Webブラウザ18はWebアプリケーション61を実行して、通信処理部62、データ取得部63、描画部65、受付部66、および再生部67の機能を実現する。また、Webブラウザ18は、後述する分析ユニット4aのWebサーバ82と、HTTP(ハイパーテキストトランスポートプロトコル)にしたがって通信して表示部品を受信する。
<Functions of PC2b>
5 is a diagram for explaining functions realized by the CPU 11b of the PC 2b. The CPU 11b of the PC 2b executes the Web browser program 14d to execute the Web browser 18. The Web browser 18 executes a Web application 61 to realize the functions of a communication processing unit 62, a data acquisition unit 63, a drawing unit 65, a reception unit 66, and a reproduction unit 67. The Web browser 18 also communicates with a Web server 82 of the analysis unit 4a (described later) according to HTTP (HyperText Transport Protocol) to receive display components.

Webブラウザ18は、Webアプリケーション61を実行することで分析レポートを表示部7bに表示する。Webアプリケーション61は、たとば、HTMLデータ、CSSデータおよびjava(R)スクリプトなどにより構成される。Webアプリケーション61は、分析ユニット4aから提供されてもよい。通信処理部62は、Webサーバ82との通信を処理する。データ取得部63は、分析レポートに表示すべき運転記録データを分析ユニット4aから取得する。運転記録は、ダウンロードして記憶装置12bに記憶される。描画部65は分析レポートを表示部7bに表示する。連携部64は、分析レポートにおける再生時刻と、運転記録の再生時刻とが同期するように時刻管理を実行する。 The web browser 18 executes a web application 61 to display the analysis report on the display unit 7b. The web application 61 is composed of, for example, HTML data, CSS data, and Java(R) script. The web application 61 may be provided by the analysis unit 4a. The communication processing unit 62 processes communication with the web server 82. The data acquisition unit 63 acquires driving record data to be displayed in the analysis report from the analysis unit 4a. The driving record is downloaded and stored in the storage device 12b. The drawing unit 65 displays the analysis report on the display unit 7b. The linking unit 64 performs time management so that the playback time in the analysis report and the playback time of the driving record are synchronized.

受付部66は、分析レポートの結果表示画面に対しての操作などを受け付ける。再生部67は、たとえば、受付部66又は連携部64から入力される再生要求に応じて、運転記録データをダウンロードさせて記憶装置12bに保存させる。再生要求には、たとえば、運転記録を特定可能な識別情報(例:固有の識別情報やPLC1における保存パス名)などが含まれていてもよい。再生部67は、記憶装置12に保存されている運転記録を再生して表示部7に表示する。再生部67は、PLC1からリアルタイムで取得される時系列のデバイス値を波形化して表示したり、運転記録に含まれる時系列のデバイス値を波形化して表示したりしてもよい。 The reception unit 66 receives operations on the analysis report result display screen. The playback unit 67 downloads driving record data and stores it in the storage device 12b in response to a playback request input from the reception unit 66 or the linking unit 64, for example. The playback request may include, for example, identification information that can identify the driving record (e.g., unique identification information or a storage path name in PLC1). The playback unit 67 plays back the driving record stored in the storage device 12 and displays it on the display unit 7. The playback unit 67 may display the time-series device values acquired in real time from the PLC1 as waveforms, or may display the time-series device values included in the driving record as waveforms.

<PLC1の機能>
図6はPLC1においてCPU31とCPU41aとが制御プログラムを実行することで実現する機能を示している。CPU31においてコマンド処理部71は、PC2a、2bから受信されるコマンドを解釈し、解釈結果に対応した処理を実行する。たとえば、HTTPリクエストをカプセル化して作成された要求信号が受信されると、コマンド処理部71は、要求信号をCPU41aに転送する。要求信号に対する応答信号がCPU41aから受信されると、コマンド処理部71は、応答信号をPC2a、2bへ転送する。コマンド処理部71は分析ユニット4aにも設けられてよい。その場合、PC2aからコマンドについてはコマンド処理部71が処理し、PC2bからのコマンドは分析ユニット4aに設けられたコマンド処理部が処理する。収集部72は、基本ユニット3や拡張ユニット4bからシンボル値(デバイス値や変数に格納された値)を収集してリングバッファ36に格納する。収集部72の収集設定については基本ユニット3および分析ユニット4aの少なくとも一方から行うことができる。ロギング部73は、収集されたシンボル値などに基づき、何らかのエラーまたはトラブル(非正常イベント)がPLC1において生じているかどうかを判定する。たとえば、ロギング部73は、収集されたシンボル値が記録条件を満たしているかどうかを判定してもよい。収集されたシンボル値が記録条件を満たしている場合に、ロギング部73は、当該シンボル値を運転記録74内の稼働ログ76として保存する。ロギング部73は、運転記録を作成したときに実行されていたプロジェクトデータ75も運転記録74内に保存する。さらに、ロギング部73は、運転記録74を作成したことを分析部83に通知する。設定部78は、オペレータの入力に従って後述する学習モデルの生成や、分析、分析レポートの生成に利用する制御サイクルを設定する。制御サイクルは、サイクルの基準となるタイミングを指定することで設定され、制御サイクルの設定をサイクル設定と呼ぶ。たとえば、サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とを含む。また、サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの開始タイミングの設定情報と、サイクルの終了タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの終了タイミングの設定情報を含んでいてもよい。設定部78による制御サイクルの設定はCSV等のファイル形式でPLC1に提供され、設定部78がCSV等のファイルを読み出して制御サイクルを設定してもよい。例えば、設定部78によって設定された制御サイクルは、当該サイクルに同期するデバイスを分類して当該分類情報を属性情報としてモデルへ付加したり、分析対象とするデバイスを制御サイクルによって絞ったり、制御サイクルに同期して表示される分析レポートを生成したりするために用いられる。設定される制御サイクルは複数であってもよい。設定方法については後述する。また、制御サイクルは必ずしも設定する必要はなく、たとえば、正常時におけるシンボル値の取り得る値が予め決まっている場合、シンボル値がその予め決まっている取り得る値か否かを判定することで非正常シンボルとして判定することができる。
<PLC1 Function>
6 shows functions that are realized by the CPU 31 and the CPU 41a executing the control program in the PLC 1. In the CPU 31, the command processing unit 71 interprets commands received from the PCs 2a and 2b, 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 unit 71 transfers the response signal to the PCs 2a and 2b. The command processing unit 71 may also be provided in the analysis unit 4a. In that case, the command processing unit 71 processes commands from the PC 2a, and the command processing unit provided in the analysis unit 4a processes commands from the PC 2b. 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 collection setting of the collection unit 72 can be performed from at least one of the basic unit 3 and the analysis unit 4a. The logging unit 73 determines whether any error or trouble (abnormal event) has occurred in the PLC 1 based on the collected symbol values, etc. For example, the logging unit 73 may determine whether the collected symbol values satisfy the recording conditions. If the collected symbol values satisfy the recording conditions, the logging unit 73 stores the symbol values as an operation log 76 in the operation record 74. The logging unit 73 also stores in the operation record 74 project data 75 that was being executed when the operation record was created. Furthermore, the logging unit 73 notifies the analysis unit 83 that the operation record 74 has been created. The setting unit 78 sets a control cycle to be used for generating a learning model, analysis, and generating an analysis report, which will be described later, according to an input from an operator. The control cycle is set by specifying a timing that is a reference for the cycle, and the setting of the control cycle is called a cycle setting. For example, the cycle setting includes a symbol name that specifies the start timing of the cycle and rising/falling edge information of the symbol value. The cycle setting may include setting information of the start timing of the cycle based on the symbol name that specifies the start timing of the cycle and the rising/falling edge information of the symbol value, and setting information of the end timing of the cycle based on the symbol name that specifies the end timing of the cycle and the rising/falling edge information of the symbol value. The setting of the control cycle by the setting unit 78 may be provided to the PLC 1 in a file format such as CSV, and the setting unit 78 may read the file such as CSV to set the control cycle. For example, the control cycle set by the setting unit 78 is used to classify devices synchronized with the cycle and add the classification information to a model as attribute information, to narrow down devices to be analyzed by the control cycle, and to generate an analysis report that is displayed in synchronization with the control cycle. A plurality of control cycles may be set. The setting method will be described later. The control cycle does not necessarily need to be set. For example, when the possible values of the symbol value in the normal state are predetermined, it is possible to determine that the symbol value is an abnormal symbol by determining whether or not the symbol value is the predetermined possible value.

CPU41aにおいてプロトコル変換部81は、PC2bからカプセル化されて転送されてきたHTTPリクエストをプロトコル変換して要求信号からとりだす。プロトコル変換部81は、HTTPリクエストに対してWebサーバ82から送信される応答情報をカプセル化してCPU41aに渡す。プロトコル変換部81は透過的なトンネル(例:TCPトンネル)を提供してもよい。Webサーバ82は、分析部83により作成された分析レポートをPC2bへ提供する。分析部83は、運転記録74内の稼働ログ76を後述するモデルを用いて分析し、分析結果77を作成して、ロギング部73に渡す。分析部83が分析結果77を作成すると、ロギング部73は、プロジェクトデータ75および稼働ログ76に加えて、分析結果77を含む運転記録74に追加する。運転記録74は、運転記録記憶部37に格納される。或いは、分析結果77は分析ユニット4aのメモリ42aに記憶されてもよい。通知発行部84は、分析結果77が発行されると、通知を発行する。この通知は、CPU11bに送信される。 In the CPU 41a, the protocol conversion unit 81 converts the protocol of the HTTP request encapsulated and transferred from the PC 2b and extracts it from the request signal. The protocol conversion unit 81 encapsulates the response information sent from the Web server 82 in response to the HTTP request and passes it to the CPU 41a. The protocol conversion unit 81 may provide a transparent tunnel (e.g., a TCP tunnel). The Web server 82 provides the analysis report created by the analysis unit 83 to the PC 2b. The analysis unit 83 analyzes the operation log 76 in the driving record 74 using a model described later, creates the analysis result 77, and passes it to the logging unit 73. When the analysis unit 83 creates the analysis result 77, the logging unit 73 adds it to the driving 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. Alternatively, the analysis result 77 may be stored in the memory 42a of the analysis unit 4a. When the analysis result 77 is issued, the notification issuing unit 84 issues a notification. This notification is sent to the CPU 11b.

たとえば、Webブラウザ18がHTTPリクエストにより分析レポートを要求すると、Webサーバ82はHTTPリクエストをプロトコル変換部81に渡す。HTTPリクエストには、CPU41aで実行され、分析レポートを提供する分析ユニット4a(Webサーバ)のURL(ユニフォームリソースロケータ)が含まれている。プロトコル変換部81は、HTTPリクエストをカプセル化して、所定の通信プロトコルで送信可能な要求信号(コマンド)に変換する。この要求信号は、分析ユニット4aのCPU41aに渡される。CPU41aは、CPU11bに分析レポートを返信する。CPU11bは、分析レポートをWebブラウザ18に渡す。これによりWebブラウザ18は表示部7bに分析レポートを表示する。 For example, when the Web browser 18 requests an analysis report by an HTTP request, the Web server 82 passes the HTTP request to the protocol conversion unit 81. The HTTP request includes the URL (Uniform Resource Locator) of the analysis unit 4a (Web server) that is executed by the CPU 41a and provides the analysis report. The protocol conversion unit 81 encapsulates the HTTP request and converts it into a request signal (command) that can be transmitted using a specified communication protocol. This request signal is passed to the CPU 41a of the analysis unit 4a. The CPU 41a returns the analysis report to the CPU 11b. The CPU 11b passes the analysis report to the Web browser 18. As a result, the Web browser 18 displays the analysis report on the display unit 7b.

モデル生成部86は、後に分析部83が運転記録データと比較するためのマスタデータとなるモデルを作成する。レポート生成部85は、分析結果77をPC2bのWebブラウザ18で表示するための表示画面である分析レポートを生成する。分析レポートには、複数の分析結果が含まれるが、それらの分析結果は時間軸上で同期して表示される。分析レポートの詳細については図8Aを用いて後述する。 The model generation unit 86 creates a model that will become master data for later comparison with the driving record data by the analysis unit 83. The report generation unit 85 generates an analysis report, which is a display screen for displaying the analysis results 77 on the web browser 18 of the PC 2b. The analysis report includes multiple analysis results, which are displayed synchronously on a time axis. Details of the analysis report will be described later with reference to FIG. 8A.

<基本フロー>
図7は、本実施形態に係るモデル生成と、運転記録データの分析および結果出力の基本フローを示す。以下で説明する処理は、基本ユニット3のCPU31および分析ユニット(拡張ユニット)4aのCPU41aによって実行される処理として説明する。しかし、本発明を限定する意図はなく、それらの処理の一部が他のユニットで実行されてもよいし、それらの処理の全てが一つのユニットで実行されてもよいし、或いはプログラマブルロジックコントローラに通信可能に接続された外部装置(分析装置)によって実行されてもよい。
<Basic flow>
7 shows a basic flow of model generation according to this embodiment, analysis of driving record data, and output of the results. The processes described below will be described as processes executed by the CPU 31 of the basic unit 3 and the CPU 41a of the analysis unit (extension unit) 4a. However, this is not intended to limit the present invention, and some of these processes may be executed by other units, all of these processes may be executed by one unit, or they may be executed by an external device (analysis device) communicatively connected to the programmable logic controller.

S1で基本ユニット3のCPU31は、PC2aを介して入力された情報に従って、収集部72における収集設定や分析設定を設定する。たとえば、CPU31は、収集設定として、収集対象や収集期間、保存先、ファイル名などを設定することができる。分析設定としては、たとえば分析対象となるサイクルの開始および終了の設定が含まれる。ここでは基本ユニット3が収集設定および分析設定を行う例について説明したが、分析ユニット4aのCPU41aがPC2bを介して入力された情報に従って収集設定を行ってもよい。さらにS1では、基本ユニット3のCPU31が、分析設定として、PC2a、2bの表示部7a、7bに表示された設定画面を介して入力された情報に従って撮影条件等のカメラ設定や画像処理設定、監視項目設定などを設定することができる。なお、これらの分析設定についても分析ユニット4aのCPU41aによって実行することも可能である。その後、S2でCPU31は、S1で設定された収集設定に従って運転記録データを、モデル作成用データとして収集し、運転記録記憶部37へ格納する。より詳細には、収集設定に従って収集された全デバイス値が一旦リングバッファ36へ格納され、リングバッファ36から必要なデータが運転記録データとして運転記録記憶部37へ格納される。 In S1, the CPU 31 of the basic unit 3 sets the collection settings and analysis settings in the collection unit 72 according to the information input via the PC 2a. For example, the CPU 31 can set the collection target, collection period, storage destination, file name, etc. as the collection settings. The analysis settings include, for example, the setting of the start and end of the cycle to be analyzed. Here, an example in which the basic unit 3 performs the collection settings and analysis settings has been described, but the CPU 41a of the analysis unit 4a may perform the collection settings according to the information input via the PC 2b. Furthermore, in S1, the CPU 31 of the basic unit 3 can set the camera settings such as the shooting conditions, image processing settings, monitoring item settings, etc. as the analysis settings according to the information input via the setting screen displayed on the display units 7a and 7b of the PCs 2a and 2b. Note that these analysis settings can also be executed by the CPU 41a of the analysis unit 4a. After that, in S2, the CPU 31 collects the driving record data as model creation data according to the collection settings set in S1 and stores it in the driving record storage unit 37. More specifically, all device values collected according to the collection settings are temporarily stored in the ring buffer 36, and the necessary data from the ring buffer 36 is stored in the driving record storage unit 37 as driving record data.

次に、S3で分析ユニット4aのCPU41aは、収集された運転記録データを利用してモデルを作成する。当該モデルには、各デバイスのパターンを、定数、ビットパターン、アナログ値などの特徴量に基づいて分類したデバイスごとの情報や、デバイス値が変化するタイミングを示す情報が含まれてもよい。つまり、当該モデルは、各デバイスの正常時の変化パターンが学習される。S3の詳細な処理については図14を用いて後述する。 Next, in S3, the CPU 41a of the analysis unit 4a creates a model using the collected driving record data. The model may include information for each device that classifies the patterns of each device based on features such as constants, bit patterns, and analog values, and information indicating the timing at which device values change. In other words, the model learns the change patterns of each device under normal conditions. The detailed processing of S3 will be described later using FIG. 14.

その後、S4で基本ユニット3のCPU31は運転記録データの分析を行うトリガが発生したか否かを判断する。当該トリガは、基本的には運転中にいつもと違う異常が発生した場合をトリガとするものであり、その成立条件として、たとえばエラービットが設定された場合や、監視アプリケーション等のアプリケーションからの所定のイベントの発生、オペレータからの手動による指示の受け付け等が挙げられる。トリガが発生するとS5へ進む。 Then, in S4, the CPU 31 of the basic unit 3 determines whether a trigger has occurred to analyze the driving record data. The trigger is basically triggered when an unusual abnormality occurs during driving, and the conditions for the trigger to be met include, for example, when an error bit is set, when a specific event occurs from an application such as a monitoring application, or when a manual instruction is received from an operator. If a trigger occurs, the process proceeds to S5.

S5で基本ユニット3のCPU31は、各デバイス値を収集して分析を行うための運転記録データを、運転記録記憶部37に保存する。通常、いつもと違う何らかの変化が発生した後にトリガが発生する。従って、ここでは、そのような変化の原因を特定するためにトリガ前後のデータが取得される。上述したように、運転中における全デバイスのデバイス値はリングバッファ36へ保持されている。従って、CPU31はトリガが発生したと判断すると、S1で設定された分析設定に従って、トリガ前後の必要なデバイス値をリングバッファ36から運転記録記憶部37へ格納する。また、S5で分析ユニット4aのCPU41aは、基本ユニット3から分析用の運転記録データを取得する。ここでは、運転記録データに加えて、更にカメラ画像データやイベントの発生履歴、エラー履歴の情報も合わせて取得してもよい。 In S5, the CPU 31 of the basic unit 3 collects each device value and saves the driving record data for analysis in the driving record storage unit 37. Usually, a trigger occurs after some unusual change occurs. Therefore, data before and after the trigger is acquired here to identify the cause of such a change. As described above, the device values of all devices during driving are stored in the ring buffer 36. Therefore, when the CPU 31 determines that a trigger has occurred, it stores the necessary device values before and after the trigger from the ring buffer 36 to the driving record storage unit 37 according to the analysis settings set in S1. Also, in S5, the CPU 41a of the analysis unit 4a acquires driving record data for analysis from the basic unit 3. Here, in addition to the driving record data, camera image data, event occurrence history, and error history information may also be acquired.

その後、S6で分析ユニット4aのCPU41aは、基本ユニット3で収集された時系列データを取得して、S2で生成されたモデルと比較して分析処理を実行する。分析処理では、各デバイスについて、S3で生成されたマスタデータであるモデルデータと、分析対象の運転記録データとを比較して、対象デバイスがいつもと異なる状態であるかどうかを判断する。所定値以上の差分があればいつもとは異なる状態が検知されていると判断する。さらにCPU41aは判断後の分析結果を基本ユニット3の運転記録記憶部37における分析結果77の記憶領域に、各デバイスごとの分析結果を格納する。ここで分析結果77には、いつもと異なる状態が検知されたデバイスの分析結果とその記録データとが時間情報とともに格納されることが望ましい。これにより、オペレータ等からの分析レポートの生成要求を受け付けた場合にそれらの情報を用いて各デバイス値を同期させて表示可能な分析レポートを容易に作成することができる。なお、拡張ユニット4bから得られるカメラ映像も紐づけて格納してもよい。さらに、S7でCPU41aは、分析結果に基づいて、結果を示す表示データ(分析レポート)を生成し、通信部43を介して生成した表示データをPC2bや外部装置へ送信し、処理を終了する。たとえば、PC2bにおいて分析結果がオペレータに対して表示される。分析レポートを表示した結果表示画面の詳細については図8Aを用いて後述する。 Then, in S6, the CPU 41a of the analysis unit 4a acquires the time series data collected by the basic unit 3 and performs an analysis process by comparing it with the model generated in S2. In the analysis process, for each device, the model data, which is the master data generated in S3, is compared with the driving record data to be analyzed to determine whether the target device is in an unusual state. If there is a difference of a predetermined value or more, it is determined that an unusual state has been detected. Furthermore, the CPU 41a stores the analysis results for each device after the judgment in the storage area of the analysis result 77 in the driving record storage unit 37 of the basic unit 3. Here, it is desirable that the analysis result of the device in which an unusual state was detected and its record data are stored together with time information in the analysis result 77. This makes it possible to easily create an analysis report that can be displayed by synchronizing each device value using the information when a request for generating an analysis report is received from an operator, etc. Note that the camera images obtained from the expansion unit 4b may also be stored in a linked manner. Furthermore, in S7, the CPU 41a generates display data (analysis report) showing the results based on the analysis results, transmits the generated display data to the PC 2b or an external device via the communication unit 43, and ends the process. For example, the analysis results are displayed to the operator on the PC 2b. Details of the result display screen displaying the analysis report will be described later with reference to FIG. 8A.

監視アプリケーションは、分析ユニット4aのCPU41aにより実行されるデータ活用アプリケーションの一つである。分析ユニット4aは、データ活用アプリケーションを実行する拡張ユニットであってもよい。データ活用アプリケーションは、制御データを収集したりデータ処理したりするデータ活用プログラム(例:フロー)と、データ活用プログラムの実行結果を表示するダッシュボードとを含む。データ活用アプリケーションとしては、監視対象であるデバイスや変数をリアルタイムに監視する監視アプリケーションと、PLC1の運転状態を再現するための運転記録を分析して分析レポートを生成する運転記録分析アプリケーションなどが存在してもよい。また、データ活用アプリケーションとしては、可動率(べきどうりつ)、良品率、または、サイクルタイムなどのKPI(Key Performance Indicator)を算出する算出アプリケーションなどが存在してもよい。監視アプリケーションは、PLC1のシンボルのシンボル値に基づく常時監視するためのアプリケーションで、たとえば監視アプリケーションの設定に応じて1又は複数のシンボルのシンボル値をスキャンタイムレベルで常時収集し、収集したシンボル値に基づく情報をリアルタイムに更新しながら常時表示するアプリケーションである。常時監視の対象となる1又は複数のシンボルは、予めユーザにより設定される。監視アプリケーションは、たとえばWebサーバ機能を有し、通信部43を介して汎用ブラウザから設定が可能である。汎用ブラウザから設定できることにより、プログラム作成支援装置等の専用ツールを介さずに、PC、スマホ、タブレットから設定または監視ができる。また、監視アプリケーションは、常時監視の対象となる1又は複数のシンボルについて正常時における複数のサイクルのシンボル値に基づき当該シンボルに対応する閾値を自動で設定する。たとえば、監視アプリケーションは、ユーザ指示を受け付けて、常時監視の対象となる複数のシンボルについて正常時における複数のサイクルのシンボル値のばらつきに基づき、シンボルの状態を監視するための閾値を一括で自動設定する。閾値は、いつもと違う状態、つまり、非正常状態を監視するように設定され、監視アプリケーションは、監視対象のシンボルのシンボル値が閾値を超えた場合はアラームを発報する。このようにして、たとえば、PLC1は、設備が止まる前に兆候を捉えることができる。PLC1は、監視アプリケーションによる兆候監視の結果、監視対象のシンボルのシンボル値が閾値を超えた場合のアラームを、運転記録の保存条件としてもよい。PLC1は、監視アプリケーションによるアラーム発生をイベントトリガとして、トリガ前後の運転記録データを保存する。PLC1は、運転記録データの保存が完了すると保存完了デバイスをONする。運転記録分析アプリケーションは、運転記録データの保存が完了したことをうけ、自動的に運転記録データを分析してもよい。たとえば、運転記録分析アプリケーションは、保存完了デバイスをONしたことに応じて運転記録データを分析してもよい。運転記録分析アプリケーションは、分析対象となったシンボルのシンボル値(例、全ビットデバイスのデバイス値)を分析して、アラートが出た要因候補のシンボルを抽出する。このようにして運転記録分析アプリケーションは、監視アプリケーションによるアラーム発生の要因をアラーム発生により保存した運転記録データを自動分析し、運転記録データの中からいつもと違うシンボルを抽出する。これにより、CPU41aは、監視アプリケーションの兆候監視機能により設備の状態を常時監視し、変化要因でアラートを発報する。さらに、CPU41aは、アラート要因を自動分析し、いつもと違うシンボルを抽出する。つまり、PLC1は、シンボル値を常時監視することで被制御対象設備の兆候監視をして、アラームにより被制御対象設備が止まる前に兆候を報知して、兆候の要因を自動分析する。 The monitoring application is one of the data utilization applications executed by the CPU 41a of the analysis unit 4a. The analysis unit 4a may be an extension unit that executes the data utilization application. The data utilization application includes a data utilization program (e.g., flow) that collects and processes control data, and a dashboard that displays the execution results of the data utilization program. The data utilization application may include a monitoring application that monitors the devices and variables to be monitored in real time, and an operation record analysis application that analyzes the operation record to reproduce the operation state of the PLC1 and generates an analysis report. In addition, the data utilization application may include a calculation application that calculates KPIs (Key Performance Indicators) such as the operation rate, the non-defective product rate, or the cycle time. The monitoring application is an application for continuous monitoring based on the symbol value of the symbol of the PLC1, and is, for example, an application that constantly collects the symbol values of one or more symbols at the scan time level according to the settings of the monitoring application, and constantly displays information based on the collected symbol values while updating it in real time. One or more symbols to be constantly monitored are set in advance by the user. The monitoring application has, for example, a Web server function, 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, a smartphone, or a tablet without using a dedicated tool such as a program creation support device. In addition, the monitoring application automatically sets a threshold value corresponding to one or more symbols to be constantly monitored based on the symbol value of multiple cycles in normal times. For example, the monitoring application accepts a user instruction and automatically sets a threshold value for monitoring the state of the symbols based on the variation of the symbol value of multiple cycles in normal times for multiple symbols to be constantly monitored. The threshold value is set to monitor a state that is different from usual, that is, a non-normal state, and the monitoring application issues an alarm when the symbol value of the symbol to be monitored exceeds the threshold value. In this way, for example, the PLC1 can capture a symptom before the equipment stops. The PLC1 may set an alarm when the symbol value of the symbol to be monitored exceeds the threshold value as a result of symptom monitoring by the monitoring application as a condition for saving the operation record. The PLC1 uses the occurrence of an alarm by the monitoring application as an event trigger and saves the driving record data before and after the trigger. The PLC1 turns on the save completion device when the saving of the driving record data is completed. The driving record analysis application may automatically analyze the driving record data in response to the completion of saving the driving record data. For example, the driving record analysis application may analyze the driving record data in response to the saving completion device being turned on. The driving record analysis application analyzes the symbol value of the symbol to be analyzed (e.g., the device value of all bit devices) and extracts a symbol that is a candidate for the cause of the alert. In this way, the driving record analysis application automatically analyzes the driving record data saved due to the alarm occurrence for the cause of the alarm occurrence by the monitoring application, and extracts a symbol that is different from usual from the driving record data. As a result, the CPU 41a constantly monitors the state of the equipment using the symptom monitoring function of the monitoring application and issues an alert due to a change in the cause. Furthermore, the CPU 41a automatically analyzes the alert cause and extracts a symbol that is different from usual. In other words, PLC1 constantly monitors the symbol value to monitor symptoms of the controlled equipment, reports the symptoms before the controlled equipment stops with an alarm, and automatically analyzes the cause of the symptoms.

<結果表示画面(分析レポート)>
図8Aは、本実施形態に係るWebブラウザ18がWebブラウザプログラム14dを実行することで表示部7bに表示される結果表示画面を示す。ここでは当該結果表示画面800がPC2bの表示部7bに表示される例について説明するが、本発明を限定する意図はなく他の装置の表示部に表示されてもよいし、PLCの拡張ユニットが有するモニタで表示可能であれば当該モニタに表示されてもよい。たとえば、他の装置としてプログラマブル表示器、タブレット、スマートフォンが含まれてもよい。或いは、以下で説明する結果表示画面の内容を含む分析レポートとして他の装置へ電子メール、SNS、FTP転送等で送信されてもよい。分析レポートに対して任意のコメントが付されてもよく、たとえば、分析レポートに対して手書き文字や入力文字コメントが付与されてもよい。この場合、任意のコメントが付与された結果表示画面の内容を含む分析レポートが他の装置へ送信されてもよい。これにより、メールの受信者はコメントなどの現場状況と分析レポートとを合わせて閲覧することができる。また、分析レポートが他の装置へ送信する際、分析レポートとともに当該分析レポートの分析対象である運転記録データが対応付けられて送信されてもよい。これにより、メールの受信者は運転記録と分析レポートとを合わせて閲覧することができる。さらに、PC2bがカメラ付きのタブレットやスマートフォン等であれば、装置の写真も一緒に添付できてもよい。
<Results display screen (analysis report)>
FIG. 8A shows a result display screen displayed on the display unit 7b by the Web browser 18 according to the present embodiment executing the Web browser program 14d. Here, an example in which the result display screen 800 is displayed on the display unit 7b of the PC 2b will be described, but this is not intended to limit the present invention, and the result display screen 800 may be displayed on a display unit of another device, or on a monitor of the PLC expansion unit if the monitor can display the result display screen. For example, the other device may include a programmable display, a tablet, or a smartphone. Alternatively, the result display screen may be transmitted to another device by e-mail, SNS, FTP transfer, or the like as an analysis report including the content of the result display screen described below. An arbitrary comment may be added to the analysis report, and for example, a handwritten character or an input character comment may be added to the analysis report. In this case, the analysis report including the content of the result display screen to which the arbitrary comment is added may be transmitted to another device. This allows the recipient of the e-mail to view the on-site situation such as the comment together with the analysis report. In addition, when the analysis report is transmitted to another device, the driving record data that is the analysis target of the analysis report may be transmitted in association with the analysis report. In this way, the recipient of the email can view both the driving record and the analysis report. Furthermore, if the PC 2b is a tablet or smartphone with a camera, a photo of the device may also be attached.

結果表示画面800は、結果をフィルタリングして表示するためのフィルタ801~803と、フィルタ結果804と、検知マップ810と、検知リスト820と、画像表示領域830と、分析コメント840とを含んで構成される。なお、結果表示としては、810、820、830、840のうち少なくとも1つが表示されるものであってよい。フィルタ801は制御サイクルを選択して結果表示をフィルタリングすることができる。ここでの制御サイクルとは、デバイス値の周期的な変化を伴う開始タイミングから終了タイミングまでの期間を称する。フィルタ801を指定すると、選択された制御サイクルで動作するデバイスの分析結果に絞って結果が表示される。フィルタ802は属性情報を選択して結果表示をフィルタリングすることができる。属性情報とは、何れのユニットや通信機器に接続されているかの情報や、入力デバイスであるか否かの情報を示す。 The result display screen 800 includes filters 801 to 803 for filtering and displaying the results, filter results 804, a detection map 810, a detection list 820, an image display area 830, and analysis comments 840. Note that at least one of 810, 820, 830, and 840 may be displayed as the result display. The filter 801 can select a control cycle to filter the result display. The control cycle here refers to a period from the start timing to the end timing that involves periodic changes in the device value. When the filter 801 is specified, the results are displayed by narrowing down the analysis results of devices that operate in the selected control cycle. The filter 802 can select attribute information to filter the result display. The attribute information indicates information such as which unit or communication device the device is connected to, and whether it is an input device or not.

フィルタ802においてたとえば「ユニット構成情報」を指定するとユニット構成がポップアップ画面等で表示され、表示されたユニットのいずれかを選択することができる。ユニットが選択されると、当該ユニットに接続されているデバイスに絞って結果が表示される。また、属性情報として「入力デバイス」が指定されると、入力デバイスの属性情報が付加されたデバイスに絞って結果が表示される。フィルタ802は、属性情報を活用するフィルタリングに限られない。たとえば、分析の結果、同じシンボルが重複して非正常シンボルとして検出されることがある。非正常の原因を探るうえで最先の発生時刻が重要となる可能性が高く、フィルタ802は、重複して検出された同じシンボルのうち最先の発生時刻以外をフィルタリングするようにしてもよい。また、フィルタ802は、同じシンボルで、分析時の検知アルゴリズムや後述する異常の種類が同一なもののうち、最先の発生時刻以外をフィルタリングするようにしてもよい。さらに、フィルタ802は、同じシンボルで、分析時の検知アルゴリズムや後述する異常の種類が同一であって、後述するサイクル設定が同一なもののうち、最先の発生時刻以外をフィルタリングするようにしてもよい。 When "unit configuration information" is specified in the filter 802, the unit configuration is displayed in a pop-up screen or the like, and one of the displayed units can be selected. When a unit is selected, the results are displayed by limiting the devices connected to the unit. When "input device" is specified as attribute information, the results are displayed by limiting the devices to which the attribute information of the input device is added. The filter 802 is not limited to filtering that utilizes attribute information. For example, the same symbol may be detected as an abnormal symbol in duplicate as a result of analysis. The earliest occurrence time is likely to be important in searching for the cause of the abnormality, and the filter 802 may filter out the same symbol detected in duplicate, except for the earliest occurrence time. The filter 802 may also filter out the same symbol, except for the earliest occurrence time, for those with the same detection algorithm at the time of analysis and the same type of abnormality, which will be described later. The filter 802 may also filter out the same symbol, except for the earliest occurrence time, for those with the same detection algorithm at the time of analysis and the same type of abnormality, which will be described later, and the same cycle setting, which will be described later.

フィルタ803はイベントやエラーを選択して結果表示をフィルタリングすることができる。イベントやエラーの種別を指定するとそれに関わりのあるデバイスの分析結果に絞って結果が表示される。たとえば、イベントとして「運転記録保存トリガ」が選択された場合には、その前後の分析結果に絞って結果が表示される。結果表示画面800は、分析結果とともにイベントやエラーを発生時刻順に表示してもよい。この場合、フィルタ803はイベントやエラーをフィルタリングすることができる。これにより分析結果とイベントやエラーの混在表示と、分析結果の表示とを切り換えることができる。ここで、イベントは、たとえば、電源ON/OFF、デバイス値書換、メモリ挿抜などを含み、カテゴリー毎にフィルタリング対象を加除できるようにしてもよい。エラーは、たとえば通信エラー、PLC演算エラー、スキャンタイム超過エラーなどを含み、エラーの重度毎にフィルタリング対象を加除できるようにしてもよい。 The filter 803 can filter the result display by selecting an event or error. When the type of event or error is specified, the results are displayed by narrowing down to the analysis results of the devices related to it. For example, when "driving record save trigger" is selected as the event, the results are displayed by narrowing down to the analysis results before and after it. The result display screen 800 may display events and errors in the order of occurrence along with the analysis results. In this case, the filter 803 can filter events and errors. This makes it possible to switch between a mixed display of the analysis results and events and errors, and a display of the analysis results. Here, events include, for example, power ON/OFF, device value rewrite, memory insertion/removal, etc., and filtering targets may be added or removed for each category. Errors include, for example, communication errors, PLC calculation errors, scan time exceeded errors, etc., and filtering targets may be added or removed for each severity of the error.

なお、フィルタ801~803のフィルタ条件は論理積として判断され、該当する分析結果が表示される。従って、フィルタ801~803は必ずしも選択される必要はなく、オペレータが所望するフィルタが選択された場合に分析結果がフィルタリングされてもよい。或いは、オペレータが指定する前にデフォルトでフィルタを選択して分析結果を表示するようにしてもよい。これらの分析結果として表示されるデバイスは、いつもと異なる状態が検知されたデバイスである。いつもと異なる状態とは、たとえば、デバイス値が正常範囲を逸脱したり、デバイス値が変化するタイミングまたは回数が正常範囲を外れたりすることである。製品の製造工場では、日々、同一の製品が大量生産される。つまり、同一の工程が何度も繰り返し実行される。そのため、いつもと異なる状態を検知して表示することは、ラダープログラムを改良したり、生産設備を見直したりするうえで、非常に役に立つ。いつもと同様の状態(正常状態)を定義する正常範囲(正常条件)は、ユーザにより定義されてもよいし、デバイス値の学習結果により定義されてもよい。 The filter conditions of the filters 801 to 803 are judged as a logical product, and the corresponding analysis results are displayed. Therefore, the filters 801 to 803 do not necessarily need to be selected, and the analysis results may be filtered when the operator selects a desired filter. Alternatively, the filter may be selected by default before the operator specifies it and the analysis results may be displayed. The devices displayed as these analysis results are devices in which an unusual state has been detected. An unusual state is, for example, when the device value deviates from the normal range, or when the timing or number of times the device value changes deviates from the normal range. In product manufacturing factories, the same products are mass-produced every day. In other words, the same process is executed over and over again. Therefore, detecting and displaying an unusual state is very useful in improving ladder programs and reviewing production equipment. The normal range (normal condition) that defines the usual state (normal state) may be defined by the user or may be defined by the learning results of the device value.

検知マップ810は、PLC1において実行される複数の工程のそれぞれについて開始タイミングと終了タイミングとを含むサイクルを時間軸に沿って表示する。検知マップ810において、横方向に延びる矩形は、工程が実行中である期間(制御サイクル)を示している。また、矩形内の丸はサイクル内で発生したいつもと異なる状態が発生した異常発生箇所である異常点を示している。検知マップ810の横軸は時間を示し、左端はデータの収集開始時点、右端はデータの収集終了時点を表す。なお、上部の拡大/縮小ボタンを選択することにより、横軸方向の拡大・縮小を行うことができる。その場合の初期表示は、左端がデータ収集開始点、右端はデータの収集終了点であってもよい。或いは、後述するサイクル定義の時間幅で決めてもよい。たとえば、サイクル時間が、10秒、10秒、11秒、9秒、10秒、10秒、20秒である場合に、その中央値の10秒をとり、3サイクル分が一括で表示できるように、左端から右端を30秒としてもよい。ここでは、縦軸をデバイス単位としているが、後述するプログラムモジュール単位としてもよい。また、検知マップ810には、デバイス値に並べて、カメラ映像の特徴量の値を表示するようにしてもよい。デバイス値と並べて表示することにより、映像の周期的な変化を容易に認識することができる。 The detection map 810 displays a cycle including the start timing and end timing for each of the multiple processes executed in the PLC1 along the time axis. In the detection map 810, a rectangle extending horizontally indicates a period (control cycle) during which the process is being executed. Also, a circle within the rectangle indicates an abnormality point, which is an abnormality occurrence point where an unusual state occurs within the cycle. The horizontal axis of the detection map 810 indicates time, with the left end representing the start time of data collection and the right end representing the end time of data collection. Note that the horizontal axis can be expanded or reduced by selecting the expand/contract button at the top. In that case, the initial display may be the start point of data collection at the left end and the end point of data collection at the right end. Alternatively, it may be determined by the time width of the cycle definition described later. For example, if the cycle times are 10 seconds, 10 seconds, 11 seconds, 9 seconds, 10 seconds, 10 seconds, and 20 seconds, the median value of 10 seconds may be taken, and the range from the left end to the right end may be 30 seconds so that three cycles can be displayed at once. Here, the vertical axis is in device units, but it may be in program module units, which will be described later. Furthermore, the detection map 810 may display the feature values of the camera image alongside the device values. By displaying them alongside the device values, periodic changes in the image can be easily recognized.

図10に制御サイクル及び異常点の詳細を示す。制御サイクルは、詳細については後述するが開始タイミングと終了タイミングとを設定することで定義することができる。図10には、デバイスMR0と、デバイスMR1とのデバイス値を示す。図10に示すように、制御サイクルを、MR0のOFFからONに変化するタイミングを開始タイミングとし、その後MR1のONからOFFに変化するタイミングを終了タイミングとして設定する。1001に示すように、制御サイクルは矩形形状で表すことができ、左端が開始タイミングを示し、右端が終了タイミングを示す。これによりデバイス値を波形で示すよりも、その制御サイクルを一見して確認することができ、サイクルの動作中であるか否かを判断することができる。なお、本発明はこれに限定されず、開始タイミングと終了タイミングとが識別可能な形状であればどのような形状で表されてもよい。例えば、矩形形状ではなく開始タイミングを示す縦線と終了タイミングを示す縦線とを表示し、その内部を背景色と異ならせることによりサイクルを表現してもよい。また、運転記録データの中に開始タイミングや終了タイミングの記録が無い場合には、それらを示す縦線等を検知マップ810に描画しなくてもよい。1010は定義された制御サイクル内の異常発生箇所を示す。1010の例では、異常が発生した箇所を異常点1011として表示している。一方で、異常には異常開始から終了までの区間がある。1020は異常箇所を区間でプロットした例を示す。1021は異常区間を示す。異常区間1021の表示では、他のデバイスと異常発生区間が重なっている様子を表現することができ、オペレータにとってはデバイス間の関連性を認識することができ、エラーを特定する際に重要な情報となる。このように各デバイスの異常発生箇所については種々の方法で描画することが可能である。 FIG. 10 shows the details of the control cycle and the abnormal points. The control cycle can be defined by setting the start timing and the end timing, which will be described later in detail. FIG. 10 shows the device values of the device MR0 and the device MR1. As shown in FIG. 10, the control cycle is set so that the timing when MR0 changes from OFF to ON is the start timing, and the timing when MR1 changes from ON to OFF is the end timing. As shown in 1001, the control cycle can be represented in a rectangular shape, with the left end indicating the start timing and the right end indicating the end timing. This makes it possible to check the control cycle at a glance, rather than showing the device values as waveforms, and to determine whether the cycle is in operation. Note that the present invention is not limited to this, and any shape may be used as long as the start timing and the end timing can be distinguished. For example, the cycle may be represented by displaying a vertical line indicating the start timing and a vertical line indicating the end timing instead of a rectangular shape, and making the inside of the vertical line different from the background color. Also, if there is no record of the start timing or end timing in the operation record data, it is not necessary to draw vertical lines or the like indicating them on the detection map 810. 1010 indicates the location of an abnormality in a defined control cycle. In the example of 1010, the location where the abnormality occurred is displayed as an abnormality point 1011. On the other hand, an abnormality has a section from the start to the end of the abnormality. 1020 shows an example of an abnormality location plotted as a section. 1021 indicates the abnormality section. The display of the abnormality section 1021 can show how the abnormality section overlaps with other devices, allowing the operator to recognize the relationship between the devices, which is important information when identifying an error. In this way, the location of an abnormality in each device can be drawn in various ways.

検知マップ810において、工程を示す矩形は、左が古く右が新しいことを示す。時刻バー811は、選択中の時刻を示している。時刻バー812は、運転記録データの保存トリガが発生したタイミングを示している。上述したように、運転記録データは保存トリガが発生した前後のデータが記録されているため、時刻バー812の前後にデータが示されている。時刻バー811、812はそれぞれ異なる色で描画したり、実線と破線とで異なるように描画したりすることにより、識別力を向上させてもよい。また、時刻バー811を操作することにより、分析結果の表示を更新することができる。時刻バー811の操作に従って、検知リスト820、画像表示領域830、および分析コメント840の少なくとも1つの後述する時刻バーについても同様に連動して更新され、対応する分析結果が表示されてもよい。 In the detection map 810, the rectangles showing the process indicate that the left one is older and the right one is newer. The time bar 811 indicates the selected time. The time bar 812 indicates the timing when the drive record data save trigger occurred. As described above, the drive record data includes data recorded before and after the save trigger, so data is shown before and after the time bar 812. The time bars 811 and 812 may be drawn in different colors or drawn as solid and dashed lines to improve their discrimination ability. In addition, the display of the analysis results can be updated by operating the time bar 811. In accordance with the operation of the time bar 811, the time bars of at least one of the detection list 820, the image display area 830, and the analysis comment 840, which will be described later, may also be updated in conjunction with each other, and the corresponding analysis results may be displayed.

図11に複数の表示項目が時間軸上の操作に応じて連動して更新される様子を示す。図11に示すように、例えば検知マップ810上で時刻バー811を点線の位置に操作したとする。当該操作については、例えばPC2bの操作部8bがマウスである場合には、不図示のポインタを時刻バー811に合わせてドラッグし、ドラッグした状態でポインタを点線の位置に移動操作することにより時刻バー811を移動させることができる。移動させると、検知マップ810及び検知リスト820の表示が、検知マップ1110及び検知リスト1120に示すように更新される。例えば、時刻バー1111の位置に連動して、当該位置から発生したいつもと異なる状態のデバイスが検知リスト1120に表示される。このように、何れかの分析結果に表示される時刻バーを操作することにより、それに連動して他の分析結果の表示を更新することにより、オペレータは有用な情報を容易に把握することができる。また、検知リスト上で所定の異常項目を選択すると、検知マップ上においてその異常項目が発生したタイミングに時刻バーが移動するように制御してもよい。検知マップや検知リスト上での選択に応じて、画像表示領域830においてその際のカメラ画像が表示されてもよい。或いは、カメラ映像の再生に合わせて検知マップや検知リストが連動して表示を更新してもよい。なお、一部の分析結果は固定して、他の分析結果のみをオペレータの操作に合わせて連動して表示更新を行うようにしてもよい。この場合、例えば固定したい分析結果の時刻バーをダブルクリックするなどして固定操作可能にしてもよい。 11 shows how multiple display items are updated in conjunction with operations on the time axis. As shown in FIG. 11, for example, assume that the time bar 811 is operated to the dotted line position on the detection map 810. For this operation, for example, if the operation unit 8b of the PC 2b is a mouse, the time bar 811 can be moved by dragging a pointer (not shown) to the time bar 811 and moving the pointer to the dotted line position while dragging. When moved, the display of the detection map 810 and the detection list 820 is updated as shown in the detection map 1110 and the detection list 1120. For example, in conjunction with the position of the time bar 1111, a device in an unusual state that occurred from that position is displayed in the detection list 1120. In this way, by operating the time bar displayed in one of the analysis results, the display of the other analysis results is updated in conjunction with it, so that the operator can easily grasp useful information. In addition, when a specific abnormal item is selected on the detection list, the time bar may be controlled to move to the timing when the abnormal item occurred on the detection map. Depending on the selection on the detection map or detection list, the camera image at that time may be displayed in the image display area 830. Alternatively, the detection map or detection list may be updated in conjunction with the playback of the camera video. Note that some analysis results may be fixed, and only other analysis results may be updated in conjunction with the operator's operations. In this case, the analysis results may be fixed by, for example, double-clicking the time bar of the analysis result that is to be fixed.

画像表示領域830は、PLC1において取得されたカメラ画像(以下では、カメラ映像とも称する。)を表示する。図8Aでは、正常時のデータであるマスタデータのカメラ画像と、今回のカメラ画像とが対比可能に表示されている。カメラ画像も時系列データであるため、シークバー831は、カメラ画像の再生時刻を示し、再生時刻の経過にしたがって左から右に移動する。時刻バー832は、検知対象デバイスがいつもと異なる状態になったタイミングを示しており、上述した時刻バー811と連動している。時刻指定部833は、カメラ画像の再生時刻を進めたり、再生時刻を戻したり、再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。834は制御サイクルを指定することができ、指定されたサイクルを基準サイクルとしてカメラ映像が再生される。例えば、時刻指定部833の早送りのボタンが操作されると、現在の制御サイクルの次の制御サイクルまで映像がスキップするように制御される。また、サイクルの終了時にジャンプするものであってもよい。 The image display area 830 displays the camera image (hereinafter also referred to as the camera image) acquired by the PLC1. In FIG. 8A, the camera image of the master data, which is data in a normal state, and the current camera image are displayed so that they can be compared. Since the camera image is also time-series data, the seek bar 831 indicates the playback time of the camera image and moves from left to right as the playback time progresses. The time bar 832 indicates the timing when the detection target device becomes in a different state than usual, and is linked to the above-mentioned time bar 811. The time designation unit 833 is a control object for instructing to advance the playback time of the camera image, to rewind the playback time, to instruct the start of playback, and to stop playback. 834 can designate a control cycle, and the camera image is played back with the designated cycle as the reference cycle. For example, when the fast-forward button of the time designation unit 833 is operated, the image is controlled to skip to the control cycle next to the current control cycle. It may also be a jump at the end of the cycle.

カメラ映像は、運転記録データとして保持されてもよいが、時刻が関連付けられた、外部機器に保存されているデータであってもよい。例えば、拡張ユニットの何れかに接続されたWebカメラに記録されているカメラ映像であってもよいし、画像検査機に記録されている検査画像であってもよい。外部機器に保存されているデータは、画像以外にも測定器の記録データであってもよく、数値であったり、測定波形が表示されるものであってもよい。なお、結果表示画面800において、検知マップ810の再生時刻、カメラ画像の再生時刻、および、検知リスト820の再生時刻は同期するように管理され表示されている。また、図8Aの点線領域に示すように、検知した異常箇所を映像中において強調表示してもよい。これにより、ユーザはさらに容易に正常時の映像と、今回の映像を対比することができる。 The camera image may be stored as driving record data, but may also be data associated with time and stored in an external device. For example, it may be camera image recorded in a web camera connected to one of the expansion units, or it may be an inspection image recorded in an image inspection machine. The data stored in the external device may be recorded data of a measuring instrument other than images, and may be numerical values or measurement waveforms. In addition, in the result display screen 800, the playback time of the detection map 810, the playback time of the camera image, and the playback time of the detection list 820 are managed and displayed so as to be synchronized. In addition, as shown in the dotted line area in FIG. 8A, the detected abnormality may be highlighted in the image. This allows the user to more easily compare the normal image with the current image.

図12に正常時のマスタデータの映像と分析対象の映像との同期について示す。カメラの映像は、学習時の映像と今回の映像を、選択された基準とするサイクル定義の、サイクル開始タイミングを合わせて表示している。例えば、次のようにすることで同期を実現することができる。まず、カーソルの現在時刻が含まれる制御サイクルを探し、そのサイクル開始時刻からのオフセット時間tを求める。図12の例では今回の映像の実線の矩形領域が取得した運転記録データに対応したデバイスの制御サイクルを示し、点線の矩形領域が定義された基準サイクルを示す。次に、学習時の映像のサイクル開始タイミングを合わせて、並べて、サイクル開始から時間tずらした映像を表示する。基準とするサイクルを変えれば、学習時の映像が変わる。学習時の映像の中に、基準とするサイクル定義のサイクル開始が複数あれば、最初の方を表示してもよいし、選択可能としてもよい。このように、基準サイクルに合わせて今回の映像とマスタデータの映像とを同期することができる。 Figure 12 shows the synchronization of the image of the master data under normal conditions with the image of the analysis target. The camera images of the image during learning and the current image are displayed with the cycle start timing of the selected reference cycle definition aligned. For example, synchronization can be achieved by doing the following. First, a control cycle that includes the current time of the cursor is found, and an offset time t from the cycle start time is obtained. In the example of Figure 12, the solid rectangular area of the current image indicates the control cycle of the device corresponding to the acquired driving record data, and the dotted rectangular area indicates the defined reference cycle. Next, the cycle start timing of the images during learning is aligned, and the images are displayed with a time t shifted from the cycle start. If the reference cycle is changed, the image during learning changes. If there are multiple cycle starts of the reference cycle definition in the image during learning, the first one may be displayed, or may be selectable. In this way, the image during learning and the image of the master data can be synchronized according to the reference cycle.

検知リスト820は、いつもと異なる状態になったデバイスと、その状態が発生した時刻(デバイス値の収集時刻)とを示す。検知リスト820は、いつもと異なる状態となったデバイスを時刻順に示したリストである。CPU11bは、検知リスト820に表示されたデバイスに対するクリックを検知すると、クリックされたデバイスの識別情報と、再生時刻情報(デバイス値の収集時刻)とに基づいて、検知マップ810、検知リスト820、および画像表示領域830の表示を同期させることができる。時刻バー821は、選択中の時刻を示しており、時刻バー811、831と連動し、同一のタイミングを示している。時刻バー822は、運転記録データの保存トリガが発生したタイミングを示している。 The detection list 820 shows devices that have become abnormal and the time when that state occurred (time when the device values were collected). The detection list 820 is a list of devices that have become abnormal in chronological order. When the CPU 11b detects a click on a device displayed in the detection list 820, it can synchronize the display of the detection map 810, the detection list 820, and the image display area 830 based on the identification information of the clicked device and the playback time information (time when the device values were collected). The time bar 821 shows the selected time, and is linked to the time bars 811 and 831, showing the same timing. The time bar 822 shows the timing when a drive record data save trigger occurred.

分析コメント840は、分析結果に含まれるコメントと、検知リスト820で選択されたデバイスについての、マスターデータと、今回のデバイス値の時系列データとを表示する。時刻バー841は、いつもと異なる状態が発生したタイミングを示し、時刻バー811、821、831と連動し、同一のタイミングを示している。表示されているコメントは、当該デバイスの異常の内容を示している。 Analysis comments 840 display comments included in the analysis results, master data for the device selected in detection list 820, and time series data for the current device values. Time bar 841 indicates the timing when an unusual state occurred, and is linked to time bars 811, 821, and 831, showing the same timing. The displayed comment indicates the content of the abnormality in the device.

CPU11bは、検知リスト820に表示されたデバイスに対するクリックを検知すると、クリックされたデバイスの識別情報と、いつもと異なる状態になったサイクル情報(サイクルの開始時刻と終了時刻、または、サイクルの開始時刻と次のサイクルの開始時刻)とに基づいて、検知マップ810、検知リスト820、および分析コメント840の表示を同期させることができる。図8Bは、検知リスト820の何れかの項目が選択された場合に、検知マップ810、検知リスト820、および分析コメント840を同期させた様子を示す。分析コメント840は、いつもと異なる状態になったサイクルに対応した時間範囲のデバイス値の時系列データを表示する。このとき、検知マップ810上には、分析コメント840に表示された時系列データの時間範囲854に対応する時間範囲852が図示される。検知マップ810に図示される時間範囲852は、複数の工程のうちいつもと異なる状態になった工程に対応して図示される。たとえば、検知リスト820に表示されたデバイスのうち、現在と異なるデバイスの項目853がクリックされると、クリックされたデバイスについて、いつもと異なる状態になったサイクルに対応した時間範囲のデバイス値の時系列データに切り替わる。その際、検知マップ810上では、分析コメント840に表示された時系列データの時間範囲854に対応する時間範囲852を含む範囲に表示が切り替わる。また、矢印855で示すように、検知マップ810上において、点線や色付きの実線の枠などによって時間範囲852が強調表示され、分析コメント840における切り出し区間との対応が確認できるように表示される。これにより、分析コメント840が検知マップ810上のどの区間を切り出した波形かをオペレータに容易に把握させることができる。また、854に示すように、分析コメント840においても波形の下部に、切り出した区間に対応するサイクルを示す矩形や異常点を表示することにより、サイクルの開始タイミングや、終了タイミングと波形や異常との関係をオペレータに容易に把握させることができる。また、検知マップ810は、851に示すように、検知リスト820で選択されたデバイスに対応する異常点を拡大表示してもよい。また、分析コメント840に表示された時系列データの時間範囲が、サイクルの開始時刻と次のサイクルの開始時刻の場合、分析コメント840には、時系列データの時間軸に対応して、サイクルの終了時刻を示す位置に図式表示がされてもよい。 When the CPU 11b detects a click on a device displayed in the detection list 820, it can synchronize the display of the detection map 810, the detection list 820, and the analysis comment 840 based on the identification information of the clicked device and the cycle information in which the abnormality occurred (the start time and end time of the cycle, or the start time of the cycle and the start time of the next cycle). FIG. 8B shows the state in which the detection map 810, the detection list 820, and the analysis comment 840 are synchronized when any item in the detection list 820 is selected. The analysis comment 840 displays the time series data of the device value for the time range corresponding to the cycle in which the abnormality occurred. At this time, a time range 852 corresponding to the time range 854 of the time series data displayed in the analysis comment 840 is illustrated on the detection map 810. The time range 852 illustrated on the detection map 810 is illustrated corresponding to the process in which the abnormality occurred among the multiple processes. For example, when an item 853 of a device different from the current device among the devices displayed in the detection list 820 is clicked, the display is switched to the time series data of the device value of the clicked device in the time range corresponding to the cycle in which the device became in a different state from usual. At that time, the display is switched to a range including a time range 852 corresponding to the time range 854 of the time series data displayed in the analysis comment 840 on the detection map 810. Also, as shown by an arrow 855, the time range 852 is highlighted on the detection map 810 by a dotted line or a colored solid line frame, etc., so that the correspondence with the cut-out section in the analysis comment 840 can be confirmed. This allows the operator to easily understand which section on the detection map 810 the analysis comment 840 cuts out of the waveform. Also, as shown by 854, a rectangle or an abnormal point indicating a cycle corresponding to the cut-out section is displayed at the bottom of the waveform in the analysis comment 840, so that the operator can easily understand the relationship between the start timing and end timing of the cycle and the waveform or abnormality. Furthermore, as shown in 851, the detection map 810 may display an enlarged view of an anomaly point corresponding to a device selected in the detection list 820. Furthermore, if the time range of the time series data displayed in the analysis comment 840 is the start time of a cycle and the start time of the next cycle, the analysis comment 840 may display a diagram at a position indicating the end time of the cycle, corresponding to the time axis of the time series data.

このように、結果表示画面800は検知マップ810、検知リスト820、画像表示領域830、および分析コメント840など複数の分析結果の表示を含んで構成される。しかし、これらの結果表示は一例であり他の結果表示が追加的に又は代替的に含まれてもよい。たとえば、図9に示すように、分析結果として、デバイス間の依存情報(リレーションマップ)を表示してもよい。基本ユニット3は、ラダープログラムを解析することで、デバイス・変数間の依存関係を把握することができる。たとえば、ある検知されたデバイスを選択されると、それに関係するデバイスも並べて表示するなど、依存関係のあるデバイスをオペレータへ提示することができる。これにより、オペレータに対して異常の把握や特定を支援することができる。 In this way, the result display screen 800 is configured to include multiple analysis result displays such as a detection map 810, a detection list 820, an image display area 830, and analysis comments 840. However, these result displays are only examples, and other result displays may be included additionally or alternatively. For example, as shown in FIG. 9, dependency information between devices (relationship map) may be displayed as an analysis result. The basic unit 3 can grasp the dependency relationships between devices and variables by analyzing the ladder program. For example, when a detected device is selected, the related devices can also be displayed side by side, and devices with dependencies can be presented to the operator. This can assist the operator in understanding and identifying abnormalities.

<リレーションマップ>
図9はリレーションマップ900を示している。リレーションマップ900は、ラダープログラム等のユーザプログラムにおいて、特定のシンボルに関連するプログラムモジュールと、そのプログラムモジュールに関連する他のシンボルとの関係を示す図式表示であり、たとえば、特定のシンボルとして、ラダープログラムに使用されるいつもと異なる状態になったデバイス(非正常デバイス)を選択した場合は、当該非正常デバイスに対してラダープログラムにおいてプログラムモジュールを介して関連している他のデバイスを表示するUIとなる。このUIは結果表示画面800において不図示の表示ボタンを操作することにより遷移する画面であってもよいし、結果表示画面800上に追加で表示されてもよい。リレーションマップを表示することにより、ユーザは、非正常デバイスと他のデバイスとの依存関係を容易に理解できる。一般に、PLC1において利用されるデバイスの数は数百から数万であるため、ユーザは、いつもと異なる状態になったデバイスから、その原因となったデバイスを特定することは容易ではない。CPU11は、非正常デバイスについてラダープログラム内を検索し、非正常デバイスに関する記述を発見し、当該記述を分析することで、関連デバイスを特定する。この例では、ラダープログラム内の出力部において、非正常デバイス(例:R0004)が記述されており、関連デバイスとしてMR000、MR001、MR002が存在する。
<Relationship Map>
FIG. 9 shows a relationship map 900. The relationship map 900 is a diagrammatic display showing the relationship between a program module related to a specific symbol and other symbols related to the program module in a user program such as a ladder program. For example, when a device (abnormal device) used in a ladder program that has become abnormal is selected as the specific symbol, the UI becomes a UI that displays other devices related to the abnormal device through the program module in the ladder program. This UI may be a screen that is transitioned to by operating a display button (not shown) on the result display screen 800, or may be additionally displayed on the result display screen 800. By displaying the relationship map, the user can easily understand the dependency relationship between the abnormal device and other devices. In general, the number of devices used in the PLC 1 ranges from several hundred to several tens of thousands, so it is not easy for the user to identify the device that caused the abnormal device from the device that has become abnormal. The CPU 11 searches the ladder program for the abnormal device, finds a description related to the abnormal device, and analyzes the description to identify the related device. In this example, an abnormal device (e.g., R0004) is described in the output section of the ladder program, and MR000, MR001, and MR002 exist as related devices.

CPU11bは、ラダープログラムから特定した非正常デバイス、関連デバイスおよびプログラムモジュールをツリーのように表示する。ユーザプログラム(ラダー、C言語、フロー言語、スクリプトなど)は、可読性やメンテナンス性向上のために、いくつかに分けて記述することが多く、その単位をプログラムモジュールと称する。1つのプログラムモジュールの中では、各デバイスを読み書きするプログラムが記述され、1つのデバイスは複数のモジュールで読み書きされることもあるが、主に使用されるモジュールは1つであることが多い。図9の例では、出力部における演算のために入力されるデバイスが左側に表示され、プログラムモジュールが真ん中に表示され、その右側に非正常デバイスが表示されている。図9が示すように、リレーションマップ900上のプログラムモジュールが選択されると、CPU11bは、該当するプログラムモジュールをプログラム表示領域910に表示してもよい。なお、ここではPC2bのCPU11bが表示処理を制御する例で説明しているが、一例でありPC2aのCPU11aで行われてもよい。また、上述した検知マップ810についても、デバイス単位ではなくプログラムモジュール単位で表示するようにしてもよい。 The CPU 11b displays the abnormal devices, related devices, and program modules identified from the ladder program in a tree-like manner. User programs (ladder, C language, flow language, script, etc.) are often written in several parts to improve readability and maintainability, and these units are called program modules. In one program module, a program for reading and writing each device is written, and one device may be read and written by multiple modules, but in many cases, only one module is mainly used. In the example of FIG. 9, the device that is input for the calculation in the output section is displayed on the left, the program module is displayed in the middle, and the abnormal device is displayed to the right of it. As shown in FIG. 9, when a program module on the relationship map 900 is selected, the CPU 11b may display the corresponding program module in the program display area 910. Note that, here, an example is described in which the CPU 11b of PC 2b controls the display process, but this is only an example and may be performed by the CPU 11a of PC 2a. In addition, the above-mentioned detection map 810 may also be displayed on a program module basis rather than on a device basis.

CPU11は、シンボルを特定するユーザ指定に応じて、ユーザプログラムからシンボルに関連するプログラムモジュールを特定し、特定したプログラムモジュールに関連する他のシンボルを特定して、リレーションマップ1500を生成する。CPU11は、分析結果に基づいてリレーションマップ1500内に含まれる非正常デバイスを強調表示する。分析結果は非正常デバイスがいつもと異なると判断した時刻も含んでおり、CPU11は、再現する時刻よりも前に発生した非正常デバイスのみをリレーションマップ1500上で強調表示するようにしてもよい。これにより非正常デバイスは、いつもと異なる状態が発生して以降、強調表示が保持されることになる。また、分析結果には、各シンボルのうち、分析対象外のシンボルであることを示す情報が含まれてもよい。この場合、CPU11は、分析結果に基づいてリレーションマップ1500上で分析対象外のシンボルと他のシンボルと色などを区別して表示する。これにより、分析により非正常でないと判断したのか、未分析のため非正常と判断されなかったのかを区別できる。分析対象外のシンボルとは、たとえば、制御サイクルやサイクル設定により定義されるサイクルに対し、シンボル値の変化パターンが規則性を持たないシンボルであったり、ユーザにより分析対象外として指定されたシンボルを含む。 The CPU 11, in response to a user specification for identifying a symbol, identifies a program module related to the symbol from the user program, identifies other symbols related to the identified program module, and generates a relationship map 1500. The CPU 11 highlights the abnormal devices included in the relationship map 1500 based on the analysis result. The analysis result also includes the time when the abnormal device was determined to be different from usual, and the CPU 11 may highlight only the abnormal devices that occurred before the time to be reproduced on the relationship map 1500. As a result, the abnormal device is maintained in the highlighted display after the occurrence of an abnormal state. The analysis result may also include information indicating that the symbols are not the target of analysis. In this case, the CPU 11 displays the symbols not the target of analysis on the relationship map 1500 in a different color or the like from the other symbols based on the analysis result. This makes it possible to distinguish whether the analysis determined that the abnormal device is not abnormal or whether the abnormal device was not determined to be abnormal because it has not been analyzed. Symbols not subject to analysis include, for example, symbols whose symbol value change pattern has no regularity relative to the cycle defined by the control cycle or cycle settings, and symbols that have been specified by the user as not subject to analysis.

<モデル生成フロー>
図13は、上記S3におけるモデル生成フローの詳細を示す。ここでは、デバイスの属性情報としてデバイスの制御サイクルを判断してモデルを生成する制御について説明する。なお、本発明はこれに限らず上述した他の属性情報に基づいてモデルを生成してもよい。以下で説明するように、分析ユニット4aは複数の同期しない工程(サイクル)のデータであっても、自動で工程(サイクル)に属するデバイス・変数を抽出する。これにより、オペレータが予め手動で工程(サイクル)とデバイスとの紐づけを行う非常に手間となる作業を省略することができる。以下で説明する処理は、分析ユニット(拡張ユニット)4aのCPU41aによって実行される処理として説明する。しかし、本発明を限定する意図はなく、それらの処理の一部が他のユニットで実行されてもよいし、それらの処理の全てが一つのユニットで実行されてもよいし、或いはプログラマブルロジックコントローラに通信可能に接続された外部装置(分析装置)によって実行されてもよい。
<Model generation flow>
FIG. 13 shows details of the model generation flow in S3 above. Here, the control of determining the control cycle of the device as the attribute information of the device and generating a model will be described. Note that the present invention is not limited to this, and a model may be generated based on other attribute information as described above. As described below, the analysis unit 4a automatically extracts devices and variables belonging to a process (cycle) even if the data is of multiple unsynchronized processes (cycles). This makes it possible to omit the very time-consuming task of an operator manually linking processes (cycles) and devices in advance. The processing described below will be described as processing executed by the CPU 41a of the analysis unit (extension unit) 4a. However, this is not intended to limit the present invention, and some of these processes may be executed by other units, all of these processes may be executed by one unit, or they may be executed by an external device (analysis device) communicably connected to the programmable logic controller.

まずS31で分析ユニット4aのCPU41aは、基本ユニット3からモデル作成用の正常時の運転記録データを取得する。当該運転記録データは、上記S2で運転記録記憶部37に格納されたデータである。続いて、S32でCPU41aは、デバイス値以外の情報として、基本ユニット3からサイクル設定の情報を取得する。サイクル設定の情報は、たとえばPC2aを介してオペレータから設定されたサイクルパターンの情報を示す。たとえば、サイクルの開始タイミングとサイクルの終了タイミングとを示す。また、ここで取得する情報には、拡張ユニット4bに接続されたカメラ等のフィールドデバイス10で取得された情報、たとえばカメラ画像データなども含まれてもよい。これらのデータについては基本ユニット3を介して取得してもよいが、たとえば拡張ユニット4bなどから直接取得するようにしてもよい。 First, in S31, the CPU 41a of the analysis unit 4a acquires normal operation record data for model creation from the basic unit 3. The operation record data is the data stored in the operation record storage unit 37 in S2 above. Next, in S32, the CPU 41a acquires cycle setting information from the basic unit 3 as information other than device values. The cycle setting information indicates, for example, information on a cycle pattern set by an operator via the PC 2a. For example, it indicates the start timing and end timing of the cycle. The information acquired here may also include information acquired by a field device 10 such as a camera connected to the expansion unit 4b, such as camera image data. This data may be acquired via the basic unit 3, but may also be acquired directly from, for example, the expansion unit 4b.

次に、S33でCPU41aは、S32で取得したサイクル設定に基づき、各デバイスが何れのサイクルに属するかを判定する。各デバイスのサイクルパターンには種々のパターンが存在するものであり、ここでは各デバイスがサイクル設定で指定された何れのパターンに属するデバイスであるかを判断する。サイクル設定が複数の制御サイクルに対応した設定を含む場合、各制御サイクルに属するデバイスを判定するようにしてもよい。このとき、複数の制御サイクルに属すると判断されるデバイスが存在してもよい。図14は、各デバイスのサイクルパターンを判別する制御について示す。図14において、矩形は工程が実行中である期間(サイクル)の開始タイミングから終了タイミングまでを示しており、1つの矩形が1サイクルを示す。サイクルパターンとはこの1サイクルが出現するパターンである。1401~1403はサイクル設定された工程を示す。1404~1406はそれぞれデバイスA~Cの収集データから抽出したサイクルパターンを示す。分析ユニット4aは各デバイスについて何れのサイクル設定のパターンに属するかを判断し、たとえばデバイスAがサイクル設定1に属し、デバイスBがサイクル設定2に属し、デバイスAが設定された何れのサイクル設定にも該当しないと判断する。具体的には、サイクル開始から終了までの、値と変化回数が一致しているかを判定している。なお、開始タイミングや終了タイミングについては多少ずれても問題ない。このように、分析ユニット4aは、各サイクル設定のパターンと各デバイスとがどのような対応関係かを判定する。分析ユニット4aは各サイクル設定のパターンについて何れのデバイスが属するかを判断するようにしてもよい。 Next, in S33, the CPU 41a determines which cycle each device belongs to based on the cycle setting acquired in S32. There are various cycle patterns for each device, and in this case, it is determined which pattern specified in the cycle setting each device belongs to. If the cycle setting includes settings corresponding to multiple control cycles, the devices belonging to each control cycle may be determined. In this case, there may be devices that are determined to belong to multiple control cycles. Figure 14 shows the control for determining the cycle pattern of each device. In Figure 14, a rectangle indicates the period (cycle) during which a process is being executed from the start timing to the end timing, and one rectangle indicates one cycle. A cycle pattern is a pattern in which this one cycle appears. 1401 to 1403 indicate processes for which a cycle is set. 1404 to 1406 indicate cycle patterns extracted from the collected data of devices A to C, respectively. The analysis unit 4a determines which cycle setting pattern each device belongs to, for example, device A belongs to cycle setting 1, device B belongs to cycle setting 2, and device A does not fall under any of the set cycle settings. Specifically, it determines whether the values and number of changes from the start to the end of the cycle match. Note that there is no problem even if the start and end timings are slightly off. In this way, the analysis unit 4a determines the correspondence between each cycle setting pattern and each device. The analysis unit 4a may be configured to determine which device belongs to each cycle setting pattern.

分析ユニット4aは、各サイクル設定のパターンと各デバイスとがどのような対応関係か判定する際に、各サイクル設定のサイクル開始からサイクル終了までにおける各デバイス値のパターンに基づいて判定する。これにより、サイクルの終了から次の開始までデバイス値がどのような動作をしても、そのデバイスを当該サイクル設定のパターンに属すると判断することができる。また、分析ユニット4aは、各サイクル設定のパターンと各デバイスとがどのような対応関係か判定する際に、各サイクルの基準タイミングから次のサイクルの基準タイミングまで、たとえばサイクル開始から次のサイクル開始までのデバイスの値と変化回数が一致しているかで判定してもよい。 When the analysis unit 4a determines the correspondence between each cycle setting pattern and each device, it does so based on the pattern of each device value from the start of the cycle to the end of the cycle for each cycle setting. This makes it possible to determine that a device belongs to the pattern of that cycle setting, regardless of how the device value behaves from the end of one cycle to the start of the next. Furthermore, when the analysis unit 4a determines the correspondence between each cycle setting pattern and each device, it may determine whether the device value and the number of changes from the reference timing of each cycle to the reference timing of the next cycle, for example from the start of a cycle to the start of the next cycle, match.

PLC1において実行される複数の工程のそれぞれについて開始タイミングと終了タイミングとを含むサイクル、つまり、工程が実行中である期間を制御サイクルはサイクル設定の対象とされているが、サイクル設定の対象はこれに限られない。図21は、開始タイミングから終了タイミングの期間以外にも変化するデバイスが存在する場合のサイクルの処理フローを示す。図21に示すように、作業工程を実行するために、作業工程を実行するための準備として作業開始条件を満足しているかを確認する確認フェーズ2101が存在してもよく、また、作業開始フェーズ2102、作業フェーズ2103、及び作業終了フェーズ2104の作業工程の実行後には次の工程の準備をする準備フェーズ2105、次の工程まで待機する待機フェーズ2106等が存在してもよい。このため、作業工程の実行中以外の期間においても変化するデバイスは存在し、異常要因を突き止めるための手がかりとなり得る。たとえば、確認フェーズにおいて作業開始条件の成立に関連する入力デバイス、準備フェーズにおいて次の準備の制御信号を示すデバイスなどは、開始タイミングから終了タイミングまでの期間以外の期間で動作するため、これらのデバイスの分析結果は、異常要因を突き止めるための手がかりとなり得る。要するに、サイクル設定の対象は、サイクルの基準タイミングから次の基準タイミングまでであってもよく、これにより隙間なく分析することができる。また、サイクル設定では、ユーザにより開始タイミングを規定するデバイスと、終了タイミングを規定するデバイスとが選択されたり、正常時の運転記録データなどを学習することで自動的に設定されたりする。しかし、分析対象の期間が開始タイミングから終了タイミングに限定されると、工程の開始を規定するデバイスや工程の終了を規定するデバイスを正確に把握していない場合、そのようなデバイスを見つけ出すことは困難なことがある。サイクル設定の対象をサイクルの基準タイミングから次の基準タイミングまでとすることで、工程の開始を規定するデバイスや工程の終了を規定するデバイスを厳密に指定しなかったとしても、工程に同期するデバイスを選択するだけで隙間なく分析することができる。 Although the cycle including the start timing and end timing for each of the multiple processes executed in the PLC1, that is, the control cycle during the period during which the processes are being executed, is set as the target of the cycle setting, the target of the cycle setting is not limited to this. FIG. 21 shows the processing flow of the cycle when there are devices that change other than the period from the start timing to the end timing. As shown in FIG. 21, in order to execute the work process, there may be a confirmation phase 2101 that checks whether the work start condition is satisfied as preparation for executing the work process, and after the execution of the work processes of the work start phase 2102, the work phase 2103, and the work end phase 2104, there may be a preparation phase 2105 that prepares for the next process, a waiting phase 2106 that waits until the next process, etc. For this reason, there are devices that change even during periods other than the execution of the work process, and they can be clues for identifying the cause of the abnormality. For example, an input device related to the establishment of the work start condition in the confirmation phase, and a device that indicates a control signal for the next preparation in the preparation phase, etc. operate in periods other than the period from the start timing to the end timing, so the analysis results of these devices can be clues for identifying the cause of the abnormality. In short, the target of the cycle setting may be from the reference timing of the cycle to the next reference timing, which allows for a seamless analysis. In addition, in the cycle setting, the device that specifies the start timing and the device that specifies the end timing are selected by the user, or they are automatically set by learning normal operation record data, etc. However, if the period to be analyzed is limited to the start timing to the end timing, it may be difficult to find the device that specifies the start of the process or the device that specifies the end of the process if such devices are not accurately known. By setting the target of the cycle setting to be from the reference timing of the cycle to the next reference timing, a seamless analysis can be performed simply by selecting a device that is synchronized with the process, even if the device that specifies the start of the process or the device that specifies the end of the process is not strictly specified.

図13の説明に戻る。S33でCPU41aは、抽出したサイクルパターンを属性情報として各デバイスに付加する。次に、S34でCPU41aは、付加された属性情報に基づいてS31で取得した運転記録データからモデルを生成し、処理を終了する。生成したモデルは、分析時に利用するマスタデータであり、少なくとも各デバイスのサイクルパターンの情報が含まれる。 Returning to the explanation of FIG. 13, in S33, the CPU 41a adds the extracted cycle pattern to each device as attribute information. Next, in S34, the CPU 41a generates a model from the driving record data acquired in S31 based on the added attribute information, and ends the process. The generated model is master data used during analysis, and includes at least information on the cycle pattern of each device.

<結果表示フロー>
図15は、上記S7における分析ユニット4aによる結果表示フローの詳細を示す。以下で説明する処理は、分析ユニット(拡張ユニット)4aのCPU41aによって実行される処理として説明する。しかし、本発明を限定する意図はなく、それらの処理の一部が他のユニットで実行されてもよいし、それらの処理の全てが一つのユニットで実行されてもよいし、或いはプログラマブルロジックコントローラに通信可能に接続された外部装置(分析装置)によって実行されてもよい。
<Result display flow>
15 shows the details of the result display flow by the analysis unit 4a in S7. The processes described below will be described as processes executed by the CPU 41a of the analysis unit (extension unit) 4a. However, this is not intended to limit the present invention, and some of the processes may be executed by other units, all of the processes may be executed by one unit, or may be executed by an external device (analysis device) communicatively connected to the programmable logic controller.

まずS71で分析ユニット4aのCPU41aは、分析レポートの要求を受け付けたか否かを判断する。分析レポートの要求とはオペレータによってPC2a、PC2bを介して受信する要求や、定期的な分析レポート作成タイミング、エラー発生時の分析レポートの作成などが含まれる。PLC1としては、いつもと異なる状態のデバイスが検知された場合にはオペレータからの要求なしに分析レポートを作成してもよいし、オペレータからの要求があって初めて分析レポートを作成するようにしてもよい。これらの制御は設定で切り替えることができる。分析レポートの要求を受け付けていればS72に進む。 First, in S71, the CPU 41a of the analysis unit 4a determines whether a request for an analysis report has been received. Requests for an analysis report include requests received by the operator via PC 2a or PC 2b, requests to create an analysis report periodically, and requests to create an analysis report when an error occurs. When a device in an unusual state is detected, the PLC 1 may create an analysis report without a request from the operator, or may create an analysis report only when requested by the operator. These controls can be switched by settings. If a request for an analysis report has been received, proceed to S72.

S72でCPU41aは、基本ユニット3の運転記録記憶部37に格納された分析結果77を取得する。続いて、S73でCPU41aは、取得した分析結果に従って、PC2aやPC2bなどのWebクライアントのWebブラウザで表示可能な分析レポートを生成する。生成する分析レポートは図8Aを用いて上述した結果表示画面800を表示するための画面情報となる。ここでは、各分析結果を同期させて表示するための同期情報も付加される。具体的には、検知マップ810、検知リスト820、画像表示領域830、及び分析コメント840に表示する画面情報に加えて、各分析結果の表示位置を示唆する情報が含まれる。表示位置を示唆する情報とは、上述したように、定義された制御サイクルのタイミング情報であってもよいし、単なる時刻情報であってもよい。即ち、同期可能な情報であればよい。 In S72, the CPU 41a acquires the analysis result 77 stored in the operation record storage unit 37 of the basic unit 3. Next, in S73, the CPU 41a generates an analysis report that can be displayed in a web browser of a web client such as PC 2a or PC 2b according to the acquired analysis result. The generated analysis report becomes screen information for displaying the result display screen 800 described above with reference to FIG. 8A. Here, synchronization information for synchronously displaying each analysis result is also added. Specifically, in addition to the screen information displayed in the detection map 810, detection list 820, image display area 830, and analysis comment 840, information suggesting the display position of each analysis result is included. The information suggesting the display position may be timing information of the defined control cycle as described above, or may simply be time information. In other words, it is sufficient as long as it is information that can be synchronized.

次に、S74でCPU41aは、S73で生成した分析レポートを要求元のPC2へ送信する。ここで送信する情報は、HTMLデータ、CSSデータおよびJavaScript(登録商標)コードなどを含む情報であってもいし、単に分析レポートの生成が完了したことを示す通知であってもよい。通知を行う場合には改めてPC2側から表示要求を受け付けると、CPU41aは画面情報を送信する。その後、S75でCPU41aは、要求元から分析レポートの更新要求が受け付けたか否かを判断する。更新要求とは、例えば表示部品の変更や、フィルタ801~803の選択による表示対象の変更、時刻バー811などを操作したことにより分析結果の時間的な表示位置の更新などである。なお、時刻バー811などを操作したことによる表示内容の更新については、PC2側に閉じた制御としてもよい。この場合、表示対象となっている表示部品の情報に加えて、当該表示部品上で表示しているデバイスの分析結果についての情報もPC2側へ提供する必要がある。更新要求を受け付けるとS76に進み、そうでない場合はS77に進む。 Next, in S74, the CPU 41a transmits the analysis report generated in S73 to the requesting PC 2. The information transmitted here may include HTML data, CSS data, and JavaScript (registered trademark) code, or may simply be a notification indicating that the generation of the analysis report has been completed. When transmitting a notification, the CPU 41a transmits screen information when a display request is received again from the PC 2 side. After that, in S75, the CPU 41a judges whether or not an update request for the analysis report has been received from the requesting party. An update request is, for example, a change in the display component, a change in the display target by selecting filters 801 to 803, or an update of the temporal display position of the analysis result by operating the time bar 811, etc. Note that the update of the display content by operating the time bar 811, etc. may be controlled closed to the PC 2 side. In this case, in addition to the information of the display component that is the display target, information on the analysis result of the device displayed on the display component must also be provided to the PC 2 side. If an update request is received, the process proceeds to S76, and if not, the process proceeds to S77.

S76でCPU41aは、更新要求の指示内容に従って分析レポートを更新し、処理をS74へ戻し更新した分析レポートを要求元へ送信する。一方、S77でCPU41aは、分析レポートの表示を終了する終了指示を受け付けたか否かを判断する。終了指示を受け付けていない場合は処理をS75に戻し、終了指示を受け付けたと判断した場合は処理を終了する。 In S76, the CPU 41a updates the analysis report according to the instructions in the update request, returns the process to S74, and transmits the updated analysis report to the requester. Meanwhile, in S77, the CPU 41a determines whether or not an end instruction to end the display of the analysis report has been received. If an end instruction has not been received, the process returns to S75, and if it is determined that an end instruction has been received, the process ends.

図16は、上記S7におけるPC2bにおける結果表示フローの詳細を示す。以下で説明する処理は、PC2bのCPU11bによって実行される処理として説明する。しかし、本発明を限定する意図はなく、それらの処理の一部がPLCのユニットで実行されてもよいし、或いはプログラマブルロジックコントローラに通信可能に接続された他の外部装置(PC2aなど)によって実行されてもよい。PLCのユニットで実行される場合には当該ユニットにはモニタが設けられる。また、ここで説明する処理は、分析ユニット4aによって生成された分析レポートをブラウザとして表示する処理である。 Figure 16 shows details of the result display flow in PC 2b in S7 above. The processes described below are described as processes executed by CPU 11b of PC 2b. However, this is not intended to limit the present invention, and some of these processes may be executed in the PLC unit, or may be executed by another external device (such as PC 2a) communicatively connected to the programmable logic controller. When executed in the PLC unit, the unit is provided with a monitor. The process described here is also a process for displaying the analysis report generated by analysis unit 4a as a browser.

S81でCPU11bは、操作部8bを介して分析レポートの表示要求を受け付けたか否かを判断する。受け付けた場合にはS82に進む。S82でCPU11bは、分析レポートを分析ユニット4aに対して要求する。その後、S83でCPU11bは、分析ユニット4aから要求に対応する応答(分析レポート)を受信したか否かを判断する。ここで受信する情報としては、分析レポートを表示させるためのURL(IPアドレス)であってもよいし、分析レポートそのものの情報であってもよい。ここではURLを受信したものとして以下の処理を説明する。 In S81, the CPU 11b judges whether or not a request to display an analysis report has been received via the operation unit 8b. If so, the process proceeds to S82. In S82, the CPU 11b requests an analysis report from the analysis unit 4a. Thereafter, in S83, the CPU 11b judges whether or not a response (analysis report) corresponding to the request has been received from the analysis unit 4a. The information received here may be a URL (IP address) for displaying the analysis report, or may be information about the analysis report itself. Here, the following process will be explained assuming that a URL has been received.

応答を受信するとS84でCPU11bは、Webブラウザ18に指定して分析レポートを表示させる。続いて、S85でCPU11bは、分析レポートの表示を更新する更新要求を受け付けたか否かを判断する。受け付けた場合はS86へ進み、そうでない場合はS87へ進む。S86で、更新要求を受け付けるとS86でCPU11bは、更新要求をWebサーバである分析ユニット4aへ送信し、処理をS83に戻す。一方、更新要求でない場合はS87でCPU11bは、分析レポートの表示を終了する終了指示を受け付けたか否かを判断する。終了指示を受け付けていないと判断した場合は処理をS85へ戻し、終了指示を受け付けたと判断した場合は処理を終了する。 When the response is received, in S84, the CPU 11b designates the Web browser 18 to display the analysis report. Next, in S85, the CPU 11b judges whether or not an update request to update the display of the analysis report has been received. If so, the process proceeds to S86, and if not, the process proceeds to S87. If an update request has been received in S86, the CPU 11b sends the update request to the analysis unit 4a, which is the Web server, and returns the process to S83. On the other hand, if the request is not an update request, in S87, the CPU 11b judges whether or not an end instruction to end the display of the analysis report has been received. If it is determined that an end instruction has not been received, the process returns to S85, and if it is determined that an end instruction has been received, the process ends.

<プログラムエディタとの連携>
図17はユーザプログラムの編集画面であるプログラムエディタを示す。ここではプログラムエディタからの分析レポートの表示方法について説明する。プロジェクト編集プログラム14aのUI100はPC2aの表示部7aに表示される。したがって、基本ユニット3に接続されたPC2aからも分析レポートを確認することができる。一方、PC2bがPC2aから基本ユニット3及び分析ユニット4aを介して画面情報を取得してプログラムエディタを表示部7bに表示することも可能である。モード選択メニュー101は、プロジェクト編集プログラム14aが備える複数のモードを選択可能に表示する。複数のモードは、編集モード、モニタモード、リプレイモード(デバッグモード)などを含む。
<Linkage with Program Editor>
17 shows a program editor, which is an editing screen for a user program. Here, a method for displaying an analysis report from the program editor will be described. The UI 100 of the project editing program 14a is displayed on the display unit 7a of the PC 2a. Therefore, the analysis report can also be confirmed from the PC 2a connected to the basic unit 3. On the other hand, it is also possible for the PC 2b to obtain screen information from the PC 2a via the basic unit 3 and the analysis unit 4a and display the program editor on the display unit 7b. The mode selection menu 101 displays a plurality of modes provided in the project editing program 14a in a selectable manner. The plurality of modes include an edit mode, a monitor mode, a replay mode (debug mode), and the like.

編集モードは、プログラム表示領域104に表示されるラダープログラムを編集するモードである。プロジェクト表示領域102は、プロジェクトを構成する情報を表示する。この情報としては、PLC1を構成している基本ユニット3および拡張ユニット4の仕様情報および設定情報、デバイスの割り当て情報、運転記録の設定情報、ラダープログラムなどがある。編集モードにおいて、プログラム表示領域104は、プロジェクト表示領域102において指定されたラダープログラムを編集可能に表示する。モニタモードは、PLC1により発行される通知を待ち受けるモードである。拡張ユニット4aが分析結果を作成したことを示す通知を発行すると、CPU11は、通知を表示するためのダイアログなどを表示部7に表示する。モニタモードのユーザインタフェースは、基本的に、編集モードと同様である。 The edit mode is a mode for editing the ladder program displayed in the program display area 104. The project display area 102 displays information that constitutes the 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, setting information for operation records, and ladder programs. In the edit mode, the program display area 104 displays the ladder program specified in the project display area 102 in an editable manner. The monitor mode is a mode that waits for a notification issued by the PLC 1. When the expansion unit 4a issues a notification indicating that it has created an analysis result, the CPU 11 displays a dialog for displaying the notification on the display unit 7. The user interface in the monitor mode is basically the same as that in the edit mode.

図17が示す画面例ではリプレイモードが選択されている。リプレイモードは、運転記録をラダープログラム上で再現したり、運転記録を波形として表示したりするモードである。図17においては、入力部、出力部および加工部状態と命名されたプログラムモジュールを有するラダープログラムが表示されている。とりわけ、複数のプログラムモジュールはタブ107によって選択可能であり、図17では、入力部に対応するタブ107が選択されている。ポインタ103は、操作部8aに対するユーザ操作に連動して移動し、ボタンなどを押し下げするために使用されたり、オブジェクトを選択したりするために使用される。たとえば、プロジェクト表示領域102において表示された分析レポートがポインタ103によりダブルクリックされると、CPU11aはCPU11bと同様にWebブラウザとして機能し、図8Aを用いて説明した分析レポートを表示させる。 In the example screen shown in FIG. 17, the replay mode is selected. The replay mode is a mode in which the operation record is reproduced on the ladder program and the operation record is displayed as a waveform. In FIG. 17, a ladder program having program modules named input section, output section, and machining section state is displayed. In particular, a plurality of program modules can be selected by tabs 107, and in FIG. 17, the tab 107 corresponding to the input section is selected. The pointer 103 moves in conjunction with a user operation on the operation section 8a, and is used to press a button or to select an object. For example, when the analysis report displayed in the project display area 102 is double-clicked by the pointer 103, the CPU 11a functions as a web browser like the CPU 11b, and displays the analysis report described with reference to FIG. 8A.

リプレイモードでは、プログラム表示領域104に、運転記録に含まれているデバイス値がラダープログラム上に表示される。リレーデバイス(ビットデバイス)の場合、デバイス値が0であるか、1であるかが視覚的に区別可能に表示される。視覚的に区別可能とは、異なる色による表示や異なるアイコンの表示を含む。ワードデバイスの場合、たとえば、デバイス値が10進化されて表示されてもよい。 In replay mode, device values included in the operation record are displayed on the ladder program in the program display area 104. In the case of relay devices (bit devices), the device value is displayed so that it is visually distinguishable whether it is 0 or 1. Visually distinguishable includes displaying in different colors or different icons. In the case of word devices, for example, the device value may be displayed after being decimalized.

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

<サイクル設定>
図18は、サイクルを定義する設定画面1800を示す。設定画面1800は、例えばPC2aの表示部7aに表示中のUI100から所定の操作が行われた場合に表示部7aに表示される画面である。図18に示すように、UI100上に表示されているプログラムエディタに重畳して表示されてもよいし、UI100に表示されているプログラムエディタから遷移する画面として表示されてもよい。なお、設定画面1800はPC2b上のWebブラウザ18上で表示されてもよい。
<Cycle settings>
Fig. 18 shows a setting screen 1800 for defining a cycle. The setting screen 1800 is a screen that is displayed on the display unit 7a when a predetermined operation is performed from the UI 100 being displayed on the display unit 7a of the PC 2a, for example. As shown in Fig. 18, the setting screen 1800 may be displayed superimposed on the program editor displayed on the UI 100, or may be displayed as a screen to which the program editor displayed on the UI 100 is transitioned. The setting screen 1800 may be displayed on the Web browser 18 on the PC 2b.

設定画面1800には、運転記録分析を行う際のアプリケーションやアプリケーション名を指定する設定領域1801、1802が含まれる。これらの設定領域1801、1802は分析対象を設定するためのものである。図18にはデフォルトの設定が示してあり、オペレータは特に設定しなくてもよい。さらに、設定画面1800には基本設定の領域が有り、ここで制御サイクルを指定することができる。1803は制御サイクルの指定方法を設定し、1804はサイクル名を設定し、1805は開始トリガを設定し、1806は終了トリガを設定することができる。また、デフォルトでは制御サイクルは指定されておらず、追加ボタン1807のみが表示されている。 The setting screen 1800 includes setting areas 1801 and 1802 for specifying the application and application name when performing driving record analysis. These setting areas 1801 and 1802 are for setting the analysis target. Figure 18 shows the default settings, and the operator does not need to make any particular settings. In addition, the setting screen 1800 has a basic setting area, where the control cycle can be specified. 1803 allows the setting of the control cycle specification method, 1804 allows the setting of the cycle name, 1805 allows the setting of the start trigger, and 1806 allows the setting of the end trigger. Also, by default, no control cycle is specified, and only the add button 1807 is displayed.

図18に示す例では、No.0,1,2の制御サイクルが既に指定されている状態を示す。本実施形態によれば、このように分析対象となる制御サイクルとして、1以上の制御サイクルを指定することができる。したがって、オペレータは広範囲に分析したい場合においては、複数の制御サイクルを指定することでより意図した分析レポートを確認することができる。指定方法1803は制御サイクルの起点となる開始タイミング及び終点となる終了タイミングを指定する開始・終了指定と、開始タイミングのみを指定する開始指定を選択することができる。したがって、終了トリガ1806は開始・終了指定が選択された場合にのみ終了タイミングを指定することができる。ここでは、各サイクル定義毎に、所属するデバイスやデバイスのグループを設定していない。したがって、分析ユニット4a等が定義された制御サイクルに対応するデバイスを特定して分析を行うことになる。複数の制御サイクルを指定可能であるため、1つのデバイスが複数の制御サイクルに対応する可能性もある。この場合においては、分析対象として前述の信頼度や、サイクルの開始と終了とのバラツキが小さいことを使用して自動的に優先度をより高く設定するようにしてもよい。当該優先度が高ければ分析レポートにおいて優先的に表示または絞って表示するようにしてもよい。一方で、特定のデバイスを各サイクル定義に紐づける設定を行えるようにしてもよい。 In the example shown in FIG. 18, the state in which control cycles No. 0, 1, and 2 have already been specified is shown. According to this embodiment, one or more control cycles can be specified as the control cycle to be analyzed in this way. Therefore, when an operator wants to perform a wide-ranging analysis, the operator can confirm the intended analysis report by specifying multiple control cycles. The specification method 1803 can select a start/end specification that specifies the start timing that is the starting point of the control cycle and the end timing that is the end point, and a start specification that specifies only the start timing. Therefore, the end trigger 1806 can specify the end timing only when the start/end specification is selected. Here, the device or device group to which each cycle definition belongs is not set. Therefore, the analysis unit 4a etc. identifies the device corresponding to the defined control cycle and performs the analysis. Since multiple control cycles can be specified, one device may correspond to multiple control cycles. In this case, the priority may be automatically set higher using the reliability described above or the small variation between the start and end of the cycle as the analysis target. If the priority is high, it may be displayed preferentially or narrowed down in the analysis report. On the other hand, it may be possible to configure settings that link specific devices to each cycle definition.

設定画面1800にはさらに、設定保存1811、設定読出1812、OKボタン1813、及びキャンセルボタン1814を含んで構成される。設定保存1811は設定画面1800内で設定された設定内容を保存するためのボタンである。設定読出1812は基本ユニット3のメモリ32のプロジェクト記憶部35に予め保持されている設定ファイルを読み出すためのボタンである。当該設定ファイルには、1以上の制御サイクルが予め指定されている。当該設定ファイルを読み出した後に、さらに制御サイクルを追加することも可能である。OKボタン1813は設定画面1800上に設定されている内容を有効にして設定処理を終了するためのボタンである。キャンセルボタン1814は設定画面1800上に設定されている内容を適用することなく設定処理を終了するためのボタンである。 The setting screen 1800 further includes a setting save 1811, a setting read 1812, an OK button 1813, and a cancel button 1814. The setting save 1811 is a button for saving the setting contents set in the setting screen 1800. The setting read 1812 is a button for reading a setting file that is stored in advance in the project storage section 35 of the memory 32 of the basic unit 3. One or more control cycles are specified in advance in the setting file. After reading the setting file, it is also possible to add further control cycles. The OK button 1813 is a button for validating the contents set on the setting screen 1800 and terminating the setting process. The cancel button 1814 is a button for terminating the setting process without applying the contents set on the setting screen 1800.

<サイクル未設定>
図19はサイクル未設定の分析レポートの検知マップ810を示す。分析ユニット4aはサイクル未設定であっても分析は可能であるが、分析可能なデバイスは極端に少ない。つまり、サイクルパターンを有していないデバイスに限られる。サイクルパターンを有していないデバイスとは、たとえばデバイス値が固定値で変化しないデバイスである。たとえば、図19の1901に示すように、常時ONや常時OFFのデバイスはサイクルが未設定であっても分析を行うことができる。一方、所定のサイクルパターンを有するデバイスについてはサイクルが未設定であれば分析を行うことができない。このように、分析可能なデバイスが少ないため、サイクルが未設定の場合も分析自体は可能であるものの、分析結果の有効性は限定的である。したがって、図19に示すように、分析レポートにおいて、サイクルが未設定である旨と、サイクル設定を促すメッセージ1902を表示するようにしてもよい。「サイクル設定して分析する」が選択されるとサイクル設定のポップアップ画面が表示され、オペレータはサイクル設定を行うことができる。
<Cycle not set>
FIG. 19 shows a detection map 810 of an analysis report in which a cycle has not been set. Although the analysis unit 4a can perform analysis even if a cycle has not been set, the number of devices that can be analyzed is extremely small. In other words, it is limited to devices that do not have a cycle pattern. A device that does not have a cycle pattern is, for example, a device whose device value is a fixed value that does not change. For example, as shown in 1901 in FIG. 19, a device that is always ON or always OFF can be analyzed even if the cycle has not been set. On the other hand, a device that has a predetermined cycle pattern cannot be analyzed if the cycle has not been set. Thus, since there are few devices that can be analyzed, even if the cycle has not been set, the analysis itself is possible, but the effectiveness of the analysis results is limited. Therefore, as shown in FIG. 19, a message 1902 that indicates that the cycle has not been set and that prompts the operator to set the cycle may be displayed in the analysis report. When "set cycle and analyze" is selected, a pop-up screen for setting the cycle is displayed, and the operator can set the cycle.

<変形例>
本発明は上記実施形態に限らず様々な変形が可能である。以下では種々の変形例について図面を参照して説明する。
<Modification>
The present invention is not limited to the above-described embodiment, and various modifications are possible. Various modifications will be described below with reference to the drawings.

<システム構成の変形例>
図20はPLCシステム構成の変形例を示す。上記実施形態では、PLCシステムとして、基本ユニット3、分析ユニット4a、およびカメラユニットなどの拡張ユニット4bで構成されるPLC1と、基本ユニット3に接続されるPC2aと、分析ユニット4aに接続される分析レポートを表示するPC2bとを含んで構成される例について説明した。しかし、これらの構成は一例であって、上述した運転記録データの収集、モデルの生成、分析、分析結果の表示については何れの装置やユニットで行われてもよいし、さらに他の外部装置や他の拡張ユニットによって実現されてもよい。ここではそのような構成の変形例について説明する。
<Modifications of system configuration>
FIG. 20 shows a modified example of the PLC system configuration. In the above embodiment, an example has been described in which the PLC system includes a PLC 1 including a basic unit 3, an analysis unit 4a, and an expansion unit 4b such as a camera unit, a PC 2a connected to the basic unit 3, and a PC 2b connected to the analysis unit 4a for displaying an analysis report. However, these configurations are merely examples, and the above-mentioned collection of driving record data, generation of a model, analysis, and display of the analysis results may be performed by any device or unit, or may be realized by other external devices or other expansion units. Here, a modified example of such a configuration will be described.

たとえば、図20に示すように、上記実施形態に係る分析ユニット4aの機能をPLC1の上位層に配置される分析装置(サーバ装置として機能する)2cで実現してもよい。モデルの学習フェーズの処理などは非常に処理負荷が高く、処理時間を要するものであるため、PLCユニットの処理能力に応じて外部で実現することも想定され得る。また、上位層の装置に分析機能を設けることにより、他のPLCからも情報を吸い上げることもでき、より信頼度の高いモデルを生成することも可能となる。分析装置2cは、PLC固有情報の解析、モデルの生成、分析、分析レポートの作成などの機能を有する。これらの機能については、分析ユニット4aと同様の処理であるため説明を省略する。 For example, as shown in FIG. 20, the functions of the analysis unit 4a according to the above embodiment may be realized by an analysis device 2c (functioning as a server device) arranged in a higher layer of the PLC 1. Since the model learning phase and other processes have a high processing load and require a long processing time, it may be possible to realize them externally depending on the processing capacity of the PLC unit. Furthermore, by providing an analysis function in a higher layer device, it is possible to collect information from other PLCs and generate a more reliable model. The analysis device 2c has functions such as analyzing PLC-specific information, generating models, performing analysis, and creating analysis reports. These functions are the same as those of the analysis unit 4a, so a description thereof will be omitted.

また、上記実施形態では、基本ユニット3が全デバイスの運転記録データを収集していたが、他の拡張ユニットで行ってもよい。たとえば、図20に示すように、拡張ユニットとしてレコーダユニット4cを設けてもよい。レコーダユニット4cはCPU41cと、メモリ42cと、通信部43cとを備える。メモリ42cには、上記実施形態で基本ユニット3に設けられていたリングバッファ44cと、運転記録記憶部45cとの記憶領域が設けられる。運転記録の収集については、上記実施形態の基本ユニット3と同様の処理であるため詳細な説明については省略する。 In addition, in the above embodiment, the basic unit 3 collected the driving record data of all devices, but this may be done by another expansion unit. For example, as shown in FIG. 20, a recorder unit 4c may be provided as an expansion unit. The recorder unit 4c includes a CPU 41c, a memory 42c, and a communication unit 43c. The memory 42c is provided with storage areas for the ring buffer 44c and driving record storage unit 45c, which were provided in the basic unit 3 in the above embodiment. The collection of driving records is the same process as that of the basic unit 3 in the above embodiment, so a detailed explanation will be omitted.

このように、本発明によれば、上記実施形態で説明した処理機能を実現する装置又はユニットは可能な範囲で変更することができるものであり、本発明はそれらの変形を包括するものである。上記変形例では、基本ユニット3とは別に運転記録データを収集するレコーダユニット4cを設ける例を説明したが、当該ユニットには収集機能および通信機能を設けて、保存先についてはネットワークを介して接続されたデータベースとしてもよい。これにより、より大容量のデータを保存することができ、トリガ発生時よりもかなり遡った解析を行うことができるとともに、他のPLCシステムのデータも利用することが可能となる。 Thus, according to the present invention, the devices or units that realize the processing functions described in the above embodiments can be modified to the extent possible, and the present invention encompasses these modifications. In the above modified example, an example was described in which a recorder unit 4c that collects operation record data is provided separately from the basic unit 3, but the unit may be provided with collection and communication functions, and the storage destination may be a database connected via a network. This makes it possible to store larger volumes of data, allowing analysis to be performed going back much further than the time of the trigger occurrence, and also making it possible to use data from other PLC systems.

また、上記変形例では、処理機能を基本ユニット3とは別のユニットで実現したり、外部装置で実現する例について説明したが、基本ユニット3にそれらの処理機能を一体化する形態であってもよい。このような構成のメリットは、他のユニットや外部装置との通信処理を省略できるため通信による処理負荷を低減でき、PLC制御への影響を低減することができる点にある。なお、一体化する場合においての性能は基本ユニット3の性能に依存することになるため、基本ユニット3の高性能化が必要となる。 In the above modified example, the processing functions are implemented in a unit separate from the basic unit 3 or in an external device, but the processing functions may be integrated into the basic unit 3. The advantage of this configuration is that communication processing with other units or external devices can be omitted, reducing the processing load due to communication and reducing the impact on PLC control. Note that in the case of integration, performance will depend on the performance of the basic unit 3, so high performance is required for the basic unit 3.

<まとめ>
[観点1]
本発明は、分析装置であって、ユーザプログラムを繰り返し実行する実行エンジンと、前記ユーザプログラムの実行によって収集される、時系列の複数のデバイス値を含む運転記録データを取得する取得手段と、取得された正常時の前記運転記録データの学習に基づきデバイス毎のモデルを生成するモデル生成手段と、取得された分析対象の前記運転記録データについて、前記モデルに従って正常条件を満たさない非正常デバイスを分析する分析手段と、前記非正常デバイスとして検知した各デバイスの分析結果を、時間軸上で同期させて表示する分析レポートを生成するレポート生成手段とを備える。本実施形態によれば、各デバイスの分析結果を同期させたレポートを提供することできる。
<Summary>
[Point 1]
The present invention is an analysis device comprising an execution engine that repeatedly executes a user program, acquisition means for acquiring driving record data including a plurality of device values in a time series collected by executing the user program, model generation means for generating a model for each device based on learning of the acquired driving record data in normal operation, analysis means for analyzing non-normal devices that do not satisfy normal conditions in the acquired driving record data of an analysis target according to the model, and report generation means for generating an analysis report that displays analysis results of each device detected as the non-normal device in a synchronized manner on a time axis. According to this embodiment, a report in which the analysis results of each device are synchronized can be provided.

[観点2]
上記実施形態において、1以上の制御サイクルの定義を設定する設定手段をさらに備え、前記モデル生成手段は、設定された前記1以上の制御サイクルの定義に基づいて、取得された前記運転記録データの学習を行い、前記レポート生成手段は、前記非正常デバイスとして検知した各デバイスの分析結果を、設定された前記1以上の制御サイクルの定義に従って各デバイスの分析結果を時間軸上に同期させて表示する分析レポートを生成する。本実施形態によれば、定義された制御サイクルに従って運転記録データを分析することができ、各デバイスのサイクルに従って分析結果を同期させることができる。
[Point 2]
In the above embodiment, the system further includes a setting means for setting a definition of one or more control cycles, the model generating means learns the acquired driving record data based on the set definition of the one or more control cycles, and the report generating means generates an analysis report that displays the analysis results of each device detected as the abnormal device in accordance with the set definition of the one or more control cycles, synchronized on a time axis. According to this embodiment, the driving record data can be analyzed according to the defined control cycle, and the analysis results can be synchronized according to the cycle of each device.

[観点3]
上記実施形態において、分析装置は、前記レポート生成手段から出力された前記分析レポートの内容を示す結果表示画面の画面情報を外部装置へ送信する送信手段をさらに備え、前記外部装置では、前記結果表示画面が操作可能に表示部に表示される。本実施形態によれば、分析レポートを外部装置へ送信することができ、たとえばより高性能のPC等で分析レポートを解析することができ、より詳細な分析やよりリッチな操作体系を有する結果表示画面の表示を可能とする。
[Point 3]
In the above embodiment, the analysis device further includes a transmission means for transmitting screen information of a result display screen showing the content of the analysis report output from the report generation means to an external device, and the result display screen is operably displayed on a display unit of the external device. According to this embodiment, the analysis report can be transmitted to the external device, and the analysis report can be analyzed, for example, on a higher performance PC, enabling a more detailed analysis and the display of a result display screen having a richer operation system.

[観点4]
上記実施形態において、前記結果表示画面には、前記分析結果として、検知された非正常デバイスのサイクルおよび異常が検知されたタイミングを示す検知マップと、検知された非正常デバイスの工程および発生時刻を示す検知リストと、カメラ映像と、いつもと異なる状態が検知された原因を示す分析コメントとの少なくとも1つが含まれる。本実施形態によれば、分析結果を種々の形態で多面的に表示することができ、オペレータによる解析を支援することができる。
[Point 4]
In the above embodiment, the result display screen includes, as the analysis result, at least one of a detection map showing the cycle of the detected abnormal device and the timing at which the abnormality was detected, a detection list showing the process of the detected abnormal device and the occurrence time, a camera image, and an analysis comment showing the cause of the detection of the abnormal state. According to this embodiment, the analysis result can be displayed in a multifaceted manner in various forms, thereby supporting the analysis by the operator.

[観点5]
上記実施形態において、前記検知マップ、前記検知リスト、前記カメラ映像、および前記分析コメントは、互いに時間軸を連動して操作可能である。本実施形態によれば、分析結果の1つの表示形態に対して操作することにより、他の表示形態の分析結果も連動して更新され、オペレータに対してより快適な操作体系を提供することができる。
[Point 5]
In the above embodiment, the detection map, the detection list, the camera video, and the analysis comment can be operated in a time-linked manner with respect to each other. According to this embodiment, by operating one display form of the analysis result, the analysis results of the other display forms are also updated in a linked manner, and a more comfortable operation system can be provided to the operator.

[観点6]
上記実施形態において、前記検知マップでは、検知された非正常デバイスのサイクルの開始タイミング及び終了タイミングが識別可能な形状で示され、 異常が検知されたタイミングを示す異常点が前記形状の内部に含まれる。本実施形態によれば、サイクルの開始タイミング及び終了タイミングを確認しつつ、サイクル内の異常点を把握することができ、より容易に異常の解析を行うことができる。
[Point 6]
In the above embodiment, the detection map indicates the start and end timings of a cycle of a detected abnormal device in an identifiable shape, and an abnormality point indicating the timing at which the abnormality was detected is included inside the shape. According to this embodiment, it is possible to grasp the abnormality point in a cycle while checking the start and end timings of the cycle, and to more easily analyze the abnormality.

[観点7]
上記実施形態において、前記カメラ映像では、分析対象の映像と、該分析対象の映像に対応する正常時の映像とが比較可能に表示される。本実施形態によれば、異常時の映像を正常時の映像と対比しながら確認することができ、より容易に異常を特定することができる。
[Point 7]
In the above embodiment, the camera image displays the image of the analysis target and the image of the normal state corresponding to the image of the analysis target in a comparative manner. According to this embodiment, the image of the abnormal state can be confirmed while being compared with the image of the normal state, and the abnormality can be more easily identified.

[観点8]
上記実施形態において、前記正常時の映像は、前記分析対象の映像の制御サイクルに同期させて表示される。本実施形態によれば、対比する2つの映像をより正確に同期させることができる。
[Point 8]
In the above embodiment, the normal image is displayed in synchronization with the control cycle of the image to be analyzed. According to this embodiment, the two images to be compared can be synchronized more accurately.

[観点9]
上記実施形態において、前記結果表示画面には、前記カメラ映像の再生位置を示すシークバーが含まれる。本実施形態によれば、分析対象の映像の再生地を容易に確認することができる。
[Point 9]
In the above embodiment, the result display screen includes a seek bar that indicates the playback position of the camera video. According to this embodiment, the playback location of the video to be analyzed can be easily confirmed.

[観点10]
上記実施形態において、前記結果表示画面には、さらに、前記分析レポートの表示項目を絞るための条件を指定可能なフィルタ設定領域が含まれる。本実施形態によれば、不要な表示項目を結果表示画面から除外することができ、より容易に異常の解析を行うことができる。
[Point 10]
In the above embodiment, the result display screen further includes a filter setting area in which conditions for narrowing down the display items of the analysis report can be specified. According to this embodiment, unnecessary display items can be excluded from the result display screen, making it easier to analyze anomalies.

[観点11]
上記実施形態において、前記フィルタ設定領域では、デバイスの制御サイクルの指定、属性情報の指定、および、イベント、エラーの指定の少なくとも1つによってフィルタが指定可能である。本実施形態によれば、オペレータが表示項目を絞る際に種々の選択肢を提供することができる。
[Point 11]
In the above embodiment, in the filter setting area, a filter can be specified by at least one of specifying a control cycle of a device, specifying attribute information, and specifying an event or an error. According to this embodiment, it is possible to provide various options when the operator narrows down the display items.

[観点12]
上記実施形態において、前記ユーザプログラムの編集画面を表示する表示手段をさらに備え、前記編集画面では、該編集画面の時間軸に同期した前記分析レポートが表示可能である。本実施形態によれば、ユーザプログラムと連携して分析レポートを表示することができ、ユーザプログラムも加味した分析を行うことができる。
[Point 12]
In the above embodiment, a display unit is further provided for displaying an editing screen of the user program, and the editing screen is capable of displaying the analysis report synchronized with the time axis of the editing screen. According to this embodiment, the analysis report can be displayed in cooperation with the user program, and an analysis can be performed that takes the user program into account.

[観点13]
上記実施形態において、前記分析レポートの生成要求を受け付ける受付手段と、前記レポート生成手段によって前記生成要求に応じて前記分析レポートが生成されると、要求元に分析レポートの生成が完了した旨を通知する通知手段とをさらに備える。本実施形態によれば、分析レポートの生成が完了した旨をオペレータに通知することができ、よりユーザフレンドリな操作体系を実現することができる。
[Point 13]
In the above embodiment, the system further includes a receiving unit for receiving a request to generate the analysis report, and a notifying unit for notifying a requester that generation of the analysis report has been completed when the analysis report has been generated by the report generating unit in response to the generation request. According to this embodiment, the system can notify an operator that generation of the analysis report has been completed, thereby realizing a more user-friendly operation system.

[観点14]
上記実施形態において、前記分析手段は、前記設定手段によって制御サイクルが定義されていない場合において、制御サイクルのサイクルパターンを有していないデバイスを分析対象として、前記運転記録データを分析する。本実施形態によれば、オペレータに対してサイクルパターンの設定操作を要求することなく分析レポートを容易に出力することができる。従って、オペレータはサイクルパターンを設定することなく、お試しで分析レポートを生成することもでき、生成された分析レポートを解析してより詳細に分析すべくサイクルパターンを設定するなどの解析手法も行うことができる。
[Point 14]
In the above embodiment, when the control cycle is not defined by the setting means, the analysis means analyzes the driving record data by analyzing devices that do not have a cycle pattern of the control cycle. According to this embodiment, an analysis report can be easily output without requiring an operator to set a cycle pattern. Therefore, the operator can generate a trial analysis report without setting a cycle pattern, and can also perform an analysis method such as analyzing the generated analysis report and setting a cycle pattern for more detailed analysis.

[観点15]
上記実施形態において、前記レポート生成手段は、制御サイクルのサイクルパターンを有していないデバイスの分析結果を分析レポートとして生成し、 前記分析レポートには、制御サイクルが設定されていない旨と、前記設定手段によって制御サイクルの設定を促すメッセージが含まれる。本実施形態によれば、オペレータがサイクル設定を忘れている場合などに、サイクル設定を促すことができ、よりユーザフレンドリな操作体系を提供することができる。
[Point 15]
In the above embodiment, the report generating means generates an analysis report of the analysis result of a device that does not have a cycle pattern of a control cycle, and the analysis report includes a message indicating that a control cycle has not been set and prompting the setting means to set a control cycle. According to this embodiment, when an operator has forgotten to set a cycle, the operator can be prompted to set the cycle, and a more user-friendly operation system can be provided.

[観点16]
本発明は、データ処理装置とプログラマブルロジックコントローラとが通信可能な分析システムであって、ユーザプログラムを繰り返し実行する実行エンジンと、前記ユーザプログラムの実行によって収集される、時系列の複数のデバイス値を含む運転記録データを取得する取得手段と、取得された正常時の前記運転記録データの学習に基づきデバイス毎のモデルを生成するモデル生成手段と、取得された分析対象の前記運転記録データについて、前記モデルに従って正常条件を満たさない非正常デバイスを分析する分析手段と、前記非正常デバイスとして検知した各デバイスの分析結果を、時間軸上で同期させて表示する分析レポートを生成するレポート生成手段とを備えることを特徴とする。本実施形態によれば、各デバイスの分析結果を同期させたレポートを提供することできる。
[Point 16]
The present invention is an analysis system capable of communicating between a data processing device and a programmable logic controller, comprising an execution engine for repeatedly executing a user program, acquisition means for acquiring driving record data including a plurality of device values in a time series collected by executing the user program, model generation means for generating a model for each device based on learning of the acquired driving record data in normal operation, analysis means for analyzing non-normal devices that do not satisfy normal conditions in the acquired driving record data of an analysis target according to the model, and report generation means for generating an analysis report that displays the analysis results of each device detected as the non-normal device in a synchronized manner on a time axis. According to this embodiment, a report in which the analysis results of each device are synchronized can be provided.

[観点17]
上記実施形において、前記取得手段、前記モデル生成手段、分析手段、および前記レポート生成手段の少なくとも1つは前記データ処理装置に設けられる。本実施形態によれば、PLCの開発コストや、データ処理装置の性能等に応じて、本発明を実現するための構成をフレキシブルに適切なコンポーネントへ組み込むことが可能となり、システム設計の自由度を向上することができる。
[Point 17]
In the above embodiment, at least one of the acquiring means, the model generating means, the analyzing means, and the report generating means is provided in the data processing device. According to this embodiment, it is possible to flexibly incorporate a configuration for realizing the present invention into an appropriate component depending on the development cost of the PLC, the performance of the data processing device, etc., and it is possible to improve the freedom of system design.

[観点18]
上記実施形態によれば、前記プログラマブルロジックコントローラは、前記実行エンジンを備えるCPUユニットと、前記取得手段を実現する前記プログラマブルロジックコントローラに設けられるレコーダユニットとを備え、前記データ処理装置は、前記モデル生成手段、分析手段、および前記レポート生成手段を備える。本実施形態によれば、PLCの開発コストや、データ処理装置の性能等に応じて、本発明を実現するための構成をフレキシブルに適切なコンポーネントへ組み込むことが可能となり、システム設計の自由度を向上することができる。
[Point 18]
According to the above embodiment, the programmable logic controller includes a CPU unit having the execution engine and a recorder unit provided in the programmable logic controller for realizing the acquisition means, and the data processing device includes the model generation means, the analysis means, and the report generation means. According to this embodiment, it is possible to flexibly incorporate a configuration for realizing the present invention into an appropriate component depending on the development cost of the PLC, the performance of the data processing device, etc., thereby improving the freedom of system design.

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

Claims (19)

分析装置であって、
ユーザプログラムを繰り返し実行する実行エンジンと、
前記ユーザプログラムの実行によって収集される、時系列の複数のシンボル値を含む運転記録データを取得する取得手段と、
1以上の制御サイクルの各制御サイクルのタイミングを規定するシンボルをユーザにより選択することで、当該1以上の制御サイクルの定義を設定する設定手段と、
取得された正常時の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンの学習に基づきシンボル毎のモデルを生成するモデル生成手段と、
取得された分析対象の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンについて、前記モデルに従ってシンボル値が変化するタイミング又は前記各制御サイクルにおけるシンボル値の変化回数に関する正常条件を満たさない非正常シンボルを分析する分析手段と、
設定された前記1以上の制御サイクルの定義に従って、前記各制御サイクルと、前記非正常シンボルとして検知した各シンボルの分析結果である異常が発生した箇所とを、時間軸上で同期させて表示する分析レポートを生成するレポート生成手段と
を備えることを特徴とする分析装置。
1. An analytical apparatus comprising:
an execution engine for repeatedly executing a user program;
An acquisition means for acquiring driving record data including a plurality of time-series symbol values collected by execution of the user program;
a setting means for setting a definition of one or more control cycles by a user selecting a symbol that specifies the timing of each of the one or more control cycles;
a model generating means for generating a model for each symbol based on learning of a change pattern of each symbol belonging to each control cycle in the acquired normal operation record data;
an analysis means for analyzing abnormal symbols that do not satisfy a normal condition related to the timing at which a symbol value changes or the number of times that a symbol value changes in each control cycle in accordance with the model, for a change pattern of each symbol belonging to each control cycle in the acquired driving record data to be analyzed;
and a report generation means for generating an analysis report that displays each of the control cycles and a location where an abnormality has occurred, which is an analysis result of each symbol detected as an abnormal symbol , in synchronization with each of the control cycles in accordance with a definition of the one or more set control cycles.
前記モデル生成手段は、前記各制御サイクルに属する各シンボルの変化パターンの学習として、に前記各制御サイクルに属する各ビットデバイスの変化パターンの学習に基づきシンボル毎のモデルを生成することを特徴とする請求項1に記載の分析装置。 The analysis device according to claim 1, characterized in that the model generation means generates a model for each symbol based on learning of the change pattern of each bit device belonging to each control cycle as learning of the change pattern of each symbol belonging to each control cycle. 前記レポート生成手段から出力された前記分析レポートの内容を示す結果表示画面の画面情報を外部装置へ送信する送信手段をさらに備え、
前記外部装置では、前記結果表示画面が操作可能に表示部に表示されることを特徴とする請求項1又は2に記載の分析装置。
a transmission means for transmitting screen information of a result display screen showing the content of the analysis report output from the report generation means to an external device,
3. The analyzer according to claim 1, wherein the external device displays the result display screen on a display unit in an operable manner.
前記結果表示画面には、前記分析結果として、検知された非正常シンボルのサイクルおよび異常が検知されたタイミングを示す検知マップと、検知された非正常シンボルの工程および発生時刻を示す検知リストと、カメラ映像と、いつもと異なる状態が検知された原因を示す分析コメントとの少なくとも1つが含まれることを特徴とする請求項3に記載の分析装置。 4. The analysis device according to claim 3, wherein the result display screen includes, as the analysis result, at least one of a detection map showing the cycle of the detected abnormal symbol and the timing at which the abnormality was detected, a detection list showing the process and occurrence time of the detected abnormal symbol, camera footage, and an analysis comment showing the cause of the detection of the abnormal state. 前記検知マップ、前記検知リスト、前記カメラ映像、および前記分析コメントは、互いに時間軸を連動して操作可能であることを特徴とする請求項4に記載の分析装置。 The analysis device according to claim 4, characterized in that the detection map, the detection list, the camera footage, and the analysis comments can be operated in conjunction with each other along a time axis. 前記検知マップでは、
検知された非正常シンボルのサイクルの開始タイミング及び終了タイミングが識別可能な形状で示され、
異常が検知されたタイミングを示す異常点が前記形状の内部に含まれることを特徴とする請求項4又は5に記載の分析装置。
In the detection map,
The start and end timings of the cycle of the detected abnormal symbol are indicated by a distinguishable shape;
6. The analysis device according to claim 4, wherein an abnormality point indicating a timing at which an abnormality is detected is included inside the shape.
前記カメラ映像では、分析対象の映像と、該分析対象の映像に対応する正常時の映像とが比較可能に表示されることを特徴とする請求項4乃至6の何れか1項に記載の分析装置。 The analysis device according to any one of claims 4 to 6, characterized in that the camera image displays an image of the subject of analysis and a normal image corresponding to the image of the subject of analysis so as to be comparable. 前記正常時の映像は、前記分析対象の映像の制御サイクルに同期させて表示されることを特徴とする請求項7に記載の分析装置。 The analysis device according to claim 7, characterized in that the image during normal operation is displayed in synchronization with the control cycle of the image to be analyzed. 前記結果表示画面には、前記カメラ映像の再生位置を示すシークバーが含まれることを特徴とする請求項4乃至8の何れか1項に記載の分析装置。 The analysis device according to any one of claims 4 to 8, characterized in that the result display screen includes a seek bar that indicates the playback position of the camera video. 前記結果表示画面には、さらに、前記分析レポートの表示項目を絞るための条件を指定可能なフィルタ設定領域が含まれることを特徴とする請求項4乃至9の何れか1項に記載の分析装置。 The analysis device according to any one of claims 4 to 9, characterized in that the result display screen further includes a filter setting area in which conditions for narrowing down the display items of the analysis report can be specified. 前記フィルタ設定領域では、シンボルの制御サイクルの指定、属性情報の指定、および、イベント、エラーの指定の少なくとも1つによってフィルタが指定可能であることを特徴とする請求項10に記載の分析装置。 11. The analysis device according to claim 10, wherein in the filter setting area, a filter can be specified by at least one of specifying a control cycle of a symbol , specifying attribute information, and specifying an event or an error. 前記ユーザプログラムの編集画面を表示する表示手段をさらに備え、
前記編集画面では、該編集画面の時間軸に同期した前記分析レポートが表示可能であることを特徴とする請求項1乃至11の何れか1項に記載の分析装置。
A display unit for displaying an editing screen of the user program is further provided,
12. The analysis device according to claim 1, wherein the analysis report can be displayed on the editing screen in synchronization with a time axis of the editing screen.
前記分析レポートの生成要求を受け付ける受付手段と、
前記レポート生成手段によって前記生成要求に応じて前記分析レポートが生成されると、要求元に分析レポートの生成が完了した旨を通知する通知手段と
をさらに備えることを特徴とする請求項12に記載の分析装置。
A reception means for receiving a request for generating the analysis report;
13. The analysis device according to claim 12, further comprising a notification means for notifying a request source that generation of the analysis report has been completed when the analysis report has been generated by the report generation means in response to the generation request.
前記分析手段は、前記設定手段によって制御サイクルが定義されていない場合において、制御サイクルのサイクルパターンを有していないシンボルを分析対象として、前記運転記録データを分析することを特徴とする請求項に記載の分析装置。 The analysis device according to claim 1, characterized in that, when a control cycle is not defined by the setting means, the analysis means analyzes the driving record data by analyzing symbols that do not have a cycle pattern of a control cycle . 前記レポート生成手段は、制御サイクルのサイクルパターンを有していないシンボルの分析結果を分析レポートとして生成し、
前記分析レポートには、制御サイクルが設定されていない旨と、前記設定手段によって制御サイクルの設定を促すメッセージが含まれることを特徴とする請求項14に記載の分析装置。
The report generating means generates an analysis report of an analysis result of a symbol that does not have a cycle pattern of a control cycle,
15. The analyzer according to claim 14, wherein the analysis report includes a message to the effect that a control cycle has not been set and a message prompting the user to set a control cycle using the setting means.
データ処理装置とプログラマブルロジックコントローラとが通信可能な分析システムであって、
ユーザプログラムを繰り返し実行する実行エンジンと、
前記ユーザプログラムの実行によって収集される、時系列の複数のシンボル値を含む運転記録データを取得する取得手段と、
1以上の制御サイクルの各制御サイクルのタイミングを規定するシンボルをユーザにより選択することで、当該1以上の制御サイクルの定義を設定する設定手段と、
取得された正常時の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンの学習に基づきシンボル毎のモデルを生成するモデル生成手段と、
取得された分析対象の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンについて、前記モデルに従ってシンボル値が変化するタイミング又は前記各制御サイクルにおけるシンボル値の変化回数に関する正常条件を満たさない非正常シンボルを分析する分析手段と、
設定された前記1以上の制御サイクルの定義に従って、前記各制御サイクルと、前記非正常シンボルとして検知した各シンボルの分析結果である異常が発生した箇所とを、時間軸上で同期させて表示する分析レポートを生成するレポート生成手段と
を備えることを特徴とする分析システム。
An analytical system in communication with a data processor and a programmable logic controller,
an execution engine for repeatedly executing a user program;
An acquisition means for acquiring driving record data including a plurality of time-series symbol values collected by execution of the user program;
a setting means for setting a definition of one or more control cycles by a user selecting a symbol that specifies the timing of each of the one or more control cycles;
a model generating means for generating a model for each symbol based on learning of a change pattern of each symbol belonging to each control cycle in the acquired normal operation record data;
an analysis means for analyzing abnormal symbols that do not satisfy a normal condition related to the timing at which a symbol value changes or the number of times that a symbol value changes in each control cycle in accordance with the model, for a change pattern of each symbol belonging to each control cycle in the acquired driving record data to be analyzed;
and a report generation means for generating an analysis report that displays each of the control cycles and a location where an abnormality has occurred, which is an analysis result of each symbol detected as an abnormal symbol , in synchronization on a time axis in accordance with a definition of the one or more set control cycles.
前記取得手段、前記モデル生成手段、分析手段、および前記レポート生成手段の少なくとも1つは前記データ処理装置に設けられることを特徴とする請求項16に記載の分析システム。 The analysis system according to claim 16, characterized in that at least one of the acquisition means, the model generation means, the analysis means, and the report generation means is provided in the data processing device. 前記プログラマブルロジックコントローラは、
前記実行エンジンを備えるCPUユニットと、
前記取得手段を実現する前記プログラマブルロジックコントローラに設けられるレコーダユニットと
を備え、
前記データ処理装置は、
前記モデル生成手段、分析手段、および前記レポート生成手段を備えることを特徴とする請求項16に記載の分析システム。
The programmable logic controller includes:
a CPU unit including the execution engine;
a recorder unit provided in the programmable logic controller that realizes the acquisition means;
The data processing device includes:
17. The analysis system of claim 16, comprising the model generating means, the analysis means, and the report generating means.
データ処理装置とプログラマブルロジックコントローラとが通信可能なシステムの制御方法であって、
ユーザプログラムを繰り返し実行する工程と、
前記ユーザプログラムの実行によって収集される、時系列の複数のシンボル値を含む運転記録データを取得する取得工程と、
1以上の制御サイクルの各制御サイクルのタイミングを規定するシンボルをユーザにより選択することで、当該1以上の制御サイクルの定義を設定する設定工程と、
取得された正常時の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンの学習に基づきシンボル毎のモデルを生成するモデル生成工程と、
取得された分析対象の前記運転記録データにおける前記各制御サイクルに属する各シンボルの変化パターンについて、前記モデルに従ってシンボル値が変化するタイミング又は前記各制御サイクルにおけるシンボル値の変化回数に関する正常条件を満たさない非正常シンボルを分析する分析工程と、
設定された前記1以上の制御サイクルの定義に従って、前記各制御サイクルと、前記非正常シンボルとして検知した各シンボルの分析結果である異常が発生した箇所とを、時間軸上で同期させて表示する分析レポートを生成するレポート生成工程と
を含むことを特徴とするシステムの制御方法。
1. A method for controlling a system in which a data processing device and a programmable logic controller are capable of communicating with each other, comprising the steps of:
repeatedly executing a user program;
an acquisition step of acquiring driving record data including a plurality of symbol values in a time series, the driving record data being collected by execution of the user program;
a setting step of setting a definition of the one or more control cycles by a user selecting a symbol that defines a timing of each of the one or more control cycles;
a model generation step of generating a model for each symbol based on learning of a change pattern of each symbol belonging to each control cycle in the acquired normal operation record data;
an analysis step of analyzing abnormal symbols that do not satisfy a normal condition related to the timing at which a symbol value changes or the number of times that a symbol value changes in each control cycle according to the model, for a change pattern of each symbol belonging to each control cycle in the acquired driving record data to be analyzed;
and generating an analysis report that displays, in accordance with a definition of the one or more set control cycles, each of the control cycles and a location where an abnormality has occurred, which is an analysis result of each symbol detected as an abnormal symbol , in synchronization on a time axis, in accordance with the definition of the one or more set control cycles.
JP2021062983A 2021-04-01 2021-04-01 Analytical device, analytical system, and control method thereof Active JP7668670B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021062983A JP7668670B2 (en) 2021-04-01 2021-04-01 Analytical device, analytical system, and control method thereof
CN202210305677.0A CN115202282A (en) 2021-04-01 2022-03-25 Analysis device, analysis system, and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021062983A JP7668670B2 (en) 2021-04-01 2021-04-01 Analytical device, analytical system, and control method thereof

Publications (2)

Publication Number Publication Date
JP2022158227A JP2022158227A (en) 2022-10-17
JP7668670B2 true JP7668670B2 (en) 2025-04-25

Family

ID=83574447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021062983A Active JP7668670B2 (en) 2021-04-01 2021-04-01 Analytical device, analytical system, and control method thereof

Country Status (2)

Country Link
JP (1) JP7668670B2 (en)
CN (1) CN115202282A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024129632A (en) * 2023-03-13 2024-09-27 オムロン株式会社 Information processing device, information processing method, and program
WO2025169300A1 (en) * 2024-02-06 2025-08-14 Ntt株式会社 Video synchronization device and method
JP7646098B1 (en) * 2024-05-24 2025-03-14 三菱電機株式会社 Screen data creation program, screen data creation device, programmable display system, programmable display device, and screen data creation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115426A (en) 2003-10-02 2005-04-28 Omron Corp Abnormality recovery support device and abnormality recovery support system
JP2019016209A (en) 2017-07-07 2019-01-31 株式会社東芝 Diagnosis device, diagnosis method, and computer program
JP2019016325A (en) 2017-07-11 2019-01-31 株式会社キーエンス Programmable logic controller and data collection device
JP2020024681A (en) 2018-07-31 2020-02-13 キヤノン株式会社 Production system and article manufacturing method
JP2020166827A (en) 2019-03-29 2020-10-08 株式会社キーエンス Programmable display and programmable logic controller system equipped with it
JP2020202449A (en) 2019-06-07 2020-12-17 キヤノン株式会社 Control apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09184069A (en) * 1995-12-28 1997-07-15 Canon Inc Manufacturing process management method and display control method for continuous body

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115426A (en) 2003-10-02 2005-04-28 Omron Corp Abnormality recovery support device and abnormality recovery support system
JP2019016209A (en) 2017-07-07 2019-01-31 株式会社東芝 Diagnosis device, diagnosis method, and computer program
JP2019016325A (en) 2017-07-11 2019-01-31 株式会社キーエンス Programmable logic controller and data collection device
JP2020024681A (en) 2018-07-31 2020-02-13 キヤノン株式会社 Production system and article manufacturing method
JP2020166827A (en) 2019-03-29 2020-10-08 株式会社キーエンス Programmable display and programmable logic controller system equipped with it
JP2020202449A (en) 2019-06-07 2020-12-17 キヤノン株式会社 Control apparatus

Also Published As

Publication number Publication date
CN115202282A (en) 2022-10-18
JP2022158227A (en) 2022-10-17

Similar Documents

Publication Publication Date Title
US11409257B2 (en) Setting device that sets a programmable logic controller and PLC system that collects control data and a dashboard for displaying control data
JP6757385B2 (en) Programmable logic controller and main unit
JP6757386B2 (en) Programmable logic controller and program creation support device
JP7450471B2 (en) Programmable logic controller and PLC system
JP7668670B2 (en) Analytical device, analytical system, and control method thereof
US10387392B2 (en) Method to automate historian configuration using controller based tag meta attribute
JP7668669B2 (en) Analytical device, analytical system, and control method thereof
JP7596660B2 (en) Prediction system, information processing device, and information processing program
JP3963174B2 (en) Display / editing apparatus, display method, and program
US11971696B2 (en) Programmable logic controller
JP2022016659A (en) Externally setting device, logging setting method and program
JP2025156642A (en) Analyzer
JP2022158228A (en) Monitoring device and programmable logic controller system
JP7102801B2 (en) Control system, control device and display device
JP7691261B2 (en) Programmable Logic Controller System
JP7558735B2 (en) Programmable logic controller and analytical device
JP2021036479A (en) Programmable logic controller and main unit
JP2023110263A (en) Program and programmable logic controller
JP2020013528A (en) Engineering tool for programmable logic controller
JP6986125B2 (en) Programmable logic controller and main unit
JP7450470B2 (en) Setting device and PLC system
JP2020067751A (en) Programmable logic controller system, program creation assisting device, and computer program
JP6806946B2 (en) External setting devices and programs
JP2020177713A (en) Programmable logic controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250415

R150 Certificate of patent or registration of utility model

Ref document number: 7668670

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150