JP2010003081A - 演算処理装置多重化制御システム - Google Patents

演算処理装置多重化制御システム Download PDF

Info

Publication number
JP2010003081A
JP2010003081A JP2008160877A JP2008160877A JP2010003081A JP 2010003081 A JP2010003081 A JP 2010003081A JP 2008160877 A JP2008160877 A JP 2008160877A JP 2008160877 A JP2008160877 A JP 2008160877A JP 2010003081 A JP2010003081 A JP 2010003081A
Authority
JP
Japan
Prior art keywords
cpu
control
main
slave
processing unit
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.)
Granted
Application number
JP2008160877A
Other languages
English (en)
Other versions
JP5243113B2 (ja
Inventor
Toshiki Shimizu
俊樹 清水
Akira Bando
阪東  明
Yusaku Otsuka
祐策 大塚
Yasuhiro Kiyofuji
康弘 清藤
Eiji Kobayashi
英二 小林
Akihiro Onozuka
明弘 小野塚
Satoru Funaki
覚 船木
Masakazu Ishikawa
雅一 石川
Hideaki Masuko
英昭 益子
Yusuke Seki
裕介 関
Wataru Sasaki
亘 笹木
Naoya Masuko
直也 益子
Akihiro Nakano
晃博 中野
Makoto Ogura
小倉  真
Shoichi Ozawa
彰一 小澤
Yu Iwasaki
遊 岩崎
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.)
Hitachi Ltd
Hitachi Information and Control Systems Inc
Hitachi Information and Control Solutions Ltd
Original Assignee
Hitachi Ltd
Hitachi Information and Control Systems Inc
Hitachi Information and Control Solutions Ltd
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 Hitachi Ltd, Hitachi Information and Control Systems Inc, Hitachi Information and Control Solutions Ltd filed Critical Hitachi Ltd
Priority to JP2008160877A priority Critical patent/JP5243113B2/ja
Priority to CA2668835A priority patent/CA2668835C/en
Priority to US12/457,682 priority patent/US9208037B2/en
Priority to CN2009101503011A priority patent/CN101609421B/zh
Publication of JP2010003081A publication Critical patent/JP2010003081A/ja
Application granted granted Critical
Publication of JP5243113B2 publication Critical patent/JP5243113B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】従来は、主系のCPUのメモリデータ信号をスヌープ(Snoop)し、当該メモリデータ信号をパラレルバスを用いた一致化バスを介し従系のCPUが取得していたので、ノイズに弱いパラレルバスを用いていることから長距離伝送には不向きである点、スヌープ(Snoop)するデータが主系にメモリされるデータであるために従系が主系と同時に処理できずに遅れることによるシステムの応答速度が犠牲になってしまう点、さらに、プログラムの更新に際してはプラントを止めることなく行うための機能を別途備える必要があり、機能が複雑になる点等の問題点を有していた。
【解決手段】本発明では、2重化制御システムにおいて、待機系である従系のCPUが実行系である主系のCPUからスヌープ(Snoop)するデータを、主系のCPUが取得する制御対象からの制御情報とすること、さらに、有利的には従系の制御周期の位相を主系の制御周期の位相より進めること。
【選択図】図1

Description

