(57)【要約】【課題】ＦＡネットワークでの通信の監視を可能にする。【解決手段】通信監視システムは、生産装置による生産の状況を表す生産データを生成する生産データ生成モジュール１０１２と、ＦＡネットワーク上の通信の状況を表す通信データと、前記生産データとを収集するデータ収集モジュール２５３，１０１４およびデータ管理モジュール２８２と、通信データが生産データに同期するように、データ収集部によって収集された通信データおよび生産データを関連づけるデータ分析および検索モジュール２８１と、通信データおよび生産データを関連づけて表示するための処理を実行するデータ表示部２８３とを備える。【選択図】図７
2020178271.tif 000002
【特許請求の範囲】
【請求項１】
生産装置が接続されたネットワークに関する通信を監視する通信監視システムであって、
前記生産装置による生産の状況を表す生産データを生成する生産データ生成部と、
前記ネットワーク上の通信の状況を表す通信データと、前記生産データとを収集するデータ収集部と、
前記通信データが前記生産データに同期するように、前記データ収集部によって収集された前記通信データおよび前記生産データを関連づけるデータ分析部と、
前記通信データおよび前記生産データを関連づけて表示するための処理を実行するデータ表示部とを備える、通信監視システム。
【請求項２】
前記生産データは、生産ラインに生じた異常を示す生産スコアである、請求項１に記載の通信監視システム。
【請求項３】
前記生産スコアは、前記生産装置による前記生産の単位時間を表すフレームごとに算出されたスコアである、請求項２に記載の通信監視システム。
【請求項４】
前記通信データは、前記ネットワークの通信量および通信ログを含み、
前記データ分析部は、前記生産スコアが異常値を示すときの前記フレームを含む、所定数の前記フレームの間に生成された通信ログを保持し、他の前記フレームの間に生成された通信ログを破棄する、請求項３に記載の通信監視システム。
【請求項５】
生産装置が接続されたネットワークに関する通信を監視する通信監視方法であって、
監視システムが、前記生産装置による生産の状況を表す生産データを生成するステップと、
前記監視システムが、前記ネットワーク上の通信の状況を表す通信データと、前記生産データとを収集するステップと、
前記通信データが前記生産データに同期するように、前記監視システムが、前記通信データおよび前記生産データを関連づけるステップと、
前記監視システムが、前記通信データおよび前記生産データを関連づけて表示するステップとを備える、通信監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークでの通信の監視に関する。
【背景技術】
【０００２】
各種設備および各設備に配置される各種装置の制御には、ＰＬＣ（プログラマブルロジックコントローラ）などのコントローラシステムが用いられる。制御装置は、制御対象の設備や機械に生じる異常を監視するとともに、制御装置自体の異常を監視することも可能である。何らかの異常が検知されると、制御装置から外部に対して何らかの方法で通知がなされる。
【０００３】
例えば、特開２０００−１３７５０６号公報（特許文献１）は、異常履歴が登録されたとき、または、予め定められた時間が到来したときに、予め指定された宛先に電子メールを送信するプログラマブルコントローラを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１３７５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年のＩＣＴ（Information and Communication Technology）の進歩に伴って、制御装置も様々な外部装置とネットワーク接続されるとともに、制御装置において実行される処理も高度化している。ＦＡ（Factory Automation）の現場におけるネットワークは、産業用ネットワーク、ＦＡネットワーク、フィールドネットワーク等の様々な名称を有するが、以下では「ネットワーク」あるいは「ＦＡネットワーク」との用語を用いる。
【０００６】
制御システムのネットワーク化あるいはインテリジェント化に伴って、想定される脅威の種類も増加している。しかし、ＦＡの現場では、生産装置に応じた多種多様な通信が実行される。
【０００７】
一般に、ネットワーク上の通信を監視することにより、セキュリティインシデントの発生が検知される。しかし、多種多様な通信が実行されるＦＡネットワークにおいては、通信の監視のみによってセキュリティインシデントの発生を特定することは容易ではない。
【０００８】
したがって本発明の１つの目的は、ＦＡネットワークでの通信状況の監視を容易にすることである。
【課題を解決するための手段】
【０００９】
本開示の一例は、生産装置が接続されたネットワークに関する通信を監視する通信監視システムであって、生産装置による生産の状況を表す生産データを生成する生産データ生成部と、ネットワーク上の通信の状況を表す通信データと、生産データとを収集するデータ収集部と、通信データが生産データに同期するように、データ収集部によって収集された通信データおよび生産データを関連づけるデータ分析部と、通信データおよび生産データを関連づけて表示するための処理を実行するデータ表示部とを備える。
【００１０】
上記によれば、ＦＡネットワークでの通信状況の監視を容易にすることができる。通信データの統計は、生産データとは無関係である。このため通信データの監視のみでは、セキュリティインシデントの発生を検知することは難しい。しかし、通信データが生産データに同期するように通信データおよび生産データを関連づけることによって、通信の状況の変化と生産の状況の変化とを同時に確認することができる。たとえば生産ラインに生じた何らかの異常の原因の１つが、ＦＡネットワークを介した攻撃である場合に、生産データと通信データとが同時に変化しうる。このような場合に、ネットワークにインシデントが生じたことを検知することができる。
【００１１】
好ましくは、生産データは、生産ラインに生じた異常を示す生産スコアである。
上記によれば、生産スコアの変化から、ネットワークのインシデントを特定することができる。生産スコアの上昇は、生産ラインに何らかの異常が生じていることを表す。生産スコアの上昇と通信データの大きな変化とが同じタイミングで生じている場合に、ネットワークにインシデントが生じた可能性を検知することができる。
【００１２】
好ましくは、生産スコアは、生産装置による生産の単位時間を表すフレームごとに算出されたスコアである。
【００１３】
上記によれば、生産の単位時間ごとの通信データの変化を監視することができる。これにより、通信の状況と生産の状況との間の関連性をより明確にすることができる。
【００１４】
好ましくは、通信データは、ネットワークの通信量および通信ログを含み、データ分析部は、生産スコアが異常値を示すときのフレームを含む、所定数のフレームの間に生成された通信ログを保持し、他のフレームの間に生成された通信ログを破棄する。
【００１５】
上記によれば、ログデータの容量の増大を抑えることができる。
本開示の一例は、生産装置が接続されたネットワークに関する通信を監視する通信監視方法であって、監視システムが、生産装置による生産の状況を表す生産データを生成するステップと、ネットワーク上の通信の状況を表す通信データと、生産データとを収集するステップと、通信データが生産データに同期するように、監視システムが、通信データおよび生産データを関連づけるステップと、監視システムが、通信データおよび生産データを関連づけて表示するステップとを備える。
【００１６】
上記によれば、ＦＡネットワークでの通信状況の監視を容易にすることができる。
【発明の効果】
【００１７】
本発明によれば、ＦＡネットワークでの通信状況の監視を容易にすることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係る制御装置の構成例を示す外観図である。
【図２】本実施の形態に従う制御装置を構成する制御ユニットのハードウェア構成例を示す模式図である。
【図３】本実施の形態に従う制御装置を構成する通信ユニットのハードウェア構成例を示す模式図である。
【図４】本実施の形態に従う制御装置を構成するセーフティユニットのハードウェア構成例を示す模式図である。
【図５】本実施の形態に従う制御装置を含む制御システムの典型例を示す模式図である。
【図６】本実施の形態に従う制御装置に接続されるサポート装置のハードウェア構成例を示す模式図である。
【図７】本実施の形態に従う監視システムの概略的な構成を示した図である。
【図８】通信量の時系列の例を示した模式図である。
【図９】時系列生産データの例を示した模式図である。
【図１０】時系列通信データおよび時系列生産データの表示の例を模式的に示した図である。
【図１１】図１０に示した表示画面から通信データグラフおよび生産データグラフを抽出して示した図である。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２０】
＜Ａ．制御装置＞
まず、本実施の形態に従う監視システムにおいて監視対象の通信を行う制御装置１を説明する。
【００２１】
図１は、本実施の形態に係る制御装置１の構成例を示す外観図である。図１を参照して、制御装置１は、制御ユニット１００と、通信ユニット２００と、セーフティユニット３００と、１または複数の機能ユニット４００と、電源ユニット４５０とを含む。
【００２２】
制御ユニット１００と通信ユニット２００との間は、任意のデータ伝送路（例えば、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）あるいはイーサネット（登録商標）など）を介して接続されている。制御ユニット１００とセーフティユニット３００および１または複数の機能ユニット４００との間は、図示しない内部バスを介して接続されている。
【００２３】
制御ユニット１００は、制御装置１において中心的な処理を実行する。制御ユニット１００は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット３００で実行される制御演算との対比で、制御ユニット１００で実行される制御演算を「標準制御」とも称す。図１に示す構成例において、制御ユニット１００は、１または複数の通信ポートを有している。
【００２４】
通信ユニット２００は、制御ユニット１００に接続され、制御装置１に対するセキュリティ機能を担当する。図１に示す構成例において、通信ユニット２００は、１または複数の通信ポートを有している。通信ユニット２００が提供するセキュリティ機能の詳細については、後述する。
【００２５】
セーフティユニット３００は、制御ユニット１００とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット３００で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、ＩＥＣ  ６１５０８などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。
【００２６】
機能ユニット４００は、制御装置１による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット４００は、典型的には、Ｉ／Ｏユニット、セーフティＩ／Ｏユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。Ｉ／Ｏユニットとしては、例えば、デジタル入力（ＤＩ）ユニット、デジタル出力（ＤＯ）ユニット、アナログ出力（ＡＩ）ユニット、アナログ出力（ＡＯ）ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティＩ／Ｏユニットは、セーフティ制御に係るＩ／Ｏ処理を担当する。
【００２７】
電源ユニット４５０は、制御装置１を構成する各ユニットに対して、所定電圧の電源を供給する。
【００２８】
＜Ｂ．各ユニットのハードウェア構成例＞
次に、本実施の形態に従う制御装置１を構成する各ユニットのハードウェア構成例について説明する。
【００２９】
（ｂ１：制御ユニット１００）
図２は、本実施の形態に従う制御装置１を構成する制御ユニット１００のハードウェア構成例を示す模式図である。図２を参照して、制御ユニット１００は、主たるコンポーネントとして、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、通信コントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４と、ネットワークコントローラ１１６，１１８，１２０と、内部バスコントローラ１２２と、インジケータ１２４とを含む。
【００３０】
プロセッサ１０２は、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット１００全体としての処理を実現する。
【００３１】
二次記憶装置１０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
【００３２】
通信コントローラ１１０は、通信ユニット２００との間のデータの遣り取りを担当する。通信コントローラ１１０としては、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネットなどに対応する通信チップを採用できる。
【００３３】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【００３４】
メモリカードインターフェイス１１４は、メモリカード１１５を着脱可能に構成されており、メモリカード１１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード１１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００３５】
ネットワークコントローラ１１６，１１８，１２０の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ１１６，１１８，１２０は、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの産業用ネットワークプロトコルを採用してもよい。
【００３６】
内部バスコントローラ１２２は、制御装置１を構成するセーフティユニット３００や１または複数の機能ユニット４００との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【００３７】
インジケータ１２４は、制御ユニット１００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００３８】
図２には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御ユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００３９】
（ｂ２：通信ユニット２００）
図３は、本実施の形態に従う制御装置１を構成する通信ユニット２００のハードウェア構成例を示す模式図である。図３を参照して、通信ユニット２００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ２０２と、チップセット２０４と、主記憶装置２０６と、二次記憶装置２０８と、通信コントローラ２１０と、ＵＳＢコントローラ２１２と、メモリカードインターフェイス２１４と、ネットワークコントローラ２１６，２１８と、インジケータ２２４とを含む。
【００４０】
プロセッサ２０２は、二次記憶装置２０８に格納された各種プログラムを読み出して、主記憶装置２０６に展開して実行することで、後述するような各種セキュリティ機能を実現する。チップセット２０４は、プロセッサ２０２と各コンポーネントとの間のデータの遣り取りを仲介することで、通信ユニット２００全体としての処理を実現する。
【００４１】
二次記憶装置２０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセキュリティシステムプログラムが格納される。
【００４２】
通信コントローラ２１０は、制御ユニット１００との間のデータの遣り取りを担当する。通信コントローラ２１０としては、制御ユニット１００に通信コントローラ２１０と同様に、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネットなどに対応する通信チップを採用できる。
【００４３】
ＵＳＢコントローラ２１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【００４４】
メモリカードインターフェイス２１４は、メモリカード２１５を着脱可能に構成されており、メモリカード２１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード２１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００４５】
ネットワークコントローラ２１６，２１８の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ２１６，２１８は、イーサネット（登録商標）などの汎用的なネットワークプロトコルを採用してもよい。
【００４６】
インジケータ２２４は、通信ユニット２００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００４７】
図３には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、通信ユニット２００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００４８】
（ｂ３：セーフティユニット３００）
図４は、本実施の形態に従う制御装置１を構成するセーフティユニット３００のハードウェア構成例を示す模式図である。図４を参照して、セーフティユニット３００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ３０２と、チップセット３０４と、主記憶装置３０６と、二次記憶装置３０８と、メモリカードインターフェイス３１４と、内部バスコントローラ３２２と、インジケータ３２４とを含む。
【００４９】
プロセッサ３０２は、二次記憶装置３０８に格納された各種プログラムを読み出して、主記憶装置３０６に展開して実行することで、セーフティ制御に係る制御演算、および、後述するような各種処理を実現する。チップセット３０４は、プロセッサ３０２と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット３００全体としての処理を実現する。
【００５０】
二次記憶装置３０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
【００５１】
メモリカードインターフェイス３１４は、メモリカード３１５を着脱可能に構成されており、メモリカード３１５に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード３１５からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
【００５２】
内部バスコントローラ３２２は、内部バスを介した制御ユニット１００との間のデータの遣り取りを担当する。
【００５３】
インジケータ３２４は、セーフティユニット３００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００５４】
図４には、プロセッサ３０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、セーフティユニット３００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００５５】
＜Ｃ．制御システム１０＞
次に、本実施の形態に従う制御装置１を含む制御システム１０の典型例について説明する。以下の説明においてデータベースを「ＤＢ」と表記する。図５は、本実施の形態に従う制御装置１を含む制御システム１０の典型例を示す模式図である。
【００５６】
一例として、図５に示す制御システム１０は、２つのライン（ラインＡおよびラインＢ）を制御対象とする。典型的には、各ラインは、ワークを搬送するコンベアに加えて、コンベア上のワークに対して任意の物理的作用を与えることが可能なロボットが配置されているとする。
【００５７】
ラインＡおよびラインＢのそれぞれに制御ユニット１００が配置されている。ラインＡを担当する制御ユニット１００に加えて、通信ユニット２００およびセーフティユニット３００が制御装置１を構成する。なお、説明の便宜上、図５には、機能ユニット４００および電源ユニット４５０の記載を省略している。
【００５８】
制御装置１の通信ユニット２００は、通信ポート２４２（図３のネットワークコントローラ２１６）を介して第１ネットワーク２に接続されている。第１ネットワーク２には、サポート装置６００およびＳＣＡＤＡ（Supervisory Control And Data Acquisition）装置７００が接続されているとする。
【００５９】
サポート装置６００は、少なくとも制御ユニット１００にアクセス可能になっており、制御装置１に含まれる各ユニットで実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザへ提供する。また、サポート装置６００は、通信ユニット２００から情報を収集して、その収集された情報に基づいてＦＡネットワークの通信負荷を監視する。したがって、サポート装置６００は、監視装置としての機能を有する。
【００６０】
ＳＣＡＤＡ装置７００は、制御装置１での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、制御装置１に対して内部コマンドなどを生成する。ＳＣＡＤＡ装置７００は、制御装置１が扱うデータを収集する機能も有している。
【００６１】
制御装置１の制御ユニット１００は、通信ポート１４２（図２のネットワークコントローラ１１６）を介して第２ネットワーク４に接続されている。第２ネットワーク４には、ＨＭＩ（Human Machine Interface）８００およびデータベース９００が接続されているとする。
【００６２】
ＨＭＩ８００は、制御装置１での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、制御装置１に対して内部コマンドなどを生成する。データベース９００は、制御装置１から送信される各種データ（例えば、各ワークから計測されたトレーサビリティに関する情報など）を収集する。
【００６３】
制御装置１の制御ユニット１００は、通信ポート１４４（図２のネットワークコントローラ１１８）およびＦＡネットワークを介して、１または複数のフィールドデバイス５００と接続されている。フィールドデバイス５００は、制御対象から制御演算に必要な各種情報を収集するセンサや検出器、および、制御対象に対して何らかの作用を与えるアクチュエータなどを含む。図５に示す例では、フィールドデバイス５００は、ワークに対して何らかの外的な作用を与えるロボット、ワークを搬送するコンベヤ、フィールドに配置されたセンサやアクチュエータとの間で信号を遣り取りするＩ／Ｏユニットなどを含む。
【００６４】
同様に、ラインＢを担当する制御ユニット１００についても同様に、通信ポート１４４（図２のネットワークコントローラ１１８）およびＦＡネットワークを介して、１または複数のフィールドデバイス５００と接続されている。
【００６５】
ここで、制御装置１の機能面に着目すると、制御ユニット１００は、標準制御に係る制御演算を実行する処理実行部である制御エンジン１５０と、外部装置との間でデータを遣り取りする情報エンジン１６０とを含む。通信ユニット２００は、後述するような通信監視機能を実現するための通信エンジン２５０を含む。セーフティユニット３００は、セーフティ制御に係る制御演算を実行する処理実行部であるセーフティエンジン３５０を含む。
【００６６】
各エンジンは、各ユニットのプロセッサなどの任意のハードウェア要素または各種プログラムなどの任意のソフトウェア要素、あるいは、それら要素の組合せによって実現される。各エンジンは任意の形態で実装できる。
【００６７】
さらに、制御装置１は、エンジン同士の遣り取りを仲介するブローカー１７０を含む。ブローカー１７０の実体は、制御ユニット１００および通信ユニット２００の一方または両方に配置してもよい。
【００６８】
制御エンジン１５０は、制御対象を制御するための制御演算の実行に必要な変数テーブルおよびファンクションブロック（ＦＢ）などを保持している。変数テーブルに格納される各変数は、Ｉ／Ｏリフレッシュ処理により、フィールドデバイス５００から取得された値で周期的に収集されるとともに、フィールドデバイス５００へ各値が周期的に反映される。制御エンジン１５０での制御演算のログはログデータベース１８０に格納されてもよい。
【００６９】
情報エンジン１６０は、制御ユニット１００が保持するデータ（変数テーブルで保持される変数値）に対して任意の情報処理を実行する。典型的には、情報エンジン１６０は、制御ユニット１００が保持するデータを周期的にデータベース９００などへ送信する処理を含む。このようなデータの送信には、ＳＱＬなどが用いられる。
【００７０】
通信エンジン２５０は、対象となる通信データを監視して、通信ログデータをログデータベースに蓄積する。
【００７１】
通信エンジン２５０は、セキュリティに関する何らかのイベントが発生したこと、あるいは発生しているセキュリティに関するイベントのレベルなどを、インジケータ２２４で通知する。
【００７２】
セーフティエンジン３５０は、制御装置１において何らかの不正侵入が発生したか否かを検知する検知手段に相当する。セーフティエンジン３５０は、制御ユニット１００を介して、セーフティ制御に係る制御演算の実行に必要なセーフティＩ／Ｏ変数を取得および反映する。セーフティエンジン３５０でのセーフティ制御のログはログデータベース３６０に格納されてもよい。
【００７３】
ブローカー１７０は、例えば、通信エンジン２５０が何らかのイベントを検知すると、制御エンジン１５０、情報エンジン１６０およびセーフティエンジン３５０の動作などを変化させる。
【００７４】
＜Ｄ．セキュリティ脅威に対する対策＞
本実施の形態に従う制御装置１は、設備や機械を正常運転することを妨げる任意のセキュリティ脅威を検知し、必要な対策を実行可能になっている。
【００７５】
本明細書において、「セキュリティ脅威」は、設備や機械を正常運転することを妨げる任意の事象を意味する。ここで、「正常運転」は、システム設計通りおよび生産計画通りに、設備や機械を運転継続できる状態を意味する。なお、システム設計通りおよび生産計画通りに、設備や機械を運転継続するための、設備や機械の立ち上げ、メンテナンス、段取り替えなども付属的な処理も「正常運転」の概念には含まれる。
【００７６】
制御装置に搭載されているすべての物理ポートには、攻撃を受けるセキュリティリスクが存在している。たとえば、ＰＬＣを中心とする制御装置１がＤｏＳ攻撃（Denial of Service attack）あるいはＤＤｏＳ攻撃（Distributed Denial of Service attack）のターゲットとされることが想定される。一方で、正常運転時においても、制御装置１へのアクセスが集中することは起こりえる。したがって、ネットワークの設定に基づいて、ＤｏＳ攻撃あるいはＤＤｏＳ攻撃を検知することができる。ある特定のポートにおいて外部からの攻撃を受けた場合、制御ユニット１００は、そのポートにおける情報の受信を遮断する。ただし、他のポートを介した通信は遮断されない。これにより、制御装置１の制御が制限されるものの、制御システム１０の稼働自体を継続することができる。
【００７７】
＜Ｅ．ＦＡネットワークの監視に関する課題＞
制御システムにセキュリティインシデントが発生した場合、インシデントの影響が生産データに反映される。たとえばＤｏＳ攻撃あるいはＤＤｏＳ攻撃によって、ライン間の同期がとれない場合、生産が停止することが起こりうる。他にも、攻撃により、必要な生産データの一部を取得できないこと、あるいはデータの取得が遅れることが想定される。このような場合には生産品質が低下することが懸念される。
【００７８】
通常では、生産データは、通信データとは別に収集される。さらにＦＡネットワークでは、フィールドデバイス５００（生産装置）に応じた多種多様な通信が行なわれる。したがって通信データのみの監視では、インシデントの判断は難しい。インシデントを検出するためにログを解析する場合には、大量のログを保存する必要がある。このため、ログの大容量化が生じる。大容量のログは、サーバの容量を圧迫する要因となり得る。
【００７９】
＜Ｆ．設定装置のハードウェア構成＞
上述した制御システム１０におけるＦＡネットワークを監視するためのユーザインターフェイスの一例について説明する。本実施の形態において、図５に示したサポート装置６００は、ＦＡネットワークに関する通信を監視する監視システムの設定装置として機能する。
【００８０】
図６は、本実施の形態に従う制御装置１に接続されるサポート装置６００のハードウェア構成例を示す模式図である。サポート装置６００は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いて実現される。
【００８１】
図６を参照して、サポート装置６００は、プロセッサ６０２と、メインメモリ６０４と、入力部６０６と、出力部６０８と、ストレージ６１０と、光学ドライブ６１２と、ＵＳＢコントローラ６２０とを含む。これらのコンポーネントは、プロセッサバス６１８を介して接続されている。
【００８２】
プロセッサ６０２は、ＣＰＵやＧＰＵなどで構成され、ストレージ６１０に格納されたプログラム（一例として、ＯＳ６１０２およびサポートプログラム６１０４）を読出して、メインメモリ６０４に展開して実行することで、制御装置１に対する設定処理などを実現する。
【００８３】
メインメモリ６０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。ストレージ６１０は、例えば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。
【００８４】
ストレージ６１０には、基本的な機能を実現するためのＯＳ６１０２に加えて、サポート装置６００としての機能を提供するためのサポートプログラム６１０４、監視システムのための設定装置としての機能を提供するネットワーク監視プログラム６１０６が格納される。すなわち、ネットワーク監視プログラム６１０６がプロセッサ６０２によって実行されることにより、サポート装置６００は、本実施の形態に係る監視システムのための設定装置を実現する。
【００８５】
入力部６０６は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部６０８は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ６０２からの処理結果などを出力する。
【００８６】
ＵＳＢコントローラ６２０は、ＵＳＢ接続を介して、制御装置１などとの間のデータを遣り取りする。
【００８７】
サポート装置６００は、光学ドライブ６１２を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体６１４（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ６１０などにインストールされる。
【００８８】
サポート装置６００で実行されるサポートプログラム６１０４およびネットワーク監視プログラム６１０６などは、コンピュータ読取可能な記録媒体６１４を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置６００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００８９】
図６には、プロセッサ６０２がプログラムを実行することで、サポート装置６００として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００９０】
＜Ｇ．監視システムの構成＞
図７は、本実施の形態に従う監視システムの概略的な構成を示した図である。図７に示すように、監視システムは、ツール６０２Ａ（監視設定ツール）、通信ユニット２００および、制御ユニット１００を含む。プロセッサ６０２がネットワーク監視プログラム６１０６を実行することにより、ツール６０２Ａがサポート装置６００（図６を参照）に実装される。
【００９１】
ツール６０２Ａは、設定ツール６２１と、可視化アプリ６２２とを有する。設定ツール６２１は、通信ユニット２００および制御ユニット１００（ＰＬＣ）において収集されるデータを設定する収集データ設定部である。可視化アプリ６２２は、通信ユニット２００における表示処理に関する設定を実行する表示設定部である。
【００９２】
通信ユニット２００は、通信エンジン２５０と、通信アプリ２８０とを有する。通信エンジン２５０は、データ収集モジュール２５３を含む。データ収集モジュール２５３は、監視対象の時系列通信データを収集する。
【００９３】
通信アプリ２８０は、通信ユニット２００に実装される。通信アプリ２８０は、分析および検索モジュール２８１と、データ管理モジュール２８２と、表示モジュール２８３とを含む。データ管理モジュール２８２は、通信エンジン２５０から、時系列通信データを収集するとともに、制御ユニット１００から、時系列生産データを収集する。分析および検索モジュール２８１は、時系列生産データと時系列通信データとを関連付ける。表示モジュール２８３は、可視化アプリ６２２の設定に従い、時系列生産データおよび時系列通信データを表示する。たとえばサポート装置６００のディスプレイ（図示せず）に、時系列生産データおよび時系列通信データが表示される。
【００９４】
制御ユニット１００は、ユーザプログラム１０１０と、生産データ生成モジュール１０１２と、データ収集モジュール１０１４とを有する。ユーザプログラム１０１０は、ユーザによって作成された制御プログラムであり、サポート装置６００によって制御ユニット１００に提供される。制御ユニット１００が制御プログラムを実行することにより、制御ユニット１００および制御システム１０の動作が制御される。生産データ生成モジュール１０１２は、制御システム１０の稼働状況（生産状況）を表す生産データを生成する。一実施形態では、生産データは、たとえばＡＩスコア、生データ、および特徴量のうちの少なくとも１つであってもよい。データ収集モジュール１０１４は、生産データ生成モジュール１０１２から生産データを収集する。
【００９５】
監視設定ツール６０２Ａ（サポート装置６００）、通信ユニット２００および、制御ユニット１００は、ネットワークに関する通信を監視する監視システムを構成する。生産データ生成モジュール１０１２は、生産装置による生産の状況を表す生産データを生成する生産データ生成部を構成する。データ収集モジュール２５３、データ収集モジュール１０１４およびデータ管理モジュール２８２は、ＦＡネットワーク上の通信の状況を表す通信データと、生産データとを収集するデータ収集部を構成する。分析および検索モジュール２８１は、通信データが生産データに同期するように、データ収集部によって収集された通信データおよび生産データを関連づけるデータ分析部を構成する。表示モジュール２８３は、通信データおよび生産データを関連づけて表示するための処理を実行する。
【００９６】
＜Ｈ．ネットワーク監視＞
図８は、通信量の時系列の例を示した模式図である。図８に示すように、通信データの大きさ（通信量）は時間的に変化する。図８に示したグラフからは、いくつかの瞬間において、大きなデータがネットワークを流れていることが分かる。しかし、このグラフからは、生産と関係するデータがどのデータであるかを特定することは容易ではない。
【００９７】
図９は、時系列生産データの例を示した模式図である。図９において、「フレーム」は生産の単位（たとえばタクト）を表す。１つのフレームが終了すると、制御ユニット１００から演算結果が出力される。図９において、「連続データＡ」は、制御ユニット１００の演算結果に対応する。
【００９８】
図９に示す例では、１つのフレームは３つのステータスから成り立つ。「ステータス」は、生産工程に対応する制御ユニット１００の状態を表す。たとえば、生産データ生成モジュール１０１２は、連続データのうち、２番目のステータスに対応する部分（サブフレーム）を、特徴量として抽出する。生産データ生成モジュール１０１２は、抽出した特徴量に基づき、生産スコア（ＡＩスコア）を算出する。
【００９９】
図１０は、時系列通信データおよび時系列生産データの表示の例を模式的に示した図である。たとえば、図１０に示す表示画面は、サポート装置６００の画面であってもよい。１つの表示例では、表示画面には、通信データグラフ６４３、および生産データグラフ６４４が表示される。加えて、表示画面に、通信データの全量に対するデータサイズの割合を表す円グラフである、通信データサイズグラフ６４１と、通信ノード６４２とが表示されてもよい。
【０１００】
通信データグラフ６４３は、通信データのサイズの時間変化を表す。生産データグラフ６４４は、フレーム単位での生産データの変化を表す。具体的には、生産データは、生産スコア（外れ値）である。スコアの値が大きい場合、その値は、生産の異常を表す異常スコアとして扱われる。
【０１０１】
この実施の形態では、生産データと通信データとが同期するように、分析および検索モジュール２８１が、生産データと通信データとを関連付ける。表示モジュール２８３は、その生産データおよび通信データを表示する。この結果、通信データグラフ６４３と、生産データグラフ６４４とが、表示画面の上下方向に沿って配置される。図１０に示されるように、通信データグラフ６４３と、生産データグラフ６４４とでは、横軸に表される時刻が一致する。
【０１０２】
通常では、ＦＡネットワークにおける通信そのものの特徴に基づいて、通信データの統計が作成される。このような統計は、たとえば、装置が稼働を開始してからの累計の通信（データ量など）の統計、１秒間の帯域についての統計、表示範囲の統計などである。しかしながら、そのような統計は生産データとは無関係であるので、生産の単位に関係する通信パラメータを特定することができない。したがって、セキュリティの管理のために、全てのデータ（たとえばログデータ）を保持するとともに、そのデータをユーザが確認する必要がある。
【０１０３】
本実施の形態によれば、フレームごとに通信データから特徴を抽出すること（特徴化）が可能である。これにより、生産データと通信データとの関連性をより明確にすることできる。通信データの特徴化は、たとえば以下の通信パラメータの少なくとも１つに基づいて行うことができる。
【０１０４】
（１）通信帯域
（２）通信量カウンタ
（３）通信サイズ
（４）プロトコルカウンタ
（５）プロトコルごとのサイズ
（６）フレーム内の通信ノード数
さらに本実施の形態では、フレーム単位で生産データが変化する。したがって、通信データの変化も、フレームの単位で可視化される。生産の単位（フレーム単位）で通信データの特徴化を行うことにより、通常の状態とは異なる制御システムの状態（たとえばインシデントが発生した状態）を検出することが容易になる。
【０１０５】
本実施の形態では、生産工程と関連付けて通信データの変化を可視化させることができるので、通信の状況と生産の状況との間の関連性をより明確にすることができる。生産スコアが異常スコアになったときの通信データ（通信量）を特定することができるので、インシデントに関連した生産の異常が生じた場合に、生産データに関連付けられた通信データを特定して、そのデータを分析することができる。したがって、ＦＡネットワークでの通信状況の監視を容易にすることができる。
【０１０６】
図１０の例では、フレーム６４３Ａにおいて、生産スコアおよび通信データが急激に上昇している。ユーザは、生産スコアと通信データとが同時に変化したことを確認できる。このような場合には、ＦＡネットワークのセキュリティに関する何らかのインシデントが生じた可能性がある。ユーザは、インシデントの可能性を検知することができる。
【０１０７】
さらに本実施の形態によれば、ログデータの容量の増大を抑えることができる。通信データと生産データとの間に関連性が無い場合には、通信の状況のみからインシデントの有無を検出しなければならない。したがって通信に関するログデータをできるだけ多く残す必要がある。
【０１０８】
しかし全てのログデータをサーバ等に保管すると、ログデータがサーバの容量を圧迫する。さらに、ユーザが通信パラメータのみを手がかりにデータを検証するため、大量のログデータを解析しなければならない。したがってユーザの負担が増大する。
【０１０９】
これに対して、本実施の形態によれば、生産データ（生産スコア）を通信データとともに監視する。したがって生産スコアが異常値を示すときのフレーム、および、そのフレームに対して時間的に前および後の数フレームの通信ログデータのみを保持しても、生産の異常が生じたときの通信の状況に関する情報を収集することができる。この結果、ログの容量の増大を抑えることができるだけでなく、ログを解析するためのユーザの負担を低減することもできる。
【０１１０】
図１１は、図１０に示した表示画面から通信データグラフ６４３および生産データグラフ６４４を抽出して示した図である。図１１に示すように、フレーム６４３Ａは、生産スコアが異常値を示すときのフレームである。図１１に示す例では、６フレーム分の通信ログデータが保持される。６つのフレームは、フレーム６４３Ａ、フレーム６４３Ａの前の２つのフレーム、およびフレーム６４３Ａ後の３つのフレームを含む。
【０１１１】
上記のフレーム数は６に限定されない。さらに抽出されるフレームの数は予め固定されてもよく、ユーザによって設定可能であってもよい。
【０１１２】
さらに本実施の形態によれば、生産スコアが異常値を示すときの通信ログを特定できる。したがってその通信ログ以外の他の通信ログを破棄してもよい。たとえば他の通信ログは一定時間の経過後に破棄されてもよい。あるいは累積した通信ログの容量が設定値に達したときに、他の通信ログが削除されてもよい。
【０１１３】
以上の通り、本実施の形態によれば、生産データと通信データとを関連付けることのより、ＦＡネットワークでの通信の監視を容易にすることができる。したがって、ユーザに高度な専門知識を要求させることなく、生産の異常をともなう通信のインシデントが発生したことをユーザに検出させることが可能となる。
【０１１４】
＜Ｉ．付記＞
以上説明したように、本実施形態は以下に列挙する開示を含む。
【０１１５】
１．生産装置（５００）が接続されたネットワークに関する通信を監視する通信監視システムであって、
前記生産装置（５００）による生産の状況を表す生産データを生成する生産データ生成部（１０１２）と、
前記ネットワーク上の通信の状況を表す通信データと、前記生産データとを収集するデータ収集部（２５３，１０１４，２８２）と、
前記通信データが前記生産データに同期するように、前記データ収集部（２５３，１０１４，２８２）によって収集された前記通信データおよび前記生産データを関連づけるデータ分析部（２８１）と、
前記通信データおよび前記生産データを関連づけて表示するための処理を実行するデータ表示部（２８３）とを備える、通信監視システム。
【０１１６】
２．前記生産データは、生産ラインに生じた異常を示す生産スコアである、１．に記載の通信監視システム。
【０１１７】
３．前記生産スコアは、前記生産装置（５００）による前記生産の単位時間を表すフレームごとに算出されたスコアである、２．に記載の通信監視システム。
【０１１８】
４．前記通信データは、前記ネットワークの通信量および通信ログを含み、
前記データ分析部（２８１）は、前記生産スコアが異常値を示すときの前記フレームを含む、所定数の前記フレームの間に生成された通信ログを保持し、他の前記フレームの間に生成された通信ログを破棄する、３．に記載の通信監視システム。
【０１１９】
５．生産装置（５００）が接続されたネットワークに関する通信を監視する通信監視方法であって、
監視システム（１００，２００）が、前記生産装置による生産の状況を表す生産データを生成するステップと、
監視システム（１００，２００）が、前記ネットワーク上の通信の状況を表す通信データと、前記生産データとを収集するステップと、
前記通信データが前記生産データに同期するように、監視システム（１００，２００）が、前記通信データおよび前記生産データを関連づけるステップと、
監視システム（１００，２００）が、前記通信データおよび前記生産データを関連づけて表示するステップとを備える、通信監視方法。
【０１２０】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２１】
１  制御装置、２  第１ネットワーク、４  第２ネットワーク、１０  制御システム、１００  制御ユニット、１０２，２０２，３０２，６０２  プロセッサ、１０４，２０４，３０４  チップセット、１０６，２０６，３０６  主記憶装置、１０８，２０８，３０８  二次記憶装置、１１０，２１０  通信コントローラ、１１２，２１２，６２０  ＵＳＢコントローラ、１１４，２１４，３１４  メモリカードインターフェイス、１１５，２１５，３１５  メモリカード、１１６，１１８，１２０，２１６，２１８  ネットワークコントローラ、１２２，３２２  内部バスコントローラ、１２４，２２４，３２４  インジケータ、１４２，１４４，２４２  通信ポート、１５０  制御エンジン、１６０  情報エンジン、１７０  ブローカー、１８０，２６０，３６０  ログデータベース、２００  通信ユニット、２５０  通信エンジン、２５３，１０１４  データ収集モジュール、２８０  通信アプリ、２８１  分析および検索モジュール、２８２  データ管理モジュール、２８３  表示モジュール、３００  セーフティユニット、３５０  セーフティエンジン、４００  機能ユニット、４５０  電源ユニット、５００  フィールドデバイス、６００  サポート装置、６０２Ａ  監視設定ツール、６０４  メインメモリ、６０６  入力部、６０８  出力部、６１０  ストレージ、６１２  光学ドライブ、６１４  記録媒体、６１８  プロセッサバス、６２１  設定ツール、６２２  可視化アプリ、６４１  通信データサイズグラフ、６４２  通信ノード、６４３  通信データグラフ、６４３Ａ  フレーム、６４４  生産データグラフ、７００  ＳＣＡＤＡ装置、９００  データベース、１０１０  ユーザプログラム、１０１２  生産データ生成モジュール、６１０４  サポートプログラム、６１０６  ネットワーク監視プログラム、Ａ，Ｂ  ライン。
【図１】
2020178271.tif 000003
【図２】
2020178271.tif 000004
【図３】
2020178271.tif 000005
【図４】
2020178271.tif 000006
【図５】
2020178271.tif 000007
【図６】
2020178271.tif 000008
【図７】
2020178271.tif 000009
【図８】
2020178271.tif 000010
【図９】
2020178271.tif 000011
【図１０】
2020178271.tif 000012
【図１１】
2020178271.tif 000013