JPH0895614A - 制御装置 - Google Patents

制御装置

Info

Publication number
JPH0895614A
JPH0895614A JP6233096A JP23309694A JPH0895614A JP H0895614 A JPH0895614 A JP H0895614A JP 6233096 A JP6233096 A JP 6233096A JP 23309694 A JP23309694 A JP 23309694A JP H0895614 A JPH0895614 A JP H0895614A
Authority
JP
Japan
Prior art keywords
program
unit
cpu unit
cpu
failure
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
Application number
JP6233096A
Other languages
English (en)
Inventor
Hitoshi Ishikawa
仁 石川
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP6233096A priority Critical patent/JPH0895614A/ja
Publication of JPH0895614A publication Critical patent/JPH0895614A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数の制御部が稼働しており、そのうちの1
つの制御部が故障したときには、別の制御部にその機能
を代行させる。 【構成】 制御部としての各CPUユニット1は、他の
CPUユニット1に対し、故障検知メッセージを送信
し、メッセージの有無により送信した他のCPUユニッ
ト1が故障していると判断すると、依頼メッセージをプ
ログラムサーバ3に出力する。プログラムサーバ3は依
頼元のCPUユニット1が故障したCPUユニット1の
プログラムを実行するのに適すると判断すると、プログ
ラム格納エリアから故障したのCPUユニット1が実行
しようとしていたプログラムをCPUユニット1に送出
する。CPUユニット1は、プログラムサーバ3から故
障したCPUユニット1の実行しようとしていたプログ
ラムを受け取ると、これらを実行プログラムエリア内に
格納し、故障したCPUユニット1の機能を代行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は制御装置に関し、特に複
数の入出力部と複数の制御部がネットワークに接続さ
れ、故障した制御部の機能を正常な制御部が代行する制
御装置に関する。
【0002】
【従来の技術】従来の制御装置、例えばプログラマブル
・コントローラには、図7に示すように、CPUユニッ
ト50がI/Oユニット51と1対1に対応付けられて
構成されているものがある。
【0003】この構成のプログラマブル・コントローラ
では、CPUユニット50がI/Oユニット51と1対
1に対応付けられいるので、CPUユニット50が故障
したときには、システムがダウンしてしまう。
【0004】そこで、従来のプログラマブル・コントロ
ーラには、図8に示すように、故障が発生しない場合で
も、故障した場合に備え、別のCPUユニット50を常
時備えている構成のものがある。
【0005】
【発明が解決しよとする課題】しかしながら、CPUユ
ニット50が故障した場合に備え、別のCPUユニット
50を常時備えている構成の従来のプログラマブル・コ
ントローラでは、CPUユニットが故障したときには、
別のCPUユニット50に切り替えることで、システム
のダウンを防止することができるが、正常に動作してい
る場合には、稼働していない待機中のCPUユニット5
0が無駄になってしまうという問題点があった。
【0006】本発明は、上述の問題点に鑑み、複数の制
御部が常時稼働しており、そのうちの1つの制御部が故
障したときには、別の正常な制御部にその機能を代行さ
せ、システムがダウンせずに動作を維持できる制御装置
を提供することを目的とする。
【0007】
【課題を解決するための手段】上述の記目的を達成する
ため、請求項1記載の発明は、複数の入出力部と複数の
制御部がネットワークに接続された制御装置において、
故障した制御部を検知する故障検知手段と、上記故障検
知手段により故障した制御部を検知すると、この故障し
た制御部が実行しようとするプログラムを正常な制御部
に供給するプログラム供給手段とを具備し、故障した制
御部の機能を正常な制御部が代行することを特徴とす
る。
【0008】請求項2記載の発明は、請求項1記載の発
明において、上記故障検知手段が、上記制御部から他の
制御部に対しメッセージを送出し、そのレスポンスの有
無により故障した制御部であるか否かを検知することを
特徴とする。
【0009】請求項3記載の発明は、請求項1記載の発
明において、上記プログラム供給手段が、上記制御部が
実行するプログラムを格納する格納手段と、この格納手
段から上記故障した制御部が実行するプログラムを選択
するプログラム選択手段と、上記プログラム選択手段に
より選択されたプログラムを上記正常な制御部に送出す
るプログラム送出手段とを具備することを特徴とする。
【0010】請求項4記載の発明は、請求項1または2
記載の発明において、上記正常な制御部のうち、一番負
荷の低い制御部を決定する制御部決定手段を具備するこ
と特徴とする。
【0011】
【作用】本発明では、故障検知手段が故障した制御部を
検知し、プログラム供給手段がこの故障した制御部が実
行しようとするプログラムを正常な制御部に供給するの
で、供給された正常な制御部で故障した制御部の機能を
代行させることができる。
【0012】
【実施例】以下、本発明に係る制御装置の実施例を図面
に基づいて説明をする。
【0013】図1は本発明に係る制御装置の一実施例の
構成を示すブロック図である。
【0014】この実施例の制御装置、例えばプログラマ
ブル・コントローラは、#a,#bおよび#cの制御部
としてのCPUユニット1と、#a,#bおよび#cの
入出力部としてのI/Oユニット2と、プログラムサー
バ3とが高速ネットワーク10に結合して構成されてい
る。
【0015】これらのCPUユニット1は、図2に示す
ように、内蔵するメモリ(図示せず)に、他のCPUユ
ニット1が故障しているか否かを検知するメッセージ
(以下、故障検知メッセージという)を送出するための
CPUユニットIDを記録するCPUユニットリスト,
自己が実行するプログラムの実行状況を記録する自実行
状況キュー,#a,#bおよび#cのCPUユニット1
の実行状況を記録する#a,#bおよび#cのCPUユ
ニット実行状況記録エリアおよび自己が実行すべき実行
プログラム本体を格納するプログラムエリアを内部情報
として有している。
【0016】これらのCPUユニット1は、各CPUユ
ニット1に対し、故障検知メッセージを送信し、一定の
サイクルを経ても送信したCPUユニット1からそれに
対する返答を得られなければ、そのCPUユニット1が
故障していると判断するようになっている。
【0017】これらのCPUユニット1は、故障検知メ
ッセージを送信したCPUユニット1が故障していると
判断すると、内部情報中のCPUユニットリストから故
障したCPUユニット1のCPUユニットIDを削除し
た後、この故障したCPUユニット1のCPUユニット
ID,依頼元CPUユニットIDおよび故障したCPU
ユニット1が実行するプログラムを供給するように指示
するプログラム供給指示をパラメータとする依頼メッセ
ージをプログラムサーバ3に出力するようになってい
る。
【0018】また、これらのCPUユニット1は、故障
検知メッセージを送信したCPUユニット1が故障して
いないと判断すると、故障検知メッセージを送信したC
PUユニット1からその実況状況を受け取り、この実況
状況で内部情報のCPUユニット1実行状況記録エリア
を更新するようになっている。
【0019】なお、各CPUユニット1が実行するプロ
グラム群の実行状況は、実行するプログラムのプログラ
ムIDとプログラムの実行状態を示すPF/STACK
等の内容からなっている。
【0020】I/Oユニット2は、CPUユニット1の
指示内容をセンサ,モータ等の外部機器が動作可能な信
号を送するようになっている。
【0021】プログラムサーバ3は、図3に示すよう
に、内蔵するメモリ(図示せず)に、各CPUユニット
が現在実行しているプログラム本体を格納するプログラ
ム格納エリア及びそれが実行しているCPUユニットの
IDを示すプログラム実行CPUユニットIDエリアを
内部情報として有している。
【0022】このプログラムサーバ3は、#a,#bお
よび#cのCPUユニット1の実行するプログラムを供
給するようになっているが、CPUユニット1から依頼
メッセージを受け取ると、プログラム実行CPUユニッ
トIDエリアを検索し、依頼元のCPUユニット1の実
行プログラムとその他のCPUユニット1との実行プロ
グラム数を比較するようになっている。
【0023】また、プログラムサーバ3は、プログラム
実行CPUユニットIDエリア中から故障したCPUユ
ニットIDを依頼元のCPUユニットIDに書き替えた
後、プログラム実行CPUユニットエリアから、故障し
たCPUユニット1が実行しようとしていたプログラム
を依頼元のCPUユニット1に送出するようになってい
る。
【0024】次に、この実施例の制御装置としてのプロ
グラマブル・コントローラムの動作について図4〜図6
を参照して説明する。
【0025】なお、この実施例のプログラマブル・コン
トローラの動作例を説明するに際し、図4に示すよう
に、#aのCPUユニット1が故障した場合を例に取り
説明するる。
【0026】#bのCPUユニット1と#cのCPUユ
ニット1とは互いに独立して稼働するので、故障検知メ
ッセージを送出する優先順序に差異はないのであるが、
#bのCPUユニット1の方が#cのCPUユニット1
の方よりも先に故障検知メッセージを送出するものとす
る。
【0027】#bのCPUユニット1が、#aのCPU
ユニット1に対し、故障検知メッセージを送信すると
(ステップ100)、#aのCPUユニット1が故障し
ているので、一定のサイクルを経ても#aのCPUユニ
ット1から故障検知メッセージに対する返答を得ること
ができず、#aのCPUユニット1が故障していると判
断する(ステップ101;no)。
【0028】#bのCPUユニット1は、内部情報中の
CPUユニットリストから#aのCPUユニット1のC
PUユニットID(a)を削除した後(ステップ10
2)、依頼メッセージをプログラムサーバ3に出力する
(ステップ103)。
【0029】すると、プログラムサーバ3は、#bのC
PUユニット1からの依頼メッセージを受け取ると、図
6に示すような処理を行う(ステップ104およびステ
ップ105)。
【0030】すなわち、プログラムサーバ3は、#bの
CPUユニット1からの依頼メッセージを受け取ると、
図6に示すように、プログラム実行CPUユニットID
エリアを検索し、依頼元のCPUユニット1の実行プロ
グラムと#cのCPUユニット1との実行プログラム数
を比較する(ステップ201)。プログラムサーバ3
は、依頼元のCPUユニット1の実行プログラム数が#
cのCPUユニット1に比べて少ないので、依頼元のC
PUユニット1が故障したCPUユニット1のプログラ
ムを実行するのに適すると判断する(ステップ202;
yes)。
【0031】その後、プログラムサーバ3は、プログラ
ム実行CPUユニットIDエリア中の故障した#aのC
PUユニットID(a)をCPUユニットID(b)に
書き替えた後(ステップ203)、プログラム格納エリ
アから故障した#aのCPUユニット1が実行しようと
していたプログラム(プログラム1およびプログラム
2)を#bのCPUユニット1に送出する(ステップ2
04)。
【0032】#bのCPUユニット1は、プログラムサ
ーバ3から故障した#aのCPUユニット1が実行しよ
うとしていたプログラム(プログラム1およびプログラ
ム2)を受け取ると、これらを実行プログラムエリア内
に格納するとともに、自実行状況キューに故障した#a
のCPUユニット1分のプログラム実行状況を追加する
(ステップ106)。
【0033】続いて、#bのCPUユニット1は、#c
のCPUユニット1に対し、故障しているか否かを判断
するためのレスポンスを送信する(ステップ100)。
【0034】#cのCPUユニット1は、#bのCPU
ユニット1からのレスポンスを受け取ると、内部情報中
の自実行状況キューを検索し、実行しようとする実行状
況を#bのCPUユニット1に返答する。
【0035】#bのCPUユニット1は、#cのCPU
ユニット1から受け取った#cのCPUユニット1の実
況状況で、内部情報の#cのCPUユニット1実行状況
記録エリアを更新する(ステップ107)。
【0036】このようにして、#bのCPUユニット1
は、#aおよび#cに対する診断処理を終了する(ステ
ップ108)。
【0037】その後、#bのCPUユニット1は、自己
実行状況キューに対応するプログラムをすべて実行し
(ステップ109およびステップ110)、故障してい
る#aのCPUユニット1の機能を代行する。
【0038】ここで、#bのCPUユニット1は、他の
CPUユニット1の故障を検知する役割を担う他、他の
CPUユニット1からの故障検知メッセージに対する返
答をしなけらばならない。これは、周辺処理中に行うこ
とができる。すなわち、他のCPUユニット1からの故
障検知メッセージに対する応答要求に対し、このタイミ
ングで、自実行状況キューの実行状況をパラメータとし
て送出するのである(ステップ111)。
【0039】次に、#cのCPUユニット1も、#bの
CPUユニット1と同様にしてCPUユニット1の故障
診断処理を行う。
【0040】ここで、すでに、#bのCPUユニット1
のレスポンスでプログラムサーバ3の内部情報における
プログラム実行CPUユニットIDエリアに、故障した
#aのCPUユニットID(a)がCPUユニットID
(b)に変更され、故障した#aのCPUユニット1の
実行プログラムがないので、プログラムサーバ3よりエ
ラー返答が帰ってくる。
【0041】このように、この実施例のプログラム・装
置は、#aのCPUユニット1が故障したならば、#b
のCPUユニット1がこの機能を引継ぎ、以後、#bの
CPUユニット1とI/Oユニットaとが連携して動作
する。
【0042】このようにしたならば、通常動作時(故障
したユニットがない場合)でも、無駄になるCPUユニ
ット1はなく、また、最悪1つのCPUユニット1で
(実行時間を問題としなければ)、システム全部の動作
を受け持つことすら可能である。
【0043】この実施例によれば、プログラムサーバ3
がCPUユニットが一番負荷の低いCPUユニットを選
択するので、複数のCPUユニットにおける負荷を均等
にすることができる。
【0044】また、各CPUユニット1が自己のプログ
ラムの実行の合間をぬって故障診断処理を行うので、レ
スポンス待ちに伴うサイクルタイムの増大を防ぐことが
できる。
【0045】この実施例は、依頼元CPUユニット1
が、プログラム実行に適しているか否かの判断を行わな
いようになっているが、もし、行うなうのであれば、該
当CPUユニット1が、一番負荷の低いCPUユニット
1か否かを判断して(これは内部情報中の各CPUユニ
ット状況記録エリアを参照して、各CPUユニット1が
担当しているプログラム数を調べればよい)、一番負荷
の低いCPUユニット1ならば、プログラム実行に適し
ていると判断すればよい。
【0046】この実施例は、各CPUユニット1が他の
CPUユニット1の故障を検知するものであるが、これ
とは別に、プログラムサーバに、各CPUユニットの故
障チェックを行わせてもい。この場合は、プログラムサ
ーバの処理が遅くなり、この速度に、全体の信頼性が引
きずられるといった欠点があるが、プログラムサーバ
が、故障を検知し、これが各CPUユニットに実行を依
頼するものであるため、負荷の均等配分がよりスムーズ
に行える。
【0047】
【発明の効果】上述の発明によれば、故障検知手段が故
障した制御部を検知し、プログラム供給手段がこの故障
した制御部が実行しようとするプログラムを正常な制御
部に供給することにより、供給された制御部で故障した
制御部の機能を代行させることができる。このため、制
御部が故障したときには、そのままシステムがダウンせ
ずに動作を維持できるという効果がある。
【図面の簡単な説明】
【図1】本発明に係る制御装置の一実施例の構成を示す
ブロック図である。
【図2】図1中の#a,#bおよび#cのCPUユニッ
トが有する内部情報を説明する図である。
【図3】図1中のプログラムサーバ内が有する内部情報
を説明する図である。
【図4】図1中の#aのCPUユニットが故障した場合
を想定した図である。
【図5】実施例に係る制御装置としてのプログラマブル
・コントローラの処理動作を示すフローチャートであ
る。
【図6】図1中のプログラムサーバの処理動作を示すフ
ローチャートである。
【図7】従来のプログラマブル・コントローラの構成を
示すブロック図である。
【図8】従来のプログラマブル・コントローラの構成を
示すブロック図である。
【符号の説明】
1 CPUユニット 2 I/Oユニット 3 プログラムサーバ 10 ネットワーク 21 モータ 22 センサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/048

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の入出力部と複数の制御部がネット
    ワークに接続された制御装置において、 故障した制御部を検知する故障検知手段と、 上記故障検知手段により故障した制御部を検知すると、
    この故障した制御部が実行しようとするプログラムを正
    常な制御部に供給するプログラム供給手段とを具備し、 故障した制御部の機能を正常な制御部が代行することを
    特徴とする制御装置。
  2. 【請求項2】 上記故障検知手段は、上記制御部から他
    の制御部に対しメッセージを送出し、そのレスポンスの
    有無により故障した制御部であるか否かを検知すること
    を特徴とする請求項1記載の制御装置。
  3. 【請求項3】 上記プログラム供給手段は、 上記制御部が実行するプログラムを格納する格納手段
    と、 この格納手段から上記故障した制御部が実行するプログ
    ラムを選択するプログラム選択手段と、 上記プログラム選択手段により選択されたプログラムを
    上記正常な制御部に送出するプログラム送出手段とを具
    備することを特徴とする請求項1記載の制御装置。
  4. 【請求項4】 上記正常な制御部のうち、一番負荷の低
    い制御部を決定する制御部決定手段を具備すること特徴
    とする請求項1または2記載の制御装置。