本発明は、プラント制御等に用いる演算処理装置(以降CPUと略する)の多重化システムに関する技術である。
従来、制御用プラント等に用いる制御用CPUを2重あるいは多重構成にして、主系のCPUに障害が発生した場合にも停止することなく制御を行ったり、制御用プログラムの更新を行う際にはプラントを停止することなく待機系のCPUにプログラム更新を行うことによりシステムの可用性を高めることが行われており、その場合には、前記更新時、障害発生時に速やかに切り替わることが必要となる。
当該速やかな切り替えのためには、複数台のCPUは制御対象からの制御情報を同一態様で取得している必要があり、当該複数のCPUが同一態様で取得するための手段としては、各CPUが独立して制御対象からの制御情報を取得することや、2重化を構成するCPUの1方のCPUから他方のCPUがメモリデータをスヌープ(Snoop)することにより取得すること(特許文献1、特許文献2参照)等が従来より知られていた。
特開平9−305424号公報 特開平9−245008号公報
しかしながら、前記従来例においては、主系のCPUとそのメモリを結ぶラインからメモリデータ信号をスヌープ(Snoop)し、当該メモリデータ信号を、パラレルバスを用いた一致化バスを介して従系のCPUが取得するもので、ノイズに弱いパラレルバスを用いていることから長距離伝送には不向きである点、スヌープ(Snoop)するデータが主系にメモリされるデータであるために従系が主系と同時に処理できずに遅れることによるシステムの応答速度が犠牲になってしまう点、さらに、プログラムの更新に際してはプラントを止めることなく行うための機能を別途備える必要があり、機能が複雑になる点等の問題点を有していた。
本発明は、上記の課題を解決するためになされたものであり、主系と従系間が長距離であってもノイズに強く、しかも、システムの応答速度を犠牲にすることなく、プログラム更新時、障害発生時にスムーズに主系、従系が切り替わるCPU2重化制御システムの提供を目的とする。
さらに、プログラム更新を行うための機能を別途備えずに、プラントシステムを停止させることなくプラント制御用プログラムを更新できるCPU2重化制御システムの提供を目的とする。
本発明では、2重化制御システムにおいて、待機系である従系のCPUが実行系である主系のCPUからスヌープ(Snoop)するデータを、主系のCPUが取得する制御対象からの制御情報とすること、さらに、有利的には従系の制御周期の位相を主系の制御周期の位相より進めることを特徴とする。
本発明は、制御を実行している主系のCPUが取得する制御対象からの制御情報を、待機状態である従系のCPUがスヌープ(Snoop)することにより、CPU2重化制御システムにおいて必要な同期化(ホットスタンバイ)に際し、従系のCPUが新たに制御対象からの制御情報取得の為の処理を行うことなく、同期化(ホットスタンバイ)することができ、さらに、応答速度を犠牲にすることなくCPU2重化制御システムが可能であり、障害発生時に速やかに主系のCPU、従系のCPU切り替え処理が可能となる効果を有する。
また、従系のCPUを主系のCPUに対してその位相を進めておくことにより、従系のCPUは入力待機状態になっているのでより早い応答が可能となる効果を奏する。
また、主系のCPUと従系のCPUとの一致化バスがシリアル回線であるので、パラレルバスに比べてノイズに強く、長距離伝送が可能になる効果を有する。
また、主系のCPUが取得する制御対象からの制御情報を、待機状態である従系のCPUが同時にスヌープ(Snoop)しているので、プラントシステムを停止せずにプラント制御用プログラムの更新に際しては、プログラム更新を行うための別途機能を不要にする効果を有する。
次に、本発明を実施するための最良の形態(以下、「実施形態」という)について図面を参照して説明する。
図1はCPU2重化制御システムのブロック図、図2乃至図3はCPU2重化制御システムの通常時におけるタイムチャート、図4は主系のCPU障害発生における従系のCPUへの切替処理を示すタイムチャート、図5は従系のCPUが主系のCPUからスヌープ(Snoop)確認要求を受信できないときに従系のCPUへの切替処理を示すタイムチャートである。
図1における当該2重化制御システムは、CPU1、CPU1と同一のシステムであるCPU2、CPU1とCPU2に接続される入出力機器であるI/O3、I/O3につながる制御対象4、CPU1とCPU2及びI/O3を接続する通信路5、CPU1とCPU2を接続する通信路6等から構成される。
前記通信路5は、RS-485等に代表されるバスマスタが存在するバスI/O3に対してCPU1とCPU2とが通信可能であり、しかも2重化制御を行うCPU1とCPU2とが同期化する際に使用可能であり、さらに、前記バスマスタ権は、主系となるCPUが保持し、同期が要請されるI/03との通信に専ら使用される。
また、前記通信路6は、CPU1とCPU2間で通信可能な通信路であり、2重化制御を行うCPU1とCPU2で同期をあまり要請されない通信に専ら使用される、例えば、イーサネット(登録商標)に代表される通信路である。
次に、本発明におけるCPU2重化制御システムの処理について、CPU1を主系、CPU2を従系として説明する。
主系であるCPU1は実際に制御対象に対して制御指示を行うCPUであり、従系であるCPU2は制御対象への制御を行わず、主系のCPUに障害が発生した際に切り替わるために待機状態にあるCPUである。
なお、いずれのCPUを最初に主系とするかの決定は、本発明におけるCPUが同一の機能を有してCPU間において主系/従系の切り替えが可能であるから、予め何れかが主系のCPU、従系のCPUであると決定しても良いし、あるいは、いずれかのCPUが主系/従系であるかを決定せずに、例えば早く起動が完了したCPUを主系としても良い。
CPU2重化制御における通常制御の例を図2のタイムチャートを用いて説明する。
当該図において、点線で示した矢印は通信路6を介した通信を示し、実線で示した矢印は通信路5を介した通信を示す。
最初に主系となったCPU1は、CPU2に対し制御開始のためのコマンドである制御開始信号11を、通信路6を介して送信する。
制御開始信号11を受信した従系のCPU2は、制御開始確認応答12を主系のCPU1に対して送信すると、主系のCPU1、従系のCPU2はそれぞれ制御を開始する為の設定及び初期化の処理13を行う。
初期化処理13終了後、主系のCPU1及び従系のCPU2はそれぞれ自己が正常に動作しているかの自己診断14を行った結果を主系のCPU1から従系のCPU2に対し、自己診断結果15として通信路6を介して送信する。
CPU1からの診断結果15を受信したCPU2は、自己診断結果16を主系のCPU1に対して通信路6を介して送信する。
主系のCPU1の自己診断の結果、異常がある場合は従系のCPU2と主系、従系切り替え動作を行うこととなるが、この処理については後述する。
従系であるCPU2の自己診断14の結果、異常がある場合には従系のCPU2への切り替え動作を禁止し、また、各々の自己診断14の結果、お互いに問題がなければ、主系のCPU1は、従系のCPU2に対し同期化要求17を通信路5を介して送出する。
当該同期化要求17を受信した時点において従系のCPU2は、トリガをかけて同期化処理18を行い、従系のCPU2制御周期21を開始させると共に同期化確認応答19を主系のCPU1に対して、通信路5を用いて送出する。
当該同期化確認応答19を受信した時点で、主系のCPU1は同期処理20を行うと共にCPU1制御周期22を開始する。この処理により、主系のCPU1は自己の制御周期の位相が、従系のCPU2に対して相対的に遅れることとなる。
すなわち、従系のCPU2は、主系のCPU1からの同期化要求17を受信した時点でCPU2制御周期21が開始されるのに対し、主系のCPU1は従系のCPU2からの同期化確認応答19を受けてからCPU1制御周期22が開始されるので、当該CPU1制御周期22の開始は、従系のCPU2が同期化要求17を受信した時点と同期化確認応答19を主系のCPU1が受信した時点との時間だけCPU1制御周期22の開始が遅れることとなる。
したがって、従系のCPU2は主系のCPU1に対して、相対的に位相が進んだ状態となるので、従系のCPU2は主系のCPU1に対して同期処理の後に行われる通信及び制御に必要な処理等を主系のCPU1に対して先行して行うことが出来、CPU1より先行して入力待機状態になる。
その後、主系であるCPU1は、従系であるCPU2に対しデータのスヌープ(Snoop)可能な状態であるかを確認するスヌープ(Snoop)可否確認31を、通信路5を介して送出し、当該スヌープ(Snoop)可否確認31を受信した従系のCPU2は、主系のCPU1に対してスヌープ(Snoop)可能確認応答32を通信路5を介して主系のCPU1に対し送信することとなるが、従系のCPU2は主系のCPU1に対して位相が相対的に先行しているので、スヌープ(Snoop)可能状態にてスタンバイしていることとなる。
したがって、スヌープ(Snoop)可否確認31を受信したら速やかにスヌープ(Snoop)可能確認応答32を、通信路5を介して主系であるCPU1に対し送信することができる。
すなわち、従系のCPU2がスヌープ(Snoop)でスタンバイしているので、主系のCPU1は従系のCPU2がスヌープ(Snoop)状態になるまで待機する必要がなくなり、直ちに従系のCPU2からスヌープ(Snoop)可能確認応答32を受信することができるので、主系のCPU1は応答速度を犠牲にすることがなくなる。
次に、主系のCPU1はI/O3に対し、制御上必要となる制御対象の入力情報の送出を要求する入力情報送出要求33を送出すると、I/O3は、主系のCPU1からの入力情報送出要求33を受けて制御対象4から取得した制御対象情報34を主系のCPU1に対して通信路5を用いて送出する。
このとき従系のCPU2は、I/O3から主系のCPU1に対して通信路5を介して送出される制御対象情報34を同時にスヌープ(Snoop)する。
主系のCPU1はI/O3から得た制御対象4の入力情報をもとにI/O3に対し制御命令35を行うが、従系のCPU2はI/O3に対しては制御命令を行わない。
当該制御命令35を受信したI/O3は、制御命令確認応答36を、主系のCPU1に対して通信路5を用いて送信する。
ここで、主系のCPU1は、従系のCPU2に対して当該制御命令35に対応するI/O3から送信された制御対象の情報をスヌープ(Snoop)できたか否かを確認するスヌープ(Snoop)確認要求37を通信路5を介して出力し、当該スヌープ(Snoop)確認要求37を受信した従系のCPU2は、スヌープ(Snoop)に成功した場合はスヌープ(Snoop)確認応答38を主系のCPU1に対して送出する。
主系のCPU1は、従系のCPU2からのスヌープ(Snoop)確認応答38に基づいて従系のCPU2がスヌープ(Snoop)に成功した否かを確認し、従系のCPU2が連続してスヌープ(Snoop)に複数回失敗した場合には、従系のCPU2には何らかの障害が発生している状態であると判断して、主系のCPU1から従系のCPU2への主系、従系切り替え動作を以後禁止する。
一方、従系のCPU2がスヌープ(Snoop)に成功したことを確認した主系のCPU1は、先に示したそれぞれ自己が正常に動作しているかの自己健全情報のやりとりを行い、自己診断結果15及び16、及び同期化要求処理である同期化処理20を行う。
以上までの処理を1周期として行うことにより、主系のCPU1に対して、従系のCPU2の制御周期の位相を相対的に進め、かつ、主系のCPU1が制御対象から取得した情報を従系のCPUがスヌープ(Snoop)することにより、制御対象に対する主系のCPU1の応答速度を犠牲にすることなくCPU2重化制御システムにおけるホットスタンバイが可能となる。
ここで、主系のCPU1に対して進める従系のCPU2の制御周期の位相は、CPU1制御周期22の全期間に亘って主系のCPU1が制御動作を行うわけではないので、主系のCPU1の制御動作終了時点と主系のCPU1制御周期22の終了時点との範囲の時間内で適宜位相を遅らせて良い。
また、ここでいうスヌープ(Snoop)とは、特許文献2に記載(参照)するように、データを分岐信号線を介して盗み読むことである。
次に主系のCPU1が何らかの理由にて障害が発生してシステムダウンした場合の切り替えについてCPU1を主系、CPU2を従系として図4のタイムチャートに基づいて説明する。
前記のように、主系のCPU1及び従系のCPU2はお互いに通信路6を介して自己が健全であるか否かの情報である自己診断結果15,16をやり取りするが、主系のCPU1において、自己診断によってエラーが検出され自己健全情報内にエラー情報が含まれた際の切り替え処理に関して説明する。
主系のCPU1の自己診断14においてエラーが発生すると、主系のCPU1は自己に障害が発生したと判断して主系のCPU1から従系のCPU2に対して送出される自己診断結果15内にエラー発生の情報を含めて通信路6を介して送出する。
当該、自己診断結果15を受信した従系のCPU2は、自己診断結果16を、通信路6を介して送信し、当該自己診断結果16を受信した主系のCPU1は、その診断結果が健全であるという内容である場合は、従系のCPU2に対して主系/従系切替要求41を通信路6を用いて送出し、当該主系/従系切替要求41を受信した従系のCPU2は、主系/従系切替要求確認応答42を主系のCPU1に対して通信路6を用いて送出する。
次いで、主系のCPU1は、従系のCPU2からの主系/従系切替要求確認応答42を受信した後、I/O3に対してCPU切替要求43を送出すると、I/O3はCPU切替が行われることを確認するCPU切替要求確認応答44を主系のCPU1へ通信路5を用いて出力する。
次に、主系のCPU1は、従系のCPU2に対して通信路5切替要求45を送出すると、従系のCPU2は、当該通信路5切替要求45を受信してその旨を確認した後に、主系のCPU1に対して通信路5切替要求確認応答46を送出すると、当該通信路5切替要求確認応答46を受信した主系のCPU1は通信路5のマスタ権移行の処理を行って通信路5切替実行47の一連の処理により、通信路5のマスタ権が主系のCPU1から従系のCPU2に切り替わり、従系のCPU2は、主系のCPU1の通信路5切替実行47を以て従系から主系へと切り替わる。
この切替は、主系のCPU1が取得していた制御対象4の制御情報等をスヌープ(Snoop)処理によりあらかじめ従系のCPU2が取得している為、主系としてシステムを制御するにあたり新たに制御情報等を取得することがなく速やかに主系のCPUとして動作することが可能となる。
ここでは、主系のCPU1の自己診断結果15により主系/従系切替要求41を主系のCPU1が出力したが、主系のCPU1に対し外部からのコマンドにより主系/従系切替要求41を発行し、マニュアルにて主系/従系切替を実行することも可能である。
一方、このような自己診断結果にエラーがない場合においては、前記通常状態の時と同様に、従系となったCPU1の制御周期の位相を主系となったCPU2の位相に対し進めることが可能である。
すなわち、主系と従系が入れ替わって主系となったCPU2は、前記通常状態の主系のCPU1と同様の作用、すなわち、同期化要求17を従系のCPUとなったCPU1に対し通信路5を介して送信すると、従系となったCPU1は、同期化要求17を受信した時点においてトリガをかけて同期化処理18を行い、CPU1制御周期22を開始させると共に、同期化確認応答19を主系となったCPU2に対して、通信路5介して送出すると、当該同期化確認応答19を受けて主系となったCPU2は、同期化処理20を行い、CPU2制御周期22を開始することにより、主系となったCPU2は自己の制御周期の位相を、従系となったCPU1に対して相対的に遅らせることは、前記通常状態の時の動作と同様である。
次にCPUの主系/従系が切り替わるもう一つの条件となる、従系のCPUが主系のCPUからの制御情報のスヌープ(Snoop)要求を連続して受信できない場合の処理について図5を用いて説明する。
制御周期の中において、従系のCPU2は主系のCPU1が正常動作しているときには、一定周期にて送られる情報である、スヌープ(Snoop)可否確認31、スヌープ(Snoop)確認要求37及び、自己診断結果15の処理が複数回連続して確認できない場合、例えば、通信路5及び通信路6においてあらかじめ設定されている通信路のタイムアウト検出により確認することができない場合に、従系のCPU2は、主系のCPU1が何らかの異常状態にあると判断する。
すると、従系のCPU2は、主系のCPUに自ら移行し、通信路5のマスタ権を自ら取得し、通信路5を介してI/O3に対しCPU主系/従系切り替えの指示となるCPU切替要求51を出力し、当該CPU切替要求51を受信したI/O3は、CPU切替確認応答52をCPU2に対して通信路5を介して出力すると、CPU2は主系へ切り替わって制御を行い、これ以降において、異常状態と判断されたCPU1への切り替え処理は行われない。
以上のように、主系のCPUの応答が無くなった状態においても、CPUの主系/従系のCPU切替が可能となる。
本CPU2重化制御システムを用いることにより、CPUが制御しているプラントを止めることなく、CPU制御用プログラムの入れ替え処理について、主系をCPU1、従系をCPU2として説明する。
システムを止めることなくプログラムを更新するときは、従系のCPU2に対してプログラムの更新を行うこととなるが、従系のCPU2は、通常前記のように(参照)直接システムの制御は行っていないので、システムを止めることなく、プログラムの入れ替ができ、さらに、従系のCPU2は、主系のCPU1がI/O3より得た制御情報をスヌープ(Snoop)により取得しているので、システムを制御している主系のCPU1と同一態様で動作することができる。
そこで、
プログラムを更新した従系のCPU2は、主系のCPU1からスヌープ(Snoop)して得た制御情報を元に、更新したプログラムを用いて作成したシステムへの制御命令と、主系のCPU1が出力したシステムへの制御命令とを比較し、当該比較結果である、制御対象への制御命令が一致、もしくは、想定される結果であれば、更新したプログラムはシステムを制御する上において問題ないと判断して、主系のCPU1に対し、外部コマンドにて主系/従系切替要求41を発行させて前記したように主系/従系を切り替える。
すると、プラントなどのシステムを止めることなく導入当初に発生すると想定されるプログラムの入れ替え作業を、従系のCPUにおいてあらかじめ評価したうえで行うことが出来、プログラム入れ替えに伴うシステム停止等の事故を回避することが可能となる。
CPU2重化制御システムのブロック図 CPU2重化制御システムの通常時のタイムチャート CPU2重化制御システムの通常時のタイムチャート 主系のCPU障害発生による従系のCPUへの切替処理を示すタイムチャート 従系のCPUが主系のCPUからスヌープ(Snoop)確認要求を受信できないときに、従系のCPUを主系のCPUに切替える処理を示すタイムチャート
符号の説明
1 CPU1
2 CPU2
3 I/O
4 制御対象
11 制御開始信号
12 制御開始確認応答
13 設定及び初期化処理
14 自己診断
15、16 自己診断結果
17 同期化要求
18 CPU2同期化処理
19 同期化確認応答
20 CPU1同期化処理
21 CPU2制御周期
22 CPU1制御周期
31 Snoop開始要求
32 Snoop開始確認応答
33 制御対象入力情報要求
34 制御対象情報出力
35 制御命令
36 制御命令確認応答
37 スヌープ(Snoop)確認要求
38 スヌープ(Snoop)確認応答
41 主系/従系切替要求
42 主系/従系切替要求確認応答
43 CPU切替要求
44 CPU切替確認応答
45 通信路5切替要求
46 通信路5切替要求確認応答
47 通信路5切替
51 CPU切替要求
52 CPU切替確認応答

