(57)【要約】【課題】ネットワークに多数のデバイスが接続されている場合であっても、必要なコネクション設定を容易に設定できる手段を提供する。【解決手段】サポート装置は、制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付ける設定受付手段と、設定受付手段により受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信する送信手段とを含む。設定受付手段は、制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付ける手段と、選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てする手段とを含む。【選択図】図１
2019179475.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のリモートデバイスとネットワーク接続される制御装置に向けられたサポート装置であって、
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付ける設定受付手段と、
前記設定受付手段により受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信する送信手段とを備え、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記設定受付手段は、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付ける手段と、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てする手段とを含む、サポート装置。
【請求項２】
前記設定受付手段は、前記仮割当てされた入出力データに対するユーザからの変更操作を受付ける手段をさらに含む、請求項１に記載のサポート装置。
【請求項３】
前記仮割当てされた入出力データの設定は、遣り取りされるデータサイズの設定を含む、請求項１または２に記載のサポート装置。
【請求項４】
前記仮割当てされた入出力データの設定は、遣り取りされるデータの種別の設定を含む、請求項１〜３のいずれか１項に記載のサポート装置。
【請求項５】
前記データの種別は、対象のリモートデバイスから前記制御装置へ送信される入力データ、および、前記制御装置から対象のリモートデバイスへ送信される出力データのいずれであるかを示す、請求項４に記載のサポート装置。
【請求項６】
前記設定受付手段は、前記選択されたリモートデバイスと、当該選択されたリモートデバイスに仮割当てされた入出力データの内容とを関連付けて視覚化する手段をさらに含む、請求項１に記載のサポート装置。
【請求項７】
１または複数のリモートデバイスとネットワーク接続される制御装置との間で通信可能なコンピュータで実行されるサポートプログラムであって、前記サポートプログラムは、前記コンピュータに
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップと、
前記受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップとを実行させ、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記コネクション設定を受付けるステップは、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む、サポートプログラム。
【請求項８】
制御装置と制御装置にネットワーク接続される１または複数のリモートデバイスとを含む制御システムに対する設定方法であって、
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップと、
前記受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップとを備え、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記コネクション設定を受付けるステップは、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む、設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サポート装置、サポートプログラム、設定方法に関する。
【背景技術】
【０００２】
従来から、ＦＡ（ファクトリオートメーション）の分野では、制御装置とセンサやアクチュエータなどの各種デバイスとをネットワーク接続したシステムが用いられている。ＩＣＴ（Information and Communication Technology）の進展に伴って、より高度な通信技術の応用が進んでいる。
【０００３】
例えば、米国に本部を置くＯＤＶＡ，Ｉｎｃ．が管理提供するＣＩＰ（Common Industrial Protocol）と称されるネットワーク技術を利用して、制御装置の間、および、制御装置と任意のデバイスとの間の通信を実現できる（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ODVA, "The Common Industrial Protocol", ［online］, ［平成３０年３月１５日検索］, インターネット〈URL：https://www.odva.org/Technology-Standards/Common-Industrial-Protocol-CIP/Overview>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したような高度な通信技術を用いた通信を実現するために、通信対象の制御装置および／またはデバイスに対して、それぞれ適切な設定がなされなければならない。一方で、ネットワークには、多数のデバイスが接続されることもあり、設定操作が煩雑かつ手間であるという課題がある。
【０００６】
本発明は、上述したような課題を解決することを一つの目的とし、ネットワークに多数のデバイスが接続されている場合であっても、必要なコネクション設定を容易に設定できる手段を提供する。
【課題を解決するための手段】
【０００７】
本開示の一例に従えば、１または複数のリモートデバイスとネットワーク接続される制御装置に向けられたサポート装置が提供される。サポート装置は、制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付ける設定受付手段と、設定受付手段により受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信する送信手段とを含む。コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含む。設定受付手段は、制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付ける手段と、選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てする手段とを含む。
【０００８】
この開示によれば、ユーザは、制御装置とコネクションを設定したい任意のリモートデバイスを選択すると、当該選択されたリモートデバイスに応じた入出力データが自動的に仮割当てされる。このような入出力データの仮割当てがなされることにより、専門知識の乏しいユーザであっても、容易にコネクション設定を行うことができる。
【０００９】
上述の開示において、設定受付手段は、仮割当てされた入出力データに対するユーザからの変更操作を受付ける手段をさらに含むようにしてもよい。この開示によれば、仮割当てされた入出力データの設定に対して、要望などに応じた任意の設定が可能である。
【００１０】
上述の開示において、仮割当てされた入出力データの設定は、遣り取りされるデータサイズの設定を含むようにしてもよい。この開示によれば、遣り取りされる入出力データのデータサイズについても自在に設定が可能となる。
【００１１】
上述の開示において、仮割当てされた入出力データの設定は、遣り取りされるデータの種別の設定を含むようにしてもよい。この開示によれば、遣り取りされる入出力データのデータ種別についても自在に設定が可能となる。
【００１２】
上述の開示において、データの種別は、対象のリモートデバイスから制御装置へ送信される入力データ、および、制御装置から対象のリモートデバイスへ送信される出力データのいずれであるかを示すようにしてもよい。この開示によれば、コネクション設定に必要なデータ種別の指定を実現できる。
【００１３】
上述の開示において、設定受付手段は、選択されたリモートデバイスと、当該選択されたリモートデバイスに仮割当てされた入出力データの内容とを関連付けて視覚化する手段をさらに含むようにしてもよい。この開示によれば、ユーザは、現在の設定内容を一見して把握できる。
【００１４】
本開示の別の一例に従えば、１または複数のリモートデバイスとネットワーク接続される制御装置との間で通信可能なコンピュータで実行されるサポートプログラムが提供される。サポートプログラムは、コンピュータに、制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップと、受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップとを実行させる。コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含む。コネクション設定を受付けるステップは、制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む。
【００１５】
本開示のさらに別の一例に従えば、制御装置と制御装置にネットワーク接続される１または複数のリモートデバイスとを含む制御システムに対する設定方法が提供される。設定方法は、制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップと、受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップとを含む。コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含む。コネクション設定を受付けるステップは、制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む。
【発明の効果】
【００１６】
本発明によれば、ネットワークに多数のデバイスが接続されている場合であっても、必要なコネクション設定を容易に設定できる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係るセーフティ制御システムの機能的な構成例を示す模式図である。
【図２】本実施の形態に係るセーフティ制御システムの構成例を示す模式図である。
【図３】本実施の形態に係る制御装置を構成する標準制御ユニットのハードウェア構成例を示す模式図である。
【図４】本実施の形態に係る制御装置を構成するセーフティ制御ユニットのハードウェア構成例を示す模式図である。
【図５】本実施の形態に係る制御装置を構成するローカルＩＯユニットのハードウェア構成例を示す模式図である。
【図６】本実施の形態に係る制御装置を構成するリモートデバイスのハードウェア構成例を示す模式図である。
【図７】本実施の形態に係る制御装置に接続されるサポート装置のハードウェア構成例を示す模式図である。
【図８】本実施の形態に係るセーフティ制御システムにおける通信方式を説明するための模式図である。
【図９】本実施の形態に係るセーフティ制御システムのリモートデバイスにおけるＩＯアセンブリの例を示す模式図である。
【図１０】本実施の形態に係るセーフティ制御システムの制御装置（セーフティ制御ユニット）におけるＩＯアセンブリの例を示す模式図である。
【図１１】本実施の形態に係るセーフティ制御システムにおける設定およびユーザプログラム作成の手順例を示すフローチャートである。
【図１２】図１１に示す、システム構成の指定（ステップＳ２）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１３】図１１に示す、ＩＯアセンブリのデータサイズおよび種別の設定（ステップＳ４）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１４】図１１に示す、コネクションの設定（ステップＳ６）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１５】図１１に示す、コネクションの設定（ステップＳ６）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１６】図１１に示す、設定したコネクションに含まれるＩＯアセンブリと内部変数との対応付け（ステップＳ８）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１７】図１１に示す、設定したコネクションに含まれるＩＯアセンブリと内部変数との対応付け（ステップＳ８）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１８】図１１に示す、任意のユーザプログラムの作成（ステップＳ１２）に関するユーザインターフェイス画面の一例を示す模式図である。
【図１９】本実施の形態に係るセーフティ制御システムのサポート装置が参照するＩＯアセンブリ設定テーブルの一例を示す模式図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１９】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係るセーフティ制御システム１の機能的な構成例を示す模式図である。本実施の形態に係るセーフティ制御システム１は、例えば、ＩＥＣ  ６１５０８などに規定された機能安全を実現するためのアーキテクチャを提供する。
【００２０】
セーフティ制御システム１は、典型的には、機能安全に係るセーフティ制御を実現する制御装置２と、制御装置２とネットワーク接続された１または複数のリモートデバイス３００−１，３００−２，３００−３，・・・（以下、「リモートデバイス３００」とも総称する。）とを含む。
【００２１】
本明細書において、「デバイス」は、任意のローカルバスまたは任意のネットワークを介して、他の装置（典型的には、制御装置）に接続可能な装置を包含するものである。デバイスとしては、センサ単体と、アクチュエータ単体と、１または複数のセンサやアクチュエータをネットワークに接続するための中継装置と、ロボットコントローラ、温度コントローラ、流量コントローラなどの各種制御装置とのうち少なくとも一部を含む。
【００２２】
特に、任意の標準制御またはセーフティ制御を実行する制御装置から見て、任意のローカルバスを介して接続されるデバイスを「ローカルデバイス」または「ローカルユニット」と称し、任意のネットワークを介して接続されるデバイスを「リモートデバイス」と称する。
【００２３】
本明細書において、「標準制御」は、典型的には、予め定められた要求仕様に沿って、制御対象を制御するための処理を総称する。また、本明細書において、「セーフティ制御」は、何らかの不具合によって、何らかの設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。セーフティ制御は、例えば、制御対象自体の挙動が本来とは異なっている場合だけではなく、制御装置２自体に何らかの異常が発生したと判断される場合にも、制御対象を停止させるような処理を含む。
【００２４】
セーフティ制御システム１においては、制御装置２は、１または複数のリモートデバイス３００とネットワーク接続されている。セーフティ制御システム１は、さらに、制御装置２との間で通信可能なコンピュータであるサポート装置４００を含む。サポート装置４００は、制御装置２に向けられた装置であり、制御装置２および制御装置２とネットワーク接続される１または複数のリモートデバイス３００に対して各種設定が可能になっている。
【００２５】
セーフティ制御システム１においては、制御装置２が任意のリモートデバイス３００との間でデータ遣り取りするためには、制御装置２と対象のリモートデバイス３００との間にコネクションが確立されなければならない。図１には、一例として、制御装置２とリモートデバイス３００−１との間に、コネクション３０が確立されている状態を示す。
【００２６】
コネクション３０を確立するためには、制御装置２およびリモートデバイス３００−１に対して、コネクション設定４２が事前に与えられることになる。コネクション設定４２には、コネクションに関与する制御装置２およびリモートデバイス３００の指定に加えて、対象の制御装置２とリモートデバイス３００との間で遣り取りされる入出力データに関する設定（タグ名、データサイズ、データ種別）を含む。
【００２７】
コネクションの確立に必要なコネクション設定４２は、サポート装置４００により与えられる。
【００２８】
より具体的には、サポート装置４００は、制御装置２と各リモートデバイス３００との間に確立されるコネクションの設定であるコネクション設定を受付ける設定受付機能を有している。また、サポート装置４００は、記設定受付機能により受付けられたコネクション設定４２を当該コネクション設定４２に関与する制御装置２およびリモートデバイス３００に送信する送信機能を有している。
【００２９】
ここで、サポート装置４００の設定受付機能においては、制御装置２からコネクションを確立可能なリモートデバイス３００の一覧表示３６を含むユーザインターフェイス画面３４が提供される。サポート装置４００は、ユーザインターフェイス画面３４において一覧表示されたリモートデバイスに対する選択を受付ける。サポート装置４００は、選択されたリモートデバイス３８に対して予め定められた入出力データ４０を、当該選択されたリモートデバイス３８に仮割当てする。
【００３０】
上述したような設定受付機能および送信機能を採用することで、ユーザが制御装置２といずれかのリモートデバイス３００との間のコネクションを設定すれば、設定されたリモートデバイス３００に応じた入出力データが自動的に仮割当てされる。この結果、専門知識の乏しいユーザであっても、制御装置２と１または複数のリモートデバイス３００との間のコネクション設定を容易に行うことができる。
【００３１】
＜Ｂ．セーフティ制御システム１の構成例＞
セーフティ制御システム１の構成例について説明する。図２は、本実施の形態に係るセーフティ制御システム１の構成例を示す模式図である。
【００３２】
図２には、一例として、２つの制御装置２Ａ，２Ｂ（以下、「制御装置２」と総称することもある。）を含むセーフティ制御システム１を示す。
【００３３】
制御装置２は、図示しない制御対象を制御するための標準制御と、セーフティ制御とが可能になっている。
【００３４】
標準制御およびセーフティ制御の両方を同一のユニットで実現してもよいが、制御装置２は、主として制御対象に対する制御を担当する標準制御ユニット１００と、主としてセーフティ制御を担当するセーフティ制御ユニット２００とにより構成される。後述するように、標準制御ユニット１００においては、標準制御プログラムが実行されることで、標準制御が実現され、セーフティ制御ユニット２００においては、セーフティプログラムが実行されることで、セーフティ制御が実現される。制御装置２には、１または複数のローカルＩＯユニット２５０が装着されていてもよい。
【００３５】
ローカルＩＯユニット２５０は、セーフティコンポーネントからの信号の入力、および／または、セーフティコンポーネントへの信号の出力を司る。本明細書において、「セーフティコンポーネント」は、主として、セーフティ制御に用いられる任意の装置を包含するものであり、例えば、セーフティリレーや各種セーフティーセンサなどを含む。
【００３６】
標準制御ユニット１００とセーフティ制御ユニット２００およびローカルＩＯユニット２５０との間は、ローカルバス１２（図３，図４参照）を介して通信可能に接続されている。図２に示す制御装置２においては、標準制御ユニット１００に、他の制御装置２やデバイスと接続するための通信ポート１４，１６が配置されており、セーフティ制御ユニット２００は、ローカルバス１２を介して接続された標準制御ユニット１００を利用して、他の制御装置２やデバイスとの間でデータを遣り取りする。
【００３７】
標準制御ユニット１００は、フィールドネットワーク４と物理的に接続するための通信ポート１４と、上位ネットワーク６と物理的に接続するための通信ポート１６とを含む。一例として、フィールドネットワーク４には、１または複数のリモートデバイス３００−１，３００−２，３００−３，３００−４，３００−５，３００−６，・・・が接続されており、上位ネットワーク６には、１または複数のＨＭＩ（Human Machine Interface）５００およびサーバ装置６００が接続されている。また、制御装置２Ａと制御装置２Ｂとの間も上位ネットワーク６を介して接続されている。
【００３８】
ＨＭＩ５００は、制御装置２が保持する状態値などを表示するとともに、ユーザ操作を受付けて、その受付けたユーザ操作の内容を制御装置２へ出力する。
【００３９】
サーバ装置６００は、制御装置２からの情報を収集するデータベースや、制御装置２に対してレシピなどの各種設定を与える操業管理システムなどを含む。
【００４０】
図２には、リモートデバイス３００の一例として、セーフティＩＯデバイスを示す。セーフティＩＯデバイスは、１または複数のセーフティコンポーネント（例えば、非常停止ボタン、安全スイッチ、ライトカーテンなど）との間で遣り取りされる信号を、ネットワーク化するための一種の中継装置であり、セーフティコンポーネントから出力される検出信号などをネットワーク上に送出するとともに、ネットワークを介して伝送される指令を対象のセーフティコンポーネントへ出力する。なお、リモートデバイスとしては、図２に示すセーフティＩＯデバイスに限らず、任意の機能安全を実現するための装置を用いることができる。
【００４１】
フィールドネットワーク４および上位ネットワーク６のデータ伝送に係るプロトコルとしては、ＥｔｈｅｒＮｅｔ／ＩＰ、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ、ＣｏｎｔｒｏｌＮｅｔなどの産業用ネットワークプロトコルを利用してもよい。後述するように、標準制御ユニット１００および／またはセーフティ制御ユニット２００で実行されるユーザプログラム（アプリケーション）は、このようなデータ伝送に係るプロトコルを利用して、ＣＩＰ（Common Industrial Protocol）やＣＩＰ  Ｓａｆｅｔｙなどの通信プロトコルに従う、データの遣り取りを実現する。
【００４２】
すなわち、制御装置２は、ＥｔｈｅｒＮｅｔ／ＩＰ、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ、ＣｏｎｔｒｏｌＮｅｔなどの産業用ネットワークプロトコルと、ＣＩＰやＣＩＰ  Ｓａｆｅｔｙなどの通信プロトコル（アプリケーション層の機能）とを組み合わせたアーキテクチャを採用してもよい。
【００４３】
以下の説明においては、主として、セーフティ制御ユニット２００と１または複数のリモートデバイス３００との間では、ＥｔｈｅｒＮｅｔ／ＩＰ上でＣＩＰ  Ｓａｆｅｔｙを利用するアーキテクチャについて例示する。なお、ＣＩＰ  Ｓａｆｅｔｙは、ＣＩＰをベースとして、ＩＥＣ  ６１５０８などの機能安全規格に対応させた通信プロトコルである。
【００４４】
制御装置２には、通信ポート１８を介して、サポート装置４００が通信可能になっている。すなわち、サポート装置４００は、１または複数のリモートデバイス３００とネットワーク接続された制御装置２との間で通信可能に構成される。サポート装置４００は、制御装置２（標準制御ユニット１００および／またはセーフティ制御ユニット２００）で実行されるユーザプログラムの開発やデバックなどの機能をユーザに提供するとともに、フィールドネットワーク４を介して接続されるリモートデバイス３００に対するネットワーク設定などを行う機能をユーザに提供する。サポート装置４００により提供される設定機能については、後に詳述する。
【００４５】
＜Ｃ．ハードウェア構成例＞
次に、本実施の形態に係るセーフティ制御システム１を構成する主たる装置のハードウェア構成例について説明する。
【００４６】
（ｃ１：標準制御ユニット１００）
図３は、本実施の形態に係る制御装置２を構成する標準制御ユニット１００のハードウェア構成例を示す模式図である。図３を参照して、標準制御ユニット１００は、プロセッサ１０２と、メインメモリ１０４と、ストレージ１０６と、上位ネットワークコントローラ１０８と、フィールドネットワークコントローラ１１０，１１２と、ＵＳＢ（Universal Serial Bus）コントローラ１１４と、メモリカードインターフェイス１１６と、ローカルバスコントローラ１２０とを含む。これらのコンポーネントは、プロセッサバス１３０を介して接続されている。
【００４７】
プロセッサ１０２は、制御演算などを実行する演算処理部に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）などで構成される。具体的には、プロセッサ１０２は、ストレージ１０６に格納されたプログラム（一例として、システムプログラム１０６０および標準制御プログラム１０６２）を読出して、メインメモリ１０４に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。
【００４８】
メインメモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。ストレージ１０６は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの不揮発性記憶装置などで構成される。
【００４９】
ストレージ１０６には、基本的な機能を実現するためのシステムプログラム１０６０に加えて、設備や機械などの制御対象に応じて作成される標準制御プログラム１０６２が格納される。さらに、ストレージ１０６には、セーフティ制御ユニット２００による、上位ネットワークコントローラ１０８および／またはフィールドネットワークコントローラ１１０，１１２を利用したデータ伝送を中継するためのメモリマッピング情報１０６４が格納される。
【００５０】
上位ネットワークコントローラ１０８は、上位ネットワーク６を介して、他の制御装置２、ＨＭＩ５００、サーバ装置６００などの任意の報処理装置との間でデータを遣り取りする。
【００５１】
フィールドネットワークコントローラ１１０，１１２は、フィールドネットワーク４を介して、デバイスおよび／またはリモートデバイス３００との間でデータを遣り取りする。図３には、２つのフィールドネットワークコントローラ１１０，１１２を図示するが、単一のフィールドネットワークコントローラを採用してもよい。
【００５２】
ＵＳＢコントローラ１１４は、ＵＳＢ接続を介して、サポート装置４００などとの間でデータを遣り取りする。
【００５３】
メモリカードインターフェイス１１６は、着脱可能な記録媒体の一例であるメモリカード１１８を受付ける。メモリカードインターフェイス１１６は、メモリカード１１８に対してデータを書込み、メモリカード１１８から各種データ（ログやトレースデータなど）を読出すことが可能になっている。
【００５４】
ローカルバスコントローラ１２０は、ローカルバス１２を介して、セーフティ制御ユニット２００やローカルＩＯユニット２５０との間でデータを遣り取りする。より具体的には、ローカルバスコントローラ１２０は、マスタコントローラ１２２と、ＩＯデータメモリ１２４と、送信回路（ＴＸ）１２６と、受信回路（ＲＸ）１２８とを含む。
【００５５】
ＩＯデータメモリ１２４は、ローカルバス１２を介して各種ユニットと遣り取りするデータ（入力データおよび出力データ）を一時的に保持するメモリであり、各ユニットに対応付けてアドレスが予め規定されている。送信回路１２６は、出力データを含む通信フレームを生成してローカルバス１２上に送出する。受信回路１２８は、ローカルバス１２上を伝送する通信フレームを受信して入力データに復調する。マスタコントローラ１２２は、ローカルバス１２上のデータ伝送タイミングなどに従って、ＩＯデータメモリ１２４、送信回路１２６、および、受信回路１２８を制御する。マスタコントローラ１２２は、ローカルバス１２上のデータ伝送などを管理する通信マスタとしての制御を提供する。
【００５６】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、標準制御ユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。さらに、標準制御ユニット１００に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
【００５７】
（ｃ２：セーフティ制御ユニット２００）
図４は、本実施の形態に係る制御装置２を構成するセーフティ制御ユニット２００のハードウェア構成例を示す模式図である。図４を参照して、セーフティ制御ユニット２００は、プロセッサ２０２と、メインメモリ２０４と、ストレージ２０６と、ローカルバスコントローラ２２０とを含む。これらのコンポーネントは、プロセッサバス２３０を介して接続されている。
【００５８】
ローカルバスコントローラ２２０は、通信スレーブとして機能し、他のユニットと同様の通信インターフェイスを提供する。すなわち、ローカルバスコントローラ２２０は、ローカルバス１２を介して、標準制御ユニット１００および機能ユニットとの間でデータを遣り取りする。
【００５９】
ローカルバス１２上において、セーフティ制御ユニット２００およびローカルＩＯユニット２５０は、デイジーチェーン接続されている。すなわち、ローカルバスコントローラ２２０は、ローカルバス１２上で上流側に存在する装置から通信フレームを受信すると、当該通信フレームの全部または一部のデータを内部にコピーするとともに、下流側に存在する装置に転送する。同様に、ローカルバスコントローラ２２０は、ローカルバス１２上で下流側に存在する装置から通信フレームを受信すると、当該通信フレームの全部または一部のデータを内部にコピーするとともに、上流側に存在する装置に転送する。このような通信フレームの順次転送によって、標準制御ユニット１００と機能ユニットおよびセーフティ制御ユニット２００との間でデータ伝送が実現される。
【００６０】
より具体的には、ローカルバスコントローラ２２０は、スレーブコントローラ２２２と、バッファメモリ２２４と、送信回路（ＴＸ）２２５，２２６と、受信回路（ＲＸ）２２７，２２８とを含む。
【００６１】
バッファメモリ２２４は、ローカルバス１２を伝送する通信フレームを一時的に保持する。
【００６２】
受信回路２２７は、ローカルバス１２上を伝送する通信フレームを受信すると、その全部または一部をバッファメモリ２２４に格納する。送信回路２２６は、受信回路２２７により受信された通信フレームを下流側のローカルバス１２へ送出する。
【００６３】
同様に、受信回路２２８は、ローカルバス１２上を伝送する通信フレームを受信すると、その全部または一部をバッファメモリ２２４に格納する。送信回路２２５は、受信回路１２８により受信された通信フレームを下流側のローカルバス１２へ送出する。
【００６４】
スレーブコントローラ２２２は、ローカルバス１２上の通信フレームの順次転送を実現するために、送信回路２２５，２２６、受信回路２２７，２２８、および、バッファメモリ２２４を制御する。
【００６５】
プロセッサ２０２は、制御演算などを実行する演算処理部に相当し、ＣＰＵやＧＰＵなどで構成される。具体的には、プロセッサ２０２は、ストレージ２０６に格納されたプログラム（一例として、システムプログラム２０６０、コネクション管理プログラム２０６２、およびセーフティプログラム２０６６）を読出して、メインメモリ２０４に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。
【００６６】
メインメモリ２０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。ストレージ２０６は、例えば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。
【００６７】
ストレージ２０６には、基本的な機能を実現するためのシステムプログラム２０６０に加えて、リモートデバイス３００との間でデータを遣り取りするためのコネクションを確立および維持するためのコネクション管理プログラム２０６２と、リモートデバイス３００との間でデータを遣り取りするために必要な設定情報を含むオリジネータ設定情報２０６４と、対象のリモートデバイス３００に応じて作成されるセーフティプログラム２０６６とが格納される。
【００６８】
図４には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、セーフティ制御ユニット２００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。
【００６９】
（ｃ３：ローカルＩＯユニット２５０）
図５は、本実施の形態に係る制御装置２を構成するローカルＩＯユニット２５０のハードウェア構成例を示す模式図である。図５を参照して、ローカルＩＯユニット２５０は、プロセッサ２５２と、システムメモリ２５６と、ＩＯモジュール２５８と、ローカルバスコントローラ２７０とを含む。これらのコンポーネントは、プロセッサバス２８０を介して接続されている。
【００７０】
ローカルバスコントローラ２７０は、通信スレーブとして機能し、他のユニットと同様の通信インターフェイスを提供する。ローカルバスコントローラ２７０は、スレーブコントローラ２７２と、バッファメモリ２５４と、送信回路（ＴＸ）２５５，２５６と、受信回路（ＲＸ）２５７，２５８とを含む。ローカルバスコントローラ２７０の基本構成は、図４に示すローカルバスコントローラ２２０と同様であるので、詳細な説明は繰返さない。
【００７１】
プロセッサ２５２は、ローカルＩＯユニット２５０における各種処理を実行する演算処理部に相当する。システムメモリ２５６は、フラッシュメモリやＮＶＲＡＭ（non-volatile RAM）などで構成され、ローカルＩＯユニット２５０での処理に必要な各種設定やファームウェアを格納する。
【００７２】
ＩＯモジュール２５８は、ローカルＩＯユニット２５０の機能に応じて、フィールドからの信号に対して入力処理し、および／または、フィールドへの信号を出力処理する。ＩＯモジュール２５８は、例えば、フォトカプラ、マイクロリレー、ＡＤ（Analog to Digital）変換器、ＤＡ（Digital to Analog）変換器などにより構成される。さらに、ローカルＩＯユニット２５０が機能安全を提供するデバイスである場合には、断線検知やフィードバック検知などの機能も実装される。
【００７３】
図５には、プロセッサ２５２を用いて必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００７４】
（ｃ４：リモートデバイス３００）
図６は、本実施の形態に係る制御装置２を構成するリモートデバイス３００のハードウェア構成例を示す模式図である。図６を参照して、リモートデバイス３００は、プロセッサ３０２と、システムメモリ３０６と、ＩＯモジュール３０８と、フィールドネットワークコントローラ３２０とを含む。これらのコンポーネントは、プロセッサバス３３０を介して接続されている。
【００７５】
フィールドネットワークコントローラ３２０は、通信スレーブとして機能し、制御装置２との間で通信を行うための通信インターフェイスを提供する。フィールドネットワークコントローラ３２０の基本的な構成は、図３に示すフィールドネットワークコントローラ１１０，１１２と同様であるので、詳細な説明は繰返さない。
【００７６】
プロセッサ３０２は、リモートデバイス３００における各種処理を実行する演算処理部に相当する。システムメモリ３０６は、フラッシュメモリやＮＶＲＡＭなどで構成され、リモートデバイス３００での処理に必要な各種設定やファームウェアを格納する。
【００７７】
ＩＯモジュール３０８は、リモートデバイス３００の機能に応じて、フィールドからの信号に対して入力処理し、および／または、フィールドへの信号を出力処理する。ＩＯモジュール３０８の基本的な構成は、図５に示すＩＯモジュール２５８と同様であるので、詳細な説明は繰返さない。
【００７８】
図６には、プロセッサ３０２を用いて必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００７９】
（ｃ５：サポート装置４００）
図７は、本実施の形態に係る制御装置２に接続されるサポート装置４００のハードウェア構成例を示す模式図である。サポート装置４００は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いてプログラムを実行することで実現される。
【００８０】
図７を参照して、サポート装置４００は、プロセッサ４０２と、メインメモリ４０４と、ストレージ４０６と、入力部４０８と、表示部４１０と、光学ドライブ４１２と、ＵＳＢコントローラ４１６とを含む。これらのコンポーネントは、プロセッサバス４１８を介して接続されている。
【００８１】
プロセッサ４０２は、ＣＰＵなどで構成され、ストレージ４０６に格納されたプログラム（一例として、ＯＳ４０６０およびサポートプログラム４０６２）を読出して、メインメモリ４０４に展開して実行することで、後述するような各種処理を実現する。
【００８２】
メインメモリ４０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。ストレージ４０６は、例えば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。
【００８３】
ストレージ４０６には、基本的な機能を実現するためのＯＳ４０６０に加えて、サポート装置４００としての機能を提供するためのサポートプログラム４０６２が格納される。
【００８４】
入力部４０８は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部４１０は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ４０２からの処理結果などを出力する。
【００８５】
ＵＳＢコントローラ４１６は、ＵＳＢ接続を介して、制御装置２の標準制御ユニット１００などとの間のデータの遣り取りを制御する。
【００８６】
サポート装置４００は、光学ドライブ４１２を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体４１４（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ４０６などにインストールされる。
【００８７】
サポート装置４００で実行されるサポートプログラム４０６２などは、コンピュータ読取可能な記録媒体４１４を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置４００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００８８】
図７には、プロセッサ４０２がプログラムを実行することで、サポート装置４００として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００８９】
（ｃ６：その他）
ＨＭＩ５００としては、専用機として実装されたハードウェア構成を採用してもよいし、汎用的なアーキテクチャに従うハードウェア構成（例えば、汎用パソコンをベースとした産業用パソコン）を採用してもよい。汎用パソコンをベースとした産業用パソコンでＨＭＩ５００を実現する場合には、上述の図７に示すようなサポート装置４００と同様のハードウェア構成が採用される。但し、図７に示す構成例のうち、サポートプログラム４０６２に代えて、ＨＭＩ処理を実現するためのアプリケーションプログラムがインストールされる。
【００９０】
サーバ装置６００は、一例として、汎用的なファイルサーバまたはデータベースサーバを用いて実現できる。このような装置のハードウェア構成については、公知であるので、さらなる詳細な説明は行わない。
【００９１】
＜Ｄ．セーフティ制御システム１における通信方式＞
次に、セーフティ制御システム１における通信方式の概要について説明する。
【００９２】
図８は、本実施の形態に係るセーフティ制御システム１における通信方式を説明するための模式図である。図８を参照して、本実施の形態に係るセーフティ制御システム１においては、制御装置２とリモートデバイス３００との間の通信、および、制御装置２間の通信は、いずれも一種のメッセージ伝送を用いる。
【００９３】
図８においては、制御装置２Ａとリモートデバイス３００−１との間にコネクション＃１が確立され、制御装置２Ａとリモートデバイス３００−２との間にコネクション＃２が確立され、制御装置２Ａとリモートデバイス３００−３との間にコネクション＃３が確立され、制御装置２Ａと制御装置２Ｂとの間にコネクション＃４が確立されている例を示す。
【００９４】
以下の説明においては、通信マスタとして機能する側を「オリジネータ（originator）」とも称し、通信スレーブとして機能する側を「ターゲット（target）」とも称す。
【００９５】
各コネクションにおいて遣り取りされるデータ（以下、「データセット」とも称す。）のデータサイズは、オリジネータとターゲットとに対して予め設定されている。例えば、１つのデータセット（すなわち、１コネクションあたり）には、予め定められたデータサイズまでの入出力データを割当てることができる。
【００９６】
本実施の形態に係る通信においては、各データセットには、予め定められたデータ単位（以下、「ＩＯアセンブリ」とも称す。）で入出力データが割当てられる。ＩＯアセンブリは、外部からアクセス可能な変数あるいはオブジェクトを意味する。各データを特定するための識別情報としてタグ名が予め設定される。タグ名は、各データを示すオブジェクトの名前とみなすこともできる。タグ名を指定することで、対応するデータを特定できる。
【００９７】
ＩＯアセンブリは、ターゲットで生成または収集されてオリジネータへ与えられるデータ（入力データ）を示す入力アセンブリ、および、オリジネータで生成または収集されてターゲットへ与えられるデータ（出力データ）を示す出力アセンブリを含み得る。さらに、ＩＯアセンブリは、機能安全に係る入力データからなるセーフティ入力アセンブリ、および、機能安全に係る出力データからなるセーフティ出力アセンブリ、を含んでいてもよい。以下の説明においては、特段の説明がない限り、「ＩＯアセンブリ」との用語は、入力アセンブリ、出力アセンブリ、セーフティ入力アセンブリ、および、セーフティ出力アセンブリの少なくともいずれかを含む意味で使用する。
【００９８】
図９は、本実施の形態に係るセーフティ制御システム１のリモートデバイス３００におけるＩＯアセンブリの例を示す模式図である。図１０は、本実施の形態に係るセーフティ制御システム１の制御装置２（セーフティ制御ユニット２００）におけるＩＯアセンブリの例を示す模式図である。
【００９９】
図９を参照して、リモートデバイス３００は、当該リモートデバイス３００の機能などに依存して、予め定められたデータサイズあるいは数のＩＯアセンブリ３４０が用意される。典型的には、リモートデバイス３００に実装されるＩＯモジュール３０８の機能や入出力点数に応じて、ＩＯアセンブリ３４０のデータサイズあるいは数が予め定められている。リモートデバイス３００がターゲットとして機能する場合には、リモートデバイス３００に用意されるＩＯアセンブリ３４０は、オリジネータとして機能する制御装置２（セーフティ制御ユニット２００）からアクセス可能になっている。
【０１００】
図９に示す例においては、リモートデバイス３００には、４つのＩＯアセンブリ３４０（ＩＯアセンブリ＃１〜＃４）が用意されている。４つのＩＯアセンブリ３４０には、それぞれタグ名３４１が予め設定されている。
【０１０１】
図９（Ａ）に示す設定例においては、４つのＩＯアセンブリ３４０（ＩＯアセンブリ＃１〜＃４）のすべてがデータセットに割当てられている。図９（Ｂ）に示す設定例においては、４つのＩＯアセンブリ３４０のうち２つ（ＩＯアセンブリ＃１および＃２）がデータセットに割当てられている。
【０１０２】
このようなＩＯアセンブリ３４０のうちデータセットに割当てられるＩＯアセンブリ３４０の割当ては、後述するように、サポート装置４００により各リモートデバイス３００に対して設定される。
【０１０３】
図９（Ａ）および図９（Ｂ）に示すように、データセットに格納されるＩＯアセンブリ３４０のデータサイズ（数）は、予め定められた制限範囲内であれば、任意に変更可能となっている。
【０１０４】
リモートデバイス３００に加えて、制御装置２がターゲットとして機能することもある。図８に示す例では、制御装置２Ａがオリジネータとなり、制御装置２Ｂがターゲットとなる場合（コネクション＃４）が相当する。リモートデバイス３００は、特定の機能を提供することが予定されているため、基本的には、ＩＯアセンブリ３４０のデータサイズ（数）および種別（例えば、入出力用、入力用、出力用の別）は予め定められている。これに対して、制御装置２においては、複数の入出力データおよび内部変数を利用でき、これらのデータのすべてをＩＯアセンブリとして公開することはできない。そのため、ＩＯアセンブリとして公開すべきデータについてもアプリケーションに応じて設定される。
【０１０５】
図１０を参照して、制御装置２（セーフティ制御ユニット２００）においては、プロセッサ２０２がシステムプログラム２０６０およびセーフティプログラム２０６６（図４）を実行することで、制御演算２４２が実行される。制御演算２４２の実行に伴って、内部データ群２４４の値も逐次更新されることになる。
【０１０６】
内部データ群２４４のうち予め特定されたデータがＩＯアセンブリ２４０に割当てられる。図１０に示す例では、内部データ群２４４に含まれる特定のデータが４つのＩＯアセンブリ２４０（ＩＯアセンブリ＃１〜＃４）として割当てられている。４つのＩＯアセンブリ２４０には、それぞれタグ名２４１が予め設定されている。
【０１０７】
４つのＩＯアセンブリ２４０のうち、予め指定された１または複数のＩＯアセンブリ２４０がデータセットに割当てられる。すなわち、上述の図９（Ａ）に示すように、４つのＩＯアセンブリ２４０のすべてを１つのデータセットに割当ててもよいし、４つのＩＯアセンブリ２４０のうち一部のみを１つのデータセットに割当ててもよい。
【０１０８】
制御装置２における内部データ群２４４とＩＯアセンブリ２４０との対応付け、および、制御装置２におけるデータセットに割当てられるＩＯアセンブリ２４０の選択については、サポート装置４００により実行される。
【０１０９】
＜Ｅ．設定およびユーザプログラム作成手順＞
次に、上述したような、制御装置２とリモートデバイス３００との間の通信、および、制御装置２同士の通信を実現するための設定、ならびに、ユーザプログラムを作成する手順の一例について説明する。
【０１１０】
図１１は、本実施の形態に係るセーフティ制御システム１における設定およびユーザプログラム作成の手順例を示すフローチャートである。図１１に示す各ステップは、基本的には、サポート装置４００のプロセッサ４０２がサポートプログラム４０６２を実行することで実現される。
【０１１１】
図１１を参照して、まず、ユーザは、対象のセーフティ制御システム１のシステム構成を指定する（ステップＳ２）。
【０１１２】
続いて、ユーザは、ターゲットとして機能する制御装置２（セーフティ制御ユニット２００）に対して、ＩＯアセンブリのデータサイズおよび種別を設定する（ステップＳ４）。ステップＳ４に示す処理は、ターゲットとして機能する制御装置２から公開されるデータを指定する操作に相当する。そのため、ステップＳ４の処理は、ターゲットとして機能する制御装置２が存在しない場合（あるいは、公開する必要のあるデータが存在しない場合）には、スキップできる。
【０１１３】
その後、ユーザは、制御装置２とリモートデバイス３００との間のコネクション、および／または、制御装置２と他の制御装置２との間のコネクションを設定する（ステップＳ６）。すなわち、サポート装置４００は、制御装置２と各リモートデバイス３００との間に確立されるコネクションの設定であるコネクション設定を受付ける（設定受付機能に相当）。
【０１１４】
さらに、ユーザは、オリジネータとして機能する制御装置２において、設定したコネクションに含まれるＩＯアセンブリと内部変数との対応付けを設定する（ステップＳ８）。すなわち、サポート装置４００は、設定されたコネクションにおいて遣り取りされる各データに対して、制御装置２で実行されるプログラムでの参照に利用される変数名の設定を受付ける（設定受付機能に相当）。このとき、ローカルデバイスの一例であるローカルＩＯユニット２５０が管理する入出力データと内部変数との対応付けも並行して設定されてもよい。
【０１１５】
また、ターゲットとして機能する制御装置２が存在する場合には、ターゲットとして機能する制御装置２においても、ＩＯアセンブリと内部変数との対応付けを設定する（ステップＳ１０）。
【０１１６】
以上のような設定手順が完了すると、ユーザは、任意のユーザプログラムを作成する（ステップＳ１２）。このとき作成されるユーザプログラムは、ステップＳ１０において設定された内部変数を参照するコードを含み得る。
【０１１７】
ユーザプログラムの作成後、サポート装置４００は、設定データおよび実行形式のユーザプログラムを生成する（ステップＳ１４）。ステップＳ１０において設定されたＩＯアセンブリと内部変数との対応付けに基づいて、コネクション設定に含めるべきタグ名を決定する。すなわち、サポート装置４００は、各データに対して設定された変数名に基づいて、各データに関連付けられるタグ名を決定するとともに、決定された各タグ名を含むコネクション設定を生成する（生成機能に相当）。各ＩＯアセンブリに対して設定されるタグ名は、ユーザが設定した内部変数（各変数名）と同じであってもよいし、各変数名から予め定められた規則で生成される文字列を用いてもよい。
【０１１８】
最終的に、ユーザ操作を受けると、サポート装置４００は、オリジネータとして機能する制御装置２、リモートデバイス３００、および、ターゲットとして機能する制御装置２に対して、設定内データおよび実行形式のユーザプログラムを含むデータ一式を送信する（ステップＳ１６）。このように、サポート装置４００は、ステップＳ２において受付けられたコネクション設定を当該コネクション設定に関与する制御装置２およびリモートデバイス３００に送信する（送信機能に相当）。
【０１１９】
以上のような一連の処理によって、コネクション設定の設定手順は完了する。
＜Ｆ．ユーザインターフェイス画面＞
次に、図１１に示す設定およびユーザプログラム作成手順の実行に関して提供されるユーザインターフェイス画面の一例について説明する。図１２〜図１８に示されるユーザインターフェイス画面は、典型的には、サポート装置４００の表示部４１０を介してユーザに提示される。
【０１２０】
（ｆ１：システム構成の指定：ステップＳ２）
図１２は、図１１に示す、システム構成の指定（ステップＳ２）に関するユーザインターフェイス画面７００の一例を示す模式図である。図１２を参照して、ユーザインターフェイス画面７００は、作成中のシステム構成を視覚化するシステム構成フィールド７１０を含む。ユーザは、キーボードやマウスなどで、対象のセーフティ制御システム１に含まれるデバイス（ハードウェア）を定義する。
【０１２１】
より具体的には、ユーザインターフェイス画面７００は、画面右側のツールボックスとして、デバイス種別リストボックス７１６と、デバイスリストボックス７１８とを含む。ユーザは、まず、デバイス種別リストボックス７１６において、システム構成に含めるべきデバイスの種別を選択する。すると、デバイスリストボックス７１８には、デバイス種別リストボックス７１６において選択された種別に属する１または複数のデバイスがリスト表示される。ユーザは、当該リストから目的のデバイスを選択して、システム構成フィールド７１０までドラッグする。すると、選択されたデバイスが追加される。
【０１２２】
なお、ユーザインターフェイス画面７００は、選択されているデバイスの型式情報などを示す型式情報テキストボックス７２０と、選択されているデバイスの属性を示す属性テキストボックス７２２とを含む。ユーザは、型式情報テキストボックス７２０に表示される内容を確認しながら、デバイスを追加する。また、追加されたデバイスの属性は、属性テキストボックス７２２上で変更可能になっている。
【０１２３】
ユーザは、システム構成に含まれるすべてのデバイスが追加されるまで、上述の手順を繰返す。
【０１２４】
図１２に示すユーザインターフェイス画面７００のシステム構成フィールド７１０においては、標準制御ユニット１００と、セーフティ制御ユニット２００と、２つのローカルＩＯユニット２５０とが配置されている例を示す。
【０１２５】
（ｆ２：ＩＯアセンブリのデータサイズおよび種別の設定：ステップＳ４）
図１３は、図１１に示す、ＩＯアセンブリのデータサイズおよび種別の設定（ステップＳ４）に関するユーザインターフェイス画面７０１の一例を示す模式図である。図１３を参照して、ユーザインターフェイス画面７０１は、割当てられているＩＯアセンブリを視覚化するＩＯアセンブリ視覚化エリア７２４を含む。ユーザは、キーボードやマウスなどで、対象のセーフティ制御システム１に含まれるデバイス（ハードウェア）を定義する。より具体的には、ユーザインターフェイス画面７０１には、対象の制御装置２（セーフティ制御ユニット２００）に設定可能なＩＯアセンブリの一連を示すＩＯアセンブリリスト７２８が表示されており、ユーザは、チェックボックス７２６をチェックすることで、ＩＯアセンブリリスト７２８に表示されるＩＯアセンブリの設定が有効化される。
【０１２６】
図１３に示すユーザインターフェイス画面７０１の例において、ＩＯアセンブリリスト７２８は、１６バイトからなる２つの入力アセンブリと、８バイトからなる入力アセンブリと、８バイトからなる出力アセンブリとを含む。
【０１２７】
なお、設定される制御装置２の機種などに応じて、チェックボックス７２６に表示されるＩＯアセンブリのデータサイズおよび種別を異ならせてもよい。また、デフォルトとして、チェックボックス７２６に表示される１または複数のＩＯアセンブリのうち、予め定められたＩＯアセンブリに対応するチェックボックス７２６がチェックされるようにしてもよい。
【０１２８】
（ｆ３：コネクションの設定：ステップＳ６）
図１４および図１５は、図１１に示す、コネクションの設定（ステップＳ６）に関するユーザインターフェイス画面７０２の一例を示す模式図である。図１４を参照して、ユーザインターフェイス画面７０２は、設定されているコネクションを視覚化するコネクション視覚化エリア７３０を含む。
【０１２９】
図１４に示す例では、コネクション視覚化エリア７３０には、ＩＰアドレスとして「１９２．１６８．１．２」を有するユニットとの間のコネクション設定７３２が表示されている。なお、オリジネータのＩＰアドレスは「１９２．１６８．１．１」であるとする。
【０１３０】
コネクション設定７３２は、別の制御装置２（セーフティ制御ユニット２００）との間のコネクションを規定するものであり、入出力アセンブリ設定７３４を含む。入出力アセンブリ設定７３４には、１６バイトからなる入力アセンブリが遣り取りされることが規定されている。
【０１３１】
ユーザは、キーボードやマウスなどで、必要なコネクションを設定する。より具体的には、ユーザインターフェイス画面７０２は、画面右側のツールボックスとして、ターゲット種別リストボックス７４２と、ターゲットリストボックス７４４とを含む。ユーザは、まず、ターゲット種別リストボックス７４２において、設定すべきコネクションのターゲットとすべきユニットの種別を選択する。すると、ターゲットリストボックス７４４には、ターゲット種別リストボックス７４２において選択された種別に属する１または複数のユニットがリスト表示される。
【０１３２】
そして、ユーザは、当該リストから目的のユニット（ターゲット）を選択して、コネクション視覚化エリア７３０までドラッグする。ユーザインターフェイス画面７０２は、選択されているユニットの型式情報などを示す型式情報テキストボックス７４６を含む。ユーザは、型式情報テキストボックス７４６に表示される内容を確認しながら、デバイスを追加する。
【０１３３】
図１５を参照して、ユーザがいずれかのユニット（ターゲット）をコネクション視覚化エリア７３０までドラッグすると、選択されたユニットに対するコネクションが追加される。このように、ユーザインターフェイス画面７０２は、制御装置２からコネクションを確立可能なリモートデバイス３００を一覧表示するとともに、当該一覧表示されたリモートデバイス３００に対する選択を受付ける。
【０１３４】
ここで、ユーザによる任意のユニットの追加操作を行うことで、選択されたユニット（この例では、ＩＰアドレスとして「１９２．１６８．１．３」を有するユニット）との間のコネクション設定７３６が自動的に生成される。このように、サポート装置４００は、選択されたリモートデバイス３００に対して予め定められた入出力データを、選択されたリモートデバイス３００に仮割当てする。
【０１３５】
ここで、予め定められた入出力データは仮割当てであるので、コネクション設定７３６に対するユーザの変更や追加は可能になっている。すなわち、ユーザインターフェイス画面７０２は、仮割当てされた入出力データに対するユーザからの変更操作を受付ける。例えば、各入出力データの設定に対応付けられたチェックボックスに対する操作によって、仮割当てされた入出力データの有効／無効を切り替え可能になっている。
【０１３６】
コネクション設定７３６は、リモートデバイス３００との間のコネクションを規定するものであり、対象の制御装置２とリモートデバイス３００との間で遣り取りされる入出力データの指定を含む。図１５に示す例では、コネクション設定７３６は、入出力データの指定として、入出力アセンブリ設定７３８および７４０を含む。
【０１３７】
入出力アセンブリ設定７３８には、２バイトからなる入力アセンブリ（セーフティ入力）が遣り取りされることが規定されており、入出力アセンブリ設定７４０には、１バイトからなる出力アセンブリ（セーフティ出力）が遣り取りされることが規定されている。
【０１３８】
このように、コネクション設定７３６に含まれる入出力データの指定は、遣り取りされるデータサイズ（例えば、１バイトあるいは２バイトなど）の設定を含む。
【０１３９】
併せて、コネクション設定７３６に含まれる入出力データの指定は、遣り取りされるデータの種別（例えば、入力データ、出力データ、セーフティ入力、セーフティ出力）の設定を含む。すなわち、データの種別としては、対象のリモートデバイス３００から制御装置２へ送信される入力データ、および、制御装置２から対象のリモートデバイス３００へ送信される出力データのいずれであるかを示す。
【０１４０】
入出力アセンブリ設定７３８および７４０の数および種別は、ユーザにより追加操作がなされたユニット（ターゲット）の種別および／または型式に応じて自動的に決定される。
【０１４１】
図１５に示す例では、選択されたユニット（ターゲット）の種別および／または型式に応じて、２バイトからなる入力アセンブリ（セーフティ入力）および１バイトからなる出力アセンブリ（セーフティ出力）が自動的に設定されているが、別のユニット（ターゲット）が追加された場合には、当該追加されたユニットの種別および／または型式に応じて、異なるデータサイズおよび種別のＩＯアセンブリが指定されてもよい。このようなＩＯアセンブリを自動的に指定する処理の詳細については、後述する。
【０１４２】
ユーザは、システム構成に必要なすべてのコネクションが規定されるまで、上述の手順を繰返す。
【０１４３】
図１４および図１５に示すように、サポート装置４００では、選択されたリモートデバイス３００と、当該選択されたリモートデバイス３００に仮割当てされた入出力データの内容（入出力アセンブリ設定７３８および７４０）とを関連付けて視覚化する。
【０１４４】
（ｆ４：ＩＯアセンブリと内部変数との対応付け（オリジネータ）：ステップＳ８）
図１６および図１７は、図１１に示す、設定したコネクションに含まれるＩＯアセンブリと内部変数との対応付け（ステップＳ８）に関するユーザインターフェイス画面７０３の一例を示す模式図である。図１６および図１７を参照して、ユーザインターフェイス画面７０３は、制御装置２（標準制御ユニット１００および／またはセーフティ制御ユニット２００）において利用可能な入出力データと内部変数との対応付けを行うＩＯマッピングの機能を提供する。
【０１４５】
ユーザインターフェイス画面７０３は、入出力データおよびＩＯアセンブリと内部変数との対応付けを視覚化するＩＯマップ視覚化エリア７５０を含む。ＩＯマップ視覚化エリア７５０には、ローカルＩＯデータ欄７５２と、リモートＩＯデータ欄７５４とを含む。
【０１４６】
ローカルＩＯデータ欄７５２には、標準制御ユニット１００および／またはセーフティ制御ユニット２００とローカルバス１２を介して接続されるローカルＩＯユニット２５０が提供する入出力データが階層的に一覧表示される。図１６および図１７には、ローカルバス１２のマスタコントローラとして機能する標準制御ユニット１００と、２つのローカルＩＯユニット２５０とが接続されている例（図１２参照）が示されている。
【０１４７】
リモートＩＯデータ欄７５４には、フィールドネットワーク４および／または上位ネットワーク６を介して接続される、リモートデバイス３００および／または他の制御装置２（標準制御ユニット１００および／またはセーフティ制御ユニット２００）が提供するＩＯアセンブリを示す。すなわち、リモートＩＯデータ欄７５４には、制御装置２（標準制御ユニット１００および／またはセーフティ制御ユニット２００）がオリジネータとしてアクセス可能なターゲットが提供するＩＯアセンブリを示す。
【０１４８】
図１６および図１７に示す例においては、リモートＩＯデータ欄７５４は、他の制御装置２（セーフティ制御ユニット２００）が提供するＩＯアセンブリを示すセーフティ制御ユニット項目７５６と、リモートデバイス３００が提供するＩＯアセンブリを示すリモートデバイス項目７５８とを含む。
【０１４９】
図１６に示すユーザインターフェイス画面７０３においては、ローカルＩＯユニット２５０の一つであるセーフティＩＯユニットを示すユニット項目７６０が下位の階層まで展開されている例を示す。すなわち、ユニット項目７６０に関連付けて、ＩＯマップ７６８が表示されている。ＩＯマップ７６８においては、対象のセーフティＩＯユニットが有するそれぞれの入力ポートに関連付けて複数の行が規定されている。各行において、対象となる信号を示すポート情報７６１と、対象の信号が読取り専用または書込み可能のいずれであるかを示すＲ／Ｗ情報７６２と、対象の信号のデータ種別を示すデータ種別情報７６３と、対象の信号に割当てられる変数名を示す変数情報７６４と、対象の信号についての任意の情報を含むコメント７６５と、対象の変数についての変数型を示す変数型情報７６６とが規定できるようになっている。
【０１５０】
ユーザは、ユーザインターフェイス画面７０３を介して、各入出力データに対して、ユーザプログラムで利用可能な任意の内部変数を割当てることができる。後述するように、作成されたユーザプログラムにおいては、ユーザインターフェイス画面７０３において定義された内部変数を指定することで、実行時には、指定された入出力データの実値（インスタンス）を利用できる。
【０１５１】
一方、図１７に示すユーザインターフェイス画面７０３においては、他のセーフティ制御ユニット２００を示すセーフティ制御ユニット項目７５６が下位の階層まで展開されている例を示す。すなわち、セーフティ制御ユニット項目７５６に関連付けて、ＩＯマップ７７８が表示されている。ＩＯマップ７７８においては、対象のセーフティ制御ユニット２００が提供するＩＯアセンブリに関連付けて複数の行が規定されている。各行において、対象となるＩＯアセンブリの各要素を示すポート情報７７１と、対象の要素が読取り専用または書込み可能のいずれであるかを示すＲ／Ｗ情報７７２と、対象の要素のデータ種別を示すデータ種別情報７７３と、対象の要素に割当てられる変数名を示す変数情報７７４と、対象の要素についての任意の情報を含むコメント７７５と、対象の要素についての変数型を示す変数型情報７７６とが規定できるようになっている。データ種別情報７７３には、データ種別（安全制御用ブール値、安全制御用デジット値、標準制御用ブール値、標準制御用デジット値など）が設定される。変数型情報７７６には、変数のデータ属性（グローバル変数、ローカル変数など）が設定される。
【０１５２】
ユーザは、ユーザインターフェイス画面７０３を介して、ＩＯアセンブリの各要素に対して、ユーザプログラムで利用可能な任意の内部変数を割当てることができる。後述するように、作成されたユーザプログラムにおいては、ユーザインターフェイス画面７０３において定義された内部変数を指定することで、実行時には、指定されたＩＯアセンブリの実値（インスタンス）を利用できる。
【０１５３】
後述するように、ＩＯアセンブリの各要素に対して設定された内部変数（変数名）は、コネクション設定において、ＩＯアセンブリの各要素に設定されるタグ名の生成に利用される。
【０１５４】
なお、ＩＯアセンブリを示すリモートデバイス項目７５８が下位の階層まで展開された場合においても、同様のＩＯマップが表示され、上述と同様の態様で、ＩＯアセンブリの各要素に対して任意の内部変数をそれぞれ割当てることができる。
【０１５５】
上述したように、図１６に示すユーザインターフェイス画面７０３においては、サポート装置４００は、ローカルデバイスの一例であるローカルＩＯユニット２５０が管理する入出力データに対して、制御装置２で実行されるプログラムでの参照に利用される変数名の設定を受付ける。また、図１７に示すユーザインターフェイス画面７０３においては、サポート装置４００は、設定されたコネクションにおいて遣り取りされる各データ（ＩＯアセンブリ）に対して、制御装置２で実行されるプログラムでの参照に利用される変数名の設定を受付ける。このように、同じ画面上で、ローカルＩＯユニット２５０が管理する入出力データに対する変数名の設定、ならびに、設定されたコネクションにおいて遣り取りされる各データ（ＩＯアセンブリ）に対する変数名の設定が可能になっている。
【０１５６】
このとき、それぞれの設定における設定項目（ポート情報７７１、Ｒ／Ｗ情報７７２、データ種別情報７７３、変数情報７７４、コメント７７５、変数型情報７７６など）は共通になっている。
【０１５７】
このように、本実施の形態においては、ローカルＩＯユニット２５０が提供する入出力データ、および、リモートデバイス３００および／または制御装置２（標準制御ユニット１００および／またはセーフティ制御ユニット２００）が提供するＩＯアセンブリ、に対する変数の割当てを実質的に同一の態様で行うことができる。
【０１５８】
（ｆ５：ＩＯアセンブリと内部変数との対応付け（ターゲット）：ステップＳ１０）
図１１のステップＳ１０における、ターゲットとして機能する制御装置２についてのＩＯアセンブリと内部変数との対応付けの設定については、上述の図１６および１７に示すユーザインターフェイス画面と同様のユーザインターフェイス画面を用いて実施される。そのため、ここでは詳細な説明は繰返さない。
【０１５９】
（ｆ６：任意のプログラムの作成：ステップＳ１２）
図１８は、図１１に示す、任意のユーザプログラムの作成（ステップＳ１２）に関するユーザインターフェイス画面７０４の一例を示す模式図である。図１８を参照して、ユーザインターフェイス画面７０４は、編集中のユーザプログラムを視覚化するプログラム視覚化エリア７８０を含む。ユーザは、キーボードやマウスなどで、任意のユーザプログラムを作成する。
【０１６０】
より具体的には、ユーザインターフェイス画面７０４は、画面右側のツールボックスとして、部品リストボックス７８２を含む。ユーザは、部品リストボックス７８２において、ユーザプログラムに利用したい部品を選択して、プログラム視覚化エリア７８０までドラッグする。すると、ドラッグされた位置に選択された部品が配置され、あるいは、既存の部品と関連付けられる。ユーザは、所望のユーザプログラムが仕上がるまで、部品の配置の操作を繰返す。
【０１６１】
図１８に示すユーザインターフェイス画面７０４においては、非常停止ファンクションブロック７８４が配置されており、そのセーフティ入力信号として、図１７に示すユーザインターフェイス画面７０３において、ＩＯアセンブリの要素の割当てられた内部変数「ＣＩＰＯｒｉｇｉｎａｔｏｒ＿Ｉｎｓｔａｎｃｅ２＿Ｂｙｔｅ１＿ｂｉｔ０」が指定されている例を示す。
【０１６２】
図１８に示すような操作手順によって、ユーザは、任意のユーザプログラムを作成する。
【０１６３】
（ｆ７：設定内容およびプログラムの送信：ステップＳ１４）
上述のような手順によって、必要な設定がなされて、必要なプログラムが作成されると、ビルド処理（一種のコンパイル処理）が実行され、生成される設定情報や実行形式のプログラムが対象のユニットに送信される。この設定およびプログラムの送信の処理については、任意のユーザインターフェイス画面を用いることができ、ここでは、詳細な説明は行わない。
【０１６４】
＜Ｇ．ＩＯアセンブリの自動決定＞
上述の図１４および図１５を参照して説明したように、ユーザインターフェイス画面７０２においては、ユーザがターゲットとすべきユニットをコネクション視覚化エリア７３０までドラッグすると、コネクション対象のターゲットが追加されるとともに、当該追加されたターゲットとの間のコネクションに割当てられるＩＯアセンブリが自動的に決定される。
【０１６５】
このようなＩＯアセンブリを自動的に決定する処理は、サポート装置４００において、予め定められたＩＯアセンブリ設定テーブルなどを参照することで実現される。
【０１６６】
図１９は、本実施の形態に係るセーフティ制御システム１のサポート装置４００が参照するＩＯアセンブリ設定テーブル８００の一例を示す模式図である。図１９を参照して、ＩＯアセンブリ設定テーブル８００は、ターゲットの種別および／または型式を示すタイプフィールド８０２と、追加すべきＩＯアセンブリの種別を示すＩＯフィールド８０４と、各ＩＯアセンブリのデータサイズを示すバイトフィールド８０６とを含む。
【０１６７】
サポート装置４００は、コネクションの対象となるターゲットが選択されて追加されると、ＩＯアセンブリ設定テーブル８００のタイプフィールド８０２を参照して、その追加されたターゲットの種別に対応する種別および／または型式を抽出する。そして、その抽出した種別および／または型式に対応する、ＩＯアセンブリの種別（ＩＯフィールド８０４）およびデータサイズ（バイトフィールド８０６）を抽出し、追加されたターゲットのＩＯアセンブリとして決定する。そして、サポート装置４００は、決定したＩＯアセンブリをコネクション視覚化エリア７３０に表示する。
【０１６８】
このように、サポート装置４００は、ＩＯアセンブリ設定テーブル８００を参照することで、コネクションを設定するターゲットに応じた、ＩＯアセンブリを自動的に追加でき、これによって、知識の乏しいユーザであっても、コネクション設定に必要なＩＯアセンブリの登録などを容易に行うことができる。
【０１６９】
＜Ｈ．変形例＞
図２に示すセーフティ制御システム１においては、制御装置２とサポート装置４００とがそれぞれ独立した構成となっているが、サポート装置４００の機能の全部または一部を制御装置２に組み入れるようにしてもよい。例えば、サポート装置４００に実装されるサポートプログラム４０６２を、制御装置２に実装することで、上述したようなコネクションの設定などの処理をより容易に実現できる。
【０１７０】
上述の説明においては、主として、標準制御ユニット１００とセーフティ制御ユニット２００を組み合わせた制御装置２について例示したが、これに限らず、複数の標準制御ユニット１００を組み合わせた制御装置、および、複数のセーフティ制御ユニット２００を組み合わせた制御装置に対しても、本件発明の技術思想を適用できることは自明である。さらに、標準制御ユニットおよびセーフティ制御ユニットに限らず、任意の制御ユニットの組み合わせが可能である。
【０１７１】
＜Ｉ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
１または複数のリモートデバイス（３００）とネットワーク接続される制御装置（２）に向けられたサポート装置（４００）であって、
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付ける設定受付手段（Ｓ６）と、
前記設定受付手段により受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信する送信手段（Ｓ１６）とを備え、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記設定受付手段（Ｓ６）は、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付ける手段と、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てする手段とを含む、サポート装置。
［構成２］
前記設定受付手段は、前記仮割当てされた入出力データに対するユーザからの変更操作を受付ける手段をさらに含む、構成１に記載のサポート装置。
［構成３］
前記仮割当てされた入出力データの設定は、遣り取りされるデータサイズの設定を含む、構成１または２に記載のサポート装置。
［構成４］
前記仮割当てされた入出力データの設定は、遣り取りされるデータの種別の設定を含む、構成１〜３のいずれか１項に記載のサポート装置。
［構成５］
前記データの種別は、対象のリモートデバイスから前記制御装置へ送信される入力データ、および、前記制御装置から対象のリモートデバイスへ送信される出力データのいずれであるかを示す、構成４に記載のサポート装置。
［構成６］
前記設定受付手段は、前記選択されたリモートデバイスと、当該選択されたリモートデバイスに仮割当てされた入出力データの内容とを関連付けて視覚化する手段（７０２）をさらに含む、構成１に記載のサポート装置。
［構成７］
１または複数のリモートデバイス（３００）とネットワーク接続される制御装置（２）との間で通信可能なコンピュータで実行されるサポートプログラム（４０６２）であって、前記サポートプログラムは、前記コンピュータ（４００）に
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップ（Ｓ６）と、
前記受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップ（Ｓ１６）とを実行させ、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記コネクション設定を受付けるステップ（Ｓ６）は、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む、サポートプログラム。
［構成８］
制御装置（２）と制御装置にネットワーク接続される１または複数のリモートデバイス（３００）とを含む制御システム（１）に対する設定方法であって、
前記制御装置と各リモートデバイスとの間に確立されるコネクションの設定であるコネクション設定を受付けるステップ（Ｓ６）と、
前記受付けられたコネクション設定を当該コネクション設定に関与する制御装置およびリモートデバイスに送信するステップ（Ｓ１６）とを備え、
前記コネクション設定は、対象の制御装置とリモートデバイスとの間で遣り取りされる入出力データの指定を含み、
前記コネクション設定を受付けるステップ（Ｓ６）は、
前記制御装置からコネクションを確立可能なリモートデバイスを一覧表示するとともに、当該一覧表示されたリモートデバイスに対する選択を受付けるステップと、
前記選択されたリモートデバイスに対して予め定められた入出力データを、当該選択されたリモートデバイスに仮割当てするステップとを含む、設定方法。
【０１７２】
＜Ｊ．利点＞
本実施の形態に係るセーフティ制御システム１においては、制御装置２とリモートデバイス３００との間のコネクション設定を容易化できる。
【０１７３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７４】
１  セーフティ制御システム、２，２Ａ，２Ｂ  制御装置、４  フィールドネットワーク、６  上位ネットワーク、１２  ローカルバス、１４，１６，１８  通信ポート、３０  コネクション、３４，７００，７０１，７０２，７０３，７０４  ユーザインターフェイス画面、３６  一覧表示、３８，３００  リモートデバイス、４０  入出力データ、４２，７３２，７３６  コネクション設定、１００  標準制御ユニット、１０２，２０２，２５２，３０２，４０２  プロセッサ、１０４，２０４，４０４  メインメモリ、１０６，２０６，４０６  ストレージ、１０８  上位ネットワークコントローラ、１１０，１１２，３２０  フィールドネットワークコントローラ、１１４，４１６  ＵＳＢコントローラ、１１６  メモリカードインターフェイス、１１８  メモリカード、１２０，２２０，２７０  ローカルバスコントローラ、１２２  マスタコントローラ、１２４  ＩＯデータメモリ、１２６，２２５，２２６  送信回路、１２８，２２７，２２８  受信回路、１３０，２３０，２８０，３３０，４１８  プロセッサバス、２００  セーフティ制御ユニット、２２２，２７２  スレーブコントローラ、２２４，２５４  バッファメモリ、２４０，３４０  アセンブリ、２４１，３４１  タグ名、２４２  制御演算、２４４  内部データ群、２５０  ローカルＩＯユニット、２５６，３０６  システムメモリ、２５８，３０８  ＩＯモジュール、４００  サポート装置、４０８  入力部、４１０  表示部、４１２  光学ドライブ、４１４  記録媒体、５００  ＨＭＩ、６００  サーバ装置、７１０  システム構成フィールド、７１６  デバイス種別リストボックス、７１８  デバイスリストボックス、７２０，７４６  型式情報テキストボックス、７２２  属性テキストボックス、７２４  アセンブリ視覚化エリア、７２６  チェックボックス、７２８  ＩＯアセンブリリスト、７３０  コネクション視覚化エリア、７３４，７３８，７４０  入出力アセンブリ設定、７４２  ターゲット種別リストボックス、７４４  ターゲットリストボックス、７５０  ＩＯマップ視覚化エリア、７５２  ローカルＩＯデータ欄、７５４  リモートＩＯデータ欄、７５６  セーフティ制御ユニット項目、７５８  リモートデバイス項目、７６０  ユニット項目、７６１，７７１  ポート情報、７６２，７７２  Ｒ／Ｗ情報、７６３，７７３  データ種別情報、７６４，７７４  変数情報、７６５，７７５  コメント、７６６，７７６  変数型情報、７６８，７７８  ＩＯマップ、７８０  プログラム視覚化エリア、７８２  部品リストボックス、７８４  非常停止ファンクションブロック、８００  アセンブリ設定テーブル、８０２  タイプフィールド、８０４  フィールド、８０６  バイトフィールド、１０６０，２０６０  システムプログラム、１０６２  標準制御プログラム、１０６４  メモリマッピング情報、２０６２  コネクション管理プログラム、２０６４  オリジネータ設定情報、２０６６  セーフティプログラム、４０６０  ＯＳ、４０６２  サポートプログラム。
【図１】
2019179475.tif 000003
【図２】
2019179475.tif 000004
【図３】
2019179475.tif 000005
【図４】
2019179475.tif 000006
【図５】
2019179475.tif 000007
【図６】
2019179475.tif 000008
【図７】
2019179475.tif 000009
【図８】
2019179475.tif 000010
【図９】
2019179475.tif 000011
【図１０】
2019179475.tif 000012
【図１１】
2019179475.tif 000013
【図１２】
2019179475.tif 000014
【図１３】
2019179475.tif 000015
【図１４】
2019179475.tif 000016
【図１５】
2019179475.tif 000017
【図１６】
2019179475.tif 000018
【図１７】
2019179475.tif 000019
【図１８】
2019179475.tif 000020
【図１９】
2019179475.tif 000021