(57)【要約】【課題】外部装置との間で遣り取りされるデータを管理する機能を提供することを一つの目的とする。【解決手段】制御装置１００は、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じてプロセス値１２４の公開設定１２６を規定する。制御装置１００は、規定された公開設定１２６に従って、１または複数のプロセス値の少なくとも一部を含むデータセット１２８を、外部装置との間で遣り取りする。【選択図】図１
2020140312.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御プログラムを実行する制御装置であって、
前記制御プログラムの実行に関する１または複数のプロセス値を管理する管理手段と、
前記１または複数のプロセス値についての公開設定に従って、前記１または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段とを備える、制御装置。
【請求項２】
前記公開設定は、前記１または複数のプロセス値のうち、前記外部装置が参照可能なプロセス値の範囲を規定する情報を含む、請求項１に記載の制御装置。
【請求項３】
前記公開設定は、前記１または複数のプロセス値の各々について、前記外部装置に対して参照可能であるか否かを規定する情報を含む、請求項１または２に記載の制御装置。
【請求項４】
前記公開設定は、前記外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む、請求項１〜請求項３のいずれか１項に記載の制御装置。
【請求項５】
前記制御プログラムの実行結果は、前記制御対象の動作状態を含み、
前記公開管理手段は、前記動作状態に応じて、前記公開設定を動的に決定する、請求項１〜請求項４のいずれか１項に記載の制御装置。
【請求項６】
前記制御装置の動作状態は、前記制御プログラムの変更を許可する状態と、前記制御プログラムの変更を禁止する状態とを含む、請求項１〜請求項５のいずれか１項に記載の制御装置。
【請求項７】
前記制御装置の動作状態は、前記制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、請求項１〜請求項６のいずれか１項に記載の制御装置。
【請求項８】
前記通信手段は、前記外部装置との間で遣り取りする前記１または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する、請求項１〜請求項７のいずれか１項に記載の制御装置。
【請求項９】
前記通信手段は、前記外部装置との間で遣り取りする前記１または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する、請求項１〜請求項７のいずれか１項に記載の制御装置。
【請求項１０】
前記通信手段は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）に従った通信プロトコルを利用して前記外部装置との間でデータの遣り取りを行う、請求項１〜請求項９のいずれか１項に記載の制御装置。
【請求項１１】
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報を格納する記憶装置と通信可能であって、
前記公開管理手段は、前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定する、請求項１〜請求項１０のいずれか１項に記載の制御装置。
【請求項１２】
制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラムであって、
前記管理プログラムはコンピュータに、
前記制御プログラムの実行に関する１または複数のプロセス値を管理するステップと、
前記１または複数のプロセス値についての公開設定に従って、前記１または複数のプロセス値の少なくとも一部を含むデータを、前記制御装置と前記外部装置との間で遣り取りするステップと、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定するステップとを実行させる、管理プログラム。
【請求項１３】
制御対象を制御するための制御プログラムを実行する実行手段と、
前記制御プログラムの実行に関する１または複数のプロセス値を管理する管理手段と、
前記１または複数のプロセス値についての公開設定に従って、前記１または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段とを備える、制御システム。
【請求項１４】
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報を格納する記憶手段と、
前記公開設定情報を受け付ける受付手段とをさらに備え、
前記公開管理手段は、前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定し、
前記受付手段は、前記公開設定を規定するためのユーザインターフェイスを提供する、請求項１３に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御するための制御プログラムを実行する制御装置と外部機器との間で行われるデータの遣り取りを管理する機能に関する。
【背景技術】
【０００２】
様々な製造現場において、ＰＬＣ（Programmable Logic Controller）などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などに応じて設計された制御プログラムが実行される。また、このような制御装置は、ＨＭＩ（Human Machine Interface）などの外部装置と通信可能に接続される。
【０００３】
このような外部装置として、特開２０１３−０１２０５０号広報（特許文献１）は、制御プログラムの全体を構造的かつ視覚的に表現し、制御プログラムの実行順序および実行状態を容易に把握することができる表示装置を開示する。
【０００４】
また、特開２０１３−１０５２１８号広報（特許文献２）は、産業用の種々のシステムを制御する制御装置と接続して、これに制御指示を行なうとともに、画面データを表示する表示装置であって、デバイス情報を簡単に調べることができる表示装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０１２０５０号広報
【特許文献２】特開２０１３−１０５２１８号広報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
外部装置は、制御装置から制御プログラムの実行状況を示す情報や、デバイスに関する情報を得ることで、特許文献１や特許文献２に示す機能を実現する。特許文献１および特許文献２に示すように、制御装置と通信可能に接続された外部装置に対しては、プログラムの実行状況を表示する機能や、デバイス情報を表示する機能など、様々な機能が要求される。
【０００７】
しかし、これらの機能は、それぞれ、製造現場における特定の状況で利用される機能であって、恒常的に利用されるとは限られない。すなわち、外部装置と制御装置との間で遣り取りが求められるデータは、状況に応じて変化する。そのため、外部装置との間で遣り取りされるデータを管理することが求められる。
【０００８】
本願発明は、上述したように、外部装置との間で遣り取りされるデータを管理する機能を提供することを一つの目的とする。
【課題を解決するための手段】
【０００９】
本開示の一例によれば、制御対象を制御するための制御プログラムを実行する制御装置が提供される。制御装置は、制御プログラムの実行に関する１または複数のプロセス値を管理する管理手段と、１または複数のプロセス値についての公開設定に従って、１または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定する公開管理手段とを含む。
【００１０】
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
【００１１】
上述の開示において、公開設定は、１または複数のプロセス値のうち、外部装置が参照可能なプロセス値の範囲を規定する情報を含む。
【００１２】
この開示によれば、外部装置が参照できないプロセス値が規定されるため、制御装置のセキュリティレベルを向上させることができる。
【００１３】
上述の開示において、公開設定は、１または複数のプロセス値の各々について、外部装置に対して参照可能であるか否かを規定する情報を含む。
【００１４】
この開示によれば、各プロセス値に対して外部装置からの参照可否が規定されるため、細かな設定が可能である。
【００１５】
上述の開示において、公開設定は、外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む。
【００１６】
この開示によれば、プロセス値を制御装置の外部から変更できるとともに、制御装置の状態によっては、その変更を禁止することができる。
【００１７】
上述の開示において、制御プログラムの実行結果は、制御対象の動作状態を含む。公開管理手段は、動作状態に応じて、公開設定を動的に決定する。
【００１８】
この開示によれば、制御対象の動作状態に従っても公開設定が決定されるため、より詳細な状況に応じたプロセス値の公開設定を規定することができる。
【００１９】
上述の開示において、制御装置の動作状態は、制御プログラムの変更を許可する状態と、制御プログラムの変更を禁止する状態とを含む。
【００２０】
この開示によれば、制御プログラムの変更が許可されており、制御プログラムの変更によりプロセス値がどのように変化したかを確認したいような状況と、制御プログラムが変更されずその制御プログラムの実行状況を確認したいような状況とに応じて公開設定を規定することができる。
【００２１】
上述の開示において、制御装置の動作状態は、制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む。
【００２２】
この開示によれば、インシデントの特性に応じて公開設定が動的に決定されるため、セキュリティレベルを向上させることができる。
【００２３】
上述の開示において、通信手段は、外部装置との間で遣り取りする１または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する。
【００２４】
この開示によれば、公開が許可されていない旨の情報が送信されるため、外部装置２００は、公開が許可されていない旨を特定できる。その結果、公開が許可されていないプロセス値がデータの遣り取りの対象となっていても、外部装置と制御装置との間のデータの遣り取りを正常に行うことができる。
【００２５】
上述の開示において、通信手段は、外部装置との間で遣り取りする１または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する。
【００２６】
この開示によれば、公開が許可されていないプロセス値についても送信されるため、公開が許可されていないプロセス値がデータの遣り取りの対象となっていても、外部装置と制御装置との間のデータの遣り取りを正常に行うことができる。
【００２７】
上述の開示において、通信手段は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）に従った通信プロトコルを利用して外部装置との間でデータの遣り取りを行う。
【００２８】
この開示によれば、外部装置のベンダやＯＳ（Operating System）の種類などに依存することなく外部装置との間でデータを遣り取りできる。
【００２９】
上述の開示において、制御装置は、制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と公開設定とを対応付けた公開設定情報を格納する記憶装置と通信可能である。公開管理手段は、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報と公開設定情報とに応じて公開設定を動的に決定する。
【００３０】
この開示によれば、公開設定を決定するための公開設定情報は、制御装置内ではなく、制御装置と通信可能な記憶装置に格納される。そのため、公開設定情報が制御装置内のメモリに格納される場合に比べて、制御装置のメモリを削減することができる。
【００３１】
本開示の別の一例によれば、制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラムが提供される。管理プログラムはコンピュータに、制御プログラムの実行に関する１または複数のプロセス値を管理するステップと、１または複数のプロセス値についての公開設定に従って、１または複数のプロセス値の少なくとも一部を含むデータを、制御装置と外部装置との間で遣り取りするステップと、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定するステップとを実行させる。
【００３２】
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
【００３３】
本開示の別の一例によれば、制御対象を制御するための制御プログラムを実行する実行手段と、制御プログラムの実行に関する１または複数のプロセス値を管理する管理手段と、１または複数のプロセス値についての公開設定に従って、１または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定する公開管理手段とを含む制御システムが提供される。
【００３４】
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
【００３５】
上述の開示において、制御システムは、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と公開設定とを対応付けた公開設定情報を格納する記憶手段と、公開設定情報を受け付ける受付手段とをさらに含む。公開管理手段は、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報と公開設定情報とに応じて公開設定を動的に決定する。受付手段は、公開設定を規定するためのユーザインターフェイスを提供する。
【００３６】
この開示によれば、受付手段により公開設定を規定するためのユーザインターフェイスが提供されるため、ユーザは、任意の公開設定を規定することができる。
【発明の効果】
【００３７】
本開示の一例によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
【図面の簡単な説明】
【００３８】
【図１】実施の形態にかかる制御システム１の適用例を示す模式図である。
【図２】制御装置１００のハードウェア構成の一例を示す模式図である。
【図３】外部装置２００のハードウェア構成の一例を示す模式図である。
【図４】サポート装置４００のハードウェア構成の一例を示す模式図である。
【図５】外部装置２００からのアクセス要求に対して行う処理を実現するための機能構成の一例を示す図である。
【図６】公開設定について説明するための図である。
【図７】データセット１２８のデータ構造の一例を示す模式図である。
【図８】公開設定情報１２６Ａを受け付けるユーザインターフェイスの一例を示す図である。
【図９】変形例における制御システム１ａを示す図である。
【図１０】変形例における制御装置１００ｂの機能構成の一例を示す図である。
【発明を実施するための形態】
【００３９】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
【００４０】
＜Ａ．適用例＞
図１を参照して、本発明が適用される場面の一例について説明する。図１は、実施の形態にかかる制御システム１の適用例を示す模式図である。制御システム１は、たとえば、製造現場において利用されるシステムであって、制御対象であるフィールド装置３００と、フィールド装置３００を制御する制御装置１００と、制御装置１００との間でデータを遣り取りする外部装置２００とを含む。
【００４１】
制御装置１００は、制御対象を制御するための制御プログラム１２２を実行するＰＬＣ（Programmable Logic Controller）などの装置である。制御装置１００は、制御系ネットワーク２を介して、制御対象であるフィールド装置３００と通信可能に接続される。制御系ネットワーク２には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００４２】
制御装置１００は、情報系ネットワーク４を介して外部装置２００と通信可能に接続される。情報系ネットワーク４は、たとえば、ベンダやＯＳ（Operating System）の種類などに依存することなくデータ交換を実現することができる通信規格に従ったネットワークであることが好ましい。このような通信規格としては、たとえば、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）などが知られている。なお、情報系ネットワーク４に採用される通信規格は、ＯＰＣ−ＵＡに限定されるわけではない。たとえば、情報系ネットワーク４は、特定のベンダまたはＯＳ特有の通信規格に従ったネットワークであってもよい。
【００４３】
フィールド装置３００は、生産工程を自動化するための種々の産業用機器を含む。フィールド装置３００は、サーボモータを制御するサーボドライバ、ロボットを制御するロボットコントローラ、データを収集する装置であるセンサ、または、生産工程で利用されるその他の機器を含む。なお、フィールド装置３００は、リモートＩ／Ｏ（Input/Output）装置またはＩ／Ｏユニットを介して制御装置１００と通信可能に接続されてもよい。図１に示す例では、一例として、制御系ネットワーク２を介して、ロボット３０１Ａを制御するロボットコントローラ３００Ａ、サーボモータ３０１Ｂを制御するサーボドライバ３００Ｂ、およびセンサ３００Ｃが制御装置１００と通信可能に接続されている。
【００４４】
外部装置２００は、制御装置１００が実行する制御プログラム１２２によって得られる各種情報を出力する。具体的には、外部装置２００は、制御プログラム１２２の実行の過程で得られるプロセス値１２４を参照することで、制御装置１００が実行する制御プログラム１２２によって得られる各種情報を出力する。外部装置２００は、典型的には、ＨＭＩ（Human Machine Interface）、ＰＣ（Personal Computer）、スマートフォン、タブレット端末、または、表示機能を有するその他の情報処理装置を含む。一例として、図１に示す例においては、情報系ネットワーク４を介してＨＭＩ２００ＡおよびＨＭＩ２００Ｂが制御装置１００と通信可能に接続されている。なお、外部装置２００は、情報の入力を受け付け、入力された情報に従って制御装置１００に対して内部コマンドなどを生成する機能を備えていてもよい。
【００４５】
外部装置２００の役割は、外部装置２００を操作する人の立場、あるいは、外部装置２００が操作される状況によって異なることがある。フィールド装置３００を制御するために制御装置１００が制御プログラム１２２を実行している間、外部装置２００は、一例として、制御プログラム１２２の実行状況を提示する役割を担う。一方、制御システム１の保守および点検を行っている間、外部装置２００は，保守および点検に必要な情報の一例として、制御装置１００およびフィールド装置３００の状態に関する情報を提示する役割を担う。
【００４６】
このように、外部装置２００は、制御装置１００およびフィールド装置３００の状態などに応じて、求められる役割が異なることがある。すなわち、外部装置２００は、制御装置１００およびフィールド装置３００の状態などに応じて、要求される出力内容が異なることがある。
【００４７】
セキュリティの観点からすると、要求される出力内容に限った範囲で制御装置１００から外部装置２００に情報が出力されることが好ましい。本実施の形態においては、制御装置１００と外部装置２００との間で遣り取りされるデータに対する管理機能が提供される。以下、管理機能を実現するための制御装置１００の機能構成について説明するとともに、管理機能について説明する。
【００４８】
制御装置１００は、管理部１１２と、通信部１１４と、公開管理部１１６とを備える。これらの機能は、制御装置１００のプロセッサが、管理機能にかかるプログラムを実行することで実現される。なお、図１には、制御装置１００が備える機能のうち、制御装置１００と外部装置２００との間で遣り取りされる情報を管理する機能を実現するための主要な機能のみを示している。
【００４９】
管理部１１２は、制御プログラム１２２の実行に関する１または複数のプロセス値１２４を管理する。図１に示す例では、管理部１１２は、第１プロセス値１２４Ａ，第２プロセス値１２４Ｂ，および第３プロセス値１２４Ｃを含む複数のプロセス値１２４を管理する。
【００５０】
プロセス値１２４は、フィールド装置３００から制御装置１００に入力されるデータと、制御装置１００からフィールド装置３００に出力されるデータと、制御プログラム１２２の実行途中で得られるデータとを含む概念であって、制御装置１００が実行する制御プログラム１２２によって得られる各種情報を含む。プロセス値１２４は、制御プログラム１２２の実行によって、その値が更新される。
【００５１】
管理部１１２は、たとえば、制御プログラム１２２が実行されることに従って、プロセス値１２４を更新する。典型的には、管理部１１２は、Ｉ／Ｏ（Input/Output）リフレッシュ処理を定周期で実行することで、プロセス値１２４を定周期で更新する。
【００５２】
通信部１１４は、１または複数のプロセス値１２４の少なくとも一部を含むデータを外部装置２００との間で遣り取りする。ここで、外部装置２００との間で遣り取りするデータをデータセット１２８と称する。通信部１１４は、公開管理部１１６が決定する公開設定１２６に従って、外部装置２００との間でデータセット１２８を遣り取りする。
【００５３】
公開管理部１１６は、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じて、公開設定１２６を動的に決定する。
【００５４】
「公開設定」は、プロセス値１２４の外部装置２００に対して公開するか否かを規定する設定、または、プロセス値１２４の変更を許可するか否かを規定する設定を含む。また、公開設定に従った外部装置２００と制御装置１００との間のデータの遣り取りは、外部装置２００からのアクセス要求を契機に開始されてもよく、また、外部装置２００からのアクセス要求とは異なる契機で開始されてもよい。たとえば、外部装置２００と制御装置１００との通信が確立したことを条件に「公開設定」に従ったデータの遣り取りが開始されてもよい。図１に示す例では、外部装置２００と制御装置１００との間のデータの遣り取りは、アクセス要求を契機に開始されている。
【００５５】
また、「動作状態」は、制御装置１００の「動作環境」に従って規定された状態と、制御装置１００が実行する制御プログラム１２２の実行状態に従って規定された状態とを含む。「動作環境」は、たとえば、セキュリティ環境を含む。また、制御プログラム１２２の実行状態は、たとえば、制御プログラム１２２に対する変更が許可されている状態、制御プログラム１２２が実行されている状態などを含む。
【００５６】
たとえば、公開管理部１１６は、制御装置１００の動作状態が変更されたことに伴って、公開設定１２６を動的に決定する。通信部１１４は、外部装置２００からのアクセス要求に対して、制御装置１００の動作状態の変更伴い公開管理部１１６が決定した公開設定１２６に従って、外部装置２００との間でプロセス値１２４を遣り取りする。
【００５７】
このように、図１に示した制御装置１００は、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じてプロセス値１２４の公開設定１２６を規定できるため、プロセス値１２４に対するセキュリティレベルを向上させることができる。また、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じてプロセス値１２４の公開設定１２６が動的に決定されるため、公開設定１２６を変更する手間が発生せず、また、公開設定１２６の変更に対するヒューマンエラーの発生を防止することができる。
【００５８】
また、制御装置１００は、サポート装置４００と通信可能に接続されてもよい。サポート装置４００は、制御装置１００で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザに提供する。サポート装置４００と制御装置１００とは、典型的には、ＵＳＢ（Universal Serial Bus）ケーブルを用いて接続される。サポート装置４００は、公開設定１２６を決定するための公開設定情報を受け付ける受付部４１２をさらに備える。
【００５９】
公開設定情報は、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に従って規定される制御装置１００のモードと、公開設定１２６とを対応付けた情報である。受付部４１２は、公開設定を規定するためのユーザインターフェイスを提供する。すなわち、サポート装置４００が受付部４１２を備えることにより、ユーザは、任意の公開設定を規定することができる。
【００６０】
＜Ｂ．ハードウェア構成＞
図２〜図４を参照して、制御システム１に含まれる装置のハードウェア構成について順に説明する。図２は、制御装置１００のハードウェア構成の一例を示す模式図である。図３は、外部装置２００のハードウェア構成の一例を示す模式図である。図４は、サポート装置４００のハードウェア構成の一例を示す模式図である。
【００６１】
（Ｂ１．制御装置１００のハードウェア構成）
図２を参照して、制御装置１００は、主たるコンポーネントとして、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などのプロセッサ１１０と、チップセット１０４と、ストレージ１２０と、メインメモリ１０６と、制御系ネットワークインターフェイス（ＩＦ）１４２と、情報系ネットワークＩＦ１４４と、ＵＳＢコントローラ１４６と、メモリカードＩＦ１４８と、内部バスコントローラ１０８とを含む。
【００６２】
プロセッサ１１０は、ストレージ１２０に格納された各種プログラムを読み出して、メインメモリ１０６に展開して実行することで、制御プログラム１２２の実行、および、上述した管理機能を実現する。すなわち、プロセッサ１１０は、制御プログラム１２２を実行する実行手段としての機能を有する。チップセット１０４は、プロセッサ１１０と各コンポーネントとの間のデータの遣り取りを仲介することで、制御装置１００全体としての処理を実現する。
【００６３】
ストレージ１２０には、制御プログラム１２２と、動作状態制御プログラム１１１Ａと、ＯＰＣ−ＵＡプログラム１１４Ａと、公開管理プログラム１１６Ａと、公開設定情報１２６Ａとが格納される。
【００６４】
制御プログラム１２２は、典型的には、ユーザがサポート装置４００を操作して設計することで生成されるユーザプログラムと、制御装置１００の基本的な機能を提供するシステムプログラムとから構成される。ユーザプログラムとシステムプログラムとが協働してユーザにおける制御目的を実現することで、フィールド装置３００が制御される。
【００６５】
動作状態制御プログラム１１１Ａは、制御装置１００の動作状態を制御するためのプログラムである。典型的には、動作状態制御プログラム１１１Ａは、制御装置１００の基本的な機能を提供するシステムプログラムの一種である。
【００６６】
ＯＰＣ−ＵＡプログラム１１４Ａは、制御装置１００をＯＰＣ−ＵＡサーバとして機能させるためのプログラムであって、制御装置１００と外部装置２００との間で、ＯＰＣ−ＵＡに従った通信を行うためのプログラムである。ＯＰＣ−ＵＡプログラム１１４Ａは、たとえば、システムプログラムの一種として予め制御装置１００にインストールされていてもよい。
【００６７】
公開管理プログラム１１６Ａは、制御システム１の管理機能を提供するためのプログラムである。公開管理プログラム１１６Ａは、システムプログラムの一部として予め制御装置１００にインストールされていてもよく、また、ユーザがサポート装置４００を操作して設計されたユーザプログラムとしてインストールされてもよい。また、公開管理プログラム１１６Ａは、システムプログラムおよびユーザプログラムの両方で構成されたプログラムであってもよい。
【００６８】
公開設定情報１２６Ａは、公開設定を決定するために参照される情報であって、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に従って規定される制御装置１００のモードと、公開設定１２６とを対応付けた情報である。
【００６９】
制御系ネットワークＩＦ１４２は、フィールド装置３００との間のデータの遣り取りを担当する。
【００７０】
情報系ネットワークＩＦ１４４は、外部装置２００との間のデータの遣り取りを担当する。
【００７１】
ＵＳＢコントローラ１４６は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。具体的には、ＵＳＢコントローラ１４６は、サポート装置４００との間のデータの遣り取りを担当する。サポート装置４００は、少なくとも制御装置１００にアクセス可能になっており、制御装置１００で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザへ提供する。
【００７２】
メモリカードＩＦ１４８は、メモリカード１４８Ａを着脱可能に構成されており、メモリカード１４８Ａに対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード１４８Ａから制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００７３】
内部バスコントローラ１０８は、制御装置１００に搭載される図示しないＩ／Ｏユニットなどとの間でデータを遣り取りするインターフェイスである。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【００７４】
（Ｂ２．外部装置２００のハードウェア構成）
図３を参照して、外部装置２００は、汎用的なアーキテクチャを有するハードウェア構成を有している。すなわち、外部装置２００は、一種のパーソナルコンピュータとして実装される。但し、外部装置２００を汎用的なハードウェアではなく、専用ハードウェアを用いて実装してもよい。
【００７５】
より具体的には、外部装置２００は、プロセッサ２１０と、ストレージ２２０と、メインメモリ２０２と、通信ＩＦ２４０と、タッチパネル２６０とを備える。これらのコンポーネントは、プロセッサバス２０４を介して接続されている。
【００７６】
プロセッサ２１０は、ＣＰＵやＧＰＵなどで構成され、ストレージ２２０に格納されたプログラムを読み出して、メインメモリ２０２に展開して実行することで、外部装置２００を制御する。メインメモリ２０２は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。
【００７７】
ストレージ２２０は、たとえば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。ストレージ２２０は、たとえば、ＯＰＣ−ＵＡプログラム２２２を格納する。ＯＰＣ−ＵＡプログラム２２２は、外部装置２００をＯＰＣ−ＵＡクライアントとして機能させるためのプログラムであって、制御装置１００と外部装置２００との間で、ＯＰＣ−ＵＡに従った通信を行うためのプログラムである。ここでいう「ＯＰＣ−ＵＡクライアント」とは、ＯＰＣ−ＵＡサーバである制御装置１００に通信要求（アクセス要求）を送信するアプリケーションである。
【００７８】
通信ＩＦ２４０は、制御装置１００とのデータの遣り取りを担当する。タッチパネル２６０は、ディスプレイである表示部２６２と、遊技者の操作を受け付ける入力部２６４とを備える。なお、表示部２６２と入力部２６４とが別体で構成されていてもよい。
【００７９】
（Ｂ３．サポート装置４００のハードウェア構成）
図４を参照して、サポート装置４００は、プロセッサ４１０と、ストレージ４２０と、メインメモリ４０２と、入力部４０４と、表示部４０６と、光学ドライブ４３０と、ＵＳＢコントローラ４６０とを含む。これらのコンポーネントは、プロセッサバス４０８を介して接続されている。
【００８０】
プロセッサ４１０は、ＣＰＵやＧＰＵなどで構成され、ストレージ４２０に格納されたプログラムを読出して、メインメモリ４０２に展開して実行することで、制御装置１００で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザに提供する。
【００８１】
メインメモリ４０２は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。ストレージ４２０は、例えば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。
【００８２】
ストレージ４２０は、基本的な機能を実現するためのＯＳに加えて、サポート装置４００としての機能を提供するためのサポートプログラムを格納する。
【００８３】
入力部４０４は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部４０６は、ディスプレイなどで構成され、プロセッサ４１０からの処理結果などを出力する。
【００８４】
ＵＳＢコントローラ４６０は、ＵＳＢ接続を介して、制御装置１００などとの間のデータを遣り取りする。
【００８５】
サポート装置４００は、光学ドライブ４３０を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体４３２（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ４２０などにインストールされる。
【００８６】
サポート装置４００で実行されるサポートプログラムなどは、コンピュータ読取可能な記録媒体４３２を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置４００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００８７】
＜Ｃ．アクセス要求に対する処理＞
本実施の形態においては、制御装置１００と外部装置２００との間の通信には、ＯＰＣ−ＵＡのパブリッシュ・サブスクライブ（Publish-Subscribe）型の通信モデルが適用される。以下では、この通信モデルが適用される通信をｐｕｂ／ｓｕｂ通信ともいう。なお、制御装置１００と外部装置２００との間の通信方式は、パブリッシュ・サブスクライブ型の通信モデルとは異なる通信モデルが適用されたものであってもよい。
【００８８】
本実施の形態にかかるｐｕｂ／ｓｕｂ通信において、制御装置１００はデータを発行するパブリッシャとして機能する。一方、外部装置２００はパブリッシャが発行したデータを受信するサブスクライバとして機能する。なお、制御装置１００および外部装置２００が各々、パブリッシャとしての機能と、サブスクライバとして機能とを両方備えていてもよい。
【００８９】
本実施の形態において、ＯＰＣ−ＵＡクライアントである外部装置２００は、ＯＰＣ−ＵＡサーバである制御装置１００にアクセス要求を送信することで、制御装置１００内で管理されるプロセス値１２４を取得し、取得したプロセス値１２４に基づいて、制御装置１００やフィールド装置３００の状態をグラフィカルに表示する。
【００９０】
外部装置２００からのアクセス要求は、Ｒｅａｄ要求とＷｒｉｔｅ要求とを含む。アクセス要求がＲｅａｄ要求である場合、制御装置１００は、公開管理部１１６が決定する公開設定に従って、アクセス対象のプロセス値を定期的に外部装置２００に送信する。アクセス要求がＷｒｉｔｅ要求である場合、制御装置１００は、公開管理部１１６が決定する公開設定に従って、書き換えするか否かを判断し、書き換えを許可する場合、アクセス対象のプロセス値を指定された値に書き換える。
【００９１】
図５を参照して、外部装置２００からのアクセス要求に対して行う制御装置１００の処理について説明する。図５は、外部装置２００からのアクセス要求に対して行う処理を実現するための機能構成の一例を示す図である。なお、図５に示す各機能は、制御装置１００のプロセッサ１１０がストレージ１２０に格納された各種プログラムを実行することで実現される。
【００９２】
制御装置１００は、動作状態制御部１１１と、フィールド装置制御部１１３と、管理部１１２と、通信部１１４と、公開管理部１１６とを含む。
【００９３】
動作状態制御部１１１は、制御装置１００の動作状態を制御する。制御装置１００は、複数の動作状態のうちの少なくとも一の動作状態に制御される。動作状態制御部１１１は、図２に示す動作状態制御プログラム１１１Ａをプロセッサ１１０が実行することで実現される機能である。動作状態制御プログラム１１１Ａは、制御装置１００に予めインストールされており、制御装置１００としての機能を提供するためのシステムプログラムの一種である。制御装置１００の動作状態は、典型的には、制御装置１００のメーカにより規定される状態である。図５に示す例では、動作状態制御部１１１は、「デバッグモード」、「ランモード」、および「メンテナンスモード」のうちのいずれかの動作状態に制御する。
【００９４】
「デバッグモード」は、制御装置１００の立ち上げ時に制御される状態であって、制御装置１００にインストールするプログラムのテストを行うときに制御される動作状態である。デバッグモードに制御されている間、制御プログラム１２２の書き換えは許可される。
【００９５】
「運転モード」は、制御装置１００が制御プログラム１２２を実行しているときに制御され、制御プログラム１２２の書き換えが禁止されている動作状態である。運転モードには、たとえば、制御装置１００がフィールド装置３００を制御して、動かすときに制御される。
【００９６】
「保守モード」は、制御装置１００が制御プログラム１２２を実行しておらず、制御装置１００の制御プログラム１２２の書き換えが可能な動作状態である。保守モードには、たとえば、制御装置１００に対して保守または点検を行うときに制御される。
【００９７】
すなわち、本実施の形態における制御装置１００の動作状態は、「制御プログラム」を中心に規定された状態である。
【００９８】
動作状態制御部１１１は、典型的には、外部装置２００が生成した内部コマンド、制御装置１００に設けられたスイッチに対する操作、またはサポート装置４００からの指令など、制御装置１００に対して直接または間接的に行われる操作により動作状態を移行させる。なお、これらの動作状態は一例であって、制御装置１００が制御する動作状態の種類は、２種類以下であっても、４種類以上であってもよく、また、制御装置１００が、図５に示した動作状態を必ずしも備えている必要はない。
【００９９】
フィールド装置制御部１１３は、フィールド装置３００を制御する。フィールド装置制御部１１３は、図２に示す制御プログラム１２２をプロセッサ１１０が実行することで実現される機能である。たとえば、フィールド装置制御部１１３は、フィールド装置３００からの入力値を取得し、取得した入力値に基づいてフィールド装置３００を操作するための出力値を演算する。
【０１００】
フィールド装置制御部１１３は、取得した入力値に基づいて制御装置１００を含む制御システム１全体の異常検知を行っても良い。また、フィールド装置制御部１１３は、演算に利用するパラメータや参照する入力値を変更することで段取り替えを行ってもよい。また、フィールド装置制御部１１３は、取得した入力値に基づいて、フィールド装置３００の動作状態を制御してもよい。
【０１０１】
フィールド装置制御部１１３の実行内容は、ユーザが任意に作成したユーザプログラムによって規定される。すなわち、ユーザはサポート装置４００などを利用して、任意にフィールド装置制御部１１３の実行内容を規定することできる。
【０１０２】
管理部１１２は、図１を参照して説明したように、１または複数のプロセス値１２４を管理する。管理部１１２は、制御装置１００の基本的な機能を提供するシステムプログラムをプロセッサ１１０が実行することで実現される機能であって、典型的には、Ｉ／Ｏリフレッシュ処理を実行するための機能である。
【０１０３】
プロセス値１２４は、フィールド装置３００から取得可能な入力値と、フィールド装置制御部１１３の演算結果である出力値と、フィールド装置制御部１１３が実行する演算の途中で得られるデータとを含む。
【０１０４】
管理部１１２は、プロセス値データベース（ＤＢ）１２４０を管理することで、プロセス値１２４を管理する。具体的には、管理部１１２は、Ｉ／Ｏリフレッシュ処理を実行することでプロセス値ＤＢ１１２２内のプロセス値１２４を定周期で更新する。なお、管理部１１２がプロセス値１２４を更新する周期は、プロセス値１２４の属性によって異なっていても良い。また、管理部１１２は、プロセス値ＤＢ１２４０内のプロセス値１２４を外部装置２００から送られたデータセット１２８に含まれるプロセス値１２４に書き換える処理をしてもよい。
【０１０５】
管理部１１２は、プロセス値ＤＢ１２４０内に格納するプロセス値１２４を定義する定義情報１２４２を含む。定義情報１２４２は、たとえば、段取り替えが行われたり、新たなプログラムがインストールされたり、プログラムの修正がされることで更新される。管理部１１２は、定義情報１２４２に従って、プロセス値ＤＢ１１２２内のプロセス値１２４を更新する。
【０１０６】
通信部１１４は、図１を参照して説明したように、１または複数のプロセス値１２４の少なくとも一部を含むデータセット１２８を外部装置２００との間で遣り取りする。通信部１１４は、データセット１２８の生成および送信を行う。通信部１１４は、図２に示すＯＰＣ−ＵＡプログラム１１４Ａをプロセッサ１１０が実行することで実現される機能である。通信部１１４は、解析部１１４２と、書換判定部１１４４と、データセット生成部１１４６と、送信部１１４８とを備える。
【０１０７】
解析部１１４２は、外部装置２００から送られたアクセス要求を解析し、アクセス要求がＷｒｉｔｅ要求である場合、書換判定部１１４４にアクセス対象を通知する。解析部１１４２は、アクセス要求がＲｅａｄ要求である場合、データセット１２８の送信定義１１４２Ａを生成する。送信定義１１４２Ａは、送信周期に関する情報と、アクセス対象に関する情報とを含む。
【０１０８】
書換判定部１１４４は、公開管理部１１６が決定する公開設定１２６に従って、書き換えするか否かを判断し、書き換えを許可する場合、アクセス対象のプロセス値を指定された値に書き換えるように、管理部１１２に指示する。また、書換判定部１１４４は、判定結果を送信部１１４８を介して外部装置２００に通知する。
【０１０９】
データセット生成部１１４６は、データセット１２８を生成する。具体的には、公開管理部１１６が決定した公開設定１２６と、送信定義１１４２Ａとに従って、プロセス値ＤＢ１２４０から１または複数のプロセス値１２４を収集し、データセット１２８を生成する。データセット生成部１１４６は、生成したデータセット１２８をバッファ１２８０に格納する。データセット１２８のデータ構造については後述する。なお、データセット生成部１１４６は、管理部１１２がＩ／Ｏリフレッシュ処理を実行する度にデータセット１２８を生成するようにしてもよく、また、送信定義１１４２Ａに含まれる送信周期に従ってデータセット１２８を生成してもよい。
【０１１０】
送信部１１４８は、バッファ１２８０に格納されたデータセット１２８を送信定義１１４２Ａに従って外部装置２００に送信する。また、送信部１１４８は、書換判定部１１４４の判定結果を外部装置２００に送信する。
【０１１１】
公開管理部１１６は、図１を参照して説明したように、公開設定１２６を動的に決定する。公開管理部１１６は、図２に示す公開管理プログラム１１６Ａをプロセッサ１１０が実行することで実現される機能である。公開管理部１１６は、モード管理部１１６２と公開設定決定部１１６４とを備える。
【０１１２】
モード管理部１１６２は、制御プログラム１２２の実行結果および制御装置１００の動作状態に関する情報を収集し、収集した情報に基づいて、公開設定１２６を規定するための複数のモード（制御状態）のうち、いずれかのモードに制御する。より具体的には、モード管理部１１６２は、動作状態制御部１１１から制御装置１００の動作状態に関する情報を収集し、フィールド装置制御部１１３から制御プログラム１２２の実行結果に関する情報を収集する。制御プログラム１２２の実行結果に関する情報は、たとえば、異常に関する情報、段取り替えに関する情報、およびフィールド装置３００の動作状態を示す情報などを含む。
【０１１３】
公開設定決定部１１６４は、モード管理部１１６２が管理するモードの情報と、モードごとの公開設定１２６を規定する公開設定情報１２６Ａとに基づいて、公開設定１２６を決定する。公開設定情報１２６Ａについては後述する。たとえば、モード管理部１１６２が管理するモードが切り替わった場合に、切り替わった後のモードに対応する公開設定１２６を公開設定情報１２６Ａに基づいて決定する。
【０１１４】
公開設定１２６は、アクセス要求を許可するか否かに関する情報を含む。具体的には、公開設定１２６は、Ｒｅａｄ要求に対して、アクセス対象のプロセス値を公開するか否かを示す情報と、Ｗｒｉｔｅ要求に対して、アクセス対象のプロセス値の書き換えを許可するか否かを示す情報とを含む。
【０１１５】
図５には、プロセッサ１１０がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【０１１６】
また、図５において、上記各機能を異なるプログラムの実行により実現する例を示した。しかし、１または複数のプロセス値を管理する管理部の処理と、制御装置１００と外部装置２００との間で公開設定１２６に従ってプロセス値１２４を含むデータを遣り取りする処理と、公開設定を動的に決定する処理とを実行するプログラムを一つのプログラムで実現してもよい。すなわち、図５に示した各機能を分割して異なるプログラム間で協働して実現してもよく、また、一つのプログラムで実現してもよい。
【０１１７】
＜Ｄ．公開設定＞
図６は、公開設定について説明するための図である。公開設定情報１２６Ａは、モードごとの公開設定を規定する情報である。図６を参照して、公開設定情報１２６Ａは、モードごとに、公開設定を規定する。公開設定は、プロセス値を公開するか否かを示す情報と、プロセス値の書き換え（変更）を許可するか否かを示す情報とを含む。
【０１１８】
図６に示す例において、「Ｒｅａｄ」は、プロセス値１２４の公開を許可することを示す。「Ｗｒｉｔｅ」は、外部装置２００からの指令に従って、プロセス値１２４の変更を許可することを示す。「Ｎｏｔ  Ｐｕｂｌｉｓｈｅｄ」は、プロセス値１２４の公開を許可しないことを示す。「Ｎｏｔ  Ｐｕｂｌｉｓｈｅｄ」が設定されている場合、プロセス値１２４の変更についても許可されない。なお、以下では、「Ｒｅａｄ」のことを単に公開、「Ｎｏｔ  Ｐｕｂｌｉｓｈｅｄ」のことを単に非公開ともいう。
【０１１９】
たとえば、図６に示す例において、モード管理部１１６２は、メンテナンスモード中はモードＢに制御する。公開設定決定部１１６４は、モードＢに制御されている場合、公開設定Ｂに決定する。公開設定Ｂにおいて、第１プロセス値および第２プロセス値の各々は、公開され、その値の変更が許可される。
【０１２０】
この場合、アクセス要求がＷｒｉｔｅ要求であって、アクセス対象が第１プロセス値および第２プロセス値である場合、第１プロセス値に対するＷｒｉｔｅ要求も、第２プロセス値に対するＷｒｉｔｅ要求も許可される。
【０１２１】
＜Ｅ．データセットのデータ構造＞
データセット生成部１１４６が生成するデータセット１２８のデータ構造を説明する。すなわち、外部装置２００に送信されるデータの構造について説明する。図７は、データセット１２８のデータ構造の一例を示す模式図である。
【０１２２】
データセット１２８は、ヘッダ１２８２と、ペイロード１２８４とから構成される。データセット生成部１１４６は、公開されるか否かに関わらず、アクセス対象のプロセス値を全てペイロード１２８４に格納する。データセット生成部１１４６は、アクセス対象のプロセス値のうち、非公開に設定されたプロセス値については、予め定められたデータに変換してペイロード１２８４に格納する。図７に示す例では、「０」に変換されている。
【０１２３】
データセット生成部１１４６は、ペイロード１２８４に格納されたプロセス値の各々について、そのデータが有効（Ｔｒｕｅ）であるか無効（Ｆａｌｓｅ）を示す情報をヘッダ１２８２に格納する。
【０１２４】
データセット１２８を受信した外部装置２００は、ヘッダ１２８２を参照することで、ペイロード１２８４に格納されたプロセス値のうち有効なプロセス値がいずれのデータであるかを特定する。
【０１２５】
＜Ｆ．公開設定情報の受付＞
図８は、公開設定情報１２６Ａを受け付けるユーザインターフェイスの一例を示す図である。図１に示したように、サポート装置４００は、公開設定情報１２６Ａを受け付ける受付部４１２を備える。受付部４１２は、公開設定情報１２６Ａを受け付けるユーザインターフェイス４４０を提供する。ユーザインターフェイス４４０は、プロセス値受付領域４４２と、公開設定受付領域４４４と、決定タブ４４６と、キャンセルタブ４４８とを含む。
【０１２６】
ユーザは、プロセス値受付領域４４２を操作することで設定対象のプロセス値を指定し、公開設定受付領域４４４を操作することで指定したプロセス値について、制御プログラムの実行結果および制御装置１００の動作状態ごとに許容するアクセス要求を設定する。
【０１２７】
決定タブ４４６が選択されると、受付部４１２は、プロセス値受付領域４４２および公開設定受付領域４４４が操作されることで受け付けた情報に従って公開設定情報１２６Ａを生成する。生成された公開設定情報１２６Ａは、サポート装置４００から制御装置１００に対して出力される。なお、キャンセルタブ４４８が操作されると、受け付けられた各種情報は破棄され、公開設定情報１２６Ａの受け付けが終了される。
【０１２８】
＜Ｇ．作用・効果＞
制御装置１００は、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じてプロセス値１２４の公開設定１２６が規定される。そのため、外部装置との間で遣り取りされるデータを制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に応じて管理することができる。また、制御装置１００は、制御プログラム１２２の実行結果または制御装置１００の動作状態に応じた公開設定１２６の変更が動的に行われるため、公開設定１２６を変更する手間を省くことができ、また、公開設定１２６の変更に対するヒューマンエラーの発生を防止することができる。
【０１２９】
また、公開設定１２６は、図６に示すように、外部装置２００に対してプロセス値を公開するか否かを示す情報を含む。換言すると、公開設定１２６は、外部装置２００が参照可能なプロセス値１２４の範囲を規定する情報を含む。その結果、制御装置１００は、プロセス値１２４に対するセキュリティレベルを向上させることができる。
【０１３０】
また、公開設定１２６は、図６に示すように、プロセス値１２４の各々について、外部装置２００に対して公開するか否かを規定する情報を含む。そのため、各プロセス値１２４に対して外部装置２００からの参照可否が規定されるため、細かな設定が可能である。
【０１３１】
また、公開設定１２６は、図６に示すように、Ｗｒｉｔｅ要求に対する許可および禁止を規定する情報を含む。そのため、プロセス値１２４を制御装置１００の外部から変更できるとともに、制御装置１００の状態によっては、その変更を禁止することができる。たとえば、プロセス値１２４は、その値を変更することで、制御プログラムが正常に動作しなくなってしまうものを含む。そのため、制御プログラムの実行中にこのようなプロセス値１２４の変更が許可されると、制御プログラムが停止するという重大事象が生じてしまう。プロセス値１２４の変更を禁止することが規定できることで、このような重大事象の発生を未然に防ぐことができる。
【０１３２】
また、制御装置１００の動作状態は、図６に示すように、デバッグモードやメンテナンスモードのように制御プログラム１２２を変更できる状態と、ランモードのように制御プログラム１２２を変更できない状態とを含む。制御プログラム１２２を変更できる状態であるか、或いは、変更できない状態であるかに応じて、公開設定が動的に決定される。制御プログラム１２２の変更が許可されている場合、ユーザは、制御プログラム１２２の変更により生じたプロセス値の変更を確認したい。一方、制御プログラムが変更されないような場合、ユーザは、その制御プログラムの実行状況を確認したい。すなわち、制御プログラム１２２を変更できる状態であるか、或いは、変更できない状態であるかに応じて、公開設定が動的に決定されることで、ユーザの要求に合わせた公開設定を規定することができる。
【０１３３】
また、図７に示すように、非公開のプロセス値をアクセス対象としてアクセス要求がされた場合に、データセット生成部１１４６は、公開されるか否かに関わらず、アクセス対象のプロセス値を全てペイロード１２８４に格納し、非公開に設定されたプロセス値については、予め定められたデータに変換してペイロード１２８４に格納する。そのため、公開が許可されていないプロセス値に対するアクセス要求がされたとしても、外部装置２００と制御装置１００との間のデータの遣り取りを正常に行うことができる。また、本実施の形態においては、ヘッダ１２８２に、ペイロード１２８４に格納されたデータの有効性を規定したデータが格納されるため、外部装置２００は、制御装置１００から送られたデータセット１２８だけを参照すれば、アクセス要求に対する制御装置１００からの返答を特定することができる。
【０１３４】
また、制御装置１００と外部装置２００との間の情報系ネットワーク４は、ＯＰＣ−ＵＡに従った通信プロトコルのネットワークである。そのため、制御装置１００は、外部装置２００のベンダやＯＳの種類などに依存することなく外部装置２００との間でデータを遣り取りできる。
【０１３５】
また、制御装置１００は、公開設定情報を受け付ける受付部４１２を備えるサポート装置４００と通信可能に接続される。また、受付部４１２は、図８に示すように公開設定１２６を規定するためのユーザインターフェイス４４０を提供する。そのため、ユーザは、任意の公開設定を規定することができる。
【０１３６】
＜Ｈ．変形例＞
（Ｈ１．公開設定の決定方法）
上記実施の形態においては、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に従ってモードを特定し、公開設定１２６は、モードに応じて決定されるものとした。なお、公開設定の決定方法は、上記実施の形態にかかる方法に限定されるものではなく、制御プログラム１２２の実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に従って決定されればよい。たとえば、制御装置１００の動作状態ごとに公開設定が規定されていてもよい。
【０１３７】
また、制御プログラム１２２の実行に伴い、フィールド装置３００の動作状態が規定される場合、フィールド装置３００の動作状態ごとに公開設定が規定されていてもよい。たとえば、包装機向けの規格として知られているＰａｃｋＭＬ（Packaging Machine Language）において規定されるモードやステータスに応じて公開設定を規定してもよい。フィールド装置３００の動作状態に応じてプロセス値の公開設定を規定されることで、制御装置１００の動作状態はランモードで変わりなくとも、フィールド装置３００が停止しているか、あるいは動いているかによって公開設定を変更することができる。その結果、制御装置１００が制御する制御対象全体ではなく、個々の状態に応じて公開設定を決定でき、より細かな公開設定を行うことができる。
【０１３８】
また、公開設定は、プロセス値ごとに規定されているものとしたが、プロセス値に属性を設定し、共通の属性のプロセス値を一のプロセス値群として、プロセス値群ごとに公開設定を規定してもよい。たとえば、フィールド装置Ａの制御にかかるすべてのプロセス値を属性Ａのプロセス値とし、フィールド装置Ｂの制御にかかるすべてのプロセス値を属性Ｂのプロセス値とし、属性Ａのプロセス値および属性Ｂのプロセス値ごとに公開設定を規定してもよい。
【０１３９】
また、上記の実施の形態において、公開設定は、制御プログラムの実行結果および制御装置１００の動作状態のうちの少なくとも一方の情報に従って決定されるものとした。なお、公開設定は、制御プログラム１２２の実行結果または制御装置１００の動作状態に関する情報に加えて、公開先の情報に従って決定されてもよい。公開先の情報は、外部装置２００を識別するためのＩＰアドレスやＭＡＣアドレスといった識別情報、およびユーザ名やパスワードといったユーザのログイン情報を含む。
【０１４０】
たとえば、制御装置は、公開先ごとに公開設定情報を有し、アクセス要求をした公開先に対応する公開設定情報に従って公開設定を決定してもよい。
【０１４１】
（Ｈ２．公開設定に従ったデータの遣り取りの実現方法）
上記実施の形態において、非公開のプロセス値については、予め定められたデータに変換され、ヘッダ１２８２に無効なプロセス値を特定する情報が格納されるものとした。なお、公開設定に従ったデータの遣り取りの方法は、上記実施の形態にかかる方法に限定されるものではない。
【０１４２】
たとえば、ヘッダ１２８２内に無効なプロセス値を特定可能な情報を格納することなく、制御装置１００の予め定められた記憶領域に格納してもよい。この場合、外部装置２００は、データセットを受信する度に、制御装置１００に対して、データセット内のプロセス値のうち、有効なプロセス値、或いは無効のプロセス値を特定可能な情報の送信を要求するようにしてもよい。
【０１４３】
また、制御装置１００と外部装置２００との間で、無効を示すデータを予め規定し、非公開のプロセス値は、無効を示すデータに変換されて送信されるようにしてもよい。
【０１４４】
また、非公開のプロセス値について制御装置１００と外部装置２００との間でデータの遣り取りをする場合、制御装置１００から外部装置２００に向けてエラーを通知するようにしてもよい。このように、エラーを返すことで、外部装置２００は、公開が許可されていないことを特定できる。その結果、公開が許可されていないプロセス値が外部装置２００のアクセス対象となっている場合でも、外部装置２００は当該プロセス値がアクセスできない旨の情報を得られるため、外部装置２００と制御装置１００との間のデータの遣り取りを正常に行うことができる。
【０１４５】
また、制御装置１００は、データセットごとに公開、非公開、書き換えの許可を規定し、非公開に設定したデータセットについては、送信すること自体を停止するようにしてもよい。また、制御装置１００は、データセットを生成する際に付すヘッダに、当該データセットに対する公開設定を書き込んでもよい。この場合、外部装置２００は、ヘッダに書き込まれた公開設定を読み取り、公開が許可されていないデータセットを破棄するようにしてもよい。この場合においても、公開が許可されていないプロセス値についてのデータの遣り取りについても正常に行うことができる。
【０１４６】
また、制御装置１００は、データセットを生成する際に付すヘッダに、当該データセットに格納されているプロセス値の各々に対する公開設定を書き込んでもよい。この場合、外部装置２００は、ヘッダに書き込まれた公開設定を読み取り、当該データセットに格納されているプロセス値のうち、公開が許可されているプロセス値を読み込み、公開が許可されていないプロセス値を破棄するようにしてもよい。
【０１４７】
すなわち、公開設定に従ったデータの遣り取りを実現する方法は、上記実施の形態に限定されるものではない。
【０１４８】
（Ｈ３．通信方式の変形例）
上記実施の形態において、ｐｕｂ／ｓｕｂ通信を前提に説明したが、他の方式の通信方式を適用してもよい。具体的には、本実施の形態において、Ｒｅａｄ要求がされた場合に定周期でデータセットが送信されるものとした。すなわち、一度アクセス要求がされた後は、外部装置２００側からのアクセス要求が無くとも、定周期でデータセットが生成されて送信されるものとした。なお、１回のアクセス要求に対しては、１回の回答をするようなコマンドアンドレスポンド方式の通信方式を適用してもよい。
【０１４９】
また、上記実施の形態において、「アクセス要求」がされたことを契機に制御装置１００からデータセットが送信されるものとした。なお、制御装置１００は、「アクセス要求」を契機としなくとも、予め定められたデータセットを定周期またはイベント的に送信してもよい。この場合、外部装置２００は、定周期またはイベント的に送信されたデータセットから、アクセス対象のプロセス値を取得するようにしてもよい。
【０１５０】
（Ｈ４．ユーザインターフェイスの変形例）
上記実施の形態において、サポート装置４００は、一のプロセス値を選択し、選択したプロセス値ごとに公開設定を受け付けるものとした。なお、サポート装置４００は、共通の属性のプロセス値を一のプロセス値群として、プロセス値群ごとに公開設定を受け付けるようにしてもよい。
【０１５１】
また、全てのプロセス値に対して公開設定を受け付けることができるようにする必要はなく、予め定められたプロセス値については公開設定を受け付けることができないようにし、それ以外のプロセス値については公開設定を受け付けるようにしてもよい。また、予め定められたプロセス値については公開設定を受け付けるようにし、それ以外のプロセス値については公開設定を受け付けることできないようにしてもよい。
【０１５２】
（Ｈ５．ＯＰＣ−ＵＡ通信の実現方法）
上記実施の形態において、制御装置１００と外部装置２００との間の通信をＯＰＣ−ＵＡに従う通信プロトコルで行うものとし、制御装置１００にＯＰＣ−ＵＡサーバの機能が、外部装置２００にＯＰＣ−ＵＡクライアントの機能が、各々インストールされているものとした。なお、制御装置１００と外部装置２００との間の通信をＯＰＣ−ＵＡに従う通信プロトコルで行うための実現方法は、上記実施の形態の方法に限られない。たとえば、制御装置１００にインストールされたＯＰＣ−ＵＡサーバの機能をプロセス間通信（ＩＰＣ：InterProcess Communication）にアドオンしてもよい。
【０１５３】
また、制御装置１００と外部装置２００との間に専用のゲートウェイを設けることで実現してもよい。また、制御装置１００と内部バスを介して通信可能な通信ユニットを設け、通信ユニットにＯＰＣ−ＵＡサーバの機能を持たせることで実現してもよい。
【０１５４】
（Ｈ６．制御システムの変形例）
図５に示す制御装置１００の各機能は、制御装置１００と通信可能な他の装置が備えていてもよい。図９は、変形例における制御システム１ａを示す図である。制御システム１ａは、制御装置１００が制御装置１００ａである点、ブローカー５００およびデータベースサーバ６００を有する点で上記実施の形態にかかる制御システム１と異なる。
【０１５５】
制御装置１００ａは、通信部１１４に代えて通信部１１４ａを備える点で制御装置１００と異なる。また、制御装置１００ａは、公開設定情報１２６Ａを有していない点で、制御装置１００とことなる。制御システム１ａにおいて、公開設定情報１２６Ａは、データベースサーバ６００に格納されている。
【０１５６】
図９に係る制御システム１ａは、図５に示す解析部１１４２、データセット生成部１１４６、および送信部１１４８にかかる機能をブローカー５００が備える。ブローカーは、外部装置２００からのアクセス要求を解析し、解析結果を制御装置１００ａに通知する。制御装置１００ａは、アクセス要求がＷｒｉｔｅ要求である場合、プロセス値の書き換えの判定を行い、判定結果をブローカー５００に通知する。また、制御装置１００ａは、アクセス要求がＲｅａｄ要求である場合、アクセス対象のプロセス値１２４と、データベースサーバ６００に格納された公開設定情報に従って決定した公開設定とをブローカー５００へ送る。ブローカー５００は、プロセス値１２４と公開設定とに従ってデータセット１２８を生成し外部装置２００に送る。
【０１５７】
このように、図５に示した制御装置１００が備える各機能は、制御装置１００と通信可能に接続された他の装置によって代替可能であって、制御装置１００が全ての機能を有しなくともよい。
【０１５８】
また、図９に示した制御装置１００ａは、データベースサーバ６００と通信可能であり、データベースサーバ６００に格納された公開設定情報１２６Ａに従って公開設定１２６を動的に決定する。すなわち、公開設定１２６を決定するための公開設定情報１２６Ａは、制御装置１００ａ内のストレージ１２０ではなく、外部に記憶される。そのため、制御装置１００ａのメモリを削減することができる。
【０１５９】
（Ｈ７．外部装置の変形例）
上記実施の形態において外部装置２００は、ＨＭＩのような表示装置を対象として説明したが、ＳＣＡＤＡ（Supervisory Control and Data Acquisition）装置またはデータベースサーバのように、データの収集を目的として接続された装置であってもよい。
【０１６０】
（Ｈ８．動作状態の変形例）
図１０は、変形例における制御装置１００ｂの機能構成の一例を示す図である。制御装置１００ｂは、動作状態制御部１１１が動作状態制御部１１１ａである点、およびセキュリティ管理部１１５を有する点で上記実施の形態にかかる制御装置１００と異なる。
【０１６１】
セキュリティ管理部１１５は、制御装置１００に発生する何らかの不正侵入を検知する。ここで、「不正侵入の検知」は、何らかのセキュリティ脅威となり得る現象または異常を検知することを意味する。不正侵入の検知は、通常とは異なる現象または状態の発生を検知することを意味するのみである。すなわち、不正侵入を検知したことを以て、直ちに「インシデントが発生したこと」とはならない。
【０１６２】
セキュリティ管理部１１５は、通信部１１４、および、フィールド装置制御部１１３を監視することで、制御装置１００に発生する何らかの不正侵入を検知する。たとえば、セキュリティ管理部１１５は、通信部１１４を介して情報系ネットワーク４から侵入するコンピュータウィルスの検知、通信部１１４が受けるＤＤｏＳ（Distributed Denial of Service）攻撃の検知、制御装置１００への不正アクセスの検知などを行う。また、セキュリティ管理部１１５は、制御系ネットワーク２を介して受ける不正な改ざんなどをフィールド装置制御部１１３を監視することで検知する。
【０１６３】
動作状態制御部１１１ａは、セキュリティ管理部１１５の検知結果に応じて、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とのうちのいずれかに制御する。「インシデント」は、重大な事故（アクシデント）に至っている段階と、その手前の重大な事故に至りかねない段階とを含む。
【０１６４】
なお、インシデントが発生しているか否か、および、発生しているインシデントの特性の判断は、動作状態制御部１１１ａおよびセキュリティ管理部１１５のうちのいずれが実行してもよい。図１０に示す例では、動作状態制御部１１１ａが実行するものとして説明する。
【０１６５】
図１０に示す例では、動作状態制御部１１１ａは、不正侵入の検知結果に基づいて、インシデントが発生していないと判断すると、「正常モード」に制御する。インシデントが発生していないとは、典型的には、不正侵入が検知されていないことを意味する。
【０１６６】
動作状態制御部１１１ａは、インシデントが発生している場合であっても、インシデントの特性に応じて、「アクシデントモード」と「要注意モード」とのうちのいずれかの状態に制御する。
【０１６７】
「アクシデントモード」は、不正侵入の検知結果に基づいて、重大な事故に至っている、あるいは、至る可能性が高いと判断される場合に制御される状態である。たとえば、「アクシデントモード」は、コンピュータウィルスを検知した場合、ＤＤｏＳ攻撃が継続して行われている期間が予め定められた期間を超えた場合に制御される状態である。
【０１６８】
「要注意モード」は、不正侵入の検知結果に基づいて、重大な事故に至りかねないと判断される場合に制御される状態である。たとえば、「要注意モード」は、ＤＤｏＳ攻撃が始まってから予め定められた期間を超えるまで制御される状態である。
【０１６９】
すなわち、変形例における制御装置１００ｂの動作状態は、「セキュリティ環境」を中心に規定された状態である。
【０１７０】
公開管理部１１６は、動作状態制御部１１１ａが制御する状態に応じて、公開設定を決定する。たとえば、公開管理部１１６は、「正常モード」のときに最も公開範囲が広くなるように設定し、「要注意モード」のときに次に公開範囲が広くなるように設定し、「アクシデントモード」のときに公開範囲が最も狭くなるように設定する。
【０１７１】
これにより、インシデントの特性に応じて公開設定を行うことができ、その結果、制御装置１００ｂは、セキュリティレベルを向上させることができる。
【０１７２】
なお、図１０に示す例では、「インシデント特性に応じた状態」は、発生しているインシデントの脅威レベルに応じた状態としたが、インシデントの種類に応じた状態としてもよく、また、インシデントの種類およびインシデントの脅威レベルに応じて規定される状態であってもよい。インシデントの種類は、たとえば、「ＤＤｏＳ攻撃」、「なりすまし」、「改ざん」、「ウィルスの侵入」などを含む。
【０１７３】
また、インシデント特性に応じた状態は、ユーザがサポート装置４００を操作して設計することで生成されるユーザプログラムによって管理される状態であってもよい。すなわち、不正侵入の検知結果に応じて、ユーザが任意にインシデント特性に応じた状態を規定してもよい。
【０１７４】
また、上記実施の形態と同様、インシデント特性に応じた状態毎に、ユーザが任意に公開範囲を規定してもよい。すなわち、不正侵入の検知結果に応じて、ユーザは、任意に公開範囲を規定できるようにしてもよい。
【０１７５】
また、セキュリティ管理部１１５の機能は、制御装置１００ｂが備えていなくともよい。たとえば、セキュリティ管理部１１５の機能の一部または全部の機能は、制御装置１００ｂと内部バスなどを介して接続可能なユニット（装置）に設けられていてもよい。
【０１７６】
また、制御装置は、上記実施の形態の動作状態制御部１１１と、図１０に示した変形例の動作状態制御部１１１ａと、両方を備えていてもよい。すなわち、制御装置は、「制御プログラム」の実行状態に従って規定された動作状態と、図１０に示した変形例のように「セキュリティ環境」に従って規定された動作状態とに基づいて公開設定を決定してもよい。
【０１７７】
＜Ｉ．付記＞
以上のように、上記の実施の形態よび変形例は以下のような開示を含む。
【０１７８】
（構成１）
制御対象を制御するための制御プログラムを実行する制御装置（１００，１００ａ，１００ｂ）であって、
前記制御プログラムの実行に関する１または複数のプロセス値（１２４）を管理する管理手段（１１２）と、
前記１または複数のプロセス値についての公開設定（１２６）に従って、前記１または複数のプロセス値の少なくとも一部を含むデータ（１２８）を、外部装置（２００）との間で遣り取りする通信手段（１１４）と、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段（１１６）とを備える、制御装置。
【０１７９】
（構成２）
前記公開設定は、前記１または複数のプロセス値のうち、前記外部装置が参照可能なプロセス値の範囲を規定する情報を含む、構成１に記載の制御装置。
【０１８０】
（構成３）
前記公開設定は、前記１または複数のプロセス値の各々について、前記外部装置に対して参照可能であるか否かを規定する情報を含む、構成１または２に記載の制御装置。
【０１８１】
（構成４）
前記公開設定は、前記外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む、構成１〜構成３のいずれか１に記載の制御装置。
【０１８２】
（構成５）
前記制御プログラムの実行結果は、前記制御対象の動作状態を含み、
前記公開管理手段は、前記動作状態に応じて、前記公開設定を動的に決定する、構成１〜構成４のいずれか１に記載の制御装置。
【０１８３】
（構成６）
前記制御装置の動作状態は、前記制御プログラムの変更を許可する状態と、前記制御プログラムの変更を禁止する状態とを含む、構成１〜構成５のいずれか１に記載の制御装置。
【０１８４】
（構成７）
前記制御装置の動作状態は、前記制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、構成１〜構成６のいずれか１に記載の制御装置。
【０１８５】
（構成８）
前記通信手段は、前記外部装置との間で遣り取りする前記１または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する、構成１〜構成７のいずれか１に記載の制御装置。
【０１８６】
（構成９）
前記通信手段は、前記外部装置との間で遣り取りする前記１または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する、構成１〜構成７のいずれか１に記載の制御装置。
【０１８７】
（構成１０）
前記通信手段は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）に従った通信プロトコルを利用して前記外部装置との間でデータの遣り取りを行う、構成１〜構成９のいずれか１に記載の制御装置。
【０１８８】
（構成１１）
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報（１２６Ａ）を格納する記憶装置（６００）と通信可能であって、
前記公開管理手段は、前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定する、構成１〜構成１０のいずれか１に記載の制御装置。
【０１８９】
（構成１２）
制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラム（１１４Ａ，１１６Ａ）であって、
前記管理プログラムはコンピュータに、
前記制御プログラムの実行に関する１または複数のプロセス値を管理するステップと、
前記１または複数のプロセス値についての公開設定に従って、前記１または複数のプロセス値の少なくとも一部を含むデータを、前記制御装置と前記外部装置との間で遣り取りするステップと、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定するステップとを実行させる、管理プログラム。
【０１９０】
（構成１３）
制御対象を制御するための制御プログラムを実行する実行手段（１１０）と、
前記制御プログラムの実行に関する１または複数のプロセス値を管理する管理手段（１１２）と、
前記１または複数のプロセス値についての公開設定に従って、前記１または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段（１１４，１１４ａ、５００）と、
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段（１１６，６００）とを備える、制御システム（１，１ａ）。
【０１９１】
（構成１４）
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報（１２６Ａ）を格納する記憶手段（１２０，６００）と、
前記公開設定情報を受け付ける受付手段（４１２）とをさらに備え、
前記公開管理手段は、前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定し、
前記受付手段は、前記公開設定を規定するためのユーザインターフェイス（４４０）を提供する、構成１３に記載の制御システム。
【０１９２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
【符号の説明】
【０１９３】
１，１ａ  制御システム、２  制御系ネットワーク、４  情報系ネットワーク、１００，１００ａ，１００ｂ  制御装置、１０４  チップセット、１０６，２０２，４０２  メインメモリ、１０８  内部バスコントローラ、１１０，２１０，４１０  プロセッサ、１１１，１１１ａ  動作状態制御部、１１１Ａ  動作状態制御プログラム、１１２  管理部、１１３  フィールド装置制御部、１１４，１１４ａ  通信部、１１４Ａ，２２２  ＯＰＣ−ＵＡプログラム、１１５  セキュリティ管理部、１１６  公開管理部、１１６Ａ  公開管理プログラム、１２０，２２０，４２０  ストレージ、１２２  制御プログラム、１２４  プロセス値、１２４Ａ  第１プロセス値、１２４Ｂ  第２プロセス値、１２４Ｃ  第３プロセス値、１２６  公開設定、１２６Ａ  公開設定情報、１２８  データセット、１４２  制御系ネットワークＩＦ、１４４  情報系ネットワークＩＦ、１４６，４６０  ＵＳＢコントローラ、１４８  メモリカードＩＦ、１４８Ａ  メモリカード、２００  外部装置、２０４，４０８  プロセッサバス、２４０  通信ＩＦ、２６０  タッチパネル、２６２，４０６  表示部、２６４，４０４  入力部、３００  フィールド装置、３００Ａ  ロボットコントローラ、３００Ｂ  サーボドライバ、３００Ｃ  センサ、３０１Ａ  ロボット、３０１Ｂ  サーボモータ、４００  サポート装置、４１２  受付部、４３０  光学ドライブ、４３２  記録媒体、４４０  ユーザインターフェイス、４４２  プロセス値受付領域、４４４  公開設定受付領域、４４６  決定タブ、４４８  キャンセルタブ、５００  ブローカー、６００  データベースサーバ、１１４２  解析部、１１４２Ａ  送信定義、１１４４  書換判定部、１１４６  データセット生成部、１１４８  送信部、１１６２  モード管理部、１１６４  公開設定決定部、１２４０  プロセス値ＤＢ、１２４２  定義情報、１２８０  バッファ、１２８２  ヘッダ、１２８４  ペイロード。
【図１】
2020140312.tif 000003
【図２】
2020140312.tif 000004
【図３】
2020140312.tif 000005
【図４】
2020140312.tif 000006
【図５】
2020140312.tif 000007
【図６】
2020140312.tif 000008
【図７】
2020140312.tif 000009
【図８】
2020140312.tif 000010
【図９】
2020140312.tif 000011
【図１０】
2020140312.tif 000012