(57)【要約】【課題】複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる技術が望まれている。【解決手段】制御システムの制御装置は、互いに独立したネットワークに接続される第１通信部および第２通信部と、時刻を示す値を管理するタイマー部とを有する。制御装置は、第１通信部で送受信された第１通信データを収集し、当該通信データが送受信された時刻を示す値を第１通信データと関連付けて格納する。制御装置は、第２通信部で送受信された第２通信データを収集し、当該通信データが送受信された時刻を示す値を第２通信データと関連付けて格納する。【選択図】図１
2019159653.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置を含む制御システムであって、
前記制御装置は、第１のネットワークに接続される第１通信部と、
前記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部と、
時刻を示す値を管理するタイマー部と、
前記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データと関連付けて記憶装置に格納する第１収集機能と、
前記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データと関連付けて前記記憶装置に格納する第２収集機能とを含む、制御システム。
【請求項２】
前記時刻を示す値と関連付られた前記第１通信データと、前記時刻を示す値と関連付られた前記第２通信データとの配列を、前記時刻を示す値に基づいて並べ替えるソーティング部を含む、請求項１に記載の制御システム。
【請求項３】
前記制御装置から前記時刻を示す値と関連付られた前記第１通信データと、前記時刻を示す値と関連付られた前記第２通信データとを取得するサポート装置を含み、
前記サポート装置は、前記ソーティング部を含む、請求項２に記載の制御システム。
【請求項４】
前記サポート装置は、前記ソーティング部によって並べ替えられた通信データを含む画像を表示する表示部を含む、請求項３に記載の制御システム。
【請求項５】
前記表示部は、前記ソーティング部によって並べ替えられた通信データのうち、ユーザが指定した条件に合致した通信データの表示態様を変更して表示する、請求項４に記載の制御システム。
【請求項６】
前記第１収集機能および前記第２収集機能は、予め定められた条件に合致した前記通信データのみを収集する、請求項１〜５のいずれか１項に記載の制御システム。
【請求項７】
制御対象を制御し、第１のネットワークに接続される第１通信部と、前記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部とを含む制御装置の制御方法であって、
時刻を示す値を管理するステップと、
前記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データと関連付けて記憶装置に格納するステップと、
前記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データと関連付けて前記記憶装置に格納するステップとを含む、制御方法。
【請求項８】
制御対象を制御し、第１のネットワークに接続される第１通信部と、前記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部とを含む制御装置の制御プログラムであって、
前記制御プログラムは、前記制御装置に、
時刻を示す値を更新するステップと、
前記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データと関連付けて記憶装置に格納するステップと、
前記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データと関連付けて前記記憶装置に格納するステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御システムによる通信データを収集する技術に関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）を用いた生産現場では、ＰＬＣ（Programmable Logic Controller）やロボットコントローラなどの産業用の制御装置が導入されている。制御装置は、ネットワークにより通信可能な種々の産業用の駆動機器である外部装置を制御することで、生産工程を自動化することができる。このような制御装置に関して、特開２０１１−３５６６４号公報（特許文献１）は、制御装置にプロトコル機能を内蔵して、フレーム等の通信データをキャプチャするといったデータの収集が行える設備システムを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３５６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、産業用の制御装置は、ネットワークにおける通信に異常が発生したときの異常解析のための情報として、これまでは制御装置の通信部と接続された１つのフィールドネットワークのみから通信データを収集していた。しかしながら、制御部が複数の独立したネットワークにおいて通信データを遣り取りすることがあり、１つのフィールドネットワークのみから通信データを収集するだけでは、異常要因の解析を十分に行うことが困難となることがあった。
【０００５】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる技術を提供することである。
【課題を解決するための手段】
【０００６】
本開示の一例では、制御システムは制御装置を含み、制御装置は、第１のネットワークに接続される第１通信部と、上記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部と、時刻を示す値を管理するタイマー部と、上記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された上記時刻を示す値を上記第１通信データと関連付けて記憶装置に格納する第１収集機能と、上記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された上記時刻を示す値を上記第２通信データと関連付けて記憶装置に格納する第２収集機能とを含む。
【０００７】
この開示によれば、制御システムは、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。
【０００８】
本開示の一例では、上記時刻を示す値と関連付られた上記第１通信データと、上記時刻を示す値と関連付られた上記第２通信データとの配列を、上記時刻を示す値に基づいて並べ替えるソーティング部を含む。
【０００９】
この開示によれば、制御システムは、異常要因の特定に必要な通信データの関係性を明確にすることができる。
【００１０】
本開示の一例では、上記制御装置から上記時刻を示す値と関連付られた上記第１通信データと、上記時刻を示す値と関連付られた上記第２通信データとを取得するサポート装置を含み、上記サポート装置は、上記ソーティング部を含む。
【００１１】
この開示によれば、サポート装置は、異常要因の特定に必要な通信データを時系列に並べ替えられた状態でユーザに表示できる。
【００１２】
本開示の一例では、上記サポート装置は、上記ソーティング部によって並べ替えられた通信データを含む画像を表示する表示部を含む。
【００１３】
この開示によれば、サポート装置は、時系列に並べ替えられた異常要因の特定に必要な通信データをユーザに対して表示できる。
【００１４】
本開示の一例では、上記表示部は、上記ソーティング部によって並べ替えられた通信データのうち、ユーザが指定した条件に合致した通信データの表示態様を変更して表示する。
【００１５】
この開示によれば、サポート装置は、表示部に表示する通信データを異常要因の解析に必要な通信データに限定して表示部に出力できる。
【００１６】
本開示の一例では、上記第１収集機能および上記第２収集機能は、予め定められた条件に合致した上記通信データのみを収集する。
【００１７】
この開示によれば、制御装置は、異常要因の解析に必要な通信データを選択して収集できる。
【００１８】
本開示の他の例では、制御対象を制御し、第１のネットワークに接続される第１通信部と、前記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部とを含む制御装置の制御方法は、時刻を示す値を管理するステップと、上記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を上記第１通信データと関連付けて記憶装置に格納するステップと、上記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された上記時刻を示す値を上記第２通信データと関連付けて上記記憶装置に格納するステップとを含む。
【００１９】
この開示によれば、制御方法は、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。
【００２０】
本開示の他の例では、制御対象を制御し、第１のネットワークに接続される第１通信部と、前記第１のネットワークとは互いに独立した第２のネットワークに接続される第２通信部とを含む制御装置の制御プログラムは、上記制御装置に、時刻を示す値を更新するステップと、上記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された上記時刻を示す値を上記第１通信データと関連付けて記憶装置に格納するステップと、上記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された上記時刻を示す値を前記第２通信データと関連付けて上記記憶装置に格納するステップとを実行させる。
【００２１】
この開示によれば、制御プログラムは、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。
【発明の効果】
【００２２】
ある局面において、ユーザプログラムに含まれる命令に従って、フィルタリング条件を任意に変更できる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態に従うＦＡシステム１の構成例を示す図である。
【図２】本実施の形態に従うコントローラ１０のハードウェア構成例を示すブロック図である。
【図３】本実施の形態に係るＦＡシステム１を構成するサポート装置３００のハードウェア構成例を示すブロック図である。
【図４】本実施の形態に従うＦＡシステム１の具体例を示す図ある。
【図５】本実施の形態に従うマージとソーティングの処理について説明する図である。
【図６】本実施の形態に従う第１通信記録リスト３６ａの具体例を示す図である。
【図７】本実施の形態に従う第２通信記録リスト３６ｂの具体例を示す図である。
【図８】本実施の形態に従う第１通信記録リスト３６ａと第２通信記録リスト３６ｂとをマージした後の第１統合通信記録リスト３６ｃを示す図である。
【図９】本実施の形態に従うソーティング処理の実行により生成された第２統合通信記録リスト３６ｄを含む画像４００ａの一例を示す図である。
【図１０】本実施の形態に従うコントローラ１０が実行する処理の一部を表わすフローチャートである。
【図１１】本実施の形態に従うサポート装置３００が実行する処理の一部を表わすフローチャートである。
【図１２】本実施の形態に従うファンクションブロックＦＢの説明図である。
【図１３】本実施の形態に従うソーティング処理の実行により生成された画像の他の例を示す図である。
【図１４】本実施の形態に従うマージとソーティングの他の処理について説明する図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００２５】
＜Ａ．適用例＞
図１を参照して、本発明の適用例について説明する。図１は、本実施の形態に従うＦＡシステム１の構成例を示す図である。
【００２６】
ＦＡシステム１は、設備および装置などの制御対象を制御し、生産工程を自動化するための制御システムである。ＦＡシステム１は、制御部（以下、「コントローラ」ともいう。）１０と外部装置２００Ａ、および、２００Ｂの複数の外部装置とで構成されている。
【００２７】
外部装置２００Ａは、上位ネットワークＮ１と接続され、制御装置１０の第１通信部（以下、「上位ネットワークコントローラ」ともいう。）１００Ａと通信データの遣り取りを行う。具体的には、外部装置２００Ａはデータベースシステムや、製造実行システム（ＭＥＳ：Manufacturing Execution System）等のサーバ装置を含む。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。
【００２８】
外部装置２００Ｂは、下位ネットワークであるフィールドネットワークＮ２に接続され、制御装置１０の第２通信部（以下、「フィールドネットワークコントローラ」ともいう。）１００Ｂと通信データの遣り取りを行う。具体的には、外部装置２００Ｂは生産工程を搬送されるワークを撮影するためのカメラを用いた画像センサや、ワークに対する加工処理等を実行するアームロボットの通信データを送受信するリモートＩ／Ｏ装置等の生産工程で利用される機器を含む。
【００２９】
上位ネットワークＮ１には、例えば、一般的なネットワークプロトコルであるＥｔｈｅｒＮＥＴ（登録商標）ベースの産業用ネットワークプロトコルであるＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）等が採用される。また、フィールドネットワークＮ２には、例えば、産業用ネットワークプロトコルとして用いられるＥｔｈｅｒＣＡＴ（登録商標）等が採用される。
【００３０】
制御装置１０は、第１通信部１００Ａおよび第２通信部１００Ｂと、主メモリ１０６と、タイマー１１６と、第１スイッチＳＷ１と、第２スイッチＳＷ２と、第１加算部１０５０と、第２加算部１０６０と、記憶装置１０８とで構成されている。
【００３１】
上位ネットワークＮ１に接続される第１通信部１００Ａが、外部装置２００Ａから第１通信データ１５０ａを受信すると、主メモリ１０６が第１通信データ１５０ａを記憶する。主メモリ１０６が第１通信部１００Ａが受信した第１通信データ１５０ａを収集（キャプチャ）することで、第１スイッチＳＷ１に指示信号が出力される。第１スイッチＳＷ１は、タイマー１１６と第１加算部１０５０との間に設けられたスイッチである。第１スイッチＳＷ１は指示信号に基づき、ＯＦＦ（開）状態→ＯＮ（閉）状態となる。これにより、タイマー１１６と第１加算部１０５０とが電気的に接続された状態となる。
【００３２】
タイマー１１６は、時刻を管理して当該時刻を示す値を出力する装置である。時刻を示す値は、例えば、所定周期ごとに更新されるカウント値である。
【００３３】
第１加算部１０５０は、タイマー１１６が出力した時刻を示す値である第１時刻値１５０ｂを、主メモリ１０６に記憶された第１通信データ１５０ａに付加する。このように、第１スイッチＳＷ１がＯＮ（閉）状態になると、タイマー１１６から出力された時刻を示す値が第１加算部１０５０に入力され、主メモリ１０６に記憶された第１通信データ１５０ａと第１時刻値１５０ｂとが関連付られる。そして、第１時刻値１５０ｂが関連付けられた通信データである第１時刻付与データ１５０ｃが記憶装置１０８に格納される。
【００３４】
このように、制御装置１０は、第１通信部１００Ａで第１通信データ１５０ａが受信された場合に、主メモリ１０６に当該第１通信データ１５０ａを収集するとともに、第１通信データ１５０ａが受信された時刻を示す値である第１時刻値１５０ｂを第１通信データ１５０ａと関連付けて記憶装置１０８に格納する第１収集機能１０１Ａを有する。
【００３５】
フィールドネットワークＮ２に接続される第２通信部１００Ｂが、外部装置２００Ｂに第２通信データ１６０ａを送信する場合に、主メモリ１０６が第２通信データ１６０ａを記憶する。主メモリ１０６が第２通信部１００Ｂが送信する第２通信データ１６０ａを収集（キャプチャ）することで、第２スイッチＳＷ２に指示信号が出力される。第２スイッチＳＷ２は、タイマー１１６と第２加算部１０６０との間に設けられたスイッチである。第２スイッチＳＷ２は指示信号に基づき、ＯＦＦ（開）状態→ＯＮ（閉）状態となる。これにより、タイマー１１６と第２加算部１０６０とが電気的に接続された状態となる。
【００３６】
第２加算部１０６０は、タイマー１１６が出力した時刻を示す値である第２時刻値１６０ｂを、主メモリ１０６に記憶された第２通信データ１６０ａに付加する。このように、第２スイッチＳＷ２がＯＮ（閉）状態になると、タイマー１１６から出力された時刻を示す値が第２加算部１０６０に入力され、主メモリ１０６に記憶された第２通信データ１６０ａと第２時刻値１６０ｂとが関連付られる。そして、第２時刻値１６０ｂが付与された通信データである第２時刻付与データ１６０ｃは記憶装置１０８に格納される。
【００３７】
なお、以下では、第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとを総称して「時刻付与データ」ともいう。
【００３８】
このように、制御装置１０は、第２通信部１００Ｂで第２通信データ１６０ａが送信される場合に、主メモリ１０６に当該第２通信データ１６０ａを収集するとともに、第２通信データ１６０ａが送信された時刻を示す値である第２時刻値１６０ｂを第２通信データ１６０ａと関連付けて記憶装置１０８に格納する第２収集機能１０１Ｂを有する。
【００３９】
ここで、第１通信データ１５０ａと第２通信データ１６０ａとは、互いに独立した複数のネットワークを跨いで送受信される通信データである。具体的には、上位ネットワークＮ１の外部装置２００Ａ（例えば、ＭＥＳサーバ装置２００ａ）からフィールドネットワークＮ２の外部装置２００Ｂ（例えば、画像センサ２００ｄ）にワークの種類に応じた設定情報が送信される場合に、制御装置１０を介して送受信される通信データである。
【００４０】
外部装置２００Ａは、上位ネットワークＮ１のプロトコル（例えば、ＥｔｈｅｒＮｅｔ／ＩＰ）に基づき、設定情報を含む第１通信データ１５０ａを制御装置１０に送信する。制御装置１０は、フィールドネットワークＮ２のプロトコル（例えば、ＥｔｈｅｒＣＡＴ）に基づき、設定情報を含む第２通信データ１６０ａを外部装置２００Ｂ（例えば、画像センサ２００ｄ）に送信する。
【００４１】
制御装置１０は、このように複数のネットワークを跨いで送受信されて互いに関連性を有する通信データに同一のタイマー１１６から出力される時刻を示す値を関連付けて記憶装置１０８に格納する。これにより、互いに独立した複数のネットワークにおいて遣り取りされ、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。
【００４２】
なお、上述の例では、第１通信部１００Ａで受信される第１通信データ１５０ａに付与された時刻を示す値である第１時刻値１５０ｂは、第２通信部１００Ｂで送信される第２通信データ１６０ａに付与される時刻を示す値である第２時刻値１６０ｂよりも時間的に前の時刻を示す値となる。
【００４３】
また、上述の説明では、第１通信部１００Ａが、外部装置２００Ａから受信した第１通信データ１５０ａに第１時刻値１５０ｂを関連付けて記憶装置１０８に格納する。第２通信部１００Ｂが、外部装置２００Ｂに送信する第２通信データ１６０ａに第２時刻値１６０ｂを関連付けて格納する場合とについて説明した。これに対して、第１通信部１００Ａと第２通信部１００Ｂの通信データとにおける通信データの送信および受信の関係は逆であってもよい。具体的には、第２通信部１００Ｂが外部装置２００Ｂから受信した通信データに時刻を示す値を関連付けて記憶装置１０８に格納し、第１通信部１００Ａが、外部装置２００Ａに送信する通信データに時刻を示す値を関連付けて格納するようにしてもよい。このような場合も、第２通信部１００Ｂおよび第１通信部１００Ａで送受信され、主メモリ１０６で収集された後に記憶装置１０８格納される通信データは互いに独立した複数のネットワークを跨ぐ通信データとなる。
【００４４】
具体的には、ワークの種類に応じてアームロボットが動作した座標位置情報が、フィールドネットワークＮ２の外部装置２００Ｂ（例えば、リモートＩ／Ｏ装置２００ｆ）から上位ネットワークＮ１の外部装置２００Ａ（例えば、データベースサーバ装置２００ｂ）に送信される場合に、外部装置２００Ｂから制御装置１０に受信される通信データと、制御装置１０から外部装置２００Ａに送信される通信データとが主メモリ１０６に収集されるとともに、それぞれの通信データに時刻を示す値が関連付けられて、記憶装置１０８に格納される。
【００４５】
なお、上述の例では、第１通信部１００Ａで受信される通信データに付与された時刻を示す値は、第２通信部１００Ｂで送信される通信データに付与される時刻を示す値よりも時間的に後の時刻を示す値となる。
【００４６】
＜Ｂ．コントローラのハードウェア構成＞
図２は、本実施の形態に従うコントローラ１０のハードウェア構成例を示すブロック図である。図２を参照して、コントローラ１０は、プロセッサ１０２と、チップセット１０４と、主メモリ１０６と、記憶装置１０８と、タイマー１１６と、ＵＳＢ（Universal Serial Bus）インターフェイス１１８と、メモリカードインターフェイス１２０と、内部バスコントローラ１３０と、上位ネットワークコントローラ１００Ａと、フィールドネットワークコントローラ１００Ｂとを含む。
【００４７】
プロセッサ１０２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）などで構成される。プロセッサ１０２としては、複数のコアを有する構成を採用してもよいし、プロセッサ１０２を複数配置してもよい。このように、コントローラ１０は、１または複数のプロセッサ１０２、および／または、１または複数のコアを有するプロセッサ１０２を有している。
【００４８】
チップセット１０４は、プロセッサ１０２および周辺エレメントを制御することで、コントローラ１０全体としての処理を実現する。チップセット１０４は、第１スイッチＳＷ１と、第２スイッチＳＷ２と、第１加算部１０５０と、第２加算部１０６０とを含む。
【００４９】
主メモリ１０６は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。記憶装置１０８は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成される。
【００５０】
プロセッサ１０２は、記憶装置１０８に格納された各種プログラムを読出して、主メモリ１０６に展開して実行することで、制御対象に応じた制御を実現する。記憶装置１０８には、制御装置１０の基本的な処理を実行するためのユーザプログラム１１０に加えて、システムプログラム１１５が含まれる。また、記憶装置１０８には、第１収集機能１０１Ａの実行の際に展開される第１収集プログラム１０１０Ａと、第２収集機能１０１Ｂの実行の際に展開される第２収集プログラム１０１０Ｂとに加えて、第１収集機能１０１Ａと第２収集機能１０１Ｂとの実行により格納される第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとを含む。なお、第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとは通常複数のデータが格納される。
【００５１】
具体的には、プロセッサ１０２は、第１通信データ１５０ａを主メモリ１０６に収集するとともに、第１時刻値１５０ｂを第１通信データ１５０ａと関連付けた第１時刻付与データ１５０ｃを記憶装置１０８に格納する。また、プロセッサ１０２は、第２通信データ１６０ａを主メモリ１０６に収集するとともに、第２時刻値１６０ｂと第２通信データ１６０ａと関連付けた第２時刻付与データ１６０ｃを記憶装置１０８に格納する。
【００５２】
タイマー１１６は、コントローラ１０に関する時刻を管理して、当該時刻を示す値を出力する装置である。
【００５３】
ＵＳＢインターフェイス１１８は、ＵＳＢ接続を介した装置との間のデータ通信を仲介する。ＵＳＢインターフェイス１１８は、後述するサポート装置３００との接続を可能とする。
【００５４】
メモリカードインターフェイス１２０は、メモリカード１２２が着脱可能に構成されており、メモリカード１２２に対してデータを書込み、メモリカード１２２から各種データ（ユーザプログラムやトレースデータなど）を読出すことが可能になっている。
【００５５】
上位ネットワークコントローラ１００Ａは、上位ネットワークＮ１に接続され、サーバ装置等の外部装置２００Ａと遣り取りされる第１通信データ１５０ａの仲介が可能になっている。
【００５６】
フィールドネットワークコントローラ１００Ｂは、フィールドネットワークＮ２に接続され、生産工程で利用される画像センサ等の外部装置２００Ｂと遣り取りされる通信データの仲介が可能になっている。
【００５７】
内部バスコントローラ１３０は、コントローラ１０に装着される機能ユニットとの間で遣り取りされる通信データの仲介が可能となっている。
【００５８】
図２には、プロセッサ１０２がプログラムを実行することで必要な処理が実現される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００５９】
＜Ｃ．サポート装置のハードウェア構成＞
図３は、本実施の形態に係るＦＡシステム１を構成するサポート装置３００のハードウェア構成例を示すブロック図である。サポート装置３００は、ユーザプログラム１１０を設計するための開発環境を設計者に提供する。サポート装置３００は、たとえば、ノート型ＰＣ、デスクトップ型ＰＣ、タブレット端末、または、スマートフォンなどである。設計者は、サポート装置３００上でユーザプログラム１１０を設計し、当該ユーザプログラム１１０をＵＳＢインターフェイス１１２を介してコントローラ１０にダウンロードすることができる。
【００６０】
図３を参照して、サポート装置３００は、ＣＰＵやＭＰＵなどのプロセッサ３０２と、光学ドライブ３０４と、主記憶装置３０６と、二次記憶装置３０８と、ＵＳＢコントローラ３１２と、ローカルネットワークコントローラ３１４と、入力部３１６と、表示部３１８とを含む。これらのデバイスはバス３２０を介して接続される。プロセッサ３０２は、二次記憶装置３０８に格納された各種プログラムを読み出して、主記憶装置３０６に展開して実行することで、後述するような各種処理を実現する。二次記憶装置３０８は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Flash Solid State Drive）などで構成される。二次記憶装置３０８は、ＯＳ（Operating System）３２２と、開発プログラム３２４と、ソーティングプログラム３２６と、解析プログラム３２８とを含む。
【００６１】
ＯＳ３２２は、プロセッサ３０２が開発プログラム３２４や解析プログラム３２８等の各種プログラムを実行するための基本的な実行環境を提供する。
【００６２】
開発プログラム３２４は、サポート装置３００において実行されるユーザプログラムの作成、作成したプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うためのプログラムである。典型的には、ＰＬＣのメーカーあるいは専門のソフトウェア会社などによって提供される。
【００６３】
ソーティングプログラム３２６は、プロセッサ３０２が、複数の第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとの配列を、時刻を示す値に基づいて並べ替える処理を行う場合に、主記憶装置３０６に展開されるプログラムである。このソーティングプログラム３２６を用いた処理については後述する。
【００６４】
解析プログラム３２８は、互いに独立した複数のネットワークから収集した時刻付与データを含む通信データに基づいて、ネットワークにおける通信の異常要因の解析を実行する場合に用いられるプログラムである。
【００６５】
プロセッサ３０２は、解析プログラム３２８を主記憶装置３０６に展開して実行し、コントローラ１０の記憶装置１０８に格納される第１時刻付与データ１５０ｃ第２時刻付与データ１６０ｃとを取得して、これらの時刻付与データを含む通信データに基づいて、ネットワークにおける通信の異常要因の解析を実行する。プロセッサ３０２は、例えば、時刻付与データを用いて、通信データの送受信におけるタイムアウト回数やリトライ回数を取得し、外部装置２００Ａおよび外部装置２００Ｂのどの処理（例えば、ダウンロードの指示）が原因で通信に異常が発生したのかを容易に特定できる。
【００６６】
サポート装置３００は、光学ドライブ３０４を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体３０５（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られて二次記憶装置３０８などにインストールされる。
【００６７】
サポート装置３００で実行される各種プログラムは、コンピュータ読取可能な記録媒体３０５を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置３００が提供する機能は、ＯＳ３２２が提供するモジュールの一部を利用する形で実現される場合もある。
【００６８】
ＵＳＢコントローラ３１２は、ＵＳＢ接続を介してコントローラ１０との間のデータの遣り取りを制御する。
【００６９】
ローカルネットワークコントローラ３１４は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。
【００７０】
入力部３１６は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部３１８は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ３０２からの処理結果などを出力する。
【００７１】
図３には、プロセッサ３０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００７２】
＜Ｄ．ＦＡシステムの具体例＞
次に、本実施の形態に従うＦＡシステム１の具体例について説明する。図４は、本実施の形態に従うＦＡシステム１の具体例を示す図ある。
【００７３】
ＦＡシステム１は、コントローラ１０と、外部装置２００Ａおよび外部装置２００Ｂと、サポート装置３００とを有する。
【００７４】
コントローラ１０は、互いに独立した複数のネットワークに接続され得る。図４の例では、コントローラ１０は通信ポート２００Ｐ１と通信ポート２００Ｐ２とを含む複数の通信ポートを有する。通信ポート２００Ｐ１は上位のネットワークＮ１に接続され、通信ポート２００Ｐ２は下位のネットワークであるフィールドネットワークＮ２に接続される。
【００７５】
上位のネットワークＮ１には、外部装置であるＭＥＳサーバ装置２００ａと、データベースサーバ装置２００ｂと、表示器２００ｃとが接続されている。ＭＥＳサーバ装置２００ａやデータベースサーバ装置２００ｂは、製造実行システム（ＭＥＳ）、データベースシステムなどが想定される。これに限らず、情報系サービス（制御対象から各種情報を取得して、マクロ的またはミクロ的な分析などを行う処理）を提供する装置を上位ネットワークＮ１に接続するようにしてもよい。表示器２００ｃは、コントローラ１０での演算結果などをグラフィカルに表示し、ユーザからの操作を受けて、コントローラ１０に対してユーザ操作に応じたコマンドなどを出力する機器などが想定される。
【００７６】
フィールドネットワークＮ２には、ワークＷを撮像するカメラ２００ｅと電気的に接続された画像センサ２００ｄと、ワークＷを把持するアームロボット２００ｇの通信データを送受信するリモートＩ／Ｏ装置２００ｆとが接続されている。
【００７７】
次に、コントローラ１０の第１収集機能１０１Ａ、および、第２収集機能１０１Ｂを用いた処理について説明する。以下では、ＭＥＳサーバ装置２００ａがワークＷの種類に応じた設定情報を画像センサ２００ｄに送信する場合を例として説明する。
【００７８】
コントローラ１０は、第１収集機能１０１Ａを用いて、ＭＥＳサーバ装置２００ａから受信した設定情報に関する第１通信データ１５０ａを主メモリ１０６に記憶する。
【００７９】
また、コントローラ１０は、第１収集機能１０１Ａを用いて、主メモリ１０６に記憶された第１通信データ１５０ａと、タイマー１１６から出力される第１時刻値１５０ｂとが関連付けられた第１時刻付与データ１５０ｃを記憶装置１０８に格納する。
【００８０】
次に、コントローラ１０は、第２収集機能１０１Ｂを用いて、コントローラ１０から送信する設定情報に関する第２通信データ１６０ａを主メモリ１０６に記憶する。
【００８１】
また、コントローラ１０は、第２収集機能１０１Ｂを用いて、主メモリ１０６に記憶された第２通信データ１６０ａと、タイマー１１６から出力される第２時刻値１６０ｂとが関連付けられた第２時刻付与データ１６０ｃを記憶装置１０８に格納する。これにより、複数のネットワークを跨いだ通信に関する異常要因の解析に必要な通信データを容易に収集できる。
【００８２】
次に、コントローラ１０は、サポート装置３００からの取得要求に応じて、記憶装置１０８に格納した第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとをサポート装置３００に送信する。
【００８３】
サポート装置３００のプロセッサ３０２は、ＵＳＢコントローラ３１２を介してコントローラ１０から第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとを受信すると、ソーティングプログラム３２６を主メモリに展開して、第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとを統合（マージ）し、マージ後のデータを時刻を示す値に基づいて並べ替えるソーティングの処理を実行する。以下、マージとソーティングの処理について説明する。
【００８４】
＜Ｅ．時刻付与データのマージとソーティングの処理説明＞
図５は、本実施の形態に従うマージとソーティングの処理について説明する図である。コントローラ１０のプロセッサ１０２が第１収集機能１０１Ａを用いた処理を実行すると、複数の第１時刻付与データ１５０ｃを含む通信の記録リスト（以下、「第１通信記録リスト」ともいう。）３６ａが生成される。具体的には、上位ネットワークＮ１における外部装置２００Ａとコントローラ１０とが通信の遣り取りをすることで発生する通信データごとに異なる時刻を示す値１５０ｂが付与された第１時刻付与データ１５０ｃが記憶装置１０８に格納される。第１通信記録リスト３６ａは、このようにして記憶装置１０８に格納された複数の第１時刻付与データ１５０ｃを含む。
【００８５】
また、プロセッサ１０２が第２収集機能１０１Ｂを用いた処理を実行すると、複数の第２時刻付与データ１６０ｃを含む通信の記録リスト（以下、「第２通信記録リスト」ともいう。）３６ｂが生成される。具体的には、フィールドネットワークＮ２における外部装置２００Ｂとコントローラ１０とが通信の遣り取りをすることで発生する通信データごとに異なる時刻を示す値１６０ｂが付与された第２時刻付与データ１６０ｃが記憶装置１０８に格納される。第２通信記録リスト３６ｂは、このようにして記憶装置１０８に格納された複数の第２時刻付与データ１６０ｃを含む。
【００８６】
図６は、本実施の形態に従う第１通信記録リスト３６ａの具体例を示す図である。図６の第１通信記録リスト３６ａは、通信データに関する複数のフィールドを含む。具体的には、第１通信記録リスト３６ａは、シリアル番号フィールド３６０と、時刻フィールド３６１と、送信元アドレスフィールド３６２と、受信元アドレスフィールド３６３と、プロトコルフィールド３６４と、ポートフィールド３６５と、内容フィールド３６６とを含む。
【００８７】
シリアル番号フィールド３６０には、対象の通信データを特定するための識別情報としての通し番号が格納される。
【００８８】
時刻フィールド３６１には、コントローラ１０が上位ネットワークＮ１の外部装置２００Ａと通信データを送受信した時刻を示す値が格納される。具体的には、時刻の値や、所定周期ごとに更新されるカウント値等が格納される。
【００８９】
送信元アドレスフィールド３６２には、対象パケットまたは対象フレームの送信先を示すアドレス（物理アドレスおよび／またはネットワークアドレス）が格納される。
【００９０】
受信元アドレスフィールド３６３には、対象パケットまたは対象フレームの受信先を示すアドレス（物理アドレスおよび／またはネットワークアドレス）が格納される。
【００９１】
プロトコルフィールド３６４には、対象パケットまたは対象フレームの送受信に用いられたプロトコルを示す情報が格納される。具体的には「ＨＴＴＰ」や「ＦＴＰ」や「ＴＣＰ」等のプロトコルを示す情報が格納される。
【００９２】
ポートフィールド３６５には、対象パケットまたは対象フレームの送受信に用いられたポート番号が格納される。
【００９３】
内容フィールド３６６には、対象パケットまたは対象フレームの内容の全部または一部（例えば、ヘッダ情報やプリアンブルなど）が格納される。
【００９４】
図６の第１通信記録リスト３６ａでは一例として３個の時刻付与データである第１時刻付与データ１５０ｃａ、１５０ｃｂ、および、１５０ｃｃを含み、それぞれのデータの各フィールドに情報が格納されている。なお、第１通信記録リスト３６ａに含まれるデータの個数は４個以上でも２個以下でもよい。第１通信記録リスト３６ａのデータは、上位ネットワークにおける外部装置２００Ａとコントローラ１０とが通信データの送受信を行うことで、データの履歴数が増加する。
【００９５】
図７は、本実施の形態に従う第２通信記録リスト３６ｂの具体例を示す図である。図７の第２通信記録リスト３６ｂは、前述の第１通信記録リスト３６ａと基本的には同一のフィールドを有する。第２通信記録リスト３６ｂと第１通信記録リスト３６ａとのフィールドに関して異なる点は、第２通信記録リスト３６ｂが、第１通信記録リスト３６ａの受信元アドレスフィールド３６３に替えて、種別フィールド３６７を含むことである。種別フィールド３６７には、各アクセス履歴の対象パケットまたは対象フレームの種別を示す情報が格納される。具体的には、「Broadcast」や「Multicast」等の通信データの種別を示す情報が格納される。
【００９６】
図７では、フィールドネットワークＮ２における外部装置２００Ｂとコントローラ１０とが通信データの送受信を行うことで、第２通信記録リスト３６ｂに含まれる通信データの履歴数が増加する。
【００９７】
図７の第２通信記録リスト３６ｂでは一例として、１２個の第２時刻付与データ１６０ｃを含み、このうちの第２時刻付与データ１６０ｃａ、１６０ｃｂ、および、１６０ｃｃが上述の上位ネットワークＮ１における第１時刻付与データ１５０ｃａ、１５０ａｂ、および、１５０ｃｃに対応するネットワークを跨いだ通信データである。
【００９８】
以下では、図６の第１時刻付与データ１５０ｃａと図７の第２時刻付与データ１６０ｃａとを例にこれらの時刻付与データの対応関係について説明する。
【００９９】
上位ネットワークＮ１における外部装置２００Ａ（例えば、ＭＥＳサーバ装置２００ａ）がフィールドネットワークＮ２における外部装置２００Ｂ（例えば、画像センサ２００ｄ）に通信データを送信する場合は、次のような時刻付与データが記憶装置１０８に格納される。
【０１００】
プロセッサ１０２は、第１収集機能１０１Ａを用いて、上位ネットワークＮ１におけるＭＥＳサーバ装置２００ａからコントローラ１０に送信された通信データを収集するとともに、コントローラ１０が当該通信データを受信した時刻を示す値が関連付けられた第１時刻付与データ１５０ｃａを記憶装置１０８に格納する。このように、プロセッサ１０２は、図６に示す第１通信記録リスト３６ａの時刻フィールド３６１の値とその他のフィールドの値とを含む第１時刻付与データ１５０ｃａを第１通信記録リスト３６ａに追加する。
【０１０１】
プロセッサ１０２は、第２収集機能１０１Ｂを用いて、コントローラ１０からフィールドネットワークＮ２における画像センサ２００ｄに送信される通信データを収集するとともに、コントローラ１０が当該通信データを送信した時刻を示す値が関連付けられた第２時刻付与データ１６０ｃａを記憶装置１０８に格納する。このように、プロセッサ１０２は、図７に示す第２通信記録リスト３６ｂの時刻フィールド３６１の値とその他のフィードの値とを含む第２時刻付与データ１６０ｃａを第２通信記録リスト３６ｂに追加する。
【０１０２】
上位ネットワークＮ１におけるＭＥＳサーバ装置２００ａからフィールドネットワークにおける画像センサ２００ｄに通信データを送信する場合、コントローラ１０が当該通信データをＭＥＳサーバ装置２００ａから受信した時刻と、当該通信データを画像センサ２００ｄに送信した時刻とは、その他の通信データが送受信された比べて時間の経過が少ない時刻なる（２つのデータの時間間隔が非常に短い間隔となる）。このような場合に、２つの時刻付与データは異なるネットワークを跨いだ関連性を有するデータとなる。このように、コントローラ１０は、異常要因の解析のための複数のネットワークを跨いだ通信データを容易に収集できる。
【０１０３】
なお、第１時刻付与データ１５０ｃｂおよび第２時刻付与データ１６０ｃｂと、第１時刻付与データ１５０ｃｃおよび第２時刻付与データ１６０ｃｃとは、複数のネットワークを跨いだ通信データである。これらのデータのうち第１時刻付与データは第１通信記録リスト３６ａに追加されたデータであり、第２時刻付与データは第２通信記録リスト３６ｂに追加されたデータである。
【０１０４】
図５に戻り、上述のようにコントローラ１０が生成した第１通信記録リスト３６ａと第２通信記録リスト３６ｂとは、サポート装置３００へ送信される。コントローラ１０からサポート装置３００へのデータの送信は、例えば、ユーザがサポート装置３００の入力部３１６を操作することで実行してもよいし、予め定められた時間ごとに実行するようにしてもよい。
【０１０５】
サポート装置３００のプロセッサ３０２は、第１通信記録リスト３６ａと第２通信記録リスト３６ｂとを受信すると、ソーティングプログラム３２６を主記憶装置３０６に展開して、第１通信記録リスト３６ａと第２通信記録リスト３６ｂとを１つのリスト（第１統合通信記録リスト３６ｃ）にマージする。
【０１０６】
図８は、本実施の形態に従う第１通信記録リスト３６ａと第２通信記録リスト３６ｂとをマージした後の第１統合通信記録リスト３６ｃを示す図である。
【０１０７】
サポート装置３００のプロセッサ３０２は、ソーティングプログラム３２６を主記憶装置３０６に展開して、マージの処理を実行する。図８では、プロセッサ３０２がマージの処理を実行した後に生成される第１統合通信記録リスト３６ｃの内容が示されている。この第１統合通信記録リスト３６ｃでは、第１時刻付与データ１５０ｃａ、１０５ｃｂ、および、１５０ｃｃを含む複数の第１時刻付与データと、第２時刻付与データ１６０ｃａ、１６０ｃｂ、および、１６０ｃｃを含む複数の第２時刻付与データとがシリアル番号フィールド３６０のシリアル番号順に配列されている。このようにマージされた時点では、第１通信記録リスト３６ａに含まれる複数の第１時刻付与データと、第２通信記録リスト３６ｂに含まれる複数の第２時刻付与データとは、それぞれがシリアル番号順に並んだ状態となる。
【０１０８】
そして、プロセッサ３０２は、ソーティングプログラム３２６の処理により、第１統合通信記録リスト３６ｃに含まれる複数の時刻付与データを時刻を示す値に基づいてソーティングした第２統合通信記録リスト３６ｄを生成し、このリストに関する画像をサポート装置３００の表示部３１８に表示する。
【０１０９】
図９は、本実施の形態に従うソーティング処理の実行により生成された第２統合通信記録リスト３６ｄを含む画像４００ａの一例を示す図である。
【０１１０】
この第２統合通信記録リスト３６ｄは、プロセッサ３０２が第１統合通信記録リスト３６ｃにおいてシリアル番号順に並んだ複数の時刻付与データの時刻を示す値に基づいて、並べ替えたリストである。プロセッサ３０２は、例えば、第１統合通信記録リスト３６ｃに含まれる複数の第１時刻付与データ１５０ｃと第２時刻付与データ１６０ｃとを時刻の早い順に並べ替えて第２統合通信記録リスト３６ｄを生成する。第２統合通信記録リスト３６ｄを含む画像４００ａは表示部３１８に表示される。
【０１１１】
具体的には、プロセッサ３０２は、複数のネットワークを跨いだ２つの時刻付与データを時系列に（前後に）配列する。例えば、プロセッサ３０２は、図９に示す第１時刻付与データ１５０ｃａの直後に第２時刻付与データ１６０ｃａを配列する。また、プロセッサ３０２は、第１時刻付与データ１５０ｃｂの直後に第２時刻付与データ１６０ｃｂを配列し、第１時刻付与データ１５０ｃｃの直後に第２時刻付与データ１６０ｃｃを配列する。このように、プロセッサ３０２は、第１統合通信記録リスト３６ｃに含まれる複数の時刻付与データを時刻の早い順に並べ替えて第２統合通信記録リスト３６ｄを含む画像４００ａを生成する。プロセッサ３０２は、生成された画像４００ａを表示部３１８に表示する。このようにネットワークを跨いだ関連する処理の通信データを前後の並びの位置に示す第２統合通信記録リスト３６ｄの画像を表示部３１８に表示することで、画像を視認したユーザは、ネットワークを跨いだ関連する処理の通信データの記録を時系列で確認でき、異常要因の解析が容易に行える。
【０１１２】
なお、上述の例では、プロセッサ３０２が時刻付与データを時刻の早い順に並べ替えることについて説明した。これに対して、プロセッサ３０２は、時刻付与データを時刻の早い順に並べ替える以外の方法で並べ替える（例えば、時刻の遅い順に並べ替える）ようにしてもよい。
【０１１３】
また、これまではサポート装置３００のプロセッサ３０２がマージの処理やソーティングの処理を実行することについて説明した。これに対して、コントローラ１０のプロセッサ１０２がマージの処理やソーティングの処理を実行するようにしてもよい。その場合は、コントローラ１０の記憶装置１０８にソーティングプログラムを格納しておき、コントローラ１０のプロセッサ１０２がソーティングプログラムを主メモリ１０６に展開することで、処理が実行される。
【０１１４】
また、図９の画像４００ａは、フィールドの情報に基づき特定の時刻付与データを選択可能な選択部４０１〜４０３を含む。
【０１１５】
具体的には、選択部は、ネットワーク選択部４０１と、プロトコル選択部４０２と、カラー選択部４０３とを含む。これらの選択部は、それぞれ複数の選択項目を含む。ネットワーク選択部４０１は、第１ネットワーク選択項目４０１ａと第２ネットワーク選択項目４０１ｂとを含む。プロトコル選択部４０２は、第１プロトコル選択項目４０２ａおよび第２プロトコル選択項目４０２ｂとを含む。カラー選択部４０３は、第１カラー選択項目４０３ａと第２カラー選択項目４０３ｂとを含む。
【０１１６】
ネットワーク選択部４０１のネットワーク選択項目は、時刻付与データを選択する場合の条件を設定する項目であり、複数のネットワークのうちの特定のネットワークで遣り取りされた時刻付与データを選択するため項目である。
【０１１７】
プロトコル選択部４０２のプロトコル選択項目は、時刻付与データを選択する場合の条件を設定する項目であり、特定の通信プロトコルで遣り取りされた時刻付与データを選択するための項目である。
【０１１８】
カラー選択部４０３のカラー選択項目は、上記２つの選択項目に基づき選択された時刻付与データを画像上で表示する色について選択する項目である。
【０１１９】
これらの選択部に含まれる複数の選択項目は、ユーザがサポート装置３００の入力部３１６を操作して選択する項目である。ユーザの操作により選択された項目の内容に応じて、プロセッサ３０２は、表示部３１８に表示される画像４００ａの表示態様を変更する。
【０１２０】
一例として、プロセッサ３０２は、ユーザの入力部３１６の操作により、第１ネットワーク選択項目４０１ａにおいて「上位ネットワーク」と、プロトコル選択部４０２の第１プロトコル選択項目４０２ａにおいて「ＨＴＴＰ」と、カラー選択部４０３の第１カラー選択項目４０３ａにおいて「赤色」とが選択されると、これらの選択に応じた画像４００ａを表示部３１８に表示する。具体的には、上位ネットワークＮ１における外部装置２００Ａに関連する第１時刻付与データ１５０ｃａ、１５０ｃｂ、および、１５０ｃｃのうち、プロトコルフィールド３６４が「ＴＣＰ」である第１時刻付与データ１５０ｃｂおよび１５０ｃｃが赤色で強調表示される。
【０１２１】
このように、ユーザの選択条件に合致する時刻付与データを強調表示することで、当該強調表示された時刻付与データと、この時刻付与データと関連性を有する他の時刻付与データとをユーザが確認でき、異常要因の解析を容易に行える。
【０１２２】
なお、ネットワーク選択部４０１は、第１ネットワーク選択項目４０１ａ以外にも第２ネットワーク選択項目４０１ｂを含む。また、プロトコル選択部４０２は、第１プロトコル選択項目４０２ａ以外にも第２プロトコル選択項目４０２ｂを含む。さらに、カラー選択部４０３、第１カラー選択項目４０３ａ以外にも第２カラー選択項目４０３ｂを含む。
【０１２３】
第２ネットワーク選択項目４０１ｂ、第２プロトコル選択項目４０２ｂ、および、第２カラー選択項目４０３ｂは、上述の第１ネットワーク選択項目４０１ａ、第１プロトコル選択項目４０２ａ、および、第１カラー選択項目４０３ａと同一の機能を有する項目である。ユーザはこれらの項目を用いて、抽出条件を設定することで、ある条件による時刻付与データの抽出と、別の条件による時刻付与データの抽出というような異なる条件に基づく時刻付与データの抽出が可能となる。
【０１２４】
上述の説明では、プロセッサ３０２は、第１ネットワーク選択項目４０１ａと第１プロトコル選択項目４０２ａとの両方の条件に合致する時刻付与データを抽出することについて説明したが、両方の条件のうちのいずれか一方のみを満たす時刻付与データを選択するようにしてもよい。また、時刻付与データを選択する条件である選択部の種類はネットワーク選択部４０１と、プロトコル選択部４０２の２種類について説明したが、これ以外の種類の選択部が設けられていてもよい。
【０１２５】
＜Ｆ．コントローラ１０の制御構造＞
図１０を参照して、コントローラ１０の制御構造について説明する。図１０は、本実施の形態に従うコントローラ１０が実行する処理の一部を表わすフローチャートである。図１０に示される処理は、コントローラ１０が第１収集プログラム１０１０Ａおよび第２収集プログラム１０１０Ｂを主メモリ１０６に展開して実行することで実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１２６】
ステップＳ１１０において、コントローラ１０のプロセッサ１０２は、第１通信部１００Ａが上位ネットワークＮ１における外部装置２００Ａ（例えば、ＭＥＳサーバ装置２００ａ）と第１通信データ１５０ａを送受信したか否かを判断する。
【０１２７】
プロセッサ１０２は、第１通信部１００Ａが第１通信データ１５０ａを送受信した場合（ステップＳ１１０においてＹＥＳ）、制御をステップＳ１１２に切り替える。そうでない場合には（ステップＳ１１０においてＮＯ）、プロセッサ１０２はステップＳ１１０の処理を再び実行する。なお、プロセッサ１０２は、ステップＳ１１０の処理が予め定められた回数以上繰り返し行われた場合はこの処理を終了するようにしてもよい。
【０１２８】
ステップＳ１１２において、プロセッサ１０２は、第１通信データ１５０ａを主メモリ１０６に収集する。プロセッサ１０２は、第１通信データ１５０ａが送受信された時刻を示す値である第１時刻値１５０ｂを当該第１通信データ１５０ａに関連付けた第１時刻付与データ１５０ｃを記憶装置１０８に格納する。
【０１２９】
ステップＳ１２０において、プロセッサ１０２は、第２通信部１００ＢがフィールドネットワークＮ２における外部装置２００Ｂ（例えば、画像センサ２００ｄ）と第２通信データを送受信したか否かを判断する。
【０１３０】
プロセッサ１０２は、第２通信部１００Ｂが第２通信データ１６０ａを送受信する場合（ステップＳ１２０においてＹＥＳ）、制御をステップＳ１２２に切り替える。そうでない場合には（ステップＳ１２０においてＮＯ）、プロセッサ１０２はステップＳ１２０の処理を再び実行する。なお、プロセッサ１０２は、ステップＳ１２０の処理が予め定められた回数以上繰り返し行われた場合はこの処理を終了するようにしてもよい。
【０１３１】
ステップＳ１２２において、プロセッサ１０２は、第２通信データ１６０ａを主メモリ１０６に収集する。プロセッサ１０２は、第２通信データ１６０ａが受信された時刻を示す値である第２時刻値１６０ｂを当該第２通信データ１６０ａに関連付けた第２時刻付与データ１６０ｃを記憶装置１０８に格納する。
【０１３２】
これにより、互いに独立した複数のネットワークにおいて遣り取りされ、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。
【０１３３】
ここで、図１０を用いて説明した処理は、コントローラ１０のプロセッサ１０２が、第１通信部１００Ａが上位ネットワークＮ１における外部装置２００Ａから受信した第１通信データ１５０ａを、第２通信データ１６０ａとして第２通信部１００ＢがフィールドネットワークＮ２における外部装置２００Ｂへ送信する場合の処理が当てはまる。また、図１０を用いて説明した処理は、第２通信部１００ＢがフィールドネットワークＮ２における外部装置２００Ｂから受信した通信データを、第１通信部１００Ａが上位ネットワークＮ１における外部装置２００Ａへ送信する場合についても同様に当てはまる。
【０１３４】
＜Ｇ．サポート装置３００の制御構造＞
図１１を参照して、サポート装置３００の制御構造について説明する。図１１は、本実施の形態に従うサポート装置３００が実行する処理の一部を表わすフローチャートである。図１１に示される処理は、サポート装置３００がソーティングプログラム３２６を主記憶装置３０６に展開して実行することで実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１３５】
ステップＳ２１０において、サポート装置３００のプロセッサ３０２は、ＵＳＢコントローラ３１２を介して、コントローラ１０から第１通信記録リスト３６ａおよび第２通信記録リスト３６ｂを受信したか否かを判断する。
【０１３６】
プロセッサ３０２は、第１通信記録リスト３６ａおよび第２通信記録リスト３６ｂを受信した場合（ステップＳ２１０においてＹＥＳ）、制御をステップＳ２１２に切り替える。そうでない場合には（ステップＳ２１０においてＮＯ）、プロセッサ３０２はステップＳ２１０の処理を再び実行する。なお、プロセッサ３０２は、ステップＳ２１０の処理が予め定められた回数以上繰り返し行われた場合はこの処理を終了するようにしてもよい。
【０１３７】
ステップＳ２１２において、プロセッサ３０２は、第１通信記録リスト３６ａと第２通信記録リスト３６ｂとをマージ（第１統合通信記録リスト３６ｃを生成）し、これらのリストに含まれる時刻付与データを時刻を示す値に基づいてソーティングする（第２統合通信記録リスト３６ｄ生成）。
【０１３８】
ステップＳ２２０において、プロセッサ３０２は、ソーティング後の第２統合通信記録リスト３６ｄを含む画像４００ａを表示部３１８に表示する。これにより、画像を視認したユーザは、ネットワークを跨いだ関連する処理の通信データの記録を時系列で確認でき、異常要因の解析が容易に行える。
【０１３９】
なお、プロセッサ３０２は、ユーザの入力部３１６の操作により画像４００ａに含まれる各選択部４０１〜４０３の選択項目４０１ａ〜４０３ａ等の項目内容が変更されることで、ユーザが指定した条件に合致する通信データの表示形態を変更する。これにより、ユーザは異常要因を解析する場合の対象となるデータの確認が容易となる。
【０１４０】
＜Ｈ．まとめ＞
以上のようにして、ＦＡシステム１のコントローラ１０のプロセッサ１０２は、第１収集機能１０１Ａおよび第２収集機能１０１Ｂを実行して、上位ネットワークＮ１に接続されている第１通信部１００Ａで送受信される第１通信データ１５０ａと、上位ネットワークＮ１とは独立したフィールドネットワークＮ２に接続されている第２通信部１００Ｂとで送受信される第２通信データ１６０ａとを主メモリ１０６に収集する。プロセッサ１０２は収集された第１通信データ１５０ａおよび第２通信データ１６０ａのそれぞれに送受信された時刻を示す値を関連付けて格納する。
【０１４１】
具体的には、プロセッサ１０２は、第１通信データ１５０ａが第１通信部１００Ａに送信または受信（送受信）された第１時刻値１５０ｂを関連付けた第１時刻付与データ１５０ｃを記憶装置１０８に格納する。また、プロセッサ１０２は、第２通信データ１６０ａが第２通信部１００Ｂに送信または受信された第２時刻値１６０ｂを関連付けた第２時刻付与データ１６０ｃを記憶装置１０８に格納する。
【０１４２】
このように、制御システム１の制御装置１０に含まれる複数の通信部である通信部１００Ａ、１００Ｂは、それぞれ異なるネットワークＮ１、Ｎ２に接続され、一方の通信部が受信した通信データを他方の通信部がネットワークを跨いで送信する。具体的には、一方の通信部が通信データを受信した場合に、制御装置１０は当該通信データを収集するとともに、時刻を管理するタイマー１１６から出力される時刻を示す値を当該収集した通信データに関連付けて記憶装置１０８に格納する。そして、一方の通信部が受信した通信データを他方の通信部が送信する場合に、制御装置は当該通信データを収集するとともに、同一のタイマー１１６から出力される時刻を示す値を当該収集した通信データに関連付けて記憶装置１０８に格納する。
【０１４３】
これにより、互いに独立した複数のネットワークにおいて遣り取りされ、複数のネットワークに関する異常要因の特定に必要な通信データを容易に収集できる。また、トラブルシュート時にハブを追加する必要がなく、追加後の再現も不要となる。
【０１４４】
また、ＦＡシステム１のサポート装置３００のプロセッサ３０２は、第１時刻付与データ１５０ｃと、第２時刻付与データ１６０ｃとの配列を時刻を示す値に基づいて並べ替えることで、異常要因の特定に必要な通信データの関係性を明確にすることができる。
【０１４５】
さらに、サポート装置３００のプロセッサ３０２は、統合後に並べ替えられた第２統合通信記録リスト３６ｄを含む画像４００ａを表示部３１８に表示することで、異常要因の特定に必要な通信データを時系列に並べ替えられた状態でユーザに表示できる。
【０１４６】
＜Ｉ．応用例＞  次に、本実施の形態に係るＦＡシステム１のいくつかの応用例について説明する。
【０１４７】
＜Ｉ−１．収集機能によるフィルタリング＞
これまで説明した第１収集機能１０１Ａおよび第２収集機能１０１Ｂ（以下、これらを総称して「収集機能」ともいう。）による第１通信データ１５０ａおよび第２通信データ１６０ａ（以下、これらを総称して「通信データ」ともいう。）の収集は、すべての通信データを収集することを前提に説明した。これに対して、プロセッサ１０２が収集機能を用いて通信データを収集する場合に、ユーザプログラム１１０に含まれる命令に従って、通信データのフィルタリング条件を設定して、その条件に合致した通信データのみを収集するようにしてもよい。
【０１４８】
以下では、フィルタリング条件を設定して通信データを収集する処理の一例について説明する。この処理では、ファンクションブロックダイアグラム（ＦＢＤ：Function Block Diagram）を用いた処理として説明を行うが、ラダーダイアグラム（ＬＤ：Ladder Diagram）、命令リスト（ＩＬ：Instruction List）、構造化テキスト（ＳＴ：Structured Text）、および、シーケンシャルファンクションチャート（ＳＦＣ：Sequential Function Chart）のいずれか、あるいは、これらの組み合わせにより処理を行ってもよい。また、ＪａｖａＳｃｒｉｐｔ（登録商標）やＣ言語のような汎用的なプログラミング言語等の他のプログラム言語で処理を行ってもよい。
【０１４９】
図１２は、本実施の形態に従うファンクションブロックＦＢの説明図である。
プロセッサ１０２は、収集機能が通信データを収集する処理を実行する場合に、ユーザプログラム１１０に含まれる命令に従って、フィルタリング条件を設定する。ユーザプログラム１１０に含まれる命令は、例えばファンクションブロックＦＢで規定される。
【０１５０】
ファンクションブロックＦＢは、フィルタリング条件の設定を受け付ける入力部１５５Ａ〜１５５Ｇと、フィルタリング条件の設定処理を行った結果を出力するための出力部１５７Ａ〜１５７Ｈとを含む。
【０１５１】
入力部１５５Ａ〜１５５Ｇは、フィルタリング条件の設定の入力を受け付ける。すなわち、入力部１５５Ａ〜１５５Ｇに入力される値に応じてフィルタリング条件が設定される。この値の例としては、以下で説明するように「Ｐｒｏｔｏｃｏｌ」や「ＩＰ  Ａｄｄｒｅｓｓ」や「Ｐｏｒｔ」等の具体的な値である。プロセッサ１０２は、収集機能を用いてこのような直接的な命令により通信データを収集するフィルタリング条件を設定する。
【０１５２】
入力要素ＩＮ１には、変数「ＰＡ」が割り当てられている。変数「ＰＡ」は、ＢＯＯＬ型であり、初期値は、「Ｆａｌｓｅ」（＝ＯＦＦ）である。図１３には示されていないが、作業工程を実現するための制御機能がユーザプログラム１１０に規定されている。当該制御機能は、規定されている制御内容に従って外部装置２００Ａまたは外部装置２００Ｂに制御命令を出力する。制御機能は、作業工程の実行中に変数「ＰＡ」の値を「Ｔｒｕｅ」（＝ＯＮ）とし、作業工程が実行中でない場合に変数「ＰＡ」の値を「Ｆａｌｓｅ」（＝ＯＦＦ）とするように規定されている。例えば、ユーザプログラム１１０で利用可能な変数「ＰＡ」が所定値（例えば「Ｔｒｕｅ」）であることを条件に、ファンクションブロックＦＢにより作業工程に応じたフィルタリング条件が設定される。
【０１５３】
「Ｅｘｃｕｔｅ」として示される入力部１５５Ａは、フィルタリング条件の設定処理を実行するか否かを指定するための設定を受け付ける。一例として、入力部１５５Ａは、「Ｔｒｕｅ」または「Ｆａｌｓｅ」の入力を受け付ける。入力部１５５Ａに「Ｆａｌｓｅ」が入力されている限り、収集機能はフィルタリング条件を設定しない。一方で、入力部１５５Ａに「Ｔｒｕｅ」が入力された場合には、収集機能２０１はフィルタリング条件の設定処理を実行する。この場合、他の入力部１５５Ｂ〜１５５Ｄに入力されたフィルタリング条件を新たなフィルタリング条件として設定する。このようにコントローラ１０は、ユーザプログラム１１０に含まれる命令に従って、フィルタリング条件を直接的に設定できる。
【０１５４】
「Ｐｒｏｔｏｃｏｌ１」として示される入力部１５５Ｂは、プロセッサ１０２が第１収集機能１０１Ａにより通信データを収集する場合に、フィルタリング対象とする通信データの通信プロトコルを指定するための入力を受け付ける。一例として、入力部１５５Ｂは、通信プロトコルの識別情報の入力を受け付ける。当該識別情報は、通信プロトコル名で指定されてよいし、通信プロトコルのＩＤ（Identification）で指定されてもよい。一例として、入力部１５５Ｂは、「ＴＣＰ」または「ＦＴＰ」の入力を受け付ける。入力部１５５Ｂに「ＴＣＰ」が入力された場合、プロセッサ１０２は第１収集機能１０１Ａを用いて、ＴＣＰプロトコルに従った通信データをフィルタリング対象とするようにフィルタリング条件を設定する。入力部１５５Ｂに「ＦＴＰ」が入力された場合、収集機能２０１は、ＦＴＰプロトコルに従った通信データをフィルタリング対象とするようにフィルタリング条件を設定する。このようにコントローラ１０は、通信データを収集する条件の一つであるプロトコルの条件を任意に設定できる。
【０１５５】
「ＩＰ  Ａｄｄｒｅｓｓ１」として示される入力部１５５Ｃは、プロセッサ１０２が第１収集機能１０１Ａにより通信データを収集する場合に、フィルタリング対象とする通信データの装置に対応したＩＰアドレスを指定するための入力を受け付ける。たとえば、「１０．０．０．１」が入力部１５５Ｃに入力された場合、プロセッサ１０２は第１収集機能１０１Ａを用いて、ＩＰアドレス「１０．０．０．１」の装置（送信先装置）に送られる通信データをフィルタリング対象とするようにフィルタリング条件を変更する。このようにコントローラ１０は、通信データを収集する条件の一つであるＩＰアドレスの条件を任意に設定できる。
【０１５６】
「Ｐｏｒｔ１」として示される入力部１５５Ｄは、プロセッサ１０２が第１収集機能１０１Ａにより通信データを収集する場合に、フィルタリング対象とする通信データの装置のポート番号を指定するための入力を受け付ける。一例として、「８０」が入力部１５５Ｄに入力された場合、プロセッサ１０２は第１収集機能１０１Ａを用いて、送信先機器のポート番号「８０」に送られる通信データをフィルタリング対象とするようにフィルタリング条件を設定する。このようにコントローラ１０は、通信データを収集する条件の一つであるポート番号を任意に設定できる。
【０１５７】
「Ｐｒｏｔｏｃｏｌ２」として示される入力部１５５Ｅは、プロセッサ１０２が第２収集機能１０１Ｂにより通信データを収集する場合に、フィルタリング対象とする通信データの通信プロトコルを指定するための入力を受け付ける。「Ｐｒｏｔｏｃｏｌ２」は上述の「Ｐｒｏｔｏｃｏｌ１」と同様の機能を有する。
【０１５８】
「ＩＰ  Ａｄｄｒｅｓｓ２」として示される入力部１５５Ｆは、プロセッサ１０２が第２収集機能１０１Ｂにより通信データを収集する場合に、フィルタリング対象とする通信データの装置に対応したＩＰアドレスを指定するための入力を受け付ける。「ＩＰ  Ａｄｄｒｅｓｓ２」は上述の「ＩＰ  Ａｄｄｒｅｓｓ１」と同様の機能を有する。
【０１５９】
「Ｐｏｒｔ２」として示される入力部１５５Ｇは、プロセッサ１０２が第２収集機能１０１Ｂにより通信データを収集する場合に、フィルタリング対象とする通信データの装置のポート番号を指定するための入力を受け付ける。「Ｐｏｒｔ２」は上述の「Ｐｏｒｔ１」と同様の機能を有する。
【０１６０】
このように、コントローラ１０は、ユーザプログラム１１０に含まれる命令に従って、フィルタリング条件を項目ごとに任意に設定できる。
【０１６１】
第１収集機能１０１Ａにおけるフィルタリング条件が正常に設定された場合には、正常終了を示す信号が、「Ｄｏｎｅ１」として示される出力部１５７Ａから出力される。第１収集機能１０１Ａにおけるフィルタリング条件の設定中には、変更処理中を示す信号が、「Ｂｕｓｙ１」として示される出力部１５７Ｂから出力される。第１収集機能１０１Ａにおけるフィルタリング条件が適切に設定されなかった場合には、異常終了を示す信号が、「Ｅｒｒｏｒ１」として示される出力部１５７Ｃから出力される。この場合には、さらに、エラーの内容を識別するためのエラーＩＤが、「ＥｒｒｏｒＩＤ１」として示される出力部１５７Ｄから出力される。
【０１６２】
第２収集機能１０１Ｂにおけるフィルタリング条件が正常に設定された場合には、正常終了を示す信号が、「Ｄｏｎｅ２」として示される出力部１５７Ｅから出力される。第２収集機能１０１Ｂにおけるフィルタリング条件の設定中には、変更処理中を示す信号が、「Ｂｕｓｙ２」として示される出力部１５７Ｆから出力される。第２収集機能１０１Ｂにおけるフィルタリング条件が適切に設定されなかった場合には、異常終了を示す信号が、「Ｅｒｒｏｒ２」として示される出力部１５７Ｇから出力される。この場合には、さらに、エラーの内容を識別するためのエラーＩＤが、「ＥｒｒｏｒＩＤ２」として示される出力部１５７Ｈから出力される。
【０１６３】
なお、ファンクションブロックＦＢには、入力部１５５Ａ〜１５５Ｇおよび出力部１５７Ａ〜１５７Ｈの他にも様々な入力部および出力部が設けられもよい。一例として、複数の通信インターフェイスが存在する場合には、通信インターフェイスを指定するための入力部がファンクションブロックＦＢに設けられてもよい。
【０１６４】
＜Ｉ−２．ソーティング処理の実行により生成された画像の他の例＞
図１３は、本実施の形態に従うソーティング処理の実行により生成された画像の他の例を示す図である。上述の画像４００ａでは、マージとソーティングとが実行された後の第２統合通信記録リスト３６ｄを含む画像について説明した。これに対して、図１３の画像４００ｂは、マージが行われることなく、第１通信記録リスト３６ａと第２通信記録リスト３６ｂとのそれぞれでソーティングが行われる。なお、それ以外の点は上述の画像４００ａの構成と同様である。このような画像４００ｂがサポート装置３００の表示部３１８に表示されることで、ユーザは時系列に並んだ第１通信記録リスト３６ａの時刻付与データと、時系列に並んだ第２通信記録リスト３６ｂの時刻付与データとを対比させながら、異常要因の解析を容易に行える。
【０１６５】
＜Ｉ−３．時刻付与データのマージとソーティングの他の処理説明＞
図１４は、本実施の形態に従うマージとソーティングの他の処理について説明する図である。上述の図５では、コントローラ１０のプロセッサ１０２が第１収集機能１０１Ａと第２収集機能１０１Ｂとを用いて収集した通信データを含む第１通信記録リスト３６ａと第２通信記録リスト３６ｂとをサポート装置３００のプロセッサ３０２がマージして第１通信記録リスト３６ａを生成する。プロセッサ３０２は、マージ後のリスト内の複数の時刻付与データを時刻を示す値に基づきソーティングし、ソーティング後の時刻付与データを含む第２通信記録リスト３６ｂを生成することについて説明した。
【０１６６】
これに対して、図１４の処理では、コントローラ１０のプロセッサ１０２が第１収集機能１０１Ａと第２収集機能１０１Ｂとを用いて収集する通信データを１つのリスト３６ｅに時系列で収集するようにしてもよい。これにより、プロセッサが別々のリストをマージした後にソーティングする処理を実行する場合の処理負荷を軽減できる。
【０１６７】
＜Ｊ．変形例＞
なお、上述では、作業工程に応じてフィルタリング条件が変えられる例について説明を行ったが、ユーザプログラム１１０は、その他の状況に応じてフィルタリング条件を変更するように規定されてもよい。一例として、ユーザプログラム１１０は、ＦＡシステム１における外部装置２００Ａまたは２００Ｂの装置構成が変化した場合に、ＦＡシステム１の装置構成に応じたフィルタリング条件を設定するように規定されてもよい。これにより、たとえば、意図しない通信機器がコントローラ１０に接続された場合に、コントローラ１０は、当該通信機器をブロックすることができる。通信機器の接続／非接続を検知する方法として、ネットワークの状態を監視するファンクションブロックなどを利用する方法が考えられる。当該ファンクションブロックは、ネットワークテーブルの状態を定期的に監視し、当該ネットワークテーブルの変化情報から通信機器の接続／非接続を検知する。
【０１６８】
他の例として、ユーザプログラム１１０は、外部機器からの悪意の攻撃を受けた場合、当該悪意の攻撃を防ぐためのフィルタリング条件を設定するように規定されてもよい。一例として、コントローラ１０の通信ドライバが単位時間当たりの受信データ量（たとえば、単位時間当たりの受信パケット数）を監視し、当該受信データ量が所定閾値を超えた場合に、外部機器からの悪意の攻撃を受けていると判断する。外部機器からの悪意の攻撃が検知された場合、収集機能は、ＩＰアドレスやポート番号などの情報に基づいて、悪意の攻撃を行っている外部機器をブロックする。あるいは、外部機器からの悪意の攻撃が検知された場合、収集機能は、全ての通信パケットの受信をブロックしてもよい。
【０１６９】
他の例として、ユーザプログラム１１０は、コントローラ１０の通信の接続状況が変化した場合、接続状況に応じたフィルタリング条件を設定するように規定されてもよい。たとえば、収集機能２０１は、送信元機器との通信が確立されてから非接続状態になるまでの間のみ、当該送信元機器からの受信データを通過させ、それ以外の場合は当該送信元機器からの受信データをブロックする。これにより、収集機能は、必要な期間のみ通信データを通過させるので、セキュリティを向上させることができる。
【０１７０】
＜Ｋ．付記＞
以上のように、本実施形態は以下のような開示を含む。
【０１７１】
［構成１］
制御対象を制御する制御装置（１０）を含む制御システム（１）であって、
前記制御装置（１０）は、第１のネットワーク（Ｎ１）に接続される第１通信部（１００Ａ）と、
前記第１のネットワークとは互いに独立した第２のネットワーク（Ｎ２）に接続される第２通信部（１００Ｂ）と、
時刻を示す値を管理するタイマー部（１１６）と、
前記第１通信部（１００Ａ）で通信データが送受信されると、当該送受信された通信データを第１通信データ（１５０ａ）として収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データ（１５０ａ）と関連付けて記憶装置（１０８）に格納する第１収集機能（１０１Ａ）と、
前記第２通信部（１００Ｂ）で通信データが送受信されると、当該送受信された通信データを第２通信データ（１６０ａ）として収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データ（１６０ａ）と関連付けて前記記憶装置（１０８）に格納する第２収集機能（１０１Ｂ）とを含む、制御システム。
【０１７２】
［構成２］
前記時刻を示す値と関連付られた前記第１通信データ（１５０ａ）と、前記時刻を示す値と関連付られた前記第２通信データ（１６０ａ）との配列を、前記時刻を示す値に基づいて並べ替えるソーティング部を含む、構成１に記載の制御システム。
【０１７３】
［構成３］
前記制御装置（１０）から前記時刻を示す値と関連付られた前記第１通信データ（１５０ａ）と、前記時刻を示す値と関連付られた前記第２通信データ（１６０ａ）とを取得するサポート装置（３００）を含み、
前記サポート装置（３００）は、前記ソーティング部を含む、構成２に記載の制御システム。
【０１７４】
［構成４］
前記サポート装置（３００）は、前記ソーティング部によって並べ替えられた通信データを含む画像（４００ａ，４００ｂ）を表示する表示部（３１８）を含む、構成３に記載の制御システム。
【０１７５】
［構成５］
前記表示部（３１８）は、前記ソーティング部によって並べ替えられた通信データのうち、ユーザが指定した条件に合致した通信データの表示態様を変更して表示する、構成４に記載の制御システム。
【０１７６】
［構成６］
前記第１収集機能（１０１Ａ）および前記第２収集機能（１０１Ｂ）は、予め定められた条件に合致した前記通信データのみを収集する、構成１〜５のいずれか１項に記載の制御システム。
【０１７７】
［構成７］
制御対象を制御し、第１のネットワーク（Ｎ１）に接続される第１通信部（１００Ａ）と、前記第１のネットワーク（Ｎ１）とは互いに独立した第２のネットワーク（Ｎ２）に接続される第２通信部（１００Ｂ）とを含む制御装置（１０）の制御方法であって、
時刻を示す値を管理するステップと、
前記第１通信部で通信データが送受信されると、当該送受信された通信データを第１通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データと関連付けて記憶装置（１０８）に格納するステップ（Ｓ１１２）と、
前記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データと関連付けて前記記憶装置（１０８）に格納するステップ（Ｓ１２２）とを含む、制御方法。
【０１７８】
［構成８］
制御対象を制御し、第１のネットワーク（Ｎ１）に接続される第１通信部（１００Ａ）と、前記第１のネットワーク（Ｎ１）とは互いに独立した第２のネットワーク（Ｎ２）に接続される第２通信部（１００Ｂ）とを含む制御装置（１０）の制御プログラムであって、
前記制御プログラムは、前記制御装置（１０）に、
時刻を示す値を更新するステップと、
前記第１通信部（１００Ａ）で通信データが送受信されると、当該送受信された通信データを第１通信データ（１５０ａ）として収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第１通信データ（１５０ａ）と関連付けて記憶装置（１０８）に格納するステップ（Ｓ１１２）と、
前記第２通信部で通信データが送受信されると、当該送受信された通信データを第２通信データとして収集するとともに、当該通信データが送受信された前記時刻を示す値を前記第２通信データと関連付けて前記記憶装置（１０８）に格納するステップ（Ｓ１２２）とを実行させる、制御プログラム。
【０１７９】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１８０】
１０  制御装置、３６ａ  第１通信記録リスト、３６ｂ  第２通信記録リスト、３６ｃ  第１統合通信記録リスト、３６ｄ  第２統合通信記録リスト、１００Ａ  第１通信部、１００Ｂ  第２通信部、１０１Ａ  第１収集機能、１０１Ｂ  第２収集機能、１０２，３０２  プロセッサ、１０４  チップセット、１０６  主メモリ、１０８  記憶装置、１１０  ユーザプログラム、１１５  システムプログラム、１１６  タイマー、１２０  メモリカードインターフェイス、１２２  メモリカード、１３０  内部バスコントローラ、１５０ａ  第１通信データ、１５０ｂ  第１時刻値、１５０ｃ，１５０ｃａ，１５０ｃｂ，１５０ｃｃ  第１時刻付与データ、１５５Ａ，１５５Ｂ，１５５Ｃ，１５５Ｄ，１５５Ｅ，１５５Ｆ，１５５Ｇ，３１６  入力部、１５７Ａ，１５７Ｂ，１５７Ｃ，１５７Ｄ，１５７Ｅ，１５７Ｆ，１５７Ｇ，１５７Ｈ  出力部、１６０ａ  第２通信データ、１６０ｂ  第２時刻値、１６０ｃ，１６０ｃａ，１６０ｃｂ，１６０ｃｃ  第２時刻付与データ、２００，２００Ａ，２００Ｂ  外部装置、２００Ｐ１，２００Ｐ２  通信ポート、２００ｂ  データベースサーバ装置、２００ｃ  表示器、２００ｄ  画像センサ、２００ｅ  カメラ、２００ｇ  アームロボット、３００  サポート装置、３０４  光学ドライブ、３０５  記録媒体、３０６  主記憶装置、３０８  二次記憶装置、３１０，３１８  表示部、３１４  ローカルネットワークコントローラ、３２０  バス、３２４  開発プログラム、３２６  ソーティングプログラム、３２８  解析プログラム、３６０  シリアル番号フィールド、３６１  時刻フィールド、３６３  アドレスフィールド、３６４  プロトコルフィールド、３６５  ポートフィールド、３６６  内容フィールド、３６７  種別フィールド、４００ａ，４００ｂ  画像、４０１  ネットワーク選択部、４０１ａ  第１ネットワーク選択項目、４０１ｂ  第２ネットワーク選択項目、４０２ａ  第１プロトコル選択項目、４０２ｂ  第２プロトコル選択項目、４０３  カラー選択部、４０３ａ  第１カラー選択項目、４０３ｂ  第２カラー選択項目、１０１０Ａ  第１収集プログラム、１０１０Ｂ  第２収集プログラム、１０５０  第１加算部、１０６０  第２加算部。
【図１】
2019159653.tif 000003
【図２】
2019159653.tif 000004
【図３】
2019159653.tif 000005
【図４】
2019159653.tif 000006
【図５】
2019159653.tif 000007
【図６】
2019159653.tif 000008
【図７】
2019159653.tif 000009
【図８】
2019159653.tif 000010
【図９】
2019159653.tif 000011
【図１０】
2019159653.tif 000012
【図１１】
2019159653.tif 000013
【図１２】
2019159653.tif 000014
【図１３】
2019159653.tif 000015
【図１４】
2019159653.tif 000016