(57)【要約】【課題】制御対象機器の制御処理を指示する指示情報の送信処理を実行するマスタプログラムの実行が主制御機器において実行不能状態となった場合に、当該指示情報の送信処理を継続することができる通信装置および通信方法を提供する。【解決手段】実施形態の通信装置は、制御対象機器の制御処理を指示する指示情報の送信処理を実行するための第１プログラムを実行する第１実行部と第１プログラムによる送信処理の一部の処理を代替して送信処理を高速化するための第２プログラムを実行する第２実行部とを有する主制御機器に通信ネットワークを介して接続され指示情報に応じて制御処理を実行する複数の通信装置のうちいずれかの通信装置であって、実行部を備える。実行部は、第１実行部による第１プログラムの実行が実行不能状態となった場合に、第１実行部に代わり第１プログラムを実行する。【選択図】図１
2014003364.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器の制御処理を指示する指示情報の送信処理を実行するための第１プログラムを実行する第１実行部と前記第１プログラムによる前記送信処理の一部の処理を代替して前記送信処理を高速化するための第２プログラムを実行する第２実行部とを有する主制御機器に通信ネットワークを介して接続され前記指示情報に応じて前記制御処理を実行する複数の通信装置のうちいずれかの通信装置であって、
前記第１実行部による前記第１プログラムの実行が実行不能状態となった場合に、前記第１実行部に代わり前記第１プログラムを実行する実行部、
を備えた通信装置。
【請求項２】
前記実行部は、前記複数の通信装置の中から自装置が予め選択されていた場合または予め設定された選択条件を満たした場合に、前記第１プログラムを実行する請求項１に記載の通信装置。
【請求項３】
次に前記第１実行部に代わり前記第１プログラムを実行させる他の前記通信装置の選択に用いる選択情報を取得するための取得信号を前記通信装置に送信する送信部と、
前記他の通信装置から送信された前記取得信号に対する応答信号を受信する受信部と、
前記応答信号に基づいて前記選択情報を取得するとともに、取得した前記選択情報に基づいて前記他の通信装置を選択する選択部と、
を備えた請求項２に記載の通信装置。
【請求項４】
前記選択部は、前記応答信号に基づいて自装置と前記他の通信装置との間での通信に要する通信時間を前記選択情報として取得するとともに、前記通信時間が最も短い前記他の通信装置を選択する請求項３に記載の通信装置。
【請求項５】
前記受信部は、前記他の通信装置が前記制御処理を実行する前記制御対象機器の数を含む前記応答信号を受信し、
前記選択部は、前記制御対象機器の数を前記選択情報として取得するとともに、取得した前記制御対象機器の数が最も少ない前記他の通信装置を選択する請求項３に記載の通信装置。
【請求項６】
前記受信部は、前記他の通信装置が備える前記実行部が前記第１プログラムの実行にかけられる処理能力を含む前記応答信号を受信し、
前記選択部は、前記処理能力を前記選択情報として取得するとともに、取得した前記処理能力が最も高い前記他の通信装置を選択する請求項３に記載の通信装置。
【請求項７】
制御対象機器の制御処理を指示する指示情報の送信処理を実行するための第１プログラムを実行する第１実行部と前記第１プログラムによる前記送信処理の一部の処理を代替して前記送信処理を高速化するための第２プログラムを実行する第２実行部とを有する主制御機器に通信ネットワークを介して接続され前記指示情報に応じて前記制御処理を実行する複数の通信装置のうちいずれかの通信装置で実行される通信方法であって、
前記通信装置は、
実行部が、前記第１実行部による前記第１プログラムの実行が実行不能状態となった場合に、前記第１実行部に代わり前記第１プログラムを実行する工程、
を含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置および通信方法に関する。
【背景技術】
【０００２】
マスタ局としての制御機器と子局としてのＩ／Ｏ機器とをネットワークで接続した制御システムの技術が発展するとともに当該制御システムに含まれるネットワーク機器が発達したため、制御機器と、ネットワークを介して遠隔地に設置されたＩ／Ｏ機器と、を１つの制御システムとして運用できるようになった。
【０００３】
一般的な制御システムは、Ｉ／Ｏ機器に接続されたフィールド機器（制御対象機器）の制御を指示する指示信号を、オペレータの操作により制御機器からＩ／Ｏ機器に送信することにより、フィールド機器を制御する。例えば、発電所のパイプの温度を下げる減温水の注水弁（フィールド機器）を制御する場合、温度センサによりパイプの温度が高いことが検知されてその検知結果が制御機器に送信されると、制御機器は、Ｉ／Ｏ機器に対して注水弁を開くことを指示する指示信号を送信して、注水弁を開かせることによりパイプの温度を制御する。
【０００４】
また、制御システムの信頼性および安全性の向上を図るために、制御システム内に複数の制御機器を設けることにより、制御システム内の１つの制御機器に異常が発生した場合、他の制御機器が、当該１つの制御機器の異常を検知し当該１つの制御機器から情報を取得してマスタ局として機能する。これにより、１つの制御機器で異常が発生した場合でも、制御システム全体の制御を続けることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４１６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、制御システムは、当該制御システムの安全運転を確保するため、ユーザが定時的に制御システムに含まれる各機器の点検を実施する必要があるが、単一の制御機器と複数のＩ／Ｏ機器とを備える制御システムにおいては、制御システムの点検のために恣意的に制御機器を停止させた場合、フィールドデバイスを制御することができず制御システムとしての運転を継続することができない、という課題がある。また、単一の制御機器と複数のＩ／Ｏ機器とを備える制御システムは、偶発的に制御機器が故障した場合やネットワークが切断された場合も同様に、制御システムとしての運転を継続することができない、という課題がある。
【課題を解決するための手段】
【０００７】
実施形態の通信装置は、制御対象機器の制御処理を指示する指示情報の送信処理を実行するための第１プログラムを実行する第１実行部と第１プログラムによる送信処理の一部の処理を代替して送信処理を高速化するための第２プログラムを実行する第２実行部とを有する主制御機器に通信ネットワークを介して接続され指示情報に応じて制御処理を実行する複数の通信装置のうちいずれかの通信装置であって、実行部を備える。実行部は、第１実行部による第１プログラムの実行が実行不能状態となった場合に、第１実行部に代わり第１プログラムを実行する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態にかかる制御システムの構成を示すブロック図である。
【図２】図２は、本実施形態にかかる制御システムが備えるマスタ制御機器およびリモートＩ／Ｏステーションのメモリ構成を示す図である。
【図３】図３は、本実施形態にかかる制御システムが備えるマスタ制御機器において実行される処理の流れを示すフローチャートである。
【図４】図４は、本実施形態にかかる制御システムが備えるリモートＩ／Ｏステーションにおいて実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、本実施形態にかかる制御システムの構成を示すブロック図である。図２は、本実施形態にかかる制御システムが備えるマスタ制御機器およびリモートＩ／Ｏステーションのメモリ構成を示す図である。本実施形態にかかる制御システム１は、単一のマスタ制御機器１０（主制御機器）と、複数のリモートＩ／Ｏステーション１１（通信装置）と、ＩＯモジュール１２と、フィールド機器１３（制御対象機器）と、を備えている。
【００１０】
フィールド機器１３は、制御システム１においてマスタ制御機器１０により制御される制御対象機器である。ＩＯモジュール１２は、フィールド機器１３とリモートＩ／Ｏステーション１１とを接続する。
【００１１】
本実施形態では、マスタ制御機器１０は、ＭＰＵ（Micro  Processing  Unit）１０１、メモリ１０２、ＬＰＵ（Language  Processing  Unit）１０３、およびネットワークＩ／Ｆ１０４を備えている。メモリ１０２は、図２に示すように、フィールド機器１３の制御処理を指示する指示情報（例えば、フィールド機器１３が発電所のパイプの温度を下げる減温水の注水弁である場合、温度センサにより検知されたパイプの温度に応じた注水弁の開閉を指示する信号など）を含むユーザプログラムを記憶する第１記憶領域２０１、ユーザプログラムに含まれる指示情報の送信処理を実行してマスタ制御機器１０としての最低限の動作を確保する第１制御プログラムを記憶する第２記憶領域２０２、および第１制御プログラムによる送信処理の一部の処理を代替して送信処理を高速化する第２制御プログラムを記憶する第３記憶領域２０３を有している。
【００１２】
ネットワークＩ／Ｆ１０４は、マスタ制御機器１０を通信ネットワークに接続する。ＭＰＵ１０１は、第２記憶領域２０２に記憶された第１制御プログラムを実行して、フィールド機器１３の制御処理を指示する指示情報をネットワークＩ／Ｆ１０４を介してフィールド機器１３に対して送信する。本実施形態では、ＭＰＵ１０１は、第１制御プログラムを実行する第１実行部として機能する。また、本実施形態では、マスタ制御機器１０は、第１制御プログラムを実行する制御素子としてＭＰＵ１０１を用いているが、リモートＩ／Ｏステーション１１よりも高速に第１制御プログラムを実行できる制御素子であれば良い。
【００１３】
ＬＰＵ１０３は、ＭＰＵ１０１によって第１制御プログラムが実行された際に、第３記憶領域２０３に記憶された第２制御プログラムを実行して、第１制御プログラムによる送信処理の一部の処理を代替する。これにより、ＬＰＵ１０３は、ＭＰＵ１０１により実行される制御処理の高速化を図る。本実施形態では、ＬＰＵ１０３は、第２制御プログラムを実行する第２実行部として機能する。
【００１４】
リモートＩ／Ｏステーション１１は、通信ネットワークを介してマスタ制御機器１０に接続され、当該マスタ制御機器１０から送信された指示情報に応じてフィールド機器１３の制御処理を実行する。また、リモートＩ／Ｏステーション１１は、マスタ制御機器１０により第１制御プログラムの実行が実行不能状態となった場合に、マスタ制御機器１０のＭＰＵ１０１に代わり第１制御プログラムを実行する。
【００１５】
本実施形態では、リモートＩ／Ｏステーション１１は、ＦＰＧＡ（Field  Programmable  Gate  Array）１１１、メモリ１１２、およびネットワークＩ／Ｆ１１３を備えている。メモリ１１２は、図２に示すように、ユーザプログラムを記憶する第１記憶領域２０４、および第１制御プログラムを記憶する第２記憶領域２０５を有している。
【００１６】
ネットワークＩ／Ｆ１１３は、リモートＩ／Ｏステーション１１をネットワークに接続する。ＦＰＧＡ１１１は、マスタ制御機器１０が備えるＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に、ＭＰＵ１０１に代わり第２記憶領域２０５に記憶された第１制御プログラムを実行する。これにより、マスタ制御機器１０が備えるＭＰＵ１０１により指示情報の送信処理を行う場合よりも低速になるが、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合であっても、フィールド機器１３に対する指示情報の送信処理を継続することができる。本実施形態では、ＦＰＧＡ１１１が、第１制御プログラムを実行する実行部として機能する。
【００１７】
次に、図３を用いて、本実施形態にかかる制御システム１が備えるマスタ制御機器１０において実行される処理について詳細に説明する。図３は、本実施形態にかかる制御システムが備えるマスタ制御機器において実行される処理の流れを示すフローチャートである。
【００１８】
マスタ制御機器１０は、当該マスタ制御機器１０が起動する初期動作段階において、マスタ制御機器１０において異常が発生した場合やマスタ制御機器１０の点検を実施する場合などＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合にＭＰＵ１０１に代わり第１制御プログラムを実行させるリモートＩ／Ｏステーション１１を選択する処理を行う。
【００１９】
具体的には、ＭＰＵ１０１は、マスタ制御機器１０が初期動作段階において、ネットワークＩ／Ｆ１０４を介して、マスタ制御機器１０に接続された複数のリモートＩ／Ｏステーション１１に対して選択情報を取得するための取得信号をリモートＩ／Ｏステーション１１に送信する（ステップＳ３０１）。ここで、選択情報とは、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に当該ＭＰＵ１０１に代わって第１制御プログラムを実行させるリモートＩ／Ｏステーション１１の選択に用いる情報である。例えば、選択情報は、マスタ制御機器１０とリモートＩ／Ｏステーション１１との間での通信に要する通信時間、リモートＩ／Ｏステーション１１が制御処理を実行するフィールド機器１３の数、リモートＩ／Ｏステーション１１が備えるＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力などである。本実施形態では、ＭＰＵ１０１は、ＰＩＮＧ（Packet  Internet  Groper）機能を用いて、複数のリモートＩ／Ｏステーション１１に対して取得信号を送信する。
【００２０】
次いで、ＭＰＵ１０１は、ネットワークＩ／Ｆ１０４を介して、リモートＩ／Ｏステーション１１から、取得信号に対する応答信号を受信する（ステップＳ３０２）。本実施形態では、ＭＰＵ１０１は、リモートＩ／Ｏステーション１１が制御処理を実行するフィールド機器１３の数、およびリモートＩ／Ｏステーション１１が備えるＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力を含む応答信号を受信する。
【００２１】
リモートＩ／Ｏステーション１１から応答信号を受信すると、ＭＰＵ１０１は、受信した応答信号に基づいて選択情報を取得するとともに、取得した選択情報に基づいてリモートＩ／Ｏステーション１１を選択する（ステップＳ３０３）。そして、ＭＰＵ１０１は、選択したリモートＩ／Ｏステーション１１に対して、選択されたことを通知する。本実施形態では、ＭＰＵ１０１は、リモートＩ／Ｏステーション１１から応答信号を受信すると、以下に示す第１〜３選択方法のいずれを用いて、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に当該ＭＰＵ１０１に代わり第１制御プログラムを実行させるリモートＩ／Ｏステーション１１を予め選択する。本実施形態では、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に第１制御プログラムを実行するリモートＩ／Ｏステーション１１が予め選択される構成となっているが、これに限定するものではなく、例えば、リモートＩ／Ｏステーション１１（ＦＰＧＡ１１１）が自ら、予め設定された選択条件を満たしているか否かを判断し、当該選択条件を満たしていると判断した場合に、第１制御プログラムを実行するようにしても良い。
【００２２】
まず、第１選択方法によりリモートＩ／Ｏステーション１１を選択する方法について説明する。第１選択方法によりリモートＩ／Ｏステーション１１を選択する場合、ＭＰＵ１０１は、受信した応答信号に基づいて自装置とリモートＩ／Ｏステーション１１との間で通信に要する通信時間を取得する。具体的には、ＭＰＵ１０１は、ＰＩＮＧ機能により取得信号を送信してから応答信号を受信するまでの時間を通信時間として取得する。そして、ＭＰＵ１０１は、複数のリモートＩ／Ｏステーション１１のうち、取得した通信時間が最も短いリモートＩ／Ｏステーション１１を選択する。制御システム１が正常に動作している場合、マスタ制御機器１０とリモートＩ／Ｏステーション１１とは、１秒間に数回に亘って情報を送受信する場合がある。そこで、ＭＰＵ１０１は、マスタ制御機器１０とリモートＩ／Ｏステーション１１との間での情報の送受信に要する時間を通信時間として取得し、取得した通信時間が一番短いリモートＩ／Ｏステーション１１を、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった際に当該ＭＰＵ１０１に代わり第１制御プログラムとして実行させるリモートＩ／Ｏステーション１１に選択する。これにより、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となったことを最も早く検出可能なリモートＩ／Ｏステーション１１を選択することができるので、制御システム１内においてマスタ制御機器１０として機能する機器が不在となる時間を短くすることができる。なお、本実施形態では、マスタ制御機器１０に対して送信した各種信号に対する応答があるか否かによりＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となったか否かを判断するものとする。
【００２３】
次に、第２選択方法によりリモートＩ／Ｏステーション１１を選択する方法について説明する。第２選択方法によりリモートＩ／Ｏステーション１１を選択する場合、ＭＰＵ１０１は、受信した応答信号に含まれる、リモートＩ／Ｏステーション１１が制御処理を実行するフィールド機器１３の数（ＩＯモジュール１２を介して各リモートＩ／Ｏステーション１１に接続されたフィールド機器１３の数）を選択情報として取得する。そして、ＭＰＵ１０１は、選択情報として取得したフィールド機器１３の数が最も少ないリモートＩ／Ｏステーション１１を選択する。第２選択方法によれば、ＩＯモジュール１２を介して接続されたフィールド機器１３の数が少なく制御処理の実行による処理負荷が最も小さいリモートＩ／Ｏステーション１１を選択することができるので、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に、複数のリモートＩ／Ｏステーション１１のうち特定のリモートＩ／Ｏステーション１１の処理負荷が大きくなることを防止できる。
【００２４】
次に、第３選択方法によりリモートＩ／Ｏステーション１１を選択する方法について説明する。第３選択方法によりリモートＩ／Ｏステーション１１を選択する場合、ＭＰＵ１０１は、受信した応答信号に含まれる、リモートＩ／Ｏステーション１１が備えるＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力を選択情報として取得する。そして、ＭＰＵ１０１は、選択情報として取得した処理能力が最も高いリモートＩ／Ｏステーション１１（例えば、フィールド機器１３との間でやりとりする情報量が少ないリモートＩ／Ｏステーション１１）を選択する。第３選択方法によれば、フィールド機器１３との間でやりとりする情報量が少なく、第１制御プログラムの実行にかけられる処理能力が高いリモートＩ／Ｏステーション１１を選択することができるので、ＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に、複数のリモートＩ／Ｏステーション１１のうち第１制御プログラムを高速に実行できるリモートＩ／Ｏステーション１１を選択することができる。
【００２５】
ＭＰＵ１０１は、第１〜３選択方法のうちいずれの選択方法を用いてリモートＩ／Ｏステーション１１を選択するかは、受信した応答信号に含まれる情報に基づいて決定する。例えば、受信した応答信号にフィールド機器１３の数およびＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力のいずれも含まれていない場合には、ＭＰＵ１０１は、第１選択方法を用いてリモートＩ／Ｏステーション１１を選択する。また、受信した応答信号にフィールド機器１３の数が含まれている場合には、ＭＰＵ１０１は、第２選択方法を用いてリモートＩ／Ｏステーション１１を選択する。また、受信した応答信号に、ＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力が含まれている場合には、ＭＰＵ１０１は、第３選択方法を用いてリモートＩ／Ｏステーション１１を選択する。さらに、受信した応答信号にフィールド機器１３の数および処理能力の両方が含まれていた場合には、ＭＰＵ１０１は、第２選択方法および第３選択方法のうち予め設定されている選択方法を用いてリモートＩ／Ｏステーション１１を選択する。また、ＭＰＵ１０１は、第１〜３選択方法に予め優先順位が設定されている場合には、優先順位が高い選択方法を用いてリモートＩ／Ｏステーション１１を選択しても良い。
【００２６】
リモートＩ／Ｏステーション１１が選択されると、ＭＰＵ１０１は、第２記憶領域２０２に記憶された第１制御プログラムを実行して、メモリ１０２の第１記憶領域２０１に記憶されたユーザプログラムに含まれる指示情報を送信する（ステップＳ３０４）。ＭＰＵ１０１により第１制御プログラムが実行されると、ＬＰＵ１０３は、メモリ１０２の第３記憶領域２０３に記憶された第２制御プログラムを実行して、第１制御プログラムによる送信処理の一部の処理を代替する。
【００２７】
さらに、ＭＰＵ１０１は、マスタ制御機器１０が正常に動作している間に（つまり、第１制御プログラムが実行されている間に）、ステップＳ３０３において選択したリモートＩ／Ｏステーション１１に対して、メモリ１０２の第１記憶領域２０１に記憶されたユーザプログラムを分割して送信する（ステップＳ３０５）。本実施形態では、ＭＰＵ１０１は、選択したリモートＩ／Ｏステーション１１に対してユーザプログラムを送信しているが、制御システム１に含まれる複数のＩ／Ｏステーション１１に対してユーザプログラムを送信しておいても良い。
【００２８】
次に、図４を用いて、マスタ制御機器１０に代わって第１制御プログラムを実行するリモートＩ／Ｏステーション１１として予め選択されたリモートＩ／Ｏステーション１１において実行される処理について詳細に説明する。図４は、本実施形態にかかる制御システムが備えるリモートＩ／Ｏステーションにおいて実行される処理の流れを示すフローチャートである。
【００２９】
リモートＩ／Ｏステーション１１のＦＰＧＡ１１１は、マスタ制御機器１０から選択されたことが通知されると、マスタ制御機器１０から送信されたユーザプログラムをメモリ１１２の第１記憶領域２０４に記憶させるとともに、マスタ制御機器１０における第１制御プログラムの実行が実行不能状態となったか否かを検出する（ステップＳ４０１）。本実施形態では、選択されたことが通知されると、ＦＰＧＡ１１１は、マスタ制御機器１０に対して送信した各種信号に対する応答があるか否かによりマスタ制御機器１０による第１制御プログラムの実行が実行不能状態となっているか否かを検出する。そして、ＦＰＧＡ１１１は、マスタ制御機器１０に対して送信した各種信号に対する応答が無かった場合、マスタ制御機器１０において異常が発生したか若しくはマスタ制御機器１０が点検により停止して第１制御プログラムの実行が実行不能状態となっていると判断する。
【００３０】
マスタ制御機器１０による第１制御プログラムの実行が実行不能状態となったことを検出した場合（ステップＳ４０１：Ｙｅｓ）、ＦＰＧＡ１１１は、ネットワークＩ／Ｆ１１３を介して、他のリモートＩ／Ｏステーション１１（他の通信装置）に対して、選択情報を取得するための取得信号をリモートＩ／Ｏステーション１１に送信する（ステップＳ４０２）。ここで、選択情報とは、次にＭＰＵ１０１に代わり第１制御プログラムを実行させるリモートＩ／Ｏステーション１１の選択に用いる情報である。例えば、選択情報は、他のリモートＩ／Ｏステーション１１との間での通信に要する通信時間、他のリモートＩ／Ｏステーション１１が制御処理を実行するフィールド機器１３の数、他のリモートＩ／Ｏステーション１１が備えるＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力などである。本実施形態では、ＦＰＧＡ１１１は、ＰＩＮＧ機能を用いて、他のリモートＩ／Ｏステーション１１に対して取得信号を送信する。
【００３１】
次いで、ＦＰＧＡ１１１は、ネットワークＩ／Ｆ１１３を介して、他のリモートＩ／Ｏステーション１１から、取得信号に対する応答信号を受信する（ステップＳ４０３）。本実施形態では、ＦＰＧＡ１１１は、他のリモートＩ／Ｏステーション１１が制御処理を実行するフィールド機器１３の数、および他のリモートＩ／Ｏステーション１１が備えるＦＰＧＡ１１１が第１制御プログラムの実行にかけられる処理能力を含む応答信号を受信する。
【００３２】
他のリモートＩ／Ｏステーション１１から応答信号を受信すると、ＦＰＧＡ１１１は、受信した応答信号に基づいて選択情報を取得するとともに、取得した選択情報に基づいてリモートＩ／Ｏステーション１１を選択する（ステップＳ４０４）。そして、ＦＰＧＡ１１１は、選択したリモートＩ／Ｏステーション１１に対して、選択されたことを通知する。本実施形態では、ＦＰＧＡ１１１は、リモートＩ／Ｏステーション１１から応答信号を受信すると、上述した第１〜３選択方法のいずれを用いて、次にＭＰＵ１０１に代わり第１制御プログラムを実行させる他のリモートＩ／Ｏステーション１１を選択する。なお、第１〜３選択方法の詳細は、上述した、マスタ制御機器１０における第１〜３選択方法と同様である。
【００３３】
リモートＩ／Ｏステーション１１が選択されると、第２記憶領域２０５に記憶された第１制御プログラムを実行して、第１記憶領域２０４に記憶されたユーザプログラムに含まれる指示情報を送信する（ステップＳ４０５）。
【００３４】
さらに、ＦＰＧＡ１１１は、自身が正常に動作している間に（つまり、第１制御プログラムが実行されている間に）、ステップＳ４０４において選択したリモートＩ／Ｏステーション１１に対して、メモリ１１２の第１記憶領域２０４に記憶されたユーザプログラムを分割して送信する（ステップＳ４０６）。
【００３５】
このように、本実施形態のリモートＩ／Ｏステーション１１によれば、マスタ制御機器１０のＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合に、ＭＰＵ１０１の代わりに第１制御プログラムを実行することにより、マスタ制御機器１０のＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合でもフィールド機器１３の制御処理を指示する指示情報の送信処理を継続することができるので、マスタ制御機器１０のＭＰＵ１０１による第１制御プログラムの実行が実行不能状態となった場合でも制御システム１の運転を継続することができる。また、マスタプログラム（ユーザプログラム、第１制御プログラム、および第２制御プログラム）を実行する複数のマスタ制御機器１０を制御システム１内に設ける必要がないので、設備上のコストを削減することができる。さらに、マスタプログラムの導入による作業工数が増えることを防止でき、かつ異常が発生した箇所の検出作業を簡単化することができる。
【００３６】
本実施形態のマスタ制御機器１０およびリモートＩ／Ｏステーション１１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００３７】
また、本実施形態のマスタ制御機器１０およびリモートＩ／Ｏステーション１１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のマスタ制御機器１０およびリモートＩ／Ｏステーション１１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００３８】
また、本実施形態のマスタ制御機器１０およびリモートＩ／Ｏステーション１１で実行されるプログラムを、ＲＯＭ（Read  Only  Memory）等に予め組み込んで提供するように構成してもよい。
【００３９】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４０】
１０  マスタ制御機器
１１  リモートＩ／Ｏステーション
１２  ＩＯモジュール
１３  フィールド機器
１０１  ＭＰＵ
１０２，１１２  メモリ
１０３  ＬＰＵ
１０４，１１３  ネットワークＩ／Ｆ
１１１  ＦＰＧＡ
２０１，２０４  第１記憶領域
２０２，２０５  第２記憶領域
２０３  第３記憶領域
【図１】
2014003364.tif 000003
【図２】
2014003364.tif 000004
【図３】
2014003364.tif 000005
【図４】
2014003364.tif 000006