(57)【要約】【課題】１または複数のデバイスとネットワーク接続された制御装置において生じる何らかの異常事象を発生させた要因の特定を容易化する技術を提供する。【解決手段】制御対象を制御する制御システムは、１または複数のデバイスとネットワーク接続された制御装置と、制御装置に接続される情報処理装置とを含む。制御装置は、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含む。情報処理装置は、イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部を含む。【選択図】図１
2019101970.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御システムであって、
１または複数のデバイスとネットワーク接続された制御装置と、
前記制御装置に接続される情報処理装置とを備え、
前記制御装置は、
制御動作中に発生したイベントを格納するイベントログと、
ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含み、
前記情報処理装置は、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部を含み、
前記要因推定部は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスする手段と、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段と、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定する手段と、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断する手段とを含む、制御システム。
【請求項２】
前記要因推定部は、前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象を発生させた要因を特定できる場合には、要因を特定するための対処をユーザに提示する前に、当該特定された要因をユーザに提示する、請求項１に記載の制御システム。
【請求項３】
前記要因推定部は、前記対象の異常事象に対する、互いに類似した複数の要因候補をユーザに提示するとともに、当該互いに類似した複数の要因候補に対する対処をユーザへ順次提示する、請求項１または２に記載の制御システム。
【請求項４】
前記要因推定部は、ユーザに提示した対処の実施によって、前記対象の異常事象が解消すると、当該対処に関連付けられる要因を前記対象の異常事象を発生させた要因として特定する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記要因推定部は、前記ネットワーク統計情報に含まれる状態値に基づいて、前記対象の異常事象に関連するデバイスとの間の通信状態を評価することで、前記対象の異常事象が解消したか否かを判断する、請求項１〜４のいずれか１項に記載の制御システム。
【請求項６】
前記要因推定部は、ユーザのスキルレベルの選択を受付ける手段をさらに含み、
前記要因推定部は、選択されたスキルレベルに応じて、前記対話的なユーザインターフェイスの内容を異ならせる、請求項１〜５のいずれか１項に記載の制御システム。
【請求項７】
前記情報処理装置は、前記イベントログに登録された１または複数のイベントを一覧表示するとともに、一覧表示されたイベントに対する選択に応じて、対話的なユーザインターフェイスの提供を開始する、請求項１〜６のいずれか１項に記載の制御システム。
【請求項８】
制御対象を制御する制御装置に接続される情報処理装置であって、
前記制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含み、
前記情報処理装置は、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部を備え、
前記要因推定部は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスする手段と、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段と、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定する手段と、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断する手段とを含む、情報処理装置。
【請求項９】
制御対象を制御する制御装置に接続される情報処理装置において実行される異常要因推定プログラムであって、
前記制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含み、
前記異常要因推定プログラムは、前記情報処理装置に、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定処理を実行させ、
前記要因推定処理は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスするステップと、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示するステップと、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するステップと、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断するステップとを含む、異常要因推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ネットワークに生じ得る異常事象の要因推定を支援する制御システム、情報処理装置、異常要因推定プログラムおよび制御方法に関する。
【背景技術】
【０００２】
様々な生産現場において、ＰＬＣ（プログラマブルコントローラ）などの制御装置を用いたＦＡ（Factory Automation）技術が広く普及している。近年の情報通信技術（ＩＣＴ：Information and Communication Technology）の発展に伴って、このようなＦＡ分野における制御装置もますます高性能化および高機能化している。
【０００３】
制御装置の高性能化および高機能化の一例として、ネットワークを用いた大規模システムの採用が想定される。このようなネットワーク化された制御装置においては、例えば、マスタとして機能するユニットに対して、多数のスレーブがネットワーク接続されることになる。
【０００４】
このようなネットワーク化されたシステムにおいては、何らかの通信エラーなどが生じた場合に、その原因究明に時間を要することがある。このような課題に対して、例えば、特開２０１７−１５３０５０号公報（特許文献１）は、産業用ネットワークの中で稼働中であるか否かに関わらず、通信エラーの発生箇所を特定可能なマスタ装置等を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１５３０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１に開示されるようなマスタ装置を採用することで、何らかの通信エラーが発生した場合には、その発生箇所を容易に特定できるが、ネットワークの複雑化に伴って、何らかの通信エラーを発生させた要因を特定することが困難になりつつある。
【０００７】
本技術は、１または複数のデバイスとネットワーク接続された制御装置において生じる何らかの異常事象を発生させた要因の特定を容易化する技術を提供する。
【課題を解決するための手段】
【０００８】
本発明のある局面によれば、制御対象を制御する制御システムが提供される。制御システムは、１または複数のデバイスとネットワーク接続された制御装置と、制御装置に接続される情報処理装置とを含む。制御装置は、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含む。情報処理装置は、イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部を含む。要因推定部は、制御装置のイベントログおよびネットワーク統計情報にアクセスする手段と、異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段と、イベントログに登録された異常事象の内容に基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定する手段と、ネットワーク統計情報に基づいて、ユーザによる対処によって対象の異常事象が解消したか否かを判断する手段とを含む。
【０００９】
この開示によれば、１または複数のデバイスが接続されたネットワークにおいて生じ得る異常事象に対して、それを発生させた要因の候補のうち、いずれかの要因が異常事象を引き起こしたのかを容易に特定できる。
【００１０】
上述の開示において、要因推定部は、イベントログに登録された異常事象の内容に基づいて、対象の異常事象を発生させた要因を特定できる場合には、要因を特定するための対処をユーザに提示する前に、当該特定された要因をユーザに提示するようにしてもよい。
【００１１】
この開示によれば、ユーザが何らかの対処を行うことなく、情報処理装置が自動的に要因を特定できるので、迅速に要因を特定できる。
【００１２】
上述の開示において、要因推定部は、対象の異常事象に対する、互いに類似した複数の要因候補をユーザに提示するとともに、当該互いに類似した複数の要因候補に対する対処をユーザへ順次提示するようにしてもよい。
【００１３】
この開示によれば、同一の異常事象を生じさせ得る複数の要因の候補を事前に把握できるので、ユーザに対する説明性を高めることができる。
【００１４】
上述の開示において、要因推定部は、ユーザに提示した対処の実施によって、対象の異常事象が解消すると、当該対処に関連付けられる要因を対象の異常事象を発生させた要因として特定するようにしてもよい。
【００１５】
この開示によれば、対話的なユーザインターフェイスを介した指示に従って、ユーザが何らかの対処を行った結果、異常事象が解消した場合には、その行った対処に対応する要因が特定すべき要因であると決定できる。
【００１６】
上述の開示において、要因推定部は、ネットワーク統計情報に含まれる状態値に基づいて、対象の異常事象に関連するデバイスとの間の通信状態を評価することで、対象の異常事象が解消したか否かを判断するようにしてもよい。
【００１７】
この開示によれば、ネットワークの通信状態を評価することで、より正確な要因の特定を実現できる。
【００１８】
上述の開示において、要因推定部は、ユーザのスキルレベルの選択を受付ける手段をさらに含み、要因推定部は、選択されたスキルレベルに応じて、対話的なユーザインターフェイスの内容を異ならせるようにしてもよい。
【００１９】
この開示によれば、ユーザのスキルレベルに応じた内容が提示されるので、各ユーザのスキルレベルを超えたムダな対処などを提示することがなく、効率的に異常事象に対する対処を行うことができる。
【００２０】
上述の開示において、情報処理装置は、イベントログに登録された１または複数のイベントを一覧表示するとともに、一覧表示されたイベントに対する選択に応じて、対話的なユーザインターフェイスの提供を開始するようにしてもよい。
【００２１】
この開示によれば、複数のイベントが発生している場合であっても、ユーザは、目的とするイベントを選択した上で要因特定ができるので、優先度や必要性に応じたタイミングで、異常要因推定処理を実行できる。
【００２２】
本発明の別の局面によれば、制御対象を制御する制御装置に接続される情報処理装置が提供される。制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含む。情報処理装置は、イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部を含む。要因推定部は、制御装置のイベントログおよびネットワーク統計情報にアクセスする手段と、異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段と、イベントログに登録された異常事象の内容に基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定する手段と、ネットワーク統計情報に基づいて、ユーザによる対処によって対象の異常事象が解消したか否かを判断する手段とを含む。
【００２３】
この開示によれば、１または複数のデバイスが接続されたネットワークにおいて生じ得る異常事象に対して、それを発生させた要因の候補のうち、いずれかの要因が異常事象を引き起こしたのかを容易に特定できる。
【００２４】
本発明のさらに別の局面によれば、制御対象を制御する制御装置に接続される情報処理装置において実行される異常要因推定プログラムが提供される。制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログと、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報とを含む。異常要因推定プログラムは、情報処理装置に、イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定処理を実行させる。要因推定処理は、制御装置のイベントログおよびネットワーク統計情報にアクセスするステップと、異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定するための対処をユーザに提示するステップと、イベントログに登録された異常事象の内容に基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定するステップと、ネットワーク統計情報に基づいて、ユーザによる対処によって対象の異常事象が解消したか否かを判断するステップとを含む。
【００２５】
この開示によれば、１または複数のデバイスが接続されたネットワークにおいて生じ得る異常事象に対して、それを発生させた要因の候補のうち、いずれかの要因が異常事象を引き起こしたのかを容易に特定できる。
【発明の効果】
【００２６】
本技術によれば、１または複数のデバイスとネットワーク接続された制御装置において生じる何らかの異常事象を発生させた要因の特定を容易化できる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態に係る制御システムの適用例を示す機能ブロック図である。
【図２】本実施の形態に係る制御システムの全体構成例を示す模式図である。
【図３】本実施の形態に係る制御システムを構成する制御装置のハードウェア構成例を示すブロック図である。
【図４】本実施の形態に係る制御システムを構成するサポート装置のハードウェア構成例を示すブロック図である。
【図５】本実施の形態に係る異常要因推定処理において用いられるイベントログのデータ内容の一例を示す図である。
【図６】本実施の形態に係る異常要因推定処理において用いられるアクセスログのデータ内容の一例を示す図である。
【図７】本実施の形態に係る異常要因推定処理において用いられるネットワーク統計情報３８のデータ内容の一例を示す図である。
【図８】本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例を示す模式図である。
【図９】本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例を示す模式図である。
【図１０】本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例を示す模式図である。
【図１１】本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例を示す模式図である。
【図１２】本実施の形態に係る制御システムにおいて利用される異常−要因履歴データベースの一例を示す模式図である。
【図１３】本実施の形態に係る制御システムにおいて利用される要因推定フローデータベースの一例を示す模式図である。
【図１４】本実施の形態に係る制御システムの実装例を示す模式図である。
【図１５】本実施の形態に係る制御システムの別の実装例を示す模式図である。
【図１６】本実施の形態に係る制御システムのさらに別の実装例を示す模式図である。
【図１７】本実施の形態に係る制御システムのさらに別の実装例を示す模式図である。
【図１８】本実施の形態に係る制御システムの変形例において提供されるユーザインターフェイスの一例を示す模式図である。
【図１９】本実施の形態に係る制御システムの変形例における異常要因推定処理を説明するための図である。
【図２０】本実施の形態に係る制御システムの変形例における稼動情報データベース４４の一例を示す模式図である。
【発明を実施するための形態】
【００２８】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２９】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システム１の適用例を示す機能ブロック図である。
【００３０】
図１を参照して、本実施の形態に係る制御システム１は、設備や各種製造装置などの制御対象を制御する。制御システム１は、制御装置１００と、制御装置１００に接続される情報処理装置５０とを含む。
【００３１】
制御装置１００は、ＰＬＣ（プログラマブルコントローラ）などの、一種のコンピュータとして具現化されてもよい。制御装置１００は、制御対象を制御するためのユーザプログラム３０を有している。ユーザプログラム３０は、制御対象に応じて任意に作成される命令群であり、例えば、シーケンスプログラム、モーションプログラム、各種アプリケーションプログラムなどを含む。
【００３２】
ユーザプログラム３０は、制御装置１００の制御エンジン３２を利用して実行される。制御エンジン３２は、制御対象に対する制御処理を実現するためのプログラムの実行環境を提供する。制御エンジン３２は、典型的には、制御装置１００においてプロセッサによりシステムプログラムを実行することで、および／または、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）などのハードウェア回路を利用することで、実現される。また、制御エンジン３２は、ユーザプログラム３０の実行に必要なライブラリやＡＰＩ（Application Programming Interface）などを提供することもある。
【００３３】
制御装置１００は、１または複数のデバイス１０とネットワーク接続される。
本明細書において、「デバイス」は、制御装置１００との間でデータを遣り取りして、制御装置１００の手足となって、あるいは、デバイス自身が自立して、制御対象に対する制御を実現する装置を包含する用語である。一例として、デバイス１０は、制御対象または制御に関連する製造装置や生産ラインなど（以下、「フィールド」とも総称する。）から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。デバイス１０は、さらに、制御装置１００にて決定される出力データ（指令値）に従って、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのデバイス１０は、フィールドネットワーク２を介して、制御装置１００との間で、入力データおよび出力データを含むデータを遣り取りする。
【００３４】
制御装置１００は、イベントログ３４、アクセスログ３６、ネットワーク統計情報３８を保持している。イベントログ３４は、制御動作中に発生したイベントを格納したものである。
【００３５】
本明細書において、「イベントの発生」は、制御システム１のいずれかの部位で生じた事象あるいは状態変化が、予め定められた条件に合致したことを意味し、「イベント」とは、その発生した事象または状態変化、ならびに、事象または状態変化の発生自体を包含する。なお、予め定められた条件は、制御装置１００あるいは制御装置１００に接続されるデバイスまたはユニットの製造者が予め設定してもよいし、制御装置１００を利用するユーザが任意に設定してもよい。
【００３６】
アクセスログ３６は、ネットワークアクセスの履歴を格納したものである。アクセスログ３６には、制御装置１００に接続されるネットワーク上を流れるパケットやフレームの送受信の履歴（以下、「アクセス履歴」とも称す。）が時系列に格納される。
【００３７】
ネットワーク統計情報３８は、ネットワーク上のデータ伝送についての統計情報を格納したものである。ネットワーク統計情報３８には、制御装置１００に接続されるネットワーク上を流れるパケットやフレームの所定期間に亘る送受信の状態を示す統計情報が格納される。
【００３８】
イベントログ３４、アクセスログ３６、ネットワーク統計情報３８の一例については、後述する。なお、イベントログ３４、アクセスログ３６、ネットワーク統計情報３８のすべてが必須のデータではなく、一部のデータのみを利用する場合であっても、本実施の形態に係る異常要因の推定処理を提供できる。
【００３９】
情報処理装置５０は、制御装置１００との間でデータを遣り取りする機能を有する、一種のコンピュータとして具現化されてもよい。以下の実施の形態においては、情報処理装置５０の典型例として、制御装置１００に対する各種操作を実現するためのサポート装置（図２に示すサポート装置２００）、制御装置１００と連係してＨＭＩ（Human Machine Interface）機能を提供する表示装置（図２に示す表示装置４００）、直接的または別の情報処理装置を介して間接的に制御装置１００と通信を行う携帯端末装置（図１５に示す携帯端末装置５００）などを一例として説明する。但し、これらの装置に限定されることなく、任意のコンピュータを用いることができる。
【００４０】
より具体的には、情報処理装置５０は、機能構成として、要因推定モジュール６０と、インターフェイスモジュール７０とを含む。
【００４１】
要因推定モジュール６０は、制御装置１００に格納されるイベントログ３４に登録されたいずれかの異常事象が選択されると、当該選択された異常事象に応じて、対話的なユーザインターフェイスを提供する。
【００４２】
インターフェイスモジュール７０は、要因推定モジュール６０により提供されるユーザインターフェイスの内容をユーザに対する提供（視覚的および／または音声的な出力）を行うとともに、ユーザからの操作などを受付ける。インターフェイスモジュール７０は、典型的には、図示しない表示部や音声出力部に対して、ユーザインターフェイスを提示するための指令を与えるとともに、図示しないキーボードやマウスなどに対するユーザ操作を受けて、その操作内容を要因推定モジュール６０へ出力する。
【００４３】
要因推定モジュール６０は、データ取得モジュール６２と、要因特定モジュール６４と、通信状態評価モジュール６６と、フロー制御モジュール６８とを含む。要因推定モジュール６０においては、フロー制御モジュール６８が主体的に、データ取得モジュール６２と、要因特定モジュール６４と、通信状態評価モジュール６６とを制御することで、ユーザに対して、対話的なユーザインターフェイスを提供する。
【００４４】
データ取得モジュール６２は、制御装置１００のイベントログ３４、アクセスログ３６、およびネットワーク統計情報３８にアクセスする処理を実現する。フロー制御モジュール６８は、対話的なユーザインターフェイスの提供を管理する。より具体的には、フロー制御モジュール６８は、異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補６９のうち、対象の異常事象を発生させた要因を特定するための対処をユーザに提示する。
【００４５】
要因特定モジュール６４は、フロー制御モジュール６８と連係して、イベントログ３４に登録された異常事象の内容に基づいて、対象の異常事象に関連付けられる１または複数の要因候補６９のうち、対象の異常事象を発生させた要因を特定する。
【００４６】
通信状態評価モジュール６６は、ネットワーク統計情報３８に基づいて、対象の通信経路における通信状態を評価する。これによって、ユーザによる対処によって対象の異常事象が解消したか否かを判断できる。
【００４７】
本実施の形態に係る制御システム１においては、制御装置１００がそれぞれ独立して管理する複数のデータを集約するとともに、選択されたイベント（異常事象）を生じさせた要因の特定するための対話的なユーザインターフェイスが提供される。このような対話的なユーザインターフェイスを用いることで、専門知識の乏しいユーザであっても、より短時間に対象の異常事象を生じさせた要因を容易に特定することができ、その特定した要因に対する対処（例えば、交換や電源リセットなど）を迅速に行うことができる。
【００４８】
＜Ｂ．制御システムの全体構成例＞
まず、本実施の形態に係る制御装置を含む制御システム１の全体構成例について説明する。
【００４９】
図２は、本実施の形態に係る制御システム１の全体構成例を示す模式図である。図２を参照して、制御システム１は、ネットワーク接続された制御装置１００を含む。一例として、制御装置１００は、ネットワーク接続として、フィールドネットワーク２を介して１または複数のデバイス１０と接続される。さらに、制御装置１００は、上位ネットワーク６を介して生産管理や各種データを収集するためのサーバ装置３００、および、１または複数の表示装置４００と接続されてもよい。制御装置１００は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。なお、サーバ装置３００および表示装置４００はオプショナルな構成であり、制御システム１の必須の構成ではない。また、制御装置１００にはサポート装置２００が接続されることもある。
【００５０】
制御装置１００は、予め用意されたユーザプログラムに従って、制御対象から計測値や状態値（以下、「入力データ」とも称す。）などを収集するとともに、収集された入力データに基づいて制御演算を実行し、制御演算の実行により得られる指令値や状態値（以下、「出力データ」とも称す。）を制御対象へ出力するという、一連の制御処理をサイクリックに実行する。
【００５１】
フィールドネットワーク２は、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００５２】
図２に示す構成例においては、デバイス１０は、リモートＩ／Ｏ（Input/Output）装置１２と、リレー群１４と、画像センサ１８およびカメラ２０と、サーボドライバ２２およびサーボモータ２４とを含む。
【００５３】
リモートＩ／Ｏ装置１２は、フィールドネットワーク２を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部（以下、「Ｉ／Ｏユニット」とも称す。）とを含む。このようなＩ／Ｏユニットを介して、制御装置１００とフィールドとの間で入力データおよび出力データが遣り取りされる。
【００５４】
Ｉ／Ｏユニットは、フィールドネットワークに直接接続されるようにしてもよい。図２には、フィールドネットワーク２にＩ／Ｏユニット１６が直接接続されている例を示す。
【００５５】
画像センサ１８は、カメラ２０によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置１００へ送信する。
【００５６】
サーボドライバ２２は、制御装置１００からの出力データ（例えば、位置指令など）に従って、サーボモータ２４を駆動する。
【００５７】
上述のように、フィールドネットワーク２を介して、制御装置１００とデバイス１０との間でデータが遣り取りされることになる。
【００５８】
サポート装置２００は、制御装置１００で実行されるユーザプログラムの開発およびデバックなどの機能を提供する。また、サポート装置２００は、図１に示す情報処理装置５０の一例であり、本実施の形態に係る異常要因推定処理を提供する。本実施の形態に係る異常要因推定処理の詳細については、後述する。
【００５９】
サーバ装置３００は、制御装置１００と上位ネットワーク６を介して接続され、制御装置１００との間で必要なデータを遣り取りする。サーバ装置３００は、例えば、データベース機能を有しており、制御装置１００が出力するイベントログなどを時系列に収集するようにしてもよい。
【００６０】
表示装置４００は、制御装置１００と上位ネットワーク６を介して接続され、ユーザからの操作を受けて、制御装置１００に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置１００での演算結果などをグラフィカルに表示する。また、表示装置４００は、図１に示す情報処理装置５０の一例であり、本実施の形態に係る異常要因推定処理を提供する。本実施の形態に係る異常要因推定処理の詳細については、後述する。
【００６１】
＜Ｃ．各装置のハードウェア構成例＞
次に、本実施の形態に係る制御システム１を構成する主要な装置のハードウェア構成例について説明する。
【００６２】
（ｃ１：制御装置１００のハードウェア構成例）
図３は、本実施の形態に係る制御システム１を構成する制御装置１００のハードウェア構成例を示すブロック図である。図３を参照して、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主メモリ１０６と、ストレージ１０８と、上位ネットワークコントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４と、内部バスコントローラ１２０と、フィールドネットワークコントローラ１３０とを含む。
【００６３】
プロセッサ１０２は、ストレージ１０８に格納された各種プログラムを読み出して、主メモリ１０６に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００６４】
ストレージ１０８には、ＯＳ（Operating System）やシステムプログラムに加えて、制御対象に応じて任意に作成されるユーザプログラム３０が格納される。さらに、ストレージ１０８には、イベントログ３４と、アクセスログ３６と、ネットワーク統計情報３８とを格納している。
【００６５】
上位ネットワークコントローラ１１０は、上位ネットワーク６を介した他の装置との間のデータの遣り取りを制御する。
【００６６】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介してサポート装置２００との間のデータの遣り取りを制御する。
【００６７】
メモリカードインターフェイス１１４は、メモリカード１１６を着脱可能に構成されており、メモリカード１１６に対してデータを書込み、メモリカード１１６から各種データ（ユーザプログラムやトレースデータなど）を読出すことが可能になっている。
【００６８】
内部バスコントローラ１２０は、制御装置１００に装着されるＩ／Ｏユニット１２４−１，１２４−２，…との間でデータを遣り取りするインターフェイスである。
【００６９】
フィールドネットワークコントローラ１３０は、フィールドネットワーク２を介した他の装置との間のデータの遣り取りを制御する。
【００７０】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００７１】
（ｃ２：サポート装置２００のハードウェア構成例）
本実施の形態に係るサポート装置２００は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いてプログラムを実行することで実現される。
【００７２】
図４は、本実施の形態に係る制御システム１を構成するサポート装置２００のハードウェア構成例を示すブロック図である。図４を参照して、サポート装置２００は、ＣＰＵやＭＰＵなどのプロセッサ２０２と、光学ドライブ２０４と、主メモリ２０６と、ストレージ２０８と、ＵＳＢコントローラ２１２と、ネットワークコントローラ２１４と、入力部２１６と、表示部２１８とを含む。これらのコンポーネントはバス２２０を介して接続される。
【００７３】
プロセッサ２０２は、ストレージ２０８に格納された各種プログラムを読み出して、主メモリ２０６に展開して実行することで、後述するような各種処理を実現する。
【００７４】
ストレージ２０８は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Flash Solid State Drive）などで構成される。ストレージ２０８には、典型的には、サポート装置２００において実行されるユーザプログラムの作成、作成したプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うためのサポートプログラム２２２が格納される。さらに、ストレージ２０８には、異常要因推定処理を実現するための、異常要因推定プログラム２２４と、とが格納される。ストレージ２０８には、ＯＳおよび他の必要なプログラムが格納されてもよい。
【００７５】
サポート装置２００は、光学ドライブ２０４を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体２０５（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ２０８などにインストールされる。
【００７６】
サポート装置２００で実行される各種プログラムは、コンピュータ読取可能な記録媒体２０５を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置２００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００７７】
ＵＳＢコントローラ２１２は、ＵＳＢ接続を介して制御装置１００との間のデータの遣り取りを制御する。ネットワークコントローラ２１４は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。
【００７８】
入力部２１６は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部２１８は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ２０２からの処理結果などを出力する。
【００７９】
図４には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００８０】
（ｃ３：サーバ装置３００のハードウェア構成例）
本実施の形態に係る制御システム１を構成するサーバ装置３００は、一例として、汎用的なファイルサーバまたはデータベースサーバを用いて実現できる。このような装置のハードウェア構成については公知であるので、ここでは、その詳細な説明は行わない。
【００８１】
（ｃ４：表示装置４００のハードウェア構成例）
本実施の形態に係る制御システム１を構成する表示装置４００は、ＨＭＩ装置と称されるものであり、専用機として実装された構成を採用してもよいし、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。
【００８２】
表示装置４００を汎用パソコンをベースとした産業用パソコンで実現する場合には、上述の図４に示すようなサポート装置２００と同様のハードウェア構成が採用される。但し、図４に示す構成例のうち、サポートプログラム２２２に代えて、ＨＭＩ機能を実現するためのプログラムがインストールされる。
【００８３】
＜Ｄ．異常要因推定処理＞
次に、本実施の形態に係る異常要因推定処理の処理内容について詳述する。本実施の形態に係る情報処理装置５０は、対話的なユーザインターフェイスを提供する。
【００８４】
（ｄ１：データ内容）
本実施の形態に係る異常要因推定処理においては、制御装置１００において、それぞれ独立的に収集される、イベントログ３４と、アクセスログ３６と、ネットワーク統計情報３８とを集約的に用いて、異常−要因履歴データベース２２６および要因推定フローデータベース２２８を参照しつつ、異常要因を推定するための対話的なユーザインターフェイスを提供する。
【００８５】
先に、本実施の形態に係る異常要因推定処理において用いられる各データの内容について説明する。
【００８６】
図５は、本実施の形態に係る異常要因推定処理において用いられるイベントログ３４のデータ内容の一例を示す図である。図５を参照して、イベントログ３４には、制御システム１において発生したイベントの内容が時系列に格納される。
【００８７】
一例として、イベントログ３４は、時刻フィールド３４０と、発生源フィールド３４１と、内容フィールド３４２と、イベントコードフィールド３４３とを含む。
【００８８】
時刻フィールド３４０には、各イベントが発生した時刻が格納される。発生源フィールド３４１には、各イベントが発生した場所を特定するための情報が格納される。内容フィールド３４２には、各イベントの内容を示す情報が格納される。一般的には、内容フィールド３４２に格納される情報は、事前に設定されている。イベントコードフィールド３４３には、各イベントの種別を特定するための識別情報が格納される。
【００８９】
図６は、本実施の形態に係る異常要因推定処理において用いられるアクセスログ３６のデータ内容の一例を示す図である。図６を参照して、アクセスログ３６は、シリアル番号フィールド３６０と、時刻フィールド３６１と、アドレスフィールド３６２と、種別フィールド３６３と、プロコトルフィールド３６４と、ポートフィールド３６５と、内容フィールド３６６とを含む。
【００９０】
シリアル番号フィールド３６０には、対象のアクセス履歴を特定するための識別情報としての通し番号が格納される。時刻フィールド３６１には、各アクセス履歴が生じた時刻が格納される。アドレスフィールド３６２は、各アクセス履歴の対象パケットまたは対象フレームの送信先または受信元を示すアドレス（物理アドレスおよび／またはネットワークアドレス）が格納される。種別フィールド３６３には、各アクセス履歴の対象パケットまたは対象フレームの種別を示す情報が格納される。プロコトルフィールド３６４には、各アクセル履歴の対象パケットまたは対象フレームの送受信に用いられたプロコトルを示す情報が格納される。ポートフィールド３６５には、各アクセル履歴の対象パケットまたは対象フレームの送受信に用いられたポート番号が格納される。内容フィールド３６６には、各アクセル履歴の対象パケットまたは対象フレームの内容の全部または一部（例えば、ヘッダ情報やプリアンブルなど）が格納される。
【００９１】
なお、図６には、説明の便宜上、単一のネットワーク上を流れるパケットまたはフレームを監視したときの例を示すが、複数のネットワークを並行して監視することもできる。この場合には、アクセスログ３６には、異なるネットワーク上を流れるパケットまたはフレームの履歴が混在することになる。
【００９２】
図７は、本実施の形態に係る異常要因推定処理において用いられるネットワーク統計情報３８のデータ内容の一例を示す図である。図７を参照して、ネットワーク統計情報３８には、送受信したフレーム総数、フレーム受信のタイムアウトが発生した回数、送信周期の現在値、最小値、最大値、フレーム受信においてエラーが発生した回数などの統計情報が格納される。
【００９３】
（ｄ２：対話的なユーザインターフェイス）
次に、本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例について説明する。
【００９４】
図８〜図１１は、本実施の形態に係る異常要因推定処理において提供される対話的なユーザインターフェイスの一例を示す模式図である。図８〜図１１に示す処理は、典型的には、情報処理装置５０（典型的には、サポート装置２００または表示装置４００など）のプロセッサによって異常要因推定プログラム（例えば、図４に示す異常要因推定プログラム２２４）が実行されることで、実現されてもよい。
【００９５】
図８〜図１１には、フィールドネットワーク２を介したデータ通信（以下、「プロセスデータ通信」とも称す。）に何らかの異常事象が発生した場合を例示する。図８〜図１１に示す表示画面は、典型的には、表示装置４００上に表示される。
【００９６】
図８の状態ＳＴ２においては、制御対象を運転監視する表示画面が提示されている。状態ＳＴ２の表示画面は、操業監視オブジェクト５０２に加えて、ホームボタン５０４を含む。
【００９７】
状態ＳＴ２において、フィールドネットワーク２自体またはフィールドネットワーク２に接続されたいずれかのデバイス（または、ユニット）（以下、単に「デバイス」と記載した場合には、デバイスのみならず、ユニットも包含する）に何らかの異常事象が発生したとする。この場合、状態ＳＴ４に示すような表示画面に変化する。状態ＳＴ４の表示画面には、状態ＳＴ２の表示画面に加えて、異常事象が発生したことを通知するとともに、当該異常に対する対処を行うためのトラブルシュートの実行を促すメッセージ５０６が表示される。メッセージ５０６に応答して、ユーザがホームボタン５０４を選択すると、状態ＳＴ６に示すような表示画面に変化する。
【００９８】
状態ＳＴ６の表示画面はホーム画面の一例であり、状態ＳＴ２に示すような操作監視画面を選択するためのボタン５１０と、各種設定などを行うためのメンテナンスモードを有効化するためのボタン５１２と、本実施の形態に係る異常要因推定処理を実現するためのトラブルシュートモードを有効化するためのボタン５１４とが選択可能に配置されている。ユーザがボタン５１４を選択すると、図９に示すような表示画面に遷移する。
【００９９】
図９を参照して、状態ＳＴ８においては、発生した異常事象の内容を確認するための表示画面が提示される。状態ＳＴ８の表示画面は、発生中の異常事象の主たるものを一覧表示するためのタブ５２０と、発生中の異常を一覧表示するためのタブ５２２と、イベントログの内容を一覧表示するためのタブ５２４とを含む。
【０１００】
タブ５２０を選択することで、発生中の異常メッセージのうち主たるものが表示される。何らかの異常事象が発生すると、その異常から派生して関連する部位や処理において異常事象が発生することがある。このような派生的に発生する異常を発生時間および発生部位などに基づいて簡略化したものが、異常メッセージのうち主たるものとなる。
【０１０１】
状態ＳＴ８の表示画面においては、タブ５２０が選択されており、表示エリア５２６には、発生中の異常メッセージのうち主たるものが一覧表示されている。この状態において、表示エリア５２６に表示されている「プロセスデータ通信異常」との異常メッセージ５２８をユーザが選択すると、状態ＳＴ１０に示すような表示画面に変化する。
【０１０２】
状態ＳＴ１０に示す表示画面においては、選択されている異常メッセージ５２８の詳細内容を表示するためのボタン５３０と、選択されている異常メッセージ５２８についての異常要因推定処理を実行するためのボタン５３２とが選択可能になっている。この状態において、ユーザがボタン５３２を選択すると、本実施の形態に係る異常要因推定処理の実体処理が開始される。このように、イベントログ３４に登録された異常事象の選択に応じて、対話的なユーザインターフェイスの提供が開始される。すなわち、情報処理装置５０は、イベントログ３４に登録された１または複数のイベントを一覧表示するとともに、一覧表示されたイベントに対する選択に応じて、対話的なユーザインターフェイスの提供を開始する。
【０１０３】
まず、制御装置１００が保持しているイベントログ３４、アクセスログ３６、ネットワーク統計情報３８などが収集される。すなわち、情報処理装置５０は、制御装置１００のイベントログ３４、アクセスログ３６およびネットワーク統計情報３８にアクセスする。そして、これらの収集したデータに基づいて、必要な処理が実行される。すなわち、以下に説明するように、情報処理装置５０は、異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、対象の異常事象を発生させた要因を特定するための対処をユーザに提示する。そして、情報処理装置５０は、イベントログ３４に登録された異常事象の内容に基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、当該対象の異常事象を発生させた要因を特定する（但し、要因を特定できない場合も存在する）。
【０１０４】
今回のプロセスデータ通信異常の例においては、まず、イベントログ３４に含まれるイベントの内容に基づいて、プロセスデータ通信異常の発生源となったデバイスを特定するとともに、その特定された発生源のデバイス自体の故障が判断される。すなわち、発生源のデバイス自体が故障していることを示す情報がイベントログ３４に含まれているかが判断される（状態ＳＴ１２）。いずれかのデバイス自体が故障することで、プロセスデータ通信異常となっていることもある。このような場合には、まず、デバイス自体の故障を示す情報がイベントログ３４に含まれているか否かが判断される。
【０１０５】
イベントログ３４に発生源のデバイス自体が故障していることを示す情報が含まれている場合（状態ＳＴ１２においてＹＥＳ）には、状態ＳＴ１４に示すような表示画面に変化する。
【０１０６】
状態ＳＴ１４に示す表示画面は、発生した異常事象の原因となったデバイス自体が故障している場合に表示されるものであり、異常要因推定処理は、この段階で終了する。すなわち、状態ＳＴ１４に示す表示画面においては、異常要因が特定のデバイス自体の故障であることを通知するとともに、当該故障したデバイスの交換を促すメッセージ５４０が表示される。状態ＳＴ１４に示す表示画面は、ユーザの了承を受付けるボタン５４２を含んでいる。ユーザは、故障していると判断されたデバイスを交換し、必要に応じてリセット動作を行った後に、ボタン５４２を選択することで、異常要因推定処理は終了する。
【０１０７】
なお、状態ＳＴ１４に示す表示画面において、例えば、故障していると判断されたデバイスの交換を支援する画面、例えば、交換対象のデバイスが装着されている位置を示す画面、デバイスの交換手順を示す画面、リセットの手順を示す画面などを、ユーザ要求に応じて表示するようにしてもよい。
【０１０８】
状態ＳＴ１４に示すように、情報処理装置５０は、イベントログ３４に登録された異常事象の内容に基づいて、対象の異常事象を発生させた要因を特定できる場合には、要因を特定するための対処をユーザに提示する前に、当該特定された要因をユーザに提示する。このような特定処理が利用できる場合には、ユーザは何らの対処も行うことなく、要因を特定できる。
【０１０９】
一方、イベントログ３４に発生源のデバイス自体が故障していることを示す情報が含まれていない場合（状態ＳＴ１２においてＮＯ）には、図１０に示すような表示画面に遷移する。
【０１１０】
図１０を参照して、プロセスデータ通信異常の発生源となったデバイスとフィールドネットワーク２を介して通信できているか否かが判断される（状態ＳＴ２０）。この判断は、アクセスログ３６に格納される対象のデバイスとの間の通信履歴および／または変数値群４０に含まれるシステム変数（ネットワーク状態を示すフラグ値など）に基づいて実行される。
【０１１１】
プロセスデータ通信異常の発生源となったデバイスとフィールドネットワーク２を介して通信できていない場合（状態ＳＴ２０においてＮＯ）には、状態ＳＴ２２に示すような表示画面に変化する。
【０１１２】
状態ＳＴ２２の表示画面においては、対象のデバイスがフィールドネットワークから切り離されていることを通知するとともに、その原因として、３つの要因が想定されるので、それぞれについて確認を促すメッセージ５５０が表示される。この例において、３つの要因としては、（１）電源が遮断されている、（２）通信ケーブルの接続外れ、（３）通信ケーブルの断線、が挙げられる。ユーザは、これらの３つの要因について確認および状況の入力を行う。
【０１１３】
まず、状態ＳＴ２２の表示画面においてユーザがボタン５５２を選択すると、状態ＳＴ２４に示すような表示画面に変化する。状態ＳＴ２４の表示画面においては、電源が遮断されているか否かの確認を促すメッセージ５５４が表示される。ユーザは、対象のデバイスを目視確認し、電源が遮断されている場合には、ＹＥＳを示すボタン５５６を選択し、そうでなければ、ＮＯを示すボタン５５８を選択する。
【０１１４】
状態ＳＴ２４の表示画面においてボタン５５６が選択されると、状態ＳＴ２６に示すような表示画面に変化する。
【０１１５】
状態ＳＴ２６に示す表示画面は、対象のデバイスの電源が遮断されていることを異常要因として特定した場合に表示されるものであり、異常要因推定処理は、この段階で終了する。すなわち、状態ＳＴ２６に示す表示画面においては、異常要因が特定のデバイスの電源が遮断であることを通知するとともに、当該電源が遮断したデバイスに対する電源の再投入を促すメッセージ５６０が表示される。状態ＳＴ２６に示す表示画面は、ユーザの了承を受付けるボタン５６２を含んでいる。ユーザは、電源が遮断していたデバイスの電源を再投入し、必要に応じてリセット動作を行った後に、ボタン５６２を選択することで、異常要因推定処理は終了する。
【０１１６】
なお、状態ＳＴ２６に示す表示画面において、例えば、電源が遮断していたデバイスに対する電源の再投入を支援する画面、例えば、対象のデバイスに電源を供給する部位を示す画面、リセットの手順を示す画面などを、ユーザ要求に応じて表示するようにしてもよい。
【０１１７】
一方、状態ＳＴ２４の表示画面においてユーザがボタン５５８を選択すると、状態ＳＴ２８に示すような表示画面に変化する。状態ＳＴ２８の表示画面においては、対象のデバイスに接続される通信ケーブルの接続外れが生じているか否かの確認を促すメッセージ５６４が表示される。ユーザは、対象のデバイスを目視確認し、通信ケーブルの接続外れが生じている場合には、ＹＥＳを示すボタン５６６を選択し、そうでなければ、ＮＯを示すボタン５６８を選択する。
【０１１８】
状態ＳＴ２８の表示画面においてボタン５６６が選択されると、状態ＳＴ３０に示すような表示画面に変化する。
【０１１９】
状態ＳＴ３０に示す表示画面は、対象のデバイスに接続される通信ケーブルの接続外れが生じていることを異常要因として特定した場合に表示されるものであり、異常要因推定処理は、この段階で終了する。すなわち、状態ＳＴ２６に示す表示画面においては、異常要因が特定のデバイスにおける通信ケーブルの接続外れであることを通知するとともに、当該通信ケーブルの接続外れが生じているデバイスに対する通信ケーブルの再接続を促すメッセージ５７０が表示される。状態ＳＴ３０に示す表示画面は、ユーザの了承を受付けるボタン５７２を含んでいる。ユーザは、通信ケーブルの接続外れが生じていたデバイスへの通信ケーブルを再接続し、必要に応じてリセット動作を行った後に、ボタン５７２を選択することで、異常要因推定処理は終了する。
【０１２０】
なお、状態ＳＴ３０に示す表示画面において、例えば、通信ケーブルの接続外れが生じていたデバイスに対する通信ケーブルの再接続を支援する画面、例えば、対象のデバイスと通信ケーブルとが接続されている部位を示す画面、リセットの手順を示す画面などを、ユーザ要求に応じて表示するようにしてもよい。さらに、ネットワーク構成および装置構成を模式的に表示して、ケーブルの位置を視覚的に知らせるようにしてもよい。
【０１２１】
一方、状態ＳＴ２８の表示画面においてユーザがボタン５６８を選択すると、状態ＳＴ３２に示すような表示画面に変化する。状態ＳＴ３２の表示画面においては、対象のデバイスに接続される通信ケーブルに断線が生じているか否かの確認を促すメッセージ５７４が表示される。ユーザは、対象のデバイスを目視確認し、通信ケーブルが断線している場合には、ＹＥＳを示すボタン５７６を選択し、そうでなければ、ＮＯを示すボタン５７８を選択する。
【０１２２】
状態ＳＴ３２の表示画面においてボタン５７６が選択されると、状態ＳＴ３４に示すような表示画面に変化する。
【０１２３】
状態ＳＴ３４に示す表示画面は、対象のデバイスに接続される通信ケーブルの断線が異常要因として特定した場合に表示されるものであり、異常要因推定処理は、この段階で終了する。すなわち、状態ＳＴ３４に示す表示画面においては、異常要因が特定のデバイスにおける通信ケーブルの断線であることを通知するとともに、当該断線している通信ケーブルの交換を促すメッセージ５８０が表示される。状態ＳＴ３４に示す表示画面は、ユーザの了承を受付けるボタン５８２を含んでいる。ユーザは、断線していた通信ケーブルを交換し、必要に応じてリセット動作を行った後に、ボタン５８２を選択することで、異常要因推定処理は終了する。
【０１２４】
なお、状態ＳＴ３４に示す表示画面において、例えば、通信ケーブルの交換を支援する画面、例えば、対象のデバイスと通信ケーブルとが接続されている部位を示す画面、通信ケーブルの経路を示す画面、リセットの手順を示す画面などを、ユーザ要求に応じて表示するようにしてもよい。さらに、ネットワーク構成および装置構成を模式的に表示して、ケーブルの位置を視覚的に知らせるようにしてもよい。
【０１２５】
状態ＳＴ２２〜ＳＴ３４に示すように、情報処理装置５０は、対象の異常事象に対する、互いに類似した複数の要因候補をユーザに提示するとともに、当該互いに類似した複数の要因候補に対する対処をユーザへ順次提示する。また、状態ＳＴ２６，ＳＴ３０，ＳＴ３４に示すように、情報処理装置５０は、ユーザに提示した対処の実施によって、対象の異常事象が解消すると、当該対処に関連付けられる要因を対象の異常事象を発生させた要因として特定する。このような提示方法を採用することで、ユーザに対する説明性を高めることができる。
【０１２６】
一方、状態ＳＴ３２の表示画面においてユーザがボタン５７８を選択すると、すなわち、提示された３つの要因のいずれにも該当しない場合には、図１１に示すような表示画面に遷移する。また、プロセスデータ通信異常の発生源となったデバイスとフィールドネットワーク２を介して通信できている場合（状態ＳＴ２０においてＹＥＳ）においても、図１１に示すような表示画面に遷移する。
【０１２７】
図１１を参照して、異常事象が発生したデバイスとの間の通信状態が評価される。このとき、状態ＳＴ４０に示すような表示画面がユーザに提示される。状態ＳＴ４０の表示画面においては、通信ケーブルの断線または劣化状況を調査している旨のメッセージ５８４とともに、処理の進捗状態を示すプログレスバー５８６が表示される。
【０１２８】
この通信状態の評価は、ネットワーク統計情報３８に含まれる状態値（例えば、エラーフレーム受信数やフレーム受信タイムアウト数）などを用いて実現される。例えば、事前（例えば、設備の新設時など）に計測された初期値と現在値と比較することで、ネットワーク回線上に何らかの異常を生じさせる箇所が存在しているか否かを調査できる。あるいは、計測される状態値（エラーフレーム受信数やフレーム受信タイムアウト数）などが予め定められたしきい値を超えているか否かなどの判断に基づいて、ネットワーク回線上に何らかの異常を生じさせる箇所が存在しているか否かを調査できる。
【０１２９】
あるいは、アクセスログ３６に含まれる対象のデバイスとの間で遣り取りされるパケットの内容に基づいて、ネットワーク回線上に何らかの異常を生じさせる箇所が存在しているか否かを調査してもよい。
【０１３０】
この通信状態の評価においては、エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致しているか否かが判断される（状態ＳＴ４２）。
【０１３１】
エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致している場合（状態ＳＴ４２においてＹＥＳ）には、状態ＳＴ４４に示すような表示画面に変化する。
【０１３２】
状態ＳＴ４４に示される表示画面は、対象のデバイスに接続される通信ケーブルの性能が本来の性能を発揮していないことを示す。状態ＳＴ４４の表示画面においては、対象のデバイスに接続される通信ケーブルの交換を促すメッセージ５８８が表示される。ユーザは、対象のデバイスに接続される通信ケーブルを交換した上で、ＯＫを示すボタン５９０を選択する。
【０１３３】
状態ＳＴ４４の表示画面においてボタン５９０が選択されると、異常事象が発生したデバイスとの間の通信状態が再度評価される。このとき、状態ＳＴ４６に示すような表示画面がユーザに提示される。状態ＳＴ４６の評価においては、状態ＳＴ４２と同様に、エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致しているか否かが判断される。すなわち、情報処理装置５０は、必要に応じて、ネットワーク統計情報３８に基づいて、ユーザによる対処によって対象の異常事象が解消したか否かを判断する。
【０１３４】
エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致していない場合（状態ＳＴ４６においてＯＫ）（すなわち、プロセス通信異常が解消した状態）には、状態ＳＴ４８に示すような表示画面に変化する。
【０１３５】
状態ＳＴ４８に示す表示画面は、対象のデバイスに接続されていた通信ケーブル自体の不具合を異常要因として特定した場合に表示されるものであり、異常要因推定処理は、この段階で終了する。すなわち、状態ＳＴ４８に示す表示画面においては、通信ケーブルの交換などの対処によって、異常事象が解消したことを通知する、現在は、プロセスデータ通信異常は発生していないことを示すメッセージ５１６が表示される。状態ＳＴ４８に示す表示画面は、ユーザの了承を受付けるボタン５１８を含んでいる。ユーザは、メッセージ５１６の内容を確認して、ＯＫを示すボタン５１８を選択することで、異常要因推定処理は終了する。
【０１３６】
状態ＳＴ４６，ＳＴ４８，ＳＴ５０に示すように、情報処理装置５０は、ネットワーク統計情報３８に含まれる状態値に基づいて、対象の異常事象に関連するデバイスとの間の通信状態を評価することで、対象の異常事象が解消したか否かを判断する。このような通信状態の評価に基づく手法を利用することで、要因特定および異常事象の解消との判断の信頼性を高めることができる。
【０１３７】
一方、エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致している場合（状態ＳＴ４６においてＮＧ）（すなわち、プロセス通信異常が依然として解消していない状態）には、状態ＳＴ４８に示すような表示画面に変化する。
【０１３８】
状態ＳＴ４８に示される表示画面は、対象のデバイスの通信ケーブルを交換したものの、異常事象が解消しておらず、別の対処が必要であることを示す。状態ＳＴ４８の表示画面においては、対象のデバイスの交換を促すメッセージ５９６が表示される。ユーザは、対象のデバイスを交換した上で、ＯＫを示すボタン５９８を選択する。
【０１３９】
状態ＳＴ４８の表示画面においてボタン５９０が選択されると、デバイスの交換後であっても、異常状態が継続しているか否かが評価される。デバイスの交換後において、異常状態が解消していれば（状態ＳＴ４８においてＯＫ）、状態ＳＴ４８に示すような表示画面に変化する。状態ＳＴ４８に示す表示画面の説明は上述したので、その内容は繰返さない。
【０１４０】
一方、デバイスの交換後にもかかわらず異常状態が継続していれば（状態ＳＴ４８においてＮＧ）、状態ＳＴ５２に示すような表示画面に変化する。
【０１４１】
また、状態ＳＴ４２において、エラーフレーム受信数やフレーム受信タイムアウト数などの状態値が予め定められた異常条件に合致していない場合（状態ＳＴ４２においてＮＯ）にも、状態ＳＴ５２に示すような表示画面に変化する。
【０１４２】
状態ＳＴ５２に示される表示画面は、予め取得されている異常要因推定処理に係るフローおよび制御システム１において取得される情報およびデータでは、異常要因を推定することが難しいと判断された場合に表示される。
【０１４３】
状態ＳＴ５２の表示画面においては、異常要因の特定ができなかったことを通知するとともに、サポート部門などの電話番号を提示して発生した異常への対処を依頼するように促すメッセージ５３６が表示される。ユーザは、必要な対処を依頼した上で、ＯＫを示すボタン５３８を選択することで、異常要因推定処理は終了する。
【０１４４】
以上のような対話的なユーザインターフェイスを提供することで、異常要因の特定および復旧を迅速化できる。
【０１４５】
なお、図８〜図１１に示す一連の対話的なユーザインターフェイスの途中であっても、ユーザがこれ以上の対処が難しいと判断した場合には、状態ＳＴ５２に示すような表示画面に遷移するようにしてもよい。例えば、対象のユニットを目視確認できない場合や、対象のユニットを交換できない場合などである。
【０１４６】
また、図８〜図１１に示す一連の対話的なユーザインターフェイスに従う異常要因の推定処理の結果、発生していた異常事象が解消した場合には、その異常解消の根拠の詳細を提示するようにしてもよい。例えば、異常解消前後における、エラーフレーム受信数やフレーム受信タイムアウト数の変化や推移を示すようにしてもよい。このような異常要因が解消したことの説明性を高めることで、ユーザの心理的な負担を軽減することもできる。
【０１４７】
（ｄ３：異常−要因履歴データベース２２６および要因推定フローデータベース２２８）
次に、図８〜図１１に示す一連の対話的なユーザインターフェイスを実現するための、異常−要因履歴データベース２２６および要因推定フローデータベース２２８の一例について説明する。
【０１４８】
図１２は、本実施の形態に係る制御システム１において利用される異常−要因履歴データベース２２６の一例を示す模式図である。図１２を参照して、異常−要因履歴データベース２２６には、１または複数の異常事象項目２２６０がキーノードとして配置されている。異常事象項目２２６０の各々には、異常要因推定処理において要因を推定する対象となる異常事象の内容が規定されている。図１２に示す例では、異常要因として、「プロセス通信異常」が示されている。
【０１４９】
異常事象項目２２６０の各々には、１または複数の要因項目２２６２が関連付けられている。要因項目２２６２の各々には、対応する異常事象項目２２６０を生じさせ得る要因が規定されている。通常、１つの異常事象に対して複数の要因が想定される。そのため、１つの異常事象項目２２６０には、複数の要因項目２２６２が関連付けられることが一般的である。図１２に示す例では、要因として、「デバイス故障」、「デバイス電源遮断」、「通信ケーブル外れ」、「通信ケーブル切断」、「通信ケーブル不要」、・・・が示されている。
【０１５０】
要因項目２２６２の各々には、１または複数の確認判断手法項目２２６４が関連付けられる。確認判断手法項目２２６４の各々には、対応する要因項目２２６２の存在を確認または判断するための手法が規定されている。図１２に示す例では、確認判断手法として、「イベントログ内容確認」、「目視」、「ネットワーク統計情報」、「交換」、・・・が示されている。
【０１５１】
なお、１つの要因に対して、複数の確認判断手法を組み合せて対処する場合もあり、このような場合も考慮して、複数の確認判断手法項目間の連結２２６６なども可能になっている。このような項目間の連結２２６６を用いることで、所定手順に従って確認判断手法を実施することで、目的とする要因の有無を判断することができる。
【０１５２】
なお、説明の便宜上、図１２には、１つの異常事象に関連付けられる要因および確認判断手法を例示したが、これに限らず、複数の異常事象について要因および確認判断手法が関連付けられる。
【０１５３】
図１２に示すような異常−要因履歴データベース２２６を利用して、図８〜図１１に示される対話的なユーザインターフェイスが提供される。要因推定フローデータベース２２８は、対話的なユーザインターフェイスを提供するための表示順序などを規定する。
【０１５４】
図１３は、本実施の形態に係る制御システム１において利用される要因推定フローデータベース２２８の一例を示す模式図である。図１３を参照して、要因推定フローデータベース２２８には、一例として、フローの各ステップに対応する複数の状態が規定されている。
【０１５５】
より具体的には、要因推定フローデータベース２２８は、いずれかの異常事象ノード２２８０をルートノードとして、ユーザへ提示される内容の順序に応じて、１または複数の要因ノード２２８２が関連付けられている。すなわち、ルートノードである異常事象ノード２２８０から１または複数の要因ノード２２８２へ順に遷移していくことが規定されている。
【０１５６】
異常事象ノード２２８０の各々には、確認判断手法を規定する確認判断ノード２２８４が関連付けられており、図１２に示す異常−要因履歴データベース２２６の内容が参照されて、必要な確認処理または判断処理が実行され、あるいは、ユーザに所定操作などを促す。確認判断ノード２２８４には、ユーザインターフェイス表示設定２２８６が関連付けられており、図８〜図１１に示される対話的なユーザインターフェイスとして提示される表示画面内のテキストやレイアウト情報が格納される。
【０１５７】
なお、１つの要因ノード２２８２には、確認判断手法を共通とする複数の要因が関連付けられることもある。
【０１５８】
図１３に示すような形態で、本実施の形態に係る異常要因推定処理により提供される、対話的なユーザインターフェイスの表示順序（フロー）などを規定できる。対話的なユーザインターフェイスにおける要因の表示順序については、過去の故障履歴などを参照して、ルートノードにある異常事象の要因であった頻度または確率の高いものを優先するようにしてもよい。
【０１５９】
なお、図１３に示す要因推定フローデータベース２２８のデータ構造は一例であり、どのようなデータ構造を採用してもよい。
【０１６０】
図１３に示すようなデータ構造に代えて、異常−要因履歴データベース２２６と要因推定フローデータベース２２８とを一体化したデータ構造を採用してもよい。この場合には、異常事象毎にユーザへ提示されるフローの内容が予め規定される。
【０１６１】
あるいは、異常事象毎にユーザへ提示されるフローの内容を動的に生成するようにしてもよい。この場合には、異常−要因履歴データベース２２６から発生した異常事象に関連付けられる、要因および確認判断項目を抽出し、その抽出した要因および確認判断項目と、異常事象毎の過去の要因分析結果などとを関連付けることで、ユーザへ提示すべき要因の順序および対処などとして提案する内容の順序を状況に応じて最適化できる。
【０１６２】
また、異常−要因履歴データベース２２６の内容についても、１または複数の制御装置１００からの情報を収集し、あるいは、外部からの情報の追加などによって、内容の豊富化および最適化を行うようにしてもよい。
【０１６３】
＜Ｅ．実装例＞
次に、本実施の形態に係る制御システム１が異常要因推定処理を提供するためのいくつかの実装例について説明する。
【０１６４】
（ｅ１：実装例１：サポート装置を主体とする処理）
図１４は、本実施の形態に係る制御システム１の実装例を示す模式図である。図１４を参照して、本実施の形態に係る異常要因推定処理は、サポート装置２００によって提供されてもよい。サポート装置２００が異常要因推定処理を提供する実装例においては、異常要因推定処理を提供するための要因推定モジュール２３０は、サポート装置２００に実装される。
【０１６５】
サポート装置２００には、要因推定モジュール２３０に加えて、異常−要因履歴データベース２２６および要因推定フローデータベース２２８が配置される。サポート装置２００は、対象の制御装置１００が保持している、イベントログ３４、アクセスログ３６、ネットワーク統計情報３８を抽出するとともに、制御装置１００の変数値群４０に含まれるシステム変数などを参照しつつ、ユーザに対して、対話的なユーザインターフェイスを提供する。
【０１６６】
本実装例においては、サポート装置２００の表示部２１８を介してユーザに対してユーザインターフェイスが提供されるとともに、サポート装置２００の入力部２１６を介してユーザ操作が受付けられる。
【０１６７】
このように、制御装置１００に接続されるサポート装置２００に、異常要因推定処理を提供するための要因推定モジュール２３０および必要なデータベースを配置するような実装例を採用してもよい。
【０１６８】
（ｅ２：実装例２：表示装置を主体とする処理）
上述の図１４に示すように、サポート装置２００が異常要因推定処理を提供する実装例と同様に、表示装置４００が異常要因推定処理を提供するようにしてもよい。このような実装例においては、表示装置４００は、運転監視用のインターフェイス画面の一部として、異常要因推定処理に係る対話的なユーザインターフェイスを提供するようにしてもよい。あるいは、運転監視用のモードと、異常要因推定用のモードとを選択的に提供するようにしてもよい。
【０１６９】
このように、制御装置１００に接続される表示装置４００に、異常要因推定処理を提供するための要因推定モジュール２３０および必要なデータベースを配置するような実装例を採用してもよい。
【０１７０】
（ｅ３：実装例３：サーバ装置３００が異常−要因履歴データベース２２６を保持する構成）
図１４に示す実装例においては、サポート装置２００または表示装置４００が異常−要因履歴データベース２２６を保持する構成を示したが、サーバ装置３００に異常−要因履歴データベース２２６を配置してもよい。この場合、サポート装置２００または表示装置４００は、サーバ装置３００に格納される異常−要因履歴データベース２２６を参照するとともに、生成した異常−要因履歴をサーバ装置３００へ送信する。
【０１７１】
このように、サポート装置２００または表示装置４００からアクセス可能なサーバ装置３００に、異常要因推定処理を提供するために必要なデータベースの一部を配置するような実装例を採用してもよい。
【０１７２】
（ｅ４：実装例４：携帯端末装置５００上での対話的なユーザインターフェイスの提供）
図１５は、本実施の形態に係る制御システム１の別の実装例を示す模式図である。図１５に示す構成は、図１４に示す構成に比較して、携帯端末装置５００および携帯端末装置５００とデータを遣り取りするためのサーバモジュール２４０が付加されている。
【０１７３】
図１５に示す構成において、表示装置４００（またはサポート装置２００）は、サーバモジュール２４０を有しており、携帯端末装置５００との間で対話的なユーザインターフェイスを提供するためのデータを遣り取りする。
【０１７４】
サーバモジュール２４０は、例えば、ＨＴＴＰ（Hypertext Transfer Protocol）などに従って、携帯端末装置５００との間でデータを遣り取りするためのソフトウェア的な機能と、無線通信などによりデータを送受信する通信機能とを有している。サーバモジュール２４０は、要因推定モジュール２３０が出力するデータを含むＨＴＭＬ（HyperText Markup Language）ページを生成して携帯端末装置５００へ送信するとともに、ユーザが携帯端末装置５００を操作することで入力される操作内容を受信して、要因推定モジュール２３０へ出力する。
【０１７５】
このような構成を採用することで、ユーザは、対話的な異常要因推定処理を、実際の製造ラインに出向くことなく携帯端末装置５００上で行うことができる。
【０１７６】
なお、図１５に示す構成例においては、上述の実装例１〜３と同様の変形例を採用することができる。例えば、異常要因推定処理に必要な異常−要因履歴データベース２２６をサーバ装置３００に配置してもよい。
【０１７７】
また、図１５には、無線通信を介して、携帯端末装置５００に対して対話的なユーザインターフェイスを提供する構成例を示すが、これに限らず、有線接続されたパーソナルコンピュータやサーバに対して、対話的なユーザインターフェイスを提供するようにしてもよい。さらに、例えば、クラウド上に形成される電子会議システムなどに接続することで、ユーザは、遠隔地のパーソナルコンピュータ上で何らかの異常事象が発生した場合に、その要因を推定して、必要な対処を指示することもできる。
【０１７８】
図１４および図１５に示すような構成例において、一部の機能またはデータをさらに別の処理主体に配置するようにしてもよい。すなわち、ネットワーク化などにより、機能を分散配置するようにしてもよい。
【０１７９】
（ｅ５：実装例５：複数の制御装置１００を管理する構成）
上述の実装例１〜４においては、単一の制御装置１００に対する異常要因推定処理を想定したが、実際の製造ラインにおいては、複数の制御装置１００が配置されていることも一般的である。このような場合には、複数の制御装置１００が単一のサーバ装置３００に対してそれぞれアクセスするようにしてもよい。
【０１８０】
図１６は、本実施の形態に係る制御システム１のさらに別の実装例を示す模式図である。図１６に示す制御システム１は、複数の制御装置１００−１，１００−２，・・・を含む。表示装置４００（またはサポート装置２００）は、複数の制御装置１００−１，１００−２，・・・の各々に対して異常要因推定処理を実行可能である。
【０１８１】
このような構成において、異常−要因履歴データベース２２６および要因推定フローデータベース２２８を保持するサーバ装置３００を配置するとともに、サーバ装置３００の異常−要因履歴データベース２２６および要因推定フローデータベース２２８には、複数の制御装置１００−１，１００−２，・・・のそれぞれからのデータを格納するようにしてもよい。
【０１８２】
表示装置４００（またはサポート装置２００）は、対象の制御装置１００に応じて、サーバ装置３００に格納される異常−要因履歴データベース２２６および要因推定フローデータベース２２８のうち、必要なデータにアクセスするようにしてもよい。
【０１８３】
図１６に示すように、複数の制御装置１００を統括する上位装置に必要な機能およびデータを配置することで、異常要因推定処理を実現するための構成を簡素化できる。さらに、複数の制御装置１００の間で異常要因を特定するので、複数の制御装置１００に跨って生じている異常要因を推定できる。
【０１８４】
なお、図１６に示す構成例においては、上述の実装例１〜４と同様の変形例を採用することができる。例えば、さらに、サーバモジュール２４０を配置して、携帯端末装置５００上での対話的なユーザインターフェイスを提供するようにしてもよい。
【０１８５】
（ｅ６：実装例６：制御装置１００に必要なデータを格納する構成）
上述の実装例１〜５においては、複数の処理主体が連係することで、要因推定処理を実現する構成を例示したが、制御装置１００に必要なデータを格納するようにしてもよい。
【０１８６】
図１７は、本実施の形態に係る制御システム１のさらに別の実装例を示す模式図である。図１７に示す制御システム１において、制御装置１００は、イベントログ３４、アクセスログ３６、ネットワーク統計情報３８に加えて、異常−要因履歴データベース２２６および要因推定フローデータベース２２８自体も保持している。
【０１８７】
制御装置１００に接続されるサポート装置２００または表示装置４００は、要因推定モジュール２３０を有している。要因推定モジュール２３０が制御装置１００から必要なデータを収集することで、本実施の形態に係る異常要因推定処理を実現する。それにより、サポート装置２００および／または表示装置４００は、要因推定モジュール２３０が提供する機能により、対話的なユーザインターフェイスを提供する。
【０１８８】
なお、サポート装置２００または表示装置４００が制御装置１００により保持されている異常−要因履歴データベース２２６および要因推定フローデータベース２２８を都度参照するのではなく、制御装置１００からサポート装置２００または表示装置４００に対して、異常−要因履歴データベース２２６および要因推定フローデータベース２２８を予めアップロードしておき、サポート装置２００または表示装置４００は、自装置に一時的に格納される異常−要因履歴データベース２２６および要因推定フローデータベース２２８を参照するようにしてもよい。
【０１８９】
また、サポート装置２００または表示装置４００に配置される要因推定モジュール２３０は、アドオン可能なライブラリあるいは機能モジュールのような形で配布されてもよい。この場合、サポート装置２００または表示装置４００に予めインストールされているユーザインターフェイス機能を利用しつつ、その既存のユーザインターフェイスに対して、異常要因推定処理を追加するような形態を採用できる。すなわち、対話的な異常要因推定処理の実現に必要な機能モジュールを、ユーザインターフェイスを提供する機能モジュールとは独立して、提供できる。このような独立した機能モジュールの形で配布することで、本実施の形態に係る異常要因推定処理を様々な形態で容易に利用できるようになる。
【０１９０】
このようなアドオン可能な形態で配布することにより、サポート装置２００または表示装置４００が存在しなくても、例えば、携帯端末装置５００上で実行されるアプリケーションに異常要因推定機能を直接的に組込み、ユーザに対して、対話的なユーザインターフェイスを提供するようにしてもよい。
【０１９１】
＜Ｆ．変形例＞
上述したような本実施の形態に係る異常要因推定処理に対して、以下のような変形も可能である。
【０１９２】
（ｆ１：スキルレベル別フロー）
上述の実施の形態に係る異常要因推定処理の対話的なユーザインターフェイスにおいて提示されるフローの内容をユーザのスキルレベルに応じて異ならせてもよい。
【０１９３】
例えば、製造装置の運転操作を主として実施する現場オペレータと、設備保全を担当する保全員とはチェック可能および対処可能な内容（項目）が異なる。また、保全員の中でも、制御装置１００などについてより専門的な知識を有している上級保全員と、保全業務の経験が浅い初級保全員との間でも、チェック可能および対処可能な内容（項目）が異なる。
【０１９４】
そこで、このような制御システム１に対して発生した異常に対するチェックおよび対処のスキルレベルに応じて、対話的なユーザインターフェイスにおいて提示されるフローの内容を異ならせることが好ましい。
【０１９５】
図１８は、本実施の形態に係る制御システム１の変形例において提供されるユーザインターフェイスの一例を示す模式図である。図１８を参照して、異常要因推定処理が開始されると、図１８に示されるようなダイアログ６００が表示される。ダイアログ６００は、ユーザのスキルレベルの選択を促すメッセージ６０２とともに、各スキルレベルの選択を受付ける選択ボタン６０４，６０６，６０８を含む。担当するユーザは、ダイアログ６００上のいずれかのボタンを選択することで自身のスキルレベルを選択する。
【０１９６】
図１９は、本実施の形態に係る制御システム１の変形例における異常要因推定処理を説明するための図である。図１９（Ａ）〜（Ｃ）には、ユーザのスキルレベル別の異常要因推定処理例を示す。
【０１９７】
図１９（Ａ）には、上級保全員に提供されるフローの一例を示し、例えば、対話項目１〜５が必要に応じて順次提供される。図１９（Ｂ）および（Ｃ）には、上級保全員以外のスキルレベル（現場オペレータまたは初級保全員）に提供されるフローの一例を示す。図１９（Ｂ）に示すフローにおいては、図１９（Ａ）のフローに含まれる２つの対話項目（具体的には、対話項目４，５）が省略されている。すなわち、ユーザのスキルレベルを考慮して、２つの対話項目の提示は行われない。また、図１９（Ｃ）に示すように、特定の対話項目は別の対話項目に変更されている。すなわち、ユーザのスキルレベルを考慮して、上級保全員用の対話項目に代えて、代替の対話項目が提示される。このような代替的に提示される対話項目は、何らかの対象となる要因の存在を確認するための別の手段に向けられている。さらに、図１９（Ｃ）に示すように、代替の対話項目の提示に加えて、一部の対話項目を省略するようにしてもよい。
【０１９８】
本変形例においては、図１８に示すように、情報処理装置５０は、ユーザのスキルレベルの選択を受付け、選択されたスキルレベルに応じて、対話的なユーザインターフェイスの内容を異ならせる。すなわち、異常要因推定処理を実施するユーザのスキルレベルに応じて、提示されるフローを異ならせる。また、ユーザは、いずれかのフローの使用（すなわち、いずれのスキルレベルの選択）を自ら行うことができる。本変形例においては、異常要因推定処理を実施するユーザのスキルレベル（力量）に応じて、適切な提案を行うことで、より迅速な対処を実現できる。
【０１９９】
例えば、担当ユーザのスキルレベルの範囲で特定可能な異常要因であれば、それを素早く特定できるようなフローを提供し、担当ユーザのスキルレベルを超える異常要因であれば、最適な担当者（例えば、上級保全員など）への引き継ぎを早期に促すこともできる。このような構成を採用することで、担当ユーザの手に負えないような異常要因が発生した場合に、必要以上に作業を継続させることなく、総合的に効率な対処を提案できる。
【０２００】
（ｆ２：稼動情報および履歴情報の参照）
上述したような情報に加えて、各ユニットまたは各デバイスの稼動情報および／または履歴情報を参照して、異常要因を特定するようにしてもよい。より具体的には、各ユニットまたは各デバイスの稼動時間などに基づく故障率の上昇度合いなどを参照して、異常要因を推定するようにしてもよい。すなわち、異常要因として推定される複数のユニットおよび／またはデバイスのうちから、故障確率が上昇しているユニットまたはデバイスを特定するようにしてもよい。
【０２０１】
図２０は、本実施の形態に係る制御システム１の変形例における稼動情報データベース４４の一例を示す模式図である。稼動情報データベース４４は、典型的には、制御装置１００により保持および更新される。
【０２０２】
図２０を参照して、稼動情報データベース４４は、ネットワークアドレスフィールド４４１と、デバイス種類フィールド４４２と、デバイス型番フィールド４４３と、装着日フィールド４４４と、総稼動時間フィールド４４５と、稼動時間フィールド４４６と、異常履歴フィールド４４７とを含む。
【０２０３】
ネットワークアドレスフィールド４４１には、各デバイスのネットワークアドレスなどの接続位置を特定するための情報が格納される。デバイス種類フィールド４４２には、各デバイスの種類が格納される。デバイス型番フィールド４４３には、各デバイスの型番（あるいは、品番やシリアル番号）が格納される。装着日フィールド４４４には、各ユニット（または、デバイス）が制御システム１に装着された日にちの情報などが格納される。総稼動時間フィールド４４５には、各デバイスが装着されてから現在までの稼動時間の総合計が格納される。稼動時間フィールド４４６には、制御装置１００の有効化に伴って、各デバイスが動作を開始してからの稼動時間が格納される。異常履歴フィールド４４７には、各デバイスにおいて発生したイベントの内容がその発生時刻とともに格納される。
【０２０４】
例えば、図２０に示す稼動情報データベース４４において、異常要因になり得る候補が温調装置（ネットワークアドレス００および０１）とカプラユニット（ネットワークアドレス０２）であるとすると、総稼動時間がより長い温調装置を異常要因である可能性が高いと判断してもよい。あるいは、異常履歴が存在しているカプラユニットを異常要因である可能性が高いと判断してもよい。
【０２０５】
このように、稼動情報データベース４４を参照することで、異常要因の推定精度を高めることができる。例えば、各デバイスの装着日（交換履歴）および現在までの総稼働時間などに基づいて、故障が発生する可能性が高まっている各デバイスを異常要因として推定することもできる。
【０２０６】
＜Ｇ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
制御対象を制御する制御システム（１）であって、
１または複数のデバイスとネットワーク接続された制御装置（１００）と、
前記制御装置に接続される情報処理装置（５０；２００；４００）とを備え、
前記制御装置は、
制御動作中に発生したイベントを格納するイベントログ（３４）と、
ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報（３８）とを含み、
前記情報処理装置は、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部（６０；２３０）を含み、
前記要因推定部は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスする手段（６２）と、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段（６８）と、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定する手段（６４）と、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断する手段（６６）とを含む、制御システム。
［構成２］
前記要因推定部は、前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象を発生させた要因を特定できる場合には、要因を特定するための対処をユーザに提示する前に、当該特定された要因をユーザに提示する（ＳＴ１２，ＳＴ１４）、構成１に記載の制御システム。
［構成３］
前記要因推定部は、前記対象の異常事象に対する、互いに類似した複数の要因候補をユーザに提示するとともに、当該互いに類似した複数の要因候補に対する対処をユーザへ順次提示する（ＳＴ２２，ＳＴ２４，ＳＴ２８，ＳＴ３２）、構成１または２に記載の制御システム。
［構成４］
前記要因推定部は、ユーザに提示した対処の実施によって、前記対象の異常事象が解消すると、当該対処に関連付けられる要因を前記対象の異常事象を発生させた要因として特定する（ＳＴ２６，ＳＴ３０，ＳＴ３４）、構成１〜３のいずれか１項に記載の制御システム。
［構成５］
前記要因推定部は、前記ネットワーク統計情報に含まれる状態値に基づいて、前記対象の異常事象に関連するデバイスとの間の通信状態を評価することで、前記対象の異常事象が解消したか否かを判断する（ＳＴ４６，ＳＴ４８）、構成１〜４のいずれか１項に記載の制御システム。
［構成６］
前記要因推定部は、ユーザのスキルレベルの選択を受付ける手段（６００）をさらに含み、
前記要因推定部は、選択されたスキルレベルに応じて、前記対話的なユーザインターフェイスの内容を異ならせる、構成１〜５のいずれか１項に記載の制御システム。
［構成７］
前記情報処理装置は、前記イベントログに登録された１または複数のイベントを一覧表示するとともに、一覧表示されたイベントに対する選択に応じて、対話的なユーザインターフェイスの提供を開始する（ＳＴ８，ＳＴ１０）、構成１〜６のいずれか１項に記載の制御システム。
［構成８］
制御対象を制御する制御装置（１００）に接続される情報処理装置（５０；２００；４００）であって、
前記制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログ（３４）と、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報（３８）とを含み、
前記情報処理装置は、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定部（６０；２３０）を備え、
前記要因推定部は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスする手段（６２）と、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示する手段（６８）と、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定する手段（６４）と、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断する手段（６６）とを含む、情報処理装置。
［構成９］
制御対象を制御する制御装置（１００）に接続される情報処理装置（５０；２００；４００）において実行される異常要因推定プログラム（２２４）であって、
前記制御装置は、１または複数のデバイスとネットワーク接続されるとともに、制御動作中に発生したイベントを格納するイベントログ（３４）と、ネットワーク上のデータ伝送についての統計情報を格納したネットワーク統計情報（３８）とを含み、
前記異常要因推定プログラムは、前記情報処理装置に、前記イベントログに登録された異常事象の選択に応じて、対話的なユーザインターフェイスを提供する要因推定処理を実行させ、
前記要因推定処理は、
前記制御装置の前記イベントログおよび前記ネットワーク統計情報にアクセスするステップ（６２）と、
異常事象と当該異常事象を生じさせる１または複数の要因との関連付けに基づいて、対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するための対処をユーザに提示するステップ（６８）と、
前記イベントログに登録された異常事象の内容に基づいて、前記対象の異常事象に関連付けられる１または複数の要因候補のうち、前記対象の異常事象を発生させた要因を特定するステップ（６４）と、
前記ネットワーク統計情報に基づいて、ユーザによる対処によって前記対象の異常事象が解消したか否かを判断するステップ（６６）とを含む、異常要因推定プログラム。
【０２０７】
＜Ｈ．利点＞
本実施の形態に係る制御システム１によれば、１または複数のデバイスが接続されたネットワークにおいて生じ得る異常事象に対して、それを発生させた要因の候補のうち、いずれかの要因が異常事象を引き起こしたのかを容易に特定できる。
【０２０８】
また、本実施の形態に係る制御システム１によれば、制御装置１００がそれぞれ独立した複数の情報を格納している場合であっても、それらの情報を集約した上で、ユーザに対して、対話的なユーザインターフェイスを提供できるので、知識の乏しいユーザであっても、異常事象の要因を容易に特定できる。
【０２０９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２１０】
１  制御システム、２  フィールドネットワーク、６  上位ネットワーク、１０  デバイス、１２  リモートＩ／Ｏ装置、１４  リレー群、１６，１２４  Ｉ／Ｏユニット、１８  画像センサ、２０  カメラ、２２  サーボドライバ、２４  サーボモータ、３０  ユーザプログラム、３２  制御エンジン、３４  イベントログ、３６  アクセスログ、３８  ネットワーク統計情報、４０  変数値群、４４  稼動情報データベース、５０  情報処理装置、６０，２３０  要因推定モジュール、６２  データ取得モジュール、６４  要因特定モジュール、６６  通信状態評価モジュール、６８  フロー制御モジュール、６９  要因候補、７０  インターフェイスモジュール、１００  制御装置、１０２，２０２  プロセッサ、１０４  チップセット、１０６，２０６  主メモリ、１０８，２０８  ストレージ、１１０  上位ネットワークコントローラ、１１２，２１２  ＵＳＢコントローラ、１１４  メモリカードインターフェイス、１１６  メモリカード、１２０  内部バスコントローラ、１３０  フィールドネットワークコントローラ、２００  サポート装置、２０４  光学ドライブ、２０５  記録媒体、２１４  ネットワークコントローラ、２１６  入力部、２１８  表示部、２２０  バス、２２２  サポートプログラム、２２４  異常要因推定プログラム、２２６  要因履歴データベース、２２８  要因推定フローデータベース、２４０  サーバモジュール、３００  サーバ装置、３４０，３６１  時刻フィールド、３４１  発生源フィールド、３４２，３６６  内容フィールド、３４３  イベントコードフィールド、３６０  シリアル番号フィールド、３６２  アドレスフィールド、３６３  種別フィールド、３６４  プロコトルフィールド、３６５  ポートフィールド、４００  表示装置、４４１  ネットワークアドレスフィールド、４４２  デバイス種類フィールド、４４３  デバイス型番フィールド、４４４  装着日フィールド、４４５  総稼動時間フィールド、４４６  稼動時間フィールド、４４７  異常履歴フィールド、５００  携帯端末装置、５０２  操業監視オブジェクト、５０４  ホームボタン、５０６，５１６，５３６，５４０，５５０，５５４，５６０，５６４，５７０，５７４，５８０，５８４，５８８，５９６，６０２  メッセージ、５１０，５１２，５１４，５１８，５３０，５３２，５３８，５４２，５５２，５５６，５５８，５６２，５６６，５６８，５７２，５７６，５７８，５８２，５９０，５９８  ボタン、５２０，５２２，５２４  タブ、５２６  表示エリア、５２８  異常メッセージ、５８６  プログレスバー、６００  ダイアログ、６０４，６０６，６０８  選択ボタン、２２６０  異常事象項目、２２６２  要因項目、２２６４  確認判断手法項目、２２６６  連結、２２８０  異常事象ノード、２２８２  要因ノード、２２８４  確認判断ノード、２２８６  ユーザインターフェイス表示設定。
【図１】
2019101970.tif 000003
【図２】
2019101970.tif 000004
【図３】
2019101970.tif 000005
【図４】
2019101970.tif 000006
【図５】
2019101970.tif 000007
【図６】
2019101970.tif 000008
【図７】
2019101970.tif 000009
【図８】
2019101970.tif 000010
【図９】
2019101970.tif 000011
【図１０】
2019101970.tif 000012
【図１１】
2019101970.tif 000013
【図１２】
2019101970.tif 000014
【図１３】
2019101970.tif 000015
【図１４】
2019101970.tif 000016
【図１５】
2019101970.tif 000017
【図１６】
2019101970.tif 000018
【図１７】
2019101970.tif 000019
【図１８】
2019101970.tif 000020
【図１９】
2019101970.tif 000021
【図２０】
2019101970.tif 000022