Claims (5)

  1. 複数の演算処理装置、制御対象に接続された入出力機器、前記演算処理装置と入出力機器を接続する通信路、前記演算処理装置同士を接続する通信路等から構成され、前記複数の演算処理装置は実行系の主系と待機系の従系に切替設定可能な演算処理装置2重化制御システムにおいて、主系演算処理装置が取得する制御対象からの制御情報を従系演算処理装置が同時にスヌープ(Snoop)する演算処理装置2重化制御システム。
  2. 請求項1における従系演算処理装置は、その制御周期の位相が主系演算装置の制御周期の位相より相対的に進んでいる演算処理装置2重化制御システム。
  3. 請求項2における相対的に進んだ位相は、主系演算処理装置からの同期要求に応じて従系演算処理装置がトリガをかけて制御周期を開始し、当該同期要求の応答として従系演算処理装置から主系演算処理装置に対して出力する同期要求確認応答に応じて、主系演算処理装置がトリガをかけて制御周期を開始することにより設定された演算処理装置2重化制御システム。
  4. 請求項1における主系と従系の切替は、主系演算処理装置が行う自己診断において異常が検出された場合、または、主系演算処理装置から定期的に送信されるべき出力信号が停止したことを従系演算処理装置が確認したときに行う演算処理装置2重化制御システム。
  5. 請求項1における主系と従系の切替が、プログラム更新に際しては、予めプログラム更新された従系演算処理装置の動作を、主系演算処理装置からスヌープ(Snoop)した制御対象からの制御情報を用いて確認したときに行われる、演算処理装置2重化制御システム。
