(58)【調査した分野】(Int.Cl.,DB名)
前記ログ記憶部は、前記情報受信部が受信したエラー情報を、前記情報受信部が前記エラー情報を受信した時刻または前記スレーブ装置においてエラー情報が取得された時刻に対応づけて記憶させることを特徴とする、請求項1〜4のいずれか1項に記載のマスタ装置。
前記記憶部は、ユーザにより作成されるプログラムであって、前記指示の送信開始および終了のタイミングと、前記指示を送信する時間間隔とが規定されたプログラムであるユーザプログラムのデータを格納しており、
前記指示送信部は、前記ユーザプログラムに規定された送信開始のタイミングで前記指示の送信を開始し、前記ユーザプログラムに規定された時間間隔で前記指示を周期的に送信し、前記ユーザプログラムに規定された送信終了のタイミングで前記指示の周期的な送信を終了することを特徴とする、請求項1〜6のいずれか1項に記載のマスタ装置。
請求項1に記載のマスタ装置としてコンピュータを機能させるための制御プログラムであって、前記指示送信部、前記情報受信部、および前記ログ記憶部としてコンピュータを機能させるための制御プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、特許文献1に記載の発明は、マスタ装置が産業用ネットワークシステムの生産工程とは異なる「テストモード」に移行してから通信テストを行うことにより、スレーブ装置の接続異常を特定するものであり、マスタ装置が産業用ネットワークの中で稼働中であるときに発生したエラーをモニタリングすることはできなかった。
【0008】
本発明は前記の問題点に鑑みたものであり、その目的は、産業用ネットワークの中で稼働中であるか否かに関わらず、通信エラーの発生箇所を特定可能なマスタ装置等を実現することにある。
【課題を解決するための手段】
【0009】
前記の課題を解決するために、本発明に係るマスタ装置は、通信エラーの有無を検出する複数のスレーブ装置とコネクションレス型の通信方式で通信するマスタ装置であって、前記通信エラーの有無を示す情報であるエラー情報を前記複数のスレーブ装置に送信させるための指示を送信する指示送信部と、前記指示送信部の送信した指示に応じて前記複数のスレーブ装置からそれぞれ送信される前記エラー情報を受信する情報受信部と、前記情報受信部が受信した前記エラー情報を前記スレーブ装置毎に記憶部に記憶させるログ記憶部と、を備える構成である。
【0010】
前記の課題を解決するために、本発明に係るマスタ装置の制御方法は、通信エラーの有無を検出する複数のスレーブ装置とコネクションレス型の通信方式で通信するマスタ装置の制御方法であって、前記通信エラーの有無を示す情報であるエラー情報を前記複数のスレーブ装置に送信させるための指示を送信する指示送信ステップと、前記指示送信ステップにて送信した指示に応じて前記複数のスレーブ装置からそれぞれ送信される前記エラー情報を受信する情報受信ステップと、前記情報受信ステップにて受信した前記エラー情報を前記スレーブ装置毎に記憶部に記憶させるログ記憶ステップと、を含む方法である。
【0011】
前記構成または方法によると、マスタ装置は複数のスレーブ装置からエラー情報を収集するため、エラーの有無をスレーブ装置毎に記憶することができる。したがって、稼働中のスレーブ装置いずれかにおいて通信エラーが発生した場合、当該通信エラーがどこで発生したか、マスタ装置が知ることができる。つまり、マスタ装置はスレーブ装置がネットワーク上で稼働中であるか否かに関わらず、スレーブ装置における通信エラーの発生箇所を特定することができる。
【0012】
前記マスタ装置において、前記指示送信部は、前記指示を所定の時間間隔で送信してもよい。
【0013】
前記構成によると、マスタ装置は情報受信部にて複数のスレーブ装置から、所定の周期でエラー情報を収集するため、エラーの有無をスレーブ装置毎に所定周期で監視することができる。したがって、マスタ装置は時間経過による通信エラーの発生有無および発生箇所の推移を監視することができる。
【0014】
前記マスタ装置において、前記情報受信部は、前記スレーブ装置が検出した前記通信エラーの発生回数を前記エラー情報として受信してもよい。
【0015】
前記構成によると、マスタ装置は情報受信部にてエラーの発生回数を収集するため、複数のスレーブ装置それぞれでの通信エラーの発生を定量的に監視することができる。そのため、例えばエラーが頻発するスレーブ装置等を特定することができるので、より正確にエラーの発生箇所を特定することができる。
【0016】
前記マスタ装置において、前記ログ記憶部は、前記通信エラーの発生回数の累積値を記憶させてもよい。
【0017】
前記構成によると、マスタ装置は記憶部に通信エラーの発生回数の累積値を記録しておくため、スレーブ装置それぞれにおけるエラーの発生回数をより正確に監視することができる。具体的には、スレーブ装置の電源がOFFになった場合など、何らかの要因でエラーの発生回数のカウントが初期化された場合でも、マスタ装置はエラーの発生回数を累積して記録するため、エラーの監視を継続することができる。逆に言うと、スレーブ装置において、エラーの発生回数のカウントに上限値が設けられている場合、スレーブ装置における当該カウントを初期化することができるため、長期的かつ周期的にエラーを監視することが可能になる。
【0018】
前記マスタ装置において、前記ログ記憶部は、前記情報受信部が受信したエラー情報を、前記情報受信部が前記エラー情報を受信した時刻または前記スレーブ装置においてエラー情報が取得された時刻に対応づけて記憶させてもよい。
【0019】
前記構成によると、記憶部に記憶されたエラー情報に対応づけられた時刻を確認することで、当該エラーの発生時刻を推定することができる。
【0020】
前記マスタ装置において、前記情報受信部は、前記スレーブ装置から前記通信エラーの種類毎のエラー情報を受信し、前記ログ記憶部は、前記通信エラーの種類毎にエラー情報を記憶させてもよい。
【0021】
前記構成によると、記憶部はエラー情報を通信エラーの種類毎に記憶するため、マスタ装置はエラーの発生箇所とともに、発生したエラーの種類を特定することができる。
【0022】
前記マスタ装置において、前記記憶部は、ユーザにより作成されるプログラムであって、前記指示の送信開始および終了のタイミングと、前記指示を送信する時間間隔とが規定されたプログラムであるユーザプログラムのデータを格納しており、を記憶し、前記指示送信部は、前記ユーザプログラムに規定された送信開始のタイミングで前記指示の送信を開始し、前記ユーザプログラムに規定された時間間隔で前記指示を周期的に送信し、前記ユーザプログラムに規定された送信終了のタイミングで前記指示の周期的な送信を終了してもよい。
【0023】
前記構成によると、指示送信部はユーザが作成したユーザプログラムにより任意に定められたタイミングで複数のスレーブ装置からのエラー情報の収集を開始および終了する。また指示送信部は当該収集の開始から終了までの間、ユーザプログラムにより任意に定められた時間間隔でエラー情報を収集する。これにより、マスタ装置は、任意に定められる期間のエラー情報を任意に定められる間隔で取得することができる。したがってエラー情報の収集期間および収集間隔の自由度を向上させることができる。
【0024】
前記の課題を解決するために、本発明に係るスレーブ装置は、通信エラーの有無を検出し、マスタ装置とコネクションレス型の通信方式で通信するスレーブ装置であって、前記通信エラーの有無を示す情報であるエラー情報の送信指示を、前記マスタ装置から受信する指示受信部と、前記指示受信部が受信した前記送信指示に応じて前記マスタ装置に前記エラー情報を送信する情報送信部と、を備える構成である。
【0025】
前記構成によると、スレーブ装置はネットワーク上で稼働中であるか否かに関わらず、通信エラーの発生箇所を特定するためのエラー情報をマスタ装置に送信することができる。
【0026】
前記の課題を解決するために、本発明に係るエラー監視システムは、前記マスタ装置と、前記スレーブ装置複数台とを含む構成である。
【0027】
前記構成によると、前記マスタ装置および前記スレーブ装置と同様の効果を奏する。
【0028】
前記マスタ装置および前記スレーブ装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記マスタ装置およびスレーブ装置が備える各部(ソフトウェア要素)として動作させることにより上記マスタ装置およびスレーブ装置をコンピュータにて実現させるマスタ装置およびスレーブ装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0029】
本発明によれば、産業用ネットワークの中で稼働中であるか否かに関わらず、通信エラーの発生箇所を特定することができる。
【発明を実施するための形態】
【0031】
≪システム概要≫
始めに、本実施形態に係るエラー監視システムのシステム構成およびその概要について説明する。
図2は、エラー監視システム100の概要を示す図である。エラー監視システム100は図示の通り、パーソナルコンピュータ(PC)5と、マスタ装置4と、複数のスレーブ装置(スレーブ装置1〜3)とを含んでいる。なお、各スレーブ装置は、1台以上の入力装置、および1台以上の出力装置のいずれかまたは両方と接続されていてもよい。
【0032】
PC5とマスタ装置4とは有線または無線で通信接続されている。一方、マスタ装置4とスレーブ装置1とは、EtherCAT(Ethernet for Control Automation Technology:登録商標)通信に適合するケーブルで接続され、EtherCATの通信規格を用いてコネクションレス型通信を行う。スレーブ装置1とスレーブ装置2、スレーブ装置2とスレーブ装置3も同様のケーブルで接続され、EtherCATの通信規格を用いて通信する。マスタ装置4とスレーブ装置1〜3との通信においては、マスタ装置4は上流側、すなわちEtherCATマスタとしてはたらき、スレーブ装置1〜3はEtherCATスレーブとしてはたらく。以降、EtherCATの通信規格を用いた通信を単に「EtherCAT通信」と称する。スレーブ装置(
図2ではスレーブ装置1)と入力装置または出力装置とは、有線または無線で適宜接続される。
【0033】
なお、本実施形態では、
図2に示したようにマスタ装置4に3台のスレーブ装置1〜3が直列に接続されているものとして説明を行うが、マスタ装置4に直接または間接に接続するスレーブ装置のトポロジは、特に限定されない。エラー監視システム100はスレーブ装置間の連携や配線の都合に応じて、直列状、リング状、ツリー状またはスター状など、どのようなトポロジをとってもよい。また、当該スレーブ装置は複数台であれば何台であってもよい。
【0034】
ここで、各装置について簡単に説明する。PC5は、マスタ装置4に実行させるユーザプログラムをユーザの入力操作に応じて作成し、マスタ装置4に送信する装置である。PC5はまた、マスタ装置4から各種データを収集し、当該データを編集および表示してもよい。
【0035】
スレーブ装置1〜3は、自装置に接続されたボタンやスイッチ、各種検出機器または測定機器などの入力装置からデータを収集する装置であるとともに、モータやランプなどの出力装置を制御する装置である。スレーブ装置1〜3は、自装置にて発生した通信エラーの、種類毎の発生回数(エラーカウント)を、エラーログ(エラー情報)として記録し、マスタ装置4からの指示に応じてマスタ装置4に伝送する。エラーログについては後で詳述する。
【0036】
マスタ装置4は、シーケンス制御を行うプログラマブルロジックコントローラ(PLC)である。マスタ装置4は、EtherCAT通信によりスレーブ装置1〜3に制御命令を伝送することでスレーブ装置1〜3を制御するとともに、スレーブ装置1〜3から各種データを受け取ることで、スレーブ装置1〜3の状態監視を行う。これらの制御および状態監視は、PC5から受信したユーザプログラムに基づいて実行される。具体的には、マスタ装置4はスレーブ装置1〜3からエラーログを収集し、上記発生回数を累積したデータである累積エラーログを記録する。
【0037】
エラー監視システム100は、スレーブ装置1〜3が記録しているエラーログを所定回数収集し、収集したエラーログに含まれるエラーの発生回数をスレーブ装置毎に累積した累積エラーログを作成することにより、スレーブ装置1〜3で発生したエラーを定量的および定性的に監視するシステムである。以下、エラー監視システム100の処理の流れの概要を説明する。
【0038】
PC5は、マスタ装置4におけるエラーログ収集に係る規定を含むプログラムであるユーザプログラムを作成し、マスタ装置4に送信する。なお、ユーザプログラムについては後で詳述する。
【0039】
マスタ装置4は受信したユーザプログラムの規定に沿って、スレーブ装置1〜3に対し、エラーログを伝送するように指示する(エラーログ伝送指示)。具体的には、マスタ装置4はエラーログ伝送指示を含んだ、EtherCATの通信規格に合致するフレーム(EtherCATフレーム、以下単にフレームと称する)を作成し、スレーブ装置1〜3に伝送する。
【0040】
マスタ装置4からスレーブ装置1に伝送されたフレームは、スレーブ装置1〜3を順に通過する。このとき、各スレーブにてフレームに含まれているエラーログ伝送指示が読み取られる。そしてフレームは、往路と逆順に、すなわちスレーブ装置3、スレーブ装置2、スレーブ装置1、およびマスタ装置4の順に送られる。マスタ装置4は、戻ってきたフレームを受け取る。これにより、フレームの伝送処理が完了する。スレーブ装置1〜3はエラーログ伝送指示を読み取ると、それぞれ自装置で記録しているエラーログをフレームに含めてマスタ装置4に送信する。
【0041】
マスタ装置4はスレーブ装置1〜3がそれぞれ伝送したエラーログを受け取り、受け取ったエラーログに含まれるエラーカウントを累積したエラーログである、累積エラーログを作成する。以降、マスタ装置4はエラーログ伝送指示を、ユーザプログラムの規定に基づいて所定の周期で所定回数行う。したがって、累積エラーログは、上記規定に基づく期間(に収集したエラーログの回数分)の累積エラーログであるといえる。
【0042】
このように、エラー監視システム100は、スレーブ装置1〜3にてそれぞれ記録されているエラーカウントを所定の周期で所定回数収集し、エラーカウントの累積値を累積エラーログとして記録する。これにより、マスタ装置4とスレーブ装置1〜3とはEtherCAT通信、すなわちデータの宛先の状況を確認せず通信するコネクションレス型通信であるにもかかわらず、どの装置でどのような通信エラーがどのぐらいの頻度で生じたか特定することができる。さらに、マスタ装置4は、予めマスタ装置4にダウンロードされたユーザプログラムに規定された周期および回数分、エラーログの伝送を自動的に(ユーザの入力操作無しに)指示する。そのため、マスタ装置4およびスレーブ装置1〜3がネットワークにおいて稼働中であっても、稼働を止めることなく上述したエラーログの収集や累積エラーログの作成を行うことができる。
≪要部構成≫
次に、エラー監視システム100に含まれるマスタ装置4、およびスレーブ装置1〜3の要部構成について説明する。
図1は、本実施形態に係るエラー監視システム100に含まれる各装置の要部構成を示すブロック図である。なお、スレーブ装置2およびスレーブ装置3については、スレーブ装置1と同様の構成であるため、機能ブロックの図示および説明を省略する。
(スレーブ装置1の要部構成)
スレーブ装置1は、スレーブ通信部11と、スレーブ制御部12と、スレーブ記憶部13とを備えている。スレーブ通信部11は、マスタ装置4および他のスレーブ装置(
図1〜2ではスレーブ装置2)とEtherCAT通信を行うための通信ユニットである。スレーブ記憶部13は、エラーログ(エラー情報)131を格納する記憶装置である。
【0043】
スレーブ制御部12は、スレーブ装置1を統括的に制御するものである。スレーブ制御部12は、スレーブ通信部11を介しマスタ装置4から制御命令として、スタート指示、およびエラーログ伝送指示を受信する。なお、これらの指示内容については後述する。スレーブ制御部12はより詳しくは、指示実行部121(指示受信部)、エラー検出部122、およびエラーログ送信部123(情報送信部)を含む。
【0044】
指示実行部121は、スレーブ制御部12が受信した制御命令を各部に実行させるものである。具体的には、指示実行部121は、スレーブ制御部12がスタート指示を受信した場合、エラー検出部122に当該指示を送信する。また、指示実行部121は、スレーブ制御部12がエラーログ伝送指示を受信した場合、エラーログ送信部123にエラーログの伝送を指示する。
【0045】
エラー検出部122は、スレーブ通信部11における通信エラーを検出し、その発生回数をエラーログ131として記録するものである。
図3は、エラーログ131のデータ構造の一例を示す図である。エラーログ131は図示の通り、スレーブ装置1〜3においてそれぞれ発生する通信エラーの種類毎の、発生回数(エラーカウント)を示す情報である。なお、エラーカウントの上限(カウント可能な上限値)は適宜定められれば良い。
【0046】
エラー検出部122は、通信エラーを検出しエラーログを作成するものである。なお、ここで言う「通信エラー」は特に種類を限定しないが、例えばフレームの破損によるCRCエラーやリンクのロストによるエラーなどである。エラー検出部122はスレーブ通信部11を常時監視しており、通信エラーが発生すると当該エラーの種類を特定するとともに、スレーブ記憶部13に格納されたエラーログ131の、対応するエラーカウントを1増加させる。またエラー検出部122は、指示実行部121からスタート指示を受けると、エラーログ131のエラーカウントを全て0に戻す(エラーカウントを初期化する)。
【0047】
なお、エラー検出部122はCRCエラーを検出した場合は、スレーブ通信部11に到着したフレームに、エラー検出済であるフラグを付してもよい。そして、当該フラグが付されたフレームを読み取った場合、スレーブ装置(本実施形態の場合スレーブ装置2〜3)のエラー検出部122はCRCエラーを検出しない(エラーカウントを増加させない)こととしてもよい。これにより、スレーブ装置1の下流のスレーブ装置2〜3において、CRCエラーが重複して検出することを防ぐことができる。
【0048】
エラーログ送信部123は、指示実行部121の指示に応じて、スレーブ記憶部13からエラーログ131を読み出し、スレーブ通信部11を介してマスタ装置4に伝送する。
(マスタ装置4の要部構成)
マスタ装置4は、通信部41、制御部42、記憶部43、およびマスタ通信部44、SDカード45、および計時部46を含んでいる。通信部41は、PC5と通信するための通信ユニットである。マスタ通信部44は、スレーブ装置1とEtherCAT通信を行うための通信ユニットである。計時部46は、制御部42に時刻を供給するものであり、マスタ装置4のリアルタイムクロックである。計時部46は取得した時刻を示す情報(時刻情報)を制御部42に送信する。
【0049】
記憶部43は、PC5から受信したユーザプログラム431を格納するものである。ここで、ユーザプログラム431の内容について説明する。ユーザプログラム431は、エラーログの収集(すなわち、エラーログ伝送指示の送信)開始のタイミングと、エラーログを収集する時間間隔と、エラーログの収集を終了するタイミングと、を少なくとも規定しているプログラムである。本実施形態では、ユーザプログラム431は、マスタ装置4にエラーログ収集ルーチンを開始させるとともに、マスタ装置4からスレーブ装置1〜3にエラー検出を0から開始させる(エラーカウントを初期化させる)ための初期化指示を伝送させる命令である「スタート命令」と、マスタ装置4にエラーログの収集を繰り返させる時間間隔および繰り返し回数を規定する値である「サイクル値」と、マスタ装置4にエラーログを最後に1回収集させて、スタート命令からの一連のエラーログ収集ルーチンを終了させる命令である「ストップ命令」とを含んでいる。
【0050】
なお、エラーログの収集開始および終了のタイミング、およびエラーログを収集する時間間隔は、上述のようにユーザプログラム431内に命令および変数として直接記述されていてもよいし、ユーザプログラム431を実行することにより収集開始および終了のタイミング、および収集の時間間隔の設定を示す設定情報が生成され、記憶部43に記憶される構成であってもよい。
【0051】
SDカード45は、累積ログ451を格納する着脱可能な記憶装置である。累積ログ451は、エラーログが示すエラーカウントを、スレーブ装置毎に、かつエラーの種類毎に累積したログデータである。以下、
図4を用いて累積ログ451の具体例を説明する。
図4は、累積ログ451のデータ構造の一例を示す図である。累積ログ451は図示の通り、スレーブ装置毎に、エラーログを最後に収集した時刻(ログ最終取得時刻)と、各種エラーの発生回数の累積値を対応付けたログである。なお、ここで言うログ最終取得時刻は、計時部46が計時した時刻である。また、累積ログ451は少なくとも、各種エラーについてスレーブ装置毎の発生回数を特定できる情報であれば、
図4の形式に限定されない。例えば、累積ログ451にはログ最終取得時刻は含まれていなくてもよい。
【0052】
なお、記憶部43とSDカードとは1つの記憶装置であってもよい。また、SDカード45は着脱可能でなくてもよい。例えば、SDカード45はマスタ装置4の工場出荷時に、装置内部に内蔵されるものであってもよい。
【0053】
制御部42は、マスタ装置4を統括的に制御するものである。制御部42は、通信部41を介しPC5からユーザプログラム431を受信し、当該データを記憶部43に格納する。ユーザプログラム431が記憶部43に格納された後、スレーブ装置1〜3とEtherCAT通信が可能な状態でマスタ装置4の運転が開始されると、制御部42はユーザプログラム431のデータを順次読み出し、当該プログラムで規定された内容の制御命令を、当該プログラムで規定されたタイミング(および周期)でマスタ通信部44に送信する。制御部42はより詳しくは、指示送信部421、エラーログ受信部(情報受信部)422、および累積ログ作成部(ログ記憶部)423を含む。
【0054】
指示送信部421は、ユーザプログラム431を読み出し、当該プログラムが規定する種々の制御命令を作成し、当該プログラムが規定する送信タイミングおよび周期でマスタ通信部44を介しスレーブ装置1〜3に送信するものである。
【0055】
より具体的には、指示送信部421は、ユーザプログラム431のスタート命令を読み出し、スレーブ装置1〜3に対し、スタート指示を伝送する。そして、スタート指示の伝送以降は、ユーザプログラム431のサイクル値が指定する時間間隔および繰り返し回数で、エラーログ伝送指示を伝送する。サイクル値が指定する回数分のエラーログ伝送指示を伝送した後は、指示送信部421はユーザプログラム431のストップ命令を読み出し、最後の1回エラーログ伝送指示を伝送し、一連のエラーログ収集ルーチンを終了する。
【0056】
なお、ユーザプログラム431の実行により設定情報を生成する場合は、指示送信部421は記憶部43に格納された設定情報を参照し、当該設定情報が示す収集開始および終了のタイミング、ならびに収集の時間間隔でエラーログ収集のルーチン処理を行えばよい。
【0057】
エラーログ受信部422は、マスタ通信部44を介し、スレーブ装置1〜3から伝送されるフレームに含まれるエラーログ131を受信する。エラーログ受信部422はエラーログ131を受信すると、累積ログ作成部423にエラーログ131を送る。
【0058】
累積ログ作成部423は、エラーログ受信部422からエラーログ131を受けとり、当該エラーログが示す、エラーの種類毎のエラーカウントを、SDカード45に格納された累積ログ451の対応する値に足し合わせる。すなわち、累積ログ451を更新する。なお、累積ログ451が未作成の場合は、累積ログ作成部423は累積ログを生成する。
≪処理の流れ≫
最後に、エラー監視システム100における処理の流れを説明する。
図5は、マスタ装置4およびスレーブ装置1〜3によるエラーログ収集処理の流れを示すフローチャートである。なお、スレーブ装置1の下流のスレーブ装置2およびスレーブ装置3についても処理の流れは同様であるため、
図5ではスレーブ装置1のみについて処理の流れを記載している。
【0059】
マスタ装置4は、生産設備等を稼働させるための産業用ネットワークに接続した状態で電源がONされると、各スレーブ装置のシーケンス制御を開始する。マスタ装置4の制御部42は記憶部43に格納されたユーザプログラム431を読み出し(S10)、命令を実行する。指示送信部421はユーザプログラム431に規定されたタイミングが来ると、スタート指示をフレームに含んで、スレーブ装置1〜3に伝送する(S12)。スレーブ装置1〜3のスレーブ制御部12はスレーブ通信部11を通過するフレームからスタート指示を読みとり(S50)、指示実行部121は当該スタート指示をエラー検出部122に送る。エラー検出部122はスタート指示を受けると、スレーブ記憶部13に記憶されたエラーログ131のエラーカウントを初期化する(S52)。初期化後、エラー検出部122によるエラーカウントはただちに再開される(S54)。
【0060】
マスタ装置4の制御部42は、ユーザプログラム431に規定されたサイクル値を参照することにより、サイクル値の規定する、エラーログの収集の周期(時間間隔および収集回数)を特定する。そして、指示送信部421は、スタート指示を送信してから最初のエラーログ収取まで、上記サイクル値が指定する期間待機する(S14でNO)。サイクル値が指定する期間が経過した場合(S14でYES)、指示送信部421はエラーログ伝送指示をフレームに含んで、スレーブ装置1〜3に伝送する(S16、指示送信ステップ)。スレーブ装置1〜3のスレーブ制御部12はスレーブ通信部11を通過するフレームからエラーログ伝送指示を読みとり(S56)、指示実行部121は当該エラーログ伝送指示をエラーログ送信部123に送る。エラーログ送信部123はエラーログ伝送指示を受けると、スレーブ記憶部13に記憶されたエラーログ131をマスタ装置4に向けて伝送する(S58)。
【0061】
マスタ装置4のエラーログ受信部422はスレーブ装置1〜3からエラーログ131をそれぞれ受け取ると(S18、情報受信ステップ)、当該エラーログ131を累積ログ作成部423へ送る。累積ログ作成部423は各スレーブ装置のエラーログ131からエラーの種類毎にエラーカウントを読み出し、当該エラーカウントを、SDカード45に格納された累積ログ451に追加(足し合わせ)する(S20、ログ記憶ステップ)。
【0062】
マスタ装置4側でのS14〜S20の処理と、スレーブ装置1〜3側でのS56〜S58の処理とは、ユーザプログラム431に規定されたサイクル値の指定する時間間隔で、指定する回数繰り返される(S22でNO)。サイクル値が指定する回数分のエラーログ伝送指示を伝送した後は(S22でYES)、指示送信部421はユーザプログラム431のストップ命令を読み出し、最後の1回エラーログ伝送指示を伝送し(S24、指示送信ステップ)、スレーブ装置1〜3はS56およびS58と同様にエラーログ伝送指示を読み取り(S60)、エラーログ131をマスタ装置4に伝送する(S62)。マスタ装置4のエラーログ受信部422はスレーブ装置1〜3からエラーログ131をそれぞれ受け取り(S26、情報受信ステップ)、累積ログ作成部423はエラーログ131の示すエラーカウントを、累積ログ451に追加する(S28、ログ記憶ステップ)。指示送信部421は、累積ログ作成部423により、最後のエラーカウントの追加が終了すると、一連の処理を終了する。
【0063】
以上の処理によると、エラー監視システム100は、スレーブ装置1〜3にてそれぞれ記録されているエラーカウントを所定の周期で所定回数収集し、累積エラーログとして記録する。これにより、マスタ装置4は、自装置およびスレーブ装置1〜3が産業ネットワークにおいて稼働中であっても(生産ラインが稼働中であっても)、稼働を止めることなく通信エラーの発生を定性的および定量的に監視することができる。
〔変形例〕
なお、本発明に係るスレーブ装置1〜3はスレーブ計時部を備えていてもよい。この場合、スレーブ制御部12のエラーログ送信部123は、エラーログ131をマスタ装置4に伝送する際に、スレーブ計時部から供給される時刻を「ログ送信時刻」としてエラーログ131に対応付けて伝送してもよい。さらに、マスタ装置4の累積ログ作成部423は、累積ログを作成する際に、累積ログにログ最終取得時刻の代わりに、ログ送信時刻を含んでもよい。
【0064】
なお、エラー検出部122は、スレーブ通信部11を常時監視するのではなく、指示実行部121からスタート指示を受けたら、エラーカウントの初期化とともにスレーブ通信部11の監視(エラー検出)を開始してもよい。この場合、マスタ装置4はストップ命令に応じたエラーログ伝送指示を伝送する際に、エラーログの伝送が最後であることを示す終了情報を付加してスレーブ装置1〜3に伝送する。そして、スレーブ制御部12の指示実行部121は当該終了情報が付されたエラーログ伝送指示を受けると、エラーログ送信部123にエラーログを送信させるとともに、エラー検出部に対し、エラー検出のストップを指示してもよい。そして、エラー検出部122はエラー検出のストップの指示を受けると、スレーブ通信部11の通信エラーの監視を停止させてもよい。
【0065】
さらにこの場合、エラー検出部122はスタート指示を受けた場合ではなく、ストップ指示を受けた場合、かつエラーログ送信部123の最後のエラーログ送信後に、エラーログ131のエラーカウントを初期化してもよい。
【0066】
〔ソフトウェアによる実現例〕
マスタ装置4およびスレーブ装置1〜3の制御ブロック(特に制御部42およびスレーブ制御部12の各機能ブロック)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0067】
後者の場合、マスタ装置4およびスレーブ装置1〜3は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0068】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。