JPH07219799A - 待機冗長システムおよび状態遷移順序決定方法 - Google Patents

待機冗長システムおよび状態遷移順序決定方法

Info

Publication number
JPH07219799A
JPH07219799A JP6046063A JP4606394A JPH07219799A JP H07219799 A JPH07219799 A JP H07219799A JP 6046063 A JP6046063 A JP 6046063A JP 4606394 A JP4606394 A JP 4606394A JP H07219799 A JPH07219799 A JP H07219799A
Authority
JP
Japan
Prior art keywords
state
task
time
data
standby
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.)
Pending
Application number
JP6046063A
Other languages
English (en)
Inventor
Ichiro Mizunuma
一郎 水沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6046063A priority Critical patent/JPH07219799A/ja
Publication of JPH07219799A publication Critical patent/JPH07219799A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【目的】 被監視対象の監視制御処理にほとんど影響を
及ぼすことのない軽故障の発生を原因に待機系に切り替
えられた系を、その系の初期化処理をせずに待機状態に
遷移させることができる待機冗長システムを得る。 【構成】 被監視対象を監視制御しうる各監視制御系
が、自系を、運転系に対応した運転状態1、運転状態に
直ちに遷移可能な待機状態2、初期化処理なしで待機状
態に遷移可能な準備状態4、および初期化処理の後に待
機状態に遷移可能な停止状態3のうちのいずれかに設定
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プラント監視装置な
ど運転系と待機系とを適宜切り替えて被監視対象の監視
制御を行なう待機冗長システム、および、例えばその待
機冗長システムを構成する各タスクなどの複数のタスク
の状態遷移順序を矛盾なく決定する状態遷移順序決定方
法に関するものである。
【0002】
【従来の技術】図21は従来の待機冗長システムの一例
であるプラント監視装置の構成を示す構成図である。図
において、11は被監視対象であるプラント、12はプ
ラント11のデータを収集するプラントステーション、
13はプラントステーション12により収集されたプラ
ント11のデータを伝送する光ファイバトークンリング
ネットワークである。
【0003】14はA系15とB系16を有するプラン
ト監視装置の監視部である。A系15およびB系16
は、それぞれ独立してプラントのデータ収集や編集等を
行う機能を有する。そして、A系15とB系16とのう
ちの一方が運転系、他方が待機系となる。すなわち、監
視部14は、A系15とB系16との2つの監視制御系
からなる待機冗長システムを構成している。以下、監視
制御系を、単に系という。
【0004】図22は各監視制御系の状態遷移を示す状
態遷移図である。図において、1〜3はそれぞれ系の状
態を示している。状態1は、系がプラントの監視処理を
行っている運転状態である。すなわち、プラント監視装
置における運転系の態様に対応している。状態2は、系
が運転系に切り替われる条件を満足し、運転系化の指示
があれば直ちに運転系に切り替われる待機状態であり、
プラント監視装置における待機系の一態様に対応してい
る。状態3は、系に故障等が発生している停止状態であ
る。よって、状態3にあるときには、故障したハードウ
エア等の修理がなされた後、系を初期化(CPUのリセ
ット(後述するシステムタスクの生成や共有資源の確
保)、周辺デバイスのイニシャライズ等)した上で運転
系のデータを取得しなければ運転系に切り替わることが
できない。状態3は、プラント監視装置における待機系
の別の態様に対応している。以下、状態1を運転状態、
状態2を待機状態、状態3を停止状態という。
【0005】図21において、17a,17bはLAN
インタフェース、18a,18bはそれぞれA系15,
B系16のハードウエア故障やソフトウエア異常を検出
するRAS監視ユニット、19a,19bはプラント1
1のデータ収集等を行うとともに、自系を状態遷移させ
るCPUユニットである。CPUユニット19a,19
bは、RAS監視ユニット18a,18bから自系のハ
ードウエア故障等の通知を受けると自系を停止状態3に
遷移させる。また、他系が運転状態1にある場合に他系
にハードウエア故障等が発生した旨の通知を運転制御ユ
ニット26から受けると、またはオペレータの指令にも
とづく系切替指令を受けると、自系を運転状態1に遷移
させる。20a,20bは系間のデータリンクインタフ
ェース、21a,21bは光ファイバトークンリングネ
ットワークインタフェース、22a,22bはそれぞれ
ミラーディスク29をアクセスするためのディスクコン
トローラ、23a,23bは内部バス、24a,24b
はそれぞれA系15,B系16の電源装置である。
【0006】25はランプ表示等によって各系の状態を
オペレータに示すとともに、オペレータによる運転系と
待機系の系切替指令を入力する運転制御パネル、26は
他系でハードウエア故障等が発生した旨の通知やオペレ
ータから入力された系切替指令をA系15およびB系1
6に伝送する運転制御ユニット、27はプリンタなどの
周辺装置、28は運転系の主メモリ上にあるプラントデ
ータ等を待機系の主メモリに伝送するとともに、A系1
5およびB系16のシステム時刻を伝送するデータリン
クである。
【0007】29はプラント11から収集されたデータ
等を記憶するミラーディスクである。ミラーディスク2
9は、活線挿抜可能な2つのハードディスク30a,3
0bと2つの電源装置31a、31bから構成されてい
る。なお、ミラーディスク29へは運転系のみがアクセ
スすることができる。運転系は2つのハードディスク3
0a,30bにデータを登録し、データを読み込む際に
は何れか一方のハードディスク30aまたは30bから
データを読み込む。
【0008】32はオペレータステーションであり、運
転系から周期的に転送されてくる現在時刻のプラントデ
ータ、および一斉転送されてくる過去のプラントデータ
を受信してデータ解析等を行うものである。33a,3
3bは二重構成となっているLANである。
【0009】次に動作について説明する。ここでは、現
在、A系15が運転系、B系16が待機系であるとす
る。運転系であるA系15において、CPUユニット1
9aは、プラントステーション12が収集したプラント
データを光ファイバトークンリングネットワーク13を
介して取得する。そして、そのプラントデータを必要に
応じて編集しハードディスク30a,30bに登録す
る。
【0010】また、A系の運転に必要なデータは、A系
15の主メモリ(図示せず)に記憶されているが、収集
したプラントデータも主メモリに記憶される。そして、
CPUユニット19aは、それらのデータを、データリ
ンクインタフェース20aおよびデータリンク28を介
して、適宜B系16の主メモリ(図示せず)に宛てて転
送する。
【0011】A系15が以上のようにプラントの監視処
理を行っている間に、A系15のハードウエアに故障が
発生すると、あるいは、CPUユニット19a内で稼働
するソフトウエアに異常が発生すると、RAS監視ユニ
ット18aがこの故障等を検出する。そして、RAS監
視ユニット18aは、CPUユニット19aおよび運転
制御ユニット26にハードウエア故障等が発生した旨を
通知する。
【0012】通知を受けると、CPUユニット19a
は、A系15においてプラント監視を続行するのは不可
能であると判断し、A系15の状態を運転状態1から停
止状態3に遷移させる。一方、運転制御ユニット26
も、A系15においてプラント監視を続行するのは不可
能であると判断し、B系16のCPUユニット19bに
対してB系16が待機状態2から運転状態1に遷移する
よう指令する。
【0013】B系16のCPUユニット19bは、B系
16が現在待機状態2にあればB系16を直ちに待機状
態2から運転状態1に状態遷移させる。しかし、B系1
6が未だ停止状態3になっている場合には、ハードウエ
ア故障等の修理および初期化処理が完了し、A系15の
主メモリに記憶されているA系15の運転に必要なデー
タをデータリンク28を介して受信して待機状態2にし
た後、B系16を運転状態1に遷移させる。ここで、A
系15のデータを受信するのは、B系16の主メモリに
記憶されているA系15のデータはB系16のハードウ
エア故障等によって破壊されている可能性が高いからで
ある。
【0014】以後、A系15は停止状態3になる。すな
わち、A系15は待機系になる。しかし、B系16が運
転系になることによって、プラントの監視処理は続行さ
れる。停止状態3となったA系15に対して、ハードウ
エア故障等の修理がなされ、修理が完了したら初期化処
理が施される。そして、現在運転状態1にあるB系15
のデータを受信した後、CPUユニット19aは、A系
15を待機状態2にしておく。
【0015】なお、オペレータの指示のもとに運転系と
待機系とを切り替えることもできる。その場合には、オ
ペレータが系切替指令を運転制御パネル25から入力す
ることにより系の切り替えが実行される。この場合に
は、運転系のハードウエアに故障等が発生したわけでは
ないので、運転系であったA系15は、運転系に直ちに
切り替わることができる待機状態2に状態遷移する。
【0016】
【発明が解決しようとする課題】従来の待機冗長システ
ムは以上のように構成されているので、プラントの監視
処理にほとんど影響を及ぼすことのない軽故障が運転系
に発生した場合でも、運転系に重故障が発生した場合と
同様に、運転系を停止状態に遷移させてしまう。よっ
て、必ず初期化処理しなければ待機系を停止状態から待
機状態に状態遷移させることができず待機系の回復に時
間がかかる。従って、両系がともに停止状態に陥ってし
まう可能性を無視できないという問題点があった。ま
た、運転系および待機系は複数のアプリケーションタス
クから構成されているが、各アプリケーションタスクの
処理状態は管理されていない。すなわち、各アプリケー
ションタスクごとに状態遷移させることができない。従
って、たとえ状態遷移可能なアプリケーションタスクが
あっても、全てのアプリケーションタスクが状態遷移可
能にならなければ系の状態遷移をすることができず、系
切替に要する時間が長引くという問題点もあった。
【0017】この発明は上記のような問題点を解消する
ためになされたもので、被監視対象の監視制御処理にほ
とんど影響を及ぼすことのない軽故障の発生を原因に待
機系に切り替えられた系を、その系の初期化処理をせず
に待機状態に遷移させることができる待機冗長システム
を得ることを目的とする。また、系切替に要する時間を
短縮することや系切替の際に生ずるシステムの不連続性
を最小限に止めうる待機冗長システムを得ることもこの
発明の目的である。さらに、系切替の際に矛盾が生じな
いような各タスクの状態遷移順序を簡便に求めうる状態
遷移順序決定方法を得ることを目的とする。
【0018】
【課題を解決するための手段】請求項1記載の発明に係
る待機冗長システムは、被監視対象を監視制御しうる各
監視制御系が、自系を、運転系に対応した運転状態、運
転状態に直ちに遷移可能な待機状態、初期化処理なしで
待機状態に遷移可能な準備状態、および初期化処理の後
に待機状態に遷移可能な停止状態のうちのいずれかに設
定する構成制御手段を備えた構成になっているものであ
る。
【0019】請求項2記載の発明に係る待機冗長システ
ムは、被監視対象を監視制御しうる各監視制御系が、監
視制御系を構成する各アプリケーションタスクごとに処
理状態を管理し、各アプリケーションタスクごとに処理
状態を遷移させるタスク別状態遷移手段を備えた構成に
なっているものである。
【0020】請求項3記載の発明に係る待機冗長システ
ムは、監視制御系が、アプリケーションタスクの状態遷
移中に起動時刻に到達した場合、状態遷移後にそのアプ
リケーションタスクの起動を許容すべきか否かを選択す
る起動選択手段を備えた構成になっているものである。
【0021】請求項4記載の発明に係る待機冗長システ
ムは、監視制御系が、運転系と待機系との切り替えの際
における各アプリケーションタスクの状態遷移順序を決
定する状態遷移順序設定手段を備えた構成になっている
ものである。
【0022】請求項5記載の発明に係る待機冗長システ
ムは、状態遷移順序設定手段が、各アプリケーションタ
スクの状態遷移順序を格納した起動管理ファイルを含む
構成になっているものである。
【0023】請求項6記載の発明に係る待機冗長システ
ムは、被監視対象からの監視データの最短の収集間隔よ
り短い間隔で運転系が収集したデータを待機系に供給す
るデータ転送手段を備えたものである。
【0024】請求項7記載の発明に係る待機冗長システ
ムは、データ転送手段が、待機系が保有する最新データ
の収集時刻を示す時刻印を運転系に周期的に転送する時
刻印転送タスクと、待機系から受けた時刻印が示す時刻
よりも後に収集した各データを待機系に転送するデータ
転送タスクと、運転系から受けた各データを記憶手段に
保存するデータ書き込みタスクとを備えた構成になって
いるものである。
【0025】請求項8記載の発明に係る待機冗長システ
ムは、運転系のシステム時刻と待機系のシステム時刻と
の時刻差が所定の許容範囲より大きい場合に、時刻差を
複数回に分けて修正する時刻修正手段を備えたものであ
る。
【0026】請求項9記載の発明に係る待機冗長システ
ムは、運転系のデータを待機系に転送するデータリンク
を用いてシステム時刻を通知するシステムであって、デ
ータのメッセージ長の上限を定めるメッセージ長設定手
段と、転送されるシステム時刻の優先度を転送されるデ
ータの優先度よりも高くする優先度設定手段とを備えた
ものである。
【0027】請求項10記載の発明に係る待機冗長シス
テムは、システム内の時刻と外部システムのシステム時
刻との時刻差が所定の許容範囲より大きい場合に、その
時刻差を複数回に分けて修正する時刻修正手段を備えた
ものである。
【0028】請求項11記載の発明に係る状態遷移順序
決定方法は、各アプリケーションタスクを所定の制約の
もとに状態遷移させる順序を決定する方法であって、各
アプリケーションタスクの状態遷移順序に関する制約を
記述する工程と、記述された制約にもとづいて各状態遷
移の順序関係をグラフ化する工程と、作成されたグラフ
における枝をたどって状態遷移順序を決定する工程とを
備えたものである。
【0029】そして、請求項12記載の発明に係る状態
遷移順序決定方法は、請求項11記載の発明に係る方法
において、ある状態遷移と他の状態遷移との間の時間に
制約がある場合に、その時間制約に対応した枝を作成さ
れたグラフに付加する工程をさらに備えたものである。
【0030】
【作用】請求項1記載の発明における構成制御手段は、
運転系に軽故障が生じたような場合に、その系を準備状
態に遷移させ、初期化処理なしで待機状態に復帰させる
ことを可能にする。
【0031】請求項2記載の発明におけるタスク別状態
遷移手段は、監視制御系を構成する各アプリケーション
タスクごとに処理状態を管理し、各アプリケーションタ
スクごとに状態遷移させる。
【0032】請求項3記載の発明における起動選択手段
は、アプリケーションタスクが状態遷移中にそのタスク
の起動時刻が到来した場合に、状態遷移後にそのアプリ
ケーションタスクの起動を許容すると系切替において矛
盾が生ずると判断されるときには、状態が遷移した後に
そのアプリケーションタスクが起動されるのを禁止す
る。
【0033】請求項4記載の発明における状態遷移順序
設定手段は、系切替のときなどに各系にデータの重複な
どの矛盾が生じないように、各アプリケーションタスク
状態遷移順序を管理する。
【0034】請求項5記載の発明における状態遷移順序
設定手段は、系切替のときなどに各系にデータの重複な
どの矛盾が生じないような遷移順序が格納された起動管
理ファイルにもとづいて状態遷移順序を設定する。
【0035】請求項6記載の発明におけるデータ転送手
段は、運転系の故障発生時に待機系に未転送であるデー
タを最小限に止めるために、運転系における最短のデー
タ収集間隔より短い間隔で運転系のデータを待機系に転
送する。
【0036】請求項7記載の発明における時刻印転送タ
スク、データ転送タスクおよびデータ書き込みタスク
は、それぞれ独自に起動され、データ転送処理を運転系
から待機系への周期的なデータ転送処理を効率的に実行
する。
【0037】請求項8記載の発明における時刻修正手段
は、系が保有する各データにおける欠落や重複が生じな
いように、複数回に分けて時刻修正を実行する。
【0038】請求項9記載の発明における優先度設定手
段は、待機系から運転系に転送されるシステム時刻情報
が、データ転送によって待たされてしまうことを防止す
る。
【0039】請求項10記載の発明における時刻修正手
段は、系が保有するデータと外部システムが保有するデ
ータに矛盾が発生することなどを防止するために、複数
回に分けて時刻修正を実行する。
【0040】請求項11記載の発明における順序関係を
グラフ化する工程および枝をたどって状態遷移順序を決
定する工程は、論理的に記述された制約を満たした状態
遷移順序を自動的に出力する。
【0041】そして、請求項12記載の発明における時
間制約に対応した枝をグラフに付加する工程は、時間制
約をも反映したグラフを作成する。
【0042】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。ここでも、待機冗長システムとしてプラント監視
装置を例に説明する。図1はこの発明の第1の実施例に
よるプラント監視装置における各系の状態遷移を示す状
態遷移図である。図において、1〜4はそれぞれ系の状
態を示している。状態1は、系がプラントの監視処理を
行う運転状態である。すなわち、プラント監視装置にお
ける運転系の態様に対応している。状態2は、運転系に
切り替われる条件を満足し、運転系化の指示があれば直
ちに運転系に切り替われる待機状態である。待機状態
は、プラント監視装置における待機系の一態様に対応し
ている。待機状態は、系が健全であって、かつ、系が運
転系である他系からデータを逐次受信している状態であ
る。状態3は系に重故障が発生している状態である。状
態3は、その系を初期化した上で運転系のデータを取得
しなければ運転系に切り替わることができない停止状態
である。停止状態は、プラント監視装置における待機系
の別の態様に対応している。
【0043】状態4は、軽故障を解消すれば、系の初期
化を行うことなくそのときの運転系のデータを取得して
運転系に切り替われる準備状態である。準備状態は、プ
ラント監視装置における待機系のさらに別の態様に対応
している。以下、状態1を運転状態、状態2を待機状
態、状態3を停止状態、状態4を準備状態という。
【0044】なお、この実施例によるプラント監視装置
の構成は図21に示す従来のものと同様である。ただ
し、CPUユニット19a,19bの機能が従来のもの
とは異なる。そして、構成制御手段は、CPUユニット
19a,19bで実現される。また、RAS監視ユニッ
ト18a,18bからCPUユニット19a,19bに
対して故障の程度を示す詳細情報が通知される。
【0045】次に動作について説明する。ここでは、現
在、A系15が運転系、B系16が待機系であるとす
る。この場合、運転系であるA系15は、従来のものと
同様に、CPUユニット19aは、プラントステーショ
ン12が収集したプラントデータを光ファイバトークン
リングネットワーク13を介して取得する。そして、取
得したプラントデータを必要に応じて編集しハードディ
スク30a,30bに登録する。
【0046】また、A系の運転に必要なデータは、A系
15の主メモリ(図示せず)に記憶されているが、収集
したプラントデータも主メモリに記憶される。そして、
それらのデータは、CPUユニット19aは、データリ
ンクインタフェース20aおよびデータリンク28を介
して、適宜B系16の主メモリ(図示せず)に転送され
る。
【0047】A系15が以上のようにプラントの監視処
理を行っている間に、A系15のハードウエアに故障が
発生すると、あるいは、CPUユニット19a内で稼働
するソフトウエアに異常が発生すると、RAS監視ユニ
ット18aがこの故障等を検出する。そして、ハードウ
エア故障等が発生した旨をCPUユニット19aおよび
運転制御ユニット26に通知する。
【0048】CPUユニット19aは、その通知にもと
づいて、故障がプラント監視の続行が不可能なほどの重
故障であるのか、プラントの監視処理にほとんど影響が
ない軽故障であるかのか判断する。そして、重故障であ
れば、A系15を運転状態1から停止状態3に状態遷移
させる。軽故障であれば、準備状態4に状態遷移させ
る。運転制御ユニット26は、B系16のCPUユニッ
ト19bに対してB系16が待機状態2から運転状態1
に状態遷移するよう指令する。
【0049】A系15が停止状態3にあるとき、故障し
たハードウエア等の修理がなされた後、初期化の操作が
されると、CPUユニット19aは、自系を準備状態4
に遷移させる。A系15が準備状態4にあるとき、軽故
障が残っていればその解消操作がなされる。軽故障がな
くなった状態になると、CPUユニット19aは、B系
16の保有するデータを取得した後、自系を待機状態2
に遷移させる。
【0050】A系15に軽故障が生じた後、A系15を
再度運転系に切り替える場合、従来の方法によると、A
系15は必ず停止状態3に遷移するのでA系15の初期
化処理を経なければ運転状態1に復帰させることができ
なかった。この実施例では、A系15は準備状態4に遷
移するので、A系15を初期化処理することなく運転状
態1に遷移させることができる。なお、運転制御ユニッ
ト26等の動作は従来のシステムにおける動作と同様で
ある。
【0051】実施例2.図2はCPUユニット19a内
で動作する各タスクの構成および動作を説明するための
説明図である。図において、101はRAS監視ユニッ
ト18aの検出結果にもとづいてA系15における故障
等の有無を判定するとともに、故障等が発生している場
合には重故障であるか軽故障であるかを判断するRAS
監視タスク(システムタスク)、102はA系15の状
態を運転制御ユニット26に通知するとともに、B系1
6または運転制御パネル25から送信される系切替指令
を運転制御ユニット26を介して受信し、その系切替指
令を出力する二重系監視タスク(システムタスク)、1
03はデータリンク28を介してB系16にデータやシ
ステム時刻を送信するとともに、B系16からデータや
システム時刻を受信する系間通信タスク(システムタス
ク)である。なお、システムの構成は図21に示す構成
と同様であり、系の状態遷移は図1に示すとおりであ
る。また、システムタスクとは、アプリケーションタス
クではないタスクを意味する。
【0052】104は各アプリケーションタスク110
ごとの処理内容や起動に関する情報を格納する起動管理
ファイル、105は起動管理ファイル104に格納され
ている内容に従って各アプリケーションタスク110の
生成、消滅等の要求を周期的に出力する起動管理タスク
(システムタスク)、106はオペレータステーション
32からLANインタフェース17aを介して受信した
データを出力する受信タスク(システムタスク)、10
7は二重系監視タスク102、起動管理タスク105お
よび受信タスク106の出力を蓄積するメッセージキュ
ー、108はシステムの起動時に、初期化処理(他のシ
ステムタスクの生成やメッセージキュー107等の共有
資源の確保)を行うとともに、メッセージキュー107
に蓄積されている内容に従ってアプリケーションタスク
110の生成、消滅、状態遷移等を行うマザータスク
(システムタスク)である。
【0053】109は系の切替時に処理内容が変化する
各アプリケーションタスク110からなるアプリケーシ
ョンタスク群、111はマザータスク108の出力を蓄
積するメッセージキュー、112,113はアプリケー
ションタスク110の出力を蓄積するメッセージキュ
ー、114〜116はそれぞれメッセージキュー111
〜113に蓄積された内容をLANインターフェース1
7aを介してオペレータステーション32に送信する送
信タスク(システムタスク)であり、送信タスク114
〜116はそれぞれ高、中、低の優先度を有している。
【0054】117はシステムタスクやアプリケーショ
ンタスク110の起動時刻を管理し、起動時刻に到達し
たタスクに対して起動指令を出力するタイマタスク(時
刻修正手段)(システムタスク)である。なお、CPU
ユニット19b内で動作するタスクの構成は、CPUユ
ニット19a内で動作するタスクの構成と同様である。
ここで、タスク別状態遷移手段は、マザータスク108
で実現される。起動選択手段は、マザータスク108お
よび起動管理ファイル104で実現される。状態遷移順
序設定手段は、マザータスク108および起動管理ファ
イル104で実現される。
【0055】図3はアプリケーションタスク110の処
理内容の変化を示す状態遷移図であり、図において、1
21は系が運転状態1にある場合の処理(以下、M処理
という。)を実行しているM処理実行中状態、122は
M処理が実行可能なM処理待ち状態を示す。M処理実行
中状態121およびM処理待ち状態122は系が運転状
態1にあるときに対応する状態であり、以下、それらを
併せてM状態という。
【0056】123は系が待機状態2にある場合の処理
(以下、S処理という。)を実行しているS処理実行中
状態、124はS処理が実行可能なS処理待ち状態を示
す。S処理実行中状態123およびS処理待ち状態12
4は系が待機状態2にあるときに対応する状態であり、
以下、それらを併せてS状態という。125はアプリケ
ーションタスク110が停止している停止状態を示す。
停止状態125は、系が準備状態4または停止状態3に
あるときに対応する。126はM状態からS状態に状態
遷移中であるMtoS状態、127はS状態からM状態
に状態遷移中であるStoM状態である。
【0057】なお、図中、状態遷移を示す矢印に付記さ
れているa/bの記載は、aはその状態遷移の要因を示
し、bはその状態遷移に伴って行われる処理を示してい
るただし、−は何の処理も行わないことを示している。
【0058】次に動作について説明する。CPUユニッ
ト19a,19b内のソフトウエアは、図2に示すよう
に、複数のシステムタスクと複数のアプリケーションタ
スク110から構成されている。系の状態が遷移すると
き、各アプリケーションタスク110の状態も遷移する
ことになる。正確には、アプリケーションタスク110
の状態が遷移することによって各系の状態が遷移する。
系の状態と各アプリケーションタスクの状態とを対応さ
せるために、全てのアプリケーションタスク110が非
同期に状態を遷移するのではなく、相互に他のアプリケ
ーションタスク110と同期をとりながら順次状態を遷
移する必要がある。
【0059】例えば、運転状態1から待機状態2に状態
遷移する系では、系内のメッセージキュー107等に蓄
積されている内容に関する処理を終了した後に、主メモ
リ上へのデータの蓄積を停止しなければならない等の制
約がある。それらの制約を満たすために、各アプリケー
ションタスク110の切替順序にも制約が生ずる。
【0060】そこで、切替順序の制約を満足させるため
に、例えば図4に示すように、起動管理ファイル104
に、各アプリケーションタスク110の種類(周期タス
クであるか、非周期タスクであるか)、状態遷移を行う
順序、各状態において実行する関数、状態遷移に関する
情報などが格納される。マザータスク108は、その起
動管理ファイル104の格納内容に従って動作する。
【0061】すなわち、マザータスク108は、二重系
監視タスク102から系切替指令を受けると、まず、全
てのアプリケーションタスク110に対して状態遷移の
予告を通知する。周期タスクに対して切替予告シグナ
ル、非周期タスクに対して切替予告メッセージによって
通知を行う。ここで、周期タスクとは、タイマタスク1
17から送信される起動シグナルによって起動されるタ
スクをいい、非周期タスクとは、他のタスクから送信さ
れる起動メッセージによって起動されるタスクをいう。
【0062】そして、マザータスク108は、各アプリ
ケーションタスク110に対して、起動管理ファイル1
04に格納されている状態遷移を行う順序に従って切替
通知シグナルを送信する。ただし、系の停止処理を行う
場合には、各アプリケーションタスク110の終了する
順序に従って終了シグナルを送信する。なお、各アプリ
ケーションタスク110間の同期は、マザータスク10
8が、各アプリケーションタスク110に対して切替通
知シグナルを送信するごとに、各アプリケーションタス
ク110から遷移完了通知(状態遷移が完了した旨を示
す通知であり、マザータスク108に対するメッセージ
送信によって通知される)が送信されてくるのを待つこ
とにより達成される。
【0063】マザータスク108は、全てのアプリケー
ションタスク110から遷移完了通知を受信すると、系
切替が終了したものと判断する。そして、二重系監視タ
スク102に対して完了を通知する。以上のようにし
て、系切替処理が終了する。なお、二重系監視タスク1
02はその完了の通知にもとづいて系の状態を運転制御
ユニット26に通知する。
【0064】図5は各アプリケーションタスク110の
状態遷移の一例を示すタイミング図である。以下、図5
に示す例を用いて、状態遷移の一例について説明する。 1. 時刻t0より前では、アプリケーションタスクA
P#1,AP#2,AP#3,AP#4はM処理待ち状
態122にある。この状態で、起動シグナルまたは起動
メッセージを受信すると、M処理実行中状態121に遷
移しM処理を開始する。M処理が完了するとM処理待ち
状態122に戻る。 2. 時刻t0において、マザータスク108が各アプ
リケーションタスクAP#1,AP#2,AP#3,A
P#4に対して切替予告シグナルまたは切替予告メッセ
ージを送信すると、各アプリケーションタスクAP#
1,AP#2,AP#3,AP#4はMtoS状態12
6に状態遷移する。 3. 時刻t1において、マザータスク108がアプリ
ケーションタスクAP#1に対して切替通知シグナルを
送信すると、アプリケーションタスクAP#1は、Mt
oS処理を実行した後、S処理待ち状態124に状態遷
移する。状態遷移後、起動シグナルを受信するごとにS
処理実行中状態123に状態遷移してS処理を実行す
る。S処理が完了するとS処理待ち状態124に戻る。
【0065】4. 時刻t2において、アプリケーショ
ンタスクAP#2のS処理待ち状態124への状態遷移
が行われる。 5. 時刻t3において、MtoS状態126にあるア
プリケーションタスクAP#4に対して起動シグナルが
送信されると、起動シグナルはアプリケーションタスク
AP#4で保持される。アプリケーションタスク110
は非常に周期の長いタスクである。よって、系切替中、
すなわち運転系から待機系への切替中に起動シグナルを
受信すると、系切替終了後に処理を実行する。 6. 時刻t4において、アプリケーションタスクAP
#3のS処理待ち状態124への状態遷移が行われる。 7. 時刻t5において、アプリケーションタスクAP
#4のS処理待ち状態124への状態遷移が行われる。
状態遷移完了後、時刻t5から保持していた起動シグナ
ルに応じてS処理実行中状態123に状態遷移し、S処
理を実行する。
【0066】なお、アプリケーションタスク110が系
切替中に起動シグナルを受信した場合に、系切替に応じ
た状態遷移後にそのアプリケーションタスク110の起
動を許容すべきか否かは、起動管理ファイル104の内
容によって決定される。よって、起動管理ファイル10
4を修正することにより、許容すべきか否かを任意に選
択することができる。
【0067】実施例3.運転系であるA系15の主メモ
リに記憶されている運転に必要なデータは、CPUユニ
ット19aによって、データリンク28を介して、適宜
B系16の主メモリに転送されることは既に述べた。そ
の際、運転系であるA系15における最短のデータ収集
間隔より短い間隔でその運転に必要なデータを待機系で
あるB系に転送するようにしてもよい。
【0068】図6は運転系における最短のデータ収集間
隔よりも短い間隔で運転に必要なデータを待機系に転送
するCPUユニット19a,19b内のタスクの動作を
説明するための説明図である。図6において、データリ
ンクインタフェース20a,20bは省略されている。
図において、131a,131bは他系からデータリン
ク28を介してデータを受信するデータリンク受信タス
ク、132a,132bはデータリンク受信タスク13
1a,131bにより受信されたデータを蓄積するメッ
セージキューである。
【0069】133a,133bはメッセージキュー1
32a,132bに蓄積されたデータを主メモリ上のバ
ッファ134a,134bに格納するとともに、バッフ
ァ134a,134bに格納されているデータのうち最
新のデータを周期的にメッセージとして出力する系間コ
ピータスク、135a,135bは系間コピータスク1
33a,133bが出力したメッセージを蓄積するメッ
セージキュー、136a,136bはメッセージキュー
135a,135bに蓄積されたメッセージをデータリ
ンク28を介して他系に送信するデータリンク送信タス
ク、137a,137bはデータリンク受信タスク13
1a,131bとデータリンク送信タスク136a,1
36bがデータリンク28に対して同時にアクセスしな
いように、各タスクを排他的に制御するセマフォであ
る。
【0070】なお、システムの構成は図21に示す構成
と同様であり、系の状態遷移は図1に示すとおりであ
る。ここでは、データ転送手段は、系間コピータスク1
33a,133bで実現される。
【0071】次に動作について説明する。運転系および
待機系の主メモリは、一般に、揮発性記憶媒体によって
構成されている。よって、運転系が電源停止などの原因
で急停止したような場合、運転系の主メモリに記憶され
たデータは失われる。また、待機系が運転系に切り替わ
る場合、待機系は運転系のデータを有していなければ運
転開始することができない。従って、円滑に系切替が実
行されるために、運転系の主メモリに蓄積されるデータ
(そのデータが収集された時刻を含む)を、待機系の主
メモリにも蓄積させておく必要がある。
【0072】この実施例では、待機系であるB系16の
系間コピータスク133bが、B系16における主メモ
リのバッファ134bに格納されているデータのうち最
新のデータに付随している時刻をメッセージとしてメッ
セージキュー135bに出力する。出力は一定周期TC
で繰り返される。データリンク送信タスク136bは、
メッセージキュー135b内の各メッセージをデータリ
ンク28に対して送出する。各メッセージは、A系15
のデータリンク受信タスク131aおよびメッセージキ
ュー132aを介して系間コピータスク133aに伝え
られる。
【0073】A系15の系間コピータスク133aは、
B系16が保有している最新データをそのデータが収集
された時刻とともに入手したことになる。そこで、系間
コピータスク133aは、主メモリのバッファ134a
に蓄積されているデータのうち、B系16が保有してい
る最新データの収集時刻よりもあとに収集されたデータ
の全てを、メッセージキュー135a、データリンク送
信タスク136aおよびデータリンク28を介してB系
16に送信する。それらのデータには、データ収集時刻
も付加される。
【0074】待機系であるB系16において、系間コピ
ータスク133bは、データリンク受信タスク131b
およびメッセージキュー132bを介してA系15から
送信されたデータを入手する。そして、そのデータを主
メモリのバッファ134bに格納する。
【0075】以上の動作によって、運転系であるA系1
5の主メモリに記憶されたデータを、待機系であるB系
16も保有できる。ここで、データの転送間隔TC は、
A系15における最短のデータ収集間隔Tsms よりも長
くない。すなわち、 TC ≦Tsms である。転送間隔TC が最短のデータ収集間隔Tsms
り長いと、サンプリングされた最新のデータおよびそれ
以前の1つ以上のデータがB系16に転送される前に失
われる可能性がある。しかし、TC ≦Tsms となってい
れば、失われるデータは、高々1サンプリング分だけで
ある。
【0076】実施例4.第3の実施例では、系間コピー
タスク133a,133bが、運転系からデータを送信
して待機系がデータを受信する制御を全て行っていた。
すなわち、待機系であるときに保有している最新データ
に付随している時刻(以下、これを時刻印という。)の
運転系への周期的な転送、運転系であるときに待機系か
ら送られてきた時刻印が示す時刻よりもあとのデータの
待機系への送信、および待機系にあるときに運転系から
送られてきたデータの主メモリへの格納の処理を行って
いた。
【0077】よって、系間コピータスク133a,13
3bは、タイマタスク117によって周期的に起動され
る必要がある。その一方で、時刻印やデータの到着を要
因として非周期的に起動される。従って、周期的に起動
されて処理を行っているときに、時刻印やデータが到着
したときの処理を規定する必要がある。また、非周期的
に起動されて処理を行っているときに、周期起動のタイ
ミングが到来したときの処理を規定する必要がある。例
えば、ある処理の実行中に他の処理に移行できるような
プログラミングが求められる。その結果、系間コピータ
スク133a,133bの構成は複雑化せざるを得な
い。特に、系切替が行われる場合の処理は、状態遷移と
も関連するので、さらに複雑化する。
【0078】そこで、この実施例では、図7に示すよう
に、系間コピータスク133a,133bは、時刻印転
送タスク200a,(データ転送手段)200b、デー
タ転送タスク201a,201b(データ転送手段)、
およびデータ書き込みタスク202a,202b(デー
タ転送手段)に分けられる。時刻印転送タスク200
a,200bは、待機系が保有している最新データの時
刻印を運転系に送信する制御を行うものである。データ
転送タスク201a,201bは、主メモリ内の時刻印
を運転系に送信し、データおよび時刻印を待機系に送信
する制御を行うものである。データ書き込みタスク20
2a,202bは、待機系において運転系から送られて
きたデータを主メモリのバッファ134a,134bに
書き込む制御を行うものである。なお、ここでは、時刻
印を格納するバッファ210a,210bが、データを
格納するバッファ134a,134bとは別に明示され
ている。CPUユニット19aの全体構成は図2に示す
構成と同様であり、システムの全体構成は図21に示す
構成と同様である。
【0079】次に動作について説明する。ここでは、A
系15が待機系、B系15が運転系であるとする。A系
15において、時刻印転送タスク200aは、タイマタ
スク117によって、周期的に起動される。その周期
は、運転系から待機系に最新データを送信する周期に対
応する。すなわち、時刻印転送タスク200aの起動周
期は、データの転送間隔TC に等しい。なお、データの
転送間隔TC は、B系16における最短のデータ収集間
隔Tsms よりも長くない。
【0080】起動されると、時刻印転送タスク200a
は、主メモリのバッファ210aに格納されているデー
タのうち最新の時刻印をメッセージとしてメッセージキ
ュー135aに出力する。データリンク送信タスク13
6aは、メッセージキュー135a内の各メッセージを
データリンク28に対して送出する。各メッセージは、
B系16のデータリンク受信タスク131bおよびメッ
セージキュー132bを介してデータ転送タスク201
bに供給される。データ転送タスク201bは、時刻印
の到着を契機として起動されている。
【0081】起動されると、データ転送タスク201b
は、受信した時刻印が示す時刻よりもあとに収集した各
データをバッファ134bから読み出す。また、バッフ
ァ210bから各時刻を読み出しそれらを時刻印として
データに付加する。そして、時刻印が付加されたデータ
を、メッセージキュー135b、データリンク送信タス
ク136bおよびデータリンク28を介してA系15に
送信する。なお、該当するデータがない場合には送信を
行わない。
【0082】A系15において、データリンク受信タス
ク131aおよびメッセージキュー132aを介してデ
ータ書き込みタスク202aに供給される。データ書き
込みタスク202aは、データの受信を契機として起動
されている。起動されると、データ転送タスク201b
は、受け取ったデータのうち運転系に関するデータをバ
ッファ134aに書き込み、最新の時刻を示す時刻印を
バッファ210aに書き込む。
【0083】以上のようにして、時刻印転送タスク20
0a、データ転送タスク201a,201bおよびデー
タ書き込みタスク202aの共働によって、運転系の最
新データが待機系の主メモリに転送される。なお、A系
15が運転系、B系15が待機系の場合も、上記動作と
同様の動作によって、A系15の最新データがB系16
の主メモリに転送される。ここでは、時刻印転送タスク
200a,200b、データ転送タスク201a,20
1b、およびデータ書き込みタスク202a,202b
は、一度起動されると処理が完了するまでその処理を継
続することができる。よって、各タスクの設計は容易で
あり、かつ、各処理を平行して効率よく実行することが
できる。
【0084】実施例5.A系15におけるシステム時刻
とB系16におけるシステム時刻に時刻差Sが生じ、そ
の時刻差Sが許容範囲より大きくなると様々な障害が生
ずる。よって、A系15におけるシステム時刻とB系1
6におけるシステム時刻を、許容範囲内に収める必要が
ある。
【0085】時刻差Sを検出して一方のシステム時刻を
その時刻差分だけ進めるか、あるいは、遅らせるかすれ
ばその時刻差Sを解消することができる。しかし、その
時刻差Sが極めて大きい場合(|S|>許容範囲P
1)、直ちにその時刻差Sを解消してしまうと、蓄積さ
れたデータの時刻の有効性が失われてしまう。例えば、
従って、時刻差Sが許容範囲P1より大きい場合に、そ
の時刻差Sを複数回に分けて平均的に修正することが望
ましい。この実施例によるシステムは、そのような時刻
修正を行うことができるものである。なお、システムの
構成は図21に示す構成と同様であり、系の状態遷移は
図1に示すとおりである。また、CPUユニット19
a,19b内のタスク構成は、例えば図2に示すように
なっている。時刻修正手段は、図2におけるタイマタス
ク117で実現される。
【0086】次に、時刻修正のアルゴリズムを図8を参
照して説明する。例えば、待機系は、運転系が定周期で
送信したシステム時刻情報を順次受信する。そして、受
信した情報によるシステム時刻と自系のシステム時刻と
を比較して、時刻差Sが生じている場合に時刻修正を実
行する。待機系のタイマタスク117は、絶対時刻tst
art において時刻の修正を開始したとする。そして、1
回の修正動作で修正する修正時間をtとする。ただし、
修正時間tはタイマタスク117の起動周期に等しいと
し、ここでは、修正時間tを500msecとする。時
刻差Sを修正するのにかけるべき時間(吸収時間)をT
とする。ここでは、吸収時間Tを600sec(10
分)とする。また、絶対時刻tstart における運転系の
システム時刻が17時10分00.00秒、待機系のシ
ステム時刻が17時09分54.33秒であるとする。
すると、待機系の運転系に対する時刻差Sは−5670
msecである。
【0087】時刻差Sが−5670msecで、1回の
修正動作で修正する修正時間tが500msecである
から、下式に示すように、時刻の修正に必要とされる修
正回数nは11回である。 修正回数n=|S|/t=5670/500≒11 吸収時間Tが600secで、修正時間(タイマタスク
117の起動周期)tが500msecであるから、時
刻の修正を開始してから時刻の修正が終了するまでにタ
イマタスク117が起動する回数Nは、下式に示すよう
に1200回となる。 タイマタスク117の起動回数N=T/n =600000/500 ≒1200
【0088】従って、タイマタスク117が1200回
起動する間に、11回の時刻修正を行えばよい。時刻差
Sを吸収時間Tの間で平均的に修正するために、時刻差
Sを修正する時間間隔Cを以下のように設定する。 修正する時間間隔C=t・N/n =500・1200/11 ≒54.5sec
【0089】よって、待機系において、タイマタスク1
17は、絶対時刻tstart を起点にして、時間間隔C=
54.5sec経過ごとに計11回時刻修正処理を実行
する。各時刻修正において、t=500msecずつタ
イマタスクの起動時刻が進むことになる。タイマタスク
117は、起動時刻に到達した各タスクに対して起動指
令を出力するものである。例えば、(500×n)ms
ec後に起動すべきタスクがある場合には、各時刻修正
処理において、そのタスクの起動タイミングを(500
×(n−1))msecに変更する。この処理によっ
て、等価的に、システム時刻が0.5sec早まったこ
とになる。そして、絶対時刻tstart から600sec
経過後の絶対時刻tend において、両系間のシステム時
刻の差は(550×11)−5670=−170mse
cとなる。
【0090】例えば、運転系における周期スレッドPと
待機系における周期スレッドP’は、ともに周期が30
secであるとする。すると、例えば、各系のシステム
時刻が毎分00.00秒と30.00秒のときに、タイ
マタスク117は周期タスクを起動する。運転系では時
刻の修正が行われないので、周期スレッドPの周期は変
化しない。しかし、待機系の時刻修正にともなって周期
スレッドP’の周期は下記のように変化する。
【0091】すなわち、周期スレッドP’の起動周期
は、その周期中に500msecごとの修正点を含むも
のは30.00−0.50=29.50sec、含まな
いものに関しては30.00secとなる。
【0092】時刻修正処理では実際のシステム時刻を変
化させることはできないが、以上のように、システム時
刻に時刻差Sを加えたものを見かけ上のシステム時刻と
することができる。また、待機系は、時刻修正が完了す
ると、修正後の自系のシステム時刻と運転系のシステム
時刻との時刻差を自系のシステムディスクなどの不揮発
性記憶媒体に記憶する。よって、系が停止して再起動さ
れても、停止前の時刻差を用いて、見かけ上のシステム
時刻を得ることができる。
【0093】実施例6.第5の実施例では、運転系と待
機系におけるシステム時刻の修正について示したが、同
様のアルゴリズムを用いて外部システムと運転系間、あ
るいは、外部システムと待機系間でのシステム時刻の修
正を行ってもよい。そのようにして、外部システムと系
との間で見かけ上システム時刻を一致させることができ
る。
【0094】実施例7.運転系のデータを転送するとと
もにシステム時刻情報を定周期でデータリンク28を介
して転送する場合、運転系のデータのメッセージ長の上
限を定めるとともに、システム時刻情報の優先度をデー
タの優先度より高くするようにしてもよい。仮に、運転
系のデータのメッセージ長の上限を制限しないとする
と、運転系のデータが多い場合にはデータリンク28が
運転系のデータの転送に長時間占有される。その結果、
システム時刻情報を一定周期で転送できなくなり、時刻
修正を正確に行えなくなるからである。
【0095】そこで、この実施例では、CPUユニット
19a,19bにおいて、運転系のデータのメッセージ
長の上限が設定される。また、データリンク送信タスク
136a,136bは、送信の際に、システム時刻情報
の優先度を運転系のデータの優先度より高くする。例え
ば、メッセージキュー135a,135bが二重化され
る。そして、系間コピータスク133a,133bは、
システム時刻情報を優先度の高いキューに格納する。シ
ステム時刻の優先度を高くすることにより、システム時
刻情報が一定周期で転送できる状態が継続される。
【0096】なお、この実施例によるシステムの構成は
図21に示す構成と同様であり、系の状態遷移は図1に
示すとおりである。また、CPUユニット19a,19
b内のタスク構成は、例えば図2,図6に示すようにな
っている。ここでは、メッセージ長設定手段は、例え
ば、系間コピータスク133a,133bで実現され
る。優先度設定手段は、例えば、データリンク送信タス
ク136a,136で実現される。
【0097】実施例8.第2の実施例では、マザータス
ク108がアプリケーションタスク110の状態遷移順
序を起動管理ファイル104の格納内容に従って制御す
るものを示した。そのような制御を行う場合、状態遷移
順序をユーザあるいは設計者が起動管理ファイル104
にあらかじめ設定しておく必要がある。設定の際に、運
転系と待機系との間で、タスクが実行する処理に矛盾が
生じないようにしなければならない。例えば、既に述べ
たように、運転系は適宜プラントから収集したデータを
待機系に転送している。そのとき、収集時刻を付加して
転送している。系切替がうまくいかないと、同一収集時
刻をもつ複数のデータが生成されてしまうこともある。
そのようなことが生じないように、系切替が実行されな
ければならない。
【0098】しかし、アプリケーションタスク110は
多数生成されるので、矛盾が生じないように各アプリケ
ーションタスク110の状態遷移順序を決定するには多
大の労力を要する。そこで、この実施例では、系切替時
に起きてはならない矛盾についての制約を簡単な表記方
法で表現した論理的な制約として与え、論理的な制約に
もとづいて状態遷移順序を決定する状態遷移順序決定方
法を示す。
【0099】図9はデータ転送に関連するCPUユニッ
ト19a内アプリケーションタスクの構成および動作を
示す説明図である。CPUユニット19aの全体構成は
図2に示す構成と同様であり、システムの全体構成は図
21に示す構成と同様である。
【0100】図9において、220は収集されたプラン
トデータを主メモリ上のバッファ134に格納するサン
プリングタスク、221はバッファ134内のデータを
ミラーディスク29に格納する制御を行うバックアップ
タスク、222はオペレータステーション32からの要
求によって、任意に期間において収集した各データをオ
ペレータステーション32に転送する一斉転送タスク、
223は最新データを定期的にオペレータステーション
32に転送する周期転送タスク、230はメッセージキ
ューである。200は時刻印転送タスク、201はデー
タ転送タスク、202はデータ書き込みタスクである。
なお、CPUユニット19b内で動作するタスクの構成
は、CPUユニット19a内で動作するタスクの構成と
同様である。
【0101】次にCPUユニット19aのデータ転送に
関する動作について説明する。以下、A系15に着目し
て説明を行う。サンプリングタスク220は、タイマタ
スク117によって、プラントデータの収集を行う間隔
として設定されている間隔で周期的に起動される。起動
されると、自系が運転状態1にあってサンプリングタス
ク220がM状態にある場合には、M処理として、プラ
ントステーション12から転送されてきたデータを取得
する。そして、そのデータをバッファ134に書き込
む。また、現在のシステム時刻を時刻印としてバッファ
210に書き込む。S状態、StoM状態またはMto
S状態にあるときには、サンプリングタスク220は、
起動されても何もしない。
【0102】バックアップタスク221は、タイマタス
ク117によって、サンプリングタスク220の起動周
期の何倍かの周期で起動される。バックアップタスク2
21は、M状態にある場合には、M処理として、前回起
動されてから今回起動されるまでにバッファ134に格
納された各データをバッファ134から読み出す。そし
て、ディスクコントローラ22を介してそれらのデータ
をミラーディスク29に格納する。S状態にあるときに
は、バックアップタスク220は、起動されても何もし
ない。
【0103】MtoS状態にあるときには、すなわち、
M状態でマザータスク108からの切替予告シグナルを
受信した後の状態にあるときにはMtoS処理を行う。
ここでのMtoS処理では、ミラーディスク29に格納
済のデータのうち最新のものをB系16に送信する。S
toM状態にあるときには、すなわち、S状態でマザー
タスク108からの切替予告シグナルを受信した後の状
態にあるときには、B系16が本来ミラーディスク29
に格納すべきデータであってまだ格納されていないデー
タをバッファ134aから読み出してミラーディスク2
9に格納する。そのデータは、B系16から直前に受信
したデータである。
【0104】A系15が運転状態1にあるとき、オペレ
ータステーション32からプラントのデータの一斉転送
要求が出されると、その要求は、LAN33a、受信タ
スク106、メッセージキュー107を介してマザータ
スク108に受け付けられる。マザータスク108は、
一斉転送要求をメッセージキュー230に設定する。一
斉転送タスク222は、M処理として、メッセージキュ
ー230内の要求を受け付ける。要求を受け付けると、
プラントのデータをバッファ134またはミラーディス
ク29から読み出す。そして、読み出したデータを、メ
ッセージキュー113、送信タスク116およびLAN
33aを介してオペレータステーション32に転送す
る。A系15が待機状態2にあって一斉転送タスク22
2がS状態にあるときには、一斉転送タスク222は何
も行わない。MtoS状態にあるときには、メッセージ
キュー230内の要求を、これから運転系になるB系1
6に転送する。StoM状態にあるときには、オペレー
タステーション32に対して、系切替があったことを通
知する。
【0105】周期転送タスク223は、タイマタスク1
17によって、周期的に起動される。その周期は、オペ
レータステーション32への定周期データ転送の周期に
対応する。A系15が運転状態1にあって周期転送タス
ク223がM状態にあるときには、M処理として、バッ
ファ134内の最新データをメッセージキュー113、
送信タスク116およびLAN33aを介してオペレー
タステーション32に転送する。A系15が待機状態2
にあって周期転送タスク223がS状態にあるときに
は、一斉転送タスク222は何も行わない。MtoS状
態にあるときにも何も行わない。StoM状態にあると
きには、オペレータステーション32に対して、系切替
があったことを通知する。
【0106】時刻印転送タスク200は、タイマタスク
117によって、周期的に起動される。その周期は、既
に述べたように、運転系から待機系に最新データを送信
する周期に対応する。A系15が待機状態2にあって時
刻印転送タスク200がS状態にあるときには、S処理
として、既に述べたような時刻印のB系16への転送を
行う。M状態、MtoS状態またはStoM状態にある
ときには、何もしない。データ転送タスク201は、A
系15が運転状態1にあってデータ転送タスク201M
状態にあるときには、B系16からの時刻印の到着によ
って起動される。起動されると、既に述べたようにバッ
ファ134内のデータおよびバッファ210内の時刻印
のB系16への転送を行う。S状態、StoM状態また
はMtoS状態にあるときには、何もしない。
【0107】データ書き込みタスク202は、A系15
が待機状態2にあってデータ書き込みタスク202がS
状態にあるとき、既に述べたようにメッセージキュー1
32からメッセージを取り出し、その中のデータをバッ
ファ134に書き込み、最新の時刻印をバッファ210
に書き込む。M状態、MtoS状態またはStoM状態
にあるときには、何もしない。
【0108】A系15において、プラントのデータに関
する転送は以上のように実行される。なお、以上の説明
はA系15に着目した説明であるが、B系16について
も同様の処理がなされる。以上のような処理過程におい
て、系切替が発生したときに起きてはならない矛盾を表
現する論理的な制約制約について説明する。
【0109】各タスクの状態および状態遷移については
図3に示したとおりであるが、ここで、タスクτのある
状態から他の状態aへの遷移を、 τ→a と表す。また、 A系15の時刻印転送タスク200をτt A系15のデータ転送タスク201をτd A系15のデータ書き込みタスク202をτw A系15のサンプリングタスク220をτs、 A系15のバックアップタスク221をτb A系15の一斉転送タスク222をτa A系15の周期転送タスク223をτp B系15の時刻印転送タスク200をτ’t B系15のデータ転送タスク201をτ’d B系15のデータ書き込みタスク202をτ’w B系15のサンプリングタスク220をτ’s、 B系15のバックアップタスク221をτ’b B系15の一斉転送タスク222をτ’a B系15の周期転送タスク223をτ’p と表現する。
【0110】また、論理的な制約を先行制約「・」とタ
スクの遷移とで表現する。例えば、あるタスクτ1,τ
2および状態a,bに関して、論理的な制約、 τ1→a・τ2→b は、タスクτ1の状態aへの遷移が行われた後に、タス
クτ2の状態bへの遷移が行われなければならないこと
を示す。
【0111】A系15が運転系、B系16が待機系であ
る場合に、系切替が行われるときには、以下の全ての状
態遷移がなされる必要がある。 τs→MS, τb→MS, τp→MS,τa→M
S, τt→MS, τd→MS, τw→MS,τs
→S, τb→S, τp→S,τa→S, τt→
S, τd→S, τw→S,τ’s→SM, τ’b
→SM, τ’p→SM,τ’a→SM, τ’t→S
M, τ’d→SM, τ’w→SM,τ’s→M,
τ’b→M, τ’p→M,τ’a→M, τ’t→
M, τ’d→M, τ’w→M, ここで、MSはMtoS状態、SはS状態、SMはSt
oM状態、MはM状態を示す。
【0112】それらの状態遷移について、以下のような
制約がある。 (1)両系で同時にプラントのデータのサンプリングが
行われ同一時刻印の内容の異なるデータが存在するとい
った状況が発生しないようにする。すなわち、 τs→MS・τ’s→M である。 (2)各系において、バッファ134の内容の正当性を
保証するためにバッファ134への書き込みが複数タス
クから同時に行われないようにする。すなわち、 τs→MS・τw→S τ’w→SM・τ’s→M である。 (3)ミラーディスク29への書き込みが両系から同時
に行われることのないようにする。すなわち、 τb→MS・τ’p→M (4)オペレータステーション32へのデータの周期転
送が両系で同時に行われないようにする。すなわち、 τp→MS・τ’b→M である。 (5)サンプリングタスク220によるバッファ134
への書き込みが終了したのに、バッファ内データの周期
転送が実行されると同じデータを何度も送信して矛盾を
生ずる。そこで、そのようなことが生じないように、以
下の制約が必要である。 τp→MS・τs→MS τ’s→M・τ’p→M (6)B系16の時刻印転送タスク200がA系15に
時刻印を送信した場合に、A系15のデータ書き込みタ
スク202がこれを受け取ってバッファ134に書き込
まないと時刻印がメッセージキュー132aに残り、次
回の系切替の際に不正なデータ転送を起こす。そこで、
そのようなことが生じないように、以下の制約が必要で
ある。 τ’t→SM・τd→MS τ’d→M・τt→S (7)A系15のデータ転送タスク201がB系16に
データを送信した場合に、B系16のデータ書き込みタ
スク202がこれを受け取ってバッファ134に書き込
まないとデータ書き込み要求がメッセージキュー132
aに残り、次回の系切替の際に不正なデータ転送を起こ
す。そこで、そのようなことが生じないように、以下の
制約が必要である。 τd→MS・τ’w→SM τw→S・τ’d→M
【0113】さらに、以下のような自明な順序関係もあ
る。 τs→MS・τs→S τ’s→SM・τ’s→M τb→MS・τb→S τ’b→SM・τ’b→M τp→MS・τp→S τ’p→SM・τ’p→M τa→MS・τa→S τ’a→SM・τ’a→M τt→MS・τt→S τ’t→SM・τ’t→M τd→MS・τd→S τ’d→SM・τ’d→M τw→MS・τw→S τ’w→SM・τ’w→M
【0114】つまり、全ての制約条件は以下のように表
される。 τs→MS・τ’s→M τs→MS・τw→S τ’w→SM・τ’s→
M τb→MS・τ’b→M τp→MS・τ’p→M τp→MS・τs→MS τ’s→M・τ’p→M τ’t→SM・τd→MS τ’d→M・τt→S τd→MS・τ’w→SM τw→S・τ’d→M τs→MS・τs→S τ’s→SM・τ’s→
M τb→MS・τb→S τ’b→SM・τ’b→
M τp→MS・τp→S τ’p→SM・τ’p→
M τa→MS・τa→S τ’a→SM・τ’a→
M τt→MS・τt→S τ’t→SM・τ’t→
M τd→MS・τd→S τ’d→SM・τ’d→
M τw→MS・τw→S τ’w→SM・τ’w→
【0115】以上のような制約条件を満足するタスクの
状態遷移順序を直ちに決定することは困難である。この
実施例は、タスクの状態遷移順序を容易に決定しうる方
法を提供するものである。その方法は、例えば、図10
のフローチャートに示すように実現される。
【0116】次に、図10のフローチャートを参照して
動作について説明する。まず、全ての状態遷移を節点、
与えられた論理的な制約条件を先行する状態遷移の節点
から後行する状態遷移の接点への有向線分で表したグラ
フを作成する(ステップST1)。すると、この例で
は、図11に示すグラフが作成される。ただし、図11
において、波線部分はこの段階では作成されていない。
【0117】次に、ある節点を起点としてその節点に戻
ってくる経路が存在するかどうか調べる(ステップST
2)。そのような経路が存在する場合には、全ての制約
条件を満たすタスクの状態遷移順序は存在しないことに
なる。従って、異常終了とする。図11に示す例ではそ
のような経路は存在しない。そのような経路が存在しな
い場合には、根節点300を設け、入ってくる有向線分
のない全ての節点に対して、根節点300を起点とする
有向線分を加える(ステップST3)。図11に示す例
では、波線の矢印で示す有向線分が加えられる。
【0118】ここで、出力列をクリアしておく(ステッ
プST4)。そして、根節点を引数としてサブルーチン
Aを呼び出す(ステップST5)。サブルーチンAにお
いて、引数を節点iとし、節点iからでる有向線分の終
点である節点を節点jとして、サブルーチンBを呼び出
す(ステップST10,ST11)。図11に示す例で
は、jは301〜311のいずれかである。
【0119】サブルーチンBにおいて、節点iから節点
jに至る有向線分に印Xを付ける(ステップST2
0)。この場合には、例えば、根節点300から節点3
01に至る有向線分に対して印Xが付される。次に、節
点jに至る全ての有向線分に印Xが付いたかどうか確認
する(ステップST21)。この場合には、節点301
に至る有向線分は1本しかないので、全ての有向線分に
印Xが付いたことになる。全ての有向線分に印Xが付い
た場合には、その節点を出力列の最後尾につけ加える
(ステップST22)。そして、その節点を引数とし
て、サブルーチンAを呼び出す(ステップST23)。
この場合には、節点301が引数である。
【0120】ここで、呼び出されたサブルーチンAにお
いて、再度、ステップST10,ST11の処理を行
う。この場合には、j=312〜314のいずれかであ
る。節点312については、ステップST21の判定結
果は「NO」である。しかし、節点313については、
ステップST21の判定結果は「YES」である。よっ
て、ステップST22において、節点313が出力列の
最後尾に付け加えられる。この場合には、節点313
は、出力列において節点301の次に付け加えられる。
そして、節点313を引数として再度サブルーチンAを
呼び出す。
【0121】節点301から先に延びる全ての節点につ
いて以上の処理を実行すると、次に、節点302につい
て以上の処理を実行する。さらに、根節点300につな
がる全ての節点301〜311について以上の処理を実
行すると、処理終了である。終了したときに、出力列に
設定されている節点の列、すなわち、状態遷移の列は、
タスク状態遷移の順序を示している。
【0122】この場合には、状態遷移順序は以下のよう
に決定される。 (τp→MS)−>(τp→S)−>(τs→MS)−
>(τs→S)−>(τb→MS)−>(τb→S)−
>(τ’b→SM)−>(τ’b→M)−>(τ’s→
SM)−>(τ’p→SM)−>(τ’t→SM)−>
(τ’t→M)−>(τd→MS)−>(τd→S)−
>(τ’w→SM)−>(τ’s→M)−>(τ’p→
M)−>(τ’w→M)−>(τw→MS)−>(τw
→S)−>(τ’d→SM)−>(τ’d→M)−>
(τt→MS)−>(τt→S)−>(τ’a→SM)
−>(τ’a→M)−>(τa→MS)−>(τa→
S)
【0123】以上のように、この実施例によれば、各ア
プリケーションタスク110の状態遷移順序を自動的に
決定することができる。このように決定された状態遷移
順序は、図2に示す起動管理ファイル104に設定され
る。
【0124】実施例9.第8の実施例では系切替時に矛
盾が生じないように各アプリケーションタスク110を
状態遷移させる順序を論理的に決定する方法を示した。
さらに、系切替時の時間的制約を加えた状態遷移順序を
決定することもできる。
【0125】ここで、時間的制約を遷移時間関数T(t
1,t2)で定義する。遷移時間関数T(t1,t2)は、あ
る2つの状態遷移t1,t2について、t1が開始されてから
t2が終了するまでの時間である。t2の終了がt1の開始よ
りも先に起きる場合には、T(t1,t2)は、t2の終了か
らt1の開始までの時間に−1を掛けた値である。また、
t1とt2とが同一の状態遷移である場合には、T(t1,t
2)をT(t1)と記してもよいことにする。
【0126】時間的制約には、例えば、t1が開始されて
からt2が終了するまでの時間をある時間t以下にしなけ
ればならないという制約がある。その制約は、 T(t1,t2)≦t と表現される。また、t1が開始されてからt2が終了する
までの時間を、上限はないものの、できるだけ小さくし
たいという制約もある。プラント監視処理では、系切替
が行なわれるときには、切替時にオペレータステーショ
ン32へのデータの周期転送が途切れる時間をなるべく
小さくしたいという制約がある。すなわち、A系15が
運転系でB系16が待機系である場合に、系切替が行な
われるときには、以下のような制約がある。 T(τp→MS,τ’p→M)をできるだけ小さくす
る。
【0127】図12はこの発明の第9の実施例による状
態遷移順序決定方法を示すフローチャートである。図に
示すように、まず、全ての状態遷移を節点、与えられた
論理的な制約条件を先行する状態遷移の節点から後行す
る状態遷移の接点への有向線分で表したグラフを作成す
る(ステップST1)。すると、この例では、図13に
示すグラフが作成される。ただし、図13において、細
実線部分のみがこの段階で作成される。次に、ある節点
を起点としてその節点に戻ってくる経路が存在するかど
うか調べる(ステップST2)。そのような経路が存在
する場合には、全ての制約条件を満たすタスクの状態遷
移順序は存在しないことになる。従って、異常終了とす
る。図13に示す例ではそのような経路は存在しない。
【0128】そして、入力として与えられた遷移時間関
数T(t1,t2)の状態遷移t1に相当するSTART節点
から、状態遷移t2に相当するEND節点に至る経路上の
全ての有向線分に印Yを付ける。この場合には、4つの
有向線分に印Yが付けられる(ステップST11)。そ
のような経路がない場合には、END節点からSTAR
T節点に向かう有向線分を付け加える。
【0129】さらに、印Yの付いた有向線分の終点に当
たる全ての節点について、その節点に入る印Yの付いて
いない有向線分の始点からSTART節点に向かう有向
線分を付け加える(ステップST12)。この場合に
は、図13において有向線分Z1が付け加えられる。ま
た、印Yの付いた有向線分の始点点に当たる全ての節点
について、その節点から出る印Yの付いていない有向線
分の終点に向かうEND節点からの有向線分を付け加え
る(ステップST13)。この場合には、図13におい
て有向線分Z2が付け加えられる。
【0130】以上のようにして、第8の実施例で示した
状態順序の制約および上記の時間的な制約を反映した図
13に示すグラフが作成される。その後の処理は、第8
の実施例の場合と同様である。この場合には、ステップ
ST3において、根節点300からの有向線分は、節点
302〜311に対して引かれる。
【0131】全ての処理が完了したときに出力列に設定
された順序は以下のようになる。 (τb→MS)−>(τb→S)−>(τ’b→SM)
−>(τ’b→M)−>(τ’s→SM)−>(τ’p
→SM)−>(τ’t→SM)−>(τ’t→M)−>
(τd→MS)−>(τd→S)−>(τ’w→SM)
−>(τ’w→M)−>[τp→MS]−>(τs→M
S)−>(τ’s→M)−>[τ’p→M]−>(τp
→S)−>(τs→S)−>(τw→MS)−>(τw
→S)−>(τ’d→SM)−>(τ’d→M)−>
(τt→MS)−>(τt→S)−>(τ’a→SM)
−>(τ’a→M)−>(τa→MS)−>(τa→
S)
【0132】なお、遷移時間関数T(τp→MS,τ’
p→M)は以下のように表現できる。 T(τp→MS,τ’p→M)=(τp→MS)+(τ
s→MS)+(τ’s→M)+(τ’p→M) 具体的には、この時間は、A系15の周期転送タスク
(τp),A系15のサンプリングタスク(τs),B
系16の周期転送タスク(τ’s),B系16のサンプ
リングタスク(τ’p)それぞれがマザータスク108
と同期をとる期間、マザータスク108が他系のマザー
タスク108と同期をとる時間、およびB系16のサン
プリングタスク(τ’p)がオペレーションタスク32
に系の切り替えがあったことを通知する時間の和であ
る。
【0133】以上のように、この実施例によれば、状態
遷移の時間的制約が考慮された各アプリケーションタス
ク110の状態遷移順序を自動的に決定することができ
る。従って、系切替時に求められるサービスの質を満足
する、すなわち時間的制約を満たす状態遷移順序を自動
的に得ることができる。
【0134】実施例10.第9の実施例では時間的な制
約が1つだけであった。しかし、複数の時間的制約があ
る場合もある。この実施例による方法はそのような場合
にも適用できる方法である。図14は複数の時間的制約
がある場合にも適用できるこの発明の第10の実施例に
よる状態遷移順序決定方法を示すフローチャートであ
る。
【0135】図15は論理的な制約から作成したグラフ
の一例である。図において、As,Bs,,Cs,Ae,Be,C
e,1,2,・・・,15はそれぞれ状態遷移を示す。
そして、以下のような時間的制約が与えられた場合を例
に説明する。すなわち、T(As,Ae),T(Bs,Be),
T(Cs,Ce)をできるだけ小さくする。
【0136】それぞれの制約に対して、異なる優先度を
与えることができる。例えば、以下のように優先度が与
えられたとする。 高:T(As,Ae)をできるだけ小さくする。 中:T(Bs,Be)をできるだけ小さくする。 低:T(Cs,Ce)をできるだけ小さくする。
【0137】以上のような制約および優先度を例にして
動作について説明する。まず、全ての状態遷移を節点、
与えられた論理的な制約条件を先行する状態遷移の節点
から後行する状態遷移の接点への有向線分で表したグラ
フを作成する(ステップST1)。この例では、与えら
れた論理的制約にもとづいて図15に示すグラフが作成
されたとする。次に、ある節点を起点としてその節点に
戻ってくる経路が存在するかどうか調べる(ステップS
T2)。そのような経路が存在する場合には、全ての制
約条件を満たすタスクの状態遷移順序は存在しないこと
になる。従って、異常終了とする。図15に示す例では
そのような経路は存在しない。
【0138】次に、入力として与えられた全ての遷移時
間関数T(t1,t2)それぞれに対して、優先度の高いも
のから順にサブルーチンCを実行する。この場合には、
T(As,Ae)→T(Bs,Be)→T(Cs,Ce)を対象順と
してサブルーチンCが実行される。サブルーチンCにお
いて、Ypにおけるpは優先度に対応し、高優先度に対
応してp=0、中優先度に対応してp=1、低優先度に
対応してp=2とする。さらに低い優先度がある場合に
は、p=4,5,・・・とされてサブルーチンCが実行
される。
【0139】サブルーチンCは、第9の実施例における
ステップST11〜ST13に相当する処理である。従
って、まず、遷移時間関数T(t1,t2)の状態遷移t1に
相当するSTART節点から、状態遷移t2に相当するE
ND節点に至る経路上の全ての有向線分に印Ypを付け
る(ステップST21)。pは、上述したように、この
場合には0〜2のいずれかである。そのような経路がな
い場合には、END節点からSTART節点に向かう有
向線分を付け加える。
【0140】さらに、印Ypの付いた有向線分の終点に
当たる全ての節点について、その節点に入る何の印も付
いていない有向線分の始点からSTART節点に向かう
有向線分を付け加える(ステップST22)。また、印
Ypの付いた有向線分の始点点に当たる全ての節点につ
いて、その節点から出る何の印も付いていない有向線分
の終点に向かうEND節点からの有向線分を付け加える
(ステップST33)。
【0141】以上のようにして、与えられた状態順序の
制約および時間的な制約を反映した図16に示すグラフ
が作成される。ただし、根節点はまだ設定されていな
い。その後の処理は、第8の実施例,第9の実施例の場
合と同様である。全ての処理が完了すると、以下のよう
な順序が出力列に設定される。 Cs→13→Bs→7→As→1→2→3→4→8→9→5→
6→→Ae→10→14→11→12→Be→15→Ce
【0142】各時間的制約条件に着目すると、以下のよ
うに表現できる。 T(As,Ae)=T(1)+T(2)+T(3)+T
(4)+T(8)+T(9)+T(5)+T(6) T(Bs,Be)=T(As,Ae)+T(7)+T(10)+
T(14)+T(11)+T(12) T(Cs,Ce)=T(Bs,Be)+T(13)+T(15) なお、状態遷移1,2,3,4,8,9,5,6は、与
えられた論理的制約より、Asが終了してからAeが開始さ
れるまでに必ず実行されなければならないものである。
【0143】次に、時間的な制約の優先度が以下のよう
に与えられた場合を考える。 高:T(Cs,Ce)をできるだけ小さくする。 中:T(Bs,Be)をできるだけ小さくする。 低:T(As,Ae)をできるだけ小さくする。 この場合も、与えられた論理的な制約にもとづくグラフ
は図15に示すようであるとする。すると、すると、ス
テップST13の処理が終わった時点で、図17に示す
グラフが得られる。ただし、根節点はまだ設定されてい
ない。
【0144】全ての処理が完了すると、以下のような順
序が出力列に設定される。 As→1→Bs→7→2→3→4→Cs→13→8→9→5→
10→14→11→15→Ce→12→Be→6→Ae
【0145】各時間的制約条件に着目すると、以下のよ
うに表現できる。 T(Cs,Ce)=T(13)+T(8)+T(9)+T
(5)+T(10)+T(14)+T(11)+T(1
5) T(Bs,Be)=T(Cs,Ce)+T(7)+T(2)+T
(3)+T(4)+T(12) T(As,Ae)=T(Bs,Be)+T(1)+T(6) なお、状態遷移13,8,9,5,10,14,11,
15は、与えられた論理的制約より、Csが終了してから
Ceが開始されるまでに必ず実行されなければならないも
のである。
【0146】以上のように、時間的制約が複数ある場合
でも、自動的にそれらの制約を満たす状態遷移順序が自
動的に決定される。
【0147】実施例11.図18はこの発明の第11の
実施例による待機冗長システムの構成を示すブロック図
である。上記各実施例では、運転系のデータ等をデータ
リンク28を用いて転送するものについて示したが、図
18に示すように、これらの転送をすべて共有メモリ4
0を介して転送するようにしてもよい。
【0148】図19はCPUユニット19a内のタスク
の構成および動作を示す説明図である。CPUユニット
19bのタスク構成も図19に示す構成と同様である。
図20は、CPUユニット19a,19bの主要部を示
すブロック図である。図20において、141a,14
1bは共有メモリ読み出しタスク、142a,142b
は共有メモリ書き込みタスクである。
【0149】共有メモリ40において、41は共有メモ
リ書き込みタスク142aによるデータの書き込み領域
42へのデータの書き込みが完了すると”1”となり、
共有メモリ読み出しタスク141bによるデータの書き
込み領域42からのデータの読み出しが完了すると”
0”となる同期ビット、43は共有メモリ書き込みタス
ク142bによるデータの書き込み領域44へのデータ
の書き込みが完了すると”1”となり、共有メモリ読み
出しタスク141aによるデータの書き込み領域44か
らのデータの読み出しが完了すると”0”となる同期ビ
ットである。
【0150】次に動作について説明する。A系15が運
転系であるとすると、A系15の共有メモリ書き込みタ
スク142aは、メッセージキュー135a内の運転系
のデータまたはシステム時刻情報を取り出して、それを
データの書き込み領域42の所定の番地に書き込む。そ
して、同期ビット41を”1”にする。B系16の共有
メモリ読み出しタスク141bは、同期ビット41が”
1”になったことを検出すると、データの書き込み領域
42からデータまたはシステム時刻情報を読み出して、
それをメッセージキュー132bに設定する。系間コピ
ータスク133bは、メッセージキュー132bからデ
ータまたはシステム時刻情報を得る。B系16が時刻メ
ッセージをA系15に送信する場合には、データの書き
込み領域44を介して、メッセージ転送が実行される。
【0151】なお、ここでは共有メモリ40として2ポ
ートメモリを例示したが、さらに他のポートを有する多
ポートメモリを用いれば、あるいは他の共有メモリを設
ければ、CPUユニット19a,19bと運転制御ユニ
ット26等との間のデータ転送もメモリを通して実現で
きる。
【0152】
【発明の効果】以上のように、請求項1記載の発明によ
れば、待機冗長システムが、運転状態に直ちに遷移可能
な待機状態、初期化処理なしで待機状態に遷移可能な準
備状態、および初期化処理の後に待機状態に遷移可能な
停止状態のうちのいずれかに設定する構成制御手段を備
えるように構成したので、軽故障等によって待機系に遷
移した場合には初期化処理なしで系を待機状態に戻し、
両系がともに運転系になりえない状況が発生する可能性
を低減させるものが得られる効果がある。
【0153】請求項2記載の発明によれば、待機冗長シ
ステムが、各アプリケーションタスクごとに処理状態を
管理し、各アプリケーションタスクごとに処理状態を遷
移させるタスク別状態遷移手段を備えるように構成した
ので、状態遷移可能なアプリケーションタスクがあれば
それらを順次状態遷移させて、系切替に要する時間を短
縮できるものが得られる効果がある。
【0154】請求項3記載の発明によれば、待機冗長シ
ステムが、アプリケーションタスクの状態遷移中に起動
時刻に到達した場合、状態遷移後にそのアプリケーショ
ンタスクの起動を許容すべきか否かを選択する起動選択
手段を備えるように構成したので、状態遷移後にそのア
プリケーションタスクの起動を許容すると系切替におい
て矛盾が生ずると判断されるときには、状態が遷移した
後にそのアプリケーションタスクが起動されないように
するものが得られる効果がある。
【0155】請求項4記載の発明によれば、待機冗長シ
ステムが、運転系と待機系との切り替えの際における各
アプリケーションタスクの状態遷移順序を決定する状態
遷移順序設定手段を備えるように構成したので、各系に
データの重複などの矛盾が生ずることなく系切替を実現
できるものが得られる効果がある。
【0156】請求項5記載の発明によれば、待機冗長シ
ステムが、各アプリケーションタスクの状態遷移順序を
格納した起動管理ファイルを含むように構成したので、
容易に各アプリケーションタスクの状態遷移順序を決定
できるものが得られる効果がある。
【0157】請求項6記載の発明によれば、待機冗長シ
ステムが、被監視対象からの監視データの最短の収集間
隔より短い間隔で運転系が収集したデータを待機系に供
給するデータ転送手段を備えるように構成したので、運
転系の故障発生時に待機系に未転送のまま残っているデ
ータを最小限に止めることができるものが得られる効果
がある。
【0158】請求項7記載の発明によれば、待機冗長シ
ステムが、時刻印転送タスク、データ転送タスクおよび
データ書き込みタスクからなるデータ転送手段を備える
ように構成したので、タスクの構成が簡潔化され、デー
タ転送処理を運転系から待機系への周期的なデータ転送
処理を効率的に実行できるとともに、タスクの設計が容
易になるものが得られる効果がある。
【0159】請求項8記載の発明によれば、待機冗長シ
ステムが、運転系のシステム時刻と待機系のシステム時
刻との時刻差が所定の許容範囲より大きい場合に、時刻
差を複数回に分けて修正する時刻修正手段を備えるよう
に構成したので、系が保有する各データにおける欠落や
重複が生じないようにしつつ、各系のシステム時刻を合
わせることができるものが得られる効果がある。
【0160】請求項9記載の発明によれば、待機冗長シ
ステムが、データのメッセージ長の上限を定めるメッセ
ージ長設定手段と、転送されるシステム時刻の優先度を
転送されるデータの優先度よりも高くする優先度設定手
段とを備えるように構成したので、システム時刻情報
が、データ転送によって待たされてしまうことのないも
のが得られる効果がある。
【0161】請求項10記載の発明によれば、待機冗長
システムが、システム内の時刻と外部システムのシステ
ム時刻との時刻差が所定の許容範囲より大きい場合に、
その時刻差を複数回に分けて修正する時刻修正手段を備
えるように構成したので、系が保有する各データにおけ
る欠落や重複が生じないようにしつつ、外部システムお
よび各系のシステム時刻を合わせることができるものが
得られる効果がある。
【0162】請求項11記載の発明によれば、状態遷移
順序決定方法が、各アプリケーションタスクの状態遷移
順序に関する制約を記述する工程と、記述された制約に
もとづいて各状態遷移の順序関係をグラフ化する工程
と、作成されたグラフにおける枝をたどって状態遷移順
序を決定する工程とを備えるように構成したので、制約
条件のある状態遷移順序を自動的に決定でき、遷移順序
の設計時間を短縮化できるとともに、信頼性のある遷移
順序を出力できるものが得られる効果がある。
【0163】そして、請求項12記載の発明によれば、
状態遷移順序決定方法が、ある状態遷移と他の状態遷移
との間の時間に制約がある場合に、その時間制約に対応
した枝を作成されたグラフに付加する工程をさらに備え
るように構成したので、順序に関する的制約条件および
時間的制約条件のある状態遷移順序を自動的に決定でき
るものが得られる効果がある。
【図面の簡単な説明】
【図1】この発明の第1の実施例による待機冗長システ
ムにおける系の状態遷移を示す状態遷移図である。
【図2】CPUユニット内のタスクの構成および動作を
示す説明図である。
【図3】アプリケーションタスクの状態遷移を示す状態
遷移図である。
【図4】状態管理テーブルの内容の一例を示す説明図で
ある。
【図5】アプリケーションタスクの状態遷移の一例を示
すタイミング図である。
【図6】第3の実施例におけるCPUユニット内のタス
クの構成および動作を説明するための説明図である。
【図7】第4の実施例におけるCPUユニット内のタス
クの構成および動作を説明するための説明図である。
【図8】時刻修正の動作を説明するためのタイミング図
である。
【図9】データ転送に関連するCPUユニット内のアプ
リケーションタスクの構成および動作を示す説明図であ
る。
【図10】この発明の第8の実施例による状態遷移順序
決定方法を示すフローチャートである。
【図11】第8の実施例におけるグラフの構成を示す説
明図である。
【図12】この発明の第9の実施例による状態遷移順序
決定方法を示すフローチャートである。
【図13】第9の実施例におけるグラフの構成を示す説
明図である。
【図14】この発明の第10の実施例による状態遷移順
序決定方法を示すフローチャートである。
【図15】第10の実施例における制約条件にもとづく
グラフの構成を示す説明図である。
【図16】第10の実施例における制約条件および時間
制約にもとづくグラフの構成を示す説明図である。
【図17】第10の実施例における制約条件および他の
時間制約にもとづくグラフの構成を示す説明図である。
【図18】この発明の第11の実施例による待機冗長シ
ステムの構成を示すブロック図である。
【図19】第11の実施例におけるCPUユニット内の
タスクの構成および動作を示す説明図である。
【図20】CPUユニットの主要部を示すブロック図で
ある。
【図21】待機冗長システムの構成を示すブロック図で
ある。
【図22】待機冗長システムにおける系の従来の状態遷
移を示す状態遷移図である。
【符号の説明】
19a,19b CPUユニット(構成制御手段) 104 起動管理ファイル(起動選択手段,状態遷移順
序設定手段) 108 マザータスク(タスク別状態遷移手段,起動選
択手段,状態遷移順序設定手段) 117 タイマタスク(時刻修正手段) 133a,133b 系間コピータスク(データ転送手
段,メッセージ長設定手段) 136a,136b データリンク送信タスク(優先度
設定手段) 200a,200b 時刻印転送タスク(データ転送手
段) 201a,201b データ転送タスク(データ転送手
段) 202a,202b データ書き込みタスク(データ転
送手段)

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 被監視対象を監視制御しうる複数の監視
    制御系を有し、そのうちの一の系は監視制御を実行する
    運転系となり他の系は待機系となる待機冗長システムに
    おいて、前記各監視制御系は、自系を、運転系に対応し
    た運転状態、運転状態に直ちに遷移可能な待機状態、初
    期化処理なしで待機状態に遷移可能な準備状態、または
    初期化処理の後に待機状態に遷移可能な停止状態に設定
    する構成制御手段を備えたことを特徴とする待機冗長シ
    ステム。
  2. 【請求項2】 被監視対象を監視制御しうる複数の監視
    制御系を有し、そのうちの一の系は監視制御を実行する
    運転系となり他の系は待機系となる待機冗長システムに
    おいて、前記各監視制御系は、監視制御系を構成する各
    アプリケーションタスクごとに処理状態を管理し、各ア
    プリケーションタスクごとに処理状態を遷移させるタス
    ク別状態遷移手段を備えた特徴とする待機冗長システ
    ム。
  3. 【請求項3】 監視制御系は、アプリケーションタスク
    の状態遷移中に起動時刻に到達した場合、状態遷移後に
    そのアプリケーションタスクの起動を許容すべきか否か
    を選択する起動選択手段を備えた請求項2記載の待機冗
    長システム。
  4. 【請求項4】 監視制御系は、運転系と待機系との切り
    替えの際における各アプリケーションタスクの状態遷移
    順序を決定する状態遷移順序設定手段を備えた請求項2
    記載の待機冗長システム。
  5. 【請求項5】 状態遷移順序設定手段は、各アプリケー
    ションタスクの状態遷移順序を格納した起動管理ファイ
    ルを含む請求項4記載の待機冗長システム。
  6. 【請求項6】 被監視対象からの監視データの最短の収
    集間隔より短い間隔で運転系が収集したデータを待機系
    に供給するデータ転送手段を備えた請求項1または請求
    項2記載の待機冗長システム。
  7. 【請求項7】 データ転送手段は、待機系が保有する最
    新データの収集時刻を示す時刻印を運転系に周期的に転
    送する時刻印転送タスクと、前記待機系から受けた時刻
    印が示す時刻よりも後に収集した各データを前記待機系
    に転送するデータ転送タスクと、前記運転系から受けた
    各データを記憶手段に保存するデータ書き込みタスクと
    を備えた請求項7記載の待機冗長システム。
  8. 【請求項8】 運転系のシステム時刻と待機系のシステ
    ム時刻との時刻差が所定の許容範囲より大きい場合に、
    時刻差を複数回に分けて修正する時刻修正手段を備えた
    請求項1記載または請求項2の待機冗長システム。
  9. 【請求項9】 運転系のデータを待機系に転送するデー
    タリンクを用いてシステム時刻を通知する場合、データ
    のメッセージ長の上限を定めるメッセージ長設定手段
    と、転送されるシステム時刻の優先度を転送されるデー
    タの優先度よりも高くする優先度設定手段とを備えた請
    求項8記載の待機冗長システム。
  10. 【請求項10】 システム内の時刻と外部システムのシ
    ステム時刻との時刻差が所定の許容範囲より大きい場合
    に、その時刻差を複数回に分けて修正する時刻修正手段
    を備えた請求項1記載または請求項2の待機冗長システ
    ム。
  11. 【請求項11】 各アプリケーションタスクを所定の制
    約のもとに状態遷移させる順序を決定する状態遷移順序
    決定方法において、各アプリケーションタスクの状態遷
    移順序に関する制約を記述し、記述された制約にもとづ
    いて各状態遷移の順序関係をグラフ化し、作成されたグ
    ラフにおける枝をたどって状態遷移順序を決定すること
    を特徴とする状態遷移順序決定方法。
  12. 【請求項12】 ある状態遷移と他の状態遷移との間の
    時間に制約がある場合に、その時間制約に対応した枝を
    作成されたグラフに付加する請求項11記載の状態遷移
    順序決定方法。