JP6233096A 1994-09-28 1994-09-28 制御装置 Withdrawn JPH0895614A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6233096A JPH0895614A (ja) 1994-09-28 1994-09-28 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6233096A JPH0895614A (ja) 1994-09-28 1994-09-28 制御装置

Publications (1)

Publication Number Publication Date
JPH0895614A true JPH0895614A (ja) 1996-04-12

Family

ID=16949722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6233096A Withdrawn JPH0895614A (ja) 1994-09-28 1994-09-28 制御装置

Country Status (1)

Country Link
JP (1) JPH0895614A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001075533A1 (en) * 2000-03-30 2001-10-11 Llanelli Radiators Limited Intelligent control unit
JP2005173693A (ja) * 2003-12-08 2005-06-30 Nippon Signal Co Ltd:The 駅務機器管理システム
JP2006352936A (ja) * 2005-06-13 2006-12-28 Universal Shipbuilding Corp 発電プラント制御システム
JP2010250435A (ja) * 2009-04-13 2010-11-04 Mitsubishi Electric Corp プラント監視制御システム
JP2011039702A (ja) * 2009-08-07 2011-02-24 Autonetworks Technologies Ltd 制御システム
CN102518887A (zh) * 2011-12-20 2012-06-27 西安天厚滤清技术有限责任公司 连接管道密封件
JP2016165990A (ja) * 2015-03-06 2016-09-15 株式会社デンソー 制御システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001075533A1 (en) * 2000-03-30 2001-10-11 Llanelli Radiators Limited Intelligent control unit
JP2005173693A (ja) * 2003-12-08 2005-06-30 Nippon Signal Co Ltd:The 駅務機器管理システム
JP4606017B2 (ja) * 2003-12-08 2011-01-05 日本信号株式会社 駅務機器管理システム
JP2006352936A (ja) * 2005-06-13 2006-12-28 Universal Shipbuilding Corp 発電プラント制御システム
JP2010250435A (ja) * 2009-04-13 2010-11-04 Mitsubishi Electric Corp プラント監視制御システム
JP2011039702A (ja) * 2009-08-07 2011-02-24 Autonetworks Technologies Ltd 制御システム
CN102518887A (zh) * 2011-12-20 2012-06-27 西安天厚滤清技术有限责任公司 连接管道密封件
JP2016165990A (ja) * 2015-03-06 2016-09-15 株式会社デンソー 制御システム

