(57)【要約】      （修正有）【課題】アクセス処理を実行するための操作を行なう場所を、コントローラの設置場所に依存することなく自由に設定できる制御システムおよび機能ユニットを提供する。【解決手段】記憶部４００と通信可能なＣＰＵユニット１００と、ＣＰＵユニットと通信可能に接続された機能ユニットを複数備える。機能ユニットは、ユーザ操作を受け付けるスイッチ３０を備える入力ユニット３００を含む。入力ユニットは、入力部がＩＯユニット２００から記憶部へのアクセス処理の実行を受け付けた場合に、アクセス処理を実行するためのコマンドを生成する。指定されるＩＯユニットは、アクセス処理を実行する。【選択図】図１
2019148979.tif 000002
【特許請求の範囲】
【請求項１】
制御システムであって、
記憶部と、
前記記憶部と通信可能に接続されたコントローラと、
予め定められた設定情報に基づいて動作し、前記コントローラと通信可能に接続された複数の機能ユニットとを備え、
前記機能ユニットは、ユーザ操作を受け付ける入力部を有する第１の機能ユニットを含み、
前記第１の機能ユニットは、前記入力部がユーザ操作により特定の１または複数の機能ユニットから前記記憶部へのアクセス処理の実行を受け付けた場合に、該アクセス処理を実行するためのコマンドを生成し、
前記入力部が受け付けたユーザ操作により指定される第２の機能ユニットは、前記コマンドに応じて、前記アクセス処理として該第２の機能ユニットの前記設定情報を前記記憶部に読み込む処理および前記記憶部から前記設定情報を読み出す処理のうちの少なくとも一方の処理を実行する、制御システム。
【請求項２】
前記第１の機能ユニットは、前記コマンドを生成した場合に、前記入力部が受け付けたユーザ操作に対応する対応付け情報に基づいて、前記第２の機能ユニットを特定するとともに、前記コマンドを前記第２の機能ユニットに送信する、請求項１に記載の制御システム。
【請求項３】
前記第１の機能ユニットは、前記コマンドを該第１の機能ユニットとは異なる機能ユニットに送信し、
前記第１の機能ユニットとは異なる機能ユニットの各々は、前記コマンドに基づいて前記記憶部への前記アクセス処理を実行するか否かを決定する、請求項１に記載の制御システム。
【請求項４】
前記記憶部を複数備え、
前記入力部は、前記第２の機能ユニットがアクセスする記憶部の選択をさらに受け付け、
前記第２の機能ユニットは、前記コマンドに応じて、前記入力部により選択された記憶部への前記アクセス処理を実行する、請求項１〜請求項３のうちいずれかに記載の制御システム。
【請求項５】
前記入力部は、複数の機能ユニットを前記第２の機能ユニットに指定することをさらにを受け付ける、請求項１〜請求項４のうちいずれかに記載の制御システム。
【請求項６】
前記第１の機能ユニットは、前記アクセス処理の実行状況を通知可能な通知部をさらに備える、請求項１〜請求項５のうちいずれかに記載の制御システム。
【請求項７】
予め定められた設定情報に基づいて動作する機能ユニットであって、
他の機能ユニットおよび記憶部と通信可能に接続されたコントローラへの通信を制御する通信制御部と、
ユーザ操作を受け付ける入力部と、
前記入力部がユーザ操作により、特定の１または複数の機能ユニットから前記記憶部へのアクセス処理の実行を受け付けた場合に、該アクセス処理として該特定の１または複数の機能ユニット各々の前記設定情報を前記記憶部に読み込む処理および前記記憶部から前記設定情報を読み出す処理のうちの少なくとも一方の処理を実行するためのコマンドを生成する生成部とを備え、
前記通信制御部は、前記生成部が前記コマンドを生成した場合に、前記入力部が受け付けたユーザ操作により指定される第２の機能ユニットに前記コマンドを送信する、機能ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械や設備などの動作を制御するために用いられる制御システムに含まれる機能ユニットがメモリカードなどの外部メモリにアクセスするための技術に関する。
【背景技術】
【０００２】
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ（Programmable Logic Controller；以下「ＰＬＣ」とも称す）などからなる制御システムによって制御される。このような制御システムにおいて、ＰＬＣは、ＣＰＵ（Central Processing Unit）ユニットと、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するＩＯ（Input Output）ユニットとを含む。
【０００３】
このような制御システムにおいて、制御システムに含まれる各ユニットの設定情報のリストアを行なうこと、制御システムに含まれる各ユニットの設定情報のバックアップを行なうことがある。
【０００４】
特許文献１には、ＳＤ（Secure Digital）カードをＰＬＣのＣＰＵユニットに挿入することをトリガとして設定情報のリストア処理を開始するＰＬＣが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１４６０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
制御システムの高機能化に伴い、一のＣＰＵユニットとネットワークにより複数のリモートＩＯ装置を接続することができるようになり、ＣＰＵユニットから離れた場所にＩＯユニットを設置することができるようになっている。
【０００７】
しかし、特許文献１に記載の制御システムにおいては、設定情報をリストアしたりバックアップしたりするアクセス処理を実行するためには、ＣＰＵユニットが設置された場所に行かなければアクセス処理を実行することができなかった。
【０００８】
そのため、アクセス処理を実行するための操作を行なう場所は、ＣＰＵユニットのようなコントローラが設置された場所に依存していた。
【０００９】
本発明は、アクセス処理を実行するための操作を行なう場所をコントローラの設置場所に依存することなく自由に設定できる、制御システムおよび機能ユニットを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本開示の一例によれば、制御システムが提供される。制御システムは、記憶部と、記憶部と通信可能に接続されたコントローラと、予め定められた設定情報に基づいて動作し、コントローラと通信可能に接続された複数の機能ユニットとを含む。機能ユニットは、ユーザ操作を受け付ける入力部を有する第１の機能ユニットを含む。第１の機能ユニットは、入力部がユーザ操作により特定の１または複数の機能ユニットから記憶部へのアクセス処理の実行を受け付けた場合に、アクセス処理を実行するためのコマンドを生成する。入力部が受け付けたユーザ操作により指定される第２の機能ユニットは、コマンドに応じて、アクセス処理として第２の機能ユニットの設定情報を記憶部に読み込む処理および記憶部から設定情報を読み出す処理のうちの少なくとも一方の処理を実行する。
【００１１】
この開示によれば、第１の機能ユニットに設けられた入力部を操作することで、設定情報を記憶部に読み込む処理および記憶部から設定情報を読み出す処理のうちの少なくとも一方の処理を実行することができる。その結果、ユーザは、第１の機能ユニットの設置場所を変えるだけで、アクセス処理を実行するための操作を行なう場所をコントローラの設置場所に依存することなく自由に設定できる。
【００１２】
上述の開示において、第１の機能ユニットは、コマンドを生成した場合に、入力部が受け付けたユーザ操作に対応する対応付け情報に基づいて、第２の機能ユニットを特定するとともに、コマンドを第２の機能ユニットに送信する。
【００１３】
この開示によれば、対応付け情報を書き換えることで、第２の機能ユニットを変更することができ、アクセス処理の実行対象を容易に変更することができる。
【００１４】
上述の開示において、第１の機能ユニットは、コマンドを第１の機能ユニットとは異なる機能ユニットに送信する。第１の機能ユニットとは異なる機能ユニットの各々は、コマンドに基づいてアクセス処理を実行するか否かを決定する。
【００１５】
この開示によれば、機能ユニットの組み替えが多い制御システムであっても、第１の機能ユニットの設定を変更することなく、組み替えた機能ユニットの設定を変更するだけで、設定を更新することができる。
【００１６】
上述の開示において、制御システムは、記憶部を複数含む。入力部は、第２の機能ユニットがアクセスする記憶部の選択をさらに受け付ける。第２の機能ユニットは、コマンドに応じて、入力部により選択された記憶部へのアクセス処理を実行する。
【００１７】
この開示によれば、複数の記憶部の中から任意の記憶部を第２の機能ユニットのアクセス先として選択することができる。
【００１８】
上述の開示において、入力部は、複数の機能ユニットを第２の機能ユニットに指定することをさらに受け付ける。
【００１９】
この開示によれば、一度の操作で複数の第２の機能ユニットのアクセス処理を実行することができる。
【００２０】
上述の開示において、第１の機能ユニットは、アクセス処理の実行状況を通知可能な通知部をさらに含む。
【００２１】
この開示によれば、ユーザは、アクセス処理を実行するための操作を行った場所から動くことなく、アクセス処理の実行状況を確認することができる。
【００２２】
本開示の別の一例によれば、予め定められた設定情報に基づいて動作する機能ユニットが提供される。機能ユニットは、他の機能ユニットおよび記憶部と通信可能に接続されたコントローラへの通信を制御する通信制御部と、ユーザ操作を受け付ける入力部と、入力部がユーザ操作により、特定の１または複数の機能ユニットから記憶部へのアクセス処理の実行を受け付けた場合に、アクセス処理として特定の１または複数の機能ユニットの設定情報を記憶部に読み込む処理および記憶部から設定情報を読み出す処理のうちの少なくとも一方の処理を実行するためのコマンドを生成する生成部とを含む。通信制御部は、生成部がコマンドを生成した場合に、入力部が受け付けたユーザ操作により指定される第２の機能ユニットにコマンドを送信する。
【００２３】
この開示によれば、第１の機能ユニットに設けられた入力部を操作することで、設定情報を記憶部に読み込む処理および記憶部から設定情報を読み出す処理のうちの少なくとも一方の処理を実行することができる。その結果、ユーザは、第１の機能ユニットの設置場所を変えるだけで、アクセス処理を実行するための操作を行なう場所をコントローラの設置場所に依存することなく自由に設定できる。
【発明の効果】
【００２４】
アクセス処理を実行するための操作を行なう場所をコントローラの設置場所に依存することなく自由に設定できる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態に係る制御システムの適用場面を模式的に示す図である。
【図２】本実施の形態に係る制御システムの概略構成を示す模式図である。
【図３】本実施の形態に係るリモートＩＯ装置の接続構成を示す模式図である。
【図４】本実施の形態に係るリモートＩＯ装置の通信カプラのハードウェア構成を示す模式図である。
【図５】本実施の形態に係るリモートＩＯ装置のＩＯユニットのハードウェア構成を示す模式図である。
【図６】本実施の形態に係るリモートＩＯ装置の入力ユニットのハードウェア構成を示す模式図である。
【図７】本実施の形態に係るＣＰＵユニットのハードウェア構成を示す模式図である。
【図８】本実施の形態に係るスイッチを操作することで行われる処理の概要を説明するための図である。
【図９】本実施の形態に係るアクセス処理を実行するにあたってアクセス処理を実行可能な機能ユニットが備えるソフトウェア構成の一例を示す模式図である。
【図１０】本実施の形態に係るアクセス処理を実行するにあたって入力ユニットが備えるソフトウェア構成の一例を示す模式図である。
【図１１】本実施の形態に係るアクセス処理の実行にあたって機能する各機能ユニットの機能構成の一例を示す図である。
【図１２】本実施の形態に係るアクセス処理を説明するためのシーケンスチャートである。
【図１３】本実施の形態に係るＣＰＵユニットに接続されるサポート装置のハードウェア構成を示す模式図である。
【図１４】本実施の形態に係るＣＰＵユニットに接続されるサポート装置のディスプレイにおける画面の一例を示した図である。
【図１５】入力ユニットを複数備えた制御システムの一例を示す図である。
【図１６】第２の変形例におけるＩＯユニットの機能構成の一例を示す図である。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２７】
§１  適用例
まず、図１を参照して、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システム１の適用場面を模式的に示す図である。
【００２８】
制御システム１は、記憶部４００と、コントローラとして機能するＣＰＵユニット１００と、複数の機能ユニット２とを備える。ＣＰＵユニット１００は記憶部４００と通信可能に接続されている。また、各機能ユニット２は、ＣＰＵユニット１００と通信可能に接続されており、予め定められた設定情報に基づいて動作する。
【００２９】
記憶部４００は、記録媒体であって、コンピュータ、その他装置および機械などが、記録されたプログラム等の情報を読み取り可能なように該プログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記憶部４００は、ＣＰＵユニット１００に直接接続可能な外部メモリと、ＣＰＵユニット１００とネットワークを介して接続されるサーバと、ＣＰＵユニット１００または機能ユニット２が備えるハードディスク等の内部メモリとを含む。
【００３０】
ＣＰＵユニット１００と記憶部４００との接続は、内部バスを介しての接続と、ネットワークを介しての接続と、インターフェイスを介しての接続とを含む。
【００３１】
機能ユニット２とＣＰＵユニット１００との接続は、内部バスを介しての接続と、ネットワークを介しての接続とを含む。また機能ユニット２同士の接続も、内部バスを介しての接続と、ネットワークを介しての接続とを含む。
【００３２】
機能ユニット２は、ユーザ操作を受け付ける入力部を備える入力ユニット３００を含む。機能ユニット２は、たとえば、ＩＯユニット１２０，２００、入力ユニット３００、サーボユニット、通信ユニット、特殊ユニットなどを含む。本実施の形態においては、ＣＰＵユニット１００と内部バスを介して接続されたＩＯユニットをＩＯユニット１２０とし、ＣＰＵユニット１００とネットワークを介して接続されたＩＯユニットをＩＯユニット２００とする。通信カプラ５００は、通信ユニットの一例である。
【００３３】
入力ユニット３００は、入力部からの入力を受け付ける機能のみを備えていてもよく、また、ＩＯユニット、通信ユニット、サーボユニット、特殊ユニットなどが備える機能をさらに備えていてもよい。入力部は、たとえば、ディップスイッチやロータリスイッチによって構成される。本実施の形態において、入力部は、ディップスイッチ（スイッチ３０）であるとして説明する。また、入力ユニット３００は、ＩＯユニット、通信ユニット、サーボユニット、特殊ユニットなどが備える機能は備えていないものとする。言い換えると、入力ユニット３００は、ＩＯユニット、通信ユニット、サーボユニット、特殊ユニットなどに入力部を設けたものとしては説明しない。図１において、入力部のうち、斜線は選択されていることを示している。
【００３４】
複数の機能ユニット２のうち、入力部が受け付けたユーザ操作により特定される機能ユニット２は、記憶部４００へのアクセス処理を実行可能である。アクセス処理は、記憶部４００にデータを読み込む処理と、記憶部４００からデータを読み出す処理とのうちの少なくとも一方を含む処理である。
【００３５】
入力ユニット３００は、たとえば、スイッチ３０を複数備えてもよい。具体的に、入力ユニット３００は、アクセス処理の実行を受け付ける第１スイッチ３１と、記憶部４００へのアクセス処理を実行する機能ユニット２を特定するための操作を受け付ける第３スイッチ３３とを備える。なお、第１スイッチ３１と第３スイッチ３３とを備えるとしたが、１のスイッチのみを備えるような構成であってもよい。この場合、アクセス処理を実行する１または複数の機能ユニット２を予め定めておき、入力部がアクセス処理の実行を受け付けた場合に、予め定められた１または複数の機能ユニット２がアクセス処理を実行するようにしてもよい。また、入力部としてロータリスイッチのように複数のチャンネルを備える入力部を用いてもよい。この場合に、チャンネルごとに１または複数の機能ユニット２を予め定めておき、選択されたチャンネルに対応する１または複数の機能ユニット２がアクセス処理を実行するようにしてもよい。
【００３６】
図１の（１）〜（３）の順に従って、スイッチがアクセス処理の実行を受け付けてから、アクセス処理が実行されるまでを説明する。
【００３７】
（１）ユーザ操作により、第１スイッチ３１がアクセス処理の実行を受け付けると、入力ユニット３００はアクセス処理を実行するためのコマンドを生成する。このコマンドは、スイッチ３０が受け付けた信号のみを示すコマンドであってもよく、また、アクセス処理の内容の一部または全部を示すコマンドであってもよい。図１に示す例では、第１スイッチ３１がアクセス処理の実行を受け付けたタイミングでは、アクセス処理の実行対象として、第３スイッチ３３が受け付けたユーザ操作によりＩＯユニット２００Ｉが選択されているものとする。
【００３８】
（２）ＩＯユニット２００Ｉは、入力ユニット３００が生成したコマンドを受信する。入力ユニット３００は、第３スイッチ３３への操作に基づいてアクセス処理を実行する対象を特定可能である場合は、アクセス処理の実行対象に生成したコマンドをマルチキャストしてもよく、また、生成したコマンドをブロードキャストしてもよい。入力ユニット３００は、第３スイッチ３３への操作に基づいてアクセス処理の実行対象を特定できない場合は、スイッチ３０が受け付けた信号を示すコマンドをブロードキャストし、コマンドを受信した各機能ユニット２が、スイッチ３０が受け付けた信号に基づいて、アクセス処理を実行するか否かを決定する。
【００３９】
（３）ＩＯユニット２００Ｉは、受信したコマンドに基づいて記憶部４００へのアクセス処理としてＩＯユニット２００Ｉの設定情報を記憶部４００に読み込む処理および記憶部４００から設定情報を読み出す処理のうちの少なくとも一方の処理を実行する。ＩＯユニット２００Ｉは、アクセス処理の一例として、ＩＯユニット２００Ｉの設定情報を記憶部４００にバックアップする処理や、ＩＯユニット２００Ｉの設定情報を記憶部４００に保存されている設定情報にリストアする処理などを行なう。たとえば、ＩＯユニット２００Ｉは、ＣＰＵユニット１００に対してアクセス処理を実行するためのコマンドを送信し、ＣＰＵユニット１００が記憶部４００にアクセスすることで、記憶部４００へのアクセス処理を実行することができる。
【００４０】
図１に示す入力ユニット３００は本発明の「第１の機能ユニット」の一実施例に対応し、ＩＯユニット２００Ｉは本発明の「第２の機能ユニット」の一実施例に対応する。
【００４１】
このように、第１の機能ユニットに設けられた入力部を操作することで、設定情報を記憶部に読み込む処理および記憶部から設定情報を読み出す処理のうちの少なくとも一方の処理を実行することができる。その結果、ユーザは、第１の機能ユニットの設置場所を変えるだけで、アクセス処理を実行するための操作を行なう場所をコントローラの設置場所に依存することなく自由に設定できる。
【００４２】
§２  具体例
以下、本発明の具体例として、本実施の形態に係る制御システム１のより詳細な構成および処理について説明する。
【００４３】
＜Ａ．制御システム１の全体構成例＞
図２は、本実施の形態に係る制御システム１の概略構成を示す模式図である。制御システム１は、ＣＰＵユニット１００と、ＣＰＵユニット１００とフィールドネットワーク１７６を介して接続されるリモートＩＯ装置３とを含む。制御システム１は、リモートＩＯ装置３を少なくとも１つ備えていればよく、複数備えるものであってもよい。また、ＣＰＵユニット１００を複数備えていてもよく、この場合は、各ＣＰＵユニット１００は、互いに上位ネットワーク１５１を介して通信可能に接続される。図２に示す制御システム１は、複数のリモートＩＯ装置３を備える。
【００４４】
ＣＰＵユニット１００は、電源ユニット１３０、ＩＯユニット１２０などの機能ユニット２と内部バス５１を介して接続可能である。電源ユニット１３０は、各ユニットに適切な電圧の電源を供給する。ＣＰＵユニット１００は、主な演算処理を実行する。ＣＰＵユニット１００および各機能ユニット２は、内部バス５１を介して、データを互いに遣り取りできるように構成される。ＣＰＵユニット１００は、接続ケーブル１６１などを介してサポート装置６００と通信可能に接続される。ＣＰＵユニット１００と内部バス５１を介して接続される機能ユニット２は、具体的には、ＩＯユニット、通信ユニット、特殊ユニット、サーボユニットを含む。
【００４５】
ＩＯユニットは、一般的な入出力処理に関するユニットであり、オン／オフといった２値化されたデータの入出力を司る。ＩＯユニットは、検出スイッチなどのセンサが何らかの対象物を検出している状態（オン）および何らの対象物も検出していない状態（オフ）のいずれであるかという情報を収集する。また、ＩＯユニットは、リレーやアクチュエータといった出力先に対して、活性化するための指令（オン）および不活性化するための指令（オフ）のいずれかを出力する。
【００４６】
通信ユニットは、他のＰＬＣとの通信機能を有する。通信ユニットは、上位ネットワーク１５１から送られるデータを復号化するとともに、上位ネットワーク１５１に送信するデータを符号化する。
【００４７】
特殊ユニットは、アナログデータの入出力、温度制御、ＰＩＤ制御、パルスカウンタ、サーボ制御、インバータ制御、特定の通信方式による通信（例えば、シリアル通信やエンコーダ入力）といった、ＩＯユニットではサポートしない機能を有する。
【００４８】
また、ＣＰＵユニット１００には、記憶部４００の一例であるメモリカード４１０を装着するためのメモリカードインターフェイス（ＩＦ）１１５が設けられている。メモリカード４１０には、各機能ユニット２から送られるバックアップデータや、各機能ユニット２に送信するためのリストア用のバックアップデータなどが格納されている。
【００４９】
フィールドネットワーク１７６は、ＣＰＵユニット１００と遣り取りされる各種データを伝送する。フィールドネットワーク１７６としては、典型的には、各種の産業用のイーサネット（登録商標）を用いることができる。
【００５０】
なお、図２には、内部バス５１およびフィールドネットワーク１７６の両方を有する制御システム１を例示するが、一方のみを搭載するシステム構成を採用することもできる。たとえば、フィールドネットワーク１７６ですべてのユニットを接続してもよい。あるいは、フィールドネットワーク１７６を使用せずに、すべての機能ユニット２を内部バス５１に直接接続してもよい。
【００５１】
リモートＩＯ装置３は、ＣＰＵユニット１００に装着される機能ユニット２を、ＣＰＵユニット１００の配置位置とは異なる位置に拡張的に配置するためのものである。より具体的には、リモートＩＯ装置３は、フィールドネットワーク１７６でのデータ伝送に係る処理を行なうための通信カプラ５００と、１つ以上の機能ユニット２とを含む。リモートＩＯ装置３に含まれる各ユニットは、内部バス５１を介して、データを互いに遣り取りできるように構成される。また、リモートＩＯ装置３は、ＣＰＵユニット１００の位置に依存されることなく、設定することができる。
【００５２】
通信カプラ５００は、通信ユニットとして機能する機能ユニット２の一例である。また、通信カプラ５００は、内部バス５１を介して接続された各機能ユニット２の動作（データの更新タイミングなど）を制御する。
【００５３】
リモートＩＯ装置３に含まれる、通信カプラ５００と通信可能な機能ユニット２は、通信カプラ５００を介してＣＰＵユニット１００と通信可能である。つまり、リモートＩＯ装置３に含まれる、通信カプラ５００と通信可能な機能ユニット２は、ＣＰＵユニット１００と通信可能に接続されている。
【００５４】
ＣＰＵユニット１００と通信可能に接続された複数の機能ユニット２のうち、少なくとも１の機能ユニット２は、ユーザ操作を受け付ける入力部の一例であるスイッチ３０を備える入力ユニット３００として機能する。本実施の形態において、入力ユニット３００は、フィールドネットワーク１７６、通信カプラ５００、および内部バス５１を介してＣＰＵユニット１００と通信可能に接続されている。なお、入力ユニット３００は、ＣＰＵユニット１００と内部バス５１を介して接続されているものであってもよい。
【００５５】
本実施の形態において、説明の便宜上、通信カプラ５００と内部バス５１を介して接続される入力ユニット３００以外の機能ユニット２に、ＩＯユニット２００以外の他の種別のユニットを含まないものとして説明する。しかし、機能ユニット２に、特殊ユニット、サーボユニット、通信ユニットなどの他の種別のユニットを含んでもよい。
【００５６】
＜Ｂ．リモートＩＯ装置３のハードウェア構成＞
リモートＩＯ装置３のハードウェア構成について、図３〜図６を参照して説明する。
【００５７】
（ｂ１．リモートＩＯ装置３の接続構成）
図３は、本実施の形態に係るリモートＩＯ装置３の接続構成を示す模式図である。図３に示すリモートＩＯ装置３は、入力ユニット３００を備えるものとする。図３に示すように、リモートＩＯ装置３では、通信カプラ５００と１つ以上のＩＯユニット２００と入力ユニット３００とが通信ラインである内部バス５１（ダウンリンク５１Ａおよびアップリンク５１Ｂ）を介して互いにデータ伝送可能になっている。すなわち、リモートＩＯ装置３は、内部バス５１を介して接続される複数のユニット（通信カプラ５００、ＩＯユニット２００および入力ユニット３００）を含む。
【００５８】
一例として、ダウンリンク５１Ａおよびアップリンク５１Ｂでは、シリアル通信が採用されており、対象のデータは、時系列に一列に並べられた形で伝送する。より具体的には、ダウンリンク５１Ａでは、通信カプラ５００からＩＯユニット２００および入力ユニット３００へ向けて、ダウンリンク５１Ａを介して一方向にデータが送信される。一方、アップリンク５１Ｂでは、ＩＯユニット２００および入力ユニット３００から通信カプラ５００へ向けて、アップリンク５１Ｂを介して一方向にデータが送信される。
【００５９】
本実施の形態においては、データは、ヘッダ情報を含むフレームとして送信される。各フレームは、１または複数のブロックから構成される。ヘッダ情報は、該フレーム内のデータの優先度を示す情報を含む。
【００６０】
ＩＯユニット２００の各々は、ダウンリンク５１Ａまたはアップリンク５１Ｂを伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、ＩＯユニット２００の各々は、フレームを再生成した上で、次段のＩＯユニット２００または入力ユニット３００へ再送信（フォワード）する。
【００６１】
入力ユニット３００は、ＩＯユニット２００と同様に、ダウンリンク５１Ａまたはアップリンク５１Ｂを伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、入力ユニット３００は、フレームを再生成した上で、次段のＩＯユニット２００へ再送信（フォワード）する。
【００６２】
データを含むフレームのこのような順次転送を実現するために、各ＩＯユニット２００は、ダウンリンク５１Ａに関して、受信部（以下「ＲＸ」とも記す。）２１０ａおよび送信部（以下「ＴＸ」とも記す。）２１０ｂを含むとともに、アップリンク５１Ｂに関して、受信部２２０ａおよび送信部２２０ｂを含む。受信部２１０ａおよび２２０ａは、通信ラインである内部バス５１を介して他のユニットからフレームとして送信されるデータを受信する。送信部２１０ｂおよび２２０ｂは、通信ラインである内部バス５１を介して他のユニットへフレームとしてデータを送信する。各ＩＯユニット２００は、制御部であるプロセッサ２１０を含み、プロセッサ２１０がこれらのデータの処理を制御する。
【００６３】
入力ユニット３００は、プロセッサ３１０、受信部２２０ａおよび２３０ａ、ならびに、送信部２２０ｂおよび２３０ｂを含む。入力ユニット３００のデータ伝送に係る基本的な構成は、ＩＯユニット２００と同様であるので、対応する部分（同一の参照符号を付している）についての説明は繰り返さない。プロセッサ３１０は、入力ユニット３００が送受信するデータの処理や、スイッチ３０からの信号に基づく処理を制御する。
【００６４】
通信カプラ５００は、プロセッサ５１０と、フィールドバス制御部１７０と、受信部１７２と、送信部１７４と、内部バス制御部１４０とを含む。すなわち、通信カプラ５００は、内部バス５１（ダウンリンク５１Ａおよびアップリンク５１Ｂ）と接続されるだけではなく、受信部１７２および送信部１７４を介して、上位通信ネットワークであるフィールドネットワーク１７６とも接続される。フィールドバス制御部１７０は、フィールドネットワーク１７６を介したデータ伝送を管理し、内部バス制御部１４０は、内部バス５１を介したデータ伝送を管理する。
【００６５】
（ｂ２．通信カプラ５００の構成）
図４は、本実施の形態に係るリモートＩＯ装置３の通信カプラ５００のハードウェア構成を示す模式図である。図４に示すように、リモートＩＯ装置３の通信カプラ５００は、プロセッサ５１０と、不揮発性メモリ５１１と、フィールドバス制御部１７０と、受信部１７２と、送信部１７４と、内部バス制御部１４０とを含む。
【００６６】
受信部１７２は、ＣＰＵユニット１００からフィールドネットワーク１７６を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部１７０へ出力する。送信部１７４は、フィールドバス制御部１７０から出力されるデータから上位通信フレームを再生成してフィールドネットワーク１７６を介して再送信（フォワード）する。
【００６７】
フィールドバス制御部１７０は、受信部１７２および送信部１７４と協働して、フィールドネットワーク１７６を介して予め定められた制御周期毎に他の装置（ＣＰＵユニット１００および他のリモートＩＯ装置３）との間でデータを送受信する。より具体的には、フィールドバス制御部１７０は、フィールドバス通信コントローラ１７１と、メモリコントローラ１７３と、ＦＩＦＯ（First In First Out）メモリ１７５と、受信バッファ１７７と、送信バッファ１７９とを含む。
【００６８】
フィールドバス通信コントローラ１７１は、ＣＰＵユニット１００からフィールドネットワーク１７６を介して送信されるコマンドなどを解釈して、フィールドネットワーク１７６を介した通信を実現するために必要な処理を実行する。また、フィールドバス通信コントローラ１７１、ＦＩＦＯメモリ１７５に順次格納される上位通信フレームからのデータコピー、および上位通信フレームに対するデータ書込みの処理を行なう。
【００６９】
メモリコントローラ１７３は、ＤＭＡ（Dynamic Memory Access）などの機能を実現する制御回路であり、ＦＩＦＯメモリ１７５、受信バッファ１７７および送信バッファ１７９などへのデータの書込み／読出しを制御する。
【００７０】
ＦＩＦＯメモリ１７５は、フィールドネットワーク１７６を介して受信された上位通信フレームを一時的に格納するとともに、その格納された順序に従って上位通信フレームを順次出力する。
【００７１】
受信バッファ１７７は、ＦＩＦＯメモリ１７５に順次格納される上位通信フレームに含まれるデータのうち、自装置に接続されているＩＯユニット２００および／または入力ユニット３００に出力すべきデータを抽出して一時的に格納する。受信バッファ１７７は、たとえば、ＣＰＵユニット１００から送られるリストア用のバックアップデータや、バックアップ処理の実行ログを示すデータを格納する。
【００７２】
送信バッファ１７９は、ＩＯユニット２００および／または入力ユニット３００から送られるプロセスデータであって、ＦＩＦＯメモリ１７５に順次格納される上位通信フレームの所定領域に書込むべきデータを一時的に格納する。送信バッファ１７９は、たとえば、スイッチ３０への操作をトリガに実行されるアクセス処理を実行するためのデータを格納する。
【００７３】
プロセッサ５１０は、フィールドバス制御部１７０および内部バス制御部１４０に対して指示を与えるとともに、フィールドバス制御部１７０と内部バス制御部１４０との間のデータ転送などを制御する。
【００７４】
不揮発性メモリ５１１は、システムプログラム５１２およびリモートＩＯ装置３の構成情報５１４を格納する。
【００７５】
内部バス制御部１４０は、内部バス５１（ダウンリンク５１Ａおよびアップリンク５１Ｂ）を介してＩＯユニット２００および／または入力ユニット３００との間でフレーム（データ）を送受信する。
【００７６】
より具体的には、内部バス制御部１４０は、内部バス通信コントローラ１４３と、送信回路１４２と、受信回路１４４と、記憶装置１４５とを含む。
【００７７】
内部バス通信コントローラ１４３は、内部バス５１を介したデータ伝送を主体的に（マスターとして）管理する。
【００７８】
送信回路１４２は、内部バス通信コントローラ１４３からの指示に従って、内部バス５１のダウンリンク上を流れるフレームを生成して送信する。受信回路１４４は、内部バス５１のアップリンク上を流れるフレームを受信して、内部バス通信コントローラ１４３へ出力する。
【００７９】
記憶装置１４５は、内部バス５１を伝送するフレーム（データ）を格納するバッファメモリに相当する。より具体的には、記憶装置１４５は、共有メモリ１４６と、受信バッファ１４７と、送信バッファ１４８とを含む。共有メモリ１４６は、フィールドバス制御部１７０と内部バス制御部１４０との間で遣り取りされるデータを一時的に格納する。受信バッファ１４７は、内部バス５１を介してＩＯユニット２００および／または入力ユニット３００から受信したデータを一時的に格納する。送信バッファ１４８は、フィールドバス制御部１７０で受信された上位通信フレームに含まれるデータを一時的に格納する。
【００８０】
（ｂ３．ＩＯユニット２００の構成）
図５は、本実施の形態に係るリモートＩＯ装置３のＩＯユニット２００のハードウェア構成を示す模式図である。図５に示すように、リモートＩＯ装置３のＩＯユニット２００の各々は、逆シリアル変換器（de-serializer：以下「ＤＥＳ部」とも称す。）２２２，２３２と、シリアル変換器（ＳＥＲ：serializer：以下「ＳＥＲ部」とも称す。）２２６，２３６と、フォワードコントローラ２２４，２３４とを含む。さらに、ＩＯユニット２００の各々は、バス２６０を介して互いに接続された、受信処理部２４０と、送信処理部２５０と、プロセッサ２１０と、共有メモリ２１２と、ＩＯモジュール２１６と、メモリ２１８とを含む。メモリ２１８は、一例として、揮発性メモリと不揮発性メモリとを有する。
【００８１】
ＤＥＳ部２２２、フォワードコントローラ２２４およびＳＥＲ部２２６は、図３に示すダウンリンク５１Ａについての受信部２２０ａおよび送信部２２０ｂに対応する。すなわち、これらの部分は、ダウンリンク５１Ａを流れるフレームの送受信に係る処理を実行する。同様に、ＤＥＳ部２３２、フォワードコントローラ２３４およびＳＥＲ部２３６は、図２に示すアップリンク５１Ｂについての受信部２３０ａおよび送信部２３０ｂに対応する。すなわち、これらの部分は、アップリンク５１Ｂを流れるフレームの送受信に係る処理を実行する。
【００８２】
受信処理部２４０は、復号部２４２と、ＣＲＣチェック部２４４とを含む。復号部２４２は、受信されたフレームを所定のアルゴリズムに従ってデータへ復号する。ＣＲＣチェック部２４４は、フレームの最後に付加されるフレームチェックシーケンス（Frame Check Sequence：ＦＣＳ）などに基づいて誤りチェック（例えば、ＣＲＣ（Cyclic Redundancy Check）符号）を行なう。
【００８３】
送信処理部２５０は、フォワードコントローラ２２４および２３４に接続され、プロセッサ２１０などからの指示に従って、次段のＩＯユニット２００または入力ユニット３００へ再送信（フォワード）するフレームの生成およびタイミング制御などを行なう。また、送信処理部２５０は、プロセッサ２１０などと協働して、次段のＩＯユニット２００または入力ユニット３００へ送信すべきデータを生成する。より具体的には、送信処理部２５０は、ＣＲＣ生成部２５２と、符号化部２５４とを含む。ＣＲＣ生成部２５２は、プロセッサ２１０などからのデータに対して誤り制御符号（ＣＲＣ）を算出して、該データを格納するフレームに付加する。符号化部２５４は、ＣＲＣ生成部２５２からのデータを符号化し、対応するフォワードコントローラ２２４または２３４へ出力する。
【００８４】
プロセッサ２１０は、ＩＯユニット２００を主体的に制御する演算主体である。より具体的には、プロセッサ２１０は、予め格納されたプログラムなどを実行することによって、受信処理部２４０を介して受信されたフレームを共有メモリ２１２に格納し、あるいは共有メモリ２１２から所定のデータを読み出して送信処理部２５０へ出力し、フレームを生成させる。
【００８５】
共有メモリ２１２は、受信処理部２４０を介して受信されたフレームを一時的に格納するための受信バッファ２１３と、送信処理部２５０へ介して送信するためのフレームを一時的に格納するための送信バッファ２１４とを含む。また、共有メモリ２１２は、各種データを格納するための領域を含む。
【００８６】
ＩＯモジュール２１６は、外部のスイッチやセンサからの入力信号を受信し、その値を共有メモリ２１２に書込むとともに、共有メモリ２１２の対応する領域に書込まれた値に従って、その信号を外部のリレーやアクチュエータへ出力する。すなわち、ＩＯモジュール２１６は、外部入力される信号の状態値（ＩＮデータ）を収集する入力部、および、指定された状態値（ＯＵＴデータ）の信号を出力する出力部の少なくとも一方を含む。メモリ２１８は、各種データを格納する。たとえば、メモリ２１８は、設定情報および各種アプリケーションを実行するためのデータを保持する。
【００８７】
（ｂ４．入力ユニット３００の構成）
図６は、本実施の形態に係るリモートＩＯ装置３の入力ユニット３００のハードウェア構成を示す模式図である。図６に示すように、入力ユニット３００は、図３に示すダウンリンク５１Ａについての受信部２２０ａおよび送信部２２０ｂに対応するＤＥＳ部２２２、フォワードコントローラ２２４およびＳＥＲ部２２６、ならびに、アップリンク５１Ｂについての受信部２３０ａおよび送信部２３０ｂに対応するＤＥＳ部２３２、フォワードコントローラ２３４およびＳＥＲ部２３６を備える。また、入力ユニット３００は、バス２６０を介して互いに接続された、受信処理部２４０と、送信処理部２５０と、プロセッサ３１０と、共有メモリ２１２と、メモリ３１８と、ＬＥＤ３１５と、入力部の一例であるスイッチ３０とを有する。入力ユニット３００のデータ伝送に係る基本的な構成は、ＩＯユニット２００（図５）と同様であるので、対応する部分（同一の参照符号を付している）についての説明は繰り返さない。
【００８８】
プロセッサ３１０は、入力ユニット３００を主体的に制御する演算主体である。より具体的には、プロセッサ３１０は、予め格納されたプログラムなどを実行することによって、受信処理部２４０を介して受信されたフレームを共有メモリ２１２に格納し、あるいは共有メモリ２１２から所定のデータを読み出して送信処理部２５０へ出力し、フレームを生成させる。
【００８９】
スイッチ３０は、互いに異なる機能を割り当てられた４つのスイッチ３１，３２，３３，３４を含む。スイッチ３０を操作することで、機能ユニット２がメモリカード４１０にアクセスするためのアクセス処理を実行することができる。
【００９０】
ＬＥＤ３１５は、アクセス処理の実行状況を点灯態様によってユーザに通知する通知部として機能する。たとえば、アクセス処理を実行していない間、ＬＥＤ３１５は消灯し、アクセス処理の実行中、ＬＥＤ３１５は点滅する。
【００９１】
メモリ３１８は、各種データを格納する。たとえば、メモリ３１８は、設定情報および各種アプリケーションを実行するためのデータを保持する。
【００９２】
＜Ｃ．ＣＰＵユニット１００のハードウェア構成＞
図７は、本実施の形態に係るＣＰＵユニット１００のハードウェア構成を示す模式図である。ＣＰＵユニット１００は、プロセッサ１１２と、メモリ１１３と、不揮発性メモリ１１４と、フィールドバス制御部１７０と、受信部１７２と、送信部１７４と、内部バス制御部１４０と、メモリカードＩＦ１１５と、通信ＩＦ１１６とを含む。ＣＰＵユニット１００のデータ伝送に係る基本的な構成は、上述の通信カプラ５００（図４）と同様であるので、対応する部分（同一の参照符号を付している）についての説明は繰り返さない。
【００９３】
プロセッサ１１２は、対象の制御に係るユーザプログラムを実行する。より具体的には、プロセッサ１１２は、不揮発性メモリ１１４などからユーザプログラムを読み出すとともに、メモリ１１３に展開して実行する。このユーザプログラムの実行によって、記憶部の一例であるメモリカード４１０に機能ユニット２の設定情報をバックアップする処理や、メモリカード４１０に記憶されている設定情報を各機能ユニット２にリストアする処理や、アクセス処理を実行するための各種データを各機能ユニット２に送信する処理などを実行する。
【００９４】
メモリカードＩＦ１１５は、記憶媒体であるメモリカード４１０を装着するためのインターフェイスであって、プロセッサ１１２とメモリカード４１０との間のデータ伝送を仲介する。メモリカード４１０には、各機能ユニット２から送られるバックアップデータや、各機能ユニット２に送信するためのリストア用のバックアップデータなどが格納されている。
【００９５】
通信ＩＦ１１６は、プロセッサ１１２とサポート装置６００との間のデータ転送を仲介する。具体的に、通信ＩＦ１１６は、サポート装置６００と接続するためのＵＳＢコネクタなどである。
【００９６】
＜Ｄ．アクセス処理の実行＞
ユーザは、スイッチ３０を操作することで、ＣＰＵユニット１００と通信可能に接続されたＩＯユニット２００に記憶部４００へのアクセス処理を実行させることができる。以下、スイッチ３０を操作することで行なわれる処理の概要、アクセス処理を実行するにあたって各ＩＯユニット２００が備えるソフトウェア構成、アクセス処理の実行にあたって機能する各ＩＯユニット２００の機能構成の一例、およびアクセス処理の流れについて説明する。
【００９７】
（ｄ１．処理の概要）
図８は、本実施の形態に係るスイッチ３０を操作することで行なわれる処理の概要を説明するための図である。ユーザは、スイッチ３０を操作することで、特定のＩＯユニット２００にアクセス処理を実行させることができる。入力ユニット３００は、互いに機能の異なる複数のスイッチ３１〜３４を備える。各スイッチ３１〜３４の機能について説明する。
【００９８】
第１スイッチ３１は、アクセス処理の実行／未実行を選択するためのスイッチである。入力ユニット３００は、ユーザが第１スイッチ３１の「ＯＮ」を選択したことに基づいて、第２スイッチ３２〜第４スイッチ３４からの信号によって規定される条件に従ったアクセス処理を実行するためのコマンドを生成する。
【００９９】
第２スイッチ３２は、機能ユニット２のアクセス先を選択するためのスイッチである。具体的には、第２スイッチ３２は、ＣＰＵユニット１００が複数の記憶部４００と通信可能である場合に、複数の記憶部４００のうちから、ＩＯユニット２００がアクセスする記憶部４００の選択を受け付ける。
【０１００】
たとえば、図８に示す例では、ＣＰＵユニット１００が、メモリカード４１０と、サーバ４２０と通信可能である場合に、ユーザは、第２スイッチ３２を操作することで、メモリカード４１０およびサーバ４２０のうちのいずれかをアクセス先として選択することができる。ユーザは、第２スイッチ３２を「ＯＮ」にするとアクセス先としてメモリカード４１０を選択することができ、第２スイッチ３２を「ＯＦＦ」にするとアクセス先としてサーバ４２０を選択することができる。なお、アクセス先としては、複数の記憶部４００から選択できるほか、１の記憶部が備える複数のファイルから選択できるようにしてもよい。
【０１０１】
第３スイッチ３３は、記憶部４００にアクセスするＩＯユニット２００を選択するためのスイッチである。たとえば、図８に示す例では、制御システム１に複数のリモートＩＯ装置３が含まれ、各リモートＩＯ装置３は、複数のＩＯユニット２００を含む。この場合に、記憶部４００にアクセスするＩＯユニット２００として、１または複数のＩＯユニット２００からなる一群のＩＯユニット２００を選択することができる。
【０１０２】
たとえば、図８に示す例では、ＩＯユニット２００Ａ，２００Ｂ，２００ａ，２００ｂ，および２００ｃからなる第１グループＧ１と、ＩＯユニット２００Ｘ，２００Ｙ，２００Ｉ，および２００いいからなる第２グループＧ２とがあらかじめ設定されているものとする。ユーザは、第３スイッチ３３を「ＯＮ」にすると第１グループＧ１に含まれるすべてのＩＯユニット２００を選択することができ、第３スイッチ３３を「ＯＦＦ」にすると第２グループＧ２に含まれるすべてのＩＯユニット２００を選択することができる。なお、第３スイッチ３３を操作することで、複数のＩＯユニット２００を選択できるものとしたが、１のＩＯユニット２００だけを選択できるような構成であってもよい。第３スイッチ３３への操作により、アクセス処理を実行するＩＯユニット２００が特定される。
【０１０３】
第４スイッチ３４は、アクセス処理として実行するアプリケーションの内容を選択するためのスイッチである。たとえば、図８に示す例では、ユーザは、第４スイッチ３４を「ＯＮ」にするとアクセス処理としてバックアップ処理の実行を選択することができ、第４スイッチ３４を「ＯＦＦ」にするとアクセス処理としてリストア処理の実行を選択することができる。ここで、アクセス処理とは、ＩＯユニット２００がＣＰＵユニット１００を介して、記憶部４００にデータを記憶すること、あるいは記憶部４００からデータを読み出すことで実現できる処理をいう。
【０１０４】
たとえば、図８に示す例においては、第２スイッチ３２を「ＯＮ」、第３スイッチ３３を「ＯＮ」、第４スイッチ３４を「ＯＮ」にした状態で第１スイッチ３１を「ＯＮ」にすると、第１グループＧ１に含まれるＩＯユニット２００Ａ，２００Ｂ，２００ａ，２００ｂの設定情報のバックアップデータがメモリカード４１０に格納される。一方、第２スイッチ３２を「ＯＦＦ」、第３スイッチ３３を「ＯＦＦ」、第４スイッチ３４を「ＯＦＦ」にした状態で第１スイッチ３１を「ＯＮ」にすると、第２グループＧ２に含まれるＩＯユニット２００Ｘ，２００Ｙ，２００Ｉ，２００ＩＩの設定情報がサーバ４２０に保存されている設定情報にリストアされる。
【０１０５】
各スイッチ３１〜３４の機能設定は、サポート装置６００を用いて行なうことができる。入力ユニット３００は、第１スイッチ３１への操作により、アクセス処理の実行が選択された場合に、第２スイッチ３２〜第４スイッチ３４からの信号に基づいて規定される条件に従ったアクセス処理を実行するためのコマンドを生成する。たとえば、入力ユニット３００は、第３スイッチ３３への操作により特定されるＩＯユニット２００へ、生成したコマンドを送信する。入力ユニット３００から送られたコマンドを受けたＩＯユニット２００は、送られたコマンドに従ってアクセス処理を実行する。
【０１０６】
（ｄ２．アクセス処理を実行可能なＩＯユニット２００のソフトウェア構成）
図９は、本実施の形態に係るアクセス処理を実行するにあたってアクセス処理を実行可能なＩＯユニット２００が備えるソフトウェア構成の一例を示す模式図である。図９においては、ＩＯユニット２００を例に機能ユニット２が備えるソフトウェア構成の一例を説明する。図９に示すように、ＩＯユニット２００のメモリ２１８には、アクセス処理を実行するための情報として、設定情報２１、アプリケーションプログラム２９、コマンド対応情報２６、メモリデバイス情報２７、およびアプリケーション情報２８が格納されている。
【０１０７】
ＩＯユニット２００は、設定情報２１に基づいて動作する。つまり、設定情報２１は、ＩＯユニット２００を動かすために必要な設定値やプログラムを含む情報である。
【０１０８】
アプリケーションプログラム２９は、アクセス処理を実行するためのプログラムを含む。たとえば、バックアッププログラム２９２、リストアプログラム２９４、停止プログラム２９６、コマンド解析プログラム２９８をアプリケーションプログラム２９は含む。
【０１０９】
バックアッププログラム２９２は、設定情報２１のバックアップをとるためのプログラムである。第４スイッチ３４への操作によりバックアップを実行する旨のアプリケーションが選択された場合に、機能ユニット２はバックアッププログラム２９２に従って、設定情報２１のバックアップを行なう。
【０１１０】
リストアプログラム２９４は、設定情報２１をリストアするためのプログラムである。第４スイッチ３４への操作によりリストアを実行する旨のアプリケーションが選択された場合に、機能ユニット２はリストアプログラム２９４に従って、設定情報２１を記憶部４００に記憶された設定情報２１にリストアする。
【０１１１】
停止プログラム２９６は、機能ユニット２の動作を停止するためのプログラムである。たとえば、第４スイッチ３４への操作により選択可能なアプリケーションとして、機能ユニット２の動作を停止することが含まれており、該アプリケーションが選択された場合に、機能ユニット２は停止プログラム２９６に従って動作を停止する。
【０１１２】
コマンド解析プログラム２９８は、入力ユニット３００から送られてたコマンドを解析するためのプログラムである。機能ユニット２は、入力ユニット３００から送られたコマンドをコマンド解析プログラム２９８に従って解析し、解析結果に従って機能ユニット２がアクセス処理を実行するための処理を実行する。
【０１１３】
コマンド対応情報２６は、入力ユニット３００が送信するコマンドの意味する情報を示すものである。より詳細にいえば、ＩＯユニット２００は、第２スイッチ３２および第４スイッチ３４からの信号に基づいて、アクセス先と、アプリケーションの種類をコマンド対応情報２６から特定する。たとえば、第２スイッチ３２からの「ＯＮ」に相当する信号はアクセス先がメモリカード４１０であることを意味し、「ＯＦＦ」に相当する信号はアクセス先がサーバ４２０であることを意味し、第４スイッチ３４からの「ＯＮ」に相当する信号はバックアップ処理の実行を指し、「ＯＦＦ」に相当する信号はリストア処理の実行を指すことが、コマンド対応情報２６としてメモリ３１８に格納されている。
【０１１４】
メモリデバイス情報２７は、記憶部４００を特定するための情報であって、記憶部４００の種類毎にメモリ２１８に格納されている。メモリデバイス情報２７は、記憶部４００が制御システム１全体のどの階層に位置するＣＰＵユニット１００と接続されているかを示す階層情報２７１と、記憶部４００が接続されている装置のＩＰアドレス２７２と、記憶部４００のファイル情報２７３とを含む。
【０１１５】
アプリケーション情報２８には、アプリケーションの実行内容と、設定とを示すアプリケーション種別／設定２８１が、アプリケーションの種別ごとに格納されている。アプリケーション種別／設定２８１は、ＩＯユニット２００ごとに異なる情報であってもよい。具体的には、記憶部４００にアクセスするＩＯユニット２００ごとに保存条件や保存範囲、また、保存する際のファイル名の付け方などを変えることができる構成であってもよい。
【０１１６】
（ｄ３．入力ユニット３００が備えるソフトウェア構成）
図１０は、本実施の形態に係るアクセス処理を実行するにあたって入力ユニット３００が備えるソフトウェア構成の一例を示す模式図である。図１０に示すように、入力ユニット３００のメモリ３１８には、アクセス処理の実行を指示するための情報として、コマンド生成プログラム６１、信号対応情報６２、ユニット情報６３、グループ情報６４、およびＬＥＤ点灯プログラム６５が格納されている。
【０１１７】
コマンド生成プログラム６１は、第２スイッチ３２〜第４スイッチ３４からの信号に基づいて規定される条件に従ったアクセス処理を実行するためのコマンドを生成するためのプログラムである。
【０１１８】
信号対応情報６２は、各スイッチ３１〜３４からの信号ごとに対応する情報が保存されている。具体的には、第１スイッチ３１からの「ＯＮ」に相当する信号はアクセス処理の実行を意味し、「ＯＦＦ」に相当する信号はアクセス処理の未実行を意味し、第３スイッチ３３からの「ＯＮ」に相当する信号は第１グループＧ１を指し、「ＯＦＦ」に相当する信号は第２グループＧ２を指すことが、信号対応情報６２としてメモリ３１８に格納されている。
【０１１９】
ユニット情報６３は、アクセス処理を実行可能な機能ユニット２のアドレスを示す階層情報６３１を含み、アクセス処理を実行可能な機能ユニット２毎に格納されている。
【０１２０】
グループ情報６４には、１のグループに含まれる機能ユニット２を特定可能なグループ設定情報６４１がグループ毎に格納されている。なお、グループ設定情報６４１は、第２スイッチ３２の「ＯＮ」と「ＯＦＦ」とにそれぞれ割り当てられたグループ以外のグループの情報であってもよい。たとえば、第１グループＧ１および第２グループＧ２以外に第３グループＧ３，第４グループＧ４・・・と複数のグループの情報をグループ情報６４に格納してもよい。
【０１２１】
（ｄ４．各機能ユニット２の機能構成）
図１１は、本実施の形態に係るアクセス処理の実行にあたって機能する各機能ユニット２の機能構成の一例を示す図である。
【０１２２】
図１１を参照して、第１スイッチ３１が「ＯＦＦ」から「ＯＮ」に切り替わったとき、すなわち、アクセス処理の実行がユーザ操作により受け付けられたときに、各機能ユニット２が実行する処理について説明する。
【０１２３】
入力ユニット３００は、コマンド生成部６１１と通信制御部６１３と点灯制御部６５１とを備える。プロセッサ３１０は、コマンド生成プログラム６１をメモリ３１８に展開して、実行することで、コマンド生成部６１１としての機能を果たす。プロセッサ３１０は、ＬＥＤ点灯プログラム６５をメモリ３１８に展開して、実行することで、点灯制御部６５１としての機能を果たす。受信部２２０ａ，２３０ａ、送信部２２０ｂ，２３０ｂ、受信処理部２４０、送信処理部２５０、共有メモリ３１２およびプロセッサ３１０によって通信制御部６１３の機能が果たされる。
【０１２４】
（１−１）  コマンド生成部６１１は、スイッチ３０から入力される入力信号に基づいて、第１スイッチ３１が「ＯＦＦ」から「ＯＮ」に切り替わったことを判定し、第１スイッチ３１が「ＯＦＦ」から「ＯＮ」に切り替わったことに基づいて、コマンドＤ６０を生成する。
【０１２５】
コマンド生成部６１１は、第３スイッチ３３からの入力信号に基づいてコマンドＤ６０の送信先を決定するとともに、第２スイッチ３２および第４スイッチ３４からの入力信号を特定可能なコマンドＤ６０を生成する。
【０１２６】
コマンド生成部６１１は、第３スイッチ３３からの入力信号が示すグループを信号対応情報６２に基づいて特定し、特定したグループに含まれるユニットをグループ情報６４に基づいて特定するする。コマンド生成部６１１は、特定したユニットのアドレスをユニット情報６３から取得する。これにより、コマンド生成部６１１は送信先を決定することができる。
【０１２７】
コマンド生成部６１１は、コマンドＤ６０を送信先として決定したユニットに送信するため、通信制御部６１３に、コマンドＤ６０に送信する。コマンド生成部６１１は、送信先として決定したユニットごとにコマンドＤ６０を生成して通信制御部６１３に送ってもよい。
【０１２８】
図１１に示す例では、コマンド生成部６１１は、送信先を特定可能な情報と、生成したコマンドＤ６０とを通信制御部６１３に送るものとする。
【０１２９】
（１−２）  また、点灯制御部６５１は、スイッチ３０から入力される入力信号に基づいて、第１スイッチ３１が「ＯＦＦ」から「ＯＮ」に切り替わったことを判定し、第１スイッチ３１が「ＯＦＦ」から「ＯＮ」に切り替わったことに基づいて、ＬＥＤ３１５を１ｓ周期で点滅させる。
【０１３０】
（２）  通信制御部６１３は、各送信先にコマンドＤ６０を送信するために、フレームを再構成し、アップリンク５１Ｂを介して通信カプラ５００に送信する。たとえば、コマンドＤ６０を特定のユニットに送信することを示すコマンドＤ６２を通信カプラ５００に送信する。また、通信制御部６１３は、コマンドＤ６２を送信するタイミングについても制御する。
【０１３１】
（３）  通信カプラ５００は、通信制御部５１１を備える。通信制御部５１１は、入力ユニット３００の通信制御部６１３から送られたコマンドＤ６２に基づいて、コマンドＤ６０を各ユニットに送信するための処理を行なう。通信制御部５１１は、内部バス５１を介して接続されたユニットにコマンドＤ６０を送信する場合には、フレームを再構成して、ダウンリンク５１Ａを介して、各ユニットにコマンドＤ６０を送信する。たとえば、図１１に示す例では、通信制御部５１１は、ＩＯユニット１００ＡとＩＯユニット１００ＢにコマンドＤ６０を送信するものとする。
【０１３２】
また、通信制御部５１１は、フィールドネットワークを介して接続された他の通信カプラ５００またはＣＰＵユニット１００と内部バス５１を介して接続されたユニットにコマンドＤ６０を送信する場合は、該ユニットにコマンドＤ６０を送信することを示すコマンドＤ６４を生成し、上位フレームを再構成してフィールドネットワーク１７６を介して通信カプラ５００またはＣＰＵユニット１００にコマンドＤ６４を送る。
【０１３３】
なお、通信制御部５１１は、コマンドＤ６０を送信するタイミング、コマンドＤ６４を送信するタイミングをそれぞれ制御する。
【０１３４】
（４）  アクセス処理を実行可能なＩＯユニット２００は、コマンド解析部２９１と、アプリ実行部２９５と、通信制御部２９３とを備える。なお、説明の便宜上、ＩＯユニット２００ＡがコマンドＤ６０を受信したものとして説明する。
【０１３５】
通信制御部２９３は、自分あてのコマンドＤ６０を受信すると、コマンド解析部２９１にコマンドＤ６０を転送する。なお、受信部２２０ａ，２３０ａ、送信部２２０ｂ，２３０ｂ、受信処理部２４０、送信処理部２５０、共有メモリ３１２およびプロセッサ２１０によって通信制御部２９３の機能が果たされる。
【０１３６】
（５）  コマンド解析部２９１は、Ｄ６０から第２スイッチ３２および第４スイッチ３４からの入力信号を特定し、特定した入力信号に基づいてアクセス処理の実行条件を決定する。プロセッサ２１０は、コマンド解析プログラム２９５８をメモリ２１８に展開して、実行することで、コマンド解析部２９１としての機能を果たす。
【０１３７】
コマンド解析部２９１は、第２スイッチ３２からの入力信号が示すアクセス先をコマンド対応情報２６に基づいて特定し、特定したアクセス先のアドレスをメモリデバイス情報２７に基づいて特定する。また、コマンド解析部２９１は、第４スイッチ３４からの入力信号が示すアプリケーションの種類をコマンド対応情報２６に基づいて特定し、特定したアプリケーションの実行内容をアプリケーション情報２８に基づいて特定する。
【０１３８】
（６）  コマンド解析部２９１は、特定したアクセス先と、アプリケーションの実行内容をアプリ実行部２９５に送る。プロセッサ２１０は、バックアッププログラム２９２、リストアプログラム２９４、および停止プログラム２９６のうちの少なくとも１のプログラムをメモリ２１８に展開して、実行することで、アプリ実行部２９５としての機能を果たす。
【０１３９】
（７）  アプリ実行部２９５は、コマンド解析部２９１から送られたアクセス先と、アプリケーションの実行内容に基づいて処理を実行する。アプリ実行部２９５は、アクセス先の記憶部４００と通信可能に接続されたＣＰＵユニット１００に、記憶部４００へのアクセス処理を実行するためのコマンドＤ６６Ａを生成し、コマンドＤ６６Ａとアクセス先の記憶部４００と通信可能なＣＰＵユニット１００を特定可能な情報とを通信制御部２９３に送信する。すなわち、アプリ実行部２９５は、コマンドＤ６６ＡとコマンドＤ６６Ａを送信する送信先を通信制御部２９３に送信する。
【０１４０】
（８）  通信制御部２９３はアプリ実行部２９５から送られた情報に基づいて、アクセス先の記憶部４００と通信可能なＣＰＵユニット１００にコマンドＤ６６Ａを送信するために、フレームを再構成し、アップリンク５１Ｂを介して通信カプラ５００に送信する。たとえば、コマンドＤ６６Ａを特定のＣＰＵユニット１００に送信することを示すコマンドＤ６８Ａを通信カプラ５００に送信する。なお、通信制御部２９３は、コマンドＤ６８Ａを送信するタイミングを制御する。
【０１４１】
（９）  通信カプラ５００の通信制御部５１１は、コマンドＤ６８Ａ，Ｄ６８Ｂから、コマンドＤ６６Ａ，６６Ｂを送信するＣＰＵユニット１００を特定する。通信制御部５１１は、上位フレームを再構成してフィールドネットワーク１７６を介してＣＰＵユニット１００に、ＣＰＵユニット１００にコマンドＤ６６Ａ，６６Ｂを送信する。なお、通信制御部５１１は、コマンドＤ６６Ａ，６６Ｂを送信するタイミングを制御する。
【０１４２】
（１０）  ＣＰＵユニット１００は、フィールドネットワーク１７６を介して送られたコマンドＤ６６Ａ，６６Ｂ・・・に従って、各ＩＯユニット２００Ａ，２００Ｂ・・・が記憶部４００にアクセスするための処理を行なう。
【０１４３】
（ｄ５．処理の流れ）
図１２を参照して、アクセス処理の流れについて説明する。図１２は、本実施の形態に係るアクセス処理を説明するためのシーケンスチャートである。シークエンスＳＱ２において、入力ユニット３００は、第１スイッチ３１が「ＯＦＦ］から「ＯＮ」に切り替わったことを検出する（「実行信号を検出する」ともいう）。シークエンスＳＱ４において、入力ユニット３００は、ＬＥＤ３１５を１ｓ周期で点滅させる。これにより、ユーザは、アクセス処理の実行が開始したことを認識することができる。
【０１４４】
シークエンスＳＱ６において、入力ユニット３００は、スイッチ３０からの入力信号に基づいてコマンドを生成する。このとき、入力ユニット３００は、入力信号に応じた処理に関する実行ログを、該処理が完了するまで、一定周期で入力ユニット３００に送ることを示すコマンドをさらに生成してもよい。
【０１４５】
シークエンスＳＱ８において、入力ユニット３００は、生成したコマンドを通信カプラ５００に送信する。
【０１４６】
シークエンスＳＱ１０において、通信カプラ５００は、コマンドの情報に基づいて、第３スイッチ３３への操作により特定されるＩＯユニット２００に受信したコマンドを送信する。
【０１４７】
シークエンスＳＱ１２において、コマンドを受信したＩＯユニット２００は、受信したコマンドを解析する。ＩＯユニット２００は、コマンドを解析することで、アプリケーションの実行内容を決定する。
【０１４８】
シークエンスＳＱ１４において、コマンドを受信したＩＯユニット２００は、決定したアプリケーションの実行内容に従ってアプリケーションを実行し、アプリケーションに応じたコマンドを生成する。バックアップをする場合、ＩＯユニット２００は、実行内容に従ってバックアップデータを生成し、生成したバックアップデータを保存するようなコマンドを生成する。また、リストアをする場合、ＩＯユニット２００は、リストアをするために、設定情報の送信を要求するコマンドを生成する。また、ＩＯユニット２００は、受信したコマンドから、アクセス先の記憶部４００を特定する。
【０１４９】
シークエンスＳＱ１６において、ＩＯユニット２００は、生成したコマンドと、アクセス先の記憶部４００に関する情報（たとえば、記憶部４００と通信可能なＣＰＵユニット１００のアドレス）を通信カプラ５００に送信する。
【０１５０】
シークエンスＳＱ１７において、通信カプラ５００は、格ＩＯユニット２００から送られたコマンドをアクセス先の記憶部４００と通信可能なＣＰＵユニット１００に送信する。
【０１５１】
シークエンスＳＱ１８において、コマンドを受信したＣＰＵユニット１００は、コマンドに従って処理を実行する。たとえば、バックアップをする場合は、バックアップデータを指定された保存条件で記憶部４００に保存する。リストアをする場合は、コマンドに従って、記憶部４００から設定情報を読み出し、読み出した設定情報を転送する。
【０１５２】
シークエンスＳＱ２０において、ＣＰＵユニット１００は、受信したコマンドに基づいた処理に関する実行状況を示す実行ログを入力ユニット３００に一定周期で送信する。なお、ＣＰＵユニット１００は、入力ユニット３００と直接通信することができない場合は、通信カプラ５００を介して実行ログを入力ユニット３００に送信する。
【０１５３】
シークエンスＳＱ２２において、入力ユニット３００は、実行ログに基づいてＬＥＤ３１５を制御する。具体的に、入力ユニット３００は、実行ログに基づいて異常を検出した場合、ＬＥＤ３１５を０．５ｓ周期で点滅させる。また、実行ログに基づいて、処理の終了を検出した場合、ＬＥＤ３１５を消灯する。なお、実行ログは、ＣＰＵユニット１００が送信するものとしたが、入力ユニット３００からのコマンドを受信したＩＯユニット２００が送信する構成であってもよく、また、ＣＰＵユニット１００とＩＯユニット２００とのいずれからも実行ログを送信するような構成であってもよい。すなわち、入力ユニット３００が、処理の実行状況をモニタリングできる構成であれば、実現手段は問わない。
【０１５４】
＜Ｅ．アクセス処理の設定＞
ユーザはサポート装置６００を操作することで、各スイッチ３１〜３４を操作することで実行される処理の内容を設定することができる。
【０１５５】
（ｅ１．サポート装置６００のハードウェア構成）
図１３は、本実施の形態に係るＣＰＵユニット１００に接続されるサポート装置６００のハードウェア構成を示す模式図である。サポート装置６００は、典型的には、汎用のコンピュータで構成される。
【０１５６】
図１３に示すように、サポート装置６００は、ＯＳ(Operating System)を含む各種プログラムを実行するプロセッサ６０２と、プロセッサ６０２でのプログラムの実行に必要なデータを格納するメモリ６０８と、プロセッサ６０２で実行されるプログラムやＢＩＯＳ(Basic Input Output System)や各種データなどを保持する不揮発性メモリ６０６とを含む。
【０１５７】
不揮発性メモリ６０６には、サポート装置６００が提供する機能を実現するためのサポートプログラム６５０が格納されている。サポートプログラム６５０などのサポート装置６００で実行されるプログラムは、ＣＤ−ＲＯＭ６９０に格納されて流通する。このＣＤ−ＲＯＭ６９０に格納されたプログラムは、ＣＤ−ＲＯＭ駆動装置６１６によって読取られ、不揮発性メモリ６０６などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
【０１５８】
サポート装置６００は、通信ＩＦ６１８を介してＣＰＵユニット１００と接続し、プロセッサ６０２がサポートプログラム６５０を実行することで、メモリデバイス情報２７、ユニット情報６３を取得する。また、ユーザは、サポートプログラム６５０を用いてユーザプログラム６６０を生成する。ユーザプログラム６６０は、アクセス処理の実行を実現するためのプログラムである。具体的には、プロセッサ６０２が、ユーザプログラム６６０を実行することで、アクセス処理の実行に必要な各種プログラム（コマンド生成プログラム６１、信号対応情報６２、グループ情報６４、アプリケーションプログラム２９、コマンド対応情報２６、アプリケーション情報２８）などがアップロードされる。
【０１５９】
サポート装置６００は、さらに、ユーザからの操作を受け付けるキーボード６１０およびマウス６１２と、情報をユーザに提示するためのディスプレイ６１４とを含む。さらに、サポート装置６００は、ＣＰＵユニット１００などと通信するための通信インターフェイス（ＩＦ）６１８を含む。
【０１６０】
サポート装置６００は、ユーザからの操作を受け付け、受け付けた操作情報に基づいて、ユーザプログラム６６０を実行し、アクセス処理の各種設定を行なう。
【０１６１】
サポート装置６００を構成する各コンポーネントは、バス６２０を介して互いに結合されている。
【０１６２】
（ｅ２．サポート装置６００におけるＵＩ）
図１４は、本実施の形態に係るＣＰＵユニット１００に接続されるサポート装置６００のディスプレイ６１４における画面の一例を示した図である。図１４に示す画面は、アクセス処理の各種設定を行なう際にディスプレイ６１４に表示される画面の一例である。ユーザは、ディスプレイ６１４に表示される画面に従って、各種設定を行なうことができる。
【０１６３】
設定画面９００は、スイッチ３０の機能設定を行なうための詳細設定画面９１と、ネットワークの全体構成をグラフィカルに表示するネットワーク画面９２とを含む。
【０１６４】
詳細設定画面９１には、スイッチ３０の数に応じて画面が設けられている。具体的には、第１スイッチ３１用の第１画面９１０と、第２スイッチ３２用の第２画面９２０と、第３スイッチ３３用の第３画面９３０と、第４スイッチ３４用の第４画面９４０とが設けられている。
【０１６５】
たとえば、第１画面９１０には、第１スイッチ３１の各操作の機能が表示されている。第２画面９２０には、処理を実行するときにアクセスする先のＩＰアドレスを入力する入力領域９２１，９２２が設けられている。ＩＰアドレスは、たとえば、キーボード６１０を操作することで入力できる。なお、ネットワーク画面９２に記憶部４００に対応するメモリを表示し、該メモリをマウス６１２などで選択することで、アクセス先を選択できるようにしてもよい。また、記憶部４００を選択したうえで、選択した記憶部４００のファイルを指定できるようにしてもよい。
【０１６６】
第３画面９３０は、アプリケーションを実行する機能ユニット２を選択するための画面である。アプリケーションを実行する機能ユニット２の選択は、たとえば、ネットワーク画面９２に表示されているユニットをマウス６１２で選択することで行なわれる。また、選択されたユニットをユーザが認識することができるように、選択中のユニットを異なる態様で表示させるような構成であってもよい。また、「ＯＮ」を選択したときに選択されるユニットと、「ＯＦＦ」を選択したときに選択されるユニットとを、それぞれ、異なる態様で表示するような構成であってもよい。
【０１６７】
第４画面９４０は、機能ユニット２が実行するアプリケーションを選択するための画面である。タブ９４１，９４２をマウス６１２でクリックすると、選択可能なアプリケーションが表示され、表示されたアプリケーションの中からアプリケーションを選択することができる構成であってもよい。
【０１６８】
各スイッチ３１〜３４に割り当てる機能が決定されると、サポート装置６００は、割り当てられた機能を実現するために必要な情報を生成し、ＣＰＵユニット１００に送信する。ＣＰＵユニット１００は、サポート装置６００から送られた情報を各機能ユニット２に転送する。たとえば、サポート装置６００は、信号対応情報６２およびコマンド対応情報２６を生成して、ＣＰＵユニット１００に送信する。ＣＰＵユニット１００は、信号対応情報６２およびコマンド対応情報２６を各機能ユニット２に転送し、各機能ユニット２を再起動させる。
【０１６９】
なお、ユニット情報６３、グループ情報６４、メモリデバイス情報２７、アプリケーション情報２８、コマンド生成プログラム６１、ＬＥＤ点灯プログラム６５、およびアプリケーションプログラム２９は、設定を変える度に各機能ユニット２に転送される構成であってもよく、また、初期設定時にのみ転送し、変更した設定に応じて転送するか否かが決定される構成であってもよい。たとえば、サポート装置６００は、各スイッチ３１〜３４に割り当てる機能だけを変更した場合は、信号対応情報６２およびコマンド対応情報２６のみを転送してもよい。一方、サポート装置６００は、ネットワーク構成が変更された場合には、これらの情報に加えて、ユニット情報６３、グループ情報６４、メモリデバイス情報２７、アプリケーション情報２８、コマンド生成プログラム６１、ＬＥＤ点灯プログラム６５、およびアプリケーションプログラム２９を転送してもよい。
【０１７０】
このように、サポート装置６００から、第２スイッチ３２〜第４スイッチ３４の機能を設定することができるため、ユーザは、容易に第２スイッチ３２〜第４スイッチ３４の機能を変更することができる。たとえば、制御システム１に含まれる機能ユニット２（ＩＯユニット２００）が組み替えられたり、追加された場合に、サポート装置６００から設定を容易に変更することができる。その結果、各スイッチ３０の機能を固定することなく使用することができ、汎用性の高いスイッチ３０を提供することができる。
【０１７１】
なお、サポート装置６００はＣＰＵユニット１００に接続可能であるとしたが、制御システム１に含まれる機能ユニット２のうち、少なくとも１の機能ユニット２に接続できる構成であればよい。
【０１７２】
＜Ｆ．アプリケーションの一例＞
本実施の形態において実行可能なアプリケーションの一例を説明する。
【０１７３】
（ｆ１．バックアップ機能）
バックアップ機能は、機能ユニット２に記憶されている設定情報２１のバックアップデータを記憶部４００に保存するための機能である。具体的に、各機能ユニット２は、入力ユニット３００からのコマンドに基づいて、バックアップ処理を実行すると判定した場合に、設定情報２１を記憶部４００と通信可能に接続されているＣＰＵユニット１００に送信する。ＣＰＵユニット１００は、バックアップデータを作成するとともに、該バックアップデータを記憶部４００に格納する。
【０１７４】
（ｆ２．リストア機能）
リストア機能は、機能ユニット２に記憶されている設定情報２１をリストアするための機能である。具体的に、各機能ユニット２は、入力ユニット３００からのコマンドに基づいて、リストア処理を実行すると判定した場合に、リストアデータの送信を記憶部４００と通信可能に接続されているＣＰＵユニット１００に要求する。ＣＰＵユニット１００は、リストアデータを要求した機能ユニット２を特定し、特定した機能ユニット２に対応するリストアデータを記憶部４００に格納されているバックアップデータに基づいて生成する。
【０１７５】
ＣＰＵユニット１００は、生成したリストアデータを、該リストアデータに対応する機能ユニット２に送信する。機能ユニット２は、設定情報２１を受信したリストアデータに上書きする。
【０１７６】
（ｆ４．データ収集機能）
データ収集機能は、各機能ユニット２に接続された機器類から送られるデータや、バックアップデータとしては保存されない各機能ユニットが一時的に保存しているログなどを収集するための機能である。たとえば、メンテナンスを行なう場合に必要な機能ユニット２の詳細な情報を記憶部４００に保存することができる。ユーザは、入力ユニット３００を操作するだけで、メモリカード４１０などの記憶部４００に必要な情報を保存することができる。また、データ収集機能に、機能ユニット２に接続された機器類や、機能ユニット２の動作を停止する機能を追加してもよい。このようにすることで、ユーザは、トラブルが発生した場合に、機能ユニット２や機器類を停止する作業と同時に、トラブルの原因の究明に必要な情報を収集することができる。
【０１７７】
（ｆ５．フォーマット機能）
フォーマット機能は、各機能ユニット２に記憶された設定情報をフォーマット（消去）する機能である。たとえば、機能ユニット２の設定を初期化したい場合に、フォーマット機能を選択することで、ユーザは、機能ユニット２の設定を消去することができる。
【０１７８】
＜Ｇ．利用例＞
ユーザがスイッチ３０を操作することで、他のＩＯユニット２００に対して記憶部４００へのアクセス処理の実行を指示することができること利用した例を以下説明する。
【０１７９】
（ｇ１．製造ライン単位でのバックアップ／リストア等）
たとえば、１の製造ラインを稼働するにあたって、１または複数のＩＯユニット２００が稼働しているものとし、複数の製造ラインを１または複数のＣＰＵユニット１００が制御しているものとする。この場合に、１の製造ラインを稼働させるにあたって用いられる一群のＩＯユニット２００を１のグループとして設定する。このように設定することで、スイッチ３０を切り替えるだけで、記憶部４００にアクセスする製造ラインを切り替えることができる。
【０１８０】
このような構成とすることで、たとえば、製造ライン単位で段取り替えをした場合に、段取り替えをした製造ラインに対応するＩＯユニット２００の設定情報だけをバックアップまたはリストアすることができる。また、特定の製造ラインに関する情報だけを収集したい場合にも、情報を収集したい製造ラインに対応するＩＯユニット２００の情報だけを収集することができる。また、トラブルの生じた製造ラインだけを停止させたりすることができる。
【０１８１】
（ｇ２．ＩＯユニット２００の種類単位でのバックアップ／リストア等）
グループの単位を製造ライン単位としたが、ＩＯユニット２００の種類毎としてもよい。たとえば、特定の種類の機器に接続されているＩＯユニット２００を１のグループとして設定してもよい。これにより、ユーザは、特定の種類の機器をアップグレードまたはメンテナンスを行なった場合に、該特定の種類の機器に接続されているＩＯユニット２００のバックアップ／リストアを行なうことができる。また、このようにグループを設定することで、ユーザは、特定の種類の機器の情報を同じタイミングで収集することもできる。
【０１８２】
（ｇ３．入力ユニット３００を複数設置）
制御システム１は、複数の入力ユニット３００を備えてもよい。たとえば、製造ライン単位で入力ユニット３００を設けてもよい。図１５は、入力ユニット３００を複数備えた制御システム１の一例を示す図である。図１５に示すように、製造ラインＬごとに入力ユニット３００を設けてもよい。たとえば、第１製造ラインＬ１に設けられた入力ユニット３００Ａのスイッチ３０を操作することで第１製造ラインＬ１に含まれる第１グループＧ１のＩＯユニット２００から記憶部４００に対してのアクセス処理を指示するような構成であってもよい。このように、製造ラインＬごとに入力ユニット３００を設けることで、ユーザは、スイッチ３０への操作により、いずれのＩＯユニット２００に指示を与えているかを直感的に把握することができる。
【０１８３】
また、製造ラインＬごとに設けた入力ユニット３００Ａ，３００Ｂとは別に、ＣＰＵユニット１００Ａと上位ネットワーク１５１を介して通信可能に接続されたＣＰＵユニット１００Ｂにスイッチ３０Ｔを設けてもよい。この場合にスイッチ３０Ｔの操作によりアクセス処理の指示をＣＰＵユニット１００Ａとフィールドネットワーク１７６または／および内部バス５１を介して通信可能に接続された全てのＩＯユニット２００にコマンドを送信できるようにしてもよい。
【０１８４】
また、一の入力ユニット３００から送信されたコマンドを他の入力ユニット３００が受けて、該他の入力ユニット３００が該コマンドの実行の有無をスイッチ３０からの入力信号に基づいて判定してもよい。たとえば、スイッチ３０Ｔへの操作に基づいて、第１製造ラインＬ１、第２製造ラインＬ２のそれぞれに含まれるＩＯユニット２００に対してアクセス処理の実行が指示されたものとする。この場合に、入力ユニット３００Ａおよび／または３００Ｂはスイッチ３０Ａおよび／または３０Ｂからの入力信号に基づいて、グループＧ１および／またはＧ２に含まれるＩＯユニット２００にアクセス処理の実行を指示するか否かを判定してもよい。
【０１８５】
また、ＩＯユニット２００が配置された制御盤を複数設置している製造現場などでは、制御盤ごとに入力ユニット３００を設けてもよい。
【０１８６】
＜ｈ．変形例＞
本実施の形態においては、アクセス処理を実行可能なＩＯユニット２００および入力ユニット３００のそれぞれがスイッチ３０からの信号に応じた情報を備えるとした。しかし、入力ユニット３００からの信号を受けて、ＩＯユニット２００がＣＰＵユニット１００と通信可能に接続された記憶部４００にアクセスするための処理を実行することを実現するための構成は、これに限られるものではない。
【０１８７】
（ｈ１．第１の変形例）
入力ユニット３００だけがスイッチ３０からの信号に応じた情報を備えてもよい。たとえば、入力ユニット３００が、コマンド生成部６１１およびコマンド解析部２９１の機能を備え、各ＩＯユニット２００に、アクセス先の情報（メモリデバイス情報２７）と、アプリケーション種別／設定２８１とを送信する構成であってもよい。各ＩＯユニット２００のアプリ実行部２９５は、アプリケーション情報２８に基づいて、アプリケーションを実行する。
【０１８８】
このような構成において、入力ユニット３００は、アプリケーション情報２８とメモリデバイス情報２７とを備える。また、入力ユニット３００が記憶している信号対応情報６２は、第２スイッチ３２からの信号とメモリデバイス情報２７との対応関係を示す情報と、第４スイッチ３４からの信号とアプリケーション情報２８との対応関係を示す情報とを含む。すなわち、このような構成においては、入力ユニット３００は、スイッチ３０からの信号に基づいて、アクセス処理を実行するＩＯユニット２００と、各ＩＯユニット２００が実行するアクセス処理の内容と、各ＩＯユニット２００がアクセスする先とを特定することができる。各ＩＯユニット２００は、入力ユニット３００からのコマンドに従ってアクセス処理を実行する。
【０１８９】
なお、入力ユニット３００は、アプリケーション情報２８として、アプリケーションの種類およびＩＯユニット２００の種類ごとにアプリケーションの実行条件に対応する情報を有してもよく、また、アプリケーションの種類にごとの情報だけを備えてもよい。
【０１９０】
入力ユニット３００だけがスイッチ３０からの信号に応じた情報を備える構成の場合、入力ユニット３００の設定を変えるだけで、アクセス処理を実行するＩＯユニット２００を変更したり、アクセス処理として実行する処理内容を変更したり、アクセス先の記憶部４００を変更したりすることができる。
【０１９１】
（ｈ２．第２の変形例）
入力ユニット３００が記憶部４００にアクセスするＩＯユニット２００を特定するのではなく、各ＩＯユニット２００が、入力ユニット３００から送られる記憶部４００にアクセスする処理を実行するか否かを判定する処理を実行してもよい。すなわち、入力ユニット３００は、ブロードキャストにスイッチ３０からの入力信号を転送し、入力信号を受け取った各ＩＯユニット２００が該入力信号に基づいて、アクセス処理の実行を判定してもよい。
【０１９２】
図１６は、第２の変形例におけるＩＯユニット２００の機能構成の一例を示す図である。第２の変形例にいて、入力ユニット３００は、スイッチ３０からの信号から、アクセス処理の実行を示す信号を受信した場合に、第２スイッチ３２〜第４スイッチ３４からの入力信号を特定可能なコマンドＤ６０を生成し、生成したコマンドＤ６０を制御システム１に含まれるすべてのＩＯユニット２００にブロードキャストに転送する。ＩＯユニット２００は、たとえば、判定部２９７および判定情報２９９をさらに備える。ＩＯユニット２００は、コマンドＤ６０に含まれる情報と判定情報２９９とに基づいて、アクセス処理の実行を決定する。判定情報２９９は、たとえば、第３スイッチ３３からの「ＯＮ」の信号とアクセス処理の「実行」とを対応付け、第３スイッチ３３からの「ＯＦＦ」の信号とアクセス処理の「未実行」とを対応付けた情報である。
【０１９３】
判定部２９７がコマンドＤ６０に基づいてアクセス処理の実行を決定した場合に、コマンド解析部２９１およびアプリ実行部２９５は、アクセス処理を実行するための処理を実行する。なお、コマンド解析部２９１およびアプリ実行部２９５が実行する処理内容は、図１１を用いて説明した処理と重複するため、説明を省略する。
【０１９４】
また、第１グループに含まれるＩＯユニット２００は、第３スイッチ３３が「ＯＮ」であることを示すコマンドを受信した場合にアクセス処理を実行するようにし、第２グループに含まれるＩＯユニット２００は、第３スイッチ３３が「ＯＦＦ」であることを示すコマンドを受信した場合にアクセス処理を実行するようにしてもよい。
【０１９５】
各ＩＯユニット２００が、入力ユニット３００から送られる記憶部４００にアクセスする処理を実行するか否かを判定する処理を実行する構成の場合、ＩＯユニット２００の設定を変更するだけで、スイッチ３０の機能を変更することができる。その結果、機能ユニットの組み替えが多い制御システムであっても、第１の機能ユニットの設定を変更することなく、組み替えた機能ユニットの設定を変更するだけで、設定を更新することができる。
【０１９６】
＜Ｉ．その他＞
本実施の形態において、アクセス処理を実行可能なユニットをＩＯユニット２００として説明したが、入力ユニット３００、通信カプラ５００、およびその他の種類の機能ユニット２がアクセス処理を実行可能であってもよい。
【０１９７】
＜Ｊ．利点＞
入力ユニット３００の備えるスイッチ３０を操作することで、設定情報２１を記憶部４００に読み込む処理および記憶部４００から設定情報２１を読み出す処理のうちの少なくとも一方の処理を実行することができる。入力ユニット３００の設置場所は、ＣＰＵユニット１００の設置場所に依存されないため、ＣＰＵユニット１００の設置場所に依存されることなく、アクセス処理を実行するための操作を行なう場所を自由に設定できる。
【０１９８】
また、ＣＰＵユニット１００にスイッチ３０を設けることも可能であるが、ＣＰＵユニット１００に設けることのできるスイッチ３０の数には限りがある。ＣＰＵユニット１００に接続可能な機能ユニット２に対して、ＣＰＵユニット１００に設けることのできるスイッチ３０の数は少ないため、設定可能な機能に限りがある。これに対して、本実施の形態の制御システム１のように、入力ユニット３００を接続することでアクセス処理の実行をできる構成の場合、入力ユニット３００の数を増やすことで、ＣＰＵユニット１００だけにスイッチ３０を設ける場合に比べて多くの機能を設定することができる。
【０１９９】
また、スイッチ３０を備えていない機能ユニット２に対しても、スイッチ３０を操作するだけでアクセス処理を実行させることができる。また、離れた場所に点在する機能ユニット２に対しても、まとめてアクセス処理の実行を指示することができる。
【０２００】
また、スイッチ３０を操作するという物理的な操作によりアクセス処理を実行できるため、直感的な操作によってアクセス処理を実行することができる。特に、機能ユニット２ごと、あるいは、製造ラインＬごとにスイッチ３０を設けた場合には、どの機能ユニット２がアクセス処理の実行対象であるかをユーザが直感的に把握しやすい。
【０２０１】
［付記］
以上のように、本実施の形態は以下のような開示を含む。
【０２０２】
（構成１）
制御システム（１）であって、
記憶部（４００）と、
前記記憶部（４００）と通信可能に接続されたコントローラ（１００）と、
予め定められた設定情報（２１）に基づいて動作し、前記コントローラ（１００）と通信可能に接続された複数の機能ユニット（２）とを備え、
前記機能ユニットは、ユーザ操作を受け付ける入力部（３０）を有する第１の機能ユニット（３００）を含み、
前記第１の機能ユニット（３００）は、前記入力部（３０）がユーザ操作により特定の１または複数の機能ユニット（２００）から前記記憶部へのアクセス処理の実行を受け付けた場合に、該アクセス処理を実行するためのコマンド（Ｄ６０）を生成し、
前記入力部（３０）が受け付けたユーザ操作により指定される第２の機能ユニット（２００）は、前記コマンドに応じて、前記アクセス処理として該第２の機能ユニットの前記設定情報を前記記憶部に読み込む処理および前記記憶部から前記設定情報を読み出す処理のうちの少なくとも一方の処理を実行するを実行する（２９２）、制御システム。
【０２０３】
（構成２）
前記第１の機能ユニット（３００）は、前記コマンド（Ｄ６０）を生成した場合に、前記入力部が受け付けたユーザ操作に対応する対応付け情報（６２）に基づいて、前記第２の機能ユニットを特定するとともに（６１１）、前記コマンドを前記第２の機能ユニットに送信する（６１３）、構成１に記載の制御システム。
【０２０４】
（構成３）
前記第１の機能ユニット（３００）は、前記コマンド（Ｄ６０）を該第１の機能ユニットとは異なる機能ユニット（２００）に送信し、
前記第１の機能ユニットとは異なる機能ユニットの各々は、前記コマンド（Ｄ６０）に基づいて前記記憶部にアクセスするための処理を実行するか否かを決定する（２９７）、構成１に記載の制御システム。
【０２０５】
（構成４）
前記記憶部を複数（４１０、４２０）備え、
前記入力部（３２）は、前記第２の機能ユニットがアクセスする記憶部の選択をさらに受け付け、
前記第２の機能ユニット（２００）は、前記コマンドに応じて、前記入力部により選択された記憶部にアクセスするための処理を実行する（２９５）、構成１〜構成３のうちいずれかに記載の制御システム。
【０２０６】
（構成５）
前記入力部（３３）は、複数の機能ユニットを前記第２の機能ユニットに指定することをさらに受け付ける、構成１〜構成４のうちいずれかに記載の制御システム。
【０２０７】
（構成６）
前記第１の機能ユニット（３００）は、前記記憶部にアクセスするための処理の実行状況を通知可能な通知部（３１５）をさらに備える、構成１〜構成５のうちいずれかに記載の制御システム。
【０２０８】
（構成７）
予め定められた設定情報に基づいて動作する機能ユニット（３００）であって、
他の機能ユニット（２００）および記憶部（４００）と通信可能に接続されたコントローラ（１００）への通信を制御する通信制御部（６１３）と、
ユーザ操作を受け付ける入力部（３０）と、
前記入力部（３０）がユーザ操作により、特定の１または複数の機能ユニット（２００）から前記記憶部（４００）にアクセスするための処理の実行を受け付けた場合に（ＳＱ２）、該アクセス処理として該特定の１または複数の機能ユニットの前記設定情報を前記記憶部に読み込む処理および前記記憶部から前記設定情報を読み出す処理のうちの少なくとも一方の処理を実行するためのコマンド（Ｄ６０）を生成する生成部（６１１）とを備え、
前記通信制御部（６１３）は、前記生成部（６１１）が前記コマンドを生成した場合に、前記入力部（３３）が受け付けたユーザ操作により指定される第２の機能ユニット（２００）に前記コマンドを送信する（ＳＱ８，ＳＱ１０）、機能ユニット。
【符号の説明】
【０２０９】
１  制御システム、２  機能ユニット、３  リモートＩＯ装置、２１  設定情報、２６  コマンド対応情報、２７  メモリデバイス情報、２８  アプリケーション情報、２９  アプリケーションプログラム、３０  スイッチ、３１  第１スイッチ、３２  第２スイッチ、３３  第３スイッチ、３４  第４スイッチ、５１  内部バス、５１Ａ  ダウンリンク、５１Ｂ  アップリンク、６１  コマンド生成プログラム、６２  信号対応情報、６３  ユニット情報、６４  グループ情報、６５  点灯プログラム、９１  詳細設定画面、９２  ネットワーク画面、１００  ＣＰＵユニット、１３０  電源ユニット、１４０  内部バス制御部、１４２  送信回路、１４３  内部バス通信コントローラ、１４４  受信回路、１４５  記憶装置、１５１  上位ネットワーク、１６１  接続ケーブル、１７０  フィールドバス制御部、１７１  フィールドバス通信コントローラ、１７３  メモリコントローラ、１７６  フィールドネットワーク、２１６  ＩＯモジュール、２４０  受信処理部、２４２  復号部、２４４  ＣＲＣチェック部、２５０  送信処理部、２５２  ＣＲＣ生成部、２５４  符号化部、２７２  ＩＰアドレス、２７３  ファイル情報、２８１  アプリケーション種別／設定  ２９１  コマンド解析部、２９２  バックアッププログラム、２９４  リストアプログラム、２９５  アプリ実行部、２９６  停止プログラム、２９７  判定部、２９８  コマンド解析プログラム、２９９  判定情報、４００  記憶部、４１０  メモリカード、１１５  メモリカードＩＦ、４２０  サーバ、５００  通信カプラ、５１２  システムプログラム、５１４  構成情報、６００  サポート装置、６１０  キーボード、６１１  コマンド生成部、６１２  マウス、６１４  ディスプレイ、６１６  駆動装置、６４１  グループ設定情報、６５０  サポートプログラム、６５１  点灯制御部、６６０  ユーザプログラム、６９０  ＲＯＭ、９００  設定画面。
【図１】
2019148979.tif 000003
【図２】
2019148979.tif 000004
【図３】
2019148979.tif 000005
【図４】
2019148979.tif 000006
【図５】
2019148979.tif 000007
【図６】
2019148979.tif 000008
【図７】
2019148979.tif 000009
【図８】
2019148979.tif 000010
【図９】
2019148979.tif 000011
【図１０】
2019148979.tif 000012
【図１１】
2019148979.tif 000013
【図１２】
2019148979.tif 000014
【図１３】
2019148979.tif 000015
【図１４】
2019148979.tif 000016
【図１５】
2019148979.tif 000017
【図１６】
2019148979.tif 000018