(57)【要約】【課題】制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得るインシデントに対する設備種別に応じた設定を容易に行うことを目的とする。【解決手段】サポート装置は、制御対象を制御するためのコントローラシステムに接続される。コントローラシステムは、コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されている。サポート装置は、予め定められた複数の設備種別のうち制御対象に対応する設備種別の選択を受け付ける選択手段と、設備種別ごとに予め用意された、インシデントに対する挙動を規定した対応規定を参照して、選択された設備種別に対応する対応規定をコントローラシステムに反映する設定手段とを含む。【選択図】図１
2020194354.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するためのコントローラシステムに接続されるサポート装置であって、前記コントローラシステムは、前記コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されており、
前記サポート装置は、
予め定められた複数の設備種別のうち前記制御対象に対応する設備種別の選択を受け付ける選択手段と、
設備種別ごとに予め用意された、インシデントに対する挙動を規定した対応規定を参照して、選択された設備種別に対応する対応規定を前記コントローラシステムに反映する設定手段とを備える、サポート装置。
【請求項２】
前記設備種別は、前記制御対象の制御目的によって分類される、請求項１に記載のサポート装置。
【請求項３】
前記設備種別は、前記制御対象に対して求められる要望に従って分類される、請求項１に記載のサポート装置。
【請求項４】
前記選択手段は、前記制御対象の制御目的の入力を受け付け、受け付けられた当該制御目的と選択された前記設備種別とを紐付けて記憶する、請求項３に記載のサポート装置。
【請求項５】
前記設定手段は、前記対応規定の変更を受け付け、
前記対応規定は、設備種別ごとに初期値が予め定められている、請求項１〜請求項４のうちいずれか１項に記載のサポート装置。
【請求項６】
前記対応規定を変更することが可能な範囲は、前記設備種別ごとに予め定められている、請求項５に記載のサポート装置。
【請求項７】
制御対象を制御するためのコントローラシステムの挙動を設定するための設定プログラムであって、前記コントローラシステムは、前記コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されており、
当該設定プログラムは、コンピュータに、
予め定められた複数の設備種別のうち前記制御対象に対応する設備種別の選択を受け付けるステップと、
設備種別ごとに予め用意された、インシデントごとの挙動を規定した対応規定を参照して、選択された設備種別に対応する対応規定を前記コントローラシステムに反映するステップとを実行させる、設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御するためのコントローラシステムに接続されるサポート装置および制御対象を制御するためのコントローラシステムの挙動を設定するための設定プログラムに関する。
【背景技術】
【０００２】
工場などの製造現場では、様々な種類の設備が稼働しており、各種設備および各設備に配置される各種装置の制御には、ＰＬＣ（プログラマブルロジックコントローラ）などの制御装置が用いられる。
【０００３】
近年、工場などの製造現場では、マルウェアなどの被害が発生しており、ＰＬＣなどの制御装置に対してもセキュリティ対策が必須となってきた。そのため、工場などの装置、生産ラインを開発する場合には、セキュリティ対策を生産技術者、装置メーカ開発者などが行う必要がある。
【０００４】
ＰＬＣでは、例えば、特開２０００−１３７５０６号公報（特許文献１）に開示されているように、異常履歴が登録されたとき、または、予め定められた時間が到来したときに、予め指定された宛先に電子メールを送信する程度で、セキュリティ対策については何ら考慮されていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１３７５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年のＩＣＴ（Information and Communication Technology）の進歩に伴って、制御装置も様々な外部装置とネットワーク接続されるとともに、制御装置において実行される処理も高度化している。このようなネットワーク化あるいはインテリジェント化に伴って、想定されるインシデントの種類も増加している。
【０００７】
このようなインシデントに対してセキュリティ機能を設定することになり、インシデントが発生した後、当該インシデントに応じた制御装置の動作（インシデント対応動作）を設定することになる。
【０００８】
工場などの製造現場では、種々の設備が稼働しており、設備種別に関わらず、制御装置に対して一律に共通のインシデント対応動作を設定した場合に、設備種別によっては、安全を確保できなかったり、あるいは、経済的に大きな損失が発生したりする虞がある。そのため、設備種別に応じて制御装置のインシデント対応動作を設定することが好ましい。しかし、設備種別に応じた設定は、開発者に対して大きな負担となる。
【０００９】
本発明は、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得るインシデントに対する設備種別に応じた設定を容易に行うことを一つの目的としている。
【課題を解決するための手段】
【００１０】
本開示のある局面に従うサポート装置は、制御対象を制御するためのコントローラシステムに接続される。コントローラシステムは、コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されている。サポート装置は、予め定められた複数の設備種別のうち制御対象に対応する設備種別の選択を受け付ける選択手段と、設備種別ごとに予め用意された、インシデントに対する挙動を規定した対応規定を参照して、選択された設備種別に対応する対応規定をコントローラシステムに反映する設定手段とを含む。
【００１１】
この構成によれば、インシデントに対する設備種別に応じた設定を容易に行うことができる。
【００１２】
上述の開示において、設備種別は、制御対象の制御目的によって分類される。この構成によれば、ユーザが設備種別を選択する場合に、容易に選択することができる。
【００１３】
上述の開示において、設備種別は、制御対象に対して求められる要望に従って分類される。この構成によれば、制御対象に対して求められる要望に応じて、インシデントに対する対応を設定することが容易にできる。
【００１４】
上述の開示において、選択手段は、制御対象の制御目的の入力を受け付け、受け付けられた当該制御目的と選択された設備種別とを紐付けて記憶する。この構成によれば、制御対象に対して求められる要望に従って分類された設備種別と、制御対象の制御目的とを紐付けることが可能であり、制御目的に応じて設備種別を選択することも、制御対象に対して求められる要望に応じて設備種別を選択することも可能となる。
【００１５】
上述の開示において、設定手段は、対応規定の変更を受け付ける。対応規定は、設備種別ごとに初期値が予め定められている。この構成によれば、柔軟に設定を行うことが可能であり、かつ、知識の足りないユーザ（開発者）であっても、初期値が定められていることにより容易に設定することが可能となる。
【００１６】
上述の開示において、対応規定を変更することが可能な範囲は、設備種別ごとに予め定められている。この開示によれば、最低限必要な対応は設定することが可能であり、その結果、最低限の保護を担保することができる。
【００１７】
本開示のある局面に従う設定プログラムは、制御対象を制御するためのコントローラシステムの挙動を設定する。コントローラシステムは、コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されている。設定プログラムは、コンピュータに、予め定められた複数の設備種別のうち制御対象に対応する設備種別の選択を受け付けるステップと、設備種別ごとに予め用意された、インシデントごとの挙動を規定した対応規定を参照して、選択された設備種別に対応する対応規定をコントローラシステムに反映するステップとを実行させる。
【００１８】
この構成によれば、インシデントに対する設備種別に応じた設定を容易に行うことができる。
【発明の効果】
【００１９】
本発明によれば、インシデントに対する設備種別に応じた設定を容易に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態に係るサポート装置６が提供する機能を説明するための模式図である。
【図２】本実施の形態に従うサポート装置６のハードウェア構成例を示す模式図である。
【図３】本実施の形態に係るコントローラシステム１の構成例を示す外観図である。
【図４】本実施の形態に従うコントローラシステム１を構成する制御ユニット１００のハードウェア構成例を示す模式図である。
【図５】本実施の形態に従うコントローラシステム１を構成するセキュリティユニット２００のハードウェア構成例を示す模式図である。
【図６】本実施の形態に従うコントローラシステム１を構成するセーフティユニット３００のハードウェア構成例を示す模式図である。
【図７】本実施の形態に従うコントローラシステム１を備える制御システム１０の典型例を示す模式図である。
【図８】インシデントごとの挙動を規定した対応テーブル６６を示す図である。
【図９】対応テーブルの変形例を示す図である。
【図１０】対応テーブルの変形例を示す図である。
【図１１】ユーザインターフェイス画面の遷移を示す図である。
【図１２】設備種別選択画面６３０の一例を示す図である。
【図１３】加工機の詳細設定画面６４０の一例を示す図である。
【図１４】充填機の詳細設定画面６４０の一例を示す図である。
【図１５】変形例における各設備種別の対応テーブルを示す図である。
【図１６】変形例１における設備種別選択画面６３０Ａである。
【図１７】変形例２における設備種別選択画面６３０Ｂである。
【図１８】図１７に示す設備種別選択画面６３０Ｂを介して入力された情報に従って設備種別を決定するための設備種別決定テーブル６３６Ｂの一例を示す図である。
【図１９】変形例にかかる対応データベース６６０Ａを示す図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２２】
＜Ａ．適用例＞
本発明が適用される場面の一例について説明する。まず、本実施の形態に係るコントローラシステム１の構成について説明する。
【００２３】
図１は、本実施の形態に係るサポート装置６が提供する機能を説明するための模式図である。サポート装置６は、制御対象を制御するためのコントローラシステム１に接続される。
【００２４】
コントローラシステム１は、制御対象に応じて任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。コントローラシステム１が制御する制御対象の単位は、設備ごとであっても、設備に含まれる装置ごとであってもよい。なお、設備に含まれる個々の制御対象をフィールドデバイス５００ともいう。
【００２５】
コントローラシステム１は、要求仕様の設計により、組み立て工程に利用される設備の制御、物を充填する工程に利用される設備の制御など目的に応じた様々な種別の設備を制御可能である。
【００２６】
コントローラシステム１は、コントローラシステム１に発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されている。本明細書において、「インシデント」は、コントローラシステム１に対してセキュリティ上の脅威となり得る兆候，現象または異常を意味する。また、「インシデント」は、コントローラシステム１に対して直接発生するものに限らず、コントローラシステム１と通信可能に接続された各種装置を介して間接的に発生するものも含む。
【００２７】
たとえば、コントローラシステム１は、正常に設備を運転しているときにインシデントが発生した場合、運転を停止したり、あるいは縮退運転（例えば、搬送速度を緩やかに低下させる）させたりすることで、発生したインシデントによる影響範囲を狭めたりすることができる。
【００２８】
サポート装置６は、インシデント対応動作を設定するための設定支援機能を提供する。図１を参照して、サポート装置６は、選択モジュール６２と、設定モジュール６４とを含む。
【００２９】
選択モジュール６２および設定モジュール６４の各々の機能は、典型的には、サポート装置６のプロセッサが、インシデント対応動作の設定を支援するためのサポートプログラムを実行することで実現される機能である。
【００３０】
選択モジュール６２は、予め定められた複数の設備種別のうち、コントローラシステム１の制御対象に対応する設備種別の選択を受け付ける。設備種別は、たとえば、制御対象に対して要求される安全性の観点、工場内における制御対象の重要度の観点、制御対象の運転を停止することによる経済損失の観点など、制御対象に求められる要望によって分類されてもよく、また、制御対象を制御する目的によって分類されてもよい。
【００３１】
選択モジュール６２は、典型的には、設備種別を選択するために必要な設備に関する情報（図中の設備情報）の入力を受け付けるユーザインターフェイスを提供し、設備情報に基づいて設備種別を選択する。図１に示す例において、選択モジュール６２は、設備情報に基づいて設備種別ｂを選択したものとする。
【００３２】
設定モジュール６４は、設備種別ごとに予め用意された、インシデントごとの挙動を規定した対応テーブル６６を参照して、選択モジュール６２が選択した設備種別に対応する対応テーブル６６を選択する。図１に示す例においては、対応テーブル６６ｂが選択される。対応テーブル６６は、インシデントごとに、当該インシデントに対する挙動を規定する。設定モジュール６４は、対応テーブル６６が規定するインシデントごとの挙動が実現されるように、当該対応テーブル６６が示す規定をコントローラシステム１に反映する。
【００３３】
このように、サポート装置６は、設備種別を選択し、設備種別ごとに予め用意された対応テーブル６６を参照することで、インシデントに対する設備種別に応じた設定を容易に行うことができる。
【００３４】
たとえば、ユーザは、本実施の形態にかかるサポート装置６を利用することで、設備種別を選択するだけで、設備種別に応じたインシデント対応動作の設定を行うことが可能である。
【００３５】
＜Ｂ．サポート装置のハードウェア構成例＞
図２は、本実施の形態に従うサポート装置６のハードウェア構成例を示す模式図である。サポート装置６は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いて実現される。以下の説明においてデータベースを「ＤＢ」と表記する。
【００３６】
図２を参照して、サポート装置６は、プロセッサ６０２と、メインメモリ６０４と、入力部６０６と、表示部６０８と、ストレージ６１０と、光学ドライブ６１２と、ＵＳＢ（Universal Serial Bus）コントローラ６２０とを含む。これらのコンポーネントは、プロセッサバス６１８を介して接続されている。
【００３７】
プロセッサ６０２は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などで構成され、ストレージ６１０に格納されたプログラム（一例として、ＯＳ（Operating System）６１０２およびサポートプログラム６１０４）を読出して、メインメモリ６０４に展開して実行することで、コントローラシステム１に対する設定処理などを実現する。
【００３８】
メインメモリ６０４は、ＤＲＡＭ（Dynamic Random Access Memory)やＳＲＡＭ（Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ６１０は、例えば、ＨＤＤ（Hard Disc Drive）やＳＳＤ（Solid State Drive）などの不揮発性記憶装置などで構成される。
【００３９】
ストレージ６１０には、基本的な機能を実現するためのＯＳ６１０２に加えて、サポート装置６としての機能を提供するためのサポートプログラム６１０４および対応データベース６６０が格納される。サポートプログラム６１０４は、コントローラシステム１に接続されるコンピュータにより実行されることで、本実施の形態に係るサポート装置６を実現する。
【００４０】
サポートプログラム６１０４は、インシデント対応動作を設定するための設定支援機能を提供するためのプログラムを含む。プロセッサ６０２が、サポートプログラム６１０４を実行することで図１に示した選択モジュール６２および設定モジュール６４の各々の機能が実現される。
【００４１】
対応データベース６６０は、設備種別ごとに予め用意された対応テーブル６６を格納する。
【００４２】
入力部６０６は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部６０８は、典型的にはディスプレイであって、設備情報を入力するためのユーザインターフェイスを提供する。
【００４３】
ＵＳＢコントローラ６２０は、ＵＳＢ接続を介して、コントローラシステム１などとの間のデータを遣り取りする。
【００４４】
サポート装置６は、光学ドライブ６１２を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体６１４（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ６１０などにインストールされる。
【００４５】
サポート装置６で実行されるサポートプログラム６１０４などは、コンピュータ読取可能な記録媒体６１４を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置６が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００４６】
図２には、プロセッサ６０２がプログラムを実行することで、サポート装置６として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。
【００４７】
＜Ｃ．コントローラシステム１＞
本実施の形態に従うコントローラシステム１の構成について説明する。図３は、本実施の形態に係るコントローラシステム１の構成例を示す外観図である。図３を参照して、コントローラシステム１は、制御ユニット１００と、セキュリティユニット２００と、セーフティユニット３００と、１または複数の機能ユニット４００と、電源ユニット４５０とを含む。
【００４８】
制御ユニット１００とセキュリティユニット２００との間は、任意のデータ伝送路（例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネット（登録商標）など）を介して接続されている。制御ユニット１００とセーフティユニット３００および１または複数の機能ユニット４００との間は、図示しない内部バスを介して接続されている。
【００４９】
制御ユニット１００は、コントローラシステム１において中心的な処理を実行する。制御ユニット１００は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット３００で実行される制御演算との対比で、制御ユニット１００で実行される制御演算を「標準制御」とも称す。図３に示す構成例において、制御ユニット１００は、１または複数の通信ポートを有している。
【００５０】
セキュリティユニット２００は、制御ユニット１００に接続され、コントローラシステム１に対するセキュリティ機能を担当する。図１に示す構成例において、セキュリティユニット２００は、１または複数の通信ポートを有している。セキュリティユニット２００は、インシデントの検知および、検知したインシデントに応じた処理を実行することで、インシデント対応動作の実行を実現する。
【００５１】
セーフティユニット３００は、制御ユニット１００とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット３００で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、ＩＥＣ  ６１５０８などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。
【００５２】
機能ユニット４００は、コントローラシステム１による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット４００は、典型的には、Ｉ／Ｏユニット、セーフティＩ／Ｏユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。Ｉ／Ｏユニットとしては、例えば、デジタル入力（ＤＩ）ユニット、デジタル出力（ＤＯ）ユニット、アナログ出力（ＡＩ）ユニット、アナログ出力（ＡＯ）ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティＩ／Ｏユニットは、セーフティ制御に係るＩ／Ｏ処理を担当する。
【００５３】
電源ユニット４５０は、コントローラシステム１を構成する各ユニットに対して、所定電圧の電源を供給する。
【００５４】
＜Ｄ．各ユニットのハードウェア構成例＞
本実施の形態に従うコントローラシステム１を構成する各ユニットのハードウェア構成例について説明する。
【００５５】
（ｄ１：制御ユニット１００）
図４は、本実施の形態に従うコントローラシステム１を構成する制御ユニット１００のハードウェア構成例を示す模式図である。図４を参照して、制御ユニット１００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、通信コントローラ１１０と、ＵＳＢコントローラ１１２と、メモリカードインターフェイス１１４と、ネットワークコントローラ１１６，１１８，１２０と、内部バスコントローラ１２２と、インジケータ１２４とを含む。
【００５６】
プロセッサ１０２は、二次記憶装置１０８またはメモリカード１１５に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。主記憶装置１０６は、ＤＲＡＭまたはＳＲＡＭなどの揮発性記憶装置などで構成される。二次記憶装置１０８は、例えば、ＨＤＤまたはＳＳＤなどの不揮発性記憶装置などで構成される。
【００５７】
チップセット１０４は、プロセッサ１０２と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット１００全体としての処理を実現する。
【００５８】
二次記憶装置１０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
【００５９】
通信コントローラ１１０は、セキュリティユニット２００との間のデータの遣り取りを担当する。通信コントローラ１１０としては、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネット（登録商標）などに対応する通信チップを採用できる。
【００６０】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。たとえば、ＵＳＢコントローラ１１２は、サポート装置６との間のデータの遣り取りを担当する。
【００６１】
メモリカードインターフェイス１１４は、記憶媒体の一例であるメモリカード１１５を着脱可能に構成される。メモリカードインターフェイス１１４は、メモリカード１１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード１１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００６２】
ネットワークコントローラ１１６，１１８，１２０の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ１１６，１１８，１２０は、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの産業用ネットワークプロトコルを採用してもよい。
【００６３】
内部バスコントローラ１２２は、コントローラシステム１を構成するセーフティユニット３００や１または複数の機能ユニット４００との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【００６４】
インジケータ１２４は、制御ユニット１００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００６５】
図４には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、制御ユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６６】
（ｄ２：セキュリティユニット２００）
図５は、本実施の形態に従うコントローラシステム１を構成するセキュリティユニット２００のハードウェア構成例を示す模式図である。図５を参照して、セキュリティユニット２００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ２０２と、チップセット２０４と、主記憶装置２０６と、二次記憶装置２０８と、通信コントローラ２１０と、ＵＳＢコントローラ２１２と、メモリカードインターフェイス２１４と、ネットワークコントローラ２１６，２１８と、インジケータ２２４とを含む。
【００６７】
プロセッサ２０２は、二次記憶装置２０８またはメモリカード２１５に格納された各種プログラムを読み出して、主記憶装置２０６に展開して実行することで、後述するような各種セキュリティ機能を実現する。主記憶装置２０６は、ＤＲＡＭまたはＳＲＡＭなどの揮発性記憶装置などで構成される。二次記憶装置２０８は、例えば、ＨＤＤまたはＳＳＤなどの不揮発性記憶装置などで構成される。
【００６８】
チップセット２０４は、プロセッサ２０２と各コンポーネントとの間のデータの遣り取りを仲介することで、セキュリティユニット２００全体としての処理を実現する。
【００６９】
二次記憶装置２０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセキュリティシステムプログラムが格納される。
【００７０】
通信コントローラ２１０は、制御ユニット１００との間のデータの遣り取りを担当する。通信コントローラ２１０としては、制御ユニット１００に通信コントローラ２１０と同様に、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネット（登録商標）などに対応する通信チップを採用できる。
【００７１】
ＵＳＢコントローラ２１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。たとえば、ＵＳＢコントローラ１１２は、サポート装置６との間のデータの遣り取りを担当する。
【００７２】
メモリカードインターフェイス２１４は、記憶媒体の一例であるメモリカード２１５を着脱可能に構成される。メモリカードインターフェイス２１４は、メモリカード２１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード２１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００７３】
ネットワークコントローラ２１６，２１８の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ２１６，２１８は、イーサネット（登録商標）などの汎用的なネットワークプロトコルを採用してもよい。
【００７４】
インジケータ２２４は、セキュリティユニット２００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００７５】
図５には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、セキュリティユニット２００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００７６】
（ｄ３：セーフティユニット３００）
図６は、本実施の形態に従うコントローラシステム１を構成するセーフティユニット３００のハードウェア構成例を示す模式図である。図６を参照して、セーフティユニット３００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ３０２と、チップセット３０４と、主記憶装置３０６と、二次記憶装置３０８と、メモリカードインターフェイス３１４と、内部バスコントローラ３２２と、インジケータ３２４とを含む。
【００７７】
プロセッサ３０２は、二次記憶装置３０８に格納された各種プログラムを読み出して、主記憶装置３０６に展開して実行することで、セーフティ制御に係る制御演算、および、後述するような各種処理を実現する。主記憶装置２０６は、ＤＲＡＭまたはＳＲＡＭなどの揮発性記憶装置などで構成される。二次記憶装置２０８は、例えば、ＨＤＤまたはＳＳＤなどの不揮発性記憶装置などで構成される。
【００７８】
チップセット３０４は、プロセッサ３０２と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット３００全体としての処理を実現する。
【００７９】
二次記憶装置３０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
【００８０】
メモリカードインターフェイス３１４は、記憶媒体の一例であるメモリカード３１５を着脱可能に構成される。メモリカードインターフェイス３１４は、メモリカード３１５に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード３１５からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
【００８１】
内部バスコントローラ３２２は、内部バスを介した制御ユニット１００との間のデータの遣り取りを担当する。
【００８２】
インジケータ３２４は、セーフティユニット３００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００８３】
図６には、プロセッサ３０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、セーフティユニット３００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００８４】
＜Ｅ．制御システム１０＞
図７を参照して、本実施の形態に従うコントローラシステム１を備える制御システム１０の典型例について説明する。図７は、本実施の形態に従うコントローラシステム１を備える制御システム１０の典型例を示す模式図である。なお、説明の便宜上、図７には、機能ユニット４００および電源ユニット４５０の記載を省略している。
【００８５】
一例として、図７に示す制御システム１０は、設備Ｘを制御対象とする。設備Ｘは、一例として組み立て工程の設備であって、フィールドデバイス５００としてワークを搬送するコンベアに加えて、コンベア上のワークに対して任意の物理的作用を与えることが可能なロボットを含む。
【００８６】
コントローラシステム１のセキュリティユニット２００は、通信ポート２４３（図５のＵＳＢコントローラ２１２）を介してサポート装置６が接続される。サポート装置６は、セキュリティユニット２００および制御ユニット１００にアクセス可能になっており、コントローラシステム１に含まれる各ユニットで実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザへ提供する。サポート装置６は、セキュリティユニット２００および制御ユニット１００にアクセスし、コントローラシステム１が実行するインシデント対応動作を設定する。
【００８７】
本実施の形態においては、サポート装置６は、セキュリティユニット２００にアクセスし、対応テーブル６６をセキュリティユニット２００にインストールする。
【００８８】
コントローラシステム１のセキュリティユニット２００は、通信ポート２４２（図５のネットワークコントローラ２１６）を介して第１ネットワーク２に接続されている。第１ネットワーク２には、通信ポート２４２を介してＳＣＡＤＡ（Supervisory Control And Data Acquisition）装置７００が接続されている。
【００８９】
ＳＣＡＤＡ装置７００は、コントローラシステム１での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、コントローラシステム１に対して内部コマンドなどを生成する。ＳＣＡＤＡ装置７００は、コントローラシステム１が扱うデータを収集する機能も有している。
【００９０】
セキュリティユニット２００は、通信ポート２４２を介して、ＣＰＵなどのプロセッサ（図示せず）を備えるルーター５１が接続される。ルーター５１は、セキュリティユニット２００と外部ネットワーク５０との間の通信を中継する機能およびＦＷ（Fire Wall）５２の機能などを備える。
【００９１】
コントローラシステム１の制御ユニット１００は、通信ポート１４２（図４のネットワークコントローラ１１６）を介して第２ネットワーク４に接続されている。第２ネットワーク４には、ＨＭＩ（Human Machine Interface）８００およびデータベース９００が接続され得る。
【００９２】
ＨＭＩ８００は、パーソナルコンピュータに相当する。ＨＭＩ８００は、コントローラシステム１での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、コントローラシステム１に対して内部コマンドなどを生成する。ＨＭＩ８００は、ＦＡの保守者が携帯可能に構成され得る。
【００９３】
データベース９００は、コントローラシステム１から送信される各種データ（例えば、各ワークから計測されたトレーサビリティに関する情報など）を収集する。
【００９４】
コントローラシステム１の制御ユニット１００は、通信ポート１４４（図２のネットワークコントローラ１１８）を介して、１または複数のフィールドデバイス５００と接続されている。フィールドデバイス５００は、生産設備Ｘ内に配置された制御演算に必要な各種情報を収集するセンサや検出器、および、ワークに対して何らかの作用を与えるアクチュエータなどを含む。図７に示す例では、フィールドデバイス５００は、ワークに対して何らかの外的な作用を与えるロボット、ワークを搬送するコンベヤ、フィールドに配置されたセンサやアクチュエータとの間で信号を遣り取りするＩ／Ｏユニットなどを含む。
【００９５】
ここで、コントローラシステム１の機能面に着目すると、制御ユニット１００は、標準制御に係る制御演算を実行する処理実行部である制御エンジン１５０と、外部装置との間でデータを遣り取りする情報エンジン１６０とを含む。セキュリティユニット２００は、セキュリティ機能を実現するためのセキュリティエンジン２５０を含む。セーフティユニット３００は、セーフティ制御に係る制御演算を実行する処理実行部であるセーフティエンジン３５０を含む。
【００９６】
各エンジンは、各ユニットのプロセッサなどの任意のハードウェア要素または各種プログラムなどの任意のソフトウェア要素、あるいは、それら要素の組合せによって実現される。各エンジンは任意の形態で実装できる。
【００９７】
さらに、コントローラシステム１は、エンジン同士の遣り取りを仲介するブローカー１７０を含む。ブローカー１７０の実体は、制御ユニット１００およびセキュリティユニット２００の一方または両方に配置してもよい。
【００９８】
セキュリティエンジン２５０は、予め定められた検知ロジックに基づいて、インシデントを検知し、対応テーブル６６に従った対応を実行するため、制御ユニット１００などへ対応テーブル６６に従った動作をするように命令を出す。
【００９９】
なお、コントローラシステム１全体として、対応テーブル６６に従った動作を実現できればよく、セキュリティエンジン２５０から命令を出力する構成に限定されない。たとえば、対応テーブル６６を制御ユニット１００にインストールし、セキュリティエンジン２５０からインシデントの種類を特定可能な情報を制御ユニット１００に出力し、制御ユニット１００は、対応テーブル６６に従ってインシデントの種類に応じた処理を実行してもよい。
【０１００】
制御エンジン１５０は、制御対象を制御するための制御演算の実行に必要な変数テーブルおよびファンクションブロック（ＦＢ）などを保持している。変数テーブルに格納される各変数は、Ｉ／Ｏリフレッシュ処理により、フィールドデバイス５００から取得された値で周期的に収集されるとともに、フィールドデバイス５００へ各変数の値が周期的に反映される。制御エンジン１５０での制御演算のログは二次記憶装置１０８のログデータベース１８０に格納されてもよい。
【０１０１】
また、制御エンジン１５０は、セキュリティエンジン２５０から通知された命令に従って、インシデント対応動作を実行する。
【０１０２】
情報エンジン１６０は、制御ユニット１００が保持するデータ（変数テーブルで保持される変数値）に対して任意の情報処理を実行する。典型的には、情報エンジン１６０は、制御ユニット１００が保持するデータを周期的にデータベース９００などへ送信する処理を含む。このようなデータの送信には、ＳＱＬなどが用いられる。
【０１０３】
セーフティエンジン３５０は、コントローラシステム１において何らかの不正侵入が発生したか否かを検知する。セーフティエンジン３５０は、制御ユニット１００を介して、セーフティ制御に係る制御演算の実行に必要なセーフティＩ／Ｏ変数を取得および反映する。セーフティエンジン３５０でのセーフティ制御のログは二次記憶装置３０８のログデータベース３６０に格納されてもよい。
【０１０４】
＜Ｆ．インシデント発生時の対応＞
図８は、インシデントごとの挙動を規定した対応テーブル６６を示す図である。図８に示す対応テーブル６６における、インシデント１〜インシデント３は、互いにインシデントの特性が異なる。「インシデント特性」は、検知された不正侵入（セキュリティ脅威）の属性（例えば、攻撃種類、攻撃特性、攻撃レベル、深刻度、緊急度など）を包含する用語である。
【０１０５】
図８に示す対応テーブル６６における、フェーズＡ〜フェーズＣは、互いに、制御ユニット１００または制御ユニット１００が制御する制御対象の動作状態が異なる。制御ユニット１００の動作状態には、たとえば、通常運転中、リモートアクセス中、デバッグ中などを含む。制御ユニット１００が制御する制御対象の動作状態には、たとえば、運転中、メンテナンス（保守）中、一時停止中、段取り替え中などを含む。以下、制御ユニット１００または制御ユニット１００が制御する制御対象の動作状態を総じて、単に「動作状態」ともいう。
【０１０６】
図８に示す対応テーブル６６における、対応１，対応２，対応４は、コントローラシステム１の挙動を示す。
【０１０７】
すなわち、図８に示す対応テーブル６６においては、インシデント特性および動作状態に応じてコントローラシステム１の挙動が規定されている。コントローラシステム１は、発生したインシデントの特性と、インシデントが発生したときの動作状態に応じて、対応テーブル６６に従った挙動をとる。なお、対応テーブル６６は、図８に示したようなコントローラシステム１の挙動を２軸で分類するものに限られない。
【０１０８】
図９および図１０は、対応テーブルの変形例を示す図である。図９を参照して、対応テーブル６６Ａは、インシデント特性に関わらず、動作状態に応じてコントローラシステム１の挙動を規定する。図１０を参照して、対応テーブル６６Ｂは、動作状態に関わらず、インシデント特性に応じてコントローラシステム１の挙動を規定する。
【０１０９】
図８に示す例では、コントローラシステム１の挙動として、単に対応１，対応２，対応４とした。なお、コントローラシステム１の挙動として、設備制御についての対応、および、情報通信についての対応に大別できる。設備制御は、主として、制御ユニット１００の制御エンジン１５０および／またはセーフティユニット３００のセーフティエンジン３５０（いずれも図７参照）が担当する処理を意味し、制御対象の設備や機械の動作についての対応を意味する。情報通信は、主として、制御ユニット１００の情報エンジン１６０が担当する処理を意味し、制御ユニット１００と外部装置との間のデータの遣り取りや、制御ユニット１００内部での情報の取り扱いなどについての対応を意味する。
【０１１０】
コントローラシステム１の挙動（対応）として、たとえば、「正常運転」、「縮退」、「停止」などがあげられる。「正常運転」は、システム設計通りおよび生産計画通りに、設備や機械を運転継続できる状態を意味する。「縮退」は、コントローラシステム１の部分停止（一部のみ稼働）、性能縮小（性能低下）、機能制限などの、限定的ながら稼働を続行することを意味する。「停止」は、安全に、対象の設備や機械あるいはコントローラシステム１の動作を止めることを意味する。
【０１１１】
「縮退」の一例について説明する。
（１）設備制御の縮退
設備制御の縮退は、範囲、機能、生産性などの面において制限を受けた状態で運転することを意味する。
【０１１２】
範囲としては、制御対象となるゾーンを制限することができる。制御対象となるゾーンとしては、例えば、制御装置、制御装置に装着されるモジュール、制御装置に装着されるユニットなどの制御側を制限することができる。あるいは、特定の機械、ライン、フロア、工場全体といった被制御側（制御対象）を制限することができる。
【０１１３】
機能としては、コントローラシステム１が提供する処理のうち特定の処理（例えば、情報制御、標準制御、セーフティ制御など）を制限することができる。
【０１１４】
生産性としては、安全、安心のために一時的に生産性（例えば、ラインスピード、単位時間あたりの生産数、単位時間あたりの生産量など）を制限することができる。
【０１１５】
（２）情報通信の縮退
情報通信の縮退は、範囲、方向、帯域、ＱｏＳ（Quality of Service）、データなどの面において制限を受けた状態で運転することを意味する。
【０１１６】
範囲としては、例えば、通信物理ポート、通信論理ポート、ネットワーク離脱などを制限できる。
【０１１７】
通信物理ポートを制限する場合には、制御ユニット１００およびセキュリティユニット２００にそれぞれ配置されている通信ポートのうち特定のポート使用を制限することができる。あるいは、コントローラシステム１に実装される通信ポートのうち、上位側あるいはフィールド側のみを有効化してもよい。
【０１１８】
通信論理ポートを制限する場合には、利用可能なＴＣＰ／ＵＤＰポートを制限してもよいし、利用可能な通信プロトコルを制限してもよい。さらに、アクセスを受け付けるＭＡＣアドレスやＩＰアドレスを制限してもよい。
【０１１９】
方向としては、例えば、各ポートにおいてデータが流れる方向を一方向のみに制限してもよい。例えば、特定のポートについて、データの受信のみ許可、あるいは、データの送信のみ許可といった具合である。このような一方向のデータのみを許可することで、何らかのセキュリティ脅威が検知されたときに、コントローラシステム１からデータが流出することを防止できる。
【０１２０】
帯域としては、コントローラシステム１の通信負荷あるいは処理負荷を低減させるために、通信速度を制限（例えば、１Ｇｂｐｓから１００Ｍｂｐｓに変更）してもよい。
【０１２１】
ＱｏＳとしては、通過させるパケットの優先度を動的に変化させてもよい。例えば、何らかのセキュリティ脅威が検知された場合には、通過させるパケットの優先度を高く変更してもよい。
【０１２２】
データとしては、例えば、ＥｔｈｅｒＣＡＴなどの産業用ネットワークプロトコルにおいては、プロセスデータ通信の有効／無効の切り替えや、出力値の更新を制限（更新停止／ゼロクリア／前回値を保持など）してもよい。
【０１２３】
上述したものに限らず、「縮退」は、正常運転に対して任意の制限が加えられた状態での運転を包含し得る。なお、「縮退」は、部分停止と見なすこともでき、「停止」は、特定の機能を全面的に停止することを包含し得るので、「縮退」を拡張した概念と見なすこともできる。
【０１２４】
＜Ｇ．設備種別に応じた対応規定＞
インシデントごとの挙動を規定した対応テーブル６６は、設備種別に応じて定めることが好ましい。たとえば、制御ユニット１００の制御対象が充填機である場合、充填機を正常に動かしている状態で緊急停止した場合、安全性の観点から問題が残る。一方、制御ユニット１００の制御対象が組立機または搬送装置である場合、組立機または搬送装置を正常に動かしている状態で緊急停止した場合であっても、安全性に問題はないと考えられる。
【０１２５】
また、設備によっては、一度停止した後、再度復旧するために、多くの時間を要する場合がある。このような場合、設備を停止することにより受ける経済的損失が大きく、縮退運転をした方がよいことが予想される。
【０１２６】
また、設備には、人が機械と協働して作業を行うものもある。このように、設備内で人が作業しているような場合と、設備内で人が作業していないような場合とで、人に対する安全性を考慮する必要性の有無が分かれる。
【０１２７】
このように、設備において要求される安全性の観点、工場内における設備の重要度の観点、設備の停止による経済損失の観点などに応じて、インシデントに応じた対応を設定することが好ましい。
【０１２８】
＜Ｈ．インシデント対応の設定＞
（ｈ１．設定の流れ）
図１１を参照して、サポート装置６を用いたインシデント対応の設定の流れを説明する。図１１は、ユーザインターフェイス画面の遷移を示す図である。図１１に示す各ユーザインターフェイス画面は、たとえば、サポート装置６の表示部６０８に表示される。インシデント対応の設定にあたっては、まず、設備種別の選択を受け付ける設備種別選択画面６３０が表示部６０８に表示される。
【０１２９】
設備種別選択画面６３０には、設備種別を選択するための選択領域６３２と、選択した設備種別で決定するための決定ボタン６３４とが設けられている。選択領域６３２内の複数の設備種別の中から１の種別が選択された状態で決定ボタン６３４が操作されると、設備種別選択画面６３０から詳細設定画面６４０に表示部６０８の表示が切り替わる。
【０１３０】
詳細設定画面６４０は、インシデント対応を設定するための画面である。本実施の形態においては、設備種別ごとに、インシデント対応動作として設定可能な範囲が予め定められている。ユーザは、定められた範囲内でインシデント対応動作を設定することが可能である。詳細設定画面６４０には、インシデント対応動作を選択するための選択領域６４２と、選択したインシデント対応動作で決定するための決定ボタン６４４と、前の画面に戻るための戻るボタン６４６とが設けられている。
【０１３１】
すなわち、本実施の形態において、サポート装置６は、対応テーブルの変更を受け付けることが可能であり、設備種別ごとに変更可能な範囲が予め定められている。
【０１３２】
決定ボタン６４４が操作されると、選択領域６４２内で規定されている対応規定をコントローラシステム１に反映するための処理を開始するための確認画面６５０が表示される。
【０１３３】
確認画面６５０に設けられた戻るボタン６５２が操作されると、詳細設定画面６４０が再度表示され、インシデント対応動作を再度選択することができる。
【０１３４】
確認画面６５０に設けられた設定開始ボタン６５４が操作されると、詳細設定画面６４０上で選択したインシデント対応動作をコントローラシステム１に反映するための処理が開始され、設定中画面６７０が表示されたのち、反映が完了すると完了画面６８０が表示される。なお、設定中画面６７０が表示されている間にキャンセルボタン６７２が操作されると、コントローラシステム１にインシデント対応動作を反映するための処理が中断され、確認画面６５０に戻る。
【０１３５】
（ｈ２．設備種別選択画面６３０）
図１２は、設備種別選択画面６３０の一例を示す図である。本実施の形態において、設備種別は、制御対象の制御目的によって分類される。制御目的は、具体的には、組み立て、充填、包装、攪拌、搬送などが挙げられる。また、制御対象の名称は、制御目的に応じて付されていることが多く、制御目的による分類とは制御対象の名称による分類とも言える。図１２に示す例では、ユーザは、制御対象の名称（プレス機、充填機、包装機など）を選択することで、設備種別を選択する。
【０１３６】
このように、設備種別が制御対象の制御目的によって分類されることで、ユーザは、容易に設備種別を選択することができる。
【０１３７】
（ｈ３．詳細設定画面６４０）
図１３および図１４を参照して設備種別ごとの詳細設定画面６４０について説明する。図１３は、加工機の詳細設定画面６４０の一例を示す図である。図１４は、充填機の詳細設定画面６４０の一例を示す図である。
【０１３８】
図１３および図１４を参照して、詳細設定画面６４０の選択領域６４２は、種別表示領域６４２１と、動作種別領域６４２２と、インシデント種別領域６４２３と、設定領域６４２４とから構成される。
【０１３９】
種別表示領域６４２１には、設備種別選択画面６３０上で選択した設備種別が表示される。動作種別領域６４２２には、動作状態が表示される。図１３および図１４に示す例では、制御対象の動作状態が表示されている。なお、動作状態はコントローラシステム１の動作状態であってもよい。
【０１４０】
インシデント種別領域６４２３には、インシデントが表示される。設定領域６４２４には、動作状態ごとに、インシデント発生時の挙動が表示される。
【０１４１】
設定領域６４２４に表示された、動作状態およびインシデントごとの挙動は選択可能に構成されている。具体的には、タブ６４２５が操作されると複数種類の挙動がプルダウンリスト６４２６として表示され、ユーザは、一の挙動を選択することができる。
【０１４２】
図１３および図１４を参照して、設定領域６４２４に表示される初期値は、設備種別ごとに予め定められている。たとえば、加工機の稼働中に情報偽装が発生した場合の挙動の初期値は「停止」であるのに対して、充填機の稼働中に情報偽装が発生した場合の挙動の初期値は「縮退」である。
【０１４３】
このように、インシデントごとの挙動を選択可能にしつつ、設備種別ごとに予め初期値が設定されていることにより、現場に応じた設定を行うことが可能であり、かつ、知識の足りないユーザ（開発者）であっても、容易に設定することが可能となる。
【０１４４】
図１３および図１４を参照して、動作状態およびインシデントごとの挙動として選択可能な挙動は、設備種別ごとに予め定められている。たとえば、加工機のプルダウンリスト６４２６内で選択可能な挙動の種類は「認証」「縮退」「停止」などであるのに対して、充填機のプルダウンリスト６４２６内で選択可能な挙動の種類は「縮退」「停止」などであり「認証」は選択することができない。
【０１４５】
このように、動作状態およびインシデントごとの挙動として選択可能な挙動が設備種別ごとに予め定められていることにより、最低限の保護を担保することが可能である。
【０１４６】
選択可能な挙動のリストは、設備種別に応じて、動作状態およびインシデントごとに予め定められている。
【０１４７】
設備種別、動作状態およびインシデントによっては、挙動を変更できないようにしてもよい。たとえば、発生したインシデントによっては、情報資産の保護のために即座にネットワークを遮断する必要がある場合や、ユーザの安全確保のために即座に動作を停止する必要がある場合もある。このように、設備種別、動作状態およびインシデントによっては、挙動を選択できないようにすることで、情報資産の保護、安全性の確保などを確実に行うことができる。
【０１４８】
このように、サポート装置６は、設備種別ごとにインシデント対応を予め用意し、選択された設備種別に応じたインシデント対応をコントローラシステム１に反映することができる。そのため、設備種別に応じた対応規定の設定を用意に行うことができる。特に、知識の乏しい開発者が設定を行う場合に、情報資産の流出、設備の安全性の低下などの重大な過誤が引き起こされることを事前に防止することができる。
【０１４９】
＜Ｉ．設備種別の変形例＞
上記実施の形態において、設備種別は、制御目的によって分類されているものとした。なお、設備種別は、制御対象に対して求められる要望に従って分類されてもよい。すなわち、設備種別は、制御対象（設備）の名称によって分類されるのではなく、他の観点によって分類されてもよい。
【０１５０】
制御対象に対して求める要望は、制御対象の制御目的、制御対象が設置される位置、制御対象の利用方法、設備全体における制御対象の立場などに応じて変わる。制御対象に対して求める要望が変化すると、インシデント対応時の優先順位も変わるため、インシデント対応を変えることが好ましい。
【０１５１】
図１５は、変形例における各設備種別の対応テーブルを示す図である。なお、図１３中の攻撃１〜攻撃３は、インシデントである。フェーズＡ〜フェーズＣは、動作状態である。また、「全対応選択可」とは、複数のインシデント対応のうちの全インシデント対応の中から選択できることを意味する。「対応２，３選択不可」とは、複数のインシデント対応のうちの対応２と対応３とは選択できないことを意味する。「対応１，２，３選択不可」、「対応２選択不可」、および「対応３選択不可」についても同様である。
【０１５２】
図１５を参照して、設備種別は、制御対象（設備）の名称ではなく、類型１、類型２、類型３…というように、他の観点によって分類される。
【０１５３】
制御対象に対して求められる要望に従って設備種別を分類し、当該設備種別ごとに対応テーブルが用意されることで、制御対象に対して求められる要望に応じたインシデント対応を設定することが容易に可能である。
【０１５４】
図１６は、変形例１における設備種別選択画面６３０Ａである。図１６を参照して、ユーザは、ＹＥＳ／ＮＯチャートに示された質問に回答し、回答に従って辿り着いた類型を選択することで設備種別を選択する。たとえば、設備種別を選択（クリック）すると、選択した設備種別に対応する詳細設定画面が表示される。なお、図１６に示す各質問は、制御対象に対して求められる要望である。
【０１５５】
図１６を参照して、制御対象に対して求められる要望は、例えばセキュリティ特性に関する要望を含む。たとえば、人の安全性に関わる作業があるか否かによって、設備種別の候補が絞られる。具体的には、人の安全性に関わる作業がある場合には設備種別として類型１が候補から除かれる。一方、人の安全性に関わる作業がない場合には、類型３が候補から除かれる。
【０１５６】
図１６を参照して、制御対象に対して求められる要望は、設備における証拠情報の重要性に関する要望を含む。たとえば、証拠情報を厳密に残す必要があるか否かによって、設備種別の候補が絞られる。証拠情報を厳密に残す必要がある場合、類型３が候補から除かれる。一方、証拠情報を厳密に残す必要がある場合、類型２、類型４およびその他の類型が候補から除かれる。設備における証拠情報の重要性は、たとえば、設定対象の制御対象が、製造現場または一工程の中で補機として機能しているか、あるいは、親機として機能しているかによって異なる。
【０１５７】
図１６を参照して、制御対象に対して求められる要望は、他の設備との関係性から派生する要望を含む。たとえば、停止すると他の工程に関わるか否か、および縮退運転すると他の工程に影響するか否かによって、設備種別の候補が絞られる。具体的には、停止すると他の工程に関わる場合、類型４が候補から除かれる。一方、停止しても他の工程に関わらない場合、類型１が候補から除かれる。また、縮退運転すると他の工程に影響する場合、類型４が候補から除かれる。一方、縮退運転しても他の工程に影響しない場合、類型２およびその他の類型が候補から除かれる。
【０１５８】
図１６を参照して、制御対象に対して求められる要望は、資産の保護を観点とする要望を含む。たとえば、停止すると廃棄が発生するか否か、および緊急停止すると機械に負荷がかかるか否かによって、設備種別の候補が絞られる。具体的には、停止すると廃棄が発生する場合、類型２およびその他の類型が候補から除かれる。一方、停止しても廃棄が発生しない場合、類型１が候補から除かれる。また、緊急停止すると機械に負荷がかかる場合、その他の類型が候補から除かれる。一方、緊急停止しても機械に負荷がかからない場合、類型２が候補から除かれる。
【０１５９】
このように、設備種別は、設備に対して求める要望によって分類されてもよい。この場合、図１６に示すように、設備種別を容易に選択することができるようなユーザインターフェイス画面が提供されることが好ましい。
【０１６０】
なお、設備種別の選択方法は、図１６に示す方法に限られない。図１７は、変形例２における設備種別選択画面６３０Ｂである。図１８は、図１７に示す設備種別選択画面６３０Ｂを介して入力された情報に従って設備種別を決定するための設備種別決定テーブル６３６Ｂの一例を示す図である。
【０１６１】
図１７を参照して、ユーザは、表示された各質問に回答を「ＹＥＳ」または「ＮＯ」のボタンを操作することで入力する。ユーザが表示されたすべての質問に回答した後、回答内容が確定されると、図１８に示した設備種別決定テーブル６３６Ｂと、回答内容とに従って設備種別が選択される。設備種別が選択されると、選択した設備種別に対応する詳細設定画面が表示される。
【０１６２】
図１７に示す各質問は、制御対象に対して求められる要望を示す。ユーザは、「ＹＥＳ」または「ＮＯ」を選択することで、設定対象の制御対象に対して質問が示す要望があるか否かを選択する。
【０１６３】
すなわち、図１７に示すように、サポート装置６は、制御対象に対して求められる複数の要望の中から、設定対象の制御対象に対して求められる要望の選択を受け付け、受け付けた要望に基づいて設備種別を決定してもよい。また、図１６に示したＹＥＳ／ＮＯチャートは、ウィザード形式で、順番に一つ一つの質問が表示されるような形式で提供されてもよい。
【０１６４】
また、サポート装置６は、選択した設備種別（類型）と設備の名称とを紐付けて対応データベースに格納してもよい。図１９は、変形例にかかる対応データベース６６０Ａを示す図である。図１９を参照して、対応データベース６６０Ａには、設備の名称（アプリケーション名）と、設備種別（類型）とが紐付けられた設備種別対応テーブル６６２と対応テーブル６６とが格納されている。
【０１６５】
なお、設備種別（類型）と設備の名称との紐付けは、予めされていてもよく、また、ユーザによって行われても良い。たとえば、図１６または図１７に示した方法で設備種別を特定したのち、対象とする設備の名称の入力を受け付け、設備種別と設備の名称とを紐付けてもよい。このように、制御対象に対する要望に従って分類された設備種別と設備の名称（目的）とを紐付けることで、制御目的に応じて設備種別を選択することも、制御対象に対して求められる要望に応じて設備種別を選択することも可能となる。
【０１６６】
また、設備の名称の選択を受け付けたのち、当該設備の名称に対応する設備種別が登録されていない場合に、図１６または図１７に示した方法で設備種別の選択を受け付けるような構成であってもよい。
【０１６７】
また、新たな設備に関するプログラムをサポート装置６にインストールする場合に、当該設備に対応する設備種別または、当該設備に対するインシデント対応テーブルを併せてインストールしてもよい。
【０１６８】
＜Ｊ．対応テーブルの作成方法＞
対応テーブル６６は、たとえば、設備の情報に基づいて行われる脅威分析の結果および／または設備を運営する会社のセキュリティポリシーに基づいて設計される。
【０１６９】
また、インシデント対応は、図９および図１０に示したように、動作状態およびインシデントの両方に基づいて設定される必要はなく、少なくとも、設備種別に応じて設定されていればよい。
【０１７０】
＜Ｋ．その他の変形例＞
上記実施の形態において、コントローラシステム１は、インシデントの検知と、検知されたインシデントに応じた処理とを別々のユニット（セキュリティユニット２００と制御ユニット１００）が実行するものとした。なお、インシデントの検知と、検知されたインシデントに応じた処理とを共通のユニットが実行してもよい。
【０１７１】
また、上記実施の形態においては、一のコントローラシステムによって一の設備を制御するものとした。なお、一のコントローラシステムが複数の設備を制御してもよい。たとえば、一のセキュリティユニットに対して、複数の制御ユニットを接続させ、制御ユニットごとに一の設備を制御するような構成であってもよい。このような場合に、セキュリティユニットは、制御ユニットごとに対応テーブルを有し、インシデントの発生に従って、各対応テーブルに従った処理が実行されるように、各制御ユニットに指示しても良い。
【０１７２】
また、この場合、各制御ユニットに対応する対応テーブルが格納されてもよい。セキュリティユニットは、インシデントの発生および／または発生したインシデントの種類を特定可能な情報を各制御ユニットに通知し、制御ユニットは、通知されたインシデントと格納されている対応テーブルに従って処理を実行してもよい。
【０１７３】
＜Ｌ．付記＞
上述したような本実施の形態および変型例は、以下のような技術思想を含む。
【０１７４】
［構成１］
制御対象（５００）を制御するためのコントローラシステム（１）に接続されるサポート装置（６）であって、前記コントローラシステムは、前記コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されており、
前記サポート装置は、
予め定められた複数の設備種別のうち前記制御対象に対応する設備種別の選択を受け付ける選択手段（６２，６３０，６３０Ａ，６３０Ｂ）と、
設備種別ごとに予め用意された、インシデントに対する挙動を規定した対応規定（６６，６６Ａ，６６Ｂ，６６０，６６０Ａ）を参照して、選択された設備種別に対応する対応規定を前記コントローラシステムに反映する設定手段（６４，６５０）とを備える、サポート装置。
【０１７５】
［構成２］
前記設備種別は、前記制御対象の制御目的によって分類される（６３２）、構成１に記載のサポート装置。
【０１７６】
［構成３］
前記設備種別は、前記制御対象に対して求められる要望に従って分類される（６３０Ａ，６３０Ｂ）、構成１に記載のサポート装置。
【０１７７】
［構成４］
前記選択手段は、前記制御対象の制御目的の入力を受け付け、受け付けられた当該制御目的と選択された前記設備種別とを紐付けて記憶する、構成３に記載のサポート装置。
【０１７８】
［構成５］
前記設定手段は、前記対応規定の変更を受け付け（６４２４）、
前記対応規定は、設備種別ごとに初期値が予め定められている、構成１〜構成４のうちいずれか１項に記載のサポート装置。
【０１７９】
［構成６］
前記対応規定を変更することが可能な範囲は、前記設備種別ごとに予め定められている（６４２６）、構成５に記載のサポート装置。
【０１８０】
［構成７］
制御対象（５００）を制御するためのコントローラシステム（１）の挙動を設定するための設定プログラム（６１０４）であって、前記コントローラシステムは、前記コントローラシステムに発生し得るインシデントに応じて挙動を変更するインシデント対応動作を実行可能に構成されており、
当該設定プログラムは、コンピュータ（６）に、
予め定められた複数の設備種別のうち前記制御対象に対応する設備種別の選択を受け付けるステップ（６２，６３０，６３０Ａ，６３０Ｂ）と、
設備種別ごとに予め用意された、インシデントごとの挙動を規定した対応規定（６６，６６Ａ，６６Ｂ，６６０，６６０Ａ）を参照して、選択された設備種別に対応する対応規定を前記コントローラシステムに反映するステップ（６４，６５０）とを実行させる、設定プログラム。
【０１８１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１８２】
１  コントローラシステム、２  第１ネットワーク、４  第２ネットワーク、６  サポート装置、１０  制御システム、５０  外部ネットワーク、５１  ルーター、６２  選択モジュール、６４  設定モジュール、６６，６６Ａ，６６Ｂ  対応テーブル、１００  制御ユニット、１０２，２０２，３０２，６０２  プロセッサ、１０４，２０４，３０４  チップセット、１０６，２０６，３０６  主記憶装置、１０８，２０８，３０８  二次記憶装置、１１０，２１０  通信コントローラ、１１２，２１２，６２０  ＵＳＢコントローラ、１１４，２１４，３１４  メモリカードインターフェイス、１１５，２１５，３１５  メモリカード、１１６，１１８，１２０，２１６，２１８  ネットワークコントローラ、１２２，３２２  内部バスコントローラ、１２４，２２４，３２４  インジケータ、１４２，１４４，２４２，２４３  通信ポート、１５０  制御エンジン、１６０  情報エンジン、１７０  ブローカー、１８０，３６０  ログデータベース、２００  セキュリティユニット、２５０  セキュリティエンジン、３００  セーフティユニット、３５０  セーフティエンジン、４００  機能ユニット、４５０  電源ユニット、５００  フィールドデバイス、６０４  メインメモリ、６０６  入力部、６０８  表示部、６１０  ストレージ、６１２  光学ドライブ、６１４  記録媒体、６１８  プロセッサバス、６３０，６３０Ａ，６３０Ｂ  設備種別選択画面、６３２，６４２  選択領域、６３４，６４４  決定ボタン、６３６Ｂ  設備種別決定テーブル、６４０  詳細設定画面、６４６，６５２  戻るボタン、６５０  確認画面、６５４  設定開始ボタン、６６０，６６０Ａ  対応データベース、６６２  設備種別対応テーブル、６７０  設定中画面、６７２  キャンセルボタン、６８０  完了画面、７００  ＳＣＡＤＡ装置、８００  ＨＭＩ、９００  データベース、６１０４  サポートプログラム、６４２１  種別表示領域、６４２２  動作種別領域、６４２３  インシデント種別領域、６４２４  設定領域、６４２５  タブ、６４２６  プルダウンリスト。
【図１】
2020194354.tif 000003
【図２】
2020194354.tif 000004
【図３】
2020194354.tif 000005
【図４】
2020194354.tif 000006
【図５】
2020194354.tif 000007
【図６】
2020194354.tif 000008
【図７】
2020194354.tif 000009
【図８】
2020194354.tif 000010
【図９】
2020194354.tif 000011
【図１０】
2020194354.tif 000012
【図１１】
2020194354.tif 000013
【図１２】
2020194354.tif 000014
【図１３】
2020194354.tif 000015
【図１４】
2020194354.tif 000016
【図１５】
2020194354.tif 000017
【図１６】
2020194354.tif 000018
【図１７】
2020194354.tif 000019
【図１８】
2020194354.tif 000020
【図１９】
2020194354.tif 000021