(57)【要約】【課題】データ量の増大に伴う通信負荷の増大を抑制できる。【解決手段】制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段と、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とを含む。【選択図】図１
2020149631.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段と、
前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とを備える、制御システム。
【請求項２】
前記管理手段は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信しているデータセットのうち不要なデータセットが発生すると、前記送信手段に当該不要なデータセットの送信の停止を指示する、請求項１に記載の制御システム。
【請求項３】
前記アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを前記管理手段に通知する、請求項１または２に記載の制御システム。
【請求項４】
前記管理手段は、前記アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を前記送信手段に指示する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記制御システムは、制御装置および表示装置を備え、
前記制御手段および前記送信手段は前記制御装置に実装され、
前記アプリケーション実行手段は前記表示装置に実装され、
前記管理手段は、前記制御装置および前記表示装置とは独立して実装される、請求項１〜４のいずれか１項に記載の制御システム。
【請求項６】
前記制御システムは、制御装置および表示装置を備え、
前記制御手段、前記送信手段および前記管理手段は前記制御装置に実装され、
前記アプリケーション実行手段は前記制御装置に実装される、請求項１〜４のいずれか１項に記載の制御システム。
【請求項７】
前記アプリケーション実行手段により実行される１または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、前記複数のデータセットを決定する決定手段をさらに備える、請求項１〜６のいずれか１項に記載の制御システム。
【請求項８】
制御システムに配置された中継装置であって、
前記制御システムは、
制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段を備え、
前記中継装置は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する、中継装置。
【請求項９】
制御システムに配置された情報処理装置で実行される中継プログラムであって、
前記制御システムは、
制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段を備え、
前記中継プログラムは、前記情報処理装置に、
前記送信手段が送信可能な前記複数のデータセットの情報を管理するステップと、
前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定するステップとを実行させる、中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセスセータの値を含む１または複数のデータセットが送信される制御システム、当該制御システムに含まれる中継装置、ならびに、当該中継装置で実行される中継プロセスに関する。
【背景技術】
【０００２】
様々な製造現場において、ＰＬＣ（Programmable Logic Controller）などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置または製造設備などに応じて設計された制御プログラムが実行される。このような制御装置は、ＨＭＩ（Human Machine Interface）などの情報処理装置と通信可能に接続される。
【０００３】
情報処理装置は、たとえば、制御装置からの情報を利用して、制御装置の制御対象の稼働状況などをグラフィカルに表示したり、あるいは、制御装置からの情報を利用して、表示するアプリケーションとは異なるアプリケーションを実行したりする。
【０００４】
たとえば、特開２０１７−１４６８０３号公報（特許文献１）は、ＰＬＣと接続される情報処理装置の一例としてプログラマブル表示器を開示する。プログラマブル表示器は、ＰＬＣが保持する情報を表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１４６８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示されるようなプログラマブル表示器はＰＬＣが保持する情報を所定周期毎に更新して表示する。このようなプログラマブル表示器をＰＬＣとネットワーク接続した場合には、ネットワーク上を所定周期毎にデータが送信されることになる。
【０００７】
このような所定周期毎に送信されるデータが増大すると通信負荷が大きくなる。本発明は、このような送信されるデータ量の増大に伴う通信負荷の増大を抑制する技術を提供することを一つの目的とする。
【課題を解決するための手段】
【０００８】
本開示の一例に従う制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段と、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とを含む。
【０００９】
本開示によれば、アプリケーション実行手段により実行されるアプリケーションに応じて、複数のデータセットのうち必要なデータセットのみを送信することが可能になり、通信負荷の増大を抑制できる。
【００１０】
上述の開示において、管理手段は、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信しているデータセットのうち不要なデータセットが発生すると、送信手段に当該不要なデータセットの送信の停止を指示するようにしてもよい。この構成によれば、不要となったデータセットの送信を明示的に停止できる。
【００１１】
上述の開示において、アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを管理手段に通知するようにしてもよい。この構成によれば、アプリケーション実行手段での明示的な要求に応じて、送信すべきデータセットを決定できる。
【００１２】
上述の開示において、管理手段は、アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を送信手段に指示するようにしてもよい。この構成によれば、アプリケーション実行手段からの明示的な要求がなくても、不要なデータセットの送信を停止できる。
【００１３】
上述の開示において、制御システムは、制御装置および表示装置を含む。制御手段および送信手段は制御装置に実装され、アプリケーション実行手段は表示装置に実装されてもよい。管理手段は、制御装置および表示装置とは独立して実装されてもよい。この構成によれば、管理手段は、制御装置および表示装置のそれぞれの状況に応じて、送信すべきデータセットを適切に決定できる。
【００１４】
上述の開示において、制御システムは、制御装置および表示装置を含む。制御手段、送信手段および管理手段は制御装置に実装され、アプリケーション実行手段は制御装置に実装されてもよい。この構成によれば、制御装置および表示装置だけで送信すべきデータセットの管理ができるので、余分な装置を設ける必要がない。
【００１５】
上述の開示において、制御システムは、アプリケーション実行手段により実行される１または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、複数のデータセットを決定する決定手段をさらに含む。この構成によれば、アプリケーション実行手段により実行されるアプリケーションに応じて、適切なデータセットを決定できる。
【００１６】
本開示の別の一例によれば、制御システムに配置された中継装置が提供される。制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段を含む。中継装置は、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する。
【００１７】
本開示のさらに別の一例によれば、制御システムに配置された情報処理装置で実行される中継プログラムが提供される。制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段を含む。中継プログラムは、情報処理装置に、送信手段が送信可能な複数のデータセットの情報を管理するステップと、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定するステップとを実行させる。
【発明の効果】
【００１８】
本発明によれば、データ量の増大に伴う通信負荷の増大を抑制できる。
【図面の簡単な説明】
【００１９】
【図１】制御システム１の適用場面を示す模式図である。
【図２】ＰｕｂＳｕｂ通信の概要を説明するための図である。
【図３】サブスクライバーとして機能するＨＭＩ２００の概要を説明するための図である。
【図４】パブリッシャーとして機能するコントローラ１００の概要を説明するための図である。
【図５】管理手段１０による一連の管理の流れを示すシーケンス図である。
【図６】管理手段１０を実装可能な装置の例を説明するための図である。
【図７】中継装置６０に管理手段を実装した場合の中継装置６０の機能構成を示す図である。
【図８】ＨＭＩ２００のハードウェア構成の一例を示す模式図である。
【図９】コントローラ１００のハードウェア構成の一例を示す模式図である。
【図１０】中継装置６０のハードウェア構成の一例を示す模式図である。
【図１１】管理手段１０を実装したＨＭＩ２００ｂのハードウェア構成の一例を示す模式図である。
【図１２】管理手段１０を実装したコントローラ１００ｃのハードウェア構成の一例を示す模式図である。
【図１３】サポート装置３００の機能構成の一例を示す図である。
【図１４】サブスクリプションの購読要求の変形例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
【００２１】
＜Ａ．適用例＞
図１は、制御システム１の適用場面を示す模式図である。制御システム１は、制御装置の一例であるコントローラ１００と、表示装置の一例であるＨＭＩ（Human Machine Interface）２００と、管理手段１０とを備える。
【００２２】
ＨＭＩ２００とコントローラ１００とは、図１に示す例において、情報系ネットワーク２により通信可能に接続される。情報系ネットワーク２は、たとえば、ベンダやＯＳ（Operating System）の種類などに依存することなくデータ交換を実現することができる通信規格に従ったネットワークである。このような通信規格としては、たとえば、ＯＰＣ  ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）などが知られている。
【００２３】
なお、情報系ネットワーク２に採用される通信規格は、ＯＰＣ  ＵＡに限定されるわけではない。たとえば、情報系ネットワーク２は、特定のベンダまたはＯＳ特有の通信規格に従ったネットワークであってもよく、また、Ｅｔｈｅｒｎｅｔ（登録商標）上に制御用プロトコルを実装した産業用オープンネットワークであるＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）に従ったネットワークであってもよい。ＨＭＩ２００とコントローラ１００との間の通信は、直接行われる必要はなく、ＨＭＩ２００とコントローラ１００との間に中継装置が設けられていてもよい。
【００２４】
図１に示す例では、ＨＭＩ２００とコントローラ１００との間の通信は、ＯＰＣ  ＵＡのパブリッシュ・サブスクライブ（Publish-Subscribe）型の通信方式により行われる。なお、以下、ＯＰＣ−ＵＡのパブリッシュ・サブスクライブ（Publish-Subscribe）型の通信方式が適用された通信をＰｕｂＳｕｂ通信ともいう。
【００２５】
制御システム１は、複数のコントローラ１００を含む構成であってもよい。また、制御システム１は、複数のＨＭＩ２００を含む構成であってもよい。また、制御システム１は、１のコントローラ１００に対して１のＨＭＩ２００が通信可能に接続された構成でもよく、複数のコントローラ１００に対して１のＨＭＩ２００が通信可能に接続された構成でもよく、１のコントローラ１００に対して複数のＨＭＩ２００が通信可能に接続された構成でもよく、また、複数のコントローラ１００に対して複数のＨＭＩ２００が通信可能に接続された構成でもよい。図１に示す例では、制御システム１は、１のコントローラ１００に対して１つのＨＭＩ２００が通信可能に接続された構成である。
【００２６】
コントローラ１００は、制御手段１０２と、通信処理部８０とを備える。制御手段１０２は、制御対象であるフィールドデバイス５００などを制御するための制御プログラム１２０を実行するとともに、当該制御プログラム１２０において参照または更新される複数のプロセスデータ５２を管理する。
【００２７】
本明細書において、「プロセスデータ」は、コントローラ１００またはＨＭＩ２００が参照可能な任意のデータを包含する用語である。より具体的には、「プロセスデータ」は、フィールドデバイスから取得する入力データ、制御演算によって算出されてフィールドデバイスへ与えられる出力データ（指令値）、制御演算を実行するための一時的に算出されるデータ、ユーザによる操作内容を示すデータなどを含み得る。
【００２８】
制御手段１０２は、たとえば、コントローラ１００の基本的な機能を実現するためのシステムプログラム１７２をプロセッサ１１０（いずれも図９参照）が実行することにより実現される。
【００２９】
フィールドデバイス５００は、生産工程を自動化するための種々の産業用機器を含み、製造装置や生産ラインなど（以下、「フィールド」とも総称する。）に対して何らかの物理的な作用を与える装置と、フィールドとの間で情報を遣り取りする入出力装置とを含む。たとえば、フィールドデバイス５００は、サーボモータを制御するサーボドライバ、ロボットを制御するロボットコントローラ、データを収集する装置であるセンサ、コンベヤを動かすアクチュエータ、または、リモートＩ／Ｏ（Input/Output）装置などを含む。
【００３０】
コントローラ１００とフィールドデバイス５００とは、図１に示す例において、制御系ネットワーク４により通信可能に接続される。制御系ネットワーク４には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００３１】
通信処理部８０は、送信手段の具現化例であって、制御手段１０２が管理する複数のプロセスデータ５２の値を含む複数のデータセット５０を送信可能に構成されている。具体的には、通信処理部８０は、各データセット５０に格納されるプロセスデータ５２の組み合わせを規定する送信設定４００を参照して、データセット５０を送信する。すなわち、データセット５０の各々は予め定められた１または複数のプロセスデータの値を含む。
【００３２】
プロセスデータ５２は、フィールドデバイス５００からコントローラ１００に入力されるデータと、コントローラ１００からフィールドデバイス５００に出力されるデータと、制御プログラム１２０の実行またはコントローラ１００の状態管理に用いられるデータとを含む。プロセスデータ５２は、制御プログラム１２０の実行に伴って、周期的に更新される。
【００３３】
ＨＭＩ２００は、アプリケーション実行手段の具現化例であって、１または複数のアプリケーション２２０を実行する。なお、アプリケーション実行手段は、複数のＨＭＩによって構成されてもよい。すなわち，アプリケーション実行手段は、制御システム１において実行可能なアプリケーションの実行主体全体を含み得る。
【００３４】
各アプリケーション２２０は、コントローラ１００が送信したデータセット５０に含まれるプロセスデータ５２の値を利用する。すなわち、ＨＭＩ２００は、コントローラ１００により送信されるデータセット５０に含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行する。なお、以下では、プロセスデータ５２の値を単に「プロセスデータ５２」と称することもある。ＨＭＩ２００は、アプリケーション２２０を実行することで、制御プログラム１２０の実行によって得られる各種情報をオペレータへ提示する。
【００３５】
たとえば、図１に示す例では、アプリケーション２２０−ａが実行されることで、ページ１が生成され、アプリケーション２２０−ｂが実行されることで、ページ２が生成される。また、アプリケーション２２０−ａは、プロセスデータＡ，Ｂ，Ｃ，Ｄの値を利用してページ１にオブジェクト５４を表示する。一方、アプリケーション２２０−ｂは、プロセスデータＸの値を利用してページ２にオブジェクト５４を表示する。ＨＭＩ２００は、たとえば、ユーザによるページの切り替え操作を受け付けると、実行するアプリケーション２２０を変更する。図１中のアプリケーションの下に示したアルファベットが、当該アプリケーションで利用されるプロセスデータを示しているものとする。
【００３６】
管理手段１０は、ＨＭＩ２００により実行されているアプリケーションに応じて、通信処理部８０が送信可能なデータセット５０のうち、送信を有効化するデータセット５０を決定する。たとえば、管理手段１０は、たとえば、ＨＭＩ２００が実行可能なアプリケーション２２０の実行状況に基づいて、実行されているアプリケーション２２０に利用されるプロセスデータ５２がコントローラ１００からＨＭＩ２００に向けて配信されるように、有効化するデータセット５０を決定する。
【００３７】
たとえば、図１に示す例では、プロセスデータＡ，Ｂ，Ｃ，Ｄの値を利用するアプリケーション２２０−ａが実行されている場合、管理手段１０は、データセット１およびデータセット２の送信を有効化する。ユーザによるページの切り替え操作などが受け付けられて、実行するアプリケーション２２０が、アプリケーション２２０−ａからアプリケーション２２０−ｂに切り替わると、管理手段１０は、データセット１およびデータセット２の送信を無効化して、データセット３の送信を有効化する。
【００３８】
このように、管理手段１０が、実行されているアプリケーション２２０に応じて、データセット５０の送信の有効、無効を規定できるため、実行されていないアプリケーションに利用されるプロセスデータを含むデータセットが送信されることを防止することができる。
【００３９】
コントローラ１００が管理するプロセスデータ５２を利用してアプリケーション２２０を実行する情報処理装置は、ＨＭＩ２００に限られない。たとえば、情報処理装置は、制御対象であるフィールドデバイス５００から計測されたトレーサビリティに関する情報などを収集するデータベースや、プロセス制御と集中監視とを行うＳＣＡＤＡ（Supervisory Control And Data Acquisition）装置などであってもよい。
【００４０】
また、情報処理装置は、コントローラ１００と情報系ネットワーク２を介して接続された装置に限られるものではなく、制御系ネットワーク４を介して接続されたロボットを制御するロボットコントローラ、アクチュエータ、他のコントローラなどであってもよい。すなわち、アプリケーション２２０は、情報の提示を目的としたものに限定されるものではなく、コントローラ１００が管理するプロセスデータ５２を利用する機能の実現を目的としたものであればよい。なお、以下では、アプリケーション２２０は、情報の提示を目的としたものであって、表示部に画像を表示する機能を提供するプログラムとして説明する。
【００４１】
本実施の形態においては、説明を簡略にするため、制御システム１全体で利用されるプロセスデータの種類は、４種類であるとした。しかし、実際の生産現場においては、より多くの種類のプロセスデータがアプリケーションに利用されている。そのため、実行され得るすべてのアプリケーション２２０に利用されるプロセスデータ５２をすべて配信すると、制御システム１に含まれる各装置にかかる負荷は大きくなる。
【００４２】
そこで、本実施の形態のように、管理手段１０が、実行されているアプリケーション２２０に応じて、データセット５０の送信の有効、無効を規定することで、各装置への負荷を下げつつ、アプリケーション２２０が必要とするプロセスデータ５２の配信を行うことができる。
【００４３】
＜Ｂ．ＰｕｂＳｕｂ通信＞
図２は、ＰｕｂＳｕｂ通信の概要を説明するための図である。以下の説明では、データを配信する側を「パブリッシャー」と称し、パブリッシャーが配信したデータを購読する側を「サブスクライバー」と称する。本実施の形態に係る制御システム１において、コントローラ１００は、データを配信するパブリッシャーに相当する。一方、ＨＭＩ２００は、コントローラ１００が配信したデータを購読するサブスクライバーに相当する。
【００４４】
パブリッシャーは、１または複数のデータを格納したデータセットを生成して配信する。パブリッシャーは、送信先を特定することなく、パブリッシャーおよびサブスクライバーを含むネットワークにデータセットを送信する。この送信形態は、マルチキャストであってもよいし、ユニキャストであってもよい。状況によって、ブロードキャストであってもよい。
【００４５】
サブスクライバーは、サブスクライバーがアクセスすることのできるネットワーク上に配信されるデータセットのうち、いずれのデータセットを購読対象とするかを管理する。たとえば、図２に示す例では、サブスクライバーは、データセット１〜データセット３のうち、データセット１およびデータセット３を購読対象としている。そのため、サブスクライバーは、パブリッシャーが配信するデータセット１〜３のうち、データセット１およびデータセット３のみを受信する。サブスクライバーは、購読対象を変更すると、受信対象を変更する。
【００４６】
サブスクライバーは購読対象ではないデータセットを受信してもよく、この場合、サブスクライバーは、購読対象ではないデータセットを破棄する処理をしてもよい。
【００４７】
サブスクライバーが購読対象を管理する方法は、図２に示す方法に限られない。たとえば、データ毎に購読するか否かを管理してもよい。その他の方法としては、データセットとは異なるデータの集合毎に購読するか否かを管理してもよい。
【００４８】
図３および図４を参照して、ＨＭＩ２００とコントローラ１００との間のＰｕｂＳｕｂ通信の概要について説明する。図３は、サブスクライバーとして機能するＨＭＩ２００の概要を説明するための図である。図４は、パブリッシャーとして機能するコントローラ１００の概要を説明するための図である。
【００４９】
図３を参照して、ＨＭＩ２００は、表示部２４２と、複数のアプリケーション２２０（２２０−ａ，２２０−ｂ…）と、ＯＰＣ  ＵＡクライアントである通信処理部９０とを備える。各アプリケーション２２０は、表示部２４２に特定のページを表示するためのプログラムである。図３には、表示部２４２にページ１を表示するためのアプリケーション１が実行されている例が示されている。
【００５０】
各ページは、複数のオブジェクト５４を含む。たとえば、ページ１は、オブジェクト５４ａ〜オブジェクト５４ｄを含む。オブジェクト５４の表示は、プログラムに含まれる変数の値に応じて更新される。たとえば、オブジェクト５４ａの表示は、変数１の値に応じて更新される。同様に、オブジェクト５４ｂの表示は変数２の値に、オブジェクト５４ｃの表示は変数１の値に、オブジェクト５４ｄの表示は変数２の値に応じて更新される。
【００５１】
アプリケーション２２０は、マッピング情報２２２を参照することで、変数の値を更新する。マッピング情報２２２は、変数とプロセスデータ５２とを紐づけた情報である。たとえば、変数１の値は、プロセスデータ５２Ａの値に従って更新される。各プロセスデータの値が更新される周期は、アプリケーション２２０の作成に応じてユーザが設定してもよく、また、プロセスデータを管理するコントローラ１００の更新周期に応じて決定されるものでもよい。
【００５２】
通信処理部９０は、ＯＰＣ  ＵＡクライアントであって、ＨＭＩ２００をサブスクライバーとして機能させる。通信処理部９０は、購読管理手段９２と通信ドライバ９６とを備える。
【００５３】
購読管理手段９２は、実行中のアプリケーション２２０に応じて購読対象を管理する。具体的には、購読管理手段９２は、アプリケーション２２０とマッピング情報２２２に基づいて生成される購読管理情報９４を参照して購読対象を特定し、通信ドライバ９６に向けて、購読対象を通知する。
【００５４】
購読管理情報９４は、アプリケーション２２０と、当該アプリケーション２２０で利用されるプロセスデータ５２とを対応付けた情報であって、アプリケーション２２０とマッピング情報２２２とに基づいて生成される。
【００５５】
たとえば、アプリケーション１を実行している場合、購読管理手段９２は、購読管理情報９４を参照して、プロセスデータＡ，Ｂ，Ｃ，Ｄがアプリケーション１の実行に利用されることを特定する。購読管理手段９２は、プロセスデータＡ，Ｂ，Ｃ，Ｄの購読開始を通信ドライバ９６に向けて通知する。購読管理手段９２は、アプリケーションの実行対象が切り替わった場合、購読を停止するプロセスデータ５２に関する情報も、購読を開始するプロセスデータ５２に関する情報とともに通信ドライバ９６に向けて通知する。
【００５６】
通信ドライバ９６は、購読管理手段９２から通知された購読を開始するプロセスデータ５２と、購読を停止するプロセスデータ５２とを特定可能情報を管理手段１０に通知する。なお、以下では、購読を停止することを、「サブスクリプションの停止を要求する」ともいい、購読を開始することを、「サブスクリプションの開始を要求する」ともいう。
【００５７】
管理手段１０は、サブスクリプションの停止要求、および開始要求、ならびに、各データセット５０に含まれるプロセスデータ５２の種類を特定可能なデータセットリスト１４に基づいて、送信を有効にするデータセット５０および、送信を停止するデータセット５０を決定する。なお、管理手段１０の処理については、後述する。
【００５８】
通信ドライバ９６は、購読対象のプロセスデータ５２を含むデータセット５０を受信し、アプリケーション２２０で利用されるプロセスデータ５２の値を更新する。
【００５９】
通信ドライバ９６は、コントローラ１００が配信する複数のデータセット５０の中から、購読対象のプロセスデータ５２を含むデータセット５０を読み取る。より具体的には、通信ドライバ９６は、各データセット５０に格納されたプロセスデータ５２を特定するためのリンク情報９８を参照して、コントローラ１００が配信する複数のデータセット５０の中から、購読対象のプロセスデータ５２を含むデータセット５０を特定する。
【００６０】
リンク情報９８は、送信設定４００が生成されるタイミングで生成される。リンク情報９８を参照する主体は、通信ドライバ９６に限られない。たとえば、リンク情報９８を参照する主体は、購読管理手段９２であってもよい。この場合、購読管理手段９２は、アプリケーション２２０の実行に必要なプロセスデータ５２の値を得るために必要なデータセット５０を特定し、通信ドライバに向けて特定したデータセット５０を購読対象として通知してもよい。
【００６１】
図４を参照して、コントローラ１００は、制御手段１０２と、制御系ネットワークインターフェイス（ＩＦ）１９１と、ＯＰＣ  ＵＡサーバである通信処理部８０とを備える。
【００６２】
制御手段１０２は、制御プログラム１２０を実行することで、フィールドデバイス５００を制御する。たとえば、制御プログラム１２０は、制御系ネットワークＩＦ１９１を介して入力されたフィールドデバイス５００の状態値を利用してプロセスデータ５２の値を更新し、更新したプロセスデータ５２の値を参照して制御演算を実行する。制御プログラム１２０は、実行した制御演算の結果に応じてプロセスデータ５２の値を更新し、制御系ネットワークＩＦ１９１を介してフィールドデバイス５００に向けて、更新したプロセスデータ５２の値を制御値として出力する。
【００６３】
通信処理部８０は、ＯＰＣ  ＵＡサーバであって、コントローラ１００をパブリッシャーとして機能させる。通信処理部８０は、データセット５０を生成するデータセット生成手段８２と、データセット５０を送信する通信ドライバ８４とを備える。
【００６４】
データセット生成手段８２は、送信設定４００を参照して、管理手段１０が決定した送信が有効なデータセット５０を生成する。データセット５０は、プロセスデータ５２の集合をいうこともあれば、情報系ネットワーク２上に出力することが可能な形式にしたものをいうこともある。
【００６５】
送信設定４００は、一のデータセット５０に格納されるプロセスデータ５２を特定する情報である。なお、一のデータセット５０には、１のプロセスデータ５２だけが格納されるように規定されていてもよく、また、複数のプロセスデータ５２が格納されるように規定されていてもよい。すなわち、「データセット」という用語は、データセット５０に格納される１または複数のプロセスデータ５２の組み合わせを意味する。
【００６６】
すなわち、コントローラ１００は、送信設定４００に従ってデータセットを生成する。これにより、送信設定４００が、特定の属性のプロセスデータを一のデータセットとするように規定するものである場合と比べて、コントローラ１００の処理負担が軽減される。
【００６７】
送信設定４００は、データセット５０を生成する条件を既定する情報を含んでもよい。たとえば、制御プログラム１２０の実行に伴ってプロセスデータ５２の値が更新される周期毎にデータセット５０が生成されるように、データセット５０を生成する条件が規定されてもよい。なお、この場合、データセット５０に含めるプロセスデータ５２の組み合わせは、生成する条件を考慮して規定されることが好ましい。
【００６８】
通信ドライバ８４は、データセット生成手段８２が生成したデータセット５０を、情報系ネットワーク２上に配信する。
【００６９】
図３および図４を参照して、ＨＭＩ２００がアプリケーション１を実行しているときの、ＨＭＩ２００とコントローラ１００との間のデータの遣り取りについて説明する。
【００７０】
ＨＭＩ２００は、アプリケーション１を実行している場合、プロセスデータＡ，Ｂ，Ｃ，Ｄを利用する。管理手段１０は、アプリケーション１の実行に応じて、有効／無効情報１２を更新する。具体的には、プロセスデータＡ，Ｄが格納されるデータセット１とプロセスデータＢ，Ｃが格納されるデータセット２の送信を有効にし、他のデータセットの送信を無効にする。管理手段１０は、有効／無効情報１２を更新したことに応じて、コントローラ１００にデータセット５０の送信の開始と停止とを要求する。なお、以下では、コントローラ１００からデータセット５０を送信することを「パブリッシュする」ともいう。
【００７１】
コントローラ１００は、管理手段１０からの要求と、送信設定４００とに従い、データセット１，２の各々を周期的に生成して情報系ネットワーク２上に送信する。データセット１には、プロセスデータＡおよびプロセスデータＤが、データセット２には、プロセスデータＢおよびプロセスデータＣが格納されている。
【００７２】
ＨＭＩ２００は、コントローラ１００から配信される複数のデータセット５０のうち、購読対象であるプロセスデータＡ，Ｂ，Ｃ，Ｄの各々の値が格納されたデータセット１，２を取得する。データセット１，２の各々は、周期的に送信されるため、ＨＭＩ２００は、データセット１，２の各々を周期的に取得する。これにより、ＨＭＩ２００は、プロセスデータＡ，Ｂ，Ｃ，Ｄに対応する変数を周期的に更新することができ、当該変数に更新に応じてオブジェクト５４の表示も更新する。
【００７３】
＜Ｃ．シーケンス＞
図５は、管理手段１０による一連の管理の流れを示すシーケンス図である。以下、ステップを単に「Ｓ」と示す。
【００７４】
Ｓ１００において、通信処理部８０は、送信可能なデータセット５０および各データセット５０に格納されるプロセスデータ５２を示す情報の登録を行う。
【００７５】
Ｓ１０２において、管理手段１０は、通信処理部８０によって登録された情報に基づいて、データセットリスト１４を生成する。
【００７６】
Ｓ１０４において、アプリケーション２２０−ａの実行が開始されたとする。
Ｓ１０６において、アプリケーション２２０−ａの実行開始に伴って、ＨＭＩ２００の通信処理部９０は、購読管理情報９４を参照して、アプリケーション２２０−ａの実行に必要なプロセスデータ５２を特定する（購読対象の特定）。
【００７７】
Ｓ１０８において、ＨＭＩ２００の通信処理部９０は、購読の開始を管理手段１０に向けて通知する（サブスクリプション開始要求）。Ｓ１０８におけるサブスクリプション開始要求には、購読対象のプロセスデータ５２を特定可能な情報が含まれる。図５に示す例では、プロセスデータＡ，Ｂ，Ｃ，およびＤの購読を開始する旨の通知がされる。
【００７８】
Ｓ１１０において、管理手段１０は、サブスクリプション開始要求に基づいて、有効／無効情報１２を更新する。具体的には、管理手段１０は、データセットリスト１４を参照して、プロセスデータＡ，Ｂ，Ｃ，およびＤのうちの少なくともいずれかを含むデータセット５０を特定し、すべてのプロセスデータ５２が送信されるように送信を有効にするデータセット５０を決定する。
【００７９】
管理手段１０は、通信負荷に関する評価基準に従って、送信を有効にするデータセット５０を決定してもよい。たとえば、管理手段１０は、通信処理部８０のデータセット５０を送信する際の負荷が小さくなるように、また、所定期間の間にＨＭＩ２００で利用されるプロセスデータ５２の受信量が多くなるように、また、コントローラ１００とＨＭＩ２００との間の通信効率が良くなるように、送信を有効にするデータセット５０を決定する。
【００８０】
図５に示す例では、管理手段１０は、プロセスデータＡ，Ｄが格納されるデータセット１およびプロセスデータＢ，Ｃが格納されるデータセット２の送信を有効にし、他のデータセット５０の送信は無効のままとする。
【００８１】
Ｓ１１２において、管理手段１０は、データセット１およびデータセット２の送信を有効にした旨をコントローラ１００の通信処理部８０に通知する（パブリッシュの開始要求）。
【００８２】
Ｓ１１４において、通信処理部８０は、データセット１およびデータセット２の送信（パブリッシュ）を開始する。データセット１およびデータセット２は、たとえば、各々、周期的に送信される。また、Ｓ１１４において、管理手段１０は、通信処理部８０から送信されたデータセット１およびデータセット２の各々をＨＭＩ２００に向けて送信する。なお、データセット１およびデータセット２は、管理手段１０を中継して送信される必要はない。たとえば、通信処理部８０は、データセット１およびデータセット２をマルチキャストに送信し、ＨＭＩ２００の通信処理部９０がマルチキャストされたデータセット１およびデータセット２の各々を受信してもよい。
【００８３】
ページの切り替えが行われ、Ｓ１１６において、アプリケーション２２０−ａの実行が停止され、Ｓ１１８において、アプリケーション２２０−ｂの実行が開始されたとする。
【００８４】
Ｓ１２０において、ＨＭＩ２００の通信処理部９０は、アプリケーション２２０−ａの実行停止およびアプリケーション２２０−ｂの実行開始に伴って、購読を停止するプロセスデータ５２と、購読を開始するプロセスデータ５２とを、購読管理情報９４を参照して特定する（購読対象の特定）。
【００８５】
Ｓ１２２において、ＨＭＩ２００の通信処理部９０は、購読の停止を管理手段１０に向けて通知する（サブスクリプション停止要求）。Ｓ１２２におけるサブスクリプション停止要求には、購読を停止するプロセスデータ５２を特定可能な情報が含まれる。図５に示す例では、プロセスデータＡ，Ｂ，Ｃ，およびＤの購読を停止する旨の通知がされる。
【００８６】
さらに、ＨＭＩ２００の通信処理部９０は、購読を停止するデータセット５０と、購読を開始するデータセット５０とを、購読管理情報９４およびリンク情報９８を参照して特定してもよい。この場合、ＨＭＩ２００の通信処理部９０は、サブスクリプション停止要求に、購読を停止するデータセット５０を特定可能な情報が含めてもよい。
【００８７】
このように、ＨＭＩ２００は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なプロセスデータを管理手段１０に通知してもよい。
【００８８】
Ｓ１２４において、管理手段１０は、サブスクリプション停止要求に基づいて、有効／無効情報１２を更新する。具体的には、図５に示す例では、管理手段１０は、データセット１およびデータセット２の送信を無効にする。
【００８９】
なお、管理手段１０は、Ｓ１０８、１１０において、サブスクリプション開始要求がされたプロセスデータ５２（Ａ，Ｂ，Ｃ，Ｄ）と、有効にしたデータセット５０の種類とを対応付けて管理してもよい。これにより、サブスクリプション停止要求に対しての処理が容易になる。
【００９０】
Ｓ１２６において、管理手段１０は、データセット１およびデータセット２の送信を無効にした旨をコントローラ１００の通信処理部８０に通知する（パブリッシュの停止要求）。通信処理部８０は、Ｓ１２４のパブリッシュの停止要求に従い、Ｓ１１４から開始したデータセット１およびデータセット２の送信を停止する。
【００９１】
このように、管理手段１０は、ＨＭＩ２００により実行されているアプリケーションに応じて、コントローラ１００の通信処理部８０が送信しているデータセット５０のうち不要なデータセット５０が発生すると、コントローラ１００の通信処理部８０に当該不要なデータセットの送信の停止を指示する。
【００９２】
Ｓ１２８において、ＨＭＩ２００の通信処理部９０は、購読の開始を管理手段１０に向けて通知する（サブスクリプション開始要求）。Ｓ１２８におけるサブスクリプション開始要求には、購読対象のプロセスデータ５２を特定可能な情報が含まれる。図５に示す例では、プロセスデータＸの購読を開始する旨の通知がされる。
【００９３】
Ｓ１３０において、管理手段１０は、サブスクリプション開始要求に基づいて、有効／無効情報１２を更新する。具体的には、管理手段１０は、データセットリスト１４を参照して、プロセスデータＸが送信されるように送信を有効にするデータセット５０を決定する。図５に示す例では、管理手段１０は、プロセスデータＸが格納されるデータセット３の送信を有効にし、他のデータセット５０の送信は無効のままとする。
【００９４】
Ｓ１３２において、管理手段１０は、データセット３の送信を有効にした旨をコントローラ１００の通信処理部８０に通知する（パブリッシュの開始要求）。
【００９５】
Ｓ１３４において、通信処理部８０は、データセット３の送信（パブリッシュ）を開始する。データセット３は、たとえば、周期的に送信される。また、Ｓ１３４において、管理手段１０は、通信処理部８０から送信されたデータセット３をＨＭＩ２００に向けて送信する。
【００９６】
Ｓ１３６において、管理手段１０は、通信処理部９０へのデータセット３の送信ができなくなった旨（タイムアウト）を検知したとする。
【００９７】
Ｓ１３８において、管理手段１０は、タイムアウトの検知に基づいて、有効／無効情報１２を更新する。具体的には、図５に示す例では、管理手段１０は、データセット３の送信を無効にする。すなわち、管理手段１０は、タイムアウトの検知により、通信処理部９０との通信が途切れたと判断し、通信処理部９０からのサブスクリプション要求が停止したものと判断する。
【００９８】
Ｓ１４０において、管理手段１０は、データセット３の送信を無効にした旨をコントローラ１００の通信処理部８０に通知する（パブリッシュの停止要求）。通信処理部８０は、Ｓ１４０のパブリッシュの停止要求に従い、Ｓ１３４から開始したデータセット３の送信を停止する。
【００９９】
このように、管理手段１０は、ＨＭＩ２００により受信されなくなったデータセット５０について、送信の停止をコントローラ１００の通信処理部８０に指示する。これにより、不要なデータセット５０の送信が停止される。
【０１００】
＜Ｄ．管理手段の実装例＞
本実施の形態に係る管理手段１０を実装可能な装置および、当該装置に実装したときの処理について説明する。図６は、管理手段１０を実装可能な装置の例を説明するための図である。
【０１０１】
図６を参照して、管理手段１０は、（１）コントローラ１００とＨＭＩ２００との間の通信を中継する中継装置６０、（２）コントローラ１００、または（３）ＨＭＩ２００に実装される。
【０１０２】
すなわち、（１）に示すように、管理手段１０をコントローラ１００およびＨＭＩ２００とは独立して実装されてもよい。あるいは、（２）に示すように、管理手段１０をコントローラ１００に実装してもよい。さらにあるいは、（３）に示すように、管理手段１０をＨＭＩ２００に実装してもよい。
【０１０３】
以下では、管理手段１０の機能が実行されたＨＭＩをＨＭＩ２００ｂとし、管理手段１０の機能が実行されたコントローラをコントローラ１００ｃとする。
【０１０４】
コントローラ１００が管理するプロセスデータ５２が複数のＨＭＩ２００に利用され、かつ、ＨＭＩ２００が実行する１または複数のアプリケーション２２０において、互いに異なるコントローラ１００によって管理される複数のプロセスデータ５２が利用されるような場合（Ｎ対Ｎ）は、中継装置６０に管理手段１０の機能を実装させることが効果的である。
【０１０５】
なお、Ｎ対Ｎの場合に、ＨＭＩ２００ｂまたはコントローラ１００ｃを利用してもよい。ＨＭＩ２００ｂを利用する場合は、複数のＨＭＩの各々に管理手段１０の機能を実装させることが好ましい。コントローラ１００ｃを利用する場合は、複数のコントローラの各々に管理手段１０の機能を実装させることが好ましい。
【０１０６】
（ｄ１．中継装置）
図７は、中継装置６０に管理手段を実装した場合の中継装置６０の機能構成を示す図である。図７に示す中継装置６０は、複数のコントローラ１００（コントローラａ，コントローラｂ…）と、複数のＨＭＩ２００（ＨＭＩ−１，ＨＭＩ−２，ＨＭＩ−３…）と接続可能である。複数のコントローラ１００および複数のＨＭＩ２００の各々を特に区別する必要のない場合、単にコントローラ１００、ＨＭＩ２００と称する。
【０１０７】
図７を参照して、中継装置６０は、管理手段１０ａと、送受信管理手段６８０とを備える。管理手段１０ａは、管理手段１０の一例であって、データセットリスト管理手段６１２と、購読リスト管理手段６１４と、有効／無効情報管理手段６１６と、有効／無効通知手段６１７と、トピックリスト管理手段６１８とを備える。
【０１０８】
データセットリスト管理手段６１２は、各データセット５０に格納されるプロセスデータ５２の種類を特定可能なデータセットリスト１４を管理する。データセットリスト管理手段６１２は、コントローラ１００毎にデータセットリスト１４を管理する。
【０１０９】
購読リスト管理手段６１４は、各ＨＭＩ２００において購読対象としているプロセスデータ５２を特定可能な購読リスト１６を管理する。具体的には、購読リスト管理手段６１４は、各ＨＭＩ２００からのサブスクリプション開始要求、およびサブスクプション停止要求を受けて購読リスト１６を更新する。
【０１１０】
有効／無効情報管理手段６１６は、有効／無効情報１２を管理する。有効／無効情報管理手段６１６は、データセットリスト１４および購読リスト１６に基づいて、有効／無効情報１２を管理する。有効／無効情報管理手段６１６は、購読リスト管理手段６１４が購読リスト１６を更新したことを受けて、有効／無効情報１２を更新するか否かを判断する。
【０１１１】
有効／無効情報管理手段６１６は、新たなサブスクリプション開始要求を受けて、購読対象のプロセスデータ５２の種類が増えるか、あるいは、プロセスデータ５２を購読するＨＭＩ２００が増えるかした場合に、送信が有効になっているデータセット５０により、新たに受けたサブスクリプション開始要求に応えられるか否かを判定する。
【０１１２】
有効／無効情報管理手段６１６は、サブスクリプション停止要求を受けて、購読対象のプロセスデータ５２の種類が減るか、あるいは、プロセスデータ５２を購読するＨＭＩ２００が減るかした場合に、送信が有効になっているデータセット５０のうち、不要なデータセット５０があるか否かを判定する。
【０１１３】
サブスクリプション開始要求に応えられない、または、不要なデータセット５０がある場合に、有効／無効情報管理手段６１６は、有効／無効情報１２を更新すると決定する。
【０１１４】
有効／無効情報管理手段６１６は、有効／無効情報１２を更新すると決定した場合、サブスクリプション開始要求に応えられるように新たにデータセット５０の送信を有効にし、不要なデータセット５０の送信を無効にする。
【０１１５】
なお、有効／無効情報管理手段６１６は、通信負荷に関する評価基準に従って、送信を有効にするデータセット５０、および、送信を無効にするデータセット５０を決定してもよい。たとえば、有効／無効情報管理手段６１６は、送信の効率と、送信の有効／無効に関する設定の変更度合いとのバランスを鑑みて、有効／無効情報１２を更新してもよい。
【０１１６】
有効／無効通知手段６１７は、有効／無効情報１２が更新されたことを受けて、各コントローラ１００に対して、パブリッシュの開始要求と、パブリッシュの停止要求とを行う。
【０１１７】
トピックリスト管理手段６１８は、各データセット５０を送信するＨＭＩ２００を特定可能なトピックリスト６８２を管理する。トピックリスト管理手段６１８は、有効／無効情報管理手段６１６の判断結果を受けて、トピックリスト６８２を更新する。具体的には、有効／無効情報管理手段６１６は、購読リスト１６を参照して、各ＨＭＩ２００の購読要求を満たすか否かを判断するとともに、満たさない場合に有効／無効情報１２を更新する。言い換えると、有効／無効情報管理手段６１６は、各ＨＭＩ２００の購読要求を満たすために、各ＨＭＩ２００に送信するべきデータセット５０を決定している。
【０１１８】
トピックリスト管理手段６１８は、有効／無効情報管理手段６１６が決定したＨＭＩ２００に送信するべきデータセット５０の種類を、ＨＭＩ２００毎にトピックリスト６８２として管理する。
【０１１９】
送受信管理手段６８０は、トピックリスト６８２を参照して、コントローラ１００から配信された各データセット５０を、当該データセット５０に含まれるプロセスデータ５２を購読対象とするＨＭＩ２００に送信する。この場合、各コントローラ１００は、有効／無効情報１２に従ってデータセット５０を配信している。
【０１２０】
図７に示す例では、コントローラａから送信可能なデータセット１ａ，２ａの送信が有効に、コントローラｂから送信可能なデータセット２ｂの送信が有効に設定されている。ＨＭＩ−１は、データセット１ａ，２ａを購読対象としている。ＨＭＩ−２は、データセット２ａ，２ｂを購読対象としている。ＨＭＩ−３は、データセット２ｂを購読対象としている。
【０１２１】
送受信管理手段６８０は、コントローラａから送信されたデータセット１ａをＨＭＩ−１に、コントローラａから送信されたデータセット２ａをＨＭＩ−１およびＨＭＩ−２に、コントローラｂから送信されたデータセット２ｂをＨＭＩ−２およびＨＭＩ−３に、各々送信する。
【０１２２】
また、送受信管理手段６８０は、ＨＭＩ２００との通信を監視し、ＨＭＩ２００との通信が所定期間以上途切れた場合に、購読リスト管理手段６１４に向けて、タイムアウトの通知を行う。購読リスト管理手段６１４は、タイムアウトの通知を受けて、タイムアウトしたＨＭＩ２００から購読要求を受けていないものとして、当該ＨＭＩ２００の購読リスト１６を更新する。この更新に従って、有効／無効情報１２およびトピックリスト６８２が更新される。
【０１２３】
図８は、ＨＭＩ２００のハードウェア構成の一例を示す模式図である。ＨＭＩ２００は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いて実現される。ＨＭＩ２００は、据え置き型でもよいし、コントローラ１００が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。図８を参照して、ＨＭＩ２００は、プロセッサ２１０と、タッチパネル２４０と、揮発性メモリ２５０と、不揮発性メモリ２７０と、通信ＩＦ２９２と、ＵＳＢ（Universal Serial Bus）コントローラ２９４とを備える。これらのコンポーネントは、プロセッサバス２９６を介して接続されている。
【０１２４】
プロセッサ２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などで構成され、不揮発性メモリ２７０に格納されたプログラムを読み出して、揮発性メモリ２５０に展開して実行することで、制御プログラム１２０の実行によって得られる各種情報をタッチパネル２４０に出力する。
【０１２５】
揮発性メモリ２５０は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などで構成される。不揮発性メモリ２７０は、たとえば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などで構成される。
【０１２６】
不揮発性メモリ２７０は、基本的な機能を実現するためのＯＳ（図示省略）に加えて、ＯＰＣ  ＵＡプログラム２６０と、購読管理情報９４と、リンク情報９８と、１または複数のアプリケーション２２０と、マッピング情報２２２とを格納する。
【０１２７】
ＯＰＣ  ＵＡプログラム２６０は、ＨＭＩ２００をサブスクライバーとして機能させるためのプログラムであって、コントローラ１００とＨＭＩ２００との間で、ＯＰＣ  ＵＡに従った通信を行うためのプログラムである。プロセッサ２１０がＯＰＣ  ＵＡプログラム２６０を実行することで、図３に示した通信処理部９０に係る機能が提供される。ＯＰＣ  ＵＡプログラム２６０は、たとえば、他の外部記憶媒体（たとえばメモリカード、ネットワーク上のサーバ装置）から、不揮発性メモリ２７０にインストールされる。
【０１２８】
なお、プロセッサ２１０がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。また、ＨＭＩ２００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【０１２９】
タッチパネル２４０は、ディスプレイである表示部２４２と、遊技者の操作を受け付ける入力部２４４とを備える。なお、表示部２４２と入力部２４４とが別体で構成されていてもよい。
【０１３０】
通信ＩＦ２９２は、情報系ネットワーク２に接続された他の装置（たとえば、中継装置６０）との間のデータの遣り取りを担当する。ＵＳＢコントローラ２９４は、ＵＳＢ接続を介して、任意の情報処理装置との間のデータの遣り取りを担当する。
【０１３１】
図９は、コントローラ１００のハードウェア構成の一例を示す模式図である。図９を参照して、コントローラ１００は、主たるコンポーネントとして、プロセッサ１１０と、チップセット１９６と、不揮発性メモリ１７０と、揮発性メモリ１５０と、制御系ネットワークＩＦ１９１と、情報系ネットワークＩＦ１９２と、ＵＳＢコントローラ１９３と、メモリカードＩＦ１９４と、内部バスコントローラ１９５とを含む。
【０１３２】
プロセッサ１１０は、ＣＰＵやＧＰＵなどで構成され、不揮発性メモリ１７０に格納された各種プログラムを読み出して、揮発性メモリ１５０に展開して実行することで、フィールドデバイス５００の制御および、パブリッシャーとしての機能を実現する。チップセット１９６は、プロセッサ１１０と各コンポーネントとの間のデータの遣り取りを仲介することで、コントローラ１００全体としての処理を実現する。
【０１３３】
不揮発性メモリ１７０には、システムプログラム１７２と、制御プログラム１２０と、ＯＰＣ  ＵＡプログラム１８０と、送信設定４００とが格納される。
【０１３４】
システムプログラム１７２は、コントローラ１００の基本的な機能を提供するプログラムである。制御プログラム１２０は、典型的には、ユーザがプログラム開発を支援する支援装置を操作して設計することで生成されるユーザプログラムである。制御プログラム１２０とシステムプログラム１７２とが協働してユーザにおける制御目的を実現することで、フィールドデバイス５００が制御される。プロセッサ１１０が、システムプログラム１７２を実行することで、制御手段１０２の機能が提供され、制御プログラム１２０の実行と、制御プログラム１２０の実行に伴うプロセスデータ５２の更新を行う。
【０１３５】
ＯＰＣ  ＵＡプログラム１８０は、コントローラ１００をパブリッシャーとして機能させるためのプログラムであって、コントローラ１００とＨＭＩ２００との間で、ＯＰＣ  ＵＡに従った通信を行うためのプログラムである。プロセッサ１１０が、ＯＰＣ  ＵＡプログラム１８０を実行することで、図４に示した通信処理部８０に係る機能が提供される。ＯＰＣ  ＵＡプログラム１８０は、たとえば、システムプログラムの一種として予めコントローラ１００にインストールされていてもよく、また、他の外部記憶媒体（たとえばメモリカード１９４Ａ、ネットワーク上のサーバ装置）から、不揮発性メモリ１７０にインストールされてもよい。
【０１３６】
なお、プロセッサ１１０がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。また、コントローラ１００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【０１３７】
制御系ネットワークＩＦ１９１は、フィールドデバイス５００との間のデータの遣り取りを担当する。
【０１３８】
情報系ネットワークＩＦ１９２は、情報系ネットワーク２に接続された他の装置（たとえば、中継装置６０）との間のデータの遣り取りを担当する。
【０１３９】
ＵＳＢコントローラ１９３は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【０１４０】
メモリカードＩＦ１９４は、メモリカード１９４Ａを着脱可能に構成されており、メモリカード１９４Ａに対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード１９４Ａから制御プログラムや各種設定などのデータを読出すことが可能になっている。
【０１４１】
内部バスコントローラ１９５は、コントローラ１００に搭載される図示しないＩ／Ｏユニットなどとの間でデータを遣り取りするインターフェイスである。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【０１４２】
図１０は、中継装置６０のハードウェア構成の一例を示す模式図である。図１０を参照して、中継装置６０は、任意の情報処理装置であり、プロセッサ６１と、揮発性メモリ６４と、不揮発性メモリ６５と、通信ＩＦ６７とを含む。これらのコンポーネントは、プロセッサバス６８を介して接続されている。
【０１４３】
プロセッサ６１は、ＣＰＵやＧＰＵなどで構成され、不揮発性メモリ６５に格納されたプログラムを読出して、揮発性メモリ６４に展開して実行することで、コントローラ１００とＨＭＩ２００との間の通信を中継するとともに、送信設定４００を決定するための機能を提供する。
【０１４４】
揮発性メモリ６４は、ＤＲＡＭやＳＲＡＭなどで構成される。不揮発性メモリ６５は、たとえば、ＨＤＤやＳＳＤなどで構成される。
【０１４５】
不揮発性メモリ６５は、基本的な機能を実現するためのＯＳに加えて、中継プログラム１３１０、有効／無効情報１２、データセットリスト１４、購読リスト１６、およびトピックリスト６８２を格納する。
【０１４６】
中継プログラム１３１０は、コントローラ１００とＨＭＩ２００との間の通信を中継するとともに、送信設定４００を決定するためのプログラムであって、プロセッサ６１により実行されることで、図７に示した各種手段の機能を提供する。中継プログラム１３１０は、データセット５０の送信の有効を決定する管理手段１０ａを実現するための管理プログラム１３１２と、コントローラ１００から送られたデータセット５０を各ＨＭＩ２００に送信する送受信管理手段６８０を実現するための通信プログラム１３１４とを含む。
【０１４７】
なお、プロセッサ６１がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。また、中継装置６０が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【０１４８】
不揮発性メモリ６５に格納された各種プログラムは、コンピュータ読取可能な記録媒体を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。
【０１４９】
通信ＩＦ６７は、情報系ネットワーク２に接続された各装置（コントローラ１００、ＨＭＩ２００）との間のデータの遣り取りを担当する。
【０１５０】
（ｄ２．ＨＭＩ）
図１１は、管理手段１０を実装したＨＭＩ２００ｂのハードウェア構成の一例を示す模式図である。ＨＭＩ２００ｂは、ＨＭＩ２００と比較して、管理プログラム１３２０および有効／無効情報１２ｂを備える点で異なる。
【０１５１】
プロセッサ２１０が管理プログラム１３２０を実行することで管理手段に係る機能が実現される。プロセッサ２１０は、ＯＰＣ  ＵＡプログラム２６０プログラムを実行することで、購読対象のプロセスデータ５２を特定する。
【０１５２】
プロセッサ２１０は、管理プログラム１３２０を実行し、各データセット５０に格納されたプロセスデータ５２を特定するためのリンク情報９８を参照することで、購読対象のプロセスデータ５２を得るために必要なデータセット５０を特定し、有効／無効情報１２ｂを更新する。
【０１５３】
プロセッサ２１０は、管理プログラム１３２０を実行することで、更新した有効／無効情報１２ｂをコントローラ１００に向けて通知する。なお、ＨＭＩ２００は、有効／無効情報１２ｂをマルチキャストで送信してもよく、また、有効または無効の変更がされたデータセット５０を送信するコントローラ１００にだけ送信をしてもよい。
【０１５４】
さらに、ＨＭＩ２００ｂを複数備える制御システムに含まれるコントローラは、各ＨＭＩ２００ｂからの有効／無効情報を調停する機能を備えてもよい。たとえば、コントローラは、一のデータセットに対して、一のＨＭＩからは送信の無効を指示され、他のＨＭＩからは送信の有効を指示された場合に、有効の支持を優先するように、各ＨＭＩからの支持を調停してもよい。
（ｄ３．コントローラ）
図１２は、管理手段１０を実装したコントローラ１００ｃのハードウェア構成の一例を示す模式図である。コントローラ１００ｃは、コントローラ１００と比較して、管理プログラム１３３０を備える点で異なる。
【０１５５】
プロセッサ１１０が管理プログラム１３３０を実行することで管理手段に係る機能が実現される。プロセッサ１１０は、ＨＭＩ２００からのサブスクリプション開始要求、またはサブスクリプション停止要求を受けて、管理プログラム１３３０を実行する。
【０１５６】
プロセッサ２１０は、管理プログラム１３２０を実行し、送信設定４００を参照して、サブスクリプション開始要求、またはサブスクリプション停止要求を満たすように、各データセット５０の送信の有効、無効を決定する。
【０１５７】
プロセッサ２１０は、管理プログラム１３２０の実行に伴い決定した送信対象のデータセット５０を、ＯＰＣ  ＵＡプログラム１８０を実行することで送信する。
【０１５８】
ここで、コントローラ１００ｃは、ＨＭＩ２００が実行するアプリケーション２２０が切り替わったり、新たなＨＭＩ２００が接続されたり、または、ＨＭＩ２００の接続が切れたりする度に管理プログラム１３２０を実行することとなる。
【０１５９】
そのため、ネットワークへのＨＭＩ２００の加入、離脱が頻繁に起こるシステムや、ＨＭＩ２００のページ切り替えが頻繁に起こる現場などでは、管理プログラム１３２０が頻繁に実行されることとなり、プロセッサ１１０に大きな負荷をかける虞がある。
【０１６０】
そこで、管理プログラム１３３０の機能は、任意に制限可能である。たとえば、ＵＳＢコントローラ１９３を介して接続されるサポート装置を操作することで、管理プログラム１３３０の機能を停止させてもよい。
【０１６１】
＜Ｅ．送信設定の決定＞
送信設定４００の決定方法について、図１３を参照して説明する。送信設定４００を決定するための機能は、たとえば、サポート装置３００によって提供される。図１３は、サポート装置３００の機能構成の一例を示す図である。サポート装置３００は、決定手段の具現化例であって、アプリケーション実行手段により実行される１または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、複数のデータセットを決定する。
【０１６２】
サポート装置３００は、たとえば、コントローラ１００とＨＭＩ２００との接続を開始するタイミングに利用される。サポート装置３００は、ＨＭＩ２００が実行するアプリケーション２２０の開発環境、およびコントローラ１００で実行される制御プログラム１２０の開発環境を提供するとともに、コントローラ１００とＨＭＩ２００との間の通信環境を設定するための環境を提供する。このような開発環境および設定環境は、サポート装置３００に、サポートプログラムがインストールされることで提供される。サポートプログラムは、たとえば、オムロン社製の「Ｓｙｓｍａｃ  Ｓｔｕｄｉｏ」である。
【０１６３】
なお、決定手段は、中継装置６０、または、コントローラ１００とＨＭＩ２００とから構成されたネットワークを監視する監視装置、またはコントローラ１００のデータセット生成手段８２に実装されてもよい。
【０１６４】
図１３を参照して、サポート装置３００は、取得手段３２０と、決定手段３４０とを備える。取得手段３２０は、各ＨＭＩ２００で実行される１または複数のアプリケーション２２０ごとに必要なプロセスデータ５２を取得する。
【０１６５】
決定手段３４０は、取得手段３２０が取得した１または複数のアプリケーション２２０ごとに必要なプロセスデータ５２を示す情報に基づいて、各アプリケーション２２０で利用されるプロセスデータ５２の各々が、コントローラ１００からＨＭＩ２００に向けて送信されるように、通信処理部８０が送信するデータセット５０の数、および、各データセット５０に含ませるべきプロセスデータ５２を決定する。
【０１６６】
取得手段３２０が取得した１または複数のアプリケーション２２０ごとに必要なプロセスデータ５２の各々が、互いに異なるコントローラによって管理される場合、決定手段３４０は、各プロセスデータを管理するコントローラを特定可能なプロセスデータリスト３３０を参照して、プロセスデータ５２を管理するコントローラごとにグループ化してもよい。決定手段３４０は、グループ化したプロセスデータごとに通信処理部８０が送信するデータセット５０の数、および、各データセット５０に含ませるべきプロセスデータ５２を決定する。
【０１６７】
さらに、決定手段３４０は、管理負荷指標３５３に従って、各データセット５０に含ませるべきプロセスデータ５２を決定する。管理負荷指標３５３は、管理手段１０にかかる負荷を評価する指標である。より具体的には、決定手段３４０は、制御システムが管理手段１０を備えていることを踏まえて、当該管理手段１０がデータセット５０の有効／無効を管理しやすいように、各データセット５０に含ませるべきプロセスデータ５２を決定する。
【０１６８】
さらに、決定手段３４０は、各データセット５０に含ませるべきプロセスデータ５２を決定したタイミングでリンク情報９８を生成する。決定手段３４０は、リンク情報９８をＨＭＩ２００に、送信設定４００をコントローラ１００に送る。より具体的には、サポート装置３００は、ＵＳＢコントローラを備え、ＵＳＢ接続によりコントローラ１００またはＨＭＩ２００と通信可能に接続され、ＵＳＢケーブルを介して決定手段３４０は、コントローラ１００およびＨＭＩ２００の各々に情報を送る。
【０１６９】
＜Ｆ．サブスクリプションの購読要求の変形例＞
上記実施の形態において、ＨＭＩ２００は、サブスクリプションの購読要求において、購読を停止または開始するプロセスデータ５２を通知するものとした。図１４は、サブスクリプションの購読要求の変形例を示す図である。
【０１７０】
ＨＭＩ２００ｄは、アプリケーションの実行の開始または停止に伴い、必要なデータセット５０と不要なデータセット５０とを特定してもよい。通信処理部９０ｄは、特定したデータセット５０をサブスクリプションの購読要求とともに管理手段１０ｄに通知してもよい。
【０１７１】
すなわち、ＨＭＩ２００ｄは、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセット５０を管理手段１０に通知する。そのため、管理手段１０ｄは、ＨＭＩ２００ｄからの明示的な要求に応じて、送信すべきデータセットを決定できる。
【０１７２】
ユーザ操作に応じてアプリケーション２２０が変更した場合に、通信処理部９０ｄがアプリケーションに必要なデータセット５０を特定する方法は、たとえば、ＨＭＩ２００ｄは、アプリケーションと、当該アプリケーションに必要なデータセット５０とを対応付けたアプリケーション情報９３を備え、アプリケーション情報９３に基づいて決定してもよい。また、通信処理部９０ｄは、各データセット５０に格納されるプロセスデータ５２を示すリンク情報９８と、購読管理情報９４とに基づいて決定してもよい。
【０１７３】
さらに、アプリケーション情報９３は、たとえば、送信設定４００が生成される、上記図１３に示したタイミングで生成される。
【０１７４】
＜Ｇ．その他の変形例＞
上記実施の形態においては、ＨＭＩがサブスクライバー、コントローラがパブリッシャーであるとして説明した。ＨＭＩおよびコントローラの各々がサブスクライバーとパブリッシャーとの機能両方を備えていてもよい。
【０１７５】
この場合、制御プログラムは、ＨＭＩから配信されるデータを利用可能に構成される。ＨＭＩからのデータセットの送信の有効、無効は、コントローラにおいて実行されている制御プログラム、または、コントローラの状態に応じて決定してもよい。ＨＭＩからのデータセットの送信の有効、無効を決定する方法は、上記で説明した、コントローラ１００からのデータセット５０の有効、無効を決定する方法を利用できる。
【０１７６】
また、上記実施の形態において、説明を簡略化するために、アプリケーションで利用されるプロセスデータ５２は、すべて一のコントローラ１００が送信するものとしたが、アプリケーション２２０で利用される複数のプロセスデータ５２が各々、別のコントローラ１００から送信されるものであってもよい。
【０１７７】
この場合、管理手段１０は、サブスクリプション要求に含まれたプロセスデータまたはデータセットを、当該プロセスデータまたはデータセットを送信するコントローラごとにグループ化し、グループごとにグループに含まれる各プロセスデータまたは各データセットの送信の有効または無効を決定してもよい。
【０１７８】
＜Ｈ．付記＞
以上のように、上記の実施の形態は以下のような開示を含む。
【０１７９】
（構成１）
制御対象を制御するための制御プログラム（１２０）を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ（５２）を管理する制御手段（１０２）と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット（５０）を送信可能な送信手段（８０）とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段（２００）と、
前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する管理手段（１０）とを備える、制御システム。
【０１８０】
（構成２）
前記管理手段は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信しているデータセットのうち不要なデータセットが発生すると、前記送信手段に当該不要なデータセットの送信の停止を指示する（Ｓ１２６）、構成１に記載の制御システム。
【０１８１】
（構成３）
前記アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを前記管理手段に通知する（Ｓ１２２、９０ｄ）、構成１または２に記載の制御システム。
【０１８２】
（構成４）
前記管理手段は、前記アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を前記送信手段に指示する（Ｓ１３６，Ｓ１３８，Ｓ１４０）、構成１〜３のいずれか１項に記載の制御システム。
【０１８３】
（構成５）
前記制御システム（１）は、制御装置（１００）および表示装置（２００）を備え、
前記制御手段および前記送信手段は前記制御装置に実装され、
前記アプリケーション実行手段は前記表示装置に実装され、
前記管理手段は、前記制御装置および前記表示装置とは独立して実装される、構成１〜４のいずれか１項に記載の制御システム。
【０１８４】
（構成６）
前記制御システム（１）は、制御装置（１００）および表示装置（２００）を備え、
前記制御手段、前記送信手段および前記管理手段は前記制御装置に実装され、
前記アプリケーション実行手段は前記制御装置に実装される、構成１〜４のいずれか１項に記載の制御システム。
【０１８５】
（構成７）
前記アプリケーション実行手段により実行される１または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、前記複数のデータセットを決定する決定手段（３４０）をさらに備える、構成１〜６のいずれか１項に記載の制御システム。
【０１８６】
（構成８）
制御システムに配置された中継装置（６０）であって、
前記制御システムは、
制御対象を制御するための制御プログラム（１２０）を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ（５２）を管理する制御手段（１０２）と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット（５０）を送信可能な送信手段（８０）とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段（２００）を備え、
前記中継装置は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する、中継装置。
【０１８７】
（構成９）
制御システムに配置された情報処理装置（６０）で実行される中継プログラム（１３１０）であって、
前記制御システムは、
制御対象を制御するための制御プログラム（１２０）を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ（５２）を管理する制御手段（１０２）と、
前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット（５０）を送信可能な送信手段（８０）とを備え、前記複数のデータセットの各々は予め定められた１または複数のプロセスデータの値を含み、
前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して１または複数のアプリケーションを実行するアプリケーション実行手段（２００）を備え、
前記中継プログラムは、前記情報処理装置に、
前記送信手段が送信可能な前記複数のデータセットの情報を管理するステップ（Ｓ１１０，Ｓ１３０）と、
前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定するステップ（Ｓ１１２，Ｓ１２６，Ｓ１３２，Ｓ１４０）とを実行させる、中継プログラム。
【０１８８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
【符号の説明】
【０１８９】
１，１ａ  制御システム、２  情報系ネットワーク、４  制御系ネットワーク、１０，１０ａ，１０ｄ  管理手段、１２，１２ｂ  有効／無効情報、１４  データセットリスト、１６  購読リスト、２０  設定装置、５０  データセット、５２  プロセスデータ、５４  オブジェクト、６０  中継装置、６１６  有効／無効情報管理手段、６１，１１０，２１０  プロセッサ、６４，１５０，２５０  揮発性メモリ、６５，１７０，２７０  不揮発性メモリ、６７，２９２  通信ＩＦ、６８，２９６  プロセッサバス、８０，９０，９０ｄ  通信処理部、８２  データセット生成手段、８４，９６  通信ドライバ、９２  購読管理手段、９４  購読管理情報、９８  リンク情報、１００，１００ｃ  コントローラ、１０２  制御手段、１２０  制御プログラム、１７２  システムプログラム、１８０，２６０  ＯＰＣ  ＵＡプログラム、１９１  制御系ネットワークＩＦ、１９２  情報系ネットワークＩＦ、１９３，２９４  ＵＳＢコントローラ、１９４  メモリカードＩＦ、１９４Ａ  メモリカード、１９５  内部バスコントローラ、１９６  チップセット、２２０  アプリケーション、２２２  マッピング情報、２４０  タッチパネル、２４２  表示部、２４４  入力部、３００  サポート装置、３２０  取得手段、３４０  決定手段、４００  送信設定、５００  フィールドデバイス、６１２  データセットリスト管理手段、６１４  購読リスト管理手段、６１７  有効／無効通知手段、６１８  トピックリスト管理手段、６８０  送受信管理手段、６８２  トピックリスト、１３１０  中継プログラム、１３１２，１３２０，１３３０  管理プログラム、１３１４  通信プログラム。
【図１】
2020149631.tif 000003
【図２】
2020149631.tif 000004
【図３】
2020149631.tif 000005
【図４】
2020149631.tif 000006
【図５】
2020149631.tif 000007
【図６】
2020149631.tif 000008
【図７】
2020149631.tif 000009
【図８】
2020149631.tif 000010
【図９】
2020149631.tif 000011
【図１０】
2020149631.tif 000012
【図１１】
2020149631.tif 000013
【図１２】
2020149631.tif 000014
【図１３】
2020149631.tif 000015
【図１４】
2020149631.tif 000016