JP7131486B2 - 制御システム、プログラマブルロジックコントローラおよび情報処理方法 - Google Patents
制御システム、プログラマブルロジックコントローラおよび情報処理方法 Download PDFInfo
- Publication number
- JP7131486B2 JP7131486B2 JP2019103866A JP2019103866A JP7131486B2 JP 7131486 B2 JP7131486 B2 JP 7131486B2 JP 2019103866 A JP2019103866 A JP 2019103866A JP 2019103866 A JP2019103866 A JP 2019103866A JP 7131486 B2 JP7131486 B2 JP 7131486B2
- Authority
- JP
- Japan
- Prior art keywords
- log element
- abnormality
- log
- target
- operation command
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0286—Modifications to the monitored process, e.g. stopping operation or adapting control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0264—Control of logging system, e.g. decision on which data to store; time-stamping measurements
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
本技術は、制御システム、プログラマブルロジックコントローラおよび情報処理方法に関する。
各種設備および各設備に配置される各種装置の制御には、PLC(プログラマブルロジックコントローラ)が用いられる。PLCは、PLC自体の異常、制御対象の設備や機械に生じる異常、ネットワークに関する異常などの様々な異常を監視し、何らかの異常が検知されると外部に対して通知する。
特開平7-104833号公報(特許文献1)には、有毒ガスの発生および漏洩を監視する監視システムが開示されている。この監視システムでは、検出手段により異常状態が検出されたときに、作業者が行なった処理を異常状態に対応させて記憶手段に一旦記憶させ、前回と同じ異常状態が検出されたときに、記憶させた処理を読み出して表示する。
特許文献1に記載の技術によれば、有毒ガスの異常状態が検出されたときに作業者が行なった処理を、異常状態に対応する手順書として明示的に保存する。これにより、知識や経験の乏しいユーザであっても、手順書を確認することにより、異常を解消しやすくなる。
一方、PLCでは、PLC自体の異常、制御対象の設備や機械に生じる異常、ネットワークに関する異常などの様々な異常が並行して発生することも考えられる。また、例えばネットワークに関する異常が発生しているときに、当該異常とは関係のない操作(例えばPLC自体に対する操作)が行なわれる場合もある。そのため、PLCでは、何らかの異常が発生したタイミングで、当該異常に対する手順書を明示的に作成することが困難である。このように、特許文献1の記載の技術をPLCに単純に適用できない。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、知識や経験の乏しいユーザであっても異常を解消しやすい制御システム、プログラマブルロジックコントローラおよび情報処理方法を提供することである。
本開示の一例によれば、制御システムは、制御対象を制御するプログラマブルロジックコントローラを備える。プログラマブルロジックコントローラは、制御対象およびプログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部と、操作コマンドを受け、操作コマンドに応じた処理を実行するコマンド処理部とを含む。制御システムは、第1書き込み部と、第2書き込み部と、出力部とを備える。第1書き込み部は、異常検知部によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素を第1履歴データに書き込む。第2書き込み部は、コマンド処理部が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素を第2履歴データに書き込む。出力部は、異常検知部によって検知された対象異常の解消を支援する支援情報を出力する。出力部は、対象異常と同一の種類を示す種別情報を含む1つの第1ログ要素を対象ログ要素として第1履歴データから抽出する。出力部は、対象ログ要素に含まれる発生時刻から解消時刻までの期間に実行時刻が属する第2ログ要素を第2履歴データから抽出する。出力部は、抽出した第2ログ要素に基づいて支援情報を生成する。
検知された異常と同一の種類を示す種別情報を含む過去の第1ログ要素の発生時刻から解消時刻までの期間において、当該異常を解消するための操作が実行されている。そのため、上記の開示によれば、当該期間に実行時刻が属する第2ログ要素の中には、異常を解消するための操作に対応する第2ログ要素が含まれる。したがって、知識や経験の乏しいユーザ(作業者や監視者など)であっても、支援情報を確認することにより異常を解消しやすくなる。
上述の開示において、第2ログ要素は、操作コマンドの送信元を識別する送信元識別情報を含む。支援情報は、抽出した第2ログ要素に含まれる内容情報および送信元識別情報を実行時刻に従って時系列に並べた情報である。
この開示によれば、ユーザは、出力された内容情報の中から、送信元識別情報に基づいて所望の送信元に対応する内容情報を確認しやすくなる。さらに、ユーザは、異常を解消するための操作の順番を理解しやすくなる。
上述の開示において、第2ログ要素は、操作コマンドの送信元を識別する送信元識別情報を含む。出力部は、抽出した第2ログ要素の中から、対象送信元を識別する送信元識別情報を含む第2ログ要素を絞り込み、絞り込まれた第2ログ要素に基づいて支援情報を生成する。
この開示によれば、ユーザは、対象異常と同一の種類の種別情報を含む過去の第1ログ要素の発生時刻から解消時刻までの期間に実行された操作のうち、対象送信元に対応する操作の内容のみを確認しやすくなる。
上述の開示において、出力部は、抽出した第2ログ要素のうち実行時刻の最も遅い第2ログ要素に含まれる送信元識別情報によって識別される送信元を対象送信元として指定する。
抽出された第2ログ要素のうち実行時刻の最も遅い第2ログ要素は、対象異常の解消時刻の直前に実行された操作に対応しており、対象異常の解消のために実行された操作である可能性が高い。上記の開示によれば、当該第2ログ要素に含まれる送信元識別情報によって識別される送信元が対象送信元として指定される。これにより、ユーザは、対象異常と同一の種類の種別情報を含む過去の第1ログ要素の発生時刻から解消時刻までの期間に実行された操作のうち、異常の解消のために実行された可能性の高い操作のみを確認できる。
上述の開示において、出力部は、第1履歴データの中から、抽出した対象ログ要素とは異なり、かつ、対象異常と同一の種類を示す種別情報を含む少なくとも1つの第1ログ要素を選択する。出力部は、少なくとも1つの第1ログ要素の各々について、当該第1ログ要素に含まれる解消時刻よりも前であり、かつ当該第1ログ要素に含まれる解消時刻に最も近い実行時刻を含む第2ログ要素を第2履歴データから選択する。出力部は、選択した第2ログ要素に含まれる送信元識別情報によって代表される送信元を対象送信元として指定する。
上記の開示によれば、ユーザは、過去の対象異常の解消時刻の直前に実行された操作と同一の送信元からの操作内容のみを確認できる。上述したように、対象異常の解消時刻の直前に実行された操作は、対象異常の解消のために実行された操作である可能性が高い。そのため、ユーザは、対象異常と同一の種類の種別情報を含む過去の第1ログ要素の発生時刻から解消時刻までの期間に実行された操作のうち、異常の解消のために実行された可能性の高い操作のみを確認しやすくなる。
上述の開示において、支援情報は、絞り込まれた第2ログ要素に含まれる内容情報を実行時刻に従って時系列に並べた情報である。
この開示によれば、ユーザは、絞り込まれた第2ログ要素に対応する操作の順番を理解しやすくなる。
上述の開示において、送信元識別情報は、例えば、操作コマンドを生成したプログラム、操作コマンドを送信した装置の位置、および、操作コマンドを送信したユーザの少なくとも1つを識別する。
上述の開示において、出力部は、第1履歴データの中に対象異常と同一の種類を示す種別情報を含む複数の第1ログ要素が存在する場合、当該複数の第1ログ要素の中から最新の第1ログ要素を対象ログ要素として抽出する。
この開示によれば、ユーザは、対象異常を解消するために最近実行された操作の内容を確認しやすくなる。
本開示の一例によれば、制御対象を制御するプログラマブルロジックコントローラは、上記の異常検知部と、コマンド処理部と、第1書き込み部と、第2書き込み部と、出力部とを備える。
本開示の一例により情報処理方法は、制御対象を制御するプログラマブルロジックコントローラを備える制御システムの情報処理方法である。プログラマブルロジックコントローラは、制御対象およびプログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部と、操作コマンドを受け、操作コマンドに応じた処理を実行するコマンド処理部とを含む。情報処理方法は、第1~第3のステップを備える。第1のステップは、異常検知部によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素を第1履歴データに書き込むステップである。第2のステップは、コマンド処理部が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素を第2履歴データに書き込むステップである。第3のステップは、異常検知部によって検知された対象異常の解消を支援する支援情報を出力するステップである。第3のステップは、対象異常と同一の種類を示す種別情報を含む第1ログ要素を対象ログ要素として第1履歴データから抽出するステップと、対象ログ要素に含まれる発生時刻から解消時刻までの期間に実行時刻が属する第2ログ要素を第2履歴データから抽出するステップと、抽出した第2ログ要素に基づいて支援情報を生成するステップとを含む。
これらの開示によれば、知識や経験の乏しいユーザであっても異常を解消しやすくなる。
本開示によれば、知識や経験の乏しい者であっても異常を解消しやすい。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、制御対象を制御するためのPLC(プログラマブルロジックコントローラ)100と、サポート装置200と、端末300,350と、HMI(ヒューマンマシンインターフェイス)装置400とを備える。
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、制御対象を制御するためのPLC(プログラマブルロジックコントローラ)100と、サポート装置200と、端末300,350と、HMI(ヒューマンマシンインターフェイス)装置400とを備える。
PLC100は、生産ラインに設置される制御対象(例えばモータ、ロボット、カメラ、各種センサなど)を制御する。PLC100は、予め設計された制御プログラムを実行することにより、接続された図示しない制御対象を制御する。
PLC100は、端末300,350およびHMI装置400から操作コマンドを受け、当該操作コマンドに応じた処理を実行する。
PLC100は、PLC自体の異常、制御対象の設備や機械に生じる異常、ネットワークに関する異常などの様々な種類の異常を検知し、異常の発生を端末300,350およびHMI装置400に通知する。
サポート装置200は、PLC100で実行される制御プログラムの開発環境、および、HMI装置400で実行されるHMIプログラム40の開発環境を提供する。このような開発環境は、サポート装置200にサポートプログラムがインストールされることで提供される。サポートプログラムは、たとえば、オムロン社製の「Sysmac Studio」である。ユーザ(設計者)は、サポートプログラムを利用して、PLC100用の制御プログラムを設計し、設計した制御プログラムをPLC100にインストールすることができる。また、ユーザは、サポートプログラムを利用して、HMI装置400用のHMIプログラム40を設計し、設計したHMIプログラム40をHMI装置400にインストールすることができる。
HMI装置400は、パーソナルコンピュータにより実現可能である。HMI装置400は、HMIプログラム40を実行することにより、PLC100での制御演算によって得られる各種情報をユーザ(作業者や監視者など)へ提示するとともに、ユーザからの操作に従ってPLC100に対する操作コマンドを生成する。
端末300、350は、ユーザ(オペレータや監視者など)によって使用され、PLC100での制御演算によって得られる各種情報をユーザへ提示するとともに、ユーザからの操作に従って、PLC100に対して操作コマンドなどを生成する。端末300,350は、例えば、スマートフォン、タブレット、ノートパソコン等の携帯機器である。端末300、350とPLC100との間の通信方式は特に限定されない。例えば、端末300は、クラウドおよびサポート装置200を介してPLC100と通信接続される。端末350は、ダイレクトにPLC100と通信接続される。
端末300,350には、PLC100からの各種情報を提示するとともに、PLC100に対する操作コマンドを生成するためのプログラム(以下、「専用ツール30」と称する)が格納されている。専用ツール30は、PLC100専用のアプリケーションとして、例えばPLC100の販売会社等によって予め作成される。ユーザは、サーバから端末300,350に専用ツール30を予めダウンロードする。専用ツール30は、ユーザからの操作に従って、PLC100からの各種情報を取得し、PLC100に対する操作コマンドを生成する。
本実施の形態に係る制御システムSYSでは、操作履歴データ126および異常履歴データ128が蓄積される。
操作履歴データ126は、端末300,350およびHMI装置400からの操作コマンド毎の操作ログ要素127が蓄積されたデータである。操作ログ要素127は、操作コマンドの内容を示す内容情報と、当該操作コマンドに応じた処理の実行時刻とを含む。
制御システムSYSでは、以下の手順(a1)~(a3)に従って操作履歴データ126が構築される。
手順(a1):端末300,350およびHMI装置400のいずれか(図1に示す例では端末300)がPLC100に操作コマンドを出力する。
手順(a2):PLC100は、受けた操作コマンドに応じた処理を実行する。
手順(a3):PLC100は、操作コマンドの内容を示す内容情報と、当該操作コマンドに応じた処理の実行時刻とを対応付けた操作ログ要素127を作成し、作成した操作ログ要素127を操作履歴データ126に書き込む。
手順(a1):端末300,350およびHMI装置400のいずれか(図1に示す例では端末300)がPLC100に操作コマンドを出力する。
手順(a2):PLC100は、受けた操作コマンドに応じた処理を実行する。
手順(a3):PLC100は、操作コマンドの内容を示す内容情報と、当該操作コマンドに応じた処理の実行時刻とを対応付けた操作ログ要素127を作成し、作成した操作ログ要素127を操作履歴データ126に書き込む。
異常履歴データ128は、PLC100によって検知された異常毎の異常ログ要素129が蓄積されたデータである。異常ログ要素129は、異常の種類を示す種別情報と、当該異常の発生時刻と、当該異常の解消時刻とを含む。
制御システムSYSでは、以下の手順(b1)~(b4)に従って異常履歴データ128が構築される。
手順(b1):PLC100は、いずれかの異常の発生を検知する。
手順(b2):PLC100は、発生した異常の種類を示す種別情報と、発生時刻とを対応付けた異常ログ要素129を作成し、作成した異常ログ要素129を異常履歴データ128に書き込む。
手順(b3):PLC100は、発生中の異常の解消を検知する。
手順(b4):PLC100は、異常履歴データ128のうちの解消された異常に対応する異常ログ要素129に解消時刻を書き込む。
手順(b1):PLC100は、いずれかの異常の発生を検知する。
手順(b2):PLC100は、発生した異常の種類を示す種別情報と、発生時刻とを対応付けた異常ログ要素129を作成し、作成した異常ログ要素129を異常履歴データ128に書き込む。
手順(b3):PLC100は、発生中の異常の解消を検知する。
手順(b4):PLC100は、異常履歴データ128のうちの解消された異常に対応する異常ログ要素129に解消時刻を書き込む。
本実施の形態に係る制御システムSYSでは、異常が検知されたときに、以下の手順(c1)(C2)が実行される。
手順(c1):異常の発生の通知を受けた端末300,350およびHMI400のいずれか(図1に示す例では端末350)は、PLC100に対して、当該異常の解消を支援するための支援情報を要求する。
手順(c2):PLC100は、操作履歴データ126および異常履歴データ128を用いて支援情報を生成し、生成した支援情報を出力する。
手順(c1):異常の発生の通知を受けた端末300,350およびHMI400のいずれか(図1に示す例では端末350)は、PLC100に対して、当該異常の解消を支援するための支援情報を要求する。
手順(c2):PLC100は、操作履歴データ126および異常履歴データ128を用いて支援情報を生成し、生成した支援情報を出力する。
上記の手順(c2)は、具体的には、以下の手順(c2-1)~(c2-3)を含む。
手順(c2-1):発生の通知を受けた異常と同一の種類を示す種別情報を含む過去の異常ログ要素129を異常履歴データ128から抽出する。
手順(c2-2):抽出した異常ログ要素129に含まれる発生時刻から解消時刻までの期間に実行時刻が属する操作ログ要素127を操作履歴データ126から抽出する。
手順(c2-3):抽出した操作ログ要素127に基づいて支援情報を生成する。例えば、支援情報は、抽出した操作ログ要素127に含まれる内容情報を実行時刻に従って時系列に並べた情報である。
手順(c2-1):発生の通知を受けた異常と同一の種類を示す種別情報を含む過去の異常ログ要素129を異常履歴データ128から抽出する。
手順(c2-2):抽出した異常ログ要素129に含まれる発生時刻から解消時刻までの期間に実行時刻が属する操作ログ要素127を操作履歴データ126から抽出する。
手順(c2-3):抽出した操作ログ要素127に基づいて支援情報を生成する。例えば、支援情報は、抽出した操作ログ要素127に含まれる内容情報を実行時刻に従って時系列に並べた情報である。
発生の通知を受けた異常と同一の種類を示す種別情報を含む過去の異常ログ要素129の発生時刻から解消時刻までの期間において、当該異常を解消するための操作が実行されている。すなわち、当該期間に実行時刻が属する操作ログ要素127の中には、異常を解消するための操作に対応する操作ログ要素127が含まれる。したがって、知識や経験の乏しいユーザ(作業者や監視者など)であっても、支援情報を確認することにより異常を解消しやすくなる。
§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
次に、本実施の形態に係る制御システムの具体例について説明する。
<A.PLCのハードウェア構成例>
図2は、本実施の形態に係る制御システムを構成するPLCのハードウェア構成例を示す模式図である。図2に示されるように、PLC100は、プロセッサ102と、メインメモリ104と、ストレージ110と、第1ネットワークコントローラ106と、第2ネットワークコントローラ108と、第3ネットワークコントローラ130と、USB(Universal Serial Bus)コントローラ120と、メモリカードインターフェイス112と、ローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
図2は、本実施の形態に係る制御システムを構成するPLCのハードウェア構成例を示す模式図である。図2に示されるように、PLC100は、プロセッサ102と、メインメモリ104と、ストレージ110と、第1ネットワークコントローラ106と、第2ネットワークコントローラ108と、第3ネットワークコントローラ130と、USB(Universal Serial Bus)コントローラ120と、メモリカードインターフェイス112と、ローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
プロセッサ102は、主として、制御対象の制御に係る制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラム(一例として、システムプログラム122および制御プログラム124)を読み出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算および各種処理を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には各種プログラムが格納される。各種プログラムは、基本的な機能を実現するためのシステムプログラム122および制御対象に応じて作成された制御プログラム124を含む。制御プログラム124は、USBコントローラ120を介して接続されたサポート装置200によってストレージ110に格納される。さらに、ストレージ110には、操作履歴データ126および異常履歴データ128が格納される。
第1ネットワークコントローラ106、第2ネットワークコントローラ108および第3ネットワークコントローラ130の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。第1ネットワークコントローラ106、第2ネットワークコントローラ108および第3ネットワークコントローラ130は、EtherNetなどの汎用的なネットワークプロトコルを採用してもよい。
例えば、第1ネットワークコントローラ106は、上位機器との間でデータを遣り取りする。第3ネットワークコントローラ130は、端末350との間でデータを遣り取りする。
第2ネットワークコントローラ108は、フィールドネットワークを介して、制御対象およびHMI装置400との間でデータを遣り取りする。フィールドネットワーク上では、予め定められたデータ構造を有する通信フレームが所定周期で順次転送されており、プロセッサ102および各装置は、順次転送される通信フレームに対して、指定されたデータを指定された領域に書込み、および、必要なデータを対応する領域から読み出す。具体的には、プロセッサ102は、周期的に送信する通信フレームに各装置への指令を含める。各装置は、受信した通信フレームから自装置に対する指令を読み出すとともに、収集または生成したデータを通信フレームに含めて転送する。これにより、プロセッサ102は、戻ってきた通信フレームを確認することにより、各装置で収集または生成されたデータを取得できる。
USBコントローラ120は、USB接続を介して、サポート装置200との間でデータを遣り取りする。また、USBコントローラ120は、サポート装置200を介して端末300との間でデータを遣り取りすることもできる。
メモリカードインターフェイス112は、着脱可能な記録媒体の一例であるメモリカード114を受付ける。メモリカードインターフェイス112は、メモリカード114に対してデータを書込み、メモリカード114から各種データ(ログやトレースデータなど)を読出すことが可能になっている。
ローカルバスコントローラ116は、ローカルバスを介して、PLC100に接続される任意のユニットとの間でデータを遣り取りする。
図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
<B.PLCの機能構成例>
図3は、本実施の形態に係る制御システムを構成するPLCの機能構成例を示す模式図である。図3に示す例のPLC100は、操作コマンド処理部11と、操作履歴書き込み部12と、PLCモジュール群13と、異常履歴書き込み部14と、出力部15と、状態レジスタ18とを備える。操作コマンド処理部11、操作履歴書き込み部12、PLCモジュール群13、異常履歴書き込み部14および出力部15は、図2に示すプロセッサ102がストレージ110に格納される各種プログラムを実行することにより実現される。状態レジスタ18は、図2に示すメインメモリ104およびストレージ110によって実現される。
図3は、本実施の形態に係る制御システムを構成するPLCの機能構成例を示す模式図である。図3に示す例のPLC100は、操作コマンド処理部11と、操作履歴書き込み部12と、PLCモジュール群13と、異常履歴書き込み部14と、出力部15と、状態レジスタ18とを備える。操作コマンド処理部11、操作履歴書き込み部12、PLCモジュール群13、異常履歴書き込み部14および出力部15は、図2に示すプロセッサ102がストレージ110に格納される各種プログラムを実行することにより実現される。状態レジスタ18は、図2に示すメインメモリ104およびストレージ110によって実現される。
<B-1.操作コマンド処理部>
操作コマンド処理部11は、端末300,350およびHMI装置400のいずれかから操作コマンドを受け、当該操作コマンドに応じた処理を実行する。操作コマンドは、例えばHTTP(Hypertext Transfer Protocol)に従ったパケットである。
操作コマンド処理部11は、端末300,350およびHMI装置400のいずれかから操作コマンドを受け、当該操作コマンドに応じた処理を実行する。操作コマンドは、例えばHTTP(Hypertext Transfer Protocol)に従ったパケットである。
図4は、操作コマンドの構成要素の一例を示す図である。図4に示す例の操作コマンドは、構成要素21~26を含む。構成要素21は、操作コマンドを生成したプログラムを識別するソースIDを示す。ソースIDは、例えば専用ツール30(図1参照)およびHMIプログラム40(図1参照)のいずれかを識別する。構成要素22は、処理の種類を識別する機能IDを示す。機能IDは、例えば「変更」「書き込み」などを識別する。構成要素23は、処理の対象となるリソースを識別するリソース名を示す。構成要素24は、処理の対象に対して適用されるデータを識別するデータ名を示す。構成要素25は、操作コマンドの送信元の装置の位置を識別するロケーションIDを示す。構成要素26は、操作コマンドの送信元のユーザ(作業者や監視者など)を識別するユーザIDを示す。なお、操作コマンドにおいて、ロケーションIDおよびユーザIDの少なくとも一方は省略されてもよい。
端末300,350およびHMI装置400は、構成要素21~26にそれぞれ対応する情報を加えることにより操作コマンドを生成する。具体的には、端末300,350は、専用ツール30を識別するソースIDを構成要素21に貼り付ける。HMI装置400は、HMIプログラム40を識別するソースIDを構成要素21に貼り付ける。端末300,350およびHMI装置400は、入力情報に従って機能ID、リソース名およびデータ名を生成し、生成した機能ID、リソース名およびデータ名を構成要素22,23,24にそれぞれ貼り付ける。端末300,350およびHMI装置400のうちGPS(Global Positioning System)センサを有する装置は、GPSを用いて取得した緯度経度をロケーションIDとして生成し、生成したロケーションIDを構成要素25に貼り付ける。一般に、スマートフォンやタブレットで構成される端末300,350は、GPSセンサを有しており、ロケーションIDを構成要素25に貼り付けることができる。一方、一般に、HMI装置400は、GPSセンサを有しておらず、ロケーションIDを含まない操作コマンドを生成すればよい。端末300,350およびHMI装置400は、ログイン中のユーザIDを構成要素26に貼り付ける。
操作コマンド処理部11は、バッファを有し、受け付けた操作コマンドをバッファに保存する。操作コマンド処理部11は、バッファに保存した順に操作コマンドを読み出し、読み出した操作コマンドに応じた処理を実行する。
<B-2.操作履歴書き込み部>
図3に戻って、操作履歴書き込み部12は、操作コマンド処理部11が操作コマンドに応じた処理を実行する毎に、当該操作コマンドに対応する操作ログ要素127を生成し、生成した操作ログ要素127を操作履歴データ126に書き込む。操作ログ要素127は、少なくとも操作コマンドの内容を示す内容情報および操作コマンドに応じた処理の実行時刻を含む。
図3に戻って、操作履歴書き込み部12は、操作コマンド処理部11が操作コマンドに応じた処理を実行する毎に、当該操作コマンドに対応する操作ログ要素127を生成し、生成した操作ログ要素127を操作履歴データ126に書き込む。操作ログ要素127は、少なくとも操作コマンドの内容を示す内容情報および操作コマンドに応じた処理の実行時刻を含む。
図5は、操作履歴データの一例を示す図である。図5に示されるように、操作履歴データ126は、操作コマンド毎に生成された操作ログ要素127を含む。図5に示す例の操作ログ要素127は、ソースID31と、内容情報38と、実行時刻35と、ロケーションID36と、ユーザID37とを対応付けた情報である。ソースID31、ロケーションID36およびユーザID37は、対応する操作コマンドの送信元を識別する送信元識別情報である。内容情報38は、機能ID32とリソース名33とデータ名34とを含む。
操作履歴書き込み部12は、操作コマンドの構成要素21~26(図4参照)に定義された値をそれぞれソースID31、機能ID32、リソース名33、データ名34、ロケーションID36およびユーザID37とする操作ログ要素127を生成すればよい。そして、操作履歴書き込み部12は、操作コマンドに応じた処理の実行時刻35を操作ログ要素127に追加すればよい。
なお、操作履歴書き込み部12は、緯度経度と地域名(例えば「京都市下京区」)とを対応付けたマップ情報を予め記憶しておき、操作コマンドの構成要素25に定義されるGPS情報(緯度経度)を地域名に変換してロケーションID36を生成してもよい。さらに、操作履歴書き込み部12は、PLC100が設置されている位置(PLC設置位置)を予め記憶しておき、操作コマンドの構成要素25に定義される緯度経度とPLC設置位置との距離が閾値未満である場合に「PLC近傍」を示すロケーションID36を生成してもよい。
操作履歴書き込み部12は、操作コマンドに応じた処理を開始または終了した時刻を実行時刻35とすればよい。あるいは、操作コマンドを受けてから当該操作コマンドに応じた処理を終了するまでの時間が短い場合、操作履歴書き込み部12は、操作コマンドの受信時刻を実行時刻35としてもよい。
<B-3.PLCモジュール群>
図3に戻って、PLCモジュール群13は、各種のプログラムに従った制御を行なう複数のモジュールを含む。例えば、PLCモジュール群13は、制御対象の動作を監視するモジュール、制御対象との間のネットワークを監視するモジュール、PLC100内の動作を監視するモジュールなどを含む。
図3に戻って、PLCモジュール群13は、各種のプログラムに従った制御を行なう複数のモジュールを含む。例えば、PLCモジュール群13は、制御対象の動作を監視するモジュール、制御対象との間のネットワークを監視するモジュール、PLC100内の動作を監視するモジュールなどを含む。
PLCモジュール群13に含まれるいくつかのモジュールは、制御対象およびPLC100の少なくとも一方に関連する異常を検知する異常検知部として動作する。これらのモジュールは、異常を検知すると、異常の発生を端末300,350およびHMI400に通知する。
例えば、制御対象の動作を監視するモジュールは、制御対象との間で送受信される通信フレームに含まれる変数と閾値とを比較することにより、制御対象の異常を検知する。異常の種類として、例えば、モータの軸異常、モータの原点復帰中の動作異常、速度異常などがある。
また、制御対象との間のネットワークを監視するモジュールは、例えば通信フレームが送信されてから戻ってくるまでの時間と閾値とを比較することにより、通信異常を検知する。
さらに、PLC100内の動作を監視するモジュールは、例えばウォッチドッグタイマを用いてプロセッサ102の動作を監視する。ウォッチドッグタイマは、プロセッサ102から周期的にリセットされることで、そのカウント値がリセットされる。プロセッサ102が適切に動作しなくなると、ウォッチドッグタイマがリセットされず、カウントアップが継続する。そのため、PLC100内の動作を監視するモジュールは、ウォッチドッグタイマのカウント値と閾値とを比較することにより、プロセッサ102の動作異常を検知できる。
状態レジスタ18は、PLCモジュール群13によって検知可能な複数種類の異常の各々に対応する異常フラグを記憶する。PLCモジュール群13に含まれるモジュールは、異常を検知した場合に当該異常に対応する異常フラグをオン状態に更新し、異常が解消された場合に当該異常に対応する異常フラグをオフ状態に更新する。
<B-4.異常履歴書き込み部>
異常履歴書き込み部14は、状態レジスタ18が記憶する各異常フラグを定期的(例えば1秒毎)に監視する。異常履歴書き込み部14は、異常フラグの監視結果に応じて異常ログ要素129を生成し、生成した異常ログ要素129を異常履歴データ128に書き込む。異常ログ要素129は、異常の種類を示す種別情報と、異常の発生時刻と、異常の解消時刻とを含む。
異常履歴書き込み部14は、状態レジスタ18が記憶する各異常フラグを定期的(例えば1秒毎)に監視する。異常履歴書き込み部14は、異常フラグの監視結果に応じて異常ログ要素129を生成し、生成した異常ログ要素129を異常履歴データ128に書き込む。異常ログ要素129は、異常の種類を示す種別情報と、異常の発生時刻と、異常の解消時刻とを含む。
異常履歴書き込み部14は、異常フラグがオフ状態からオン状態に切り替わると、当該異常フラグに対応する異常の種類を示す種別情報と、異常の発生時刻とを対応付けた異常ログ要素129を生成し、生成した異常ログ要素129を異常履歴データ128に書き込む。異常履歴書き込み部14は、異常フラグがオフ状態からオン状態に切り替わったタイミングを異常の発生時刻とすればよい。
異常履歴書き込み部14は、異常フラグがオン状態からオフ状態に切り替わると、異常履歴データ128の中から、当該異常フラグに対応する異常の種類を示す種別情報を含む最新の異常ログ要素129を特定する。異常履歴書き込み部14は、特定した異常ログ要素129に解消時刻を追加する。異常履歴書き込み部14は、異常フラグがオン状態からオフ状態に切り替わったタイミングを解消時刻とすればよい。
図6は、異常履歴データの一例を示す図である。図6に示されるように、異常履歴データ128は、検知された異常毎の異常ログ要素129を含む。図6に示す例の異常ログ要素129は、異常IDおよび異常サブIDを含む種別情報41と、発生時刻42と、解消時刻43とを対応付けた情報である。異常IDは、異常の種類の大分類を示し、異常サブIDは、異常の種類の小分類を示す。図6に示す例では、異常ログ要素129a,129zは、同一の種別情報41を含み、同一の異常に対応する。なお、異常ログ要素129zの解消時刻43がブランクとなっている。これは、異常が解消されていない(異常が継続中である)ためである。
<B-5.出力部>
図3に戻って、出力部15は、端末300,350およびHMI装置400からの要求を受けて、対象異常の解消を支援する支援情報を出力する。対象異常として、通常、新たに通知された異常が指定される。出力部15は、検索部16と、支援情報生成部17とを含む。
図3に戻って、出力部15は、端末300,350およびHMI装置400からの要求を受けて、対象異常の解消を支援する支援情報を出力する。対象異常として、通常、新たに通知された異常が指定される。出力部15は、検索部16と、支援情報生成部17とを含む。
検索部16は、対象異常と同じ種類を示す種別情報41(図6参照)を含み、かつ解消時刻がブランクではないという条件を満たす1つの異常ログ要素129を異常履歴データ128から抽出する。検索部16は、当該条件を満たす複数の異常ログ要素129が存在する場合、当該複数の異常ログ要素129のうち最新の異常ログ要素129を抽出する。検索部16は、抽出した異常ログ要素129の発生時刻42から解消時刻43までの期間に実行時刻35(図5参照)が属する操作ログ要素127を操作履歴データ126から抽出する。検索部16は、抽出した操作ログ要素127を支援情報生成部17に出力する。
支援情報生成部17は、検索部16から受けた操作ログ要素127に基づいて支援情報を生成し、生成した支援情報を要求元の装置(端末300,350およびHMI装置400のいずれか)に出力する。これにより、支援情報は、要求元の装置(端末300,350およびHMI装置400のいずれか)で表示される。
(B-5-1.支援情報の第1の生成例)
支援情報生成部17は、検索部16から受けた操作ログ要素127に含まれるソースID31、内容情報38、ロケーションID36およびユーザID37を実行時刻35に従って時系列に並べた支援情報を生成する。支援情報生成部17は、内容情報38をユーザが理解しやすい形式に変換してもよい。
支援情報生成部17は、検索部16から受けた操作ログ要素127に含まれるソースID31、内容情報38、ロケーションID36およびユーザID37を実行時刻35に従って時系列に並べた支援情報を生成する。支援情報生成部17は、内容情報38をユーザが理解しやすい形式に変換してもよい。
図7は、内容情報の変換方法の一例を示す図である。図7に示す例では、支援情報生成部17は、内容情報38を構成する機能ID32、リソース名33およびデータ名34を適宜並び替えるとともに助詞を補うことにより文に変換する。これにより、ユーザ(作業者や監視者など)は、操作の内容を理解しやすくなる。なお、内容情報38の変換は、支援情報生成部17ではなく、支援情報を受けた端末300,350およびHMI装置400で実行されてもよい。
図8は、支援情報の表示画面の一例を示す図である。図8に示す画面は、支援情報を要求した装置(端末300,350およびHMI装置400のいずれか)に表示される。
図8に示す例の画面50は、対象異常と同じ種類を示す種別情報41を含む異常ログ要素129の発生時刻から解消時刻までの期間内に実行された全ての操作の一覧60を含む。異常の発生時刻から解消時刻までの期間内に実行された操作には、当該異常を解消するために実行された操作が含まれる。そのため、ユーザは、一覧60を確認することにより、異常を解消するための操作を行ないやすくなる。
図8に示す例の画面50では、異常の発生時刻から解消時刻までの期間内に実行された全ての操作が表示される。当該期間内に実行された操作の中には、異常の解消に関係しない操作も含まれ得る。そのため、画面50には、表示される操作を絞り込むための入力欄51~53を含む。入力欄51~53はそれぞれ、ソースID、ロケーションIDおよびユーザIDを入力するための欄である。
入力欄51にソースIDが入力されると、入力されたソースIDに対応する操作の一覧を含む画面が表示される。
図9は、入力されたソースIDに対応する操作の一覧を含む画面例を示す図である。図9に示す画面50aは、図8において入力欄51に専用ツール30を示すソースID「Tool」が入力されたときに表示される。支援情報生成部17は、入力欄51に入力されたソースIDで識別されるソースを絞り込み対象として指定する。支援情報生成部17は、検索部16から受けた操作ログ要素127の中から、絞り込み対象であるソースを識別するソースID31を含む操作ログ要素127を絞り込み、絞り込まれた操作ログ要素127に基づいて支援情報を生成すればよい。これにより、入力されたソースIDに対応する操作の一覧60aが表示される。
同様に、入力欄52にロケーションIDが入力されると、検索部16から受けた操作ログ要素127の中から、入力されたロケーションIDと同一のロケーションID36を含む操作ログ要素127が絞り込まれる。そして、絞り込まれた操作ログ要素127に対応する操作の一覧を含む画面が表示される。例えば、ユーザは、異常を解消する操作が通常PLC100の近傍で実施されることを考慮して、ロケーションID「PLCの近傍」を入力欄52に入力すればよい。
入力欄53にユーザIDが入力されると、検索部16から受けた操作ログ要素127の中から、入力されたユーザIDと同一のユーザID37を含む操作ログ要素127が絞り込まれる。そして、絞り込まれた操作ログ要素127に対応する操作の一覧を含む画面が表示される。例えば、ユーザは、熟練の作業者によって異常が解消されている可能性が高いことを考慮して、当該熟練の作業者のユーザIDを入力欄53に入力すればよい。
なお、入力欄51~53のうちの複数にIDが入力された場合、支援情報生成部17は、検索部16から受けた操作ログ要素127の中から、入力された複数のID(例えばソースIDとユーザID)と一致する操作ログ要素127を絞り込めばよい。
(B-5-2.支援情報の第2の生成例)
上記の第1の生成例では、支援情報生成部17は、まず、異常の発生時刻から解消時刻までの期間内に実行された全ての操作の一覧60を支援情報として生成する。その後、支援情報生成部17は、入力欄51~53への入力に応じて操作ログ要素127を絞り込み、絞り込まれた操作ログ要素127に基づいて支援情報を再生成する。
上記の第1の生成例では、支援情報生成部17は、まず、異常の発生時刻から解消時刻までの期間内に実行された全ての操作の一覧60を支援情報として生成する。その後、支援情報生成部17は、入力欄51~53への入力に応じて操作ログ要素127を絞り込み、絞り込まれた操作ログ要素127に基づいて支援情報を再生成する。
これに対して、第2の生成例では、支援情報生成部17は、検索部16から受けた操作ログ要素127の中から、異常の解消との関連性が高いと推定される操作ログ要素127を自動的に絞り込み、絞り込まれた操作ログ要素127に基づいて支援情報を生成する。
図10は、操作ログ要素の絞り込みの方法を示す図である。図10において、操作ログ要素群127Aは、検索部16から受けた操作ログ要素の群である。すなわち、操作ログ要素群127Aは、対象異常と同じ種類を示す種別情報41を含み、かつ解消時刻がブランクではないという条件を満たす最新の異常ログ要素129Aの発生時刻から解消時刻までに実行された操作に対応する操作ログ要素の群である。
支援情報生成部17は、異常履歴データ128の中から、異常ログ要素129Aとは異なり、かつ、対象異常と同一の種類を示す種別情報41を含む少なくとも1つの異常ログ要素を選択する。図10に示す例では、異常ログ要素129B,129Cが選択される。
支援情報生成部17は、選択した異常ログ要素129B,129Cの各々について、当該異常ログ要素に含まれる解消時刻よりも前であり、かつ当該解消時刻に最も近い実行時刻を含む操作ログ要素を操作履歴データ126から選択する。図10に示す例では、操作ログ要素127B,127Cが選択される。
支援情報生成部17は、選択した操作ログ要素127B、127Cに含まれるソースID31によって代表されるソースを絞り込み対象として指定する。例えば、選択した操作ログ要素に含まれるソースID31で識別されるソースのうち最多ソースが絞り込み対象として指定される。図10に示される例では、操作ログ要素127B、127Cに含まれるソースID31は、いずれも専用ツール30を識別する「Tool」である。そのため、支援情報生成部17は、専用ツール30を絞り込み対象として指定する。
選択した操作ログ要素に含まれるソースID31で識別されるソースのうち最多ソースが複数存在する場合、支援情報生成部17は、当該複数の最多ソースのうちの1つ(例えば最新の実行時刻35に対応するソースIDで識別されるソース)を絞り込み対象として指定すればよい。
支援情報生成部17は、検索部16から受けた操作ログ要素127の中から、絞り込み対象として指定されたソースを識別するソースID31を含む操作ログ要素127を絞り込む。支援情報生成部17は、絞り込まれた操作ログ要素127に基づいて支援情報を生成すればよい。
第2の生成例では、図9に示される画面50aが最初に表示される。その後、画面50aにおいて入力欄51~53のいずれかへの入力に応じて、操作の一覧が変更される。
<C.処理フロー>
次に、図11~13を参照して、支援情報の提供処理の流れについて説明する。図11は、端末300,350およびHMI装置400において実行される支援情報の要求および表示の処理の流れを示すフローチャートである。
次に、図11~13を参照して、支援情報の提供処理の流れについて説明する。図11は、端末300,350およびHMI装置400において実行される支援情報の要求および表示の処理の流れを示すフローチャートである。
まず、端末300,350およびHMI装置400は、異常の発生の通知をPLC100から受けたか否かを判定する(ステップS1)。通知を受けていない場合(ステップS1でNO)、支援情報の要求および表示処理はステップS1に戻る。
通知を受けた場合(ステップS1でYES)、端末300,350およびHMI装置400は、PLC100に支援情報を要求する(ステップS2)。ステップS2において、端末300,350およびHMI装置400は、通知された異常を対象異常として指定する。
次に、端末300,350およびHMI装置400は、PLC100から支援情報を受けたか否かを判定する(ステップS3)。支援情報を受けた場合(ステップS3でYES)、端末300,350およびHMI装置400は、受けた支援情報を表示する(ステップS4)。支援情報なしの通知をPLC100から受けた場合(ステップS3でNO)、端末300,350およびHMI装置400は、支援情報がない旨を表示する(ステップS5)。ステップS4またはステップS5の後、支援情報の要求および表示処理は終了する。
図12は、PLCにおいて実行される支援情報の生成処理の前半部分を示すフローチャートである。図13は、PLCにおいて実行される支援情報の生成処理の後半部分を示すフローチャートである。なお、図12および図13には、上記の第2の生成例に従って支援情報を生成するときのフローが示される。
まずステップS11において、PLC100のプロセッサ102は、端末300,350およびHMI装置400のいずれかから支援情報の要求を受けたか否かを判定する。支援情報の要求を受けていない場合(ステップS11でNO)、支援情報の生成処理はステップS11に戻る。
支援情報の要求を受けた場合(ステップS11でYES)、プロセッサ102は、指定された対象異常と同一の種類を示す種別情報41を含む異常ログ要素129が異常履歴データ128に含まれるか否かを判定する(ステップS12)。対象異常と同一種別の異常ログ要素129が異常履歴データ128に含まれない場合(ステップS12でNO)、プロセッサ102は、支援情報がない旨を通知する(ステップS13)。ステップS13の後、支援情報の生成処理は終了する。
対象異常と同一種別の異常ログ要素129が異常履歴データ128に含まれる場合(ステップS12でYES)、プロセッサ102は、対象異常と同一種別の1つの異常ログ要素129を抽出する(ステップS14)。なお、異常履歴データ128の中に対象異常と同一種別の複数の異常ログ要素129が存在する場合、プロセッサ102は、当該複数の異常ログ要素129の中の最新の異常ログ要素129を抽出する。次に、プロセッサ102は、抽出した異常ログ要素129の発生時刻から解消時刻までの期間を特定する(ステップS15)。
次に、プロセッサ102は、操作履歴データ126の中から、特定した期間内に実行時刻35が属する操作ログ要素127を全て抽出する(ステップS16)。
次に、プロセッサ102は、抽出された全ての操作ログ要素127に含まれるソースID31が同一であるか否かを判定する(ステップS17)。全てのソースIDが同一である場合(ステップS17でYES)、プロセッサ102は、抽出された全ての操作ログ要素127に基づいて支援情報を生成する(ステップS18)。
全てのソースIDが同一でない場合(ステップS17でNO)、プロセッサ102は、ステップS14で抽出した異常ログ要素129よりも過去に、対象異常と同一種別の異常ログ要素129が存在するか否かを判定する(ステップS19)。
ステップS14で抽出した異常ログ要素129よりも過去に同一種別の異常ログ要素129が存在しない場合(ステップS19でNO)、支援情報の生成処理はステップS20に移る。ステップS20において、プロセッサ102は、ステップS16で抽出した操作ログ要素127のうち最後の(実行時刻が最も遅い)操作ログ要素127のソースID31で識別されるソースを絞り込み対象として決定する。
ステップS14で抽出した異常ログ要素129よりも過去に同一種別の異常ログ要素129が存在する場合(ステップS19でYES)、支援情報の生成処理はステップS21に移る。ステップS21において、プロセッサ102は、ステップS14で抽出した異常ログ要素129よりも過去の同一種別の異常ログ要素129について、解消時刻の直前に実行された操作に対応する操作ログ要素127を特定する。すなわち、プロセッサ102は、異常ログ要素129毎に、当該異常ログ要素129の解消時刻よりも前であり、かつ、当該解消時刻に最も近い実行時刻35を含む操作ログ要素127を特定する。
次に、プロセッサ102は、特定した操作ログ要素127に基づいて、絞り込み対象となるソースを決定する(ステップS22)。具体的には、特定した操作ログ要素127が1つである場合、プロセッサ102は、当該操作ログ要素127のソースID31で識別されるソースを絞り込み対象として決定する。特定した操作ログ要素127が複数である場合、プロセッサ102は、当該複数の操作ログ要素127のソースID31によって代表されるソースを絞り込み対象として決定する。すなわち、複数の操作ログ要素127のソースIDで示されるソースのうち最多ソースが絞り込み対象として決定される。最多ソースが複数である場合、当該複数の最多ソースのうち実行時刻が最新の最多ソースが絞り込み対象として決定される。
次に、プロセッサ102は、ステップS20またはステップS22で決定された絞り込み対象に基づいて、ステップS16で抽出した操作ログ要素127を絞り込む(ステップS23)。プロセッサ102は、絞り込まれた操作ログ要素127に基づいて支援情報を生成する(ステップS24)。
プロセッサ102は、ステップS18またはステップS24で生成された支援情報を要求元に出力する(ステップS25)。
<D.変形例>
図13に示す例では、ステップS19の判定結果に応じて絞り込み対象となるソースの決定方法を異ならせた。しかしながら、ステップS19を省略し、ステップS20の方法によって絞り込み対象となるソースを決定してもよい。
図13に示す例では、ステップS19の判定結果に応じて絞り込み対象となるソースの決定方法を異ならせた。しかしながら、ステップS19を省略し、ステップS20の方法によって絞り込み対象となるソースを決定してもよい。
また、ステップS20において、プロセッサ102は、ステップS16で抽出した操作ログ要素127のうち最後の(実行時刻が最も遅い)操作ログ要素127のロケーションID36で識別される場所を絞り込み対象として決定してもよい。もしくは、ステップS20において、プロセッサ102は、ステップS16で抽出した操作ログ要素127のうち最後の(実行時刻が最も遅い)操作ログ要素127のユーザID37で識別されるユーザを絞り込み対象として決定してもよい。
上記の説明では、出力部15がPLC100に備えられるものとした。しかしながら、出力部15は、PLC100の外部の装置(例えばサーバ)に備えられていてもよい。また、この場合、操作履歴データ126および異常履歴データ128もPLC100の外部の装置に記憶されてもよい。さらに、操作履歴書き込み部12および異常履歴書き込み部14もPLC100の外部の装置に備えられていてもよい。
<E.作用・効果>
以上のように、制御対象を制御するPLC100は、制御対象およびPLC100の少なくとも一方に関連する異常を検知するためのPLCモジュール群13と、操作コマンドを受け、操作コマンドに応じた処理を実行する操作コマンド処理部11とを含む。制御システムSYSは、異常履歴書き込み部14、操作履歴書き込み部12および出力部15を含む。図3に示す例では、異常履歴書き込み部14、操作履歴書き込み部12および出力部15はPLC100に備えられる。異常履歴書き込み部14は、PLCモジュール群13によって検知された各異常について、当該異常の種類を示す種別情報41と当該異常の発生時刻42と当該異常の解消時刻43とを含む異常ログ要素129を異常履歴データ128に書き込む。操作履歴書き込み部12は、操作コマンド処理部11が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報38と当該操作コマンドに応じた処理の実行時刻35とを含む操作ログ要素127を操作履歴データ126に書き込む。出力部15は、PLCモジュール群13によって検知された対象異常の解消を支援する支援情報を出力する。出力部15は、対象異常と同一の種類を示す種別情報41を含む1つの異常ログ要素129を対象ログ要素として異常履歴データ128から抽出する。出力部15は、対象ログ要素に含まれる発生時刻42から解消時刻43までの期間に実行時刻35が属する操作ログ要素127を操作履歴データ126から抽出する。出力部15は、抽出した操作ログ要素127に基づいて支援情報を生成する。
以上のように、制御対象を制御するPLC100は、制御対象およびPLC100の少なくとも一方に関連する異常を検知するためのPLCモジュール群13と、操作コマンドを受け、操作コマンドに応じた処理を実行する操作コマンド処理部11とを含む。制御システムSYSは、異常履歴書き込み部14、操作履歴書き込み部12および出力部15を含む。図3に示す例では、異常履歴書き込み部14、操作履歴書き込み部12および出力部15はPLC100に備えられる。異常履歴書き込み部14は、PLCモジュール群13によって検知された各異常について、当該異常の種類を示す種別情報41と当該異常の発生時刻42と当該異常の解消時刻43とを含む異常ログ要素129を異常履歴データ128に書き込む。操作履歴書き込み部12は、操作コマンド処理部11が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報38と当該操作コマンドに応じた処理の実行時刻35とを含む操作ログ要素127を操作履歴データ126に書き込む。出力部15は、PLCモジュール群13によって検知された対象異常の解消を支援する支援情報を出力する。出力部15は、対象異常と同一の種類を示す種別情報41を含む1つの異常ログ要素129を対象ログ要素として異常履歴データ128から抽出する。出力部15は、対象ログ要素に含まれる発生時刻42から解消時刻43までの期間に実行時刻35が属する操作ログ要素127を操作履歴データ126から抽出する。出力部15は、抽出した操作ログ要素127に基づいて支援情報を生成する。
発生の通知を受けた異常と同一の種類を示す種別情報41を含む過去の異常ログ要素129の発生時刻42から解消時刻43までの期間において、当該異常を解消するための操作が実行されている。すなわち、当該期間に実行時刻35が属する操作ログ要素127の中には、異常を解消するための操作に対応する操作ログ要素127が含まれる。したがって、知識や経験の乏しいユーザ(作業者や監視者など)であっても、支援情報を確認することにより異常を解消しやすくなる。
操作ログ要素127は、操作コマンドの送信元を識別する送信元識別情報を含む。送信元識別情報は、例えば、操作コマンドを生成したプログラムを識別するソースID31、操作コマンドを送信した装置の位置を識別するロケーションID36、および、操作コマンドを送信したユーザを識別するユーザID37の少なくとも1つを含む。支援情報は、抽出された操作ログ要素127に含まれる内容情報38および送信元識別情報を実行時刻35に従って時系列に並べた情報である。
これにより、ユーザは、出力された内容情報38の中から、送信元識別情報に基づいて所望の送信元に対応する内容情報38を確認しやすくなる。さらに、ユーザは、異常を解消するための操作の順番を理解しやすくなる。
出力部15は、抽出された操作ログ要素127の中から、対象送信元を識別する送信元識別情報(例えば、専用ツール30を識別するソースID「Tool」)を含む操作ログ要素127を絞り込み、絞り込まれた操作ログ要素127に基づいて支援情報を生成する。
これにより、ユーザは、過去の異常ログ要素129の発生時刻42から解消時刻43までの期間に実行された操作のうち、対象送信元に対応する操作の内容のみを確認しやすくなる。
出力部15は、抽出された操作ログ要素127のうち実行時刻35の最も遅い操作ログ要素127に含まれる送信元識別情報(ソースID、ロケーションIDおよびユーザIDのいずれか)によって識別される送信元を対象送信元として指定する。
抽出された操作ログ要素127のうち実行時刻35の最も遅い操作ログ要素127は、対象異常の解消時刻の直前に実行された操作に対応しており、対象異常の解消のために実行された操作である可能性が高い。当該操作ログ要素127に含まれる送信元識別情報(ソースID、ロケーションIDおよびユーザIDのいずれか)によって識別される送信元が対象送信元として指定される。これにより、ユーザは、抽出された操作ログ要素127の中から、異常の解消のために実行された可能性の高い操作のみを確認しやすくなる。
出力部15は、異常履歴データ128の中から、対象ログ要素とは異なり、かつ、対象異常と同一の種類を示す種別情報41を含む少なくとも1つの異常ログ要素129を選択する。出力部15は、選択した少なくとも1つの異常ログ要素129の各々について、当該異常ログ要素129に含まれる解消時刻43よりも前であり、かつ当該異常ログ要素129に含まれる解消時刻43に最も近い実行時刻35を含む操作ログ要素127を操作履歴データ126から選択する。出力部15は、選択した操作ログ要素127に含まれるソースIDによって代表されるソースを対象送信元として指定する。
これにより、ユーザは、過去の対象異常の解消時刻の直前に実行された操作のソースと同一のソースIDを含む操作ログ要素127の操作内容のみを確認できる。上述したように、対象異常の解消時刻の直前に実行された操作は、対象異常の解消のために実行された操作である可能性が高い。そのため、ユーザは、抽出された操作ログ要素127の中から、異常の解消のために実行された可能性の高い操作のみを確認しやすくなる。
出力部は、異常履歴データ128の中に対象異常と同一の種類を示す種別情報41を含む複数の異常ログ要素129が存在する場合、当該複数の異常ログ要素129の中から最新の異常ログ要素129を対象ログ要素として抽出する。
これにより、ユーザは、対象異常を解消するために最近実行された操作の内容を確認しやすくなる。
<F.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
制御対象を制御するプログラマブルロジックコントローラ(100)を備える制御システム(SYS)であって、
前記プログラマブルロジックコントローラ(100)は、
前記制御対象および前記プログラマブルロジックコントローラ(100)の少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)とを含み、
前記制御システム(SYS)は、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報(41)と当該異常の発生時刻(42)と当該異常の解消時刻(43)とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むための第1書き込み部(14)と、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報(38)と当該操作コマンドに応じた処理の実行時刻(35)とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むための第2書き込み部(12)と、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するための出力部(15)とを備え、
前記出力部(15)は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻(35)が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出し、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成する、制御システム(SYS)。
制御対象を制御するプログラマブルロジックコントローラ(100)を備える制御システム(SYS)であって、
前記プログラマブルロジックコントローラ(100)は、
前記制御対象および前記プログラマブルロジックコントローラ(100)の少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)とを含み、
前記制御システム(SYS)は、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報(41)と当該異常の発生時刻(42)と当該異常の解消時刻(43)とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むための第1書き込み部(14)と、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報(38)と当該操作コマンドに応じた処理の実行時刻(35)とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むための第2書き込み部(12)と、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するための出力部(15)とを備え、
前記出力部(15)は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻(35)が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出し、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成する、制御システム(SYS)。
(構成2)
前記第2ログ要素(127)は、前記操作コマンドの送信元を識別する送信元識別情報(31,36,37)を含み、
前記支援情報は、前記抽出した第2ログ要素(127)に含まれる前記内容情報(38)および前記送信元識別情報(31,36,37)を前記実行時刻(35)に従って時系列に並べた情報である、構成1に記載の制御システム(SYS)。
前記第2ログ要素(127)は、前記操作コマンドの送信元を識別する送信元識別情報(31,36,37)を含み、
前記支援情報は、前記抽出した第2ログ要素(127)に含まれる前記内容情報(38)および前記送信元識別情報(31,36,37)を前記実行時刻(35)に従って時系列に並べた情報である、構成1に記載の制御システム(SYS)。
(構成3)
前記第2ログ要素(127)は、前記操作コマンドの送信元を識別する送信元識別情報(31,36,37)を含み、
前記出力部(15)は、
前記抽出した第2ログ要素(127)の中から、対象送信元を識別する前記送信元識別情報(31,36,37)を含む第2ログ要素(127)を絞り込み、
絞り込まれた第2ログ要素(127)に基づいて前記支援情報を生成する、構成1に記載の制御システム(SYS)。
前記第2ログ要素(127)は、前記操作コマンドの送信元を識別する送信元識別情報(31,36,37)を含み、
前記出力部(15)は、
前記抽出した第2ログ要素(127)の中から、対象送信元を識別する前記送信元識別情報(31,36,37)を含む第2ログ要素(127)を絞り込み、
絞り込まれた第2ログ要素(127)に基づいて前記支援情報を生成する、構成1に記載の制御システム(SYS)。
(構成4)
前記出力部(15)は、前記抽出した第2ログ要素(127)のうち前記実行時刻(35)の最も遅い第2ログ要素(127)に含まれる前記送信元識別情報(31,36,37)によって識別される送信元を前記対象送信元として指定する、構成3に記載の制御システム(SYS)。
前記出力部(15)は、前記抽出した第2ログ要素(127)のうち前記実行時刻(35)の最も遅い第2ログ要素(127)に含まれる前記送信元識別情報(31,36,37)によって識別される送信元を前記対象送信元として指定する、構成3に記載の制御システム(SYS)。
(構成5)
前記出力部(15)は、
前記第1履歴データ(128)の中から、抽出した前記対象ログ要素とは異なり、かつ、前記対象異常と同一の種類を示す前記種別情報を含む少なくとも1つの第1ログ要素(129)を選択し、
前記少なくとも1つの第1ログ要素(129)の各々について、当該第1ログ要素に含まれる解消時刻(43)よりも前であり、かつ当該第1ログ要素に含まれる前記解消時刻(43)に最も近い前記実行時刻(35)を含む第2ログ要素(127)を前記第2履歴データ(126)から選択し、
選択した第2ログ要素(127)に含まれる前記送信元識別情報(31,36,37)によって代表される送信元を前記対象送信元として指定する、構成3に記載の制御システム(SYS)。
前記出力部(15)は、
前記第1履歴データ(128)の中から、抽出した前記対象ログ要素とは異なり、かつ、前記対象異常と同一の種類を示す前記種別情報を含む少なくとも1つの第1ログ要素(129)を選択し、
前記少なくとも1つの第1ログ要素(129)の各々について、当該第1ログ要素に含まれる解消時刻(43)よりも前であり、かつ当該第1ログ要素に含まれる前記解消時刻(43)に最も近い前記実行時刻(35)を含む第2ログ要素(127)を前記第2履歴データ(126)から選択し、
選択した第2ログ要素(127)に含まれる前記送信元識別情報(31,36,37)によって代表される送信元を前記対象送信元として指定する、構成3に記載の制御システム(SYS)。
(構成6)
前記支援情報は、前記絞り込まれた第2ログ要素(127)に含まれる前記内容情報(38)を前記実行時刻(35)に従って時系列に並べた情報である、構成3から5のいずれかに記載の制御システム(SYS)。
前記支援情報は、前記絞り込まれた第2ログ要素(127)に含まれる前記内容情報(38)を前記実行時刻(35)に従って時系列に並べた情報である、構成3から5のいずれかに記載の制御システム(SYS)。
(構成7)
前記送信元識別情報(31,36,37)は、前記操作コマンドを生成したプログラム、前記操作コマンドを送信した装置の位置、および、前記操作コマンドを送信したユーザの少なくとも1つを識別する、構成2から6のいずれかに記載の制御システム(SYS)。
前記送信元識別情報(31,36,37)は、前記操作コマンドを生成したプログラム、前記操作コマンドを送信した装置の位置、および、前記操作コマンドを送信したユーザの少なくとも1つを識別する、構成2から6のいずれかに記載の制御システム(SYS)。
(構成8)
前記出力部(15)は、前記第1履歴データ(128)の中に前記対象異常と同一の種類を示す前記種別情報(41)を含む複数の第1ログ要素(129)が存在する場合、当該複数の第1ログ要素(129)の中から最新の第1ログ要素(129)を前記対象ログ要素として抽出する、構成1から7のいずれかに記載の制御システム(SYS)。
前記出力部(15)は、前記第1履歴データ(128)の中に前記対象異常と同一の種類を示す前記種別情報(41)を含む複数の第1ログ要素(129)が存在する場合、当該複数の第1ログ要素(129)の中から最新の第1ログ要素(129)を前記対象ログ要素として抽出する、構成1から7のいずれかに記載の制御システム(SYS)。
(構成9)
制御対象を制御するプログラマブルロジックコントローラ(100)であって、
前記制御対象および前記プログラマブルロジックコントローラ(100)の少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)と、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むための第1書き込み部(14)と、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むための第2書き込み部(12)と、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するための出力部(15)とを備え、
前記出力部(15)は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出し、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成する、プログラマブルロジックコントローラ(100)。
制御対象を制御するプログラマブルロジックコントローラ(100)であって、
前記制御対象および前記プログラマブルロジックコントローラ(100)の少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)と、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むための第1書き込み部(14)と、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むための第2書き込み部(12)と、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するための出力部(15)とを備え、
前記出力部(15)は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出し、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成する、プログラマブルロジックコントローラ(100)。
(構成10)
制御対象を制御するプログラマブルロジックコントローラ(100)を備える制御システム(SYS)の情報処理方法であって、
前記プログラマブルロジックコントローラ(100)は、
前記制御対象および前記プログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)とを含み、
前記情報処理方法は、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むステップと、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むステップと、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するステップとを備え、
前記出力するステップは、
前記対象異常と同一の種類を示す前記種別情報を含む第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出するステップと、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出するステップと、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成するステップとを含む、情報処理方法。
制御対象を制御するプログラマブルロジックコントローラ(100)を備える制御システム(SYS)の情報処理方法であって、
前記プログラマブルロジックコントローラ(100)は、
前記制御対象および前記プログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部(13)と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部(11)とを含み、
前記情報処理方法は、
前記異常検知部(13)によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素(129)を第1履歴データ(128)に書き込むステップと、
前記コマンド処理部(11)が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素(127)を第2履歴データ(126)に書き込むステップと、
前記異常検知部(13)によって検知された対象異常の解消を支援する支援情報を出力するステップとを備え、
前記出力するステップは、
前記対象異常と同一の種類を示す前記種別情報を含む第1ログ要素(129)を対象ログ要素として前記第1履歴データ(128)から抽出するステップと、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素(127)を前記第2履歴データ(126)から抽出するステップと、
抽出した第2ログ要素(127)に基づいて前記支援情報を生成するステップとを含む、情報処理方法。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 操作コマンド処理部、12 操作履歴書き込み部、13 PLCモジュール群、14 異常履歴書き込み部、15 出力部、16 検索部、17 支援情報生成部、18 状態レジスタ、21~26 構成要素、30 専用ツール、31 ソースID、32 機能ID、33 リソース名、34 データ名、35 実行時刻、36 ロケーションID、37 ユーザID、38 内容情報、40 HMIプログラム、41 種別情報、42 発生時刻、43 解消時刻、50,50a 画面、51~53 入力欄、60,60a 一覧、100 PLC、102 プロセッサ、104 メインメモリ、106 第1ネットワークコントローラ、108 第2ネットワークコントローラ、110 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118 プロセッサバス、120 USBコントローラ、122 システムプログラム、124 制御プログラム、126 操作履歴データ、127,127B,127C 操作ログ要素、127A 操作ログ要素群、128 異常履歴データ、129,129A~129C,129a,129z 異常ログ要素、130 第3ネットワークコントローラ、200 サポート装置、300,350 端末、400 HMI装置、SYS 制御システム。
Claims (10)
- 制御対象を制御するプログラマブルロジックコントローラを備える制御システムであって、
前記プログラマブルロジックコントローラは、
前記制御対象および前記プログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部とを含み、
前記制御システムは、
前記異常検知部によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素を第1履歴データに書き込むための第1書き込み部と、
前記コマンド処理部が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素を第2履歴データに書き込むための第2書き込み部と、
前記異常検知部によって検知された対象異常の解消を支援する支援情報を出力するための出力部とを備え、
前記出力部は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素を対象ログ要素として前記第1履歴データから抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素を前記第2履歴データから抽出し、
抽出した第2ログ要素に基づいて前記支援情報を生成する、制御システム。 - 前記第2ログ要素は、前記操作コマンドの送信元を識別する送信元識別情報を含み、
前記支援情報は、前記抽出した第2ログ要素に含まれる前記内容情報および前記送信元識別情報を前記実行時刻に従って時系列に並べた情報である、請求項1に記載の制御システム。 - 前記第2ログ要素は、前記操作コマンドの送信元を識別する送信元識別情報を含み、
前記出力部は、
前記抽出した第2ログ要素の中から、対象送信元を識別する前記送信元識別情報を含む第2ログ要素を絞り込み、
絞り込まれた第2ログ要素に基づいて前記支援情報を生成する、請求項1に記載の制御システム。 - 前記出力部は、前記抽出した第2ログ要素のうち前記実行時刻の最も遅い第2ログ要素に含まれる前記送信元識別情報によって識別される送信元を前記対象送信元として指定する、請求項3に記載の制御システム。
- 前記出力部は、
前記第1履歴データの中から、抽出した前記対象ログ要素とは異なり、かつ、前記対象異常と同一の種類を示す前記種別情報を含む少なくとも1つの第1ログ要素を選択し、
前記少なくとも1つの第1ログ要素の各々について、当該第1ログ要素に含まれる解消時刻よりも前であり、かつ当該第1ログ要素に含まれる前記解消時刻に最も近い前記実行時刻を含む第2ログ要素を前記第2履歴データから選択し、
選択した第2ログ要素に含まれる前記送信元識別情報によって代表される送信元を前記対象送信元として指定する、請求項3に記載の制御システム。 - 前記支援情報は、前記絞り込まれた第2ログ要素に含まれる前記内容情報を前記実行時刻に従って時系列に並べた情報である、請求項3から5のいずれか1項に記載の制御システム。
- 前記送信元識別情報は、前記操作コマンドを生成したプログラム、前記操作コマンドを送信した装置の位置、および、前記操作コマンドを送信したユーザの少なくとも1つを識別する、請求項2から6のいずれか1項に記載の制御システム。
- 前記出力部は、前記第1履歴データの中に前記対象異常と同一の種類を示す前記種別情報を含む複数の第1ログ要素が存在する場合、当該複数の第1ログ要素の中から最新の第1ログ要素を前記対象ログ要素として抽出する、請求項1から7のいずれか1項に記載の制御システム。
- 制御対象を制御するプログラマブルロジックコントローラであって、
前記制御対象および前記プログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部と、
前記異常検知部によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素を第1履歴データに書き込むための第1書き込み部と、
前記コマンド処理部が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素を第2履歴データに書き込むための第2書き込み部と、
前記異常検知部によって検知された対象異常の解消を支援する支援情報を出力するための出力部とを備え、
前記出力部は、
前記対象異常と同一の種類を示す前記種別情報を含む1つの第1ログ要素を対象ログ要素として前記第1履歴データから抽出し、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素を前記第2履歴データから抽出し、
抽出した第2ログ要素に基づいて前記支援情報を生成する、プログラマブルロジックコントローラ。 - 制御対象を制御するプログラマブルロジックコントローラを備える制御システムの情報処理方法であって、
前記プログラマブルロジックコントローラは、
前記制御対象および前記プログラマブルロジックコントローラの少なくとも一方に関連する異常を検知するための異常検知部と、
操作コマンドを受け、前記操作コマンドに応じた処理を実行するコマンド処理部とを含み、
前記情報処理方法は、
前記異常検知部によって検知された各異常について、当該異常の種類を示す種別情報と当該異常の発生時刻と当該異常の解消時刻とを含む第1ログ要素を第1履歴データに書き込むステップと、
前記コマンド処理部が受けた各操作コマンドについて、当該操作コマンドの内容を示す内容情報と当該操作コマンドに応じた処理の実行時刻とを含む第2ログ要素を第2履歴データに書き込むステップと、
前記異常検知部によって検知された対象異常の解消を支援する支援情報を出力するステップとを備え、
前記出力するステップは、
前記対象異常と同一の種類を示す前記種別情報を含む第1ログ要素を対象ログ要素として前記第1履歴データから抽出するステップと、
前記対象ログ要素に含まれる前記発生時刻から前記解消時刻までの期間に前記実行時刻が属する第2ログ要素を前記第2履歴データから抽出するステップと、
抽出した第2ログ要素に基づいて前記支援情報を生成するステップとを含む、情報処理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103866A JP7131486B2 (ja) | 2019-06-03 | 2019-06-03 | 制御システム、プログラマブルロジックコントローラおよび情報処理方法 |
EP20819338.3A EP3979026A4 (en) | 2019-06-03 | 2020-03-10 | CONTROL SYSTEM, PROGRAMMABLE LOGIC CONTROL DEVICE AND INFORMATION PROCESSING METHOD |
CN202080038976.1A CN113874802B (zh) | 2019-06-03 | 2020-03-10 | 控制***、可编程逻辑控制器以及信息处理方法 |
PCT/JP2020/010281 WO2020246095A1 (ja) | 2019-06-03 | 2020-03-10 | 制御システム、プログラマブルロジックコントローラおよび情報処理方法 |
US17/595,793 US11733689B2 (en) | 2019-06-03 | 2020-03-10 | Control system, programmable logic controller, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103866A JP7131486B2 (ja) | 2019-06-03 | 2019-06-03 | 制御システム、プログラマブルロジックコントローラおよび情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020197934A JP2020197934A (ja) | 2020-12-10 |
JP7131486B2 true JP7131486B2 (ja) | 2022-09-06 |
Family
ID=73649213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019103866A Active JP7131486B2 (ja) | 2019-06-03 | 2019-06-03 | 制御システム、プログラマブルロジックコントローラおよび情報処理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11733689B2 (ja) |
EP (1) | EP3979026A4 (ja) |
JP (1) | JP7131486B2 (ja) |
CN (1) | CN113874802B (ja) |
WO (1) | WO2020246095A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021196641A (ja) * | 2020-06-09 | 2021-12-27 | 株式会社日立製作所 | プラント監視制御システム、及び方法、並びにプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006330774A (ja) | 2005-05-23 | 2006-12-07 | Yokogawa Electric Corp | プロセス異常状態回復操作支援システム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103047A (ja) * | 1991-12-12 | 1994-04-15 | Fujitsu Ltd | プログラム作成支援装置及びプログラム実行支援装置 |
JPH07104833A (ja) * | 1993-09-30 | 1995-04-21 | Tokico Ltd | 監視システム |
JPH08249012A (ja) * | 1995-03-15 | 1996-09-27 | Toshiba Corp | プログラマブルコントローラ |
JP3729457B2 (ja) * | 2003-09-16 | 2005-12-21 | 株式会社デジタル | アラーム履歴表示システム |
JP2005115426A (ja) * | 2003-10-02 | 2005-04-28 | Omron Corp | 異常復旧支援装置および異常復旧支援システム |
JP2005339319A (ja) * | 2004-05-28 | 2005-12-08 | Toshiba Corp | 監視制御装置 |
JP2006040122A (ja) * | 2004-07-29 | 2006-02-09 | Toyoda Mach Works Ltd | プログラマブルコントローラ |
EP1783569B1 (en) * | 2005-10-21 | 2018-08-29 | Omron Corporation | Data collection system |
JP2010170342A (ja) * | 2009-01-22 | 2010-08-05 | Mitsubishi Electric Corp | 故障監視装置及び方法 |
JP2010198447A (ja) * | 2009-02-26 | 2010-09-09 | Canon Inc | 生産設備トラブル処置履歴収集装置 |
JP2011059809A (ja) * | 2009-09-07 | 2011-03-24 | Toshiba Corp | 監視装置 |
GB2478733B (en) * | 2010-03-15 | 2013-08-14 | Advanced Risc Mach Ltd | Apparatus and method for handling exception events |
JP2014067262A (ja) * | 2012-09-26 | 2014-04-17 | Sumitomo Chemical Co Ltd | アラーム設定の最適化支援装置および最適化支援プログラム |
JP2015176370A (ja) * | 2014-03-14 | 2015-10-05 | オムロン株式会社 | 制御システム、方法、プログラムおよび情報処理装置 |
JP6031202B1 (ja) * | 2016-01-29 | 2016-11-24 | ファナック株式会社 | 製造機械の異常の原因を発見するセル制御装置 |
CN108268021A (zh) * | 2016-12-30 | 2018-07-10 | 北京金风科创风电设备有限公司 | 故障处理方法及装置 |
JP6852421B2 (ja) * | 2017-01-31 | 2021-03-31 | オムロン株式会社 | 情報処理装置、情報処理プログラムおよび情報処理方法 |
JP2018157463A (ja) * | 2017-03-21 | 2018-10-04 | オムロンオートモーティブエレクトロニクス株式会社 | 車載通信システム、通信管理装置、車両制御装置 |
CN107341068A (zh) * | 2017-06-28 | 2017-11-10 | 北京优特捷信息技术有限公司 | 通过自然语言处理进行运维排障的方法和装置 |
CN109086158B (zh) * | 2018-08-29 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种异常原因分析方法、装置及服务器 |
-
2019
- 2019-06-03 JP JP2019103866A patent/JP7131486B2/ja active Active
-
2020
- 2020-03-10 CN CN202080038976.1A patent/CN113874802B/zh active Active
- 2020-03-10 US US17/595,793 patent/US11733689B2/en active Active
- 2020-03-10 EP EP20819338.3A patent/EP3979026A4/en active Pending
- 2020-03-10 WO PCT/JP2020/010281 patent/WO2020246095A1/ja unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006330774A (ja) | 2005-05-23 | 2006-12-07 | Yokogawa Electric Corp | プロセス異常状態回復操作支援システム |
Also Published As
Publication number | Publication date |
---|---|
EP3979026A1 (en) | 2022-04-06 |
CN113874802A (zh) | 2021-12-31 |
US11733689B2 (en) | 2023-08-22 |
JP2020197934A (ja) | 2020-12-10 |
EP3979026A4 (en) | 2023-07-12 |
US20220308574A1 (en) | 2022-09-29 |
CN113874802B (zh) | 2024-04-12 |
WO2020246095A1 (ja) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10591886B2 (en) | Control system, control program, and control method for device switching responsive to abnormality detection | |
US9569325B2 (en) | Method and system for automated test and result comparison | |
JP5030852B2 (ja) | 機器管理装置及び機器管理方法及びプログラム | |
JP2014157505A (ja) | コントローラ、情報処理装置およびプログラム | |
US20120254662A1 (en) | Automated test system and automated test method | |
JP7131486B2 (ja) | 制御システム、プログラマブルロジックコントローラおよび情報処理方法 | |
JP2013205866A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US7873498B2 (en) | Remote hardware inspection system and method | |
JP2008176353A (ja) | 情報処理装置及びログ取得方法並びにプログラム | |
US10878690B2 (en) | Unified status and alarm management for operations, monitoring, and maintenance of legacy and modern control systems from common user interface | |
US10681112B2 (en) | Method for providing functions within an industrial automation system, and an automation system | |
JP6969371B2 (ja) | 制御システムおよび制御装置 | |
CN115599617A (zh) | 总线检测方法、装置、服务器及电子设备 | |
EP3473035B1 (en) | Application resilience system and method thereof for applications deployed on a cloud platform | |
EP4036664A1 (en) | Support device, support program, and setting method | |
JP2019159868A (ja) | 制御システム、制御装置および表示装置 | |
CN111124841B (zh) | 一种异常页面的报警方法、装置及计算机*** | |
JP6410705B2 (ja) | 障害予兆検出システムおよび障害予兆検出方法 | |
JP7303424B2 (ja) | 情報提供システム、サーバおよび情報提供方法 | |
JP7151230B2 (ja) | 制御システム、監視装置および監視プログラム | |
EP4328681A1 (en) | Method and system for managing technical installation during occurrence of error state in a controller | |
JP2015185083A (ja) | 機器管理装置および機器管理方法 | |
JP2000295242A (ja) | 汎用品を用いた監視制御システム及びその評価装置 | |
JP2017227973A (ja) | 異常解析支援システム、および異常解析支援装置 | |
CN114021054A (zh) | 一种基于kvm结合工业互联网模式的运维管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220407 |
|
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: 20220726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7131486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |