以下、本開示の実施の形態に係るログデータ分析支援システムについて、図面を参照しつつ詳細に説明する。
実施の形態1.
本実施の形態に係るログデータ分析支援システム100は、ユーザによるログデータの分析を支援するシステムである。ログデータ分析支援システム100は、図1に示されるように、機器の制御に際して記録されたログデータに関する情報をユーザに提供することにより分析を支援する支援装置10と、被制御機器31,32を制御するPLC20と、産業用ネットワーク400を介してPLC20に接続されるロギング装置41,42と、を有する。
支援装置10は、UI(User Interface)機能を有するPCに代表されるコンピュータである。支援装置10は、USB(Universal Serial Bus)ケーブルのような通信線、又はLAN(Local Area Network)のようなネットワークを介して、PLC20の中央処理ユニット21に接続されて互いに通信する。支援装置10は、エンジニアリングツールと呼ばれるアプリケーションソフトウェアを実行することにより、中央処理ユニット21に実行させる制御プログラムの作成、編集及び書き込みをする機能をユーザに提供する。また、このエンジニアリングツールは、複数のロギング装置に分散して保存されるログデータを容易に分析するための機能をユーザに提供する。
PLC20は、制御プログラムを実行することにより機器の制御を実現する中央処理ユニット21と、外部の機器からの入力を受け付けるとともに外部の機器へ情報を出力するための入出力ユニット22と、データをロギングするロギングユニット23と、産業用ネットワーク400に接続するためのネットワークユニット24と、を有する。ネットワークユニット24は、産業用ネットワーク400を介してロギング装置41,42に接続される。PLC20は、プログラマブルコントローラの一例に相当する。
中央処理ユニット21、入出力ユニット22、ロギングユニット23及びネットワークユニット24は、PLCバス200を介して互いに接続されて信号を送受信する。PLC20は、中央処理ユニット21、入出力ユニット22、ロギングユニット23及びネットワークユニット24が不図示のベースユニットに装着されることで構成されるファンクションブロック形の制御装置である。
中央処理ユニット21は、ラダープログラムに代表される制御プログラムを実行して、入出力ユニット22を介して被制御機器31,32を制御する。詳細には、中央処理ユニット21は、センサである被制御機器31からのセンシング結果の入力に基づいて、ロギング装置である被制御機器32に対する動作指令を生成して被制御機器32に出力する。ここで、動作指令により実行される被制御機器32の動作は、ロギングとは異なる動作であってもよいし、ロギングであってもよい。中央処理ユニット21が被制御機器31,32を含む複数の機器を制御して、これら複数の機器が協働することにより、例えば、生産ラインにおけるワークの搬送、加工及び検査が実行される。
入出力ユニット22は、電流信号又は電圧信号を伝送するための信号線、又は、デジタルデータを伝送するためのケーブルを介して被制御機器31,32に接続される。
ロギングユニット23は、PLC20の構成ユニットであって、PLC20による機器の制御に関する制御データをロギングする。ロギングユニット23は、入出力ユニット22と同等の機能を有し、ロギングユニット23自体に接続された機器との間で入出力される制御データをロギングしてもよい。また、ロギングユニット23は、ネットワークユニット24と同等の機能を有し、産業用ネットワークを介して授受する制御データをロギングしてもよい。さらにロギングユニット23は、PLC20の外部の装置に接続されることなく、PLCバス200を介して中央処理ユニット21と共有するデータをロギングしてもよい。
ネットワークユニット24は、ロギング装置41,42と接続するためのネットワークインタフェース回路を有し、PLCバス200を介して中央処理ユニットと通信することにより、ロギング装置41,42と中央処理ユニット21との通信を中継する。ロギング装置41,42は、被制御機器31,32と同様に、中央処理ユニット21による制御の対象となる装置であってもよいし、PLC20と連携して機器を制御する他のPLCであってもよい。
なお、図1では、各種の構成要素が1つ又は2つ示されているが、これには限定されない。詳細には、入出力ユニット22、ロギングユニット23、及びネットワークユニット24はそれぞれ、複数であってもよい。また、複数の中央処理ユニット21がPLCバス200に接続されて連携してもよい。入出力ユニット22に接続される機器は、1つであってもよいし2つより多くてもよい。産業用ネットワーク400を介してネットワークユニット24に接続される装置は、1つであってもよいし2つより多くてもよい。
これらPLC20に関する構成要素のうちの、ロギングユニット23、被制御機器32、ロギング装置41,42が、制御データをロギングする機能を有する。詳細には、被制御機器32は、入出力ユニット22との間で伝送されるデータ、又は、被制御機器32の内部処理において変化するデータを記録する。また、ロギング装置41,42はそれぞれ、産業用ネットワーク400を介して伝送されるデータ、又は、ロギング装置41,42の内部処理において用いられるデータを記録する。
以下では、ロギング機能を有するロギングユニット23、被制御機器32、及びロギング装置41,42をそれぞれ、区別することなくロギング装置50と表記することがある。ロギング装置50によるロギングは、機器の制御に関してロギング装置50によって扱われる制御データの履歴を記録することを意味する。制御データは、例えば、ロギング装置50が有するメモリのうちの、予めロギング対象として設定されたアドレスに格納されるデータである。制御データの履歴は、予め設定された周期でこのアドレスから読み出される値が順次、ロギングのための記憶領域に追加して書き込まれることで作成されるため、この値の推移を示す。制御データが繰り返し読み出される期間の長さは、予め定められる。
ここで、複数のロギング装置50によるロギングの概要について、図2を用いて説明する。図2に示されるロギング装置51,52,53はそれぞれ、ロギング装置50の一例である。すなわち、ロギング装置51,52,53のそれぞれが、図1に示されるロギングユニット23、被制御機器32、及びロギング装置41,42のいずれかに相当する。
図2に示されるように、ロギング装置52が、ロギングの開始を示すトリガを検出すると、検出したトリガをロギング装置51,53に共有する。トリガを共有したロギング装置51~53はそれぞれ、ほぼ同時にログデータ511,521,531の生成を開始する。ログデータ511,521,531はそれぞれ、トリガの検出又は受信により開始したロギングに基づいて生成されてもよいし、トリガの有無に関わらず常時リングバッファにロギングされたデータを利用してトリガの検出又は受信前のデータを用いて生成されてもよい。予め定められた長さのロギング期間にわたって制御データをロギングすることによりログデータ511,521,531の生成が完了すると、ロギング装置51~53はそれぞれ、ログデータ511,521,531の生成にかかったロギング期間を示すロギング期間情報512,522,532を生成して保存する。なお、以下では、ロギング期間情報512,522,532を生成するタイミングが、ログデータ511,521,531の生成直後である例を中心に説明するが、これには限定されず、任意に変更してもよい。
ロギング装置51,52,53は、ログデータ511,521,531を提供する前に、ロギング期間情報512,522,532を支援装置10からの要求に応じて支援装置10に提供する。支援装置10は、ロギング装置51~53に分散して保存されているログデータ511,521,531に対応するロギング期間をユーザに対して一覧表示することにより、各ログデータ511,521,531に対応するロギング期間のユーザによる把握を容易にする。
上述のようにロギング期間を通知するロギング装置50、ロギング期間を表示する支援装置10、及び、ロギング装置50と支援装置10との通信を仲介する中央処理ユニット21はそれぞれ、コンピュータとして機能するためのハードウェア要素によって構成される。詳細には、図3に示されるように、ロギング装置50、支援装置10及び中央処理ユニット21のそれぞれに相当するFA装置60は、プロセッサ61と、主記憶部62と、補助記憶部63と、入力部64と、出力部65と、通信部66と、を有する。主記憶部62、補助記憶部63、入力部64、出力部65及び通信部66はいずれも、内部バス67を介してプロセッサ61に接続される。
プロセッサ61は、処理回路としてのCPU(Central Processing Unit)又はMPU(Micro Processing Unit)を含む。プロセッサ61は、補助記憶部63に記憶されるプログラムP1を実行することにより、種々の機能を実現して、後述の処理を実行する。支援装置10のプログラムP1は、上述のエンジニアリングツールに相当し、中央処理ユニット21及びロギング装置50のプログラムP1は、ファームウェアに相当する。なお、中央処理ユニット21のプロセッサ61は、プログラムP1に加えて、制御プログラムを実行する。
主記憶部62は、RAMを含む。主記憶部62には、補助記憶部63からプログラムP1がロードされる。そして、主記憶部62は、プロセッサ61の作業領域として用いられる。
補助記憶部63は、EEPROM(Electrically Erasable Programmable Read-Only Memory)及びHDD(Hard Disk Drive)に代表される不揮発性メモリを含む。補助記憶部63は、プログラムP1の他に、プロセッサ61の処理に用いられる種々のデータを記憶する。補助記憶部63は、プロセッサ61の指示に従って、プロセッサ61によって利用されるデータをプロセッサ61に供給する。また、補助記憶部63は、プロセッサ61から供給されたデータを記憶する。
入力部64は、ハードウェアスイッチ、入力キー、キーボード及びポインティングデバイスに代表される入力デバイスを含む。入力部64は、FA装置60のユーザによって入力された情報を取得して、取得した情報をプロセッサ61に通知する。
出力部65は、LED(Light Emitting Diode)、LCD(Liquid Crystal Display)及びスピーカに代表される出力デバイスを含む。出力部65は、プロセッサ61の指示に従って種々の情報をユーザに提示する。出力部65は、タッチスクリーンとして、入力部64と一体的に構成されてもよい。
通信部66は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部66は、外部から信号を受信して、この信号により示されるデータをプロセッサ61へ出力する。また、通信部66は、プロセッサ61から出力されたデータを示す信号を外部の装置へ送信する。なお、図3では1つの通信部66が代表的に示されているが、FA装置60は、複数の通信部66を有してもよい。例えば、中央処理ユニット21であるFA装置60は、支援装置10と通信するための通信部66と、PLCバス200を介して通信するための通信部66と、を別個に有してもよい。
続いて、上述のハードウェア構成が協働することにより発揮される、ロギング装置50、中央処理ユニット21及び支援装置10の機能的な構成について順に説明する。
ロギング装置50は、図4に示されるように、種々のデータを記憶する記憶部530と、外部の装置との間でトリガを示すトリガ信号を送受信するトリガ送受信部540と、ロギング装置50自体が自発的にトリガを検出するためのトリガ検出部550と、ログデータを生成するロギング部560と、支援装置10からの要求に応答する応答部570と、を有する。ロギング装置50は、トリガを検出する検出装置の一例に相当する。
記憶部530は、主としてロギング装置50の主記憶部62及び補助記憶部63の少なくとも一方によって実現される。記憶部530には、トリガに関して予めロギング装置50に設定されるトリガ設定情報501と、ロギング装置50によって用いられる制御データ502と、が格納される。
トリガ設定情報501は、ロギング装置50でトリガを検出するための条件を示す情報である。また、トリガ設定情報501は、外部装置からのトリガの共有を受け付けるか否か、及び、ロギング装置50で検出したトリガを外部装置に通知するか否かを示す。トリガ設定情報501は、ロギング装置50によって予め外部から受け付けられて、記憶部530に格納される。トリガ設定情報501の受け付けは、ロギング装置50の入力部64に対するユーザの操作によって実現されてもよいし、支援装置10に対するユーザの操作内容が、中央処理ユニット21及びロギング装置50の通信部66を介して伝達されることで実現されてもよい。
制御データ502の内容は、PLC20による機器の制御に伴って随時変化する。制御データ502は、例えば、制御に利用されるセンシング結果のような入力データ、当該入力値を処理する過程で生じる中間データ、及び、入力データ又は中間データから生成される被制御機器32への動作命令のような制御出力データのいずれかに該当する。また、制御データ502は、制御システムを構成する複数の装置の間で、いわゆるサイクリック伝送のような手法で共有されるデバイス値であってもよい。
トリガ送受信部540は、主としてロギング装置50のプロセッサ61及び通信部66の協働により実現される。トリガ送受信部540は、外部装置からトリガ信号を受信した場合に、受信したトリガ信号により示されるトリガのロギング部560への出力の有無を、トリガ設定情報501に基づいて決定する。また、トリガ送受信部540は、トリガ検出部550からトリガが出力された場合に、当該トリガを示すトリガ信号の外部装置への送信の有無を、トリガ設定情報501に基づいて決定する。ここで、外部装置は、後述するように中央処理ユニット21に相当するが、他のロギング装置50を含んでもよい。
トリガ検出部550は、主としてロギング装置50のプロセッサ61によって実現される。トリガ検出部550は、トリガ設定情報501により規定される条件が成立するか否かを監視して、条件が成立したと判断すると、トリガの検出をトリガ送受信部540及びロギング部560に通知する。トリガを検出する条件は、制御データの値が閾値を超えることであってもよいし、ロギングの実行を示す動作指令の中央処理ユニット21からの受信であってもよいし、他の条件であってもよい。
ロギング部560は、主としてロギング装置50のプロセッサ61によって実現される。ロギング部560は、トリガ送受信部540及びトリガ検出部550のいずれかからトリガが入力されると、予め設定されたロギング対象の制御データ502を周期的に読み出して、ログデータ503として記憶部530に書き込む。また、ロギング部560は、ログデータ503を生成するために制御データ502を読み出したロギング期間を示すロギング期間情報504を作成して記憶部530に書き込む。
ログデータ503は、トリガが入力される度に作成されるため、図5に示されるように、記憶部530には複数のログデータ503が格納され得る。図5の例では、各ログデータ503には、ファイル名が付与されており、各ログデータ503は、制御データが読み出された日時と、記憶部530におけるアドレスから読み出された制御データの値と、を関連付けて示すデータである。ログデータ503は、単一のアドレスから読み出された値の履歴であってもよいし、図5の「01.BIN」により示されるように、複数のアドレスから読み出された値それぞれの履歴であってもよい。
ロギング期間情報504は、各ログデータ503について、当該ログデータ503のファイル名と、ロギング期間の開始日時と、ロギング期間の終了日時と、を関連付けて示す情報である。ロギング期間情報504の開始日時は、ログデータ503に含まれる最初に記録された値の日時であって、終了日時は、ログデータ503に含まれる最後に記録された値の日時である。ロギング期間情報504の内容は、ログデータ503が生成される度に、図5中の1行に相当するレコードが追加されて、更新される。
図4に戻り、応答部570は、主としてロギング装置50のプロセッサ61及び通信部66の協働により実現される。応答部570は、支援装置10の要求に応答してロギング期間情報504を記憶部530から読み出して当該ロギング期間情報504を支援装置10に提供する。また、応答部570は、支援装置10の要求に応答してログデータ503を記憶部530から読み出して当該ログデータ503を支援装置10に提供する。
中央処理ユニット21は、図6に示されるように、支援装置10と通信するための装置通信部211と、PLCバス200を介して通信するためのバス通信部212と、種々のデータを記憶する記憶部213と、ロギング装置50から受信したトリガ信号を他のロギング装置50に中継するトリガ中継部214と、中央処理ユニット21自体が自発的にトリガを検出するためのトリガ検出部215と、を有する。装置通信部211及びバス通信部212はそれぞれ、主として中央処理ユニット21の通信部66によって実現される。中央処理ユニット21は、複数の検出装置に接続される、プログラマブルコントローラを構成するトリガ中継ユニットの一例に相当し、バス通信部212は、トリガ信号を受信する受信手段の一例に相当する。
記憶部213は、主として中央処理ユニット21の主記憶部62及び補助記憶部63の少なくとも一方によって実現される。記憶部213には、トリガの共有に関して予め中央処理ユニット21に設定されるトリガ共有情報2131と、中央処理ユニット21によって用いられる制御データ2132と、が格納される。トリガ共有情報2131は、中央処理ユニット21でトリガを検出するための条件、及び、トリガの共有先を示す情報である。トリガの共有先は、トリガを外部から受けることが設定されているロギング装置50であって、後述するように、各ロギング装置50のトリガ設定情報501を参照して決定される。制御データ2132の内容は、中央処理ユニット21による機器の制御に伴って随時変化する。
トリガ中継部214は、主として中央処理ユニット21のプロセッサ61によって実現される。トリガ中継部214は、いずれかのロギング装置50からのトリガ信号を、バス通信部212を介して受信すると、トリガ共有情報2131に規定される共有先へ当該トリガ信号を送信する。また、トリガ中継部214は、トリガ検出部215からトリガが入力されると、当該トリガを示すトリガ信号を、トリガ共有情報2131により示される共有先へ送信する。トリガ中継部214は、トリガ信号を送信する送信手段の一例に相当する。
トリガ検出部215は、主として中央処理ユニット21のプロセッサ61によって実現される。トリガ検出部215は、トリガ共有情報2131により規定される条件が成立するか否かを監視して、条件が成立したと判断すると、トリガの検出をトリガ中継部214に通知する。図2では、いずれかのロギング装置50で検出されたトリガが他のロギング装置50に共有される例が示されたが、中央処理ユニット21で検出されたトリガについても、ロギング装置50に共有される。なお、トリガ検出部215を省略して中央処理ユニット21を構成してもよい。
支援装置10は、図7に示されるように、ログデータ503に関する情報をユーザに提示する提示部110と、ユーザからの入力を受け付ける受付部120と、種々の情報を記憶する記憶部130と、中央処理ユニット21と通信するための通信部140と、を有する。
提示部110は、主として支援装置10のプロセッサ61及び出力部65の協働により実現される。提示部110は、支援装置10と中央処理ユニット21及び各ロギング装置50との接続が確立されているオンライン状態において情報を表示するオンライン表示部111と、接続が遮断されているオフライン状態において情報を表示するオフライン表示部112と、を有する。
オンライン表示部111は、図8に示されるように、通信部140を介して各ロギング装置50から取得したロギング期間情報504に基づいて、各ロギング装置50のロギング期間を画面113に一覧表示する。詳細には、オンライン表示部111は、ロギング装置50のリストに対応する第1軸と、時刻に対応する第2軸と、により規定される面において、各ロギング装置50のロギング期間情報504によって示されるロギング期間に対応するオブジェクトを表示する。図8の例では、長方形の帯状のアイコンが、ロギング期間を示すオブジェクトとしてハッチングを付した状態で表示されている。オブジェクトの第1軸上の位置は、ロギング期間においてロギングを実行したロギング装置50を識別するための装置ID(Identifier)を示し、オブジェクトの第2軸上の幅は、ロギング期間の範囲を示している。図8においては、各ロギング装置50の符号に等しい番号が装置IDとして示されている。なお、装置IDは、ロギング装置50を識別できる情報であればよく、例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、産業用ネットワーク400における局番、その他の番号、又はこれらの組み合わせであってもよい。
このような画面113において、図9に示されるように、2つのオブジェクト71がユーザによって押下又はタップのような操作によって選択されると、当該オブジェクト71に対応するロギング期間の選択が受付部120によって受け付けられる。そして、通信部140は、選択の対象となったロギング期間に対応するログデータをロギング装置50に要求して取得する。図9の例では、ロギングユニット23に対して、12時0分から13時0分までのロギング期間におけるロギングにより生成されたログデータ503が要求され、被制御機器32に対して、12時後から13時前までのロギング期間におけるロギングにより生成されたログデータ503が要求される。
オフライン表示部112は、支援装置10に取り込まれたログデータ503に関する情報を表示する。例えば、オフライン表示部112は、図9に示される選択によりロギング装置50から取得されたログデータについて、対応するロギング期間を図10に示されるように画面113に一覧表示する。オフライン表示部112によるロギング期間の表示は、オンライン表示部111によるロギング期間の表示と同様になされる。すなわち、オフライン表示部112は、ロギング装置50のリストに対応する縦軸、及び時刻に対応する横軸によって規定される面内に、取り込んだログデータに対応するオブジェクトを表示する。
図10の例において、ユーザによってオブジェクトがさらに選択された状態でボタン72が選択されると、オフライン表示部112は、図11に示されるように、選択されたオブジェクトに対応するログデータ503の詳細を表示する。図11の例では、ログデータ503に含まれる値の推移を示す3つのグラフが共通の時間軸を用いて表示されている。
図7に戻り、受付部120は、主として支援装置10のプロセッサ61及び入力部64によって実現される。記憶部130は、主として支援装置10の補助記憶部63によって実現される。記憶部130には、ロギング装置50から取得されたロギング期間情報504及びログデータ503が格納され、記憶部130は、提示部110の要求に応じてこれらのロギング期間情報504及びログデータ503を提供する。
通信部140は、主として支援装置10のプロセッサ61及び通信部66の協働により実現される。通信部140は、ロギング期間情報504をロギング装置50から取得して提示部110及び記憶部130に提供する。また、通信部140は、受付部120によって受け付けられた選択の対象となったロギング期間に対応するログデータ503をロギング装置50から取得して、取得したログデータ503を提示部110及び記憶部130に提供する。
続いて、ログデータ分析支援システム100において実行される処理の流れについて、図12~18を用いて説明する。
図12には、ログデータ分析支援システムの立ち上げ時に、トリガを共有するための準備をするためのフローが示されている。図12に示されるように、ロギング装置50は、ロギング装置50自体の記憶部530に格納されているトリガ設定情報501を参照する(ステップS11)。トリガ設定情報501は、図13に例示されるように、トリガ検出条件と、トリガ検出時の送信の有無と、トリガ受信時のロギングの有無を示す。
次に、ロギング装置50は、ステップS11にて参照したトリガ設定情報501に、トリガを送受信すべきことが規定されているか否かを判定する(ステップS12)。具体的には、ロギング装置50は、トリガの検出時に送信すべきことが規定されていること、及び、トリガの受信時にロギングすべきこと、の少なくとも一方が規定されていれば、ステップS12の判定を肯定する。
ステップS12の判定を肯定した場合(ステップS12;Yes)、ロギング装置50は、トリガ設定情報501を中央処理ユニット21に出力する(ステップS13)。トリガ設定情報501の出力は、中央処理ユニット21へのトリガ設定情報501の送信であってもよいし、中央処理ユニット21が参照可能な記憶装置へのトリガ設定情報501の格納であってもよい。一方、ステップS12の判定を否定した場合(ステップS12;No)、すなわち、トリガの送信も受信もしないことが規定されている場合、ロギング装置50は、トリガ設定情報501を出力しない。
中央処理ユニット21は、各ロギング装置50から提供されたトリガ設定情報501を取得して(ステップS14)、トリガ共有情報2131を更新する(ステップS15)。具体的には、図14に示されるように、トリガ設定情報501を出力したロギング装置50それぞれが、トリガ信号を送信するか否か、及び、外部からのトリガ信号を受信してロギング処理を実行するか否か、を示すように、トリガ共有情報2131が変更される。これにより、トリガ共有情報2131は、トリガ信号の送信源となり得るロギング装置50と、トリガ信号の共有先となるロギング装置50と、を示すこととなる。
ここで、中央処理ユニット21は、ロギング装置50の機種又は型番をロギング装置50それぞれに問い合わせて、当該ロギング装置50の機種又は型番が、トリガの共有又はトリガ信号の送受信に関する機能を有するものであるかを確認してもよい。そして、中央処理ユニット21は、そのような機能を有しない機種または型番のロギング装置50からトリガ設定情報501が提供されている場合には、トリガ設定情報501が誤って設定されていることを示すエラーを出力してもよい。
図15には、ロギング装置51が発するトリガ信号を共有するときのフローが示されている。図15に示されるように、ロギング装置51は、トリガ信号を受信したか否かを判定する(ステップS21)。トリガ信号を受信していないと判定した場合(ステップS21;No)、ロギング装置51は、トリガを検出したか否かを判定する(ステップS22)。トリガを検出していないと判定した場合(ステップS22;No)、ロギング装置51は、ステップS21以降の処理を繰り返して、トリガ信号の受信有無、及びトリガの検出の有無を監視する。
ステップS22にてトリガを検出したと判定した場合(ステップS22;Yes)、ロギング装置51は、記憶部530からトリガ設定情報501を参照して、当該トリガ設定情報501に、トリガ信号を送信すべきことが規定されているか否かを判定する(ステップS23)。トリガ信号を送信すべきことが規定されていると判定した場合(ステップS23;Yes)、ロギング装置51は、トリガ信号を中央処理ユニット21に送信する(ステップS24)。
ステップS21にて、トリガ信号を受信したと判定した場合(ステップS21;Yes)、ロギング装置51は、トリガ設定情報501に、トリガ信号を受信してロギング処理を実行すべきことが規定されているか否かを判定する(ステップS25)。トリガ信号を受信してロギング処理を実行すべきことが規定されていると判定した場合(ステップS25;Yes)、及び、ステップS23にてトリガ信号を送信すべきことが規定されていないと判定した場合(ステップS23;No)、並びに、ステップS24の終了後に、ロギング装置51は、トリガ設定情報501に従ってロギングの処理を実行する(ステップS26)。これにより、ログデータ503が生成される。そして、ロギング装置51は、ステップS26で生成したログデータ503のロギング期間を示すロギング期間情報504を生成する(ステップS27)。具体的には、ロギング装置51は、ロギング期間を示すレコードを生成してロギング期間情報504に追加する。
ステップS25にて、トリガ信号を受信してロギング処理を実行すべきことが規定されていないと判定した場合(ステップS25;No)、ロギング装置51は、ロギングを実行しない。
ステップS24にてトリガ信号が送信されると、中央処理ユニット21は、当該トリガ信号を受信して、トリガ共有情報2131に従ってトリガ信号を中継する(ステップS28)。具体的には、トリガ共有情報2131にて、トリガ信号を受信してロギング処理を実行することが示されているロギング装置50に対してトリガ信号を送信する。図15では、中央処理ユニット21からのトリガ信号の送信先となるロギング装置50として、ロギング装置52が代表的に示されている。
ロギング装置52は、中央処理ユニット21からのトリガ信号を受信すると、ロギング装置51によるステップS21~S25と同様の処理を実行して、トリガ信号を受信してロギング処理を実行すべきことが規定されているときには、ロギングの処理を実行し(ステップS29)、ロギング期間情報504を生成する(ステップS210)。これにより、ロギング装置51,52が連動してログデータ503及びロギング期間情報504を生成することとなる。
なお、ロギング装置52は、トリガ信号を受信してロギング処理を実行すべきことがトリガ設定情報501に規定されていないときには、ロギング処理を実行しなくともよい。ここで、中央処理ユニット21は、トリガ信号を受信してロギング処理を実行するロギング装置50に宛ててトリガ信号を送信するが、図12に示される立ち上げ時のフローにおいてロギング装置52のトリガ設定情報501をトリガ共有情報2131に反映した後で、ロギング装置52のトリガ設定情報501が変更された場合には、トリガ信号の共有先であったロギング装置52が、トリガ信号を受信してもロギングしないこととなる。
また、図15においてロギング装置52は、ステップS29,S210を実行することが示されているが、このロギング装置52の実行ステップは、ロギング装置51と同様に実行する処理手順のうちの代表的なステップである。すなわち、ロギング装置52は、ロギング装置51と同様のステップS21~S27を実行する。また、ロギング装置51,52はそれぞれ、複数のロギング装置50のいずれであってもよい。
図16には、中央処理ユニット21が検出したトリガを共有するときのフローが示されている。図16に示されるように、中央処理ユニット21は、トリガを検出したか否かを判定し(ステップS31)、トリガを検出していないと判定した場合(ステップS31;No)、この判定を繰り返すことによりトリガの有無を監視する。一方、トリガを検出したと判定した場合(ステップS31;Yes)、中央処理ユニット21は、トリガ共有情報2131に従ってトリガ信号を送信する(ステップS32)。そして、ロギング装置50は、ステップS32で送信されたトリガ信号を受信して、トリガ信号を受信してロギング処理を実行すべきことがトリガ設定情報501に規定されている場合には、ロギング処理を実行し(ステップS33)、ロギング期間情報504を生成する(ステップS34)。
図17には、中央処理ユニット21によって実行される、トリガを共有するためのトリガ共有処理が示されている。このトリガ共有処理では、中央処理ユニット21は、トリガ信号を外部から受信したか否かを判定する(ステップS41)。トリガ信号を受信していないと判定した場合(ステップS41;No)、中央処理ユニット21は、中央処理ユニット21内でトリガを検出したか否かを判定する(ステップS42)。トリガを検出していないと判定した場合(ステップS42;No)、中央処理ユニット21は、ステップS41以降の処理を繰り返す。これにより、中央処理ユニット21は、トリガ信号の受信有無及びトリガの検出有無を監視する。
ステップS41にてトリガ信号を受信したと判定した場合(ステップS41;Yes)及びステップS42にてトリガを検出したと判定した場合(ステップS42;Yes)、中央処理ユニット21は、トリガ共有情報2131に従ってトリガ信号をロギング装置50に送信する(ステップS43)。その後、中央処理ユニット21は、ステップS41以降の処理を繰り返す。
図17から分かるように、中央処理ユニット21は、トリガを示すトリガ信号を受信し又はトリガを検出すると、受信したトリガ又は検出したトリガのロギング装置50への共有が完了してから、次のトリガに関する処理を実行する。換言すると、複数のトリガがほぼ同時に発生した場合には、中央処理ユニット21は、最初のトリガのみをロギング装置50に共有し、他のトリガについてはロギング装置50に共有しない。
図18には、生成されたログデータ503及びロギング期間情報504を支援装置10に提供するフローが示されている。図18に示されるように、支援装置10は、ユーザからの特定の操作に従って、ロギング期間情報504の送信を、中央処理ユニット21を介して接続されている各ロギング装置50に要求する(ステップS51)。ここで、特定の操作は、例えば、エンジニアリングツールにおけるログデータ分析の開始指示の入力である。また、ロギング期間情報504の要求は、画面113に表示すべき時刻の指定を含んでもよい。指定される時刻は、特定の時点であってもよいし、時間範囲であってもよい。例えば、図8に示されるような画面113を表示するために、支援装置10は、直近の7時間を指定して、この7時間の範囲内の時刻と重複するロギング期間を示すロギング期間情報504のレコードを要求する。
具体的には、17時丁度のタイミングにおいて、支援装置は、図8に示されるように10時ゼロ分から17時ゼロ分までの時間範囲を指定することにより、当該時間範囲に含まれるようなロギング期間を示すロギング期間情報504のレコード、及び、当該時間範囲と一部が重複するようなロギング期間を示すロギング期間情報504のレコードを要求する。ここで、時間範囲に含まれるようなロギング期間は、当該時間範囲内に開始時刻及び終了時刻の双方が含まれるような期間を意味する。また、時間範囲と一部が重複するようなロギング期間は、開始時刻及び終了時刻の一方が当該時間範囲内に含まれ他方が含まれない期間を意味する。図8に例示される10時ゼロ分から17時ゼロ分までの時間範囲に対して、開始時刻が9時30分で終了時刻10時30分のロギング期間を示すロギング期間情報504のレコードがあれば、当該レコードも要求されることとなる。
支援装置10からの要求を受けると、ロギング装置50は、この要求に応答して、ロギング期間情報504を送信する(ステップS52)。詳細には、ロギング装置50の応答部570は、支援装置10からの問い合わせを受け付けて、ロギング期間情報504により示されるロギング期間が指定の時刻を含む場合には問い合わせに対する応答として当該ロギング期間情報504の一部又は全部を支援装置10に提供する。ここで、ロギング期間情報504の複数のレコードが指定の時刻を含む場合には、その複数のレコードが提供されてもよい。そして、支援装置10の通信部140は、ロギング期間情報504を取得する(ステップS53)。
次に、支援装置10の提示部110が、ステップS53で取得したロギング期間情報504により示されるロギング期間をユーザに提示する(ステップS54)。これにより、図8に示されたような画面113が表示される。
次に、支援装置10の受付部120は、提示したロギング期間のうちのいずれかのロギング期間のユーザによる選択を受け付ける(ステップS55)。ここで、ロギング期間の選択は、実質的に、ロギング装置50と、当該ロギング装置50によるロギングのロギング期間と、の組み合わせの選択を意味する。そして、支援装置10は、選択されたロギング期間に対応するログデータ503の提供を、当該ロギング期間でロギングを実行したロギング装置50に要求する。
この要求を受けたロギング装置50は、要求されたログデータ503を支援装置10に送信する(ステップS56)。これにより、支援装置10の通信部140は、ユーザによって指定されたロギング装置50によって、指定されたロギング期間に生成されたログデータ503を取得する(ステップS57)。
次に、支援装置10は、オフライン分析を開始するための指示がユーザにより入力されたか否かを判定する(ステップS58)。指示が入力されたと判定した場合(ステップS58;Yes)、支援装置10の提示部110は、取得したログデータ503についてロギング期間を提示する(ステップS59)。これにより、図10に例示されるような画面113が、ログデータ503の取得前と同様の表示形式で表示される。そして、支援装置10は、ユーザの指示に従って、ログデータ503の詳細を表示することにより(ステップS510)、ユーザによるログデータ503の分析を支援する。例えば、支援装置10は、図11に例示されるような画面113を表示する。なお、ステップS58にて、指示が入力されていないと判定した場合(ステップS58;No)、支援装置10は、ステップS58の判定を繰り返して、指示の入力を待機する。
以上、説明したように、ログデータ分析支援システム100では、トリガを共有することにより複数のロギング装置50が連動してロギング処理を実行する。ここで、ログデータの分析においては、複数のロギング装置50で同時にログデータ503を生成しておいて、これらのログデータ503を分析の対象にしたいという要望がある。具体的には、図19に示されるように、異常が発生した時刻における複数の機器の動作を事後的に検証するために、複数のログデータ503を分析することが望ましい。しかしながら、トリガが共有されない場合には予め、複数のロギング装置50に対して、ロギングが連動するようにトリガを設定する必要があり、そのような設定は一般的に困難である。
具体的には、ロギング装置50の数が2台又は3台程度である場合には設定作業はさほど難しくはないが、5台、6台又は数十台と増えた場合には、単純にロギング装置50それぞれに同様の情報を順に設定する手間がかかり、作業が繁雑になる。また、複数のロギング装置50がネットワークをまたがって接続されている場合には、これらのロギング装置50を連動させるためにネットワークの設定を変更する作業が生じ得る。さらに、ログデータ分析支援システム100を構成するロギング装置50それぞれに対して異なる担当者によって情報が設定される場合には、ロギング装置50に対して設定される情報の修正自体が難しい。
これに対して、本実施の形態に係るログデータ分析支援システム100では、ロギング装置50にトリガを共有させることにより、重複するロギング期間におけるロギングを容易に実現することができる。
また、支援装置10は、複数のロギング装置50に分散して保存されたログデータ503を取得する前に、ロギング期間情報504をロギング装置50それぞれから取得して、どのようなロギング期間で生成されたログデータ503がどのロギング装置50に保存されているかを、ユーザに対して一覧表示する。
ロギング装置50から単にログデータ503を読み出す場合には、図20に示されるように、ユーザが、各ロギング装置50に保存されているログデータ503を順次確認して、必要なログデータ503を見つけ出す必要があり、煩雑な作業が生じてしまう。
これに対して、本実施の形態に係るログデータ分析支援システム100によれば、上述のようにロギング期間を一覧表示することにより、ユーザは、1つの画面113を視認するだけでログデータ503の概要を確認し、分析に必要なログデータ503を選別することができる。特に、ログデータ503の分析においては、特定の時刻又は特定の時間範囲において生成されたログデータ503を対象とすることが多いため、ロギング装置50毎にロギング期間を提示することが有効となる。したがって、ログデータの分析のための準備作業を軽減することができる。
また、ログデータ分析支援システム100におけるトリガ信号の共有範囲は、ロギング装置50に予め設定されるトリガ設定情報501によって決定される。詳細には、トリガを検出したロギング装置50によるトリガ信号の送信の有無が、当該ロギング装置50のトリガ設定情報501によって決定される。そして、このトリガ信号の送信先は、他のロギング装置50のトリガ設定情報501によって決定される。すなわち、トリガ信号を受信してロギング処理を実行する旨が規定されたトリガ設定情報501を有するロギング装置50を宛先として、トリガ信号が中央処理ユニット21によって中継される。
なお、トリガ設定情報501が、トリガ信号の送信有無と、トリガ信号の受信有無と、の双方を規定する例について説明したが、これには限定されない。トリガ設定情報501は、トリガ信号の送信有無と、トリガ信号の受信有無と、の一方を規定してもよい。
トリガ設定情報501が、トリガ信号の送信有無を規定し、トリガ信号の受信有無を規定しない場合には、いずれかのロギング装置50から送信されたトリガ信号が、他のすべてのロギング装置50にブロードキャストされる。トリガ設定情報501が、トリガ信号の受信有無を規定し、トリガ信号の送信有無を規定しない場合には、トリガを検出したロギング装置50はいずれもトリガ信号を送信し、中央処理ユニット21は、トリガ信号を受け入れることが規定されているロギング装置50に宛ててトリガ信号を中継する。
さらに、ロギング装置50それぞれに設定されたトリガ設定情報501が、中央処理ユニット21のトリガ共有情報2131に反映される例を説明したが、これには限定されない。各ロギング装置50によるトリガ信号の送信権限の有無及び受信権限の有無を規定するトリガ共有情報2131が、中央処理ユニット21に対して直接、予め設定されてもよい。このトリガ共有情報2131の設定は、中央処理ユニット21の入力部64に対するユーザ操作を、中央処理ユニット21が受け付けることで実現されてもよいし、支援装置10に対するユーザ操作を、中央処理ユニット21の通信部66を介して受け付けることで実現されてもよい。そして、トリガを検出したロギング装置50はいずれも、トリガ信号を中央処理ユニット21に送信して、中央処理ユニット21は、トリガ信号を送信したロギング装置50が送信権限を有する場合に、当該トリガ信号を、受信権限を有する他のロギング装置50に中継してもよい。
また、支援装置10は、ログデータ503の取得前に、ロギング装置50のリストに対応する第1軸と、時刻に対応する第2軸と、で規定される面においてロギング期間に対応するオブジェクトを配置して表示する。また、支援装置10は、取得したログデータ503についても、同様のオブジェクトを配置してロギング期間を提示する。このようなオブジェクトの配置により、各ログデータ503が保存されているロギング装置50と、当該ログデータ503が生成されたロギング期間と、をユーザに容易に認識させることができる。
また、支援装置10は、2以上のロギング期間の選択を受け付けて、2つのログデータ503を取得した場合において、2つのログデータ503の詳細として、ログデータ503それぞれにより示される値の推移を、図11に示されるように共通の時間軸で表示する。これにより、ユーザによるログデータ503の効率的な分析が可能になる。なお、選択されるロギング期間は1つでもよいし2つより多くてもよい。当該ロギング期間に対応するログデータは、1つでもよいし2つより多くてもよい。
また、図17に示されるように、中央処理ユニット21は、トリガ信号を受信すると、当該トリガ信号の中継が完了するまでの間は、他のトリガに関する処理を実行しない。これにより、図21に示されるように、複数のロギング装置50から第1トリガ信号、第2トリガ信号及び第3トリガ信号を同時に送信された場合に、中央処理ユニット21は、最初に受信した第1トリガ信号の伝送を中継し、他のトリガ信号を中継の対象から除外する。これにより、多数のトリガ信号の中継による帯域の圧迫を回避することができる。
特に、何らかの異常が発生することをトリガとして複数のロギング装置50に設定した場合には、異常が1回発生した際に複数のロギング装置50で同時にトリガが検出され得る。このような場合に、最初のトリガ以外は不要なものとして破棄しても、最初のトリガに基づいて複数のロギング装置50が連動してロギング処理を実行する。図21において、第1トリガ信号を送信するロギング装置50は、第1検出装置の一例に相当し、第2トリガ信号を送信するロギング装置50は、第2検出装置の一例に相当する。そして、中央処理ユニット21のトリガ中継部214は、第1トリガ信号が受信された場合に、第1検出装置とは異なる第2検出装置に第1トリガ信号を送信する送信手段であって、受信手段による第1トリガ信号の受信から送信手段による第1トリガ信号の送信が完了するまでに受信手段によって受信される、第1トリガ信号とは異なる第2トリガ信号については、送信の対象から除外する送信手段の一例に相当する。また、ログデータ分析支援システム100は、トリガ伝送システムの一例に相当し、図17,21に示される手順は、トリガ伝送方法の一例に相当する。ここで、第1トリガ信号の送信先は、共有範囲内のロギング装置50に等しく、中央処理ユニット21に接続されているすべてのロギング装置50であってもよいし、第2検出装置を含む2以上のロギング装置であってもよい
なお、図17の例では、中央処理ユニット21において実行される一のトリガ信号の中継処理が完了するまでの期間において、他のトリガ信号の中継が実行されない。換言すると、中央処理ユニット21が一のトリガ信号の中継を開始してから他のトリガ信号の中継を中断する中断期間の終了時点が、中央処理ユニット21において実行される中継処理の完了時であった。ここで、中断期間の終了時点を、他の任意のタイミングに変更してもよい。
例えば、中断期間の終了時点は、中継されたトリガ信号が宛先であるロギング装置50に到達するタイミングであってもよい。このタイミングは、詳細には、中継されたトリガ信号が宛先である少なくとも1つのロギング装置50に到達したタイミングであってもよいし、中継されたトリガ信号がすべての宛先に到達したタイミングであってもよい。ロギング装置50は、トリガ信号を受信したことを示す受信信号を中央処理ユニット21に送信し、中央処理ユニット21は、受信信号に基づいて中断期間を終了すればよい。
また、中断期間の終了時点は、中継されたトリガ信号を受信したロギング装置50によるロギングが完了するタイミングであってもよい。このタイミングは、詳細には、トリガ信号を受信した少なくとも1つのロギング装置50によるロギングが完了したタイミングであってもよいし、トリガ信号を受信したすべてのロギング装置50によるロギングが完了したタイミングであってもよい。ロギング装置50は、ロギングが完了したことを示す完了信号を中央処理ユニット21に送信し、中央処理ユニット21は、完了信号に基づいて中断期間を終了すればよい。
また、中断期間の長さが、例えば、5分間又は10分間として、予め定められてもよい。中断期間の長さが長くなると、多数の装置を含む大規模なログデータ分析支援システム100において、トリガ信号がループしてしまうような輻輳の発生を予防することができる。中断期間の長さは、少なくとも、中断期間以外のタイミングで最初に受信したトリガ信号の中央処理ユニット21による中継処理が完了するまでの期間より長ければよい。
また、特定のアドレスから制御データの値を繰り返し読み出すことでログデータ503が生成される例について説明した。ここで、制御データが読み出されるアドレスは、記憶装置の物理的な記憶領域の識別子であってもよいし、ファームウェア及びOS(Operating System)を含むソフトウェアによって扱われる論理的な記憶領域の識別子であってもよい。制御データのアドレスは、ログデータ503としてその推移が記録される値を、他の値から区別するための識別情報であればよい。例えば、制御データのアドレスは、PLCにおけるデバイスであってもよいし、FBD(Function Block Diagram)言語のようなプログラミング言語で扱われる「変数」又は「ラベル」であってもよい。
実施の形態2.
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。上記実施の形態1では、トリガが単にロギングの開始を示す例について説明したが、トリガに着目して、ユーザによるログデータ503の分析をさらに支援することが考えられる。以下、トリガに関してユーザをさらに支援する手法について説明する。
本実施の形態では、トリガ信号及びログデータにトリガに関するトリガ情報が付与される。詳細には、図22に示されるように、ロギング装置51は、ステップS23の判定を肯定した場合(ステップS23;Yes)、トリガ信号にトリガ情報を付して中央処理ユニット21へ送信する(ステップS61)。トリガ情報は、図23に示されるように、トリガの共有先を示す共有情報と、トリガを識別するためのトリガIDと、を含む。
トリガIDは、例えば、トリガを検出した装置の識別情報と、トリガの検出時刻と、に基づいて定められるが、これには限定されず、トリガ毎に一意の識別子であればよい。共有情報は、図24に例示されるように、トリガ設定情報501において、トリガ検出時にトリガ信号を送信する旨に伴って規定される。図24の上段は、第1のトリガが検出された際の共有先が「中央処理ユニット21の管理対象のみ」に限定されることを示し、図24の下段は、第2のトリガが検出された際の共有先がすべての機器であることを示す。
PLC20は、図25に示されるように、中央処理ユニット21,21aを含み、中央処理ユニット21がロギング装置51を管理対象とし、中央処理ユニット21aが、ロギング装置51とは異なるロギング装置52を管理対象とする場合がある。このような場合において、ロギング装置51で図24に示される第1のトリガが検出されると、このトリガは、図25において実線の矢印で示されるように、トリガを検出したロギング装置51とともに中央処理ユニット21によって管理される他のロギング装置51に共有され、ロギング装置52には共有されない。具体的には、中央処理ユニット21が、トリガ信号の送信先をロギング装置51に限定する。
また、ロギング装置51で図24に示される第2のトリガが検出されると、このトリガは、図25において破線の矢印で示されるように、すべてのロギング装置51,52に共有される。このように、トリガ設定情報501の設定内容によって、トリガの共有範囲を制御することができる。
図22に戻り、ステップS61に続いて、ロギング装置51は、ロギング処理を実行して(ステップS26)、ロギング期間情報504を生成して、ステップS61でトリガ信号に付与したトリガ情報をロギング期間情報504にも付与する(ステップS62)。具体的には、ロギング期間情報504に追加されるレコードにトリガ情報が関連付けて保存される。
ステップS61で送信されたトリガ信号及びトリガ情報を受信すると、中央処理ユニット21は、トリガ信号及びトリガ情報を、トリガ共有情報2131に従って中継する(ステップS63)。ここで、トリガ共有情報2131により規定される共有先が、トリガ情報の共有情報により示される共有先と異なる場合には、いずれかの共有先を優先することが予め定められていてもよいし、共有先として重複して指定されている宛先に限定してトリガ信号が送信されてもよい。また、トリガ情報により共有先が規定されるため、トリガ共有情報2131による共有先の選定を省略してもよい。すなわち、中央処理ユニット21は、トリガ共有情報2131を記憶することなく、トリガ情報に基づいてトリガ信号を中継してもよい。
中央処理ユニット21からトリガ信号及びトリガ情報を受信したロギング装置52は、ステップS29を実行してから、ロギング期間情報504を生成して、当該ロギング期間情報504に、受信したトリガ情報を付与する(ステップS64)。ステップS29については、ロギング装置52のトリガ設定情報501の内容に応じて実行の有無が決定されてもよいし、共有先としてトリガ信号が到達したすべてのロギング装置52が、トリガ設定情報501に関わらず実行してもよい。
図26には、支援装置10がロギング期間情報504とともにトリガ情報を取得するフローが示されている。具体的には、支援装置10が、ロギング期間情報504を要求すると、ロギング装置50が、ロギング期間情報504とともに当該ロギング期間情報504に付されたトリガ情報を送信する(ステップS65)。支援装置10は、ロギング期間情報504及びトリガ情報を取得すると(ステップS66)、ロギング期間をトリガ情報とともにユーザに対して提示する(ステップS67)。
具体的には、図27に示されるように、画面113において、トリガIDの表示を指示するボタン721をユーザが押下すると、各ロギング期間に対応するオブジェクトに、トリガが発生したタイミングを示す線が重ねて表示されるとともに、当該トリガのトリガIDが表示される。これにより、ユーザは、2つのオブジェクト722に対応するログデータがいずれも、「TRIG001」というトリガIDを有するトリガによって生成された一方、オブジェクト722と時間範囲が重複しているオブジェクト723については、「TRIG302」という異なるトリガIDを有するトリガによって生成されたことを、容易に把握することができる。また、トリガを共有してロギングされたログデータ503については、共通のトリガIDが表示されることとなるため、図27の画面113から、トリガの共有範囲を容易に認識することができる。
なお、図27においてトリガが発生したタイミングは、トリガ情報により示されてもよい。トリガ情報は、トリガ発生タイミングを示す場合には、図23に示される共有情報及びトリガIDに加えて、トリガ発生タイミングを示す。
また、トリガ発生タイミングは、ロギング装置50におけるトリガに基づくログデータ503の生成方法により特定されてもよい。例えば、トリガ発生直後又はトリガ信号の受信直後からロギング装置50が制御データを読み出してログデータ503を生成する場合には、ロギング期間の開始時点が、トリガの発生タイミングに相当する。ロギング装置50が、トリガの有無に関わらず、制御データを常時読み出してリングバッファに一時的に格納し、このリングバッファを利用して、トリガ発生又はトリガ信号の受信よりも一定時間だけ前に読み出した制御データを起点としてログデータ503を生成する場合には、ロギング期間の開始時点から当該一定時間が経過した時点が、トリガの発生タイミングに相当する。ログデータ503の生成方法は、支援装置10に予め保存されていてもよいし、必要に応じて支援装置がロギング装置50に問い合わせることで取得してもよい。
生成方法を特定することができない場合には、支援装置10は、ロギング期間のうちの任意のタイミングをトリガ発生時刻として示してもよいし、トリガ発生時刻を示すことなくトリガIDのみをロギング期間に対応させて表示してもよい。具体的には、支援装置10は、図27におけるトリガ発生時刻に対応する線を示すことなく、トリガIDを表示してもよい。
以上、説明したように、共有情報及びトリガIDを含むトリガ情報を利用して、ユーザをさらに支援することができる。また、トリガ信号の共有範囲を、トリガ情報を用いて柔軟に制御することができる。なお、トリガ情報からは、共有情報及びトリガIDの一方が省略されてもよい。また、トリガ信号にトリガ情報を付与する例について説明したが、トリガ情報をトリガ信号に埋め込んで、トリガ情報を示すトリガ信号を伝送してもよい。トリガIDは、トリガを他のトリガから識別するためのトリガ識別情報の一例に相当する。
実施の形態3.
続いて、実施の形態3について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、ログデータ503とは別のイベントの発生履歴が、ロギング期間と併せてユーザに対して提示される点で、実施の形態1と異なる。
本実施の形態に係る支援装置10は、図28に示されるように、通信部140がイベント情報を取得して記憶部130に格納する。イベント情報は、イベントを識別するためのイベントIDと、イベントの発生日時と、イベントの種別と、イベントの詳細と、を関連付けて示す情報である。イベントは、PLC20による機器の制御に関するイベントであって、例えば、異常の検出、エラーの発生、その他の予めイベントとして定められた事象である。イベント情報の提供元は、任意である。具体的には、イベント情報は、中央処理ユニット21から提供されてもよいし、ロギング装置50から提供されてもよいし、他の機器から提供されてもよい。また、イベントが発生したときに、ユーザが直接イベント情報を受付部120に入力してもよい。
提示部110は、図29に例示されるように、イベント情報を記憶部130から参照して、イベントの発生時刻を示す三角形のオブジェクト731を表示する。また、提示部110は、当該オブジェクト731がユーザにより選択されたときには、イベントの詳細を表示する領域732を表示する。
以上、説明したように、支援装置10は、ロギング期間とともにイベントの時刻を示す。これにより、ユーザは、イベントの発生前後において生成されたログデータ503を容易に選別することができる。
実施の形態4.
続いて、実施の形態4について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。上記実施の形態1では、ユーザは、ロギング装置50それぞれのロギング期間を確認して、取得すべきログデータ503を選択しなければならなかった。しかしながら、取得すべきログデータ503が、ログデータ503に含まれる制御データに依存する場合がある。このような場合に、大量のログデータ503を取得して制御データを探し出すのは、回線を圧迫するとともに時間がかかってしまう。そこで、ログデータ503を取得する前に、ログデータ503に含まれる制御データをある程度調べる手法について、以下説明する。
本実施の形態では、図30に示されるように、ステップS54に続いて、支援装置10が、ログデータ503から検索する制御データの条件の指定を受け付ける(ステップS71)。具体的には、提示部110が、図31に示されるような条件の入力フォームを表示して、受付部120が、ユーザによって指定される条件の入力を受け付ける。
次に、支援装置10が、ステップS71の条件をロギング装置50に通知し(ステップS72)、ロギング装置50は、条件に合致する制御データをログデータ503から検索する(ステップS73)。そして、ロギング装置50は、検索結果を示す検索結果情報を支援装置10に送信する(ステップS74)。条件に合致する制御データが発見された場合の検索結果は、発見された制御データと、当該制御データの記録日時と、を含む。また、条件に合致する制御データが発見されない場合の検索結果は、発見されない旨を示す。
そして、支援装置10は、ロギング装置50から受信した検索結果情報をユーザに対して提示する(ステップS75)。例えば、図32に示されるように、提示部110は、ロギング期間を示すオブジェクトとともに、発見された制御データの記録日時を示すオブジェクト741を表示する。
以上、説明したように、支援装置10がログデータを取得する前に、ユーザにより指定された条件を満たす制御データをロギング装置50がログデータ503から検索し、検索結果が提示部110によって提示される。これにより、特定の条件を満たす制御データを含むログデータ503が分析の対象となる場合に、多数のログデータ503及びサイズが大きいログデータ503のいずれもが支援装置10に送信されることなく、ユーザは、そのような制御データを容易に検索することができる。
実施の形態5.
続いて、実施の形態5について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、ロギング期間情報504及びログデータ503に対してユーザが任意の時刻にマークを付すことができる点で、実施の形態1と異なる。
本実施の形態に係る受付部120は、図33に示されるように、ロギング期間を示すオブジェクトを含む面において、ユーザによってマーク751が付されると、当該マークに対応する時刻を算出して、マークのIDとともに記憶部130に記憶させる。このマークは、図34に示されるように、2以上のログデータ503の詳細を示す画面113において、ログデータ503それぞれの値の推移に対して上述のように算出された時刻を示す。
以上、説明したように、ユーザがマークを付すことができれば、ユーザによるログデータ503の分析に役立てることができる。具体的には、複数の制御データそれぞれの推移を詳細に検討する場合において、ユーザは、注目すべき共通のタイミングを指定して、当該タイミングの付近における制御データの変動を容易に観察することができる。
実施の形態6.
続いて、実施の形態6について、上述の実施の形態2との相違点を中心に説明する。なお、上記実施の形態2と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、PLC20によって管理されるロギング装置50と、PLC20に産業用ネットワーク400を介して接続されるロギング装置50と、でトリガの共有の形態が異なる点で、実施の形態2とは異なる。
本実施の形態では、図35に示されるように、PLC20及び被制御機器32では、共有情報を利用してトリガが共有され、共有情報に従ってトリガの共有範囲が定められる。また、産業用ネットワーク400においては、トリガ情報を付加してトリガが共有される。
また、上記実施の形態2では、トリガ信号を中継する機能を有する要素として中央処理ユニット21を中心に説明したが、本実施の形態では、ネットワークユニット24についても、図36に示されるように、中央処理ユニット21と同等のトリガ信号の中継に関する機能を有する。図36に示されるネットワークユニット24の通信部242、記憶部243、トリガ中継部244及びトリガ検出部245は、図6に示された中央処理ユニット21のバス通信部212、記憶部213、トリガ中継部214及びトリガ検出部215と同等に機能する。ただし、通信部242は、PLCバス200及び産業用ネットワーク400を介してトリガ信号を送受信する。ネットワークユニット24は、中央処理ユニット21と同様に、図3に示されるようなFA装置としてのハードウェア構成を有する。
ネットワークユニット24は、プログラマブルコントローラを構成するトリガ中継ユニットの一例に相当する。通信部242は、トリガ信号を受信する受信手段の一例に相当し、トリガ中継部244は、トリガ信号を送信する送信手段の一例に相当する。
中央処理ユニット21は、PLC20を構成する一のユニットからPLCバス200を介して受信したトリガ信号を、当該PLCバス200を介して他のユニットに中継するのに対して、ネットワークユニット24は、一の装置からPLCバス200又は産業用ネットワーク400を介して受信したトリガ信号を、PLCバス200又は産業用ネットワーク400を介して他の装置に中継する。
例えば、ネットワークユニット24は、PLCバス200からトリガ信号を受信すると、当該トリガ信号にトリガ情報を付与して、当該トリガ信号を産業用ネットワーク400上のロギング装置41,42に送信する。また、ネットワークユニット24は、ロギング装置41からトリガ信号を受信すると、当該トリガ信号に付与されたトリガ情報を利用して、当該トリガ信号をロギング装置42及びPLCバス200を介して接続されるユニットに送信する。
ここで、ネットワークユニット24は、トリガを検出する機能を有する場合には、図17に示された中央処理ユニット21のトリガ共有処理と同等の処理を実行する。このため、ネットワークユニット24は、中央処理ユニット21と同様に、1つのトリガ信号を受信した時点から、他のトリガ信号を受信しても中継しない中断期間を設ける。ネットワークユニット24がトリガを検出する機能を有しない場合には、図17に示されたトリガ共有処理からステップS42を省略すればよい。
以上、説明したような形態においても、上述の実施の形態2と同様の効果を奏する。なお、PLCバス200上のトリガ信号の共有範囲を決定する手法と、産業用ネットワーク400上のトリガ信号の共有範囲を決定する手法と、が共通する場合においても、ネットワークユニット24は、中央処理ユニット21と同様の中継に関する機能を有してもよい。
また、PLC20のロギングユニット23が、トリガを受信する機能を省いて構成されてもよい。すなわち、図37に示されるように、ロギングユニット23は、トリガ送受信部540に代えてトリガ送信部540aを有し、トリガを検出した場合にはトリガ信号を送信して、中央処理ユニット21が、当該トリガ信号を、産業用ネットワーク400を介してロギング装置41,42にブロードキャストしてもよい。
実施の形態7.
続いて、実施の形態7について、上述の実施の形態2との相違点を中心に説明する。なお、上記実施の形態2と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、中央処理ユニット21によって受信されるトリガ情報が、トリガの発行元、並びにトリガ信号の送信元及び送信先を示し、当該トリガ情報に基づいてトリガ信号の共有範囲が定まる点で、実施の形態2と異なる。このトリガ情報は、第1トリガ情報の一例に相当する。
本実施の形態に係るトリガ情報は、図38に示されるように、共有情報として、トリガの発行元、トリガ信号の送信元、及びトリガ信号の宛先を示す。発行元は、トリガを検出した装置、又は、トリガ信号を最初に送信した装置を意味する。このトリガ情報は、トリガを検出してトリガ信号を生成したロギング装置50によってトリガ信号に付与される。ただし、トリガ情報のうちの「送信元」については、ロギング装置50と中央処理ユニット21との間でトリガ信号を伝送する装置によって当該装置を示す情報に書き換えられる。図38の例では、ロギング装置41によってトリガが検出されることで生成され、ネットワークユニット24を介して伝送されて中央処理ユニット21によって受信される段階のトリガ情報が例示されている。
中央処理ユニット21は、このトリガ情報及び予め設定されたトリガ共有情報2131に基づいて、トリガ信号の送信先を決定する。詳細には、中央処理ユニット21は、図39に例示されるようなトリガ共有情報2131を参照する。このトリガ共有情報2131は、トリガ信号を送信するための発行元である装置を発行元条件として示し、トリガ信号を送信するための送信元である装置を送信元条件として示す。中央処理ユニット21は、トリガ情報により示される発行元が、トリガ共有情報2131に規定される発行元条件に合致し、かつ、トリガ情報により示される送信元が、トリガ共有情報2131に規定される送信元条件に合致する場合に、トリガ情報により示される宛先へトリガ信号を送信する。
中央処理ユニット21によって送信されるトリガ信号には、トリガ情報が付与されてもよいし、付与されなくともよい。中央処理ユニット21からトリガ信号を受信したロギング装置50は、制御データをロギングする。
以上、説明したように、中央処理ユニット21によって受信されるトリガ情報により示される発行元、送信元及び宛先によって、トリガ信号の共有範囲が決定される。これにより、トリガ信号の共有範囲を柔軟に制御することができる。
なお、発行元条件及び送信元条件の双方が満たされた場合にトリガ信号が中継される例について説明したが、これには限定されない。これらの条件の一方が満たされた場合に、中央処理ユニット21は、トリガ情報により示される宛先へトリガ信号を送信してもよい。
また、トリガ情報は、発行元、送信元及び宛先のうちの任意の1つ又は2つを示す情報であってもよい。すなわち、図38に示される発行元、送信元及び宛先のうちの任意の1つ又は2つが省略されたトリガ情報に基づいてトリガ信号の共有範囲が決定されてもよい。宛先が省略された場合には、中央処理ユニット21は、発行元及び送信元に関する条件の一方が成立した場合、又は双方が成立した場合に、接続されているすべてのロギング装置50にトリガ信号を送信すればよい。
本実施の形態は、検出装置によって検出されるトリガに基づいてロギング装置が制御データをロギングするか否かが、中継設定情報の内容、及び、検出装置から送信されるトリガ信号に対して検出装置によって付与される第1トリガ情報の内容、の少なくとも一方に従う中央処理ユニットによるロギング装置へのトリガ信号の送信の有無により決定される例に相当する。
また、発行元条件を示すトリガ共有情報2131は、トリガ信号に付与された第1トリガ情報が検出装置を発行元として示す場合に該トリガ信号をロギング装置に送信すべきか否かを示す中継設定情報の一例に相当する。送信元条件を示すトリガ共有情報2131は、トリガ信号に付与された第1トリガ情報が送信元装置を示す場合に該トリガ信号をロギング装置に送信すべきか否かを示す中継設定情報の一例に相当する。
実施の形態8.
続いて、実施の形態8について、上述の実施の形態2との相違点を中心に説明する。なお、上記実施の形態2と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、中央処理ユニット21によって送信されるトリガ情報が、トリガの発行元、並びにトリガ信号の送信元及び送信先を示し、トリガ信号を受信したロギング装置50が、当該トリガ情報に基づいてロギングの実行有無を決定する点で、実施の形態2と異なる。このトリガ情報は、第2トリガ情報の一例に相当する。
本実施の形態に係るトリガ情報は、図40に示されるように、共有情報として、トリガの発行元、トリガ信号の送信元、及びトリガ信号の宛先を示す。このトリガ情報は、トリガを検出してトリガ信号を生成したロギング装置50によってトリガ信号に付与される。ただし、トリガ情報のうちの「送信元」については、トリガ信号を中継する装置によって当該装置を示す情報に書き換えられる。図40の例では、ロギング装置41によってトリガが検出されることで生成され、中央処理ユニット21によって中継される段階のトリガ情報が例示されている。なお、中央処理ユニット21によって受信されるトリガ信号にはトリガ情報が付与されずに、中央処理ユニット21がトリガ情報を生成してトリガ信号に付与してもよい。中央処理ユニット21がトリガ情報を生成して付与する場合において、発行元の特定が困難であるときには、共有情報においては、発行元として、中央処理ユニット21にトリガ信号を送信した装置が示されてもよい。
中央処理ユニット21からトリガ信号を受信したロギング装置50は、このトリガ情報及びトリガ設定情報501に基づいて、ロギングの実行有無を決定する。詳細には、ロギング装置50は、図41に例示されるようなトリガ設定情報501を参照する。このトリガ設定情報501は、ロギングを実行するための発行元条件と、ロギングを実行するための送信元条件と、を示す。ロギング装置50は、トリガ情報により示される発行元が、トリガ設定情報501に規定される発行元条件に合致し、トリガ情報により示される送信元が、トリガ設定情報501に規定される送信元条件に合致し、かつ、トリガ情報により示される宛先が、当該ロギング装置50自体である場合に、ロギングを実行する。なお、ロギング装置50は、トリガ情報が、当該ロギング装置50とは異なる宛先を示す場合には、ロギングを実行しない。
以上、説明したように、トリガ情報により示される発行元、送信元及び宛先によって、ロギング装置によるロギングの有無が決定される。これにより、ロギングを実行させるためのトリガ信号の実質的な共有範囲を柔軟に制御することができる。
なお、第1の条件としての発行元条件、第2の条件としての送信元条件、及び、宛先がロギング装置50自体であるという第3の条件のいずれか1つが満たされた場合、又は、任意の2つの組み合わせが満たされた場合に、ロギング装置50は、ロギングを実行してもよい。また、トリガ情報は、発行元、送信元及び宛先のうちの任意の1つ又は2つを示す情報であってもよい。
本実施の形態は、検出装置によって検出されるトリガに基づいて制御データをロギングするか否かが、ロギング装置によって受け付けられた受信設定情報の内容、及び、トリガ信号を受信した中央処理ユニットからロギング装置へ送信されるトリガ信号に付与される第2トリガ情報の内容、の少なくとも一方により決定される例に相当する。
また、発行元条件を示すトリガ設定情報501は、受信されたトリガ信号に付与された第2トリガ情報が検出装置を発行元として示す場合に制御データをロギングすべきか否かを示す受信設定情報の一例に相当する。送信元条件を示すトリガ設定情報501は、受信されたトリガ信号に付与された第2トリガ情報が送信元装置を示す場合に制御データをロギングすべきか否かを示す受信設定情報の一例に相当する。
実施の形態9.
続いて、実施の形態9について、上述の実施の形態2との相違点を中心に説明する。なお、上記実施の形態2と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、中継回数の上限値が規定されることによりトリガ信号の共有範囲が定まる点で、実施の形態2と異なる。
本実施の形態に係る共有情報は、図42に示されるように、トリガ信号の残り中継回数を示す。この残り中継回数の初期値は、トリガを検出したロギング装置50によって設定される。初期値は、当該ロギング装置50の出荷時に予め設定されていてもよいし、ユーザにより任意に設定されてもよい。初期値は、トリガの種別に応じて異なる値であってもよい。そして、トリガ信号を中継する機能を有する装置は、当該トリガ信号に付与された共有情報の残り中継回数が2回以上である場合には、残り中継回数をデクリメントしてから当該トリガ信号を中継し、残り中継回数が1回である場合には、残り中継回数をデクリメントした結果、残り中継回数がゼロ回になるため当該トリガ信号を中継しない。
ここで、残り中継回数が減少するような中継は、中央処理ユニット21、入出力ユニット22、ネットワークユニット24及びロギング装置50のような装置による中継であってもよい。ただし、多数のネットワークを含む大規模な制御システムにおいて、ネットワークを経由するような中継において残り中継回数をデクリメントすれば、トリガ信号が伝播するネットワークの範囲を限定して、トリガ信号のループによる回線の圧迫を回避するのに有効である。以下では、一のネットワークから他のネットワークへのトリガ信号の中継時に残り中継回数を減じる例について説明する。
詳細には、図43に示されるように、単一のPLCシステムを構成する装置間においてトリガ信号が伝達される際には、当該装置は、残り中継回数を変更しない。ここで、PLCシステムは、PLC及び当該PLCにネットワーク以外の信号線で接続されたFA装置を含むシステムであって、図1の例では、PLC20及び被制御機器31,32が1つのPLCシステムを構成し、PLC20に産業用ネットワーク400を介して接続されるロギング装置41,42はそれぞれ、PLC20を含むPLCシステムの外部に位置する。また、PLCシステムを構成する装置は、図1では、PLC20を構成する各ユニット、及び被制御機器31,32のそれぞれに相当する。
図44には、大規模の制御システムにおいて残り中継回数によりトリガ信号及びトリガ情報の共有範囲が定まる例が示されている。図44において、PLCシステムを構成する「CPU」は、中央処理ユニット21に相当し、PLCシステムを構成する「中継装置」は、トリガ信号を他の装置に中継する機能を有する装置である。また、装置同士をつなぐ線及び装置とネットワークNW1~NW6をつなぐ線は、通信線による接続を示し、矢印は、トリガ信号及びトリガ情報の伝送を示す。矢印付近の丸印の中の数は、矢印に対応するトリガ情報の残り中継回数を意味する。
図44において太線のブロックで示されるロギング装置54がトリガを検出すると、ロギング装置54は、初期値として4回という残り中継回数を示すトリガ情報をトリガ信号とともに出力し、このトリガ情報は、ロギング装置54を有するPLCシステム801内で共有される。そして、PLCシステム801の中継装置81は、残り中継回数をデクリメントして3回としてから、ネットワークNW1にトリガ情報を送信する。これにより、PLCシステム801にネットワークNW1を介して接続されるPLCシステム802,803,804は、残り中継回数が3回であるトリガ情報を受信して、PLCシステム802,803,804それぞれの内部でトリガ信号を共有する。また、ネットワークNW1を介してPLCシステム801に接続されるロギング装置は、トリガ信号を受信して、ロギングを開始する。
そして、PLCシステム803にネットワークNW2を介して接続されるPLCシステム805は、残り中継回数が2回であるトリガ情報を受信して、PLCシステム805の内部でトリガ信号を共有する。また、PLCシステム804にネットワークNW3を介して接続されるロギング装置、及び、PLCシステム804にネットワークNW4を介して接続されるPLCシステム806は、残り中継回数が2回であるトリガ情報を受信して、PLCシステム806は、その内部でトリガ信号を共有する。
なお、図44に示されるように、PLCシステム806からネットワークNW4を介してトリガ信号を受信するロギング装置55は、上述のようにネットワークNW4において残り中継回数が2回であるトリガ情報が伝送されているため、同様に残り中継回数が2回であるトリガ情報を受信する。すなわち、既にトリガ情報が伝送されたネットワークに対して、当該トリガ情報が再度伝送される場合には、その残り中継回数が変化しない。
PLCシステム806にネットワークNW5を介して接続されるPLCシステム807は、残り中継回数が1回であるトリガ情報を受信して、PLCシステム807の内部でトリガ信号を共有する。PLCシステム806を構成する中継装置は、PLCシステム806が受信したトリガ情報の残り中継回数をデクリメントして得る値がゼロ回であるため、当該トリガ情報を、ネットワークNW6を介して送信することはない。このため、PLCシステム807にネットワークNW6を介して接続されるPLCシステム808は、トリガ信号及びトリガ情報の共有範囲から除外されることとなる。
以上、説明したように、トリガ情報が残り中継回数を示す場合にも、トリガ信号の共有範囲を柔軟に制御することができる。特に、複数のネットワークを介してトリガ信号が伝送され得るような大規模なシステムにおいて、トリガ信号がループしてしまう状況を確実に回避することができる。
なお、トリガ情報は、残り中継回数を示すことなく、トリガ信号が中継された回数を示し、中継装置は、トリガ情報により示される回数が予め定められた上限値未満であれば当該回数をインクリメントしてからトリガ信号及びトリガ情報を中継し、当該回数が上限値以上であればトリガ信号を中継しなくてもよい。トリガ情報は、トリガ信号の中継された数に対応する情報を示していればよい。
実施の形態10.
続いて、実施の形態10について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、ロギング装置50が、外部の装置にログデータを保存する点で、実施の形態1と異なる。
本実施の形態に係るロギング装置50は、図45に示されるように、その内部にログデータを保存することなく、外部の記憶装置にログデータを格納する。記憶装置は、ネットワーク上のサーバであってもよいし、メモリーカードのような記録媒体であってもよい。そして、ロギング装置50は、支援装置10からロギング期間情報504を要求されると(ステップS51)、ロギング期間情報504と、ログデータの取得を支援するための支援情報を送信する(ステップS81)。支援情報は、例えば、記憶装置のネットワーク上のアドレス、記憶装置のメモリにおけるログデータのアドレス、暗号化されたログデータを復号するための情報、又は、記憶装置にアクセスするための認証情報である。
支援装置10は、ステップS55に続いて、支援情報を用いて、記憶装置からログデータを読み出す。すなわち、記憶装置がログデータを支援装置10へ送信する(ステップS82)。
以上、説明したように、ロギング装置50の外部に保存されたログデータが、支援情報を利用して支援装置10に提供される形態においても、上記実施の形態1と同様の効果を奏する。特に、PLC20を構成するロギングユニット23は、組み込み機器であることが多く、そのハードウェアの基本スペックが低い状況が考えられる。これに対して、本実施の形態に係る支援装置10は、ログデータ503が保存されている記憶装置に直接的にアクセスすることができるため、ファイルの迅速な取得が期待される。
実施の形態11.
続いて、実施の形態11について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、ロギング装置50が、外部の送信装置から制御データを取得して当該制御データのログデータを生成する点で、実施の形態1と異なる。
図46に示されるように、ロギング装置50の一例であるロギングユニット23は、PLC20を構成する送信ユニット25から、PLCバス200を介して制御データを受信してロギングすることにより、ログデータを生成して保存する。詳細には、ロギングユニット23が、トリガを検出又は受信すると、送信ユニット25によって扱われる制御データの提供を送信ユニット25に対して要求することにより、制御データを定期的に取得して記録する。
以上、説明したように、ロギング装置50が外部の制御データをロギングする形態においても、上記実施の形態1と同様の効果を奏する。
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
例えば、提示部110は、図47に示されるように、時間方向に隣接するロギング期間を統合して1つのオブジェクトを表示してもよい。
また、提示部110は、上述のようなバーチャートとは異なる表示方法でロギング期間を一覧表示してもよい。例えば、提示部110によって提示されるオブジェクトは、帯状のアイコンに限定されず、図48に示されるような矢印であってもよい。さらに、提示部110は、ログデータ503の取得前において、図49に示されるようなテーブルの表示によりロギング期間をユーザに対して提示してもよい。
また、制御データは、機器の制御に際して複数の装置によってデータが同期されるサイクリックメモリから読み出されてもよいし、他のデータであってもよい。ログデータ503は、値に日時を関連付けるのに代えて、時系列の順番を示すインデックス情報を値に関連付けたデータであってもよい。
また、ロギング期間情報504とログデータ503を同時に作成する例について説明したが、これには限定されない。例えば、ロギング装置50は、ロギング期間情報504が要求されたときにログデータ503を参照してロギング期間情報504を生成して応答してもよい。また、ロギング装置50は、その製品特性に応じて、一定周期で、ロギング装置50の処理負荷が小さいタイミングで、予め設定されたタイミングで、又は、中央処理ユニット21から指示されたタイミングで、ロギング期間情報504を作成してもよい。
また、ログデータ503のサイズが通常は比較的大きいため、ログデータ503はアクセス速度が遅い大容量の不揮発性メモリに格納されることが多い。これに対して、ロギング期間情報504は、支援装置10からの要求に備えて、高速にアクセス可能なキャッシュに固定されて、若しくは一時的に格納されてもよい。
また、PLC20は、図50に示されるように、互いに異なる産業用ネットワーク400,400aを介して複数のロギング装置41,42,41a,42aに接続されてもよい。このように複数のネットワークを介してトリガを共有できれば、工場において構築される複雑な構成のネットワークにおいても複数のロギング装置50によるロギングを連動させることが容易になる。
また、PLC20の外部のロギング装置50を含む複数のロギング装置50によってトリガが共有される例について説明したが、PLC20を構成する複数のロギング装置50がトリガを共有してもよい。すなわち、1台のPLC20がロギングシステムとして機能してもよい。また、複数のロギング装置50によってトリガが共有される例を中心に説明したが、単一のロギング装置50によってログデータ支援システムが構成され、当該ロギング装置50からロギング期間情報が支援装置10に提供されてもよい。
また、ロギング期間情報504が、各ログデータ503に対応するレコードを含む例について説明したが、ロギング期間情報504は、上述のレコードに相当するような、各ログデータ503に対応する情報であってもよい。
また、上記実施の形態を任意に組み合わせてもよい。例えば、トリガ情報の共有情報によって示される送信元に基づいてトリガ信号の共有範囲を制御する実施の形態7と、残り中継回数に基づいてトリガ信号の共有範囲を制御する実施の形態9と、を組み合わせてもよい。
上述の実施形態に係るロギング装置50、中央処理ユニット21及び支援装置10の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プログラムP1を、フレキシブルディスク、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)に代表されるコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
また、インターネットに代表されるネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムP1を実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OSが分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
また、ロギング装置50、中央処理ユニット21及び支援装置10の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を専用のハードウェア又は回路によって実現してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。