Similar Documents

Publication Publication Date Title
EP0818736A2 (en) System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reset
US7454533B2 (en) Redundant path control apparatus and redundant path control method
JPH0950424A (ja) ダンプ採取装置およびダンプ採取方法
JP2687927B2 (ja) 外部バスの障害検出方法
JPH0895614A (ja) 制御装置
US4841474A (en) Computer system with work stations at remote positions and reserve battery power supply
JP2003248631A (ja) メモリ制御回路及びメモリ制御方法
US10540222B2 (en) Data access device and access error notification method
JP2000512412A (ja) データローディング方法
JPH1069470A (ja) マルチプロセッサシステム
JPH0766368B2 (ja) ブ−トプロセツサ決定方式
US20010039558A1 (en) Cache memory management method for real time operating system
US6760863B1 (en) CPU unit and run alternative control method of programmable controller
JP2001256071A (ja) 冗長化システム
JPH06266685A (ja) 分散形制御システム
JP2005285017A (ja) 2重化コントローラシステム、そのコントローラ、プログラム
JP4983806B2 (ja) 二重化タイマを用いたシステム監視装置、および監視方法
JPS6013494B2 (ja) 自己診断方式
JPH04324569A (ja) マルチプロセッサシステム
JP3156673B2 (ja) 障害情報転送装置
JP3464768B2 (ja) ファイルロードを有するプロセッサ装置
JP2635777B2 (ja) プログラマブル・コントローラ
JP2000196682A (ja) シリアル通信装置および方法
JPH05204770A (ja) メモリエラーリカバリ方法
JP2001022414A (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: 20020115