JP2010244280A - I/oインターフェース装置、制御方法および制御システム - Google Patents
I/oインターフェース装置、制御方法および制御システム Download PDFInfo
- Publication number
- JP2010244280A JP2010244280A JP2009091944A JP2009091944A JP2010244280A JP 2010244280 A JP2010244280 A JP 2010244280A JP 2009091944 A JP2009091944 A JP 2009091944A JP 2009091944 A JP2009091944 A JP 2009091944A JP 2010244280 A JP2010244280 A JP 2010244280A
- Authority
- JP
- Japan
- Prior art keywords
- interface device
- standby
- result
- information
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
【課題】常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができるI/Oインターフェース装置、制御方法および制御システムを提供すること。
【解決手段】I/Oインターフェース装置300a、が制御装置200aから演算の結果を受信する手段32aと、装置の動作状態が常用または待機であることを示す情報を生成する手段33aと、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段31aと、時間を繰り返し計時するタイマ35aと、前記タイマ35aが所定時間を計時した回数をカウントするカウンタ36aと、前記カウンタ36aによるカウント数が閾値より大きい場合、前記生成する手段33aに装置の動作状態が待機であることを示す情報を生成させる手段37aとを備える。
【選択図】図1
【解決手段】I/Oインターフェース装置300a、が制御装置200aから演算の結果を受信する手段32aと、装置の動作状態が常用または待機であることを示す情報を生成する手段33aと、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段31aと、時間を繰り返し計時するタイマ35aと、前記タイマ35aが所定時間を計時した回数をカウントするカウンタ36aと、前記カウンタ36aによるカウント数が閾値より大きい場合、前記生成する手段33aに装置の動作状態が待機であることを示す情報を生成させる手段37aとを備える。
【選択図】図1
Description
本発明は、I/Oインターフェース装置、制御方法および制御システムに関する。
従来、プラントなどの監視を行う制御装置が知られている。このような制御装置は1台のCPU(中央演算装置)の故障による機能喪失を回避して稼働率を向上させるために、常用状態、待機状態のどちらかで動作するCPUを2つ以上用いた同期二重化構成が取られている。
同期二重化構成を備える制御装置において、常用状態のCPUの異常をタイマのタイムアウトによって検知し、このタイムアウトに基づいて待機状態のCPUを常用状態に切り換える技術が知られている(例えば、特許文献1参照)。
ところで、上述のような制御装置には、CPUを備えるCPU装置と、CPUが演算した結果を外部に出力するためのI/Oインターフェース装置とを備える場合がある。
この場合、制御装置は常用状態のCPUと、このCPUに接続される常用状態のI/Oインターフェース装置と、待機状態のCPUと、このCPUに接続される待機状態のI/Oインターフェース装置で構成される。
このような構成を有する制御装置では、常用状態のCPUに異常が発生すると、常用状態のI/Oインターフェース装置に対して動作状態を切り換える信号が出力され、常用状態のCPUとI/Oインターフェース装置が待機状態に切り替わる。そして待機状態のCPUとI/Oインターフェース装置が常用状態に切り替わる。
同期二重化構成を備える制御装置において、常用状態のCPUの異常をタイマのタイムアウトによって検知し、このタイムアウトに基づいて待機状態のCPUを常用状態に切り換える技術が知られている(例えば、特許文献1参照)。
ところで、上述のような制御装置には、CPUを備えるCPU装置と、CPUが演算した結果を外部に出力するためのI/Oインターフェース装置とを備える場合がある。
この場合、制御装置は常用状態のCPUと、このCPUに接続される常用状態のI/Oインターフェース装置と、待機状態のCPUと、このCPUに接続される待機状態のI/Oインターフェース装置で構成される。
このような構成を有する制御装置では、常用状態のCPUに異常が発生すると、常用状態のI/Oインターフェース装置に対して動作状態を切り換える信号が出力され、常用状態のCPUとI/Oインターフェース装置が待機状態に切り替わる。そして待機状態のCPUとI/Oインターフェース装置が常用状態に切り替わる。
しかしながら、上記した制御装置では、なんらかの原因により動作状態を切り換える信号が常用状態のI/Oインターフェース装置で正常に受信され無い場合がある。
この場合、常用状態のCPUおよび待機状態のCPUはそれぞれ待機状態および常用状態に動作状態が切り替わるが、常用状態のI/Oインターフェース装置および待機状態のI/Oインターフェース装置は動作状態が切り替わらず演算の結果が正常に出力されない場合があった。
本発明は、かかる従来の問題を解消すべくなされたもので、常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができるI/Oインターフェース装置、制御方法および制御システムを提供することを目的とする。
この場合、常用状態のCPUおよび待機状態のCPUはそれぞれ待機状態および常用状態に動作状態が切り替わるが、常用状態のI/Oインターフェース装置および待機状態のI/Oインターフェース装置は動作状態が切り替わらず演算の結果が正常に出力されない場合があった。
本発明は、かかる従来の問題を解消すべくなされたもので、常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができるI/Oインターフェース装置、制御方法および制御システムを提供することを目的とする。
本発明の一態様にかかるI/Oインターフェース装置は、入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するI/Oインターフェース装置であって、前記制御装置から演算の結果を受信する手段と、装置の動作状態が常用または待機であることを示す情報を生成する手段と、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、時間を繰り返し計時するタイマと、前記タイマが所定時間を計時した回数をカウントするカウンタと、前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段とを備えることを特徴とする。
本発明の一態様にかかる制御方法は、入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するI/Oインターフェース装置の制御方法であって、時間を繰り返し計時するステップと、所定時間を計時した回数をカウントするステップと、前記制御装置から演算の結果を受信するステップと、装置の動作状態が常用または待機であることを示す情報を生成する第1の生成ステップと、前記カウントした回数が閾値より大きい場合、待機を示す情報を生成する第2の生成ステップと、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力するステップと、を備えることを特徴とする。
本発明の一態様にかかる制御システムは、常用または待機のどちらかで動作する制御装置およびI/Oインターフェース装置を備える制御システムであって、前記制御装置は、演算用データを受信する手段と、前記受信した演算用データに基づいて演算を行う手段と、前記I/Oインターフェース装置に対して前記演算の結果を送信する手段とを備え、I/Oインターフェース装置は、前記制御装置から演算の結果を受信する手段と、装置の動作状態が常用または待機であることを示す情報を生成する手段と、前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、時間を繰り返し計時するタイマと、前記タイマが所定時間を計時した回数をカウントするカウンタと、前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に待機を示す情報を生成させる手段と、を備えることを特徴とする。
本発明によれば、常用状態から待機状態へ動作状態を切り換える信号を受信しなかった場合でも、動作状態を正常に切り換えることができる。
(第1の実施形態)
以下、図1を参照して、本発明の第1の実施形態にかかる制御システム1について説明する。図1は制御システム1を表すブロック図である。
制御システム1は、例えば、プラントなどの監視を行う。制御システム1は入出力用モジュール100、第1CPU装置200a、第2CPU装置200b、第1のI/Oインターフェース装置300aおよび第2のI/Oインターフェース装置300bを備える。
以下、図1を参照して、本発明の第1の実施形態にかかる制御システム1について説明する。図1は制御システム1を表すブロック図である。
制御システム1は、例えば、プラントなどの監視を行う。制御システム1は入出力用モジュール100、第1CPU装置200a、第2CPU装置200b、第1のI/Oインターフェース装置300aおよび第2のI/Oインターフェース装置300bを備える。
入出力用モジュール100は、演算用データを第1のI/Oインターフェース装置300aを介して第1CPU装置200aに送信する。「演算用データ」はプラント監視に必要な種々のデータで構成される。
入出力用モジュール100は、演算用データに基づいて行われた演算の結果(以下、演算結果と称す。)を第1または第2CPU装置200a,200bから第1または第2のI/Oインターフェース装置300a,300bを介して受信する。
なお、演算用データおよび演算結果を第1または第2のI/Oインターフェース装置300a,300bを介して送受信することについては後述する。
入出力用モジュール100は、演算用データに基づいて行われた演算の結果(以下、演算結果と称す。)を第1または第2CPU装置200a,200bから第1または第2のI/Oインターフェース装置300a,300bを介して受信する。
なお、演算用データおよび演算結果を第1または第2のI/Oインターフェース装置300a,300bを介して送受信することについては後述する。
第1,第2CPU装置200a,200bは、演算用データに基づいてプラント監視に必要な種々の演算を行う制御装置である。
第1,第2CPU装置200a,200bは常用状態または待機状態で動作する。
「常用状態」とは、演算結果が入出力用モジュール100に対して出力される状態を示す。「待機状態」とは、演算結果が入出力用モジュール100に対して出力されない状態を示す。
第1CPU装置200aは通常時、常用状態で動作する。第2CPU装置200bは通常時、待機状態で動作する。「通常時」とは、制御システム1の各装置のシステムが立ち上がったときの初期状態を継続している状態を示す。
第1,第2CPU装置200a,200bは常用状態または待機状態で動作する。
「常用状態」とは、演算結果が入出力用モジュール100に対して出力される状態を示す。「待機状態」とは、演算結果が入出力用モジュール100に対して出力されない状態を示す。
第1CPU装置200aは通常時、常用状態で動作する。第2CPU装置200bは通常時、待機状態で動作する。「通常時」とは、制御システム1の各装置のシステムが立ち上がったときの初期状態を継続している状態を示す。
第1,第2CPU装置200a,200bは、ほぼ同様の構成を有する。すなわち、第1,第2CPU装置200a,200bは、それぞれ、制御部21a,21b、記憶部22a,22bおよび二重化ステータス作成回路23a,23bをそれぞれ有している。
制御部21a,21bは、演算用データを受信して種々の演算を行う。制御部21aは、演算を行う前に入出力用モジュール100から送信された演算用データを制御部21bに送信する。データの送信は、一定時間毎に行われる。
制御部21a,21bは、演算結果を第1,第2のI/Oインターフェース装置300a,300bにそれぞれ送信する。
制御部21a,21bは、演算用データを受信して種々の演算を行う。制御部21aは、演算を行う前に入出力用モジュール100から送信された演算用データを制御部21bに送信する。データの送信は、一定時間毎に行われる。
制御部21a,21bは、演算結果を第1,第2のI/Oインターフェース装置300a,300bにそれぞれ送信する。
制御部21a,21bは自装置が正常に動作しているか否かを診断する。「診断」の一例は、制御部21a,21bが記憶部22a,22bおよび二重化ステータス作成回路23a,23bと所定の信号の送受信をそれぞれ行うことである。
例えば、制御部21aが記憶部22aおよび二重化ステータス作成回路23aに対して所定の信号を送信する。記憶部22aおよび二重化ステータス作成回路23aは送信された信号に対する応答信号を制御部21aに送信する。
制御部21aは、応答信号を各装置から受信したことに基づいて自装置が正常に動作しているものと診断する。記憶部22aおよび二重化ステータス作成回路23aの一方から応答信号を受信しなかった場合、制御部21aは自装置の動作が異常であると診断する。
例えば、制御部21aが記憶部22aおよび二重化ステータス作成回路23aに対して所定の信号を送信する。記憶部22aおよび二重化ステータス作成回路23aは送信された信号に対する応答信号を制御部21aに送信する。
制御部21aは、応答信号を各装置から受信したことに基づいて自装置が正常に動作しているものと診断する。記憶部22aおよび二重化ステータス作成回路23aの一方から応答信号を受信しなかった場合、制御部21aは自装置の動作が異常であると診断する。
制御部21a,21bは、診断の結果を示すCPU診断情報を生成する。制御部21a,21bは、生成したCPU診断情報をそれぞれ二重化ステータス作成回路23a,23bに送信する。
制御部21a,21bは、制御装置のシステムを再起動する手段としての機能を有する。制御部21a,21bは、自装置の診断結果が異常だった場合、自装置のシステムリセットを行う。
「システムリセット」とは、装置のシステムを再起動することである。例えば、制御部21aがシステムリセットを行った場合、第1CPU装置200aは、常用状態から待機状態へと動作状態が変更される。
システムリセットの際、演算は中断される。なお、制御部21aがシステムリセットを行う場合、制御部21bに対する演算用データの送信は中断しない。
第1CPU装置200aは自動または手動によって変更された待機状態から常用状態へと動作状態が再変更される。
制御部21a,21bは、制御装置のシステムを再起動する手段としての機能を有する。制御部21a,21bは、自装置の診断結果が異常だった場合、自装置のシステムリセットを行う。
「システムリセット」とは、装置のシステムを再起動することである。例えば、制御部21aがシステムリセットを行った場合、第1CPU装置200aは、常用状態から待機状態へと動作状態が変更される。
システムリセットの際、演算は中断される。なお、制御部21aがシステムリセットを行う場合、制御部21bに対する演算用データの送信は中断しない。
第1CPU装置200aは自動または手動によって変更された待機状態から常用状態へと動作状態が再変更される。
制御部21a,21bは、システムリセットの際、第1,第2のI/Oインターフェース装置300a,300bに対してそれぞれリセット信号を送信する。
「リセット信号」は、第1,第2のI/Oインターフェース装置300aの動作状態を常用状態から待機状態に変更するためのものである。
制御部21a,21bは、CPUステータス情報を二重化ステータス作成回路33a,33bから受信する。
「CPUステータス情報」は、例えば、第1CPU装置200aの動作状態が常用状態または待機状態のどちらであるかを示すものである。
「リセット信号」は、第1,第2のI/Oインターフェース装置300aの動作状態を常用状態から待機状態に変更するためのものである。
制御部21a,21bは、CPUステータス情報を二重化ステータス作成回路33a,33bから受信する。
「CPUステータス情報」は、例えば、第1CPU装置200aの動作状態が常用状態または待機状態のどちらであるかを示すものである。
CPUステータス情報の一例は、信号の有無である。すなわち制御部21a,21bに所定の信号が入力されたとき、動作状態が常用状態であることを示し、所定の信号が入力されないとき動作状態が待機状態であることを示す。
制御部21a,21bは、演算結果と共にCPUステータス情報をそれぞれ第1,第2のI/Oインターフェース装置300a,300bに送信する。
記憶部22a,22bは、演算用データや制御部21a,21bでの演算結果などを一時的に記憶するためのものである。
制御部21a,21bは、演算結果と共にCPUステータス情報をそれぞれ第1,第2のI/Oインターフェース装置300a,300bに送信する。
記憶部22a,22bは、演算用データや制御部21a,21bでの演算結果などを一時的に記憶するためのものである。
二重化ステータス作成回路23a,23bは、それぞれCPUステータス情報を生成する。二重化ステータス作成回路23a,23bは、生成したCPUステータス情報を制御部21a,21bにそれぞれ送信する。
また、二重化ステータス作成回路23aは、二重化ステータス作成回路23bに対して生成したCPUステータス情報を送信する。二重化ステータス作成回路23bは、二重化ステータス作成回路23aに対して、生成したCPUステータス情報を送信する。
また、二重化ステータス作成回路23aは、二重化ステータス作成回路23bに対して生成したCPUステータス情報を送信する。二重化ステータス作成回路23bは、二重化ステータス作成回路23aに対して、生成したCPUステータス情報を送信する。
ここで、二重化ステータス作成回路23a,23bのCPUステータス情報の生成について説明する。
二重化ステータス作成回路23a,23bは、制御部21a,21bから受信した自装置のCPU診断情報と二重化ステータス作成回路23a,23b間で受信したCPUステータス情報に基づいて、それぞれ自装置の動作状態を決定する。すなわち、常用状態または待機状態のいずれかに決定する。
具体的には、CPU診断情報が正常で、かつ相手装置から受信したCPUステータス情報が待機を示すものだった場合、自装置の動作状態を常用状態に決定する。二重化ステータス作成回路23a,23bは、これ以外の条件のときは自装置の動作状態を待機状態に決定する。
二重化ステータス作成回路23a,23bは、制御部21a,21bから受信した自装置のCPU診断情報と二重化ステータス作成回路23a,23b間で受信したCPUステータス情報に基づいて、それぞれ自装置の動作状態を決定する。すなわち、常用状態または待機状態のいずれかに決定する。
具体的には、CPU診断情報が正常で、かつ相手装置から受信したCPUステータス情報が待機を示すものだった場合、自装置の動作状態を常用状態に決定する。二重化ステータス作成回路23a,23bは、これ以外の条件のときは自装置の動作状態を待機状態に決定する。
二重化ステータス作成回路23a,23bは決定した動作状態を示すCPUステータス情報を生成する。
なお、第1CPU装置200aのシステムの立ち上がり時には、二重化ステータス作成回路23aは、CPU診断情報が正常であれば、常に常用状態を示すCPUステータス情報を生成する。第2CPU装置200bのシステムの立ち上がり時には、二重化ステータス作成回路23bは、CPU診断情報が正常であれば、常に待機用状態を示すCPUステータス情報を生成する。
以上がCPUステータス情報の生成についての説明である。
なお、第1CPU装置200aのシステムの立ち上がり時には、二重化ステータス作成回路23aは、CPU診断情報が正常であれば、常に常用状態を示すCPUステータス情報を生成する。第2CPU装置200bのシステムの立ち上がり時には、二重化ステータス作成回路23bは、CPU診断情報が正常であれば、常に待機用状態を示すCPUステータス情報を生成する。
以上がCPUステータス情報の生成についての説明である。
第1,第2のI/Oインターフェース装置300a,300bは常用または待機の状態で動作する。第1のI/Oインターフェース装置300aは通常時、常用状態で動作する。第2のI/Oインターフェース装置300bは通常時、で待機状態で動作する。
第1,第2のI/Oインターフェース装置300a,300bは、常用状態の動作時に受信した演算結果を入出力用モジュール100に出力する。
第1,第2のI/Oインターフェース装置300a,300bは、第1,第2CPU装置200a,200bから送信された種々の情報を受信する。
具体的には、第1のI/Oインターフェース装置300aは、第1CPU装置200aから送信された演算結果、リセット信号、CPUステータス情報を受信する。第2のI/Oインターフェース装置300bは、第2CPU装置200aから送信された演算結果、リセット信号、CPUステータス情報を受信する。
第1,第2のI/Oインターフェース装置300a,300bは、常用状態の動作時に受信した演算結果を入出力用モジュール100に出力する。
第1,第2のI/Oインターフェース装置300a,300bは、第1,第2CPU装置200a,200bから送信された種々の情報を受信する。
具体的には、第1のI/Oインターフェース装置300aは、第1CPU装置200aから送信された演算結果、リセット信号、CPUステータス情報を受信する。第2のI/Oインターフェース装置300bは、第2CPU装置200aから送信された演算結果、リセット信号、CPUステータス情報を受信する。
第1,第2のI/Oインターフェース装置300a,300bは、制御部31a,31b、メモリ部32a,32b、二重化ステータス作成回路33a,33bおよびステータス監視回路34a,34bをそれぞれ有する。
制御部31a,31bは、演算の結果を外部に出力する手段としての機能を有する。すなわち、第1,第2CPU装置200a,200bの演算結果は、制御部31a,31bを介して入出力用モジュール100に出力される。
また、制御部31aは、入出力用モジュール100から演算用データを受信し、メモリ部32aを介して第1CPU装置200a,200bの制御部21aに送信する。
制御部31a,31bは、それぞれメモリ部32a,32bを介して、第1,第2CPU装置200a,200bから送信された演算結果、リセット信号、CPUステータス情報を受信する。
制御部31a,31bは、第1,第2CPU装置200a,200bからの情報の受信の有無の監視を一定の時間毎に行っている。
制御部31a,31bは、演算の結果を外部に出力する手段としての機能を有する。すなわち、第1,第2CPU装置200a,200bの演算結果は、制御部31a,31bを介して入出力用モジュール100に出力される。
また、制御部31aは、入出力用モジュール100から演算用データを受信し、メモリ部32aを介して第1CPU装置200a,200bの制御部21aに送信する。
制御部31a,31bは、それぞれメモリ部32a,32bを介して、第1,第2CPU装置200a,200bから送信された演算結果、リセット信号、CPUステータス情報を受信する。
制御部31a,31bは、第1,第2CPU装置200a,200bからの情報の受信の有無の監視を一定の時間毎に行っている。
「一定の時間毎」とは、第1,第2CPU装置200a,200bのシステムのリスタート後、待機状態から通常時の動作状態に戻る時間に対して十分短く、かつ第1,第2CPU装置200a,200bの情報の送信間隔よりも長い時間である。
制御部31a,31bは、自装置が正常に動作しているか否かを診断する。制御部31a,31bの診断方法は制御部21a,21bと同様である。
制御部31a,31bは、診断の結果と第1,第2CPU装置200a,200bからそれぞれ受信したCPUステータス情報に基づいてI/Oインターフェース診断情報(以下、I/O・I/F診断情報と称す。)を生成する。「I/O・I/F診断情報」は正常または異常を表すものである。
制御部31a,31bは、自装置が正常に動作しているか否かを診断する。制御部31a,31bの診断方法は制御部21a,21bと同様である。
制御部31a,31bは、診断の結果と第1,第2CPU装置200a,200bからそれぞれ受信したCPUステータス情報に基づいてI/Oインターフェース診断情報(以下、I/O・I/F診断情報と称す。)を生成する。「I/O・I/F診断情報」は正常または異常を表すものである。
具体的には、制御部31a,31bは、自装置の診断結果が正常で、かつCPUステータス情報が常用状態だった場合、正常を表すI/O・I/F診断情報を生成する。
制御部31a,31bは、これ以外の場合、異常を表すI/O・I/F診断情報を生成する。
制御部31a,31bは、生成したI/O・I/F診断情報を二重化ステータス作成回路33a,33bにそれぞれ送信する。
制御部31a,31bは、二重化ステータス作成回路33a,33bからI/Oインターフェースステータス情報(以下、I/O・I/F・ST情報と称す)をそれぞれ受信する。
制御部31a,31bは、これ以外の場合、異常を表すI/O・I/F診断情報を生成する。
制御部31a,31bは、生成したI/O・I/F診断情報を二重化ステータス作成回路33a,33bにそれぞれ送信する。
制御部31a,31bは、二重化ステータス作成回路33a,33bからI/Oインターフェースステータス情報(以下、I/O・I/F・ST情報と称す)をそれぞれ受信する。
「I/O・I/F・ST情報」は、第1,第2のI/Oインターフェース装置300a,300bの動作状態が常用状態または待機状態のどちらかで示されたものである。
制御部31a,31bは、I/O・I/F・ST情報が常用状態を示すものだった場合、受信した演算結果を入出力用モジュール100に出力する。
制御部31a,31bは、ステータス監視回路34a,34bをそれぞれ制御する。
メモリ部32a,32bは演算の結果を受信する手段である。メモリ部32a,32bには、演算結果などが一時的に記憶される。
また、メモリ部32a,32bには、ステータス監視回路34a,34bの制御時に参照される種々の情報(例えば「10秒」、「20秒」などの所定の時間情報や「10回」、「20回」などの所定の回数情報)が記憶される。これら回数情報などは閾値として機能する。
制御部31a,31bは、I/O・I/F・ST情報が常用状態を示すものだった場合、受信した演算結果を入出力用モジュール100に出力する。
制御部31a,31bは、ステータス監視回路34a,34bをそれぞれ制御する。
メモリ部32a,32bは演算の結果を受信する手段である。メモリ部32a,32bには、演算結果などが一時的に記憶される。
また、メモリ部32a,32bには、ステータス監視回路34a,34bの制御時に参照される種々の情報(例えば「10秒」、「20秒」などの所定の時間情報や「10回」、「20回」などの所定の回数情報)が記憶される。これら回数情報などは閾値として機能する。
二重化ステータス作成回路33a,33bは、装置の動作状態が常用状態または待機状態であることを示す情報を生成する手段である。
二重化ステータス作成回路33a,33bは、ステータス監視回路34a、34bからステータスリセット信号をそれぞれ受信する。
「ステータスリセット信号」は、第1,第2CPU装置200a,200bからそれぞれ送信されるリセット信号と同様の信号である。すなわち、ステータスリセット信号は、第1,第2のI/Oインターフェース装置300a,300bの動作状態を常用状態から待機状態に変更させるものである。
二重化ステータス作成回路33a,33bは、I/O・I/F・ST情報を生成する。
二重化ステータス作成回路33a,33bは、ステータス監視回路34a、34bからステータスリセット信号をそれぞれ受信する。
「ステータスリセット信号」は、第1,第2CPU装置200a,200bからそれぞれ送信されるリセット信号と同様の信号である。すなわち、ステータスリセット信号は、第1,第2のI/Oインターフェース装置300a,300bの動作状態を常用状態から待機状態に変更させるものである。
二重化ステータス作成回路33a,33bは、I/O・I/F・ST情報を生成する。
ここで、二重化ステータス作成回路33a,33bによるI/O・I/F・ST情報の生成処理について説明する。
二重化ステータス作成回路33a,33bは、制御部31a,31bから送信されたI/O・I/F診断情報をそれぞれ受信する。
第1のI/Oインターフェース装置300aのシステムの立ち上がり時には、二重化ステータス作成回路33aは、I/O・I/F診断情報が正常であれば、常用状態を示すI/O・I/F・ST情報を生成する。
第2のI/Oインターフェース装置300bのシステムの立ち上がり時には、二重化ステータス作成回路33bは、I/O・I/F診断情報が正常であれば、待機状態を示すI/O・I/F・ST情報を生成する。
二重化ステータス作成回路33a,33bは、制御部31a,31bから送信されたI/O・I/F診断情報をそれぞれ受信する。
第1のI/Oインターフェース装置300aのシステムの立ち上がり時には、二重化ステータス作成回路33aは、I/O・I/F診断情報が正常であれば、常用状態を示すI/O・I/F・ST情報を生成する。
第2のI/Oインターフェース装置300bのシステムの立ち上がり時には、二重化ステータス作成回路33bは、I/O・I/F診断情報が正常であれば、待機状態を示すI/O・I/F・ST情報を生成する。
二重化ステータス作成回路33a,33bは、生成したI/O・I/F・ST情報を二重化ステータス作成回路33a,33b間で送受信する。
具体的には、二重化ステータス作成回路33aは、二重化ステータス作成回路33bに対して、生成したI/O・I/F・ST情報を送信する。
二重化ステータス作成回路33bは、二重化ステータス作成回路33aに対して、生成したI/O・I/F・ST情報を送信する。
具体的には、二重化ステータス作成回路33aは、二重化ステータス作成回路33bに対して、生成したI/O・I/F・ST情報を送信する。
二重化ステータス作成回路33bは、二重化ステータス作成回路33aに対して、生成したI/O・I/F・ST情報を送信する。
二重化ステータス作成回路33a,33bは、I/O・I/F診断情報が正常で、かつ受信した相手装置のI/O・I/F・ST情報が待機を示すものであった場合、常用状態を示すI/O・I/F・ST情報を生成する。これ以外の場合、二重化ステータス作成回路33a,33bは、待機状態を示すI/O・I/F・ST情報を生成する。
二重化ステータス作成回路33a,33bは、自装置のI/O・I/F診断情報と受信した相手装置のI/O・I/F・ST情報に基づいてそれぞれ自装置のI/O・I/F・ST情報の継続的な管理を行う。
「継続的な管理」とは、I/O・I/F診断情報や相手装置から受信したI/O・I/F・ST情報の内容に変更があった場合、新たにI/O・I/F・ST情報を生成することである。
二重化ステータス作成回路33a,33bは、自装置のI/O・I/F診断情報と受信した相手装置のI/O・I/F・ST情報に基づいてそれぞれ自装置のI/O・I/F・ST情報の継続的な管理を行う。
「継続的な管理」とは、I/O・I/F診断情報や相手装置から受信したI/O・I/F・ST情報の内容に変更があった場合、新たにI/O・I/F・ST情報を生成することである。
二重化ステータス作成回路33a,33bは、ステータス監視回路34a、34bからステータスリセット信号を受信すると常に待機を示すI/O・I/F・ST情報を生成する。
以上がI/O・I/F・ST情報の生成処理についての説明である。
二重化ステータス作成回路33a,33bは、特に図示はしないメモリを有する。このメモリに送受信したI/O・I/F・ST情報およびI/F診断情報などが保持される。
二重化ステータス作成回路33a,33bは生成したI/O・I/F・ST情報を制御部31a,31bにそれぞれ送信する。
以上がI/O・I/F・ST情報の生成処理についての説明である。
二重化ステータス作成回路33a,33bは、特に図示はしないメモリを有する。このメモリに送受信したI/O・I/F・ST情報およびI/F診断情報などが保持される。
二重化ステータス作成回路33a,33bは生成したI/O・I/F・ST情報を制御部31a,31bにそれぞれ送信する。
ステータス監視回路34a,34bは、装置の動作状態が待機状態であることを示す情報を生成させる手段である。
ステータス監視回路34a,34bは、リセット処理を行う。「リセット処理」は、第1,第2CPU装置200a,200bから送信されるリセット信号が正常に受信されなかった場合に自装置の動作状態を待機状態に変更するためのものである。
ステータス監視回路34a,34bはタイマ35a,35bと、カウンタ36a,36bおよびリセット信号生成部37a,37bで構成される。
ステータス監視回路34a,34bは、リセット処理を行う。「リセット処理」は、第1,第2CPU装置200a,200bから送信されるリセット信号が正常に受信されなかった場合に自装置の動作状態を待機状態に変更するためのものである。
ステータス監視回路34a,34bはタイマ35a,35bと、カウンタ36a,36bおよびリセット信号生成部37a,37bで構成される。
タイマ35a,35bは常に時間の計時を行っている。タイマ35a,35bは、メモリ部32a,32bに記憶された時間情報に対応する時間を計時する。タイマ35a,35bは、計時した時間が時間情報に対応する秒数に達すると、所定時間の計時を終了したことを示すタイムアップ通知を制御部31a,31bに送信する。
タイムアップ通知後、タイマ35a,35bは制御部31a,31bにそれぞれ制御されて計時のリセットがされる。
タイムアップ通知後、タイマ35a,35bは制御部31a,31bにそれぞれ制御されて計時のリセットがされる。
「計時のリセット」は、例えば、制御部31a,31bがタイマ35a,35bを制御して、計測時間を0に戻し、0に戻した時点から再度、時間情報分の計時を計測を開始させることである。
カウンタ36a,36bはタイマ35a,35bのタイムアップ回数をそれぞれカウントする。具体的には、制御部31a,31bがタイマ35a,35bからタイムアップ通知を受信したことに基づいて、カウンタ36a,36bに対してカウントアップを行わせる。
カウンタ36a,36bのカウント回数は、制御部31a,31bによってリセットされる。具体的には、制御部31a,31bが演算結果を受信したことに基づいて、リセットされる。
カウンタ36a,36bはタイマ35a,35bのタイムアップ回数をそれぞれカウントする。具体的には、制御部31a,31bがタイマ35a,35bからタイムアップ通知を受信したことに基づいて、カウンタ36a,36bに対してカウントアップを行わせる。
カウンタ36a,36bのカウント回数は、制御部31a,31bによってリセットされる。具体的には、制御部31a,31bが演算結果を受信したことに基づいて、リセットされる。
リセット信号生成部37a,37bは、二重化ステータス作成回路33a,33bに対してステータスリセット信号をそれぞれ送信する。具体的には、カウンタ36a,36bによるカウント数がメモリ部32aに記憶された所定回数に達すると制御部31aがリセット信号生成部37aを制御し、二重化ステータス作成回路33aに対してステータスリセット信号を送信させる。
次に図2を用いて制御システム1の動作について説明する。図2は制御システム1の動作を表すシーケンス図である。
(1)CPUステータス信号管理(ステップS101、S102)
第1,第2CPU装置200a,200bは互いのI/O・I/F・ST情報と自装置のCPU診断情報に基づいて、自装置の動作状態を常用または待機状態のどちらかに決定する。通常時、第1CPU装置200aが常用状態、第2CPU装置200bが待機状態に自装置の動作状態を決定する。このとき、CPUステータス情報が第1,第2のI/Oインターフェース装置300a,300bに対してそれぞれ送信される。
(1)CPUステータス信号管理(ステップS101、S102)
第1,第2CPU装置200a,200bは互いのI/O・I/F・ST情報と自装置のCPU診断情報に基づいて、自装置の動作状態を常用または待機状態のどちらかに決定する。通常時、第1CPU装置200aが常用状態、第2CPU装置200bが待機状態に自装置の動作状態を決定する。このとき、CPUステータス情報が第1,第2のI/Oインターフェース装置300a,300bに対してそれぞれ送信される。
(2)演算用データの送受信(ステップS103、S104)
入出力用モジュール100が、第1CPU装置200aに対して演算用データを送信する。第1CPU装置200aはこの演算用データを受信する。さらに第1CPU装置200aは受信した演算用データを第2CPU装置200bに送信する。
入出力用モジュール100が、第1CPU装置200aに対して演算用データを送信する。第1CPU装置200aはこの演算用データを受信する。さらに第1CPU装置200aは受信した演算用データを第2CPU装置200bに送信する。
(3)演算(ステップS105〜S110)
第1,第2CPU装置200a,200bはそれぞれ受信した演算用データに基づいてプラント監視に必要な種々の演算を行う(ステップS105、S106)。
第1CPU装置200aは、演算結果を第1のI/Oインターフェース装置300aに送信する。第2CPU装置200bは、演算結果を第2のI/Oインターフェース装置300bに送信する(ステップS107、S108)。
また、第1,第2CPU装置200a,200bは、CPUステータス情報を第1,第2のI/Oインターフェース装置300a,300bにそれぞれ送信する(ステップS109、S110)。
(4)I/O・I/F診断情報の生成(ステップS111、S112)。
第1,第2のI/Oインターフェース装置300a,300bは、自装置が正常に動作しているか否かをそれぞれ診断する。第1,第2のI/Oインターフェース装置300a,300bは、診断の結果と受診したCPUステータスに基づいてI/O・I/F診断情報を生成する。
(5)I/O・I/F・ST情報の生成処理(ステップS113、S114)
第1,第2のI/Oインターフェース装置300a,300bは、自装置の診断の結果とCPUステータス情報に基づいて常にI/O・I/F・ST情報の生成処理を行っている。
第1,第2CPU装置200a,200bはそれぞれ受信した演算用データに基づいてプラント監視に必要な種々の演算を行う(ステップS105、S106)。
第1CPU装置200aは、演算結果を第1のI/Oインターフェース装置300aに送信する。第2CPU装置200bは、演算結果を第2のI/Oインターフェース装置300bに送信する(ステップS107、S108)。
また、第1,第2CPU装置200a,200bは、CPUステータス情報を第1,第2のI/Oインターフェース装置300a,300bにそれぞれ送信する(ステップS109、S110)。
(4)I/O・I/F診断情報の生成(ステップS111、S112)。
第1,第2のI/Oインターフェース装置300a,300bは、自装置が正常に動作しているか否かをそれぞれ診断する。第1,第2のI/Oインターフェース装置300a,300bは、診断の結果と受診したCPUステータスに基づいてI/O・I/F診断情報を生成する。
(5)I/O・I/F・ST情報の生成処理(ステップS113、S114)
第1,第2のI/Oインターフェース装置300a,300bは、自装置の診断の結果とCPUステータス情報に基づいて常にI/O・I/F・ST情報の生成処理を行っている。
(6)演算結果の送信(ステップS115、S116)
第1,第2のI/Oインターフェース装置300a,300bは、自装置の動作状態が常用状態だった場合、演算結果を入出力用モジュール100に出力する。
通常時、第1のI/Oインターフェース装置300aが演算結果を出力する。通常時、第2のI/Oインターフェース装置300bは演算結果を保持する。
第1CPU装置200aおよび第1のI/Oインターフェース装置300aが待機状態の場合、第2のI/Oインターフェース装置300bが演算結果を出力する(図中のS116の点線)。
第1,第2のI/Oインターフェース装置300a,300bは、自装置の動作状態が常用状態だった場合、演算結果を入出力用モジュール100に出力する。
通常時、第1のI/Oインターフェース装置300aが演算結果を出力する。通常時、第2のI/Oインターフェース装置300bは演算結果を保持する。
第1CPU装置200aおよび第1のI/Oインターフェース装置300aが待機状態の場合、第2のI/Oインターフェース装置300bが演算結果を出力する(図中のS116の点線)。
(7)リセット信号の送信(ステップS117)
ステップS101において、第1CPU装置200aの自己診断によって異常が検知される場合がある。この場合、第1CPU装置200aはシステムリセットを行い、自装置の動作状態を常用状態から待機状態へ変更する。
このとき、第1CPU装置200aは演算を停止する。したがって、第1CPU装置200aから第1のI/Oインターフェース装置300aに対して行われる演算結果およびCPUステータス情報の送信は中断する。すなわちステップS105、S107、S109の処理が行われない。
ステップS101において、第1CPU装置200aの自己診断によって異常が検知される場合がある。この場合、第1CPU装置200aはシステムリセットを行い、自装置の動作状態を常用状態から待機状態へ変更する。
このとき、第1CPU装置200aは演算を停止する。したがって、第1CPU装置200aから第1のI/Oインターフェース装置300aに対して行われる演算結果およびCPUステータス情報の送信は中断する。すなわちステップS105、S107、S109の処理が行われない。
第1CPU装置200aの動作の変更に対応して第2CPU装置200bは自装置の動作状態を待機状態から常用状態へ変更する。
第1CPU装置200aがシステムリセットを行うとき、第1CPU装置200aから第1のI/Oインターフェース装置300aに対してリセット信号が送信される(ステップS117の点線)。
第1のI/Oインターフェース装置300aが、リセット信号を正常に受信した場合、第1のI/Oインターフェース装置300aは自装置の動作状態を常用状態から待機状態に変更する。この第1のI/Oインターフェース装置300aの動作の変更に対応して、第2のI/Oインターフェース装置300bは、自装置の動作状態を待機状態から常用状態に変更する。
第1CPU装置200aがシステムリセットを行うとき、第1CPU装置200aから第1のI/Oインターフェース装置300aに対してリセット信号が送信される(ステップS117の点線)。
第1のI/Oインターフェース装置300aが、リセット信号を正常に受信した場合、第1のI/Oインターフェース装置300aは自装置の動作状態を常用状態から待機状態に変更する。この第1のI/Oインターフェース装置300aの動作の変更に対応して、第2のI/Oインターフェース装置300bは、自装置の動作状態を待機状態から常用状態に変更する。
(8)リセット処理(ステップS118、S119)
ステップS117において、第1のI/Oインターフェース装置300aが、第1CPU装置200aからのリセット信号を正常に受信できない場合がある。
この場合、第1CPU装置200aの動作状態は待機状態、第2CPU装置200bの動作状態は常用状態に変更されるのに対し、第1のI/Oインターフェース装置300aは常用状態、第2のI/Oインターフェース装置300bは待機状態となる。結果として、入出力用モジュール100に対する演算結果の送信が行われない。
入出力用モジュール100に対する演算結果の送信が行われないことを防止するため、第1,第2のI/Oインターフェース装置300a,300bは常にリセット処理を行っている。
ステップS117において、第1のI/Oインターフェース装置300aが、第1CPU装置200aからのリセット信号を正常に受信できない場合がある。
この場合、第1CPU装置200aの動作状態は待機状態、第2CPU装置200bの動作状態は常用状態に変更されるのに対し、第1のI/Oインターフェース装置300aは常用状態、第2のI/Oインターフェース装置300bは待機状態となる。結果として、入出力用モジュール100に対する演算結果の送信が行われない。
入出力用モジュール100に対する演算結果の送信が行われないことを防止するため、第1,第2のI/Oインターフェース装置300a,300bは常にリセット処理を行っている。
ここで図3を用いてリセット処理について説明する。図3は第1のI/Oインターフェース装置300aのリセット処理を示すフローチャートである。
なお以下、一例として第1のI/Oインターフェース装置300aの動作について説明するが第2のI/Oインターフェース装置300bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置300bのリセット処理については詳細な説明は省略する。
なお以下、一例として第1のI/Oインターフェース装置300aの動作について説明するが第2のI/Oインターフェース装置300bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置300bのリセット処理については詳細な説明は省略する。
(1)時間の計時(ステップS201)
制御部31aに制御されてタイマ35aが、所定時間の計時を継続的に行う。
(2)演算結果受信の有無(ステップS202)
制御部31aは、第1CPU装置200aから送信された演算結果を受信したか否かを常時監視している。
制御部31aに制御されてタイマ35aが、所定時間の計時を継続的に行う。
(2)演算結果受信の有無(ステップS202)
制御部31aは、第1CPU装置200aから送信された演算結果を受信したか否かを常時監視している。
(3)演算結果の出力(ステップS203〜S205)
ステップS202において、第1CPU装置200aから送信された演算結果を受信すると、制御部31aは、I/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部31aは受信した演算結果を入出力用モジュール100に送信する(図2のステップS115参照)。
次に制御部31aは、カウンタ36aがカウントするタイマ35aのタイムアップ回数をリセットする。なお、ステップS205の処理は、ステップS203の処理の前後に行うこともできる。
ステップS202において、第1CPU装置200aから送信された演算結果を受信すると、制御部31aは、I/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部31aは受信した演算結果を入出力用モジュール100に送信する(図2のステップS115参照)。
次に制御部31aは、カウンタ36aがカウントするタイマ35aのタイムアップ回数をリセットする。なお、ステップS205の処理は、ステップS203の処理の前後に行うこともできる。
(4)演算結果の保持(ステップS206)
ステップS203において、参照したI/O・I/F・ST情報が待機状態だった場合、制御部31aは演算結果をメモリ部32aに保持させる。
(5)カウント制御(ステップS207、S208)
制御部31aは、タイマ35aからのタイムアップ通知の受信に対応してカウンタ36aを制御してタイムアップ回数をカウントさせる。
ステップS203において、参照したI/O・I/F・ST情報が待機状態だった場合、制御部31aは演算結果をメモリ部32aに保持させる。
(5)カウント制御(ステップS207、S208)
制御部31aは、タイマ35aからのタイムアップ通知の受信に対応してカウンタ36aを制御してタイムアップ回数をカウントさせる。
(6)I/O・I/F・ST情報の変更(ステップS209〜S211)
制御部31aは、カウンタ36aにカウントさせたタイムアップ回数を常に監視している。カウンタ36aによるタイムアップ回数のカウント数が所定回数に達していなかった場合、第1のI/Oインターフェース装置300aはステップS202からの一連の動作を繰り返す。
カウンタ36aによるカウント数が、メモリ部32aに記憶された所定回数分に達すると、制御部31aは、リセット信号生成部37aを制御して二重化ステータス作成回路33aに対してステータスリセット信号を送信させる(ステップS209、S210)。
制御部31aは、カウンタ36aにカウントさせたタイムアップ回数を常に監視している。カウンタ36aによるタイムアップ回数のカウント数が所定回数に達していなかった場合、第1のI/Oインターフェース装置300aはステップS202からの一連の動作を繰り返す。
カウンタ36aによるカウント数が、メモリ部32aに記憶された所定回数分に達すると、制御部31aは、リセット信号生成部37aを制御して二重化ステータス作成回路33aに対してステータスリセット信号を送信させる(ステップS209、S210)。
ステータスリセット信号を受信した二重化ステータス作成回路33aは、待機状態を示すI/O・I/F・ST情報を生成する(ステップS211)。
ステップS211での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置300bの動作状態が常用状態となる。したがって、第2CPU装置200bでの演算結果が入出力用モジュール100に対して送信されるようになる(図2のステップS116参照)。
ステップS211での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置300bの動作状態が常用状態となる。したがって、第2CPU装置200bでの演算結果が入出力用モジュール100に対して送信されるようになる(図2のステップS116参照)。
以上説明したように、第1のI/Oインターフェース装置300aは、リセット信号生成部37aが制御部31aに制御されて自装置のリセット処理を行う。
具体的には、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたときに、制御部31aに演算結果が送信されないため、タイムアップ回数のリセットが行われない。結果として、タイムアップ回数が閾値に達してリセット処理が行われる。
具体的には、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたときに、制御部31aに演算結果が送信されないため、タイムアップ回数のリセットが行われない。結果として、タイムアップ回数が閾値に達してリセット処理が行われる。
したがって、第1のI/Oインターフェース装置300aが第1CPU装置200aからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第1のI/Oインターフェース装置400aの動作状態を常用状態から待機状態に変更することができる。
このことにより、第1のI/Oインターフェース装置300aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置300bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
このことにより、第1のI/Oインターフェース装置300aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置300bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
(第2の実施形態)
次に図4を用いて、第2の実施形態にかかる制御システム2について説明する。図4は制御システム2を表すブロック図である。
この第2の実施形態にかかる制御システム2は、第1の実施形態にかかる制御システム1における第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1の実施形態にかかる制御システム1と同一の部分については同一の符号を付し詳細な説明は省略する。
次に図4を用いて、第2の実施形態にかかる制御システム2について説明する。図4は制御システム2を表すブロック図である。
この第2の実施形態にかかる制御システム2は、第1の実施形態にかかる制御システム1における第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1の実施形態にかかる制御システム1と同一の部分については同一の符号を付し詳細な説明は省略する。
図4に示すように制御システム2は、入出力用モジュール100、第1CPU装置200a,第2CPU装置200b、第1のI/Oインターフェース装置400a,第2のI/Oインターフェース装置400bを備える。
第1,第2のI/Oインターフェース装置400a,400bは、制御部41a,41b、記憶部42a,42b、二重化ステータス作成回路33a,33bそしてタイマ35a,35bをそれぞれ有している。
制御部41a,41bは、タイマ35a,35bからタイムアップ通知をそれぞれ受信する。制御部41a,41bは、タイムアップ通知を受信した回数をタイムアップ回数情報として記憶部42aにそれぞれ記憶させる。
「タイムアップ回数情報」は「1」、「2」などの数を示す情報である。
第1,第2のI/Oインターフェース装置400a,400bは、制御部41a,41b、記憶部42a,42b、二重化ステータス作成回路33a,33bそしてタイマ35a,35bをそれぞれ有している。
制御部41a,41bは、タイマ35a,35bからタイムアップ通知をそれぞれ受信する。制御部41a,41bは、タイムアップ通知を受信した回数をタイムアップ回数情報として記憶部42aにそれぞれ記憶させる。
「タイムアップ回数情報」は「1」、「2」などの数を示す情報である。
制御部41a,41bは、タイムアップ通知を受信したことに対応してタイムアップ回数情報の更新を行う。
「タイムアップ回数情報の更新」は、例えば、タイムアップ通知の受信に対応して、記憶部42aに記憶されたタイムアップ回数情報に対し1プラスし、新たなタイムアップ回数情報としてこの記憶部42aに記憶させることである。
制御部41a,41bは、第1,第2CPU装置200a,200bから演算結果、CPUステータス情報およびリセット信号をそれぞれ受信する。制御部41a,41bは、演算結果を受信したことに基づいて記憶部42a,42bが記憶するタイムアップ回数情報をそれぞれリセットする。
「タイムアップ回数情報の更新」は、例えば、タイムアップ通知の受信に対応して、記憶部42aに記憶されたタイムアップ回数情報に対し1プラスし、新たなタイムアップ回数情報としてこの記憶部42aに記憶させることである。
制御部41a,41bは、第1,第2CPU装置200a,200bから演算結果、CPUステータス情報およびリセット信号をそれぞれ受信する。制御部41a,41bは、演算結果を受信したことに基づいて記憶部42a,42bが記憶するタイムアップ回数情報をそれぞれリセットする。
「タイムアップ回数情報をリセット」とは、記憶部42a,42bに記憶されたタイムアップ回数情報を0にすることである。
制御部41a,41bは、自装置が正常に動作しているか否かを診断する。制御部41a,41bは、この診断結果と受信したCPUステータス情報に基づいてI/O・I/F診断情報をそれぞれ生成する。制御部41a,41bは、生成したI/O・I/F診断情報を二重化ステータス作成回路33a,33bにそれぞれ送信する。
制御部41a,41bは、自装置が正常に動作しているか否かを診断する。制御部41a,41bは、この診断結果と受信したCPUステータス情報に基づいてI/O・I/F診断情報をそれぞれ生成する。制御部41a,41bは、生成したI/O・I/F診断情報を二重化ステータス作成回路33a,33bにそれぞれ送信する。
制御部41a,41bは、記憶部42a,42bに記憶されたタイムアップ回数情報を常に監視している。
制御部41a,41bは、記憶部42a,42bに記憶されたタイムアップ回数が、情報所定回数に達するとI/O・I/F診断情報を異常を示すものにそれぞれ変更する。
制御部41a,41bは、二重化ステータス作成回路33a,33bから自装置の動作状態が常用状態か待機状態かを示すI/O・I/F・ST情報をそれぞれ受信する。
制御部41a,41bは、記憶部42a,42bに記憶されたタイムアップ回数が、情報所定回数に達するとI/O・I/F診断情報を異常を示すものにそれぞれ変更する。
制御部41a,41bは、二重化ステータス作成回路33a,33bから自装置の動作状態が常用状態か待機状態かを示すI/O・I/F・ST情報をそれぞれ受信する。
制御部41a,41bは、I/O・I/F・ST情報が常用を示すものであった場合、CPU装置200a,200bから受信した演算結果を入出力用モジュール100に出力する。
記憶部42aは、メモリ部32a,カウント記憶部422aを備える。カウント記憶部422aには、タイムアップ回数情報が記憶される。
以上のように構成された制御システム2全体的な動作は第1の実施形態に示した制御システム1と同様である。したがってここでは詳細な説明は省略する。
記憶部42aは、メモリ部32a,カウント記憶部422aを備える。カウント記憶部422aには、タイムアップ回数情報が記憶される。
以上のように構成された制御システム2全体的な動作は第1の実施形態に示した制御システム1と同様である。したがってここでは詳細な説明は省略する。
次に図5を用いて以上のように構成された第1のI/Oインターフェース装置400aにおけるリセット処理について説明する。すなわち図5は第1のI/Oインターフェース装置400aのリセット処理の動作を示すフローチャートである。
なお、以下、一例として第1のI/Oインターフェース装置400aの動作について説明するが第2のI/Oインターフェース装置400bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置400bのリセット処理については詳細な説明は省略する。
なお、以下、一例として第1のI/Oインターフェース装置400aの動作について説明するが第2のI/Oインターフェース装置400bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置400bのリセット処理については詳細な説明は省略する。
(1)時間の計時(ステップS301)
制御部41aに制御されてタイマ35aが、所定時間の計時を継続的に行う。
(2)演算結果受信したか否かの処理(ステップS302)
制御部41aは、第1CPU装置200aから送信された演算結果を受信したか否かを常時監視している。
(3)演算結果の出力(ステップS303〜S305)
ステップS302において、第1CPU装置200aから送信された演算結果を受信すると、制御部41aは、I/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部41aは受信した演算結果を入出力用モジュール100に送信する。
次に制御部41aは、カウント記憶部422aに対してタイムアップ回数情報のリセットを行う。なお、ステップS305の処理は、ステップS303の処理の前後に行うこともできる。
制御部41aに制御されてタイマ35aが、所定時間の計時を継続的に行う。
(2)演算結果受信したか否かの処理(ステップS302)
制御部41aは、第1CPU装置200aから送信された演算結果を受信したか否かを常時監視している。
(3)演算結果の出力(ステップS303〜S305)
ステップS302において、第1CPU装置200aから送信された演算結果を受信すると、制御部41aは、I/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部41aは受信した演算結果を入出力用モジュール100に送信する。
次に制御部41aは、カウント記憶部422aに対してタイムアップ回数情報のリセットを行う。なお、ステップS305の処理は、ステップS303の処理の前後に行うこともできる。
(4)演算結果の保持(ステップS306)
ステップS303において、参照したI/O・I/F・ST情報が待機だった場合、制御部41aは演算結果をメモリ部32aに保持させる。
(5)カウント制御(ステップS307、S308)
制御部41aは、タイマ35aからのタイムアップ通知を受信に対応して、タイムアップ回数情報を更新する。
ステップS303において、参照したI/O・I/F・ST情報が待機だった場合、制御部41aは演算結果をメモリ部32aに保持させる。
(5)カウント制御(ステップS307、S308)
制御部41aは、タイマ35aからのタイムアップ通知を受信に対応して、タイムアップ回数情報を更新する。
(6)I/O・I/F・ST情報の変更(ステップS309、S310)
制御部41aは、カウント記憶部422aに記憶させたタイムアップ回数情報を常に監視している。
カウント記憶部422aに記憶に記憶されたタイムアップ回数情報が、メモリ部32aに記憶された回数情報に達していなかった場合、制御部31aは、ステップS302からの一連の動作を繰り返す。
制御部41aは、カウント記憶部422aに記憶させたタイムアップ回数情報を常に監視している。
カウント記憶部422aに記憶に記憶されたタイムアップ回数情報が、メモリ部32aに記憶された回数情報に達していなかった場合、制御部31aは、ステップS302からの一連の動作を繰り返す。
カウント記憶部422aに記憶されたタイムアップ回数情報が、メモリ部32aに記憶された回数情報に達した場合、制御部41aは、異常を示すI/O・I/F診断情報を二重化ステータス作成回路33aに送信する(ステップS309)。
異常を示すI/O・I/F診断情報を受信した二重化ステータス作成回路33aは、I/O・I/F・ST情報を常用状態から待機状態に変更する(ステップS310)。
異常を示すI/O・I/F診断情報を受信した二重化ステータス作成回路33aは、I/O・I/F・ST情報を常用状態から待機状態に変更する(ステップS310)。
ステップS310でのI/O・I/F・ST情報の変更に対応して、第2のI/Oインターフェース装置400bの動作状態が常用状態となる。
したがって、第2のI/Oインターフェース装置400bは、第2CPU装置200bでの演算結果を入出力用モジュール100に対して送信する。
したがって、第2のI/Oインターフェース装置400bは、第2CPU装置200bでの演算結果を入出力用モジュール100に対して送信する。
以上説明したように、第1のI/Oインターフェース装置400aは、カウント記憶部422aに記憶されたタイムアップ回数情報がリセットされないことに基づいて自装置のリセット処理を行う。
具体的には、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたときに、制御部41aに演算結果が送信されないため、受信回数情報のリセットが行われない。結果として、受信回数情報が閾値に達してリセット処理が行われる。
具体的には、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたときに、制御部41aに演算結果が送信されないため、受信回数情報のリセットが行われない。結果として、受信回数情報が閾値に達してリセット処理が行われる。
したがって、第1のI/Oインターフェース装置400aが第1CPU装置200aからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第1のI/Oインターフェース装置400aの動作状態を常用状態から待機状態に変更することができる。
このことにより、第1のI/Oインターフェース装置400aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置400bの動作状態が待機状態のままとなることを防止できる。結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
このことにより、第1のI/Oインターフェース装置400aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置400bの動作状態が待機状態のままとなることを防止できる。結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
(第3の実施形態)
次に図6を用いて、第3の実施形態にかかる制御システム3について説明する。図6は制御システム3を表すブロック図である。
この第3の実施形態にかかる制御システム3は、第1の実施形態にかかる制御システム1における第1,第2CPU装置200a,200bおよび第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1の実施形態にかかる制御システム1と同一の部分については同一の符号を付し詳細な説明は省略する。
次に図6を用いて、第3の実施形態にかかる制御システム3について説明する。図6は制御システム3を表すブロック図である。
この第3の実施形態にかかる制御システム3は、第1の実施形態にかかる制御システム1における第1,第2CPU装置200a,200bおよび第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1の実施形態にかかる制御システム1と同一の部分については同一の符号を付し詳細な説明は省略する。
図6に示すように制御システム3は入出力用モジュール100、第1CPU装置500a,第2CPU装置500b、第1のI/Oインターフェース装置600a,第2のI/Oインターフェース装置600bを備える。
第1,第2CPU装置500a,500bは、制御部21a,21b、記憶部22a,22bおよび二重化ステータス作成回路51a,51bを有している。
第1,第2CPU装置500a,500bは、制御部21a,21b、記憶部22a,22bおよび二重化ステータス作成回路51a,51bを有している。
二重化ステータス作成回路51a,51bは、それぞれCPUステータス情報を生成する。CPUステータス情報の生成方法は第1の実施形態の二重化ステータス作成回路23a,23bと同様であるのでここでは詳細な説明は省略する。
二重化ステータス作成回路51a,51bは、生成したCPUステータス情報を制御部21a,21bおよび第1,第2のI/Oインターフェース装置600a,600bにそれぞれ送信する。
二重化ステータス作成回路51a,51bは、生成したCPUステータス情報を制御部21a,21bおよび第1,第2のI/Oインターフェース装置600a,600bにそれぞれ送信する。
第1,第2のI/Oインターフェース装置600a,600bは、制御部31a,31b、メモリ部32a,32b、二重化ステータス作成回路61a,61bを有している。
二重化ステータス作成回路61a,61bは、二重化ステータス作成回路51a,51bから送信されたCPUステータス情報をそれぞれ受信する。二重化ステータス作成回路61a,61bは、制御部31a,31bが生成し、送信したI/O・I/F診断情報をそれぞれ受信する。
二重化ステータス作成回路61a,61bは、I/O・I/F・ST情報をそれぞれ生成する。
二重化ステータス作成回路61a,61bは、二重化ステータス作成回路51a,51bから送信されたCPUステータス情報をそれぞれ受信する。二重化ステータス作成回路61a,61bは、制御部31a,31bが生成し、送信したI/O・I/F診断情報をそれぞれ受信する。
二重化ステータス作成回路61a,61bは、I/O・I/F・ST情報をそれぞれ生成する。
二重化ステータス作成回路61a,61bは、自装置のI/O・I/F診断情報、受信した相手装置のI/O・I/F・ST情報そして第1,第2CPU装置500a,500bから送信されたCPUステータス情報に基づいてI/O・I/F・ST情報を生成する。
具体的には、二重化ステータス作成回路61a,61bは、I/O・I/F診断情報が正常で、かつ受信した相手装置のI/O・I/F・ST情報が待機を示すものであり、さらに受信したCPUステータス情報が常用状態を示すものであった場合、常用状態を示すI/O・I/F・ST情報を生成する。これ以外の場合、二重化ステータス作成回路61a,61bは、待機状態を示すI/O・I/F・ST情報を生成する。
以上のように構成された制御システム3全体的な動作は、I/O・I/F・ST情報がI/O・I/F診断情報、I/O・I/F・ST情報およびCPUステータス情報に基づいて生成されることを除き、第1の実施形態に示した制御システム1とほぼ同様である。したがってここでは詳細な説明は省略する。
具体的には、二重化ステータス作成回路61a,61bは、I/O・I/F診断情報が正常で、かつ受信した相手装置のI/O・I/F・ST情報が待機を示すものであり、さらに受信したCPUステータス情報が常用状態を示すものであった場合、常用状態を示すI/O・I/F・ST情報を生成する。これ以外の場合、二重化ステータス作成回路61a,61bは、待機状態を示すI/O・I/F・ST情報を生成する。
以上のように構成された制御システム3全体的な動作は、I/O・I/F・ST情報がI/O・I/F診断情報、I/O・I/F・ST情報およびCPUステータス情報に基づいて生成されることを除き、第1の実施形態に示した制御システム1とほぼ同様である。したがってここでは詳細な説明は省略する。
次に図7を用いて以上のように構成された第1のI/Oインターフェース装置600aにおけるリセット処理について説明する。すなわち図7は第1のI/Oインターフェース装置600aのリセット処理の動作を示すフローチャートである。
なお、以下一例として第1のI/Oインターフェース装置600aの動作について説明するが第2のI/Oインターフェース装置600bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置600bのリセット処理については詳細な説明は省略する。
(1)演算結果受信したか否かの処理(ステップS401)
制御部31aは、第1CPU装置500aから送信された演算結果を受信したか否かを常時監視している。
なお、以下一例として第1のI/Oインターフェース装置600aの動作について説明するが第2のI/Oインターフェース装置600bの動作もこれとほぼ同様である。よって第2のI/Oインターフェース装置600bのリセット処理については詳細な説明は省略する。
(1)演算結果受信したか否かの処理(ステップS401)
制御部31aは、第1CPU装置500aから送信された演算結果を受信したか否かを常時監視している。
(2)演算結果の出力(ステップS402)
ステップS401において、第1CPU装置500aから送信された演算結果を受信すると、制御部31aはI/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部31aは受信した演算結果を入出力用モジュール100に送信する。
(3)演算結果の保持(ステップS404)
ステップS402において、参照したI/O・I/F・ST情報が待機状態だった場合、制御部31aは演算結果をメモリ部32aに保持させる。
ステップS401において、第1CPU装置500aから送信された演算結果を受信すると、制御部31aはI/O・I/F・ST情報を参照する。
I/O・I/F・ST情報が常用状態であった場合、制御部31aは受信した演算結果を入出力用モジュール100に送信する。
(3)演算結果の保持(ステップS404)
ステップS402において、参照したI/O・I/F・ST情報が待機状態だった場合、制御部31aは演算結果をメモリ部32aに保持させる。
(4)I/O・I/F・ST情報の変更(ステップS405、S406)
二重化ステータス作成回路61aは、二重化ステータス作成回路51aから常にCPUステータス情報を受信している。
二重化ステータス作成回路61aは自装置のI/O・I/F診断情報と、二重化ステータス作成回路61bから受信したI/O・I/F・ST情報と、二重化ステータス作成回路51aから受信したCPUステータス情報に基づいて常に自装置の動作状態を管理している。
二重化ステータス作成回路61aは、二重化ステータス作成回路51aから常にCPUステータス情報を受信している。
二重化ステータス作成回路61aは自装置のI/O・I/F診断情報と、二重化ステータス作成回路61bから受信したI/O・I/F・ST情報と、二重化ステータス作成回路51aから受信したCPUステータス情報に基づいて常に自装置の動作状態を管理している。
第1CPU装置500aの動作状態が常用状態から待機状態に変更されるとき、CPUステータス情報は待機状態を示すものとなる。二重化ステータス作成回路61aは待機状態を示すCPUステータス情報を受信する。二重化ステータス作成回路61aは、待機状態を示すCPUステータス情報を受信したことに基づいて、待機状態を示すI/O・I/F・ST情報を生成する(ステップS406)。
ステップS406での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置600bの動作状態が常用状態となる。したがって、第2のI/Oインターフェース装置600bは、第2CPU装置500bでの演算結果を入出力用モジュール100に対して送信する。
ステップS406での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置600bの動作状態が常用状態となる。したがって、第2のI/Oインターフェース装置600bは、第2CPU装置500bでの演算結果を入出力用モジュール100に対して送信する。
以上説明したように、第1のI/Oインターフェース装置600aは、二重化ステータス作成回路61aが直接的にCPUステータス情報を受信することによってリセット処理が行われる。
第1のI/Oインターフェース装置600aが、第1CPU装置500aからリセット信号を正常に受信しなかった場合でも、CPUステータス情報によって、第1のI/Oインターフェース装置600aの動作状態を常用状態から待機状態に変更することができる。
このことにより、リセット信号を正常に受信されなかった場合に第1のI/Oインターフェース装置600aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置600bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
第1のI/Oインターフェース装置600aが、第1CPU装置500aからリセット信号を正常に受信しなかった場合でも、CPUステータス情報によって、第1のI/Oインターフェース装置600aの動作状態を常用状態から待機状態に変更することができる。
このことにより、リセット信号を正常に受信されなかった場合に第1のI/Oインターフェース装置600aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置600bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
(第4の実施形態)
次に図8を用いて、第4の実施形態にかかる制御システム4について説明する。図8は制御システム4を表すブロック図である。
この第4の実施形態にかかる制御システム4は、第1の実施形態にかかる制御システム1における第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1または第3の実施形態にかかる制御システム1,3と同一の部分については同一の符号を付し、詳細な説明は省略する。
図8に示すように制御システム4は入出力用モジュール100、第1CPU装置200a、第2CPU装置200b、第1のI/Oインターフェース装置700a、第2のI/Oインターフェース装置700bを備える。
次に図8を用いて、第4の実施形態にかかる制御システム4について説明する。図8は制御システム4を表すブロック図である。
この第4の実施形態にかかる制御システム4は、第1の実施形態にかかる制御システム1における第1,第2のI/Oインターフェース装置300a,300bの構成を変更した変更例である。
なお、以下の説明では第1または第3の実施形態にかかる制御システム1,3と同一の部分については同一の符号を付し、詳細な説明は省略する。
図8に示すように制御システム4は入出力用モジュール100、第1CPU装置200a、第2CPU装置200b、第1のI/Oインターフェース装置700a、第2のI/Oインターフェース装置700bを備える。
第1,第2のI/Oインターフェース装置700a,700bは、制御部71a,71b、記憶部42a,42b、二重化ステータス作成回路72a,72bをそれぞれ有している。
記憶部42a,42bは、第1,第2の記憶手段および第1,第2の受信手段である。制御部71a,71bは第1,第2のカウント手段、第1,第2の信号送信手段および第1,第2の生成指示手段である。
制御部71a,71bは、記憶部42a,42bが備えるメモリ部32a,32bを介して第1,第2CPU装置200a,200bから、演算結果とCPUステータス情報をそれぞれ受信する。
制御部71a,71bは、自装置が正常に動作しているか否かを診断する。制御部71a,71bは診断結果と受信したCPUステータス情報に基づいてI/O・I/F診断情報をそれぞれ生成する。
記憶部42a,42bは、第1,第2の記憶手段および第1,第2の受信手段である。制御部71a,71bは第1,第2のカウント手段、第1,第2の信号送信手段および第1,第2の生成指示手段である。
制御部71a,71bは、記憶部42a,42bが備えるメモリ部32a,32bを介して第1,第2CPU装置200a,200bから、演算結果とCPUステータス情報をそれぞれ受信する。
制御部71a,71bは、自装置が正常に動作しているか否かを診断する。制御部71a,71bは診断結果と受信したCPUステータス情報に基づいてI/O・I/F診断情報をそれぞれ生成する。
具体的には、自装置の診断結果が正常でかつCPUステータス情報が常用だった場合、制御部71a,71bは、正常を示すI/O・I/F診断情報を生成する。これ以外の場合、制御部71a,71bは、異常を示すI/O・I/F診断情報を生成する。
制御部71a,71bは、生成したI/O・I/F診断情報を二重化ステータス作成回路72a,72bにそれぞれ送信する。
制御部71a,71bは、二重化ステータス作成回路72a,72bから自装置の動作状態が常用状態か、待機状態かを示すI/O・I/F・ST情報をそれぞれ受信する。
制御部71a,71bは、I/O・I/F・ST情報が常用を示すものであった場合、受信した演算結果を入出力用モジュール100に出力する。
制御部71a,71bは、ステータス破棄要求信号を制御部71a,71b間で送受信する。具体的には、第1CPU装置200aから演算結果を受信したことに基づいて、制御部71aが制御部71bに対して、二重化ステータス作成回路72a,72bを介してステータス破棄要求信号を送信する。また、第2CPU装置200bから演算結果を受信したことに基づいて、制御部71bが制御部71aに対して、二重化ステータス作成回路72b、72aを介してステータス破棄要求信号を送信する。
「ステータス破棄要求信号」は第1または第2の信号として機能する。「ステータス破棄要求信号」は、制御部71a,71bにカウント処理を行わせるためのものである。
制御部71a,71bは、生成したI/O・I/F診断情報を二重化ステータス作成回路72a,72bにそれぞれ送信する。
制御部71a,71bは、二重化ステータス作成回路72a,72bから自装置の動作状態が常用状態か、待機状態かを示すI/O・I/F・ST情報をそれぞれ受信する。
制御部71a,71bは、I/O・I/F・ST情報が常用を示すものであった場合、受信した演算結果を入出力用モジュール100に出力する。
制御部71a,71bは、ステータス破棄要求信号を制御部71a,71b間で送受信する。具体的には、第1CPU装置200aから演算結果を受信したことに基づいて、制御部71aが制御部71bに対して、二重化ステータス作成回路72a,72bを介してステータス破棄要求信号を送信する。また、第2CPU装置200bから演算結果を受信したことに基づいて、制御部71bが制御部71aに対して、二重化ステータス作成回路72b、72aを介してステータス破棄要求信号を送信する。
「ステータス破棄要求信号」は第1または第2の信号として機能する。「ステータス破棄要求信号」は、制御部71a,71bにカウント処理を行わせるためのものである。
ここで制御部71a,71bのカウント処理について説明する。
制御部71a,71bは、ステータス破棄要求信号の受信回数を受信回数情報として記憶部42a,42bが備えるカウント記憶部422a,422bに記憶させる。
「受信回数情報」は、「1」、「2」などの数を示す情報である。
制御部71a,71bは、ステータス破棄要求信号を受信したことに対応して受信回数情報の更新を行う。
「受信回数情報の更新」は、例えば、ステータス破棄要求信号の受信に対応して、カウント記憶部422aに記憶されたタイムアップ回数情報に対し1プラスして、新たな受信回数情報としてこのカウント記憶部422aに記憶させることである。
以上がカウント処理の説明である。
制御部71a,71bは、ステータス破棄要求信号の受信回数を受信回数情報として記憶部42a,42bが備えるカウント記憶部422a,422bに記憶させる。
「受信回数情報」は、「1」、「2」などの数を示す情報である。
制御部71a,71bは、ステータス破棄要求信号を受信したことに対応して受信回数情報の更新を行う。
「受信回数情報の更新」は、例えば、ステータス破棄要求信号の受信に対応して、カウント記憶部422aに記憶されたタイムアップ回数情報に対し1プラスして、新たな受信回数情報としてこのカウント記憶部422aに記憶させることである。
以上がカウント処理の説明である。
制御部71a,71bはカウント記憶部422a,422bに記憶された受信回数情報を常に監視している。
制御部71a,72bは、カウント記憶部422a,422bに記憶された受信回数情報が所定の値に達すると二重化ステータス作成回路72a,72bに対してステータスリセット信号をそれぞれ送信する。
制御部71a,72bは、第1CPU装置200a,第2CPU装置200bから演算結果を受信すると、カウント記憶部422a,422bに記憶された受信回数情報をリセットする。
「受信回数情報のリセット」は、カウント記憶部422a,422bに記憶された受信回数情報を0にすることである。
二重化ステータス作成回路72a,72bは、I/O・I/F・ST情報をそれぞれ生成する。I/O・I/F・ST情報の生成方法は第1の実施形態の二重化ステータス作成回路33a,33bと同様であるのでここでは詳細な説明は省略する。
制御部71a,72bは、カウント記憶部422a,422bに記憶された受信回数情報が所定の値に達すると二重化ステータス作成回路72a,72bに対してステータスリセット信号をそれぞれ送信する。
制御部71a,72bは、第1CPU装置200a,第2CPU装置200bから演算結果を受信すると、カウント記憶部422a,422bに記憶された受信回数情報をリセットする。
「受信回数情報のリセット」は、カウント記憶部422a,422bに記憶された受信回数情報を0にすることである。
二重化ステータス作成回路72a,72bは、I/O・I/F・ST情報をそれぞれ生成する。I/O・I/F・ST情報の生成方法は第1の実施形態の二重化ステータス作成回路33a,33bと同様であるのでここでは詳細な説明は省略する。
二重化ステータス作成回路72a,72bは、ステータス破棄要求信号を受信する。
具体的には、二重化ステータス作成回路72aは、二重化ステータス作成回路72bから送信されたステータス破棄要求信号を受信する。二重化ステータス作成回路72bは、二重化ステータス作成回路72aから送信されたステータス破棄要求信号を受信する。
二重化ステータス作成回路72a,72bは受信したステータス破棄要求信号を制御部71a,制御部71bにそれぞれ送信する。
具体的には、二重化ステータス作成回路72aは、二重化ステータス作成回路72bから送信されたステータス破棄要求信号を受信する。二重化ステータス作成回路72bは、二重化ステータス作成回路72aから送信されたステータス破棄要求信号を受信する。
二重化ステータス作成回路72a,72bは受信したステータス破棄要求信号を制御部71a,制御部71bにそれぞれ送信する。
二重化ステータス作成回路72a,72bは、制御部71a,71bからステータスリセット信号をそれぞれ受信する。二重化ステータス作成回路72a,72bは、ステータスリセット信号を受信したことに対応して、待機状態を示すI/O・I/F・ST情報を生成する。
以上のように構成された制御システム4全体的な動作は第1の実施例に示した制御システム1と同様である。したがってここでは詳細な説明は省略する。
以上のように構成された制御システム4全体的な動作は第1の実施例に示した制御システム1と同様である。したがってここでは詳細な説明は省略する。
次に図9用いて第1のI/Oインターフェース装置700aのリセット処理について説明する。図9は、第1のI/Oインターフェース装置700aのリセット処理を示すフローチャートである。
なお以下一例として第1のI/Oインターフェース装置700aの動作について説明するが第2のI/Oインターフェース装置700bの動作もこれとほぼ同様である。
よって第2のI/Oインターフェース装置700bのリセット処理については詳細な説明は省略する。
なお以下一例として第1のI/Oインターフェース装置700aの動作について説明するが第2のI/Oインターフェース装置700bの動作もこれとほぼ同様である。
よって第2のI/Oインターフェース装置700bのリセット処理については詳細な説明は省略する。
(1)ステータス破棄要求信号受信の有無(ステップS501)
制御部71aは、第2のI/Oインターフェース装置700bからのステータス破棄要求信号の受信の有無を常時監視している。
(2)カウント処理(ステップS502)
第2のI/Oインターフェース装置700bからのステータス破棄要求信号を受信をすると、制御手段71aはステータス破棄要求信号の受信回数を受信回数情報としてカウント記憶部422aに記憶させる。
制御部71aは、第2のI/Oインターフェース装置700bからのステータス破棄要求信号の受信の有無を常時監視している。
(2)カウント処理(ステップS502)
第2のI/Oインターフェース装置700bからのステータス破棄要求信号を受信をすると、制御手段71aはステータス破棄要求信号の受信回数を受信回数情報としてカウント記憶部422aに記憶させる。
(3)演算結果受信したか否かの処理(ステップS503)
制御部71aは、第1CPU装置200aからの送信された演算結果を受信したか否かを常時監視している。
(4)受信回数情報のリセット(ステップS504)
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aは、カウント記憶部422aに記憶させた受信回数情報のリセットを行う。
制御部71aは、第1CPU装置200aからの送信された演算結果を受信したか否かを常時監視している。
(4)受信回数情報のリセット(ステップS504)
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aは、カウント記憶部422aに記憶させた受信回数情報のリセットを行う。
(5)ステータス破棄要求信号の送信(ステップS505)
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aは、二重化ステータス作成回路72aを介してステータス破棄要求信号を第2のI/Oインターフェース装置700bに対して送信する。
(6)演算結果の出力(ステップS506〜S508)
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aはI/O・I/F・ST情報を参照する(ステップS506)。
I/O・I/F・ST情報が常用状態であった場合、制御部71aは受信した演算結果を入出力用モジュール100に送信する(ステップS507)。
I/O・I/F・ST情報が待機状態であった場合、制御部71aは受信した演算結果をメモリ部32aに保持させる(ステップS508)。
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aは、二重化ステータス作成回路72aを介してステータス破棄要求信号を第2のI/Oインターフェース装置700bに対して送信する。
(6)演算結果の出力(ステップS506〜S508)
ステップS503において、第1CPU装置200aから送信された演算結果を受信すると、制御部71aはI/O・I/F・ST情報を参照する(ステップS506)。
I/O・I/F・ST情報が常用状態であった場合、制御部71aは受信した演算結果を入出力用モジュール100に送信する(ステップS507)。
I/O・I/F・ST情報が待機状態であった場合、制御部71aは受信した演算結果をメモリ部32aに保持させる(ステップS508)。
(7)I/O・I/F・ST情報の変更(ステップS509〜S510)
ステップS503において演算結果の受信がされなかった場合、制御部31aはカウント記憶部422aに記憶させた受信回数情報がメモリ部32aに記憶された閾値以上か否かの判定を行う(ステップS509)。
判定の結果、受信回数情報が閾値以上だった場合、制御部71aは、二重化ステータス作成回路72aに対してステータスリセット信号を送信する。
ステップS503において演算結果の受信がされなかった場合、制御部31aはカウント記憶部422aに記憶させた受信回数情報がメモリ部32aに記憶された閾値以上か否かの判定を行う(ステップS509)。
判定の結果、受信回数情報が閾値以上だった場合、制御部71aは、二重化ステータス作成回路72aに対してステータスリセット信号を送信する。
ステータスリセット信号を受信した二重化ステータス作成回路33aは、待機状態を示すI/O・I/F・ST情報を生成する(ステップS510)。
ステップS510での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置700bの動作状態が常用状態となる。したがって、第2CPU装置200bでの演算結果が入出力用モジュール100に対して送信されるようになる。
ステップS510での待機状態を示すI/O・I/F・ST情報の生成に対応して、第2のI/Oインターフェース装置700bの動作状態が常用状態となる。したがって、第2CPU装置200bでの演算結果が入出力用モジュール100に対して送信されるようになる。
以上説明したように、第1のI/Oインターフェース装置700aは、制御部71aに演算結果が送信され無いことに基づいてリセット処理を行う。
すなわち、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたとき、制御部71aに演算結果が送信されないため、カウント処理によってカウントされた受信回数情報のリセットが行われない。結果として、受信回数情報のカウントが継続される。そして受信回数情報のカウント数が閾値に達したときリセット処理が行われる。
すなわち、第1CPU装置200aの動作状態が常用状態から待機状態に変更されたとき、制御部71aに演算結果が送信されないため、カウント処理によってカウントされた受信回数情報のリセットが行われない。結果として、受信回数情報のカウントが継続される。そして受信回数情報のカウント数が閾値に達したときリセット処理が行われる。
したがって、第1のI/Oインターフェース装置700aが第1CPU装置200aからのリセット信号を正常に受信しなかった場合でも、リセット処理によって、第1のI/Oインターフェース装置700aの動作状態を常用状態から待機状態に変更することができる。
このことにより、リセット信号を正常に受信されなかった場合に第1のI/Oインターフェース装置700aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置700bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
このことにより、リセット信号を正常に受信されなかった場合に第1のI/Oインターフェース装置700aの動作状態が常用状態のままとなり、第2のI/Oインターフェース装置700bの動作状態が待機状態のままとなることを防止できる。
結果として、待機状態から常用状態に切り換えられた第2CPU装置200bの演算結果を正常に入出力モジュール100に送信することができる。
1,2,3,4…制御システム、21a,21b,31a,31b,41a,41b,71a,71b…制御部、22a,22b,42a,42b…記憶部、23a,23b,33a,33b,51a,51b,61a,61b,72a,72b…二重化ステータス作成回路、32a,32b…メモリ部、34a,34b…ステータス監視回路、35a,35b…タイマ、36a,36b…カウンタ、37a,37b…リセット信号生成部、100…入出力用モジュール、200a,500a…第1CPU装置、200b,500b…第2CPU装置、422a,422b…カウント記憶部、300a,400a,600a,700a…第1のインターフェース装置、300b,400b,600b,700b…第2のインターフェース装置。
Claims (7)
- 入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するI/Oインターフェース装置であって、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
時間を繰り返し計時するタイマと、
前記タイマが所定時間を計時した回数をカウントするカウンタと、
前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段と
を備えることを特徴とするI/Oインターフェース装置。 - 前記装置の動作の異常または正常を診断する手段と、前記制御装置の動作状態が常用または待機のどちらかを示す情報を前記制御装置から受信する手段とを前記I/Oインターフェース装置がさらに備え、
前記生成する手段が、前記診断の結果が正常で、かつ前記制御装置から受信した情報が常用を示すものだった場合に常用を示す情報を生成すること
を特徴とする請求項1記載のI/Oインターフェース装置。 - 入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するI/Oインターフェース装置の制御方法であって、
時間を繰り返し計時するステップと、
所定時間を計時した回数をカウントするステップと、
前記制御装置から演算の結果を受信するステップと、
装置の動作状態が常用または待機であることを示す情報を生成する第1の生成ステップと、
前記カウントした回数が閾値より大きい場合、待機を示す情報を生成する第2の生成ステップと、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力するステップと、
を備えることを特徴とする制御方法。 - 常用または待機のどちらかで動作する制御装置およびI/Oインターフェース装置を備える制御システムであって、
前記制御装置は、
演算用データを受信する手段と、
前記受信した演算用データに基づいて演算を行う手段と、
前記I/Oインターフェース装置に対して前記演算の結果を送信する手段と
を備え、
前記I/Oインターフェース装置は、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
時間を繰り返し計時するタイマと、
前記タイマが所定時間を計時した回数をカウントするカウンタと、
前記カウンタによるカウント数が閾値より大きい場合、前記生成する手段に待機を示す情報を生成させる手段と、
を備えることを特徴とする制御システム。 - 入力された演算用データに基づいて演算を行う制御装置と接続され、常用または待機のどちらかで動作するI/Oインターフェース装置であって、
前記制御装置から演算の結果を受信する手段と、
装置の動作状態が常用または待機であることを示す情報を生成する手段と、
前記生成された情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
前記制御装置の動作状態が常用または待機のどちらかを示す情報を前記制御装置から受信する手段と
前記制御装置から受信した情報が待機を示すものだった場合、前記生成する手段に装置の動作状態が待機であることを示す情報を生成させる手段と
を備えることを特徴とするI/Oインターフェース装置。 - 入力された演算用データに基づいて演算を行う第1の制御装置に接続される第1のI/Oインターフェース装置と、前記第1の制御装置と同様の演算を行う第2の制御装置に接続される第2のI/Oインターフェース装置を備える制御システムであって、
前記第1のI/Oインターフェース装置は、
装置の動作状態が常用または待機であることを示す情報を生成する第1の生成手段と、
前記第2のI/Oインターフェース装置から送信される第1の信号を受信する手段と、
前記第1の信号を受信した回数をカウントする第1のカウント手段と、
前記第1のカウント手段がカウントした回数を記憶する第1の記憶手段と、
前記第1の記憶手段が記憶した回数が閾値より大きい場合、前記第1の生成手段に動作状態が待機であることを示す情報を生成させる第1の生成指示手段と、
前記第1の制御装置から前記演算の結果を受信する第1の受信手段と、
前記演算の結果を受信したことに対応して、前記第2のI/Oインターフェース装置に対して第2の信号を送信する第1の信号送信手段と
前記演算の結果を受信したことに対応して、前記第1の記憶手段が記憶した回数をリセットする手段と、
前記第1の生成手段が生成した情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
を備え、
前記第2のI/Oインターフェース装置は、
装置の動作状態が常用または待機であることを示す情報を生成する第2の生成手段と、
前記第1のI/Oインターフェース装置から送信された第2の信号を受信する第2の手段と、
前記第2の信号を受信した回数をカウントする第2のカウント手段と、
前記第2のカウント手段がカウントした回数を記憶する第2の記憶手段と、
前記第2の記憶手段が記憶した回数が閾値より大きい場合、前記第2の生成手段に動作状態が待機であることを示す情報を生成させる第2の生成指示手段と、
前記第2の制御装置から送信された演算の結果を受信する手段と、
前記演算の結果を受信したことに対応して、前記第1のI/Oインターフェース装置に前記第1の信号を送信する第2の信号送信手段と
前記演算の結果を受信したことに対応して、前記第2の記憶手段が記憶した回数をリセットする手段と、
前記第2の生成手段が生成した情報が常用を示すものだった場合、前記受信した演算の結果を外部に出力する手段と、
を備えることを特徴とする制御システム。 - 前記第1,第2の制御装置が、この第1,第2の制御装置のシステムを再起動する手段を備え、
前記第1,第2の受信する手段は、前記システムの再起動中は前記演算の結果を受信しないこと
を特徴とする請求項6に記載の制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009091944A JP2010244280A (ja) | 2009-04-06 | 2009-04-06 | I/oインターフェース装置、制御方法および制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009091944A JP2010244280A (ja) | 2009-04-06 | 2009-04-06 | I/oインターフェース装置、制御方法および制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010244280A true JP2010244280A (ja) | 2010-10-28 |
Family
ID=43097236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009091944A Withdrawn JP2010244280A (ja) | 2009-04-06 | 2009-04-06 | I/oインターフェース装置、制御方法および制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010244280A (ja) |
-
2009
- 2009-04-06 JP JP2009091944A patent/JP2010244280A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5971225B2 (ja) | 無線機器、無線モジュール、インターフェイスモジュール、及び通信方法 | |
JP2006293420A (ja) | 分散制御装置 | |
JP2009053734A (ja) | 数値制御装置に接続されたioユニットの断線と電源断の検出方法 | |
JP2012080181A (ja) | 障害情報管理方法および障害情報管理プログラム | |
JP2008052315A (ja) | フィールドバス通信診断装置およびフィールドバス通信診断方法 | |
US11457293B2 (en) | Wireless communication device, control program and control method | |
JP2010244280A (ja) | I/oインターフェース装置、制御方法および制御システム | |
CN102835072B (zh) | 用于运行总线控制设备的方法以及总线控制设备 | |
TWI434159B (zh) | 雙重系統控制裝置 | |
JP4102060B2 (ja) | データ受信装置 | |
JP2011123569A (ja) | 処理装置 | |
JP2016095770A (ja) | コントローラ、およびこれを用いた冗長化制御システム | |
JP4894494B2 (ja) | リング型ネットワークおよびリング型ネットワークのフェアネス実行プログラム | |
JP2006325118A (ja) | 監視データ収集システム | |
JP2010146363A (ja) | 二重化プログラマブルコントローラの系切替方式 | |
JP2007042017A (ja) | 障害診断システム、障害診断方法、および障害診断プログラム | |
JP2019205313A (ja) | 監視システム | |
JP7414789B2 (ja) | 故障時期予測装置、システム、方法、及びプログラム | |
JP2013121095A (ja) | 通信装置 | |
JP7303282B2 (ja) | 接点入力制御装置 | |
JP2011049835A (ja) | ネットワーク故障検出装置、ネットワーク故障検出プログラム | |
JP2011160284A (ja) | テレメータシステム | |
JP2007334491A (ja) | 4線式フィールド機器 | |
JP2006285845A (ja) | 耐障害性を有する情報通信システムおよび耐障害性を有する情報通信装置 | |
JP2011120088A (ja) | データ中継用光通信システム、およびその試験方法と試験プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120703 |