(57)【要約】【課題】常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができるＩ／Ｏインターフェース装置、制御方法および制御システムを提供すること。【解決手段】Ｉ／Ｏインターフェース装置３００ａ、が制御装置２００ａから演算の結果を受信する手段３２ａと、装置の動作状態が常用または待機であることを示す情報を生成する手段３３ａと、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段３１ａと、時間を繰り返し計時するタイマ３５ａと、前記タイマ３５ａが所定時間を計時した回数をカウントするカウンタ３６ａと、前記カウンタ３６ａによるカウント数が閾値より大きい場合、前記生成する手段３３ａに装置の動作状態が待機であることを示す情報を生成させる手段３７ａとを備える。【選択図】図１
2010244280.tif 000002
【特許請求の範囲】
【請求項１】
入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するＩ／Ｏインターフェース装置であって、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
時間を繰り返し計時するタイマと、
前記タイマが所定時間を計時した回数をカウントするカウンタと、
前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段と
を備えることを特徴とするＩ／Ｏインターフェース装置。
【請求項２】
前記装置の動作の異常または正常を診断する手段と、前記制御装置の動作状態が常用または待機のどちらかを示す情報を前記制御装置から受信する手段とを前記Ｉ／Ｏインターフェース装置がさらに備え、
前記生成する手段が、前記診断の結果が正常で、かつ前記制御装置から受信した情報が常用を示すものだった場合に常用を示す情報を生成すること
を特徴とする請求項１記載のＩ／Ｏインターフェース装置。
【請求項３】
入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するＩ／Ｏインターフェース装置の制御方法であって、
時間を繰り返し計時するステップと、
所定時間を計時した回数をカウントするステップと、
前記制御装置から演算の結果を受信するステップと、
装置の動作状態が常用または待機であることを示す情報を生成する第１の生成ステップと、
前記カウントした回数が閾値より大きい場合、待機を示す情報を生成する第２の生成ステップと、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力するステップと、
を備えることを特徴とする制御方法。
【請求項４】
常用または待機のどちらかで動作する制御装置およびＩ／Ｏインターフェース装置を備える制御システムであって、
前記制御装置は、
演算用データを受信する手段と、
前記受信した演算用データに基づいて演算を行う手段と、
前記Ｉ／Ｏインターフェース装置に対して前記演算の結果を送信する手段と
を備え、
前記Ｉ／Ｏインターフェース装置は、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
時間を繰り返し計時するタイマと、
前記タイマが所定時間を計時した回数をカウントするカウンタと、
前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に待機を示す情報を生成させる手段と、
を備えることを特徴とする制御システム。
【請求項５】
入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するＩ／Ｏインターフェース装置であって、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
前記制御装置の動作状態が常用または待機のどちらかを示す情報を前記制御装置から受信する手段と
前記制御装置から受信した情報が待機を示すものだった場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段と
を備えることを特徴とするＩ／Ｏインターフェース装置。
【請求項６】
入力された演算用データに基づいて演算を行う第１の制御装置に接続される第１のＩ／Ｏインターフェース装置と、前記第１の制御装置と同様の演算を行う第２の制御装置に接続される第２のＩ／Ｏインターフェース装置を備える制御システムであって、
前記第１のＩ／Ｏインターフェース装置は、
装置の動作状態が常用または待機であることを示す情報を生成する第１の生成手段と、
前記第２のＩ／Ｏインターフェース装置から送信される第１の信号を受信する手段と、
前記第１の信号を受信した回数をカウントする第１のカウント手段と、
前記第１のカウント手段がカウントした回数を記憶する第１の記憶手段と、
前記第１の記憶手段が記憶した回数が閾値より大きい場合、前記第１の生成手段に動作状態が待機であることを示す情報を生成させる第１の生成指示手段と、
前記第１の制御装置から前記演算の結果を受信する第１の受信手段と、
前記演算の結果を受信したことに対応して、前記第２のＩ／Ｏインターフェース装置に対して第２の信号を送信する第１の信号送信手段と
前記演算の結果を受信したことに対応して、前記第１の記憶手段が記憶した回数をリセットする手段と、
前記第１の生成手段が生成した情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
を備え、
前記第２のＩ／Ｏインターフェース装置は、
装置の動作状態が常用または待機であることを示す情報を生成する第２の生成手段と、
前記第１のＩ／Ｏインターフェース装置から送信された第２の信号を受信する第２の手段と、
前記第２の信号を受信した回数をカウントする第２のカウント手段と、
前記第２のカウント手段がカウントした回数を記憶する第２の記憶手段と、
前記第２の記憶手段が記憶した回数が閾値より大きい場合、前記第２の生成手段に動作状態が待機であることを示す情報を生成させる第２の生成指示手段と、
前記第２の制御装置から送信された演算の結果を受信する手段と、
前記演算の結果を受信したことに対応して、前記第１のＩ／Ｏインターフェース装置に前記第１の信号を送信する第２の信号送信手段と
前記演算の結果を受信したことに対応して、前記第２の記憶手段が記憶した回数をリセットする手段と、
前記第２の生成手段が生成した情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
を備えることを特徴とする制御システム。
【請求項７】
前記第１，第２の制御装置が、この第１，第２の制御装置のシステムを再起動する手段を備え、
前記第１，第２の受信する手段は、前記システムの再起動中は前記演算の結果を受信しないこと
を特徴とする請求項６に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ／Ｏインターフェース装置、制御方法および制御システムに関する。
【背景技術】
【０００２】
従来、プラントなどの監視を行う制御装置が知られている。このような制御装置は１台のＣＰＵ（中央演算装置）の故障による機能喪失を回避して稼働率を向上させるために、常用状態、待機状態のどちらかで動作するＣＰＵを２つ以上用いた同期二重化構成が取られている。
同期二重化構成を備える制御装置において、常用状態のＣＰＵの異常をタイマのタイムアウトによって検知し、このタイムアウトに基づいて待機状態のＣＰＵを常用状態に切り換える技術が知られている（例えば、特許文献１参照）。
ところで、上述のような制御装置には、ＣＰＵを備えるＣＰＵ装置と、ＣＰＵが演算した結果を外部に出力するためのＩ／Ｏインターフェース装置とを備える場合がある。
この場合、制御装置は常用状態のＣＰＵと、このＣＰＵに接続される常用状態のＩ／Ｏインターフェース装置と、待機状態のＣＰＵと、このＣＰＵに接続される待機状態のＩ／Ｏインターフェース装置で構成される。
このような構成を有する制御装置では、常用状態のＣＰＵに異常が発生すると、常用状態のＩ／Ｏインターフェース装置に対して動作状態を切り換える信号が出力され、常用状態のＣＰＵとＩ／Ｏインターフェース装置が待機状態に切り替わる。そして待機状態のＣＰＵとＩ／Ｏインターフェース装置が常用状態に切り替わる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−６０１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した制御装置では、なんらかの原因により動作状態を切り換える信号が常用状態のＩ／Ｏインターフェース装置で正常に受信され無い場合がある。
この場合、常用状態のＣＰＵおよび待機状態のＣＰＵはそれぞれ待機状態および常用状態に動作状態が切り替わるが、常用状態のＩ／Ｏインターフェース装置および待機状態のＩ／Ｏインターフェース装置は動作状態が切り替わらず演算の結果が正常に出力されない場合があった。
本発明は、かかる従来の問題を解消すべくなされたもので、常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができるＩ／Ｏインターフェース装置、制御方法および制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様にかかるＩ／Ｏインターフェース装置は、入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するＩ／Ｏインターフェース装置であって、前記制御装置から演算の結果を受信する手段と、装置の動作状態が常用または待機であることを示す情報を生成する手段と、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、時間を繰り返し計時するタイマと、前記タイマが所定時間を計時した回数をカウントするカウンタと、前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段とを備えることを特徴とする。
【０００６】
本発明の一態様にかかる制御方法は、入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するＩ／Ｏインターフェース装置の制御方法であって、時間を繰り返し計時するステップと、所定時間を計時した回数をカウントするステップと、前記制御装置から演算の結果を受信するステップと、装置の動作状態が常用または待機であることを示す情報を生成する第１の生成ステップと、前記カウントした回数が閾値より大きい場合、待機を示す情報を生成する第２の生成ステップと、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力するステップと、を備えることを特徴とする。
【０００７】
本発明の一態様にかかる制御システムは、常用または待機のどちらかで動作する制御装置およびＩ／Ｏインターフェース装置を備える制御システムであって、前記制御装置は、演算用データを受信する手段と、前記受信した演算用データに基づいて演算を行う手段と、前記Ｉ／Ｏインターフェース装置に対して前記演算の結果を送信する手段とを備え、Ｉ／Ｏインターフェース装置は、前記制御装置から演算の結果を受信する手段と、装置の動作状態が常用または待機であることを示す情報を生成する手段と、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、時間を繰り返し計時するタイマと、前記タイマが所定時間を計時した回数をカウントするカウンタと、前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に待機を示す情報を生成させる手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態にかかる制御システム１を表すブロック図である。
【図２】制御システム１の動作を表すシーケンス図である。
【図３】第１の実施形態にかかる第１のＩ／Ｏインターフェース装置３００ａのリセット処理を示すフローチャートである。
【図４】第２の実施形態にかかる制御システム２を表すブロック図である。
【図５】第２の実施形態にかかる第１のＩ／Ｏインターフェース装置４００ａのリセット処理の動作を示すフローチャートである。
【図６】第３の実施形態にかかる制御システム３を表すブロック図である。
【図７】第３の実施形態にかかる第１のＩ／Ｏインターフェース装置６００ａのリセット処理の動作を示すフローチャートである。
【図８】第４の実施形態にかかる制御システム４を表すブロック図である。
【図９】第４の実施形態にかかる第１のＩ／Ｏインターフェース装置７００ａのリセット処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下、図１を参照して、本発明の第１の実施形態にかかる制御システム１について説明する。図１は制御システム１を表すブロック図である。
制御システム１は、例えば、プラントなどの監視を行う。制御システム１は入出力用モジュール１００、第１ＣＰＵ装置２００ａ、第２ＣＰＵ装置２００ｂ、第１のＩ／Ｏインターフェース装置３００ａおよび第２のＩ／Ｏインターフェース装置３００ｂを備える。
【００１１】
入出力用モジュール１００は、演算用データを第1のＩ／Ｏインターフェース装置３００ａを介して第１ＣＰＵ装置２００ａに送信する。「演算用データ」はプラント監視に必要な種々のデータで構成される。
入出力用モジュール１００は、演算用データに基づいて行われた演算の結果（以下、演算結果と称す。）を第１または第２ＣＰＵ装置２００ａ,２００ｂから第1または第２のＩ／Ｏインターフェース装置３００ａ,３００ｂを介して受信する。
なお、演算用データおよび演算結果を第1または第２のＩ／Ｏインターフェース装置３００ａ,３００ｂを介して送受信することについては後述する。
【００１２】
第１，第２ＣＰＵ装置２００ａ，２００ｂは、演算用データに基づいてプラント監視に必要な種々の演算を行う制御装置である。
第１，第２ＣＰＵ装置２００ａ，２００ｂは常用状態または待機状態で動作する。
「常用状態」とは、演算結果が入出力用モジュール１００に対して出力される状態を示す。「待機状態」とは、演算結果が入出力用モジュール１００に対して出力されない状態を示す。
第１ＣＰＵ装置２００ａは通常時、常用状態で動作する。第２ＣＰＵ装置２００ｂは通常時、待機状態で動作する。「通常時」とは、制御システム１の各装置のシステムが立ち上がったときの初期状態を継続している状態を示す。
【００１３】
第１，第２ＣＰＵ装置２００ａ，２００ｂは、ほぼ同様の構成を有する。すなわち、第１，第２ＣＰＵ装置２００ａ，２００ｂは、それぞれ、制御部２１ａ，２１ｂ、記憶部２２ａ，２２ｂおよび二重化ステータス作成回路２３ａ，２３ｂをそれぞれ有している。
制御部２１ａ，２１ｂは、演算用データを受信して種々の演算を行う。制御部２１ａは、演算を行う前に入出力用モジュール１００から送信された演算用データを制御部２１ｂに送信する。データの送信は、一定時間毎に行われる。
制御部２１ａ，２１ｂは、演算結果を第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂにそれぞれ送信する。
【００１４】
制御部２１ａ，２１ｂは自装置が正常に動作しているか否かを診断する。「診断」の一例は、制御部２１ａ，２１ｂが記憶部２２ａ，２２ｂおよび二重化ステータス作成回路２３ａ，２３ｂと所定の信号の送受信をそれぞれ行うことである。
例えば、制御部２１ａが記憶部２２ａおよび二重化ステータス作成回路２３ａに対して所定の信号を送信する。記憶部２２ａおよび二重化ステータス作成回路２３ａは送信された信号に対する応答信号を制御部２１ａに送信する。
制御部２１ａは、応答信号を各装置から受信したことに基づいて自装置が正常に動作しているものと診断する。記憶部２２ａおよび二重化ステータス作成回路２３ａの一方から応答信号を受信しなかった場合、制御部２１ａは自装置の動作が異常であると診断する。
【００１５】
制御部２１ａ，２１ｂは、診断の結果を示すＣＰＵ診断情報を生成する。制御部２１ａ，２１ｂは、生成したＣＰＵ診断情報をそれぞれ二重化ステータス作成回路２３ａ，２３ｂに送信する。
制御部２１ａ，２１ｂは、制御装置のシステムを再起動する手段としての機能を有する。制御部２１ａ，２１ｂは、自装置の診断結果が異常だった場合、自装置のシステムリセットを行う。
「システムリセット」とは、装置のシステムを再起動することである。例えば、制御部２１ａがシステムリセットを行った場合、第１ＣＰＵ装置２００ａは、常用状態から待機状態へと動作状態が変更される。
システムリセットの際、演算は中断される。なお、制御部２１ａがシステムリセットを行う場合、制御部２１ｂに対する演算用データの送信は中断しない。
第１ＣＰＵ装置２００ａは自動または手動によって変更された待機状態から常用状態へと動作状態が再変更される。
【００１６】
制御部２１ａ，２１ｂは、システムリセットの際、第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂに対してそれぞれリセット信号を送信する。
「リセット信号」は、第１，第２のＩ／Ｏインターフェース装置３００ａの動作状態を常用状態から待機状態に変更するためのものである。
制御部２１ａ，２１ｂは、ＣＰＵステータス情報を二重化ステータス作成回路３３ａ，３３ｂから受信する。
「ＣＰＵステータス情報」は、例えば、第１ＣＰＵ装置２００ａの動作状態が常用状態または待機状態のどちらであるかを示すものである。
【００１７】
ＣＰＵステータス情報の一例は、信号の有無である。すなわち制御部２１ａ，２１ｂに所定の信号が入力されたとき、動作状態が常用状態であることを示し、所定の信号が入力されないとき動作状態が待機状態であることを示す。
制御部２１ａ，２１ｂは、演算結果と共にＣＰＵステータス情報をそれぞれ第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂに送信する。
記憶部２２ａ，２２ｂは、演算用データや制御部２１ａ，２１ｂでの演算結果などを一時的に記憶するためのものである。
【００１８】
二重化ステータス作成回路２３ａ，２３ｂは、それぞれＣＰＵステータス情報を生成する。二重化ステータス作成回路２３ａ，２３ｂは、生成したＣＰＵステータス情報を制御部２１ａ，２１ｂにそれぞれ送信する。
また、二重化ステータス作成回路２３ａは、二重化ステータス作成回路２３ｂに対して生成したＣＰＵステータス情報を送信する。二重化ステータス作成回路２３ｂは、二重化ステータス作成回路２３ａに対して、生成したＣＰＵステータス情報を送信する。
【００１９】
ここで、二重化ステータス作成回路２３ａ，２３ｂのＣＰＵステータス情報の生成について説明する。
二重化ステータス作成回路２３ａ，２３ｂは、制御部２１ａ，２１ｂから受信した自装置のＣＰＵ診断情報と二重化ステータス作成回路２３ａ，２３ｂ間で受信したＣＰＵステータス情報に基づいて、それぞれ自装置の動作状態を決定する。すなわち、常用状態または待機状態のいずれかに決定する。
具体的には、ＣＰＵ診断情報が正常で、かつ相手装置から受信したＣＰＵステータス情報が待機を示すものだった場合、自装置の動作状態を常用状態に決定する。二重化ステータス作成回路２３ａ，２３ｂは、これ以外の条件のときは自装置の動作状態を待機状態に決定する。
【００２０】
二重化ステータス作成回路２３ａ，２３ｂは決定した動作状態を示すＣＰＵステータス情報を生成する。
なお、第１ＣＰＵ装置２００ａのシステムの立ち上がり時には、二重化ステータス作成回路２３ａは、ＣＰＵ診断情報が正常であれば、常に常用状態を示すＣＰＵステータス情報を生成する。第２ＣＰＵ装置２００ｂのシステムの立ち上がり時には、二重化ステータス作成回路２３ｂは、ＣＰＵ診断情報が正常であれば、常に待機用状態を示すＣＰＵステータス情報を生成する。
以上がＣＰＵステータス情報の生成についての説明である。
【００２１】
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは常用または待機の状態で動作する。第１のＩ／Ｏインターフェース装置３００ａは通常時、常用状態で動作する。第２のＩ／Ｏインターフェース装置３００ｂは通常時、で待機状態で動作する。
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、常用状態の動作時に受信した演算結果を入出力用モジュール１００に出力する。
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、第１，第２ＣＰＵ装置２００ａ，２００ｂから送信された種々の情報を受信する。
具体的には、第１のＩ／Ｏインターフェース装置３００ａは、第１ＣＰＵ装置２００ａから送信された演算結果、リセット信号、ＣＰＵステータス情報を受信する。第２のＩ／Ｏインターフェース装置３００ｂは、第２ＣＰＵ装置２００ａから送信された演算結果、リセット信号、ＣＰＵステータス情報を受信する。
【００２２】
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、制御部３１ａ，３１ｂ、メモリ部３２ａ，３２ｂ、二重化ステータス作成回路３３ａ，３３ｂおよびステータス監視回路３４ａ，３４ｂをそれぞれ有する。
制御部３１ａ，３１ｂは、演算の結果を外部に出力する手段としての機能を有する。すなわち、第１，第２ＣＰＵ装置２００ａ，２００ｂの演算結果は、制御部３１ａ，３１ｂを介して入出力用モジュール１００に出力される。
また、制御部３１ａは、入出力用モジュール１００から演算用データを受信し、メモリ部３２ａを介して第１ＣＰＵ装置２００ａ，２００ｂの制御部２１ａに送信する。
制御部３１ａ，３１ｂは、それぞれメモリ部３２ａ，３２ｂを介して、第１，第２ＣＰＵ装置２００ａ，２００ｂから送信された演算結果、リセット信号、ＣＰＵステータス情報を受信する。
制御部３１ａ，３１ｂは、第１，第２ＣＰＵ装置２００ａ，２００ｂからの情報の受信の有無の監視を一定の時間毎に行っている。
【００２３】
「一定の時間毎」とは、第１，第２ＣＰＵ装置２００ａ，２００ｂのシステムのリスタート後、待機状態から通常時の動作状態に戻る時間に対して十分短く、かつ第１，第２ＣＰＵ装置２００ａ，２００ｂの情報の送信間隔よりも長い時間である。
制御部３１ａ，３１ｂは、自装置が正常に動作しているか否かを診断する。制御部３１ａ，３１ｂの診断方法は制御部２１ａ，２１ｂと同様である。
制御部３１ａ，３１ｂは、診断の結果と第１，第２ＣＰＵ装置２００ａ，２００ｂからそれぞれ受信したＣＰＵステータス情報に基づいてＩ／Ｏインターフェース診断情報（以下、Ｉ/Ｏ・Ｉ/Ｆ診断情報と称す。）を生成する。「Ｉ/Ｏ・Ｉ/Ｆ診断情報」は正常または異常を表すものである。
【００２４】
具体的には、制御部３１ａ，３１ｂは、自装置の診断結果が正常で、かつＣＰＵステータス情報が常用状態だった場合、正常を表すＩ/Ｏ・Ｉ/Ｆ診断情報を生成する。
制御部３１ａ，３１ｂは、これ以外の場合、異常を表すＩ/Ｏ・Ｉ/Ｆ診断情報を生成する。
制御部３１ａ，３１ｂは、生成したＩ/Ｏ・Ｉ/Ｆ診断情報を二重化ステータス作成回路３３ａ，３３ｂにそれぞれ送信する。
制御部３１ａ，３１ｂは、二重化ステータス作成回路３３ａ，３３ｂからＩ／Ｏインターフェースステータス情報（以下、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報と称す）をそれぞれ受信する。
【００２５】
「Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報」は、第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂの動作状態が常用状態または待機状態のどちらかで示されたものである。
制御部３１ａ，３１ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用状態を示すものだった場合、受信した演算結果を入出力用モジュール１００に出力する。
制御部３１ａ，３１ｂは、ステータス監視回路３４ａ，３４ｂをそれぞれ制御する。
メモリ部３２ａ，３２ｂは演算の結果を受信する手段である。メモリ部３２ａ，３２ｂには、演算結果などが一時的に記憶される。
また、メモリ部３２ａ，３２ｂには、ステータス監視回路３４ａ，３４ｂの制御時に参照される種々の情報（例えば「１０秒」、「２０秒」などの所定の時間情報や「１０回」、「２０回」などの所定の回数情報）が記憶される。これら回数情報などは閾値として機能する。
【００２６】
二重化ステータス作成回路３３ａ，３３ｂは、装置の動作状態が常用状態または待機状態であることを示す情報を生成する手段である。
二重化ステータス作成回路３３ａ，３３ｂは、ステータス監視回路３４ａ、３４ｂからステータスリセット信号をそれぞれ受信する。
「ステータスリセット信号」は、第１，第２ＣＰＵ装置２００ａ，２００ｂからそれぞれ送信されるリセット信号と同様の信号である。すなわち、ステータスリセット信号は、第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂの動作状態を常用状態から待機状態に変更させるものである。
二重化ステータス作成回路３３ａ，３３ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
【００２７】
ここで、二重化ステータス作成回路３３ａ，３３ｂによるＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成処理について説明する。
二重化ステータス作成回路３３ａ，３３ｂは、制御部３１ａ，３１ｂから送信されたＩ/Ｏ・Ｉ/Ｆ診断情報をそれぞれ受信する。
第１のＩ／Ｏインターフェース装置３００ａのシステムの立ち上がり時には、二重化ステータス作成回路３３ａは、Ｉ/Ｏ・Ｉ/Ｆ診断情報が正常であれば、常用状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
第２のＩ／Ｏインターフェース装置３００ｂのシステムの立ち上がり時には、二重化ステータス作成回路３３ｂは、Ｉ/Ｏ・Ｉ/Ｆ診断情報が正常であれば、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
【００２８】
二重化ステータス作成回路３３ａ，３３ｂは、生成したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を二重化ステータス作成回路３３ａ，３３ｂ間で送受信する。
具体的には、二重化ステータス作成回路３３ａは、二重化ステータス作成回路３３ｂに対して、生成したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を送信する。
二重化ステータス作成回路３３ｂは、二重化ステータス作成回路３３ａに対して、生成したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を送信する。
【００２９】
二重化ステータス作成回路３３ａ，３３ｂは、Ｉ/Ｏ・Ｉ/Ｆ診断情報が正常で、かつ受信した相手装置のＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機を示すものであった場合、常用状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。これ以外の場合、二重化ステータス作成回路３３ａ，３３ｂは、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
二重化ステータス作成回路３３ａ，３３ｂは、自装置のＩ/Ｏ・Ｉ/Ｆ診断情報と受信した相手装置のＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報に基づいてそれぞれ自装置のＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の継続的な管理を行う。
「継続的な管理」とは、Ｉ/Ｏ・Ｉ/Ｆ診断情報や相手装置から受信したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の内容に変更があった場合、新たにＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成することである。
【００３０】
二重化ステータス作成回路３３ａ，３３ｂは、ステータス監視回路３４ａ、３４ｂからステータスリセット信号を受信すると常に待機を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
以上がＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成処理についての説明である。
二重化ステータス作成回路３３ａ，３３ｂは、特に図示はしないメモリを有する。このメモリに送受信したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報およびＩ/Ｆ診断情報などが保持される。
二重化ステータス作成回路３３ａ，３３ｂは生成したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を制御部３１ａ，３１ｂにそれぞれ送信する。
【００３１】
ステータス監視回路３４ａ，３４ｂは、装置の動作状態が待機状態であることを示す情報を生成させる手段である。
ステータス監視回路３４ａ，３４ｂは、リセット処理を行う。「リセット処理」は、第１，第２ＣＰＵ装置２００ａ，２００ｂから送信されるリセット信号が正常に受信されなかった場合に自装置の動作状態を待機状態に変更するためのものである。
ステータス監視回路３４ａ，３４ｂはタイマ３５ａ，３５ｂと、カウンタ３６ａ，３６ｂおよびリセット信号生成部３７ａ，３７ｂで構成される。
【００３２】
タイマ３５ａ，３５ｂは常に時間の計時を行っている。タイマ３５ａ，３５ｂは、メモリ部３２ａ，３２ｂに記憶された時間情報に対応する時間を計時する。タイマ３５ａ，３５ｂは、計時した時間が時間情報に対応する秒数に達すると、所定時間の計時を終了したことを示すタイムアップ通知を制御部３１ａ，３１ｂに送信する。
タイムアップ通知後、タイマ３５ａ，３５ｂは制御部３１ａ，３１ｂにそれぞれ制御されて計時のリセットがされる。
【００３３】
「計時のリセット」は、例えば、制御部３１ａ，３１ｂがタイマ３５ａ，３５ｂを制御して、計測時間を０に戻し、０に戻した時点から再度、時間情報分の計時を計測を開始させることである。
カウンタ３６ａ，３６ｂはタイマ３５ａ，３５ｂのタイムアップ回数をそれぞれカウントする。具体的には、制御部３１ａ，３１ｂがタイマ３５ａ，３５ｂからタイムアップ通知を受信したことに基づいて、カウンタ３６ａ，３６ｂに対してカウントアップを行わせる。
カウンタ３６ａ，３６ｂのカウント回数は、制御部３１ａ，３１ｂによってリセットされる。具体的には、制御部３１ａ，３１ｂが演算結果を受信したことに基づいて、リセットされる。
【００３４】
リセット信号生成部３７ａ，３７ｂは、二重化ステータス作成回路３３ａ，３３ｂに対してステータスリセット信号をそれぞれ送信する。具体的には、カウンタ３６ａ，３６ｂによるカウント数がメモリ部３２ａに記憶された所定回数に達すると制御部３１ａがリセット信号生成部３７ａを制御し、二重化ステータス作成回路３３ａに対してステータスリセット信号を送信させる。
【００３５】
次に図２を用いて制御システム１の動作について説明する。図２は制御システム１の動作を表すシーケンス図である。
（１）ＣＰＵステータス信号管理（ステップＳ１０１、Ｓ１０２）
第１，第２ＣＰＵ装置２００ａ，２００ｂは互いのＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報と自装置のＣＰＵ診断情報に基づいて、自装置の動作状態を常用または待機状態のどちらかに決定する。通常時、第１ＣＰＵ装置２００ａが常用状態、第２ＣＰＵ装置２００ｂが待機状態に自装置の動作状態を決定する。このとき、ＣＰＵステータス情報が第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂに対してそれぞれ送信される。
【００３６】
（２）演算用データの送受信（ステップＳ１０３、Ｓ１０４）
入出力用モジュール１００が、第１ＣＰＵ装置２００ａに対して演算用データを送信する。第１ＣＰＵ装置２００ａはこの演算用データを受信する。さらに第１ＣＰＵ装置２００ａは受信した演算用データを第２ＣＰＵ装置２００ｂに送信する。
【００３７】
（３）演算（ステップＳ１０５〜Ｓ１１０）
第１，第２ＣＰＵ装置２００ａ，２００ｂはそれぞれ受信した演算用データに基づいてプラント監視に必要な種々の演算を行う（ステップＳ１０５、Ｓ１０６）。
第１ＣＰＵ装置２００ａは、演算結果を第１のＩ／Ｏインターフェース装置３００ａに送信する。第２ＣＰＵ装置２００ｂは、演算結果を第２のＩ／Ｏインターフェース装置３００ｂに送信する（ステップＳ１０７、Ｓ１０８）。
また、第１，第２ＣＰＵ装置２００ａ，２００ｂは、ＣＰＵステータス情報を第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂにそれぞれ送信する（ステップＳ１０９、Ｓ１１０）。
（４）Ｉ/Ｏ・Ｉ/Ｆ診断情報の生成（ステップＳ１１１、Ｓ１１２）。
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、自装置が正常に動作しているか否かをそれぞれ診断する。第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、診断の結果と受診したＣＰＵステータスに基づいてＩ/Ｏ・Ｉ/Ｆ診断情報を生成する。
（５）Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成処理（ステップＳ１１３、Ｓ１１４）
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、自装置の診断の結果とＣＰＵステータス情報に基づいて常にＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成処理を行っている。
【００３８】
（６）演算結果の送信（ステップＳ１１５、Ｓ１１６）
第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは、自装置の動作状態が常用状態だった場合、演算結果を入出力用モジュール１００に出力する。
通常時、第１のＩ／Ｏインターフェース装置３００ａが演算結果を出力する。通常時、第２のＩ／Ｏインターフェース装置３００ｂは演算結果を保持する。
第１ＣＰＵ装置２００ａおよび第１のＩ／Ｏインターフェース装置３００ａが待機状態の場合、第２のＩ／Ｏインターフェース装置３００ｂが演算結果を出力する（図中のＳ１１６の点線）。
【００３９】
（７）リセット信号の送信（ステップＳ１１７）
ステップＳ１０１において、第１ＣＰＵ装置２００ａの自己診断によって異常が検知される場合がある。この場合、第１ＣＰＵ装置２００ａはシステムリセットを行い、自装置の動作状態を常用状態から待機状態へ変更する。
このとき、第１ＣＰＵ装置２００ａは演算を停止する。したがって、第１ＣＰＵ装置２００ａから第１のＩ／Ｏインターフェース装置３００ａに対して行われる演算結果およびＣＰＵステータス情報の送信は中断する。すなわちステップＳ１０５、Ｓ１０７、Ｓ１０９の処理が行われない。
【００４０】
第１ＣＰＵ装置２００ａの動作の変更に対応して第２ＣＰＵ装置２００ｂは自装置の動作状態を待機状態から常用状態へ変更する。
第１ＣＰＵ装置２００ａがシステムリセットを行うとき、第１ＣＰＵ装置２００ａから第１のＩ／Ｏインターフェース装置３００ａに対してリセット信号が送信される（ステップＳ１１７の点線）。
第１のＩ／Ｏインターフェース装置３００ａが、リセット信号を正常に受信した場合、第１のＩ／Ｏインターフェース装置３００ａは自装置の動作状態を常用状態から待機状態に変更する。この第１のＩ／Ｏインターフェース装置３００ａの動作の変更に対応して、第２のＩ／Ｏインターフェース装置３００ｂは、自装置の動作状態を待機状態から常用状態に変更する。
【００４１】
（８）リセット処理（ステップＳ１１８、Ｓ１１９）
ステップＳ１１７において、第１のＩ／Ｏインターフェース装置３００ａが、第１ＣＰＵ装置２００ａからのリセット信号を正常に受信できない場合がある。
この場合、第１ＣＰＵ装置２００ａの動作状態は待機状態、第２ＣＰＵ装置２００ｂの動作状態は常用状態に変更されるのに対し、第１のＩ／Ｏインターフェース装置３００ａは常用状態、第２のＩ／Ｏインターフェース装置３００ｂは待機状態となる。結果として、入出力用モジュール１００に対する演算結果の送信が行われない。
入出力用モジュール１００に対する演算結果の送信が行われないことを防止するため、第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂは常にリセット処理を行っている。
【００４２】
ここで図３を用いてリセット処理について説明する。図３は第１のＩ／Ｏインターフェース装置３００ａのリセット処理を示すフローチャートである。
なお以下、一例として第１のＩ／Ｏインターフェース装置３００ａの動作について説明するが第２のＩ／Ｏインターフェース装置３００ｂの動作もこれとほぼ同様である。よって第２のＩ／Ｏインターフェース装置３００ｂのリセット処理については詳細な説明は省略する。
【００４３】
（１）時間の計時（ステップＳ２０１）
制御部３１ａに制御されてタイマ３５ａが、所定時間の計時を継続的に行う。
（２）演算結果受信の有無（ステップＳ２０２）
制御部３１ａは、第１ＣＰＵ装置２００ａから送信された演算結果を受信したか否かを常時監視している。
【００４４】
（３）演算結果の出力（ステップＳ２０３〜Ｓ２０５）
ステップＳ２０２において、第１ＣＰＵ装置２００ａから送信された演算結果を受信すると、制御部３１ａは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報を参照する。
Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用状態であった場合、制御部３１ａは受信した演算結果を入出力用モジュール１００に送信する（図２のステップＳ１１５参照）。
次に制御部３１ａは、カウンタ３６ａがカウントするタイマ３５ａのタイムアップ回数をリセットする。なお、ステップＳ２０５の処理は、ステップＳ２０３の処理の前後に行うこともできる。
【００４５】
（４）演算結果の保持（ステップＳ２０６）
ステップＳ２０３において、参照したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機状態だった場合、制御部３１ａは演算結果をメモリ部３２ａに保持させる。
（５）カウント制御（ステップＳ２０７、Ｓ２０８）
制御部３１ａは、タイマ３５ａからのタイムアップ通知の受信に対応してカウンタ３６ａを制御してタイムアップ回数をカウントさせる。
【００４６】
（６）Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の変更（ステップＳ２０９〜Ｓ２１１）
制御部３１ａは、カウンタ３６ａにカウントさせたタイムアップ回数を常に監視している。カウンタ３６ａによるタイムアップ回数のカウント数が所定回数に達していなかった場合、第１のＩ／Ｏインターフェース装置３００ａはステップＳ２０２からの一連の動作を繰り返す。
カウンタ３６ａによるカウント数が、メモリ部３２ａに記憶された所定回数分に達すると、制御部３１ａは、リセット信号生成部３７ａを制御して二重化ステータス作成回路３３ａに対してステータスリセット信号を送信させる（ステップＳ２０９、Ｓ２１０）。
【００４７】
ステータスリセット信号を受信した二重化ステータス作成回路３３ａは、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する（ステップＳ２１１）。
ステップＳ２１１での待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成に対応して、第２のＩ／Ｏインターフェース装置３００ｂの動作状態が常用状態となる。したがって、第２ＣＰＵ装置２００ｂでの演算結果が入出力用モジュール１００に対して送信されるようになる（図２のステップＳ１１６参照）。
【００４８】
以上説明したように、第１のＩ／Ｏインターフェース装置３００ａは、リセット信号生成部３７ａが制御部３１ａに制御されて自装置のリセット処理を行う。
具体的には、第１ＣＰＵ装置２００ａの動作状態が常用状態から待機状態に変更されたときに、制御部３１ａに演算結果が送信されないため、タイムアップ回数のリセットが行われない。結果として、タイムアップ回数が閾値に達してリセット処理が行われる。
【００４９】
したがって、第１のＩ／Ｏインターフェース装置３００ａが第１ＣＰＵ装置２００ａからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第１のＩ／Ｏインターフェース装置４００ａの動作状態を常用状態から待機状態に変更することができる。
このことにより、第１のＩ／Ｏインターフェース装置３００ａの動作状態が常用状態のままとなり、第２のＩ／Ｏインターフェース装置３００ｂの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第２ＣＰＵ装置２００ｂの演算結果を正常に入出力モジュール１００に送信することができる。
【００５０】
（第２の実施形態）
次に図４を用いて、第２の実施形態にかかる制御システム２について説明する。図４は制御システム２を表すブロック図である。
この第２の実施形態にかかる制御システム２は、第１の実施形態にかかる制御システム１における第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂの構成を変更した変更例である。
なお、以下の説明では第１の実施形態にかかる制御システム１と同一の部分については同一の符号を付し詳細な説明は省略する。
【００５１】
図４に示すように制御システム２は、入出力用モジュール１００、第１ＣＰＵ装置２００ａ，第２ＣＰＵ装置２００ｂ、第１のＩ／Ｏインターフェース装置４００ａ，第２のＩ／Ｏインターフェース装置４００ｂを備える。
第１，第２のＩ／Ｏインターフェース装置４００ａ，４００ｂは、制御部４１ａ，４１ｂ、記憶部４２ａ，４２ｂ、二重化ステータス作成回路３３ａ，３３ｂそしてタイマ３５ａ，３５ｂをそれぞれ有している。
制御部４１ａ，４１ｂは、タイマ３５ａ，３５ｂからタイムアップ通知をそれぞれ受信する。制御部４１ａ，４１ｂは、タイムアップ通知を受信した回数をタイムアップ回数情報として記憶部４２ａにそれぞれ記憶させる。
「タイムアップ回数情報」は「１」、「２」などの数を示す情報である。
【００５２】
制御部４１ａ，４１ｂは、タイムアップ通知を受信したことに対応してタイムアップ回数情報の更新を行う。
「タイムアップ回数情報の更新」は、例えば、タイムアップ通知の受信に対応して、記憶部４２ａに記憶されたタイムアップ回数情報に対し１プラスし、新たなタイムアップ回数情報としてこの記憶部４２ａに記憶させることである。
制御部４１ａ，４１ｂは、第１，第２ＣＰＵ装置２００ａ，２００ｂから演算結果、ＣＰＵステータス情報およびリセット信号をそれぞれ受信する。制御部４１ａ，４１ｂは、演算結果を受信したことに基づいて記憶部４２ａ，４２ｂが記憶するタイムアップ回数情報をそれぞれリセットする。
【００５３】
「タイムアップ回数情報をリセット」とは、記憶部４２ａ，４２ｂに記憶されたタイムアップ回数情報を０にすることである。
制御部４１ａ，４１ｂは、自装置が正常に動作しているか否かを診断する。制御部４１ａ，４１ｂは、この診断結果と受信したＣＰＵステータス情報に基づいてＩ/Ｏ・Ｉ/Ｆ診断情報をそれぞれ生成する。制御部４１ａ，４１ｂは、生成したＩ/Ｏ・Ｉ/Ｆ診断情報を二重化ステータス作成回路３３ａ，３３ｂにそれぞれ送信する。
【００５４】
制御部４１ａ，４１ｂは、記憶部４２ａ，４２ｂに記憶されたタイムアップ回数情報を常に監視している。
制御部４１ａ，４１ｂは、記憶部４２ａ，４２ｂに記憶されたタイムアップ回数が、情報所定回数に達するとＩ/Ｏ・Ｉ/Ｆ診断情報を異常を示すものにそれぞれ変更する。
制御部４１ａ，４１ｂは、二重化ステータス作成回路３３ａ，３３ｂから自装置の動作状態が常用状態か待機状態かを示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報をそれぞれ受信する。
【００５５】
制御部４１ａ，４１ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用を示すものであった場合、ＣＰＵ装置２００ａ，２００ｂから受信した演算結果を入出力用モジュール１００に出力する。
記憶部４２ａは、メモリ部３２ａ，カウント記憶部４２２ａを備える。カウント記憶部４２２ａには、タイムアップ回数情報が記憶される。
以上のように構成された制御システム２全体的な動作は第１の実施形態に示した制御システム１と同様である。したがってここでは詳細な説明は省略する。
【００５６】
次に図５を用いて以上のように構成された第１のＩ／Ｏインターフェース装置４００ａにおけるリセット処理について説明する。すなわち図５は第１のＩ／Ｏインターフェース装置４００ａのリセット処理の動作を示すフローチャートである。
なお、以下、一例として第１のＩ／Ｏインターフェース装置４００ａの動作について説明するが第２のＩ／Ｏインターフェース装置４００ｂの動作もこれとほぼ同様である。よって第２のＩ／Ｏインターフェース装置４００ｂのリセット処理については詳細な説明は省略する。
【００５７】
（１）時間の計時（ステップＳ３０１）
制御部４１ａに制御されてタイマ３５ａが、所定時間の計時を継続的に行う。
（２）演算結果受信したか否かの処理（ステップＳ３０２）
制御部４１ａは、第１ＣＰＵ装置２００ａから送信された演算結果を受信したか否かを常時監視している。
（３）演算結果の出力（ステップＳ３０３〜Ｓ３０５）
ステップＳ３０２において、第１ＣＰＵ装置２００ａから送信された演算結果を受信すると、制御部４１ａは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報を参照する。
Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用状態であった場合、制御部４１ａは受信した演算結果を入出力用モジュール１００に送信する。
次に制御部４１ａは、カウント記憶部４２２ａに対してタイムアップ回数情報のリセットを行う。なお、ステップＳ３０５の処理は、ステップＳ３０３の処理の前後に行うこともできる。
【００５８】
（４）演算結果の保持（ステップＳ３０６）
ステップＳ３０３において、参照したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機だった場合、制御部４１ａは演算結果をメモリ部３２ａに保持させる。
（５）カウント制御（ステップＳ３０７、Ｓ３０８）
制御部４１ａは、タイマ３５ａからのタイムアップ通知を受信に対応して、タイムアップ回数情報を更新する。
【００５９】
（６）Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の変更（ステップＳ３０９、Ｓ３１０）
制御部４１ａは、カウント記憶部４２２ａに記憶させたタイムアップ回数情報を常に監視している。
カウント記憶部４２２ａに記憶に記憶されたタイムアップ回数情報が、メモリ部３２ａに記憶された回数情報に達していなかった場合、制御部３１ａは、ステップＳ３０２からの一連の動作を繰り返す。
【００６０】
カウント記憶部４２２ａに記憶されたタイムアップ回数情報が、メモリ部３２ａに記憶された回数情報に達した場合、制御部４１ａは、異常を示すＩ/Ｏ・Ｉ/Ｆ診断情報を二重化ステータス作成回路３３ａに送信する（ステップＳ３０９）。
異常を示すＩ/Ｏ・Ｉ/Ｆ診断情報を受信した二重化ステータス作成回路３３ａは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報を常用状態から待機状態に変更する（ステップＳ３１０）。
【００６１】
ステップＳ３１０でのＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の変更に対応して、第２のＩ／Ｏインターフェース装置４００ｂの動作状態が常用状態となる。
したがって、第２のＩ／Ｏインターフェース装置４００ｂは、第２ＣＰＵ装置２００ｂでの演算結果を入出力用モジュール１００に対して送信する。
【００６２】
以上説明したように、第１のＩ／Ｏインターフェース装置４００ａは、カウント記憶部４２２ａに記憶されたタイムアップ回数情報がリセットされないことに基づいて自装置のリセット処理を行う。
具体的には、第１ＣＰＵ装置２００ａの動作状態が常用状態から待機状態に変更されたときに、制御部４１ａに演算結果が送信されないため、受信回数情報のリセットが行われない。結果として、受信回数情報が閾値に達してリセット処理が行われる。
【００６３】
したがって、第１のＩ／Ｏインターフェース装置４００ａが第１ＣＰＵ装置２００ａからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第１のＩ／Ｏインターフェース装置４００ａの動作状態を常用状態から待機状態に変更することができる。
このことにより、第１のＩ／Ｏインターフェース装置４００ａの動作状態が常用状態のままとなり、第２のＩ／Ｏインターフェース装置４００ｂの動作状態が待機状態のままとなることを防止できる。結果として、待機状態から常用状態に切り換えられた第２ＣＰＵ装置２００ｂの演算結果を正常に入出力モジュール１００に送信することができる。
【００６４】
（第３の実施形態）
次に図６を用いて、第３の実施形態にかかる制御システム３について説明する。図６は制御システム３を表すブロック図である。
この第３の実施形態にかかる制御システム３は、第１の実施形態にかかる制御システム１における第１，第２ＣＰＵ装置２００ａ，２００ｂおよび第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂの構成を変更した変更例である。
なお、以下の説明では第１の実施形態にかかる制御システム１と同一の部分については同一の符号を付し詳細な説明は省略する。
【００６５】
図６に示すように制御システム３は入出力用モジュール１００、第１ＣＰＵ装置５００ａ，第２ＣＰＵ装置５００ｂ、第１のＩ／Ｏインターフェース装置６００ａ，第２のＩ／Ｏインターフェース装置６００ｂを備える。
第１，第２ＣＰＵ装置５００ａ，５００ｂは、制御部２１ａ，２１ｂ、記憶部２２ａ，２２ｂおよび二重化ステータス作成回路５１ａ，５１ｂを有している。
【００６６】
二重化ステータス作成回路５１ａ，５１ｂは、それぞれＣＰＵステータス情報を生成する。ＣＰＵステータス情報の生成方法は第１の実施形態の二重化ステータス作成回路２３ａ，２３ｂと同様であるのでここでは詳細な説明は省略する。
二重化ステータス作成回路５１ａ，５１ｂは、生成したＣＰＵステータス情報を制御部２１ａ，２１ｂおよび第１，第２のＩ／Ｏインターフェース装置６００ａ，６００ｂにそれぞれ送信する。
【００６７】
第１，第２のＩ／Ｏインターフェース装置６００ａ，６００ｂは、制御部３１ａ，３１ｂ、メモリ部３２ａ，３２ｂ、二重化ステータス作成回路６１ａ，６１ｂを有している。
二重化ステータス作成回路６１ａ，６１ｂは、二重化ステータス作成回路５１ａ，５１ｂから送信されたＣＰＵステータス情報をそれぞれ受信する。二重化ステータス作成回路６１ａ，６１ｂは、制御部３１ａ，３１ｂが生成し、送信したＩ/Ｏ・Ｉ/Ｆ診断情報をそれぞれ受信する。
二重化ステータス作成回路６１ａ，６１ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報をそれぞれ生成する。
【００６８】
二重化ステータス作成回路６１ａ，６１ｂは、自装置のＩ/Ｏ・Ｉ/Ｆ診断情報、受信した相手装置のＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報そして第１，第２ＣＰＵ装置５００ａ，５００ｂから送信されたＣＰＵステータス情報に基づいてＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
具体的には、二重化ステータス作成回路６１ａ，６１ｂは、Ｉ/Ｏ・Ｉ/Ｆ診断情報が正常で、かつ受信した相手装置のＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機を示すものであり、さらに受信したＣＰＵステータス情報が常用状態を示すものであった場合、常用状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。これ以外の場合、二重化ステータス作成回路６１ａ，６１ｂは、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
以上のように構成された制御システム３全体的な動作は、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報がＩ/Ｏ・Ｉ/Ｆ診断情報、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報およびＣＰＵステータス情報に基づいて生成されることを除き、第１の実施形態に示した制御システム１とほぼ同様である。したがってここでは詳細な説明は省略する。
【００６９】
次に図７を用いて以上のように構成された第１のＩ／Ｏインターフェース装置６００ａにおけるリセット処理について説明する。すなわち図７は第１のＩ／Ｏインターフェース装置６００ａのリセット処理の動作を示すフローチャートである。
なお、以下一例として第１のＩ／Ｏインターフェース装置６００ａの動作について説明するが第２のＩ／Ｏインターフェース装置６００ｂの動作もこれとほぼ同様である。よって第２のＩ／Ｏインターフェース装置６００ｂのリセット処理については詳細な説明は省略する。
（１）演算結果受信したか否かの処理（ステップＳ４０１）
制御部３１ａは、第１ＣＰＵ装置５００ａから送信された演算結果を受信したか否かを常時監視している。
【００７０】
（２）演算結果の出力（ステップＳ４０２）
ステップＳ４０１において、第１ＣＰＵ装置５００ａから送信された演算結果を受信すると、制御部３１ａはＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を参照する。
Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用状態であった場合、制御部３１ａは受信した演算結果を入出力用モジュール１００に送信する。
（３）演算結果の保持（ステップＳ４０４）
ステップＳ４０２において、参照したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機状態だった場合、制御部３１ａは演算結果をメモリ部３２ａに保持させる。
【００７１】
（４）Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の変更（ステップＳ４０５、Ｓ４０６）
二重化ステータス作成回路６１ａは、二重化ステータス作成回路５１ａから常にＣＰＵステータス情報を受信している。
二重化ステータス作成回路６１ａは自装置のＩ/Ｏ・Ｉ/Ｆ診断情報と、二重化ステータス作成回路６１ｂから受信したＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報と、二重化ステータス作成回路５１ａから受信したＣＰＵステータス情報に基づいて常に自装置の動作状態を管理している。
【００７２】
第１ＣＰＵ装置５００ａの動作状態が常用状態から待機状態に変更されるとき、ＣＰＵステータス情報は待機状態を示すものとなる。二重化ステータス作成回路６１ａは待機状態を示すＣＰＵステータス情報を受信する。二重化ステータス作成回路６１ａは、待機状態を示すＣＰＵステータス情報を受信したことに基づいて、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する（ステップＳ４０６）。
ステップＳ４０６での待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成に対応して、第２のＩ／Ｏインターフェース装置６００ｂの動作状態が常用状態となる。したがって、第２のＩ／Ｏインターフェース装置６００ｂは、第２ＣＰＵ装置５００ｂでの演算結果を入出力用モジュール１００に対して送信する。
【００７３】
以上説明したように、第１のＩ／Ｏインターフェース装置６００ａは、二重化ステータス作成回路６１ａが直接的にＣＰＵステータス情報を受信することによってリセット処理が行われる。
第１のＩ／Ｏインターフェース装置６００ａが、第１ＣＰＵ装置５００ａからリセット信号を正常に受信しなかった場合でも、ＣＰＵステータス情報によって、第１のＩ／Ｏインターフェース装置６００ａの動作状態を常用状態から待機状態に変更することができる。
このことにより、リセット信号を正常に受信されなかった場合に第１のＩ／Ｏインターフェース装置６００ａの動作状態が常用状態のままとなり、第２のＩ／Ｏインターフェース装置６００ｂの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第２ＣＰＵ装置２００ｂの演算結果を正常に入出力モジュール１００に送信することができる。
【００７４】
（第４の実施形態）
次に図８を用いて、第４の実施形態にかかる制御システム４について説明する。図８は制御システム４を表すブロック図である。
この第４の実施形態にかかる制御システム４は、第１の実施形態にかかる制御システム１における第１，第２のＩ／Ｏインターフェース装置３００ａ，３００ｂの構成を変更した変更例である。
なお、以下の説明では第１または第３の実施形態にかかる制御システム１,３と同一の部分については同一の符号を付し、詳細な説明は省略する。
図８に示すように制御システム４は入出力用モジュール１００、第１ＣＰＵ装置２００ａ、第２ＣＰＵ装置２００ｂ、第１のＩ／Ｏインターフェース装置７００ａ、第２のＩ／Ｏインターフェース装置７００ｂを備える。
【００７５】
第１，第２のＩ／Ｏインターフェース装置７００ａ，７００ｂは、制御部７１ａ，７１ｂ、記憶部４２ａ，４２ｂ、二重化ステータス作成回路７２ａ，７２ｂをそれぞれ有している。
記憶部４２ａ，４２ｂは、第１，第２の記憶手段および第１，第２の受信手段である。制御部７１ａ，７１ｂは第１，第２のカウント手段、第１，第２の信号送信手段および第１，第２の生成指示手段である。
制御部７１ａ，７１ｂは、記憶部４２ａ，４２ｂが備えるメモリ部３２ａ，３２bを介して第１，第２ＣＰＵ装置２００ａ，２００ｂから、演算結果とＣＰＵステータス情報をそれぞれ受信する。
制御部７１ａ，７１ｂは、自装置が正常に動作しているか否かを診断する。制御部７１ａ，７１ｂは診断結果と受信したＣＰＵステータス情報に基づいてＩ/Ｏ・Ｉ/Ｆ診断情報をそれぞれ生成する。
【００７６】
具体的には、自装置の診断結果が正常でかつＣＰＵステータス情報が常用だった場合、制御部７１ａ，７１ｂは、正常を示すＩ/Ｏ・Ｉ/Ｆ診断情報を生成する。これ以外の場合、制御部７１ａ，７１ｂは、異常を示すＩ/Ｏ・Ｉ/Ｆ診断情報を生成する。
制御部７１ａ，７１ｂは、生成したＩ/Ｏ・Ｉ/Ｆ診断情報を二重化ステータス作成回路７２ａ，７２ｂにそれぞれ送信する。
制御部７１ａ，７１ｂは、二重化ステータス作成回路７２ａ，７２ｂから自装置の動作状態が常用状態か、待機状態かを示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報をそれぞれ受信する。
制御部７１ａ，７１ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用を示すものであった場合、受信した演算結果を入出力用モジュール１００に出力する。
制御部７１ａ，７１ｂは、ステータス破棄要求信号を制御部７１ａ，７１ｂ間で送受信する。具体的には、第１ＣＰＵ装置２００ａから演算結果を受信したことに基づいて、制御部７１ａが制御部７１ｂに対して、二重化ステータス作成回路７２ａ，７２ｂを介してステータス破棄要求信号を送信する。また、第２ＣＰＵ装置２００ｂから演算結果を受信したことに基づいて、制御部７１ｂが制御部７１ａに対して、二重化ステータス作成回路７２ｂ、７２ａを介してステータス破棄要求信号を送信する。
「ステータス破棄要求信号」は第１または第２の信号として機能する。「ステータス破棄要求信号」は、制御部７１ａ，７１ｂにカウント処理を行わせるためのものである。
【００７７】
ここで制御部７１ａ，７１ｂのカウント処理について説明する。
制御部７１ａ，７１ｂは、ステータス破棄要求信号の受信回数を受信回数情報として記憶部４２ａ，４２ｂが備えるカウント記憶部４２２ａ，４２２bに記憶させる。
「受信回数情報」は、「１」、「２」などの数を示す情報である。
制御部７１ａ，７１ｂは、ステータス破棄要求信号を受信したことに対応して受信回数情報の更新を行う。
「受信回数情報の更新」は、例えば、ステータス破棄要求信号の受信に対応して、カウント記憶部４２２ａに記憶されたタイムアップ回数情報に対し１プラスして、新たな受信回数情報としてこのカウント記憶部４２２ａに記憶させることである。
以上がカウント処理の説明である。
【００７８】
制御部７１ａ，７１ｂはカウント記憶部４２２ａ，４２２bに記憶された受信回数情報を常に監視している。
制御部７１ａ，７２ｂは、カウント記憶部４２２ａ，４２２bに記憶された受信回数情報が所定の値に達すると二重化ステータス作成回路７２ａ，７２ｂに対してステータスリセット信号をそれぞれ送信する。
制御部７１ａ，７２ｂは、第１ＣＰＵ装置２００ａ，第２ＣＰＵ装置２００ｂから演算結果を受信すると、カウント記憶部４２２ａ，４２２bに記憶された受信回数情報をリセットする。
「受信回数情報のリセット」は、カウント記憶部４２２ａ，４２２bに記憶された受信回数情報を０にすることである。
二重化ステータス作成回路７２ａ，７２ｂは、Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報をそれぞれ生成する。Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成方法は第１の実施形態の二重化ステータス作成回路３３ａ，３３ｂと同様であるのでここでは詳細な説明は省略する。
【００７９】
二重化ステータス作成回路７２ａ，７２ｂは、ステータス破棄要求信号を受信する。
具体的には、二重化ステータス作成回路７２ａは、二重化ステータス作成回路７２ｂから送信されたステータス破棄要求信号を受信する。二重化ステータス作成回路７２ｂは、二重化ステータス作成回路７２ａから送信されたステータス破棄要求信号を受信する。
二重化ステータス作成回路７２ａ，７２ｂは受信したステータス破棄要求信号を制御部７１ａ，制御部７１ｂにそれぞれ送信する。
【００８０】
二重化ステータス作成回路７２ａ，７２ｂは、制御部７１ａ，７１ｂからステータスリセット信号をそれぞれ受信する。二重化ステータス作成回路７２ａ，７２ｂは、ステータスリセット信号を受信したことに対応して、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する。
以上のように構成された制御システム４全体的な動作は第１の実施例に示した制御システム１と同様である。したがってここでは詳細な説明は省略する。
【００８１】
次に図９用いて第１のＩ／Ｏインターフェース装置７００ａのリセット処理について説明する。図９は、第１のＩ／Ｏインターフェース装置７００ａのリセット処理を示すフローチャートである。
なお以下一例として第１のＩ／Ｏインターフェース装置７００ａの動作について説明するが第２のＩ／Ｏインターフェース装置７００ｂの動作もこれとほぼ同様である。
よって第２のＩ／Ｏインターフェース装置７００ｂのリセット処理については詳細な説明は省略する。
【００８２】
（１）ステータス破棄要求信号受信の有無（ステップＳ５０１）
制御部７１ａは、第２のＩ／Ｏインターフェース装置７００ｂからのステータス破棄要求信号の受信の有無を常時監視している。
（２）カウント処理（ステップＳ５０２）
第２のＩ／Ｏインターフェース装置７００ｂからのステータス破棄要求信号を受信をすると、制御手段７１ａはステータス破棄要求信号の受信回数を受信回数情報としてカウント記憶部４２２ａに記憶させる。
【００８３】
（３）演算結果受信したか否かの処理（ステップＳ５０３）
制御部７１ａは、第１ＣＰＵ装置２００ａからの送信された演算結果を受信したか否かを常時監視している。
（４）受信回数情報のリセット（ステップＳ５０４）
ステップＳ５０３において、第１ＣＰＵ装置２００ａから送信された演算結果を受信すると、制御部７１ａは、カウント記憶部４２２ａに記憶させた受信回数情報のリセットを行う。
【００８４】
（５）ステータス破棄要求信号の送信（ステップＳ５０５）
ステップＳ５０３において、第１ＣＰＵ装置２００ａから送信された演算結果を受信すると、制御部７１ａは、二重化ステータス作成回路７２ａを介してステータス破棄要求信号を第２のＩ／Ｏインターフェース装置７００ｂに対して送信する。
（６）演算結果の出力（ステップＳ５０６〜Ｓ５０８）
ステップＳ５０３において、第１ＣＰＵ装置２００ａから送信された演算結果を受信すると、制御部７１ａはＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を参照する（ステップＳ５０６）。
Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が常用状態であった場合、制御部７１ａは受信した演算結果を入出力用モジュール１００に送信する（ステップＳ５０７）。
Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報が待機状態であった場合、制御部７１ａは受信した演算結果をメモリ部３２ａに保持させる（ステップＳ５０８）。
【００８５】
（７）Ｉ/Ｏ・Ｉ/Ｆ・ＳＴ情報の変更（ステップＳ５０９〜Ｓ５１０）
ステップＳ５０３において演算結果の受信がされなかった場合、制御部３１ａはカウント記憶部４２２ａに記憶させた受信回数情報がメモリ部３２ａに記憶された閾値以上か否かの判定を行う（ステップＳ５０９）。
判定の結果、受信回数情報が閾値以上だった場合、制御部７１ａは、二重化ステータス作成回路７２ａに対してステータスリセット信号を送信する。
【００８６】
ステータスリセット信号を受信した二重化ステータス作成回路３３ａは、待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報を生成する（ステップＳ５１０）。
ステップＳ５１０での待機状態を示すＩ/Ｏ・Ｉ/Ｆ・ＳＴ情報の生成に対応して、第２のＩ／Ｏインターフェース装置７００ｂの動作状態が常用状態となる。したがって、第２ＣＰＵ装置２００ｂでの演算結果が入出力用モジュール１００に対して送信されるようになる。
【００８７】
以上説明したように、第１のＩ／Ｏインターフェース装置７００ａは、制御部７１ａに演算結果が送信され無いことに基づいてリセット処理を行う。
すなわち、第１ＣＰＵ装置２００ａの動作状態が常用状態から待機状態に変更されたとき、制御部７１ａに演算結果が送信されないため、カウント処理によってカウントされた受信回数情報のリセットが行われない。結果として、受信回数情報のカウントが継続される。そして受信回数情報のカウント数が閾値に達したときリセット処理が行われる。
【００８８】
したがって、第１のＩ／Ｏインターフェース装置７００ａが第１ＣＰＵ装置２００ａからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第１のＩ／Ｏインターフェース装置７００ａの動作状態を常用状態から待機状態に変更することができる。
このことにより、リセット信号を正常に受信されなかった場合に第１のＩ／Ｏインターフェース装置７００ａの動作状態が常用状態のままとなり、第２のＩ／Ｏインターフェース装置７００ｂの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第２ＣＰＵ装置２００ｂの演算結果を正常に入出力モジュール１００に送信することができる。
【符号の説明】
【００８９】
１，２，３，４…制御システム、２１ａ，２１ｂ，３１ａ，３１ｂ，４１ａ，４１ｂ，７１ａ，７１ｂ…制御部、２２ａ，２２ｂ，４２ａ，４２ｂ…記憶部、２３ａ，２３ｂ，３３ａ，３３ｂ，５１ａ，５１ｂ，６１ａ，６１ｂ，７２ａ，７２ｂ…二重化ステータス作成回路、３２ａ，３２ｂ…メモリ部、３４ａ，３４ｂ…ステータス監視回路、３５ａ，３５ｂ…タイマ、３６ａ，３６ｂ…カウンタ、３７ａ，３７ｂ…リセット信号生成部、１００…入出力用モジュール、２００ａ，５００ａ…第１ＣＰＵ装置、２００ｂ，５００ｂ…第２ＣＰＵ装置、４２２ａ，４２２b…カウント記憶部、３００ａ，４００ａ，６００ａ，７００ａ…第１のインターフェース装置、３００ｂ，４００ｂ，６００ｂ，７００ｂ…第２のインターフェース装置。
【図１】
2010244280.tif 000003
【図２】
2010244280.tif 000004
【図３】
2010244280.tif 000005
【図４】
2010244280.tif 000006
【図５】
2010244280.tif 000007
【図６】
2010244280.tif 000008
【図７】
2010244280.tif 000009
【図８】
2010244280.tif 000010
【図９】
2010244280.tif 000011