(57)【要約】【課題】フィールド機器の入出力情報を管理するＩＯコプロセッサを駆動する入出力管理プログラムを更新する場合に、２重化されたＣＰＵモジュールの片側運転時間を短縮できるようにする。【解決手段】端末１４により、StandbyモードのＩＯコプロセッサ５Ｂを駆動するＩＯファームウェア６２を停止させて該ＩＯファームウェア６２を更新し、系の切り替え後、StandbyモードのＩＯコプロセッサ５Ａを駆動するＩＯファームウェア６０を停止させて該ＩＯファームウェア６０を更新する。これにより、オンラインでＩＯファームウェア６０，６２を更新できるのでＣＰＵモジュール１Ａ，１Ｂを停止したり取り外したりする必要がなくなる。従って、ＩＯイメージデータなどをコピーするＡＰＤＣ処理が不要になり、２重化されずに単独でＣＰＵモジュール１Ａ，１Ｂが動作する危険な片側運転状態の時間を短縮できる。【選択図】図１
2010198274.tif 000002
【特許請求の範囲】
【請求項１】
２つのＣＰＵモジュールの一方が制御側としてフィールド機器を制御し、他方が待機側
として待機する二重化制御方法において、
待機側の第２ＣＰＵモジュールに設けられて、前記フィールド機器の入出力情報を管理
する第２のＩＯコプロセッサを駆動する入出力管理プログラムを上位装置からの要求によ
り更新するステップと、
前記上位装置により、制御側の第１ＣＰＵモジュールと待機側の第２ＣＰＵモジュール
の実行権を切り替えて、前記第１ＣＰＵモジュールを待機側に設定し、かつ、前記第２Ｃ
ＰＵモジュールを制御側に設定するステップと、
前記待機側の第１ＣＰＵモジュールに設けられて、前記フィールド機器の入出力情報を
管理する第１のＩＯコプロセッサを駆動する入出力管理プログラムを上位装置からの要求
により更新するステップとを有することを特徴とする二重化制御方法。
【請求項２】
前記上位装置により、前記第１及び第２のＩＯコプロセッサの入出力管理プログラムを
更新後、２つのＣＰＵモジュールの実行権を切り替えて系の状態を元に戻すことを特徴と
する請求項１に記載の二重化制御方法。
【請求項３】
２つのＣＰＵモジュールの一方が制御側としてフィールド機器を制御し、他方が待機側
として待機する二重化制御システムにおいて、
各ＣＰＵモジュールは、
制御バスと接続され、上位装置と通信する制御バスインターフェースと、
前記フィールド機器に対する制御演算を行うメインプロセッサと、
前記フィールド機器の入出力情報を管理するＩＯコプロセッサと、を備え、
前記ＩＯコプロセッサは、前記制御バスインターフェースを介して前記上位装置と通信
し、前記メインプロセッサとは独立して制御され、
待機側ＣＰＵモジュールのメインプロセッサは、制御側ＣＰＵモジュールのＩＯコプロ
セッサの入出情報を用いて制御演算を行うことを特徴とする二重化制御システム。
【請求項４】
前記上位装置は、
ＣＰＵモジュールの実行権を切り替えて前記ＩＯコプロセッサの入出力管理プログラム
を更新後、ＣＰＵモジュールの系の状態を元に戻すことを特徴とする請求項３に記載の二
重化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントなどで生じる気体、液体などを測量するフィールド機器の入出力処
理を制御する二重化制御方法及び二重化制御システムに関し、特に制御ステーション（Ｆ
ＣＳ）のファームウェアの更新に関するものである。
【背景技術】
【０００２】
従来、気体、液体、蒸気などを測量するフィールド機器には、制御ステーション（ＦＣ
Ｓ）が接続されている場合が多い。制御ステーションは、各種のフィールド機器から出力
される測量値を入力して、該測量値に基づいてフィールド機器を制御する。
【０００３】
例えば、制御ステーションは、流量計から流体の流量を示す測量値を入力し、該測量値
が適正か否かを判定する。この測量値が適正でない場合、自動バルブを開閉するための操
作量を求め、この操作量に基づいて自動バルブを開閉制御する。
【０００４】
図８は、従来例に係るＦＣＳメンテナンスシステム２００の構成例を示す図である。図
８に示すＦＣＳメンテナンスシステム２００は、ＦＣＳ５１及び端末１４０を備えている
。ＦＣＳ５１は、流量計８や自動バルブ９などのフィールド機器に接続され、該フィール
ド機器から各種出力信号を入力して演算処理を行い、演算結果に基づいてフィールド機器
を制御する。
【０００５】
ＦＣＳ５１は２重化され、ControlモードのＣＰＵモジュール１０Ａ及びStandbyモード
のＣＰＵモジュール１０Ｂを備えている。ＣＰＵモジュール１０Ａと１０Ｂは同一の構成
であり、ＣＰＵバス１３により接続されている。定常状態では、ControlモードのＣＰＵ
モジュール１０Ａが動作し、StandbyモードのＣＰＵモジュール１０Ｂが待機する。ＣＰ
Ｕモジュール１０Ａは、ＣＰＵバス１３を経由してＣＰＵモジュール１０Ｂにフィールド
機器からのＩＯイメージデータを出力して等値化する。
【０００６】
ＣＰＵモジュール１０Ａは、制御バス用ＩＦ２０Ａ、メインプロセッサ３Ａ、共有メモ
リ４Ａ、ＩＯコプロセッサ５０Ａ、ＩＯコプロセッサ専用メモリ６０Ａ及びＣＰＵ用ＩＦ
７Ａを備えている。
【０００７】
ＩＯコプロセッサ専用メモリ６０Ａには、ＩＯコプロセッサ５０Ａを制御するためのＩ
Ｏファームウェア６００が保存され、ＩＯファームウェア６００を実行するための作業領
域６１０を有している。ＩＯコプロセッサ５０Ａは、ＩＯコプロセッサ専用メモリ６０Ａ
に保存されたＩＯファームウェア６００に基づいて駆動する。
【０００８】
StandbyモードのＣＰＵモジュール１０Ｂは、ControlモードのＣＰＵモジュール１０Ａ
と同一構成であり、定常状態では待機する。ＣＰＵモジュール１０Ｂは、制御バス用ＩＦ
２０Ｂ、メインプロセッサ３Ｂ、共有メモリ４Ｂ、ＩＯコプロセッサ５０Ｂ、ＩＯコプロ
セッサ専用メモリ６０Ｂ及びＣＰＵ用ＩＦ７Ｂを備えている。
【０００９】
ＩＯコプロセッサ専用メモリ６０Ｂには、ＩＯコプロセッサ５０Ｂを制御するためのＩ
Ｏファームウェア６２０が保存され、ＩＯファームウェア６２０を実行するための作業領
域６３０を有している。ＩＯコプロセッサ５０Ｂは、ＩＯコプロセッサ専用メモリ６０Ｂ
に保存されたＩＯファームウェア６２０に基づいて駆動する。
【００１０】
この例で、ＩＯコプロセッサ５０Ｂは、流量計８や自動バルブ９などのフィールド機器
に接続されている。ＩＯコプロセッサ５０Ｂは、Standbyモードでは流量計８から流体の
流量を示す出力信号を入力せず、入出力処理の実行権が移行した場合のみ流量計８から出
力信号を入力する。
【００１１】
続いて、ファームウェア６００，６２０を更新する場合における、ＦＣＳメンテナンス
システム２００の動作例について説明する。図９Ａに示すＦＣＳ５１は定常状態であり、
ControlモードのＣＰＵモジュール１０Ａがフィールド機器の入出力処理を実行して、Sta
ndbyモードのＣＰＵモジュール１０Ｂが待機動作している。この例で、ＩＯコプロセッサ
５０Ａは、フィールド機器からInputデータを入力してデータベース４２に該Inputデータ
（ＩＯイメージデータ）を書き込む。該データベース４２に書き込まれたInputデータは
、StandbyモードのＣＰＵ用ＩＦ７Ｂに出力される。ＣＰＵ用ＩＦ７Ｂは、該Inputデータ
をデータベース４５に書き込む（Equalize；等値化処理）。
【００１２】
メインプロセッサ３Ａは、データベース４２のInputデータに基づいて制御演算を行っ
て演算結果をデータベース４２に保存する。ＩＯコプロセッサ５０Ａは、データベース４
２を参照してＩＯイメージデータ（演算結果）を取得し、取得したＩＯイメージデータに
基づいてOutputデータを生成してフィールド機器を制御する。ＩＯコプロセッサ５０Ａ上
で動作するファームウェア６００は、フィールド機器の情報を入出力するという重要な役
割を担っている。ファームウェア６００，６２０に障害が確認された場合に即座にファー
ムウェア６００，６２０を更新できると非常に便利である。
【００１３】
図９Ｂは、StandbyモードのＣＰＵモジュール１０Ｂの停止を示す図である。この例で
、作業者がＣＰＵモジュール１０Ｂの停止ボタンを押下する。このとき、メインプロセッ
サ３Ｂが停止すると共にデータベース４５へのEqualize処理も停止する。
【００１４】
図１０Ａは、ＩＯコプロセッサ５０ＢのＩＯファームウェア６２０の更新を示す図であ
る。この例で、古いＩＯファームウェア６２０を新しいＩＯファームウェア６２０に更新
する場合、先ず、既設のＣＰＵモジュール１０Ｂを一旦取り外すか、又はＣＰＵモジュー
ル１０Ｂを停止させる。次に、専用の機器を用いてＩＯコプロセッサ専用メモリ６０Ｂの
ＩＯファームウェア６２０を更新する。
【００１５】
図１０Ｂは、更新されたＩＯコプロセッサ５０Ｂの新しいＩＯファームウェア６２０の
起動を示す図である。この例で、作業者は、ＣＰＵモジュール１０Ｂの起動ボタンを押下
する。
【００１６】
図１１Ａは、ＣＰＵモジュール１０ＢのＡＰＤＣ（All Program and Data Copy）処理
を示す図である。ＡＰＤＣとは、ＣＰＵ用ＩＦ７Ｂが、Controlモードの共有メモリ４Ａ
に保存された制御演算プログラム４０と該制御演算プログラム４０で使用するデータとデ
ータベース４２のＩＯイメージデータを、Standbyモードの共有メモリ４Ｂにコピーする
処理をいう。
【００１７】
このＡＰＤＣ処理中は、ControlモードのＣＰＵモジュール１０Ａは単独で動作してい
る。この場合、何らかの障害が発生して該ＣＰＵモジュール１０Ａが停止すると、ＦＣＳ
５１が機能しなくなり、フィールド機器の制御不能となる。このように、２重化されずに
単独でＦＣＳ５１が動作する危険予備状態のことを片側運転状態と称する。
【００１８】
図１１Ａに示すＡＰＤＣ処理は片側運転状態であり、ＡＰＤＣ処理には、比較的長い時
間（数１０分間）を必要とする。このため、ＦＣＳ５１が２重化されずに単独で動作する
危険予備状態が長く続くこととなる。
【００１９】
図１１Ｂは、ＡＰＤＣ処理の完了を示す図である。この例で、図１１Ｂに示すＦＣＳ５
１は定常状態であり、ControlモードのＣＰＵモジュール１０Ａがフィールド機器から入
出力処理を実行して、StandbyモードのＣＰＵモジュール１０Ｂが待機動作している。こ
の状態では、ＩＯコプロセッサ５０Ｂは新しいＩＯファームウェア６２０で動作し、ＩＯ
コプロセッサ５０Ａは古いＩＯファームウェア６００で動作している。続いて、この古い
ＩＯファームウェア６００を更新する。
【００２０】
図１２Ａは、ControlモードのＣＰＵモジュール１０Ａの停止を示す図である。この例
で、作業者がＣＰＵモジュール１０Ａの停止ボタンを押下する。このとき、メインプロセ
ッサ３Ａが停止すると共にデータベース４５へのEqualize処理も停止する。この場合、Ｉ
Ｏコプロセッサ５０Ａは、毎秒行われる入出力処理の空き時間に切替イベントを発行して
、ＩＯコプロセッサ５０ＢにInput，Output処理の実行権を譲る。
【００２１】
図１２Ｂは、ＩＯコプロセッサ５０ＡのＩＯファームウェア６００の更新を示す図であ
る。この例で、古いＩＯファームウェア６００を新しいＩＯファームウェア６００に更新
する場合、先ず、既設のＣＰＵモジュール１０Ａを一旦取り外すか、又はＣＰＵモジュー
ル１０Ａを停止させる。次に、専用の機器を用いてＩＯコプロセッサ専用メモリ６０Ａの
ＩＯファームウェア６００を更新する。
【００２２】
図１３Ａは、更新されたＩＯコプロセッサ５０Ａの新しいＩＯファームウェア６００の
起動を示す図である。この例で、作業者は、ＣＰＵモジュール１０Ａの起動ボタンを押下
する。
【００２３】
図１３Ｂは、ＣＰＵモジュール１０ＡのＡＰＤＣ処理を示す図である。この例で、ＣＰ
Ｕ用ＩＦ７Ａが、Controlモードの共有メモリ４Ｂに保存された制御演算プログラム４３
と該制御演算プログラム４３で使用するデータとデータベース４５のＩＯイメージデータ
を、Standbyモードの共有メモリ４Ａにコピーする。
【００２４】
このＡＰＤＣ処理中は、ControlモードのＣＰＵモジュール１０Ｂは単独で動作してい
る。図１３Ｂに示すＡＰＤＣ処理は片側運転状態であり、ＡＰＤＣ処理には、比較的長い
時間（数１０分間）を必要とする。このため、ＦＣＳ５１が２重化されずに単独で動作す
る危険予備状態が長く続くこととなる。
【００２５】
図１４は、ＩＯコプロセッサ５０Ａの新しいＩＯファームウェア６００の更新完了を示
す図である。この例で、図１４に示すＦＣＳ５１は定常状態であり、ControlモードのＣ
ＰＵモジュール１０Ｂがフィールド機器から入出力処理を実行して、StandbyモードのＣ
ＰＵモジュール１０Ａが待機動作している。この場合、図９Ａに示したＦＣＳ５１の定常
状態と制御ＣＰＵの系が入れ替わっている。すなわち、ＣＰＵモジュール１０ＢがContro
lモードで実行し、ＣＰＵモジュール１０ＡがStandbyモードで待機状態となっている。制
御ＣＰＵの系が入れ替わることは、動作上は問題ないが、作業者の心理的に制御ＣＰＵを
片側に固定したいとの思惑がある。
【００２６】
このような従来例に関連して特許文献１には、入出力モジュールのオンラインメンテナ
ンス方法が開示されている。該メンテナンス方法によれば、入出力の変換操作を定義した
構成情報データをオンラインで更新する技術が開示されている。これにより、入出力モジ
ュールの基本的な制御を停止することなく入出力モジュールの構成を変更できるようにな
る。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２００１−１０９７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
ところで、図８〜図１４に示した従来のＦＣＳメンテナンスシステム２００によれば、
ＩＯファームウェア６００を更新する場合に、ＣＰＵモジュール１０Ａを停止させるか、
又は該ＣＰＵモジュール１０Ａを取り外す必要があった。同様にＩＯファームウェア６２
０を更新する場合に、ＣＰＵモジュール１０Ｂを停止させるか、又は該ＣＰＵモジュール
１０Ｂを取り外す必要があった。このため、上述したＡＰＤＣ処理が必要になり、２重化
されずに単独でＦＣＳ５１が動作する危険予備状態である片側運転状態の時間が長くなる
問題がある。また、ファームウェア６００，６２０の更新には、専用の機器が必要であっ
た。なお、特許文献１のオンラインメンテナンス方法では、ファームウェアを更新する場
合には、入出力モジュールを一旦停止する必要があった。
【００２９】
そこで、本発明は従来例に係る課題を解決したものであって、フィールド機器の入出力
情報を管理するＩＯコプロセッサを駆動する入出力管理プログラムを更新する場合に、Ｃ
ＰＵモジュールの片側運転時間を短縮できるようにした二重化制御方法及び二重化制御シ
ステムを提供することを目的とする。
【課題を解決するための手段】
【００３０】
上述した課題を解決するために、本発明に係る二重化制御方法は、２つのＣＰＵモジュ
ールの一方が制御側としてフィールド機器を制御し、他方が待機側として待機する二重化
制御方法において、待機側の第２ＣＰＵモジュールに設けられて、前記フィールド機器の
入出力情報を管理する第２のＩＯコプロセッサを駆動する入出力管理プログラムを上位装
置からの要求により更新するステップと、前記上位装置により、制御側の第１ＣＰＵモジ
ュールと待機側の第２ＣＰＵモジュールの実行権を切り替えて、前記第１ＣＰＵモジュー
ルを待機側に設定し、かつ、前記第２ＣＰＵモジュールを制御側に設定するステップと、
前記待機側の第１ＣＰＵモジュールに設けられて、前記フィールド機器の入出力情報を管
理する第１のＩＯコプロセッサを駆動する入出力管理プログラムを上位装置からの要求に
より更新するステップとを有するものである。これにより、入出力管理プログラムを更新
する場合に、オンラインで更新できるのでＣＰＵモジュールを停止したり取り外したりす
る必要がなくなる。従って、上述したＡＰＤＣ処理が不要になり、２重化されずに単独で
ＣＰＵステーションが動作する危険な片側運転状態の時間を短縮できる。
【００３１】
上述した課題を解決するために、本発明に係る二重化制御システムは、２つのＣＰＵモ
ジュールの一方が制御側としてフィールド機器を制御し、他方が待機側として待機する二
重化制御システムにおいて、各ＣＰＵモジュールは、制御バスと接続され、上位装置と通
信する制御バスインターフェースと、前記フィールド機器に対する制御演算を行うメイン
プロセッサと、前記フィールド機器の入出力情報を管理するＩＯコプロセッサと、を備え
、前記ＩＯコプロセッサは、前記制御バスインターフェースを介して前記上位装置と通信
し、前記メインプロセッサとは独立して制御され、待機側ＣＰＵモジュールのメインプロ
セッサは、制御側ＣＰＵモジュールのＩＯコプロセッサの入出情報を用いて制御演算を行
うものである。
【００３２】
例えば、前記上位装置は、２つのＣＰＵモジュールの実行権を切り替えて前記ＩＯコプ
ロセッサの各々の入出力管理プログラムを更新後、２つのＣＰＵモジュールの系の状態を
元に戻す。これにより、入出力管理プログラムを更新する前の系に、ＣＰＵモジュールの
制御側と待機側を戻すことができる。
【発明の効果】
【００３３】
本発明に係る二重化制御方法及び二重化制御システムによれば、上位装置により、待機
側の第２のＩＯコプロセッサを駆動する入出力管理プログラムを更新し、制御側と待機側
の系の切り替え後、待機側の第１のＩＯコプロセッサを駆動する入出力管理プログラムを
更新する。
【００３４】
これにより、入出力管理プログラムを更新する場合に、オンラインで更新できるのでＣ
ＰＵモジュールを停止したり取り外したりする必要がなくなる。従って、制御側のデータ
を待機側のＣＰＵモジュールにコピーするＡＰＤＣ処理が不要になり、２重化されずに単
独で制御ステーションが動作する危険な片側運転状態の時間を短縮できる。また、入出力
管理プログラムを更新するための専用の機器を不要にできる。
【図面の簡単な説明】
【００３５】
【図１】本発明に係るＦＣＳメンテナンスシステム１００の構成例を示す図である。
【図２】Ａは、ＦＣＳ５０の定常状態を示す図であり、Ｂは、StandbyモードのＩＯコプロセッサ５Ｂの停止を示す図である。
【図３】Ａは、ＩＯコプロセッサ５ＢのＩＯファームウェア６２の更新を示す図であり、Ｂは、更新されたＩＯコプロセッサ５Ｂの新しいＩＯファームウェア６２の起動を示す図である。
【図４】Ａは、ＩＯコプロセッサ５Ｂの新しいＩＯファームウェア６２の更新完了を示す図であり、Ｂは、ＩＯコプロセッサ５Ａと５Ｂの系を切り替える処理を示す図である。
【図５】Ａは、StandbyモードのＩＯコプロセッサ５Ａの停止を示す図であり、Ｂは、ＩＯコプロセッサ５ＡのＩＯファームウェア６０の更新を示す図である。
【図６】Ａは、更新されたＩＯコプロセッサ５Ａの新しいＩＯファームウェア６０の起動を示す図であり、Ｂは、ＩＯコプロセッサ５Ａと５Ｂの系を切り替える処理を示す図である。
【図７】ＩＯコプロセッサ５Ａの新しいＩＯファームウェア６０の更新完了を示す図である。
【図８】従来例に係るＦＣＳメンテナンスシステム２００の構成例を示す図である。
【図９】Ａは、ＦＣＳ５１の定常状態を示す図であり、Ｂは、StandbyモードのＣＰＵモジュール１０Ｂの停止を示す図である。
【図１０】Ａは、ＩＯコプロセッサ５０ＢのＩＯファームウェア６２０の更新を示す図であり、Ｂは、更新されたＩＯコプロセッサ５０Ｂの新しいＩＯファームウェア６２０の起動を示す図である。
【図１１】Ａは、ＣＰＵモジュール１０ＢへのＡＰＤＣ処理を示す図であり、Ｂは、ＡＰＤＣ処理の完了を示す図である。
【図１２】Ａは、ControlモードのＣＰＵモジュール１０Ａの停止を示す図であり、Ｂは、ＩＯコプロセッサ５０ＡのＩＯファームウェア６００の更新を示す図である。
【図１３】Ａは、更新されたＩＯコプロセッサ５０Ａの新しいＩＯファームウェア６００の起動を示す図であり、Ｂは、ＣＰＵモジュール１０ＡへのＡＰＤＣ処理を示す図である。
【図１４】ＩＯコプロセッサ５０Ａの新しいＩＯファームウェア６００の更新完了を示す図である。
【発明を実施するための形態】
【００３６】
続いて図面を参照しながら、発明を実施するための最良の形態について説明する。図１
は、本発明に係るＦＣＳメンテナンスシステム１００の構成例を示す図である。図１に示
すＦＣＳメンテナンスシステム１００は、上位装置の一例である端末１４により、ＩＯコ
プロセッサ５Ａ，５ＢのＩＯファームウェア６０，６２を更新することにより、ＩＯファ
ームウェア６０，６２をオンラインで更新できるようにすると共に、２重化されずに単独
でＦＣＳ５０が動作する危険な片側運転状態の時間を短縮できるようにするものである。
【００３７】
図１に示すＦＣＳメンテナンスシステム１００は二重化制御システムの一例であり、Ｆ
ＣＳ（field control station；制御ステーション）５０及び端末１４を備えている。Ｆ
ＣＳ５０は、流量計８や自動バルブ９などのフィールド機器に接続され、該フィールド機
器から各種出力信号を取得して演算処理を行い、演算結果に基づいてフィールド機器を制
御する。
【００３８】
端末１４はＨＩＳ（Human Interface Station）として機能し、制御バス１２を介して
ＦＣＳ５０に接続されている。端末１４は、制御コマンドをＦＣＳ５０に送信したり、Ｆ
ＣＳ５０から設定情報を入力したりする。例えば、端末１４は、ＦＣＳ５０に対してＩＯ
ファームウェアの更新要求や、動作するＩＯコプロセッサ５Ａ，５Ｂの切り替え要求を送
信する。ここで、ファームウェアとは、ハードウェアの基本的な制御を行なうために機器
に組み込まれたソフトウェアであり、機器に固定的に搭載される。
【００３９】
ＦＣＳ５０は２重化され、Controlモード（実行側）のＣＰＵモジュール１Ａ及びStand
byモード（待機側）のＣＰＵモジュール１Ｂを備えている。ＣＰＵ（Central Processing
Unit）モジュール１Ａと１Ｂは同一の構成であり、ＣＰＵバス１３により接続されてい
る。定常状態では、ControlモードのＣＰＵモジュール１Ａが動作し、StandbyモードのＣ
ＰＵモジュール１Ｂが待機する。ＣＰＵモジュール１Ａは、ＣＰＵバス１３を経由してＣ
ＰＵモジュール１Ｂにフィールド機器からの入力データを出力して等値化する。
【００４０】
ＣＰＵモジュール１Ａは第１ＣＰＵモジュールの一例であり、制御バス用インタフェー
ス（制御バス用ＩＦ）２Ａ、メインプロセッサ３Ａ、共有メモリ４Ａ、ＩＯコプロセッサ
５Ａ、ＩＯコプロセッサ用メモリ６Ａ及びＣＰＵ用ＩＦ７Ａを備えている。共有メモリ４
Ａには、制御バス用ＩＦ２Ａ、メインプロセッサ３Ａ、ＩＯコプロセッサ５Ａ及びＣＰＵ
用ＩＦ７Ａが内部バス１５Ａを介して接続され、各プロセッサや各インタフェースが共有
メモリ４Ａを参照する。
【００４１】
制御バス用ＩＦ２Ａは、制御バス１２を介して端末１４に接続され、端末１４と情報を
やり取りする。例えば、制御バス用ＩＦ２Ａは、共有メモリ４Ａを参照してＦＣＳ５０の
設定情報を端末１４に送信する。また、制御バス用ＩＦ２Ａは、端末１４から送信される
コマンドを入力したり、端末１４からファームウェアを入力したりする。この例で、制御
バス用ＩＦ２Ａは、ＩＯコプロセッサ用メモリ６Ａに内部バス１１Ａを介して接続されて
いる。制御バス用ＩＦ２Ａは、通信経路Ｄ１を経由して、端末１４から入力したファーム
ウェア６０（入出力管理プログラムの一例）をＩＯコプロセッサ用メモリ６Ａに保存する
。これにより、ＩＯコプロセッサ用メモリ６ＡのＩＯファームウェア６０を更新すること
ができる。なお、通信経路Ｄ１は、制御バス１２及び内部バス１１Ａから構成されている
。
【００４２】
メインプロセッサ３Ａは、共有メモリ４Ａに接続されている。共有メモリ４Ａには、制
御演算プログラム４０が保存され、この制御演算プログラム４０を実行するための作業領
域４１やＩＯイメージデータを保存するためのデータベース４２を有している。メインプ
ロセッサ３Ａは、制御演算プログラム４０を使用して、データベース４２に保存されたＩ
Ｏイメージデータを演算する。
【００４３】
ＩＯコプロセッサ５Ａは第１のＩＯコプロセッサの一例であり、ＩＯコプロセッサ用メ
モリ６Ａに接続されている。ＩＯコプロセッサ用メモリ６Ａには、このＩＯコプロセッサ
５Ａを駆動するためのＩＯファームウェア６０が保存され、ＩＯファームウェア６０を実
行するための作業領域６１を有している。ＩＯコプロセッサ５Ａは、ＩＯコプロセッサ用
メモリ６Ａに保存されたＩＯファームウェア６０に基づいて駆動する。
【００４４】
この例で、ＩＯコプロセッサ５Ａは、フィールド機器の入出力情報を管理する。例えば
、ＩＯコプロセッサ５Ａは、流量計８や自動バルブ９などのフィールド機器に接続され、
流量計８から流体の流量を示す出力信号を入力し、該出力信号から流量値を求めて該流量
値を共有メモリ４Ａのデータベース４２に書き込む。メインプロセッサ３Ａは、データベ
ース４２に書き込まれたＩＯイメージデータ（流量値）を参照して、制御演算プログラム
４０に基づいて該流量値が適正か否かを判定する。メインプロセッサ３Ａは、該流量値が
適正でない場合、自動バルブ９を開閉するための操作量を求める制御演算を行って該操作
量をデータベース４２に書き込む。ＩＯコプロセッサ５Ａは、データベース４２を参照し
てＩＯイメージデータ（例えば自動バルブ９を開閉するための操作量）を取得する。ＩＯ
コプロセッサ５Ａは、取得した自動バルブ９を開閉するための操作量に基づいて、自動バ
ルブ９を開閉制御する。
【００４５】
ＣＰＵ用ＩＦ７Ａは、ＣＰＵバス１３を介してStandbyモードのＣＰＵモジュール１Ｂ
のＣＰＵ用ＩＦ７Ｂに接続されている。ＣＰＵ用ＩＦ７Ａは、このＣＰＵバス１３を介し
てＣＰＵ用ＩＦ７Ｂと通信する。例えば、ＣＰＵ用ＩＦ７Ａは、共有メモリ４Ａのデータ
ベース４２を参照して、該データベース４２に書き込まれたＩＯイメージデータ（例えば
流量値）を、ＣＰＵ用ＩＦ７Ｂに出力する。ＣＰＵ用ＩＦ７Ｂは、このＩＯイメージデー
タを入力して共有メモリ４Ｂのデータベース４５に書き込む。これにより、Controlモー
ドのＣＰＵモジュール１ＡとStandbyモードのＣＰＵモジュール１Ｂで、ＩＯイメージデ
ータを等値化できるようになる。
【００４６】
StandbyモードのＣＰＵモジュール１Ｂは第２ＣＰＵモジュールの一例であり、Control
モードのＣＰＵモジュール１Ａと同一構成であり、定常状態では待機する。ＣＰＵモジュ
ール１Ｂは、制御バス用ＩＦ２Ｂ、メインプロセッサ３Ｂ、共有メモリ４Ｂ、ＩＯコプロ
セッサ５Ｂ、ＩＯコプロセッサ用メモリ６Ｂ及びＣＰＵ用ＩＦ７Ｂを備えている。共有メ
モリ４Ｂには、制御バス用ＩＦ２Ｂ、メインプロセッサ３Ｂ、ＩＯコプロセッサ５Ｂ及び
ＣＰＵ用ＩＦ７Ｂが内部バス１５Ｂを介して接続され、各プロセッサや各インタフェース
が共有メモリ４Ｂを参照する。
【００４７】
制御バス用ＩＦ２Ｂは、端末１４と情報をやり取りする。制御バス用ＩＦ２Ｂは、制御
バス１２を介して端末１４に接続され、共有メモリ４Ｂを参照してＦＣＳ５０の設定情報
を端末１４に送信する。また、制御バス用ＩＦ２Ｂは、端末１４から送信されるコマンド
を入力したり、端末１４からファームウェアを入力したりする。この例で、制御バス用Ｉ
Ｆ２Ｂは、ＩＯコプロセッサ用メモリ６Ｂに内部バス１１Ｂを介して接続されている。制
御バス用ＩＦ２Ｂは、端末１４から入力したファームウェア６２（入出力管理プログラム
）をＩＯコプロセッサ用メモリ６Ｂに保存する。これにより、ＩＯコプロセッサ用メモリ
６ＢのＩＯファームウェア６２を更新することができる。
【００４８】
メインプロセッサ３Ｂは、共有メモリ４Ｂに接続されている。共有メモリ４Ｂには、制
御演算プログラム４３が保存され、この制御演算プログラム４３を実行するための作業領
域４４やＩＯイメージデータを保存するためのデータベース４５を有している。メインプ
ロセッサ３Ｂは、制御演算プログラム４３を使用して、データベース４５に保存されたＩ
Ｏイメージデータを演算する。
【００４９】
ＩＯコプロセッサ５Ｂは第２のＩＯコプロセッサの一例であり、ＩＯコプロセッサ用メ
モリ６Ｂに接続されている。ＩＯコプロセッサ用メモリ６Ｂには、このＩＯコプロセッサ
５Ｂを駆動するためのＩＯファームウェア６２が保存され、ＩＯファームウェア６２を実
行するための作業領域６３を有している。ＩＯコプロセッサ５Ｂは、ＩＯコプロセッサ用
メモリ６Ｂに保存されたＩＯファームウェア６２に基づいて駆動する。
【００５０】
この例で、ＩＯコプロセッサ５Ｂは、流量計８や自動バルブ９などのフィールド機器に
接続され、フィールド機器の入出力情報を管理する。この例で、ＩＯコプロセッサ５Ｂは
、Standbyモードでは流量計８から流体の流量を示す出力信号を入力せず、Controlモード
に移行した場合のみ流量計８から出力信号を入力する。上述したようにStandbyモードの
おけるＣＰＵ用ＩＦ７Ｂが、ControlモードのＣＰＵ用ＩＦ７ＡからＣＰＵバス１３を経
由してＩＯイメージデータ（例えば流量値）を入力して、該ＩＯイメージデータをデータ
ベース４５に書き込む。
【００５１】
メインプロセッサ３Ｂは、データベース４５に書き込まれたＩＯイメージデータ（流量
値）を参照して、制御演算プログラム４３に基づいて該流量値が適正か否かを判定する。
メインプロセッサ３Ｂは、該流量値が適正でない場合、自動バルブ９を開閉するための操
作量を求める制御演算を行って該操作量をデータベース４５に書き込む。
【００５２】
Standbyモードでは、ＩＯコプロセッサ５Ｂはデータベース４５を参照しない。Control
モードに移行した場合のみ、ＩＯコプロセッサ５Ｂは、データベース４５を参照してＩＯ
イメージデータ（例えば自動バルブ９を開閉するための操作量）を取得する。Controlモ
ードの場合、ＩＯコプロセッサ５Ｂは、取得した自動バルブ９を開閉するための操作量に
基づいて、自動バルブ９を開閉制御する。
【００５３】
ＣＰＵ用ＩＦ７Ｂは、ＣＰＵバス１３を介してControlモードのＣＰＵモジュール１Ａ
のＣＰＵ用ＩＦ７Ａに接続されている。ＣＰＵ用ＩＦ７Ｂは、このＣＰＵバス１３を介し
てＣＰＵ用ＩＦ７Ａと通信する。
【００５４】
続いて、ＦＣＳメンテナンスシステム１００の動作例について説明する。図２〜図７は
、ＦＣＳメンテナンスシステム１００の動作例を示す概念図である。図２Ａに示すＦＣＳ
５０は定常状態であり、ControlモードのＣＰＵモジュール１Ａがフィールド機器から入
出力処理を実行して、StandbyモードのＣＰＵモジュール１Ｂが待機動作している。この
例で、ＣＰＵモジュール１ＡのＩＯコプロセッサ５Ａは、フィールド機器からInputデー
タを入力してデータベース４２に該Inputデータを書き込む。図１に示したＣＰＵ用ＩＦ
７Ａは、データベース４２を参照して、該データベース４２に書き込まれたInputデータ
（ＩＯイメージデータ）を、StandbyモードのＣＰＵ用ＩＦ７Ｂに出力する。ＣＰＵ用Ｉ
Ｆ７Ｂは、このInputデータをデータベース４５に書き込む（Equalize処理）。
【００５５】
メインプロセッサ３Ａは、Inputデータに基づいて制御演算を行って演算結果をデータ
ベース４２に書き込む。同時に、メインプロセッサ３Ｂも、Inputデータに基づいて制御
演算を行って演算結果（ＩＯイメージデータ）をデータベース４５に書き込む。ＩＯコプ
ロセッサ５Ａは、データベース４２を参照してＩＯイメージデータを取得し、取得したＩ
Ｏイメージデータに基づいてOutputデータを生成してフィールド機器を制御する。
【００５６】
図２Ｂは、StandbyモードのＩＯコプロセッサ５Ｂの停止を示す図である。図２Ｂに示
す端末１４からＩＯファームウェア６２を停止させるコマンドをＩＯコプロセッサ５Ｂに
送信する。例えば、図１に示した制御バス用ＩＦ２Ｂは、端末１４からＩＯファームウェ
ア６２を停止させるコマンドを受け付け、該コマンドの情報をＩＯコプロセッサ用メモリ
６Ｂに書き込む。ＩＯコプロセッサ５Ｂは、ＩＯコプロセッサ用メモリ６Ｂのコマンド情
報を参照して、起動中のＩＯファームウェア６２のプロセスを停止する。
【００５７】
このとき、メインプロセッサ３Ｂ上で動作する制御演算プログラム４３は停止せず、ま
た、上述したＣＰＵ用ＩＦ７ＢによるEqualize処理も停止しない。従来では、図９Ｂで説
明したように、ＣＰＵモジュール１０Ｂ全体を停止していたが、本発明に係る実施形態で
は、ＩＯコプロセッサ５Ｂで起動していたＩＯファームウェア６２のプロセスのみを停止
する。これにより、図３Ｂに示すＩＯコプロセッサ５Ｂのリスタート後、ＡＰＤＣ処理を
省略できるようになる。従って、ＦＣＳ５０の片側運転時間を短縮できるので、ＦＣＳ５
０の危険な状態を少なくできる。
【００５８】
図３Ａは、ＩＯコプロセッサ５ＢのＩＯファームウェア６２の更新を示す図である。こ
の例で、端末１４からＩＯコプロセッサ用メモリ６Ｂに通信経路Ｄ２を経由して新しいＩ
Ｏファームウェア６２をアップロードして更新する。例えば、図１の制御バス用ＩＦ２Ｂ
は、端末１４からアップロードされたＩＯファームウェア６２を受け取り、この新しいＩ
Ｏファームウェア６２をＩＯコプロセッサ用メモリ６Ｂに保存する。これにより、ＩＯコ
プロセッサ用メモリ６ＢのＩＯファームウェア６２を更新することができる。従って、従
来技術で必要であったファームウェア更新専用機器が不要となる。また、上述の通信経路
Ｄ２を経由してオンラインでＩＯファームウェア６２の更新を行うので、従来技術で行わ
れていたＣＰＵモジュール１Ｂの取り外しも不要となる。
【００５９】
図３Ｂは、更新されたＩＯコプロセッサ５Ｂの新しいＩＯファームウェア６２の起動を
示す図である。この例で、端末１４から新しいＩＯファームウェア６２を起動させるコマ
ンドをＩＯコプロセッサ５Ｂに送信する。ＩＯコプロセッサ５Ｂは、該コマンドを入力後
、ＩＯコプロセッサ用メモリ６Ｂに保存された新しいＩＯファームウェア６２を起動する
。なお、図２Ｂに示したＩＯコプロセッサ５Ｂの停止処理から、図３Ｂに示したＩＯファ
ームウェア６２の起動までは、ＣＰＵモジュール１Ａの片側運転状態となる。
【００６０】
図４Ａは、ＩＯコプロセッサ５Ｂの新しいＩＯファームウェア６２の更新完了を示す図
である。この例で、図４Ａに示すＦＣＳ５０は定常状態であり、ControlモードのＣＰＵ
モジュール１Ａがフィールド機器から入出力処理を実行して、StandbyモードのＣＰＵモ
ジュール１Ｂが待機動作している。この状態では、ＩＯコプロセッサ５Ｂは新しいＩＯフ
ァームウェア６２で動作し、ＩＯコプロセッサ５Ａは古いＩＯファームウェア６０で動作
している。続いて、この古いＩＯファームウェア６０を更新する。
【００６１】
図４Ｂは、ＩＯコプロセッサ５Ａと５Ｂの系を切り替える処理を示す図である。この例
で、ControlモードのＣＰＵモジュール１ＡとStandbyモードのＣＰＵモジュール１Ｂの実
行権を切り替えて、ＣＰＵモジュール１ＡをStandbyモードに設定し、ＣＰＵモジュール
１ＢをControlモードに設定する。例えば、端末１４から切替リクエストのコマンドをＩ
Ｏコプロセッサ５Ａと５Ｂに送信する。この切替リクエストを受信したＩＯコプロセッサ
５Ａは、毎秒行われる入出力処理の空き時間に切替イベントを発行して、ＩＯコプロセッ
サ５ＢにInput，Output処理の実行権を譲る。
【００６２】
この実行権の切替処理は、短時間（数msec）で処理可能である。従来技術では、図１１
Ａに示したようにＡＰＤＣ処理が行われて、数１０分の時間を要していた。このように、
本発明では、ＡＰＤＣ処理が不要なために片側運転時間が大幅に短縮できることが分かる
。
【００６３】
図５Ａは、StandbyモードのＩＯコプロセッサ５Ａの停止を示す図である。この例では
、ＩＯコプロセッサ５ＢにInput，Output処理の実行権が移行して、フィールド機器の入
出力処理をコプロセッサ５Ｂが実施している。例えば、ＩＯコプロセッサ５Ｂは、フィー
ルド機器からInputデータを入力してデータベース４５に該Inputデータを書き込む。図１
に示したＣＰＵ用ＩＦ７Ｂは、データベース４５を参照して、該データベース４５に書き
込まれたInputデータ（ＩＯイメージデータ）を、StandbyモードのＣＰＵ用ＩＦ７Ａに出
力する。ＣＰＵ用ＩＦ７Ａは、このInputデータをデータベース４２に書き込む（Equaliz
e処理）。このように、実行権の移行により、Equalize処理が、ControlモードのＣＰＵモ
ジュール１ＢからStandbyモードのＣＰＵモジュール１Ａに対して行われている。
【００６４】
図５Ａに示すコプロセッサ５Ａを停止させる場合、端末１４からＩＯファームウェア６
０を停止させるコマンドをＩＯコプロセッサ５Ａに送信する。これにより、ＩＯコプロセ
ッサ５Ａにおいて起動していたＩＯファームウェア６０のプロセスが停止する。このとき
、メインプロセッサ３Ａ上で動作する制御演算プログラム４０は停止せず、また、ＣＰＵ
用ＩＦ７ＡによるEqualize処理も停止しない。
【００６５】
図５Ｂは、ＩＯコプロセッサ５ＡのＩＯファームウェア６０の更新を示す図である。こ
の例で、端末１４からＩＯコプロセッサ用メモリ６Ａに通信経路Ｄ１を経由して新しいＩ
Ｏファームウェア６０をアップロードして更新する。例えば、図１の制御バス用ＩＦ２Ａ
は、端末１４からアップロードされたＩＯファームウェア６０を受け取り、この新しいＩ
Ｏファームウェア６０をＩＯコプロセッサ用メモリ６Ａに保存する。これにより、ＩＯコ
プロセッサ用メモリ６ＡのＩＯファームウェア６０を更新することができる。従って、従
来技術で必要であったファームウェア更新専用機器が不要となる。また、上述の通信経路
Ｄ１を経由してオンラインでＩＯファームウェア６０の更新を行うので、従来技術で行わ
れていたＣＰＵモジュール１Ａの停止や取り外しも不要となる。
【００６６】
図６Ａは、更新されたＩＯコプロセッサ５Ａの新しいＩＯファームウェア６０の起動を
示す図である。この例で、端末１４から新しいＩＯファームウェア６０を起動させるコマ
ンドをＩＯコプロセッサ５Ａに送信する。ＩＯコプロセッサ５Ａは、該コマンドを入力後
、ＩＯコプロセッサ用メモリ６Ａに保存された新しいＩＯファームウェア６０を起動する
。
【００６７】
図６Ｂは、ＩＯコプロセッサ５Ａと５Ｂの系を切り替える処理を示す図である。この例
で、端末１４は、StandbyモードのＣＰＵモジュール１ＡとControlモードのＣＰＵモジュ
ール１Ｂの実行権を切り替えて、ＣＰＵモジュール１ＡをControlモードに設定し、かつ
、ＣＰＵモジュール１ＢをStandbyモードに設定する。例えば、端末１４から切替リクエ
ストのコマンドをＩＯコプロセッサ５Ａと５Ｂに送信する。この切替リクエストを受信し
たＩＯコプロセッサ５Ｂは、毎秒行われる入出力処理の空き時間に切替イベントを発行し
て、ＩＯコプロセッサ５ＡにInput，Output処理の実行権を譲る。
【００６８】
図７は、ＩＯコプロセッサ５Ａの新しいＩＯファームウェア６０の更新完了を示す図で
ある。この例で、図７に示すＦＣＳ５０は定常状態であり、ControlモードのＣＰＵモジ
ュール１Ａがフィールド機器から入出力処理を実行して、StandbyモードのＣＰＵモジュ
ール１Ｂが待機動作している。このように、ＣＰＵモジュール１ＡがControlモードに設
定され、ＣＰＵモジュール１ＢがStandbyモードに設定されて、ＣＰＵモジュール１Ａと
ＣＰＵモジュール１Ｂの系がファームウェア更新前の状態に戻っている。
【００６９】
ＩＯコプロセッサ５Ａは新しいＩＯファームウェア６０で動作し、ＩＯコプロセッサ５
Ｂは新しいＩＯファームウェア６２で動作している。従って、ＩＯファームウェア６０，
６２の両方を更新したことになる。
【００７０】
このように、本発明に係るＦＣＳメンテナンスシステム１００によれば、端末１４によ
り、StandbyモードのＩＯコプロセッサ５Ｂを駆動するＩＯファームウェア６２を停止さ
せて該ＩＯファームウェア６２を更新し、系の切り替え後、StandbyモードのＩＯコプロ
セッサ５Ａを駆動するＩＯファームウェア６０を停止させて該ＩＯファームウェア６０を
更新する。
【００７１】
これにより、ＩＯファームウェア６０，６２を更新する場合に、オンラインで更新でき
るのでＣＰＵモジュール１Ａ，１Ｂの全体を停止したり取り外したりする必要がなくなる
。従って、上述したＡＰＤＣ処理が不要になり、２重化されずに単独でＣＰＵモジュール
１Ａ，１Ｂが動作する危険な片側運転状態の時間を短縮できる。また、ＩＯファームウェ
ア６０，６２を更新するための専用の機器を不要にできる。
【産業上の利用可能性】
【００７２】
本発明は、プラントなどで生じる気体、液体などを測量するフィールド機器の入出力処
理を制御する制御ステーションのファームウェアの更新処理に適用して極めて好適である
。
【符号の説明】
【００７３】
１Ａ・・・ＣＰＵモジュール（第１ＣＰＵモジュール）、１Ｂ・・・ＣＰＵモジュール
（第２ＣＰＵモジュール）、２Ａ・・・制御バス用ＩＦ、２Ｂ・・・制御バス用ＩＦ、３
Ａ・・・メインプロセッサ、３Ｂ・・・メインプロセッサ、５Ａ・・・ＩＯコプロセッサ
（第１のＩＯコプロセッサ）、５Ｂ・・・ＩＯコプロセッサ（第２のＩＯコプロセッサ）
、６Ａ・・・ＩＯコプロセサ用メモリ、６Ｂ・・ＩＯコプロセサ用メモリ、１４・・・端
末（上位装置）、５０・・・制御ステーション、１００・・・ＦＣＳメンテナンスシステ
ム（二重化制御システム）
【図１】
2010198274.tif 000003
【図２】
2010198274.tif 000004
【図３】
2010198274.tif 000005
【図４】
2010198274.tif 000006
【図５】
2010198274.tif 000007
【図６】
2010198274.tif 000008
【図７】
2010198274.tif 000009
【図８】
2010198274.tif 000010
【図９】
2010198274.tif 000011
【図１０】
2010198274.tif 000012
【図１１】
2010198274.tif 000013
【図１２】
2010198274.tif 000014
【図１３】
2010198274.tif 000015
【図１４】
2010198274.tif 000016