JP6046063A 1993-12-09 1994-03-16 待機冗長システムおよび状態遷移順序決定方法 Pending JPH07219799A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6046063A JPH07219799A (ja) 1993-12-09 1994-03-16 待機冗長システムおよび状態遷移順序決定方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30950893 1993-12-09
JP5-309508 1993-12-09
JP6046063A JPH07219799A (ja) 1993-12-09 1994-03-16 待機冗長システムおよび状態遷移順序決定方法

Publications (1)

Publication Number Publication Date
JPH07219799A true JPH07219799A (ja) 1995-08-18

Family

ID=26386178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6046063A Pending JPH07219799A (ja) 1993-12-09 1994-03-16 待機冗長システムおよび状態遷移順序決定方法

Country Status (1)

Country Link
JP (1) JPH07219799A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170477A (ja) * 2013-03-05 2014-09-18 Mitsubishi Electric Corp 高可用性システム
JP2014191464A (ja) * 2013-03-26 2014-10-06 Fuji Xerox Co Ltd 情報処理システム、情報処理装置及び情報処理プログラム
US9934114B2 (en) 2013-09-26 2018-04-03 Mistubishi Electric Corporation Communication system, standby device, communication method, and standby program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170477A (ja) * 2013-03-05 2014-09-18 Mitsubishi Electric Corp 高可用性システム
JP2014191464A (ja) * 2013-03-26 2014-10-06 Fuji Xerox Co Ltd 情報処理システム、情報処理装置及び情報処理プログラム
US9934114B2 (en) 2013-09-26 2018-04-03 Mistubishi Electric Corporation Communication system, standby device, communication method, and standby program

Similar Documents

Publication Publication Date Title
US5008805A (en) Real time, fail safe process control system and method
US7941622B2 (en) Point in time remote copy for multiple sites
KR100324165B1 (ko) 갱신 트랜잭션 완성 방법 및 장치
US6754792B2 (en) Method and apparatus for resynchronizing paired volumes via communication line
KR100238926B1 (ko) 분산 메모리형 멀티프로세서 시스템 및 고장 회복방법
US6550017B1 (en) System and method of monitoring a distributed fault tolerant computer system
US7328372B2 (en) Process data collection system which reduces communication load for accessing data
US20110314237A1 (en) Virtual ordered writes transfer log
JP2002522845A (ja) フォールトトレラント・コンピュータシステム
US20070118840A1 (en) Remote copy storage device system and a remote copy method
JP4341571B2 (ja) 記憶装置システムおよびその制御方法、制御プログラム
JP2003167683A (ja) 情報記憶システム及びその制御方法
US20110078396A1 (en) Remote copy control method and system in storage cluster environment
JP3882783B2 (ja) プログラマブルコントローラ及びcpuユニット並びに通信ユニット及び通信ユニットの制御方法
US10049021B2 (en) Redundant system and redundancy method
WO1992018931A1 (en) Fault tolerant network file system
JPH07219799A (ja) 待機冗長システムおよび状態遷移順序決定方法
JP2004348174A (ja) 記憶装置システム
JPH1115604A (ja) データ多重化方法
JP2016058835A (ja) 中継システムおよびスイッチ装置
JP4352224B2 (ja) 二重化系におけるデータ救済方法およびシステム
JP3781369B2 (ja) 記憶サブシステム
JPH0462081B2 (ja)
JP2004192482A (ja) バックアップを特定するクラスタ型計算機システム及びクラスタ型ストレージシステム
JPH0430220A (ja) ソフトウエアメンテナンス方式