(57)【要約】      （修正有）【課題】通信システムの動作状態を収集する情報処理装置であって、相互に関連のあるエラー状態を容易に把握することを可能とする。【解決手段】情報処理装置は、ネットワーク上の通信を管理するマスタ装置と、ネットワークと接続されマスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置であって、マスタ装置およびスレーブ装置は、通信処理に従い時刻情報および通信状態に関する通信ログを記録し、情報処理装置は、マスタ装置およびスレーブ装置の少なくとも一方から通信ログを取得する取得部１０２と、時刻情報に基づいて取得した通信ログを編集するログ編集部１０４と、ログ編集部により編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するログ抽出部１０６とを備える。【選択図】図４
2015001758.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の通信を管理するマスタ装置と、前記ネットワークと接続され前記マスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置であって、
前記マスタ装置および前記スレーブ装置は、通信処理に従い時刻情報および通信状態に関する通信ログを記録し、
前記情報処理装置は、
前記マスタ装置および前記スレーブ装置の少なくとも一方から前記通信ログを取得する取得部と、
時刻情報に基づいて取得した通信ログを編集するログ編集部と、
前記ログ編集部により編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するログ抽出部とを備える、情報処理装置。
【請求項２】
前記情報処理装置は、
前記抽出した通信ログを表示する表示部をさらに備える、請求項１記載の情報処理装置。
【請求項３】
前記通信システムには、安全に関連する機器と接続される安全スレーブ装置と、前記安全スレーブ装置を管理するための安全マスタ装置とが設けられ、
前記安全スレーブ装置あるいは前記安全マスタ装置は、前記マスタ装置および前記スレーブ装置の少なくとも一方と接続され、
前記安全マスタ装置は、前記マスタ装置を介して前記安全スレーブ装置に対して指示するように構成され、
前記安全マスタ装置および前記安全スレーブ装置は、前記通信処理に従い時刻情報および通信状態に関する通信ログを記録し、
前記取得部は、前記安全マスタ装置および前記安全スレーブ装置の少なくとも一方から前記通信ログをさらに取得する、請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置は、
異常原因と、少なくとも１つ以上の通信異常情報を有する通信ログを含む異常パターンとが対応付けられて格納された異常原因分析データベースと、
前記抽出された通信ログに関して、前記異常原因分析データベースを参照して、異常原因を特定する異常原因特定部とをさらに備える、請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
ネットワーク上の通信を管理するマスタ装置と、前記ネットワークと接続され前記マスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置の制御方法であって、
前記マスタ装置および前記スレーブ装置には、通信処理に従い時刻情報および通信状態に関する通信ログが記録され、
前記マスタ装置および前記スレーブ装置の少なくとも一方から前記通信ログを取得するステップと、
時刻情報に基づいて取得した通信ログを編集するステップと、
編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するステップとを備える、情報処理装置の制御方法。
【請求項６】
ネットワーク上の通信を管理するマスタ装置と、前記ネットワークと接続され前記マスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置のコンピュータが実行する制御プログラムであって、
前記マスタ装置および前記スレーブ装置には、通信処理に従い時刻情報および通信状態に関する通信ログが記録され、
前記プログラムは、前記コンピュータに、
前記マスタ装置および前記スレーブ装置の少なくとも一方から前記通信ログを取得するステップと、
時刻情報に基づいて取得した通信ログを編集するステップと、
編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するステップとを備える、処理を実行させる、情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の通信を管理するマスタ装置と、マスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置、情報処理装置の制御方法および制御プログラムに関する。
【背景技術】
【０００２】
産業用機器等の制御装置として用いられるＰＬＣ（Programmable Logic Controller）は、ＰＬＣ全体を制御するＣＰＵユニットや通信を行う通信ユニットや信号の入出力を行うＩ／Ｏユニット等の複数のユニットから構成される。このようなＰＬＣにユーザの所望の制御を実行させるために、ユーザプログラムをどのように設計するか等、ユーザがＰＬＣの制御内容を設計する際には、パソコン（コンピュータ）に所定のソフトウェアをインストールし、このインストールしたソフトウェアを用いることが一般的である。
【０００３】
このようなＰＬＣの開発を支援する開発支援装置は、例えば、「オムロン社製 ＣＸ−Ｐｒｏｇｒａｍｍｅｒ サポートソフト Ｖｅｒ ９．０ 日本語版（２００９年発売）」（非特許文献１）に開示されている。
【０００４】
このような開発支援装置を用いて、制御内容の設計等が行われるＰＬＣには、ＰＬＣの保守作業を行う場合に、例えば、パソコン（コンピュータ）が接続される。パソコンには、ＰＬＣの保守作業を行うためのサポートソフトがインストールされている。
【０００５】
具体的には、サポートソフトには、ＰＬＣの取扱方法やトラブルシューティングのためのガイド情報（コンテンツ）を具備している。
【０００６】
ＰＬＣには、ＰＬＣの状態やＰＬＣの動作を一意に示すコード（イベントコード）が予め定められており、この点で、特開２０１２−２０８９３１号公報においては、ＰＬＣの動作状態を収集してディスプレイに表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−２０８９３１号公報
【非特許文献】
【０００８】
【非特許文献１】「オムロン社製 ＣＸ−Ｐｒｏｇｒａｍｍｅｒ サポートソフト Ｖｅｒ ９．０ 日本語版（２００９年発売）」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の構成においては、複数のＰＬＣを用いたシステムに関して、それぞれのＰＬＣに格納されている異常（エラー）の状態を収集して単にエラー状態を表示するだけであったので、通信異常の如く相互に関連のあるエラー状態であってもそれを容易に把握することができなかった。したがって障害を除去する箇所を容易に特定することが難しいという問題があった。
【００１０】
本発明は、上記のような問題を解決するためになされたものであって、ネットワーク上の通信を管理するマスタ装置と、マスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置であって、相互に関連のあるエラー状態を容易に把握することが可能な情報処理装置、情報処理装置の制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のある局面に従う情報処理装置は、ネットワーク上の通信を管理するマスタ装置と、ネットワークと接続されマスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置であって、マスタ装置およびスレーブ装置は、通信処理に従い時刻情報および通信状態に関する通信ログを記録し、情報処理装置は、マスタ装置およびスレーブ装置の少なくとも一方から通信ログを取得する取得部と、時刻情報に基づいて取得した通信ログを編集するログ編集部と、ログ編集部により編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するログ抽出部とを備える。
【００１２】
好ましくは、情報処理装置は、抽出した通信ログを表示する表示部をさらに備える。
好ましくは、通信システムには、安全に関連する機器と接続される安全スレーブ装置と、安全スレーブ装置を管理するための安全マスタ装置とが設けられ、安全スレーブ装置あるいは安全マスタ装置は、マスタ装置およスレーブ装置の少なくとも一方と接続され、安全マスタ装置は、マスタ装置を介して安全スレーブ装置に対して指示するように構成される。安全マスタ装置および安全スレーブ装置は、通信処理に従い時刻情報および通信状態に関する通信ログを記録する。取得部は、安全マスタ装置および安全スレーブ装置の少なくとも一方から通信ログをさらに取得する。
【００１３】
好ましくは、情報処理装置は、異常原因と、少なくとも１つ以上の通信異常情報を有する通信ログを含む異常パターンとが対応付けられて格納された異常原因分析データベースと、抽出された通信ログに関して、異常原因分析データベースを参照して、異常原因を特定する異常原因特定部とをさらに備える。
【００１４】
本発明のある局面に従う情報処理装置の制御方法は、ネットワーク上の通信を管理するマスタ装置と、ネットワークと接続されマスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置の制御方法であって、マスタ装置およびスレーブ装置には、通信処理に従い時刻情報および通信状態に関する通信ログが記録され、マスタ装置およびスレーブ装置の少なくとも一方から通信ログを取得するステップと、時刻情報に基づいて取得した通信ログを編集するステップと、編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するステップとを備える。
【００１５】
本発明のある局面に従う情報処理装置の制御プログラムは、ネットワーク上の通信を管理するマスタ装置と、ネットワークと接続されマスタ装置の指示に従い通信が可能な少なくとも１つのスレーブ装置とで形成される通信システムの動作状態を収集する情報処理装置のコンピュータが実行する制御プログラムであって、マスタ装置およびスレーブ装置には、通信処理に従い時刻情報および通信状態に関する通信ログが記録され、プログラムは、コンピュータに、マスタ装置およびスレーブ装置の少なくとも一方から通信ログを取得するステップと、時刻情報に基づいて取得した通信ログを編集するステップと、編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出するステップとを備える、処理を実行させる。
【発明の効果】
【００１６】
相互に関連のあるエラー状態を容易に特定することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１に従う通信システムの構成を説明する図である。
【図２】マスタＰＬＣ２０の機能構成を概略的に示すブロック図である。
【図３】本実施の形態１に従うＰＣ１０のハードウェア構成を示す概略ブロック図である。
【図４】本実施の形態１に従うＰＣ１０のＣＰＵ１１において実行される機能ブロックを説明する図である。
【図５】本実施の形態１に従う通信システムにおいて通信異常が生じた場合を説明する図である。
【図６】本実施の形態１に従う通信システムにおいてＰＣ１０が処理する通信ログの一例を説明する図である。
【図７】本実施の形態１の変形例に従う通信システムにおいて通信異常が生じた場合を説明する図である。
【図８】本実施の形態１の変形例に従う通信システムにおいてＰＣ１０が処理する通信ログの一例を説明する図である。
【図９】本実施の形態２に従うＰＣ１０のＣＰＵ１１において実行される機能ブロックを説明する図である。
【図１０】本実施の形態２に従う表示部１３に表示されたトラブルシュートログ表示を説明する図である。
【発明を実施するための形態】
【００１８】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１９】
（実施の形態１）
図１は、本発明の実施の形態１に従う通信システムの構成を説明する図である。
【００２０】
図１（Ａ）を参照して、実施の形態１に従う通信システムは、情報処理装置であるＰＣ（Personal Computer）１０と、マスタＰＬＣ２０と、スレーブＰＬＣ２２と、スレーブＰＬＣ２４と、各ＰＬＣが接続されるネットワーク２６とを含む。
【００２１】
本例においては、一例として３つのＰＬＣについて互いにネットワーク２６に接続される構成について説明するが、当該ＰＬＣの個数はこれに限定されるものではなく、さらに複数のＰＬＣを接続する構成とすることも可能である。
【００２２】
ＰＣ１０には、開発支援装置としてＰＬＣの保守作業を行うための所定のソフトウェアがインストールされ、当該ソフトウェアに基づくＰＬＣの保守処理が実行される。本例においては、ＰＣ１０は、マスタＰＬＣ２０と接続されて、マスタＰＬＣ２０およびマスタＰＬＣ２０を介して各スレーブＰＬＣ２２，２４等の状態に関する情報を取得する。そして、取得結果に基づいてＰＬＣの保守作業を行うための各種処理を実行する。例えば、トラブルシューティングのためのガイド情報を表示等する。本例においては、図１（Ａ）に示されるようにマスタＰＬＣ２０を介して各ＰＬＣの状態に関する情報を取得する場合について説明するが、特に当該構成に限られず、図１（Ｂ）に示されるようにネットワーク２６に接続されて各ＰＬＣの状態に関する情報を取得する構成としても良い。
【００２３】
一般的に、工場内における生産機器の制御等に使用されるＰＬＣとしては、通常の制御対象を制御するスタンダード型のもの（スタンダードＰＬＣ）と安全用に用いられる安全型のもの（安全ＰＬＣ）とが知られている。
【００２４】
スタンダードＰＬＣは、制御プログラムに基づいて演算実行するＣＰＵユニット、入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、ネットワークに接続された他の装置とデータの送受を行なう通信ユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。これらのユニットは、内部バスにより電気的に接続され、その内部バスを介して所定のユニット間でデータの送受を行なう。
【００２５】
このＣＰＵユニットは例えば、ＩＮデータである入力機器のＯＮ信号またはＯＦＦ信号を入力し、入力したＯＮ／ＯＦＦ情報をユーザプログラムによって論理演算し、演算結果であるＯＵＴデータを出力機器へ出力する。その出力が出力機器に対する動作指示となって出力機器が動作するといった処理をサイクリックに繰り返し実行することにより、生産設備を制御する。
【００２６】
そして、ネットワークに接続された各スタンダードＰＬＣは、通信システムを構成し、各通信ユニットを介してデータの送受信を実行する。この点で、複数のＰＬＣのうちの少なくとも１つがマスタＰＬＣとしてネットワーク上の通信を管理し、他のＰＬＣ（本例においてはスレーブＰＬＣとも称する）はマスタＰＬＣの指示に従い互いにデータ通信を実行する。
【００２７】
安全ＰＬＣは、安全面の自己診断機能を内蔵させることにより、その制御において、高度な信頼性を確保したものである。安全ＰＬＣの自己診断結果により異常を検出した場合には、自己の制御が危険につながらないように、強制的に安全な制御を行うような機能（フェールセーフ機能）を備えている。
【００２８】
安全ＰＬＣは、安全Ｉ／Ｏターミナルに対してネットワーク通信する通信マスタ機能を備えていて、安全マスタと称されることもある。また、安全Ｉ／Ｏターミナルは、安全スレーブとも称される。
【００２９】
安全スレーブは、安全ＰＬＣの通信マスタ機能との間でネットワーク通信機能、つまり、マスタに従って制御される通信スレーブ機能を備えている。安全スレーブは接続端子を備えていて、その接続端子に、オンオフ信号を出すスイッチ等の安全入力機器と、制御信号の出力先となる安全出力機器との少なくとも一方が接続されている。
【００３０】
安全入力機器の例は、非常停止スイッチＳＷ、ライトカーテン、ドアスイッチ、２ハンドスイッチなどである。安全出力機器の例は、安全リレーやコンタクタである。これらの安全入力機器または安全出力機器も安全規格に対応している。安全スレーブは、接続された安全用途機器から入力した信号に基づいて制御データを生成し、生成した制御データを安全ＰＬＣへネットワーク通信する。
【００３１】
安全ＰＬＣや安全スレーブもスタンダードＰＬＣと基本的に同種の機能を有している。
安全ＰＬＣは、通信ユニットを介して安全スレーブからネットワーク通信により入力した安全入力機器の入力信号を入力し、予め記憶されたロジックプログラムによってその入力信号のオンオフを論理演算する。その演算結果に基づく出力信号を通信ユニットを介してネットワーク通信により安全スレーブへ出力する。安全スレーブは、その出力信号を安全出力機器へ出力する。この一連の動作を繰り返し実行することにより、安全ＰＬＣにより製造器ロボットを含むシステム全体を制御することが可能である。また、安全スレーブに接続された安全出力機器であるところの安全リレーやコンタクタは、製造器ロボットや加工機械、切断機械等につながれていて、リレーやコンタクタの接点がオン中は製造器ロボット等が動作し、接点がオフ中は製造器ロボット等が停止するようになっている。よって、安全ＰＬＣは、安全出力機器をオンオフ制御することで、最終的な制御対象の操作ロボット等の動作停止に関する制御を実行する。
【００３２】
図２は、マスタＰＬＣ２０の機能構成を概略的に示すブロック図である。
図２を参照して、マスタＰＬＣ２０には、制御部１２４と、不揮発性メモリ１２２と、内部メモリ１２６と、通信部１２８とが含まれている。当該機能は、複数のユニット、例えばＣＰＵユニット、通信ユニット等を組み合わせて実現されるものである。
【００３３】
制御部１２４は、マイクロプロセッサ等を主体として構成されており、ＰＬＣ全体を統括管理する。
【００３４】
不揮発性メモリ１２２内には、例えば、送信用データ指定テーブル等が格納されている。この送信用データ指定テーブルの内容は、開発支援装置（ＰＣ１０）が所定のツール機能を実行することにより変更するようにしても良い。当該送信用データ指定テーブルは、例えば送信用データに対応付けられて、当該送信用データを送信する送信先となるＰＬＣ等の情報が格納されたものである。これに従いＰＬＣ間でのデータ通信等が実行される。
【００３５】
内部メモリ１２６は、制御部１２４と通信部１２８との間を中継するものであって、その内部には送信あるいは受信バッファが格納される。また、当該内部メモリ１２６は、ワーキングメモリとしても用いられる。
【００３６】
通信部１２８は送受信回路で構成され、内部メモリ１２６内の送信用バッファに格納された送信用データを、別のＰＬＣに宛てて送信すると共に、他のＰＬＣ（スレーブＰＬＣ２２，スレーブＰＬＣ２４など）からの送信用データを受信して、これを内部メモリ１２６内の受信バッファに格納する。こうして内部メモリ１２６内の受信バッファに格納された受信用データは、適当なタイミングで制御部１２４から読み出され、ユーザプログラムの実行に利用される。また、内部メモリ１２６内の送信バッファに格納された送信用データも、適当なタイミングで、通信部１２８から読み出され、各スレーブＰＬＣ２２あるいはスレーブＰＬＣ２４へと宛ててネットワーク２６上に送信される。
【００３７】
なお、ここでは、マスタＰＬＣの機能構成の概略について説明したが、スレーブＰＬＣまた、後述する安全マスタ、安全スレーブについても基本的には同様の機能構成を有しており、各装置との間でのデータ通信が可能なように構成されている。
【００３８】
本例においては、マスタＰＬＣおよびスレーブＰＬＣの各々は、データ通信（通信処理）の際に通信ログを記録し、不揮発性メモリ１２２内に格納するものとする。当該通信ログは、通信処理の時刻情報と通信状態に関する情報（例えば、正常に通信されたあるいは異常）等を含む。
【００３９】
図３は、本実施の形態１に従うＰＣ１０のハードウェア構成を示す概略ブロック図である。
【００４０】
図３を参照して、図中に示されるブロック図は代表的な構成例を表すものである。
ＰＣ１０は、少なくとも、装置全体を統括し制御するＣＰＵ１１と、マウス操作やキーボード操作等を含む入力操作部１２と、表示処理を行う表示部１３と、操作入力処理や、所定の演算処理、表示画面に対する画像処理等に使用されるワークＲＡＭ１４と、外部への通信インターフェースを司る通信部１６と、記憶装置１５とを含む。記憶装置１５には、当該情報処理装置１０が有する通信システムのＰＬＣの保守作業を行うためのサポートプログラムが格納されており、当該プログラムを読み込むことにより本願における各種の処理が実行される。
【００４１】
また、各部は、内部バス１７に接続された形態で構成されている。
なお、上記したように、当該ＰＣ１０は、当該システムを構築するＰＬＣの設計のための開発支援装置であっても良い。具体的には、パソコンに所定のツールソフトを組み込んで構成するようにしても良い。そして、開発支援装置で設計されたＰＬＣがそれぞれのＰＬＣにダウンロードされて種々の機能を実現することが可能である。そして、当該開発支援装置の機能の一部として通信システムの異常の有無を診断するための機能を設けるようにして本例における処理を実行することも可能である。
【００４２】
図４は、本実施の形態１に従うＰＣ１０のＣＰＵ１１において実行される機能ブロックを説明する図である。
【００４３】
図４を参照して、本例においては、ＰＣ１０は、各ＰＬＣから通信状態に関する履歴情報として通信ログを取得するログ取得部１０２と、取得した通信ログを編集するログ編集部１０４と、編集した通信ログから必要に応じてログを抽出するログ抽出部１０６と、抽出されたログを表示するログ表示部１０８とを含む。
【００４４】
図５は、本実施の形態１に従う通信システムにおいて通信異常が生じた場合を説明する図である。
【００４５】
図５を参照して、当該通信システムにおいて、本例においては、スレーブＰＬＣ２２からマスタＰＬＣ２０を介してスレーブＰＬＣ２４に対してデータが送信される場合について説明する。
【００４６】
そして、本例においては、マスタＰＬＣ２０からスレーブＰＬＣ２４に対してデータ通信される際に通信異常が発生したものとする。
【００４７】
各ＰＬＣには、当該データ通信における通信ログが記録される。本例においては、一例としてマスタＰＬＣ２０は、通信ログが記録された通信ログ群ＬＢを保持しているものとする。また、スレーブＰＬＣ２２は、通信ログ群ＬＡを保持しているものとする。また、スレーブＰＬＣ２４は、通信ログ群ＬＣを保持しているものとする。
【００４８】
そして、ＰＣ１０は、各ＰＬＣに対して記録されている通信ログの送信を要求する。そして、各ＰＬＣは、当該送信要求に対して自己が保存している通信ログをＰＣ１０に対して送信する。
【００４９】
本例においては、スレーブＰＬＣ２２を装置「Ａ」、マスタＰＬＣ２０を装置「Ｂ」、スレーブＰＬＣ２４を装置「Ｃ」としてデータ通信を実行する場合について説明する。
【００５０】
通信ログ群ＬＡには、時刻Ｔ０において、装置Ａから装置Ｂに対して正常にデータ送信された場合が記録されている「送信ＯＫ（Ａ→Ｂ）」。時刻Ｔ４において、装置Ｃから装置Ａに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ａ←Ｃ）」。
【００５１】
通信ログ群ＬＢには、時刻Ｔ１において、装置Ｂが装置Ａから正常にデータを受信した場合が記録されている「受信ＯＫ（Ｂ←Ａ）」。時刻Ｔ２において、装置Ｂから装置Ｃに対して正常にデータ送信ができなかった場合が記録されている「送信ＮＧ（Ｂ→Ｃ）」。時刻Ｔ３において、装置Ｃから装置Ｂに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ｂ←Ｃ）」。
【００５２】
図６は、本実施の形態１に従う通信システムにおいてＰＣ１０が処理する通信ログの一例を説明する図である。
【００５３】
図６を参照して、ＰＣ１０のログ取得部１０２は、各ＰＬＣから通信ログを取得する。具体的には、本例においては、マスタＰＬＣ２０およびスレーブＰＬＣの通信ログ群ＬＡ，ＬＢを取得する。なお、本例においては、通信異常が生じているためスレーブＰＬＣ２４からは通信ログ群ＬＣは取得していないものとする。
【００５４】
ＰＣ１０のログ編集部１０４は、通信ログ群ＬＡ，ＬＢに含まれている通信ログに含まれる時刻（時刻情報）に従って時系列に従って編集する。
【００５５】
本例においては、時刻Ｔ０〜Ｔ４まで時系列に従って編集された場合が示されている。
そして、ログ抽出部１０６は、ログ編集部１０４により編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出する。具体的には、本例においては、「送信ＮＧ」、「タイムアウト」が通信異常情報を指し示す通信ログに相当するものとする。
【００５６】
一例として、当該通信異常情報を有する通信ログの発生から所定時間内の通信ログとして、通信異常情報を有する通信ログ（エラーログとも称する）を基準に前後、所定時間（所定範囲）内の通信ログを抽出する。
【００５７】
当該処理により、通信異常情報を有する通信ログのみ抽出して表示するのではなく、また、全ての通信ログを表示するのでもなく、通信異常情報を有する通信ログを基準に前後、所定時間内の通信ログを抽出することにより、通信異常情報を有する通信ログ（エラーログ）等を含む一連の通信ログを一括して表示することが可能となる。これにより相互に関連のあるエラー状態を容易に把握することが可能である。
【００５８】
なお、本例においては、エラーログを基準に所定時間内の通信ログを抽出する方式について説明したが、当該所定時間については、当業者が適宜変更することが可能である。また、本例においては、通信ログを基準に前後の所定時間内の通信ログを抽出する場合について説明したが、発生したエラーログを基準にそれ以降の通信ログを抽出するようにしても良い。
【００５９】
（変形例）
図７は、本実施の形態１の変形例に従う通信システムにおいて通信異常が生じた場合を説明する図である。
【００６０】
図７を参照して、本実施の形態１の変形例に従う通信システムは、安全マスタおよび安全スレーブをさらに含む。具体的には、安全マスタおよび安全スレーブが、マスタＰＬＣおよびスレーブＰＬＣと組合わせられて通信システムを構成している場合が示されている。本例においては、安全マスタおよび安全スレーブは、マスタＰＬＣあるいはスレーブＰＬＣと協働して動作する。一例として、安全マスタ３０はスレーブＰＬＣ２２と連結され、安全スレーブ３２はスレーブＰＬＣ２４と連結されている場合が示されている。当該連結により安全マスタ３０は、スレーブＰＬＣ２２の内部バスを介してネットワーク２６と接続されてデータ通信を実行する。また、安全スレーブ３２は、スレーブＰＬＣ２４の内部バスを介してネットワーク２６と接続されてデータ通信を実行する。
【００６１】
本例においては、安全マスタ３０から安全スレーブ３２に対してデータを送信する場合について説明する。そして、本例においては、スレーブＰＬＣ２４から安全スレーブ３２に対してデータ通信される際に通信異常が発生したものとする。
【００６２】
各ＰＬＣには、当該データ通信における通信ログが記録される。本例においては、一例としてマスタＰＬＣ２０は、通信ログが記録された通信ログ群ＬＢ＃を保持しているものとする。また、スレーブＰＬＣ２２は、通信ログ群ＬＡ＃を保持しているものとする。また、スレーブＰＬＣ２４は、通信ログ群ＬＣ＃を保持しているものとする。また、安全マスタ３０は、通信ログ群ＬＤを保持しているものとする。また、安全スレーブ３２は、通信ログ群ＬＥを保持しているものとする。
【００６３】
そして、ＰＣ１０は、各ＰＬＣに対して記録されている通信ログの送信を要求する。そして、各ＰＬＣは、当該送信要求に対して自己が保存している通信ログをＰＣ１０に対して送信する。
【００６４】
本例においては、スレーブＰＬＣ２２を装置「Ａ」、マスタＰＬＣ２０を装置「Ｂ」、スレーブＰＬＣ２４を装置「Ｃ」、安全マスタ３０を装置「Ｄ」、安全スレーブ３２を装置「Ｅ」としてデータ通信を実行する場合について説明する。
【００６５】
通信ログ群ＬＤには、時刻Ｔ１０において、装置Ｄから装置Ａに対して正常にデータ送信された場合が記録されている「送信ＯＫ（Ｄ→Ａ）」。時刻Ｔ２０において、装置Ｅから装置Ｄに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ｄ←Ｅ）」。
【００６６】
通信ログ群ＬＡ＃には、時刻Ｔ１１において、装置Ａが装置Ｄから正常にデータを受信した場合が記録されている「受信ＯＫ（Ａ←Ｄ）」。そして、時刻Ｔ１２において、装置Ａから装置Ｂに対して正常にデータ送信された場合が記録されている「送信ＯＫ（Ａ→Ｂ）」。時刻Ｔ１９において、装置Ｂから装置Ａに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ａ←Ｂ）」。
【００６７】
通信ログ群ＬＢ＃には、時刻Ｔ１３において、装置Ｂが装置Ａから正常にデータを受信した場合が記録されている「受信ＯＫ（Ｂ←Ａ）」。時刻Ｔ１４において、装置Ｂから装置Ｃに対して正常にデータ送信された場合が記録されている「送信ＯＫ（Ｂ→Ｃ）」。時刻Ｔ１８において、装置Ｃから装置Ｂに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ｂ←Ｃ）」。
【００６８】
通信ログ群ＬＣ＃には、時刻Ｔ１５において、装置Ｃが装置Ｂから正常にデータを受信した場合が記録されている「受信ＯＫ（Ｃ←Ｂ）」。時刻Ｔ１６において、装置Ｃから装置Ｅに対して正常にデータ通信できなかった場合が記録されている「送信ＮＧ（Ｃ→Ｅ）」。時刻Ｔ１７において、装置Ｅから装置Ｃに対するデータ通信が無かったためにタイムアウトが生じた場合が記録されている「タイムアウト（Ｃ←Ｅ）」。
【００６９】
図８は、本実施の形態１の変形例に従う通信システムにおいてＰＣ１０が処理する通信ログの一例を説明する図である。
【００７０】
図８を参照して、ＰＣ１０のログ取得部１０２は、各ＰＬＣから通信ログを取得する。具体的には、本例においては、マスタＰＬＣ２０、スレーブＰＬＣの通信ログ群ＬＡ＃，ＬＢ＃，ＬＣ＃を取得する。さらに、安全マスタ３０の通信ログ群ＬＤを取得する。なお、本例においては、通信異常が生じているため安全スレーブ３２からは通信ログ群ＬＥは取得していないものとする。
【００７１】
ＰＣ１０のログ編集部１０４は、通信ログ群ＬＡ＃〜ＬＣ＃，ＬＤに含まれている通信ログに含まれる時刻（時刻情報）に従って時系列に従って編集する。
【００７２】
本例においては、時刻Ｔ１０〜Ｔ２０まで時系列に従って編集された場合が示されている。
【００７３】
そして、ログ抽出部１０６は、ログ編集部１０４により編集された通信ログのうち通信状態として通信に異常が生じていることを示す通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出する。具体的には、本例においては、「送信ＮＧ」、「タイムアウト」が通信異常情報を指し示す通信ログに相当するものとする。
【００７４】
一例として、当該通信異常情報を有する通信ログの発生から所定時間内の通信ログとして、通信異常情報を有する通信ログ（エラーログとも称する）を基準に前後、所定時間（所定範囲）内の通信ログを抽出する。
【００７５】
当該処理により、通信異常情報を有する通信ログのみ抽出して表示するのではなく、また、全ての通信ログを表示するのでもなく、通信異常情報を有する通信ログを基準に前後、所定時間内の通信ログを抽出することにより、通信異常情報を有する通信ログ（エラーログ）等を含む一連の通信ログを一括して表示することが可能となる。これにより相互に関連のあるエラー状態を容易に把握することが可能である。
【００７６】
なお、本例においては、安全マスタ３０および安全スレーブ３２がスレーブＰＬＣと連結される場合について説明したが、当該構成に限られず、例えば、安全マスタ３０と連結される構成としても良い。
【００７７】
（実施の形態２）
上記の実施の形態１およびその変形例においては、通信異常情報を有する通信ログを基準に所定時間内の通信ログを抽出する場合について説明したが、本実施の形態２においては抽出した通信ログに基づいてさらにエラー状態を容易に把握する方式について説明する。
【００７８】
図９は、本実施の形態２に従うＰＣ１０のＣＰＵ１１において実行される機能ブロックを説明する図である。
【００７９】
図９を参照して、本例においては、ＰＣ１０は、各ＰＬＣから通信状態に関する履歴情報として通信ログを取得するログ取得部１０２と、取得した通信ログを編集するログ編集部１０４と、編集した通信ログから必要に応じてログを抽出するログ抽出部１０６と、抽出された通信ログに関して後述する異常原因分析データベースを参照して、異常原因を特定する異常原因特定部１０７と、異常原因特定部１０７により特定された異常原因を表示する原因表示部１０９とを含む。また、本例における記憶装置１５は、異常原因と、少なくとも１つ以上の通信異常情報を有する通信ログを含む異常パターンとが対応付けられて格納された異常原因分析データベースＤＢ（単にデータベースＤＢとも称する）を有する。当該データベースＤＢには、異常パターンとして複数のエラーパターンデータＤＰが格納されており、当該エラーパターンデータＤＰは、エラー要因と、当該エラー要因を推定する通信ログパターンとが対応付けられている。ここでは、一例として複数のタイムアウトの組み合わせとエラー要因とが関連付けられている場合が示されている。
【００８０】
本実施の形態２においては、異常原因特定部１０７が抽出した通信ログに従って当該データベースＤＢを参照して、異常原因を特定する。具体的には、抽出した通信異常情報を有する通信ログに基づいて、データベースＤＢを参照して抽出した通信ログのパターンに対応するエラーパターンデータＤＰが有るか否か判断する。そして、当該エラーパターンデータＤＰが有る場合には、当該エラーパターンデータＤＰに従ってエラー要因を特定する。そして、原因表示部１０９が当該特定した異常原因を表示部１３に表示する。なお、エラー要因として１つに限られず、複数の要因が有る場合には複数の要因を表示するものとする。
【００８１】
なお、当該エラーパターンデータＤＰは、予めシミュレーションや実験等により通信ログのパターンと、異常原因となるパターンとを分析して作成されたものである。なお、本例においては、予め記憶装置１５に格納されている場合について説明するが、サーバ等からダウンロードして保存するようにすることも当然に可能である。
【００８２】
図１０は、本実施の形態２に従う表示部１３に表示されたトラブルシュートログ表示を説明する図である。
【００８３】
図１０を参照して、本例においては、原因表示部１０９が当該トラブルシュートログを表示部１３に表示した場合について説明する。
【００８４】
本例においては、一例として、図８で説明した通信異常情報を有する通信ログの発生から所定時間内の通信ログを抽出して、時刻Ｔ１０〜Ｔ２０までの通信ログが抽出されて表示されるとともに、当該抽出結果に基づいて特定された異常原因が示されている。
【００８５】
具体的には、異常の内容として「安全スレーブとの通信で通信タイムアウトが発生しました。」と表示されるとともに、その要因として本例においては４つの要因例が示されている。なお、４つの要因例が示されているが１つの要因例とすることも可能であるし、さらに複数の要因例を表示するようにすることも可能である。また、可能性の高い順に表示するようにしても良い。
【００８６】
具体的には、（１）設定異常  マスタＰＬＣのタスク実行タイムアウト時間が小さすぎる値に設定されている。（２）過度のノイズが発生した。（３）マスタＰＬＣにシステム異常が発生した（４）安全スレーブＰＬＣに異常が発生した。本装置に何らかの異常が発生し、プロセスデータ通信が正しく実行されなかった。
【００８７】
当該表示により、ユーザは、エラーの原因を容易に把握することが可能である。これにより、エラーの原因を容易に把握して、障害を除去する箇所を容易に特定することが可能となる。
【００８８】
なお、上記表示例は一例であり、他の通信ログ等の組み合わせに基づいて他のエラーパターンデータＤＰに従う表示処理を実行することも当然に可能である。
【００８９】
また、本実施の形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施の形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
【００９０】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９１】
１０  情報処理装置、１１  ＣＰＵ、１２  入力操作部、１３  表示部、１４  ＲＡＭ、１５  記憶装置、１６，１２８  通信部、１７  内部バス、２０，２２，２４  ＰＬＣ、２６  ネットワーク、３０  安全マスタ、３２  安全スレーブ、１０２  ログ取得部、１０４  ログ編集部、１０６  ログ抽出部、１０７  異常原因特定部、１０８  ログ表示部、１０９  原因表示部、１２２  不揮発性メモリ、１２４  制御部、１２６  内部メモリ。
【図１】
2015001758.tif 000003
【図２】
2015001758.tif 000004
【図３】
2015001758.tif 000005
【図４】
2015001758.tif 000006
【図５】
2015001758.tif 000007
【図６】
2015001758.tif 000008
【図７】
2015001758.tif 000009
【図８】
2015001758.tif 000010
【図９】
2015001758.tif 000011
【図１０】
2015001758.tif 000012