JP2008160877A 2008-06-19 2008-06-19 演算処理装置多重化制御システム Active JP5243113B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008160877A JP5243113B2 (ja) 2008-06-19 2008-06-19 演算処理装置多重化制御システム
CA2668835A CA2668835C (en) 2008-06-19 2009-06-15 Duplexed operation processor control system, and duplexed operation processor control method
US12/457,682 US9208037B2 (en) 2008-06-19 2009-06-18 Duplexed operation processor control system, and duplexed operation processor control method
CN2009101503011A CN101609421B (zh) 2008-06-19 2009-06-19 运算处理装置的多重控制系统及多重控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008160877A JP5243113B2 (ja) 2008-06-19 2008-06-19 演算処理装置多重化制御システム

Publications (2)

Publication Number Publication Date
JP2010003081A true JP2010003081A (ja) 2010-01-07
JP5243113B2 JP5243113B2 (ja) 2013-07-24

Family

ID=41432459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008160877A Active JP5243113B2 (ja) 2008-06-19 2008-06-19 演算処理装置多重化制御システム

Country Status (4)

Country Link
US (1) US9208037B2 (ja)
JP (1) JP5243113B2 (ja)
CN (1) CN101609421B (ja)
CA (1) CA2668835C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025765A (ja) * 2011-07-26 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
WO2015152167A1 (ja) * 2014-03-31 2015-10-08 日本信号株式会社 冗長系制御装置及びその系切替方法
US10033546B2 (en) 2012-12-31 2018-07-24 Hyundai Motor Company Method and system for reprogramming
KR102199243B1 (ko) * 2020-03-16 2021-01-06 공주대학교 산학협력단 병렬포트를 이용한 서버의 하드 디스크 상태 표시 시스템 및 방법
KR102199244B1 (ko) * 2020-03-16 2021-01-06 공주대학교 산학협력단 직렬포트를 이용한 서버의 하드 디스크 상태 표시 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170614A1 (ja) * 2015-04-22 2016-10-27 三菱電機株式会社 プログラマブルロジックコントローラ、スレーブ機器及び二重化システム
CN109188986B (zh) * 2018-10-25 2021-09-07 深圳易能电气技术股份有限公司 双控制器并行总线通讯装置、方法及通讯设备
CN109782578A (zh) * 2018-12-24 2019-05-21 中国船舶重工集团公司第七一0研究所 一种高可靠性深海水下自主航行器控制方法
CN112540877B (zh) * 2019-09-20 2023-01-24 奇酷互联网络科技(深圳)有限公司 切换cpu的方法、装置、智能终端和存储介质
CN110877584A (zh) * 2019-11-28 2020-03-13 安徽中车瑞达电气有限公司 一种双头矿用电机车的驾驶室操纵互锁方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371201A (ja) * 1989-08-03 1991-03-27 Internatl Business Mach Corp <Ibm> フェイルセーフ・データ処理システム
JPH0721030A (ja) * 1993-07-06 1995-01-24 Toshiba Corp ローディング方法
JPH07244598A (ja) * 1994-03-08 1995-09-19 Fuji Electric Co Ltd 二重化制御装置の切替え方法及びその二重化制御装置
JPH1115502A (ja) * 1997-06-24 1999-01-22 Mitsubishi Electric Corp ディジタル制御装置
JPH11212626A (ja) * 1998-01-21 1999-08-06 Toshiba Corp プラント監視システム
JP2001060159A (ja) * 1999-08-24 2001-03-06 Hitachi Ltd 計算機システムの高信頼化方法
JP2003036101A (ja) * 2001-07-25 2003-02-07 Yokogawa Electric Corp 冗長化コントローラ
JP2006031526A (ja) * 2004-07-20 2006-02-02 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006209565A (ja) * 2005-01-31 2006-08-10 Yokogawa Electric Corp 情報処理装置および情報処理方法
WO2007057271A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system
JP2007280313A (ja) * 2006-04-12 2007-10-25 Yokogawa Electric Corp 冗長化システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3862777B2 (ja) 1996-03-05 2006-12-27 株式会社日立製作所 二重化データ一致化方法および二重化制御装置
JP3299115B2 (ja) 1996-05-16 2002-07-08 株式会社日立製作所 二重化システム
JP3606281B2 (ja) 2002-06-07 2005-01-05 オムロン株式会社 プログラマブルコントローラ及びcpuユニット並びに特殊機能モジュール及び二重化処理方法
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371201A (ja) * 1989-08-03 1991-03-27 Internatl Business Mach Corp <Ibm> フェイルセーフ・データ処理システム
JPH0721030A (ja) * 1993-07-06 1995-01-24 Toshiba Corp ローディング方法
JPH07244598A (ja) * 1994-03-08 1995-09-19 Fuji Electric Co Ltd 二重化制御装置の切替え方法及びその二重化制御装置
JPH1115502A (ja) * 1997-06-24 1999-01-22 Mitsubishi Electric Corp ディジタル制御装置
JPH11212626A (ja) * 1998-01-21 1999-08-06 Toshiba Corp プラント監視システム
JP2001060159A (ja) * 1999-08-24 2001-03-06 Hitachi Ltd 計算機システムの高信頼化方法
JP2003036101A (ja) * 2001-07-25 2003-02-07 Yokogawa Electric Corp 冗長化コントローラ
JP2006031526A (ja) * 2004-07-20 2006-02-02 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006209565A (ja) * 2005-01-31 2006-08-10 Yokogawa Electric Corp 情報処理装置および情報処理方法
WO2007057271A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system
JP2007280313A (ja) * 2006-04-12 2007-10-25 Yokogawa Electric Corp 冗長化システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025765A (ja) * 2011-07-26 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
US10033546B2 (en) 2012-12-31 2018-07-24 Hyundai Motor Company Method and system for reprogramming
WO2015152167A1 (ja) * 2014-03-31 2015-10-08 日本信号株式会社 冗長系制御装置及びその系切替方法
JP2015194971A (ja) * 2014-03-31 2015-11-05 日本信号株式会社 冗長系制御装置
CN106233260A (zh) * 2014-03-31 2016-12-14 日本信号株式会社 冗余系统控制装置及其系统切换方法
KR102199243B1 (ko) * 2020-03-16 2021-01-06 공주대학교 산학협력단 병렬포트를 이용한 서버의 하드 디스크 상태 표시 시스템 및 방법
KR102199244B1 (ko) * 2020-03-16 2021-01-06 공주대학교 산학협력단 직렬포트를 이용한 서버의 하드 디스크 상태 표시 시스템 및 방법

Also Published As

Publication number Publication date
JP5243113B2 (ja) 2013-07-24
US20090319756A1 (en) 2009-12-24
CN101609421A (zh) 2009-12-23
CN101609421B (zh) 2013-11-20
CA2668835C (en) 2014-01-14
CA2668835A1 (en) 2009-12-19
US9208037B2 (en) 2015-12-08

Similar Documents

Publication Publication Date Title
JP5243113B2 (ja) 演算処理装置多重化制御システム
US9170569B2 (en) Method for electing an active master device from two redundant master devices
JP4168403B2 (ja) フォールトトレラントシステム、これで用いる制御装置、アクセス制御方法、及び制御プログラム
JP2006178659A (ja) フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
CN107038095B (zh) 用于冗余地处理数据的方法
JP2009098988A (ja) フォルトトレラントコンピュータシステム
JP2006155678A (ja) 多重化制御システム及びその多重化方法
JP2007018026A (ja) コントローラ
JP6187508B2 (ja) 制御装置、バス回路、方法、及び、プログラム
US11526137B2 (en) Operation verification program, operation synchronization method, and error detection apparatus
JP2009259134A (ja) 安全plc
JPWO2011074147A1 (ja) 二重系制御装置
JP4810488B2 (ja) 二重化制御装置、及びそのトラッキング方法
JP4816983B2 (ja) ディスクアレイ装置、ディスクアレイ装置における電源制御方法及び電源制御プログラム
JP2010039628A (ja) 制御システム、監視方法及びプログラム
JP6540142B2 (ja) ベースボード管理コントローラ、情報処理システム及びベースボード管理コントローラの処理実行方法
JP4117685B2 (ja) フォルトトレラント・コンピュータとそのバス選択制御方法
JP2016009499A (ja) 相互接続を管理する方法およびシステム
JP7023726B2 (ja) 二重化制御システム
JP6214346B2 (ja) 二重系制御装置
JP2016091480A (ja) 二重化制御システム
WO2014118985A1 (ja) バスモジュール及びバスシステム
JP6312948B2 (ja) 制御システム及び制御ユニット
JPH03154901A (ja) 2重化制御装置
JP2009276983A (ja) 多重化計算機システム、及びその処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5243113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150