JP3357777B2 - プログラム制御システム - Google Patents
プログラム制御システムInfo
- Publication number
- JP3357777B2 JP3357777B2 JP01174496A JP1174496A JP3357777B2 JP 3357777 B2 JP3357777 B2 JP 3357777B2 JP 01174496 A JP01174496 A JP 01174496A JP 1174496 A JP1174496 A JP 1174496A JP 3357777 B2 JP3357777 B2 JP 3357777B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory
- control
- error
- address
- 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.)
- Expired - Fee Related
Links
Landscapes
- Hardware Redundancy (AREA)
- Programmable Controllers (AREA)
- Retry When Errors Occur (AREA)
Description
ランとや車両搭載機器などの公共性の高いシステムのプ
ログラム制御に用いられる制御システムに係り、特に、
プログラムの異常によるシステムの暴走、システムダウ
ンを防止するとともに異常原因の発見を容易に行うこと
のできるプログラム制御システムに関する。
ラムメモリに記憶された制御プログラムの命令を順次読
み出して実行させ、予定されたプログラム制御を行うこ
とが一般的に行われている。
ラムの内容が何らかの原因で破壊された場合、破壊され
た内容の制御プログラムが実行されると異常な処理が行
われ、場合によってはシステムが暴走したり、システム
ダウンすることがある。
とができず、何時異常になったか、何故異常になったか
という原因を調査することに時間を費やし、速やかな復
元が困難であり、システムの暴走、システムダウンによ
りシステムユーザに大きな影響を与える場合があった。
に鑑みてなされたもので、その目的とするところは、制
御プログラムの内容がプログラム制御の実行中に破壊さ
れたとき、破壊された制御プログラムの内容を自己復元
させ、プログラム制御を継続して実行させ、信頼性の高
いプログラム制御を行うとともにエラー情報を保存し破
壊の原因究明を容易に行うことのできるプログラム制御
システムを提供することにある。
システムは、複数の単位プログラムでなる制御プログラ
ムが格納されるプログラムメモリと、前記制御プログラ
ムと同じ制御プログラムが格納されるバックアップメモ
リと、前記プログラムメモリから前記制御プログラムを
順次読み出してプログラム制御を実行するCPUと、エ
ラーが発生したとき、前記プログラムメモリとバックア
ップメモリのエラー発生アドレスを含む所定範囲の制御
プログラムの内容を比較して前記プログラムメモリの制
御プログラムの内容が壊れているか否かを判別し、壊れ
ている場合は前記プログラムメモリの前記所定範囲の制
御プログラムの内容を修復した後、プログラム制御の実
行を再開させるエラー回復処理手段とを備え、前記エラ
ー回復処理手段は、エラー発生アドレスが前回のエラー
発生アドレスと同一のとき、該エラー発生アドレスを含
む単位プログラムの先頭からプログラム制御の実行を再
開させ、エラー発生アドレスが前回のエラー発生アドレ
スと異なるとき、該エラー発生アドレスからプログラム
制御の実行を再開させる手段を備える。
の実施例を図1に示す。図1は本発明のハードウエア構
成を示したもので、1はシステム全体を統括制御するC
PU、2はおオペレーションプログラムを格納するシス
テムメモリ、3は複数の機能単位プログラムでなる制御
プログラムを格納するプログラムメモリ、4はエラー回
復処理プログラムを格納するプログラムメモリ、5はプ
ログラムメモリ3に格納された制御プログラムのコピー
が格納されるバックアップメモリ、6はエラー発生時に
CPU1のレジスタの内容やエラー情報(詳細後述)を
格納するトレースメモリ、7は現在の日付・時刻を決定
するカレンダー、8は外部装置と情報の授受を行うイン
ターフェースであり、これらの装置はCPUバス9によ
って接続される。インターフェース8は入出力装置10
や表示装置11等の外部装置との間で情報の授受を行
う。
オペレーションプログラムに基づいて動作し、この装置
が起動したとき、プログラムメモリ3に格納された制御
プログラムをバックアップメモリ5にコピーする。その
後、プログラム制御が開始され、CPU1はプログラム
メモリ3に格納された制御プログラムに基づいてプログ
ラム命令を実行し、インターフェース8を介して入出力
装置10との間でデータの授受を行いプログラム制御を
行う。
ると、CPU1はプログラムメモリ4に格納されたエラ
ー回復処理プログラムを起動させ、エラー発生アドレ
ス、CPU1の各レジスタの値、カレンダー7の日時を
トレースメモリ6に格納し、プログラムメモリ3とバッ
クアップメモリ5のエラー発生アドレスを含む所定範囲
の制御プログラムの内容を比較し、プログラムの内容が
壊れているか否かを判別し、壊れている場合はプログラ
ムの内容を修復した後、プログラム制御の実行を再開さ
せる。これにより、エラー発生時のプログラム制御の暴
走及び停止を防止することができる。
8個のメモリ6- 1 〜6- 8 と2個のカウンタ6- 9 、
6-10 で構成され、6- 1 は前回のエラー発生アドレス
を格納するアドレスメモリ、6- 2 はエラー情報の保存
回数を格納する保存数メモリ、6- 3 は最新のエラー情
報の保存箇所を指し示すインデックスメモリ、6- 4は
エラー情報の最大保存回数を格納する最大登録数メモリ
である。6- 5 は破壊状況保存メモリで、エラー発生
(検出)アドレスを格納するアドレスメモリ6-51 と、
エラー検出時のCPU1の各レジスタ値(ステータス)
を格納するレジスタメモリ6-52 と、エラー検出時の日
付・時刻を格納するカレンダーメモリ6-53 と、エラー
発生アドレスの前後の所定範囲のアドレスを検査対象ア
ドレスとして格納するアドレスメモリ6-54 と、検査対
象アドレスのプログラムメモリ3の内容を格納する検査
データメモリ6-55 と、検査対象アドレスのバックアッ
プメモリ5の内容を格納するバックアップデータメモリ
6-56 とで構成される。6-6 はプログラムメモリ3に
格納された制御プログラムの先頭アドレスを格納するア
ドレスメモリ、6- 7 はバックアップメモリ5に格納さ
れた制御プログラムの先頭アドレスを格納するアドレス
メモリ、6- 8 は制御プログラムのサイズを格納するサ
イズメモリである。6- 9 はエラー発生アドレスの命令
を再実行した回数を格納する命令リトライカウンタ、6
-10 はエラー発生アドレスを含む単位プログラムを再実
行した回数を格納するタスクリトライカウンタである。
ムを起動させるとシステムメモリ2に格納されたオペレ
ーションプログラムに基づいて、図3に示す処理が開始
される。先ず、プログラムメモリ3に格納された制御プ
ログラムをバックアップメモリ5にコピーし、プログラ
ムメモリ3の制御プログラムの先頭アドレス、バックア
ップメモリ5の制御プログラムの先頭アドレス、制御プ
ログラムのサイズを、トレースメモリ6の、アドレスメ
モリ6- 6 、6- 7 、サイズメモリ6- 8 にそれぞれ格
納するバックアップ処理21が行われる。次に、プログ
ラム制御の起動処理22が開始され、プログラムメモリ
3に格納された制御プログラムのプログラム命令を順次
読み出して実行する通常のプログラム制御処理23が開
始される。この場合、エラーが発生しなければエラー判
定処理24を介して機能単位に分割された単位プログラ
ムが順次読み出され実行される。エラーが発生するとエ
ラー判定処理24を介してエラー回復処理25を起動さ
せ、プログラムメモリ4に格納されたエラー回復プログ
ラムに基づいてエラーの内容を調査し、プログラムに異
常があればバックアップメモリ5の制御プログラムを参
照して修復し、プログラム制御の実行を継続させる。
す。エラーが検出されると先ずエラー発生状況をトレー
スメモリ6に格納するエラーデータ保存処理25-1が行
われる。すなわち、保存数メモリ6- 2 とインデックス
メモリ6- 3 の内容をカウントアップし、エラー発生ア
ドレスをアドレスメモリ6-51 に格納し、CPU1の全
てのレジスタの内容をレジスタメモリ6-52 に格納し、
その時点におけるカレンダー7の日付・時刻をカレンダ
ーメモリ6-53 に格納する。更に、エラー発生アドレス
の前後の所定範囲のアドレスを検査範囲アドレスとして
アドレスメモリ6-54 に格納し、この検査範囲アドレス
に該当する制御プログラムをプログラムメモリ3とバッ
クアップメモリ5からそれぞれ抽出して検査データメモ
リ6-55とバックアップデータメモリ6-56 に格納す
る。
6- 3 の内容は初期設定で0にセットされており、保存
数メモリ6- 2 の内容は累積エラー発生回数を示し、イ
ンデックスメモリ6- 3 の内容は破壊状況保存メモリ6
- 5 の最新情報の格納アドレスを示す。若し、インデッ
クスメモリ6- 3 の内容が最大登録数メモリ6- 4 の値
を越えた場合は0に初期化される。バックアップメモリ
5から抽出する制御プログラムのアドレスはアドレスメ
モリ6- 7 に格納された先頭アドレスを基準とし上記検
査範囲アドレスから計算して決定される。
保存数メモリ6- 2 のエラー回数が10、インデックス
メモリ6- 3 の値が1の例で3〜10回目の8個のエラ
ー情報が保存された例である。またエラー発生アドレス
が前回のエラー発生アドレスと同じ場合を示しており、
アドレスメモリ6-51 にはアドレスメモリ6-1と同じア
ドレス(12345678H )が格納され、アドレスメモリ6-5
4 にはエラー発生アドレスを含む所定範囲のアドレス
(12345670H 〜1234569FH )が格納され、検査データメ
モリ6-55 とバックアップデータメモリ6-56 に上記所
定範囲のアドレスに対応する制御プログラムが格納され
た例である。
ップデータメモリ6-56 に格納された最新データを比較
してプログラムの修復が必要か否かの判定処理25-2を
行う。すなわち、検査データメモリ6-55 とバックアッ
プデータメモリ6-56 に格納された上記検査範囲アドレ
スの制御プログラムが全て一致していれば修復を必要と
せず、全て一致していなければ修復が必要であると判定
する。修復が必要であると判定されるとプログラム修復
処理25-3を実行し、プログラムメモリ3の検査範囲ア
ドレスの内容をバックアップメモリ5の内容で更新し修
復する処理が行われる。図2は検査データメモリ6-55
に格納されたx印の制御プログラムが破壊されたデータ
を示し、プログラムメモリ3の所定範囲のアドレス(12
345670H〜1234569FH )の制御プログラムが修復され
る。
モリ6-51 の内容を比較して、エラー発生アドレスが前
回のエラー発生アドレスと同じであるか否かの判定処理
25-4を行う。エラー発生アドレスが前回のエラー発生
アドレスと異なると判定された場合、命令リトライカウ
ンタ6- 9 をカウントアップし、エラー発生アドレスか
らプログラム制御の実行を再開させる処理25-5を行
い、上記で保存した一連のエラー検出情報を表示装置1
1等の外部装置に報知する処理25-7を行う。
ドレスと同じであると判定された(図2の例)場合、タ
スクリトライカウンタ6-10 をカウントアップし、エラ
ー発生アドレスを含む単位プログラムの先頭アドレスか
ら実行を再開させる処理25-6を行い、上記で保存した
一連のエラー検出情報を表示装置11等の外部装置に報
知する処理25-8を行う。
はエラー発生アドレスの命令を再実行した累積回数を示
し、タスクリトライカウンタ6-10 の内容はエラー発生
アドレスを含む単位プログラムを再実行した累積回数を
示しており、これらの情報をアラームと共にユーザ側へ
報知することができる。また、単位プログラムの先頭ア
ドレスは、図2のプログラム制御処理23で単位プログ
ラムを実行する度に更新保持され、再実行処理25-6か
ら実行が指令されたとき、この先頭アドレスから実行さ
せることにより単位プログラムの再実行が行われる。
って制御プログラムの内容が破壊され、実行エラーが発
生した場合に、破壊された制御プログラムを自己復元さ
せて再実行させ、プログラム制御の継続実行が可能とな
り、プログラムの暴走やシステムダウンを防止すること
ができる。従って、高信頼性が要求される公共性の高い
システムのプログラム制御に効果的に適用することがで
きる。
制御プログラムの内容が破壊され、実行エラーが発生し
た場合に、破壊された制御プログラムを自己復元させて
再実行させ、プログラム制御の継続実行が可能となり、
プログラムの暴走やシステムダウンを防止することがで
き、信頼性の高いプログラム制御を行うことができるプ
ログラム制御システムを提供することができる。
ア構成図
ムメモリ 3…プログラムメモリ(制御プログラム) 4…プログラムメモリ(エラー回復プログラム) 5…バックアップメモリ 6…トレー
スメモリ 6- 1 …アドレスメモリ(前回エラー) 6- 2 …保
存数メモリ 6- 3 …インデックスメモリ 6- 4 …最
大登録数メモリ 6- 5 …破壊状況保存メモリ 6-51 …アドレスメモリ(最新エラー) 6-52 …レ
ジスタメモリ 6-53 …カレンダーメモリ 6-54 …検
査アドレスメモリ 6-55 …検査データメモリ 6-56 …バックデータアップメモリ 6- 6 …アドレスメモリ(メモリ3の制御プログラムの
先頭アドレス) 6- 7 …アドレスメモリ(メモリ5の制御プログラムの
先頭アドレス) 6- 8 …保存データ量メモリ 6- 9 …命令
リトライカウンタ 6-10 …タスクリトライカウンタ 7…カレンダー 8…インター
フェース 9…CPUバス 10…入出力装
置(I/O) 11…表示装置 21…バックアップ処理 22…プログ
ラム制御起動処理 23…プログラム制御処理 24…エラー
判定処理 25…エラー回復処理 25-1…エラーデータ保存処理 25-2…制御プログラムの修復を行うか否かの判定処理 25-3…制御プログラムの修復処理 25-4…エラー発生アドレスの判定処理 25-5…命令の再実行処理 25-6…単位プログラムの再実行処理 25-7、25-8…エラー情報報知処理
Claims (1)
- 【請求項1】複数の単位プログラムでなる制御プログラ
ムが格納されるプログラムメモリと、前記制御プログラ
ムと同じ制御プログラムが格納されるバックアップメモ
リと、前記プログラムメモリから前記制御プログラムを
順次読み出してプログラム制御を実行するCPUと、エ
ラーが発生したとき、前記プログラムメモリとバックア
ップメモリのエラー発生アドレスを含む所定範囲の制御
プログラムの内容を比較して前記プログラムメモリの制
御プログラムの内容が壊れているか否かを判別し、壊れ
ている場合は前記プログラムメモリの前記所定範囲の制
御プログラムの内容を修復した後、プログラム制御の実
行を再開させるエラー回復処理手段とを備え、前記エラ
ー回復処理手段は、エラー発生アドレスが前回のエラー
発生アドレスと同一のとき、該エラー発生アドレスを含
む単位プログラムの先頭からプログラム制御の実行を再
開させ、エラー発生アドレスが前回のエラー発生アドレ
スと異なるとき、該エラー発生アドレスからプログラム
制御の実行を再開させる手段を備えたことを特徴とする
プログラム制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01174496A JP3357777B2 (ja) | 1996-01-26 | 1996-01-26 | プログラム制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01174496A JP3357777B2 (ja) | 1996-01-26 | 1996-01-26 | プログラム制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09204205A JPH09204205A (ja) | 1997-08-05 |
JP3357777B2 true JP3357777B2 (ja) | 2002-12-16 |
Family
ID=11786538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01174496A Expired - Fee Related JP3357777B2 (ja) | 1996-01-26 | 1996-01-26 | プログラム制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3357777B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3961478B2 (ja) | 2002-12-27 | 2007-08-22 | オムロン株式会社 | プログラマブルコントローラ用ユニット及びメモリ自動復旧方法 |
US7228469B2 (en) | 2003-01-02 | 2007-06-05 | Fujitsu Limited | Portable information device, method for recovering data in portable information device, and computer product |
JP5288711B2 (ja) * | 2007-02-02 | 2013-09-11 | 株式会社東芝 | 医用画像撮影装置 |
US8954797B2 (en) * | 2012-04-16 | 2015-02-10 | International Business Machines Corporation | Reconfigurable recovery modes in high availability processors |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61160106A (ja) * | 1985-01-08 | 1986-07-19 | Toshiba Corp | シ−ケンス制御装置 |
JPH0454656A (ja) * | 1990-06-22 | 1992-02-21 | Tokyo Electric Co Ltd | 電子機器 |
JPH0566936A (ja) * | 1991-09-06 | 1993-03-19 | Casio Comput Co Ltd | データ処理装置 |
JPH0752219A (ja) * | 1993-08-18 | 1995-02-28 | Japan Steel Works Ltd:The | 射出成形機の異常発生内容記憶装置 |
-
1996
- 1996-01-26 JP JP01174496A patent/JP3357777B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09204205A (ja) | 1997-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6502208B1 (en) | Method and system for check stop error handling | |
US7340638B2 (en) | Operating system update and boot failure recovery | |
EP0505706B1 (en) | Alternate processor continuation of the task of a failed processor | |
JP3481737B2 (ja) | ダンプ採取装置およびダンプ採取方法 | |
JP3357777B2 (ja) | プログラム制御システム | |
JPH07141176A (ja) | コマンドリトライ制御方式 | |
KR19990062427A (ko) | 장애복구기능을 갖는 컴퓨터 시스템 및 그 방법 | |
JP2004252525A (ja) | エミュレータおよびプログラム | |
JPH086865A (ja) | データ処理装置 | |
Maestri | The retryable processor | |
JP3342039B2 (ja) | ファイルを管理する処理装置 | |
US11836048B2 (en) | Information processing apparatus | |
JPH0424838A (ja) | マルチプロセッサの障害管理方式 | |
WO2017080140A1 (zh) | 主引导扇区的数据恢复方法及装置 | |
JP3516428B2 (ja) | 計算機 | |
KR19990057809A (ko) | 오류 방지 시스템 | |
JP2635777B2 (ja) | プログラマブル・コントローラ | |
JPS6132701B2 (ja) | ||
JPH08249091A (ja) | データ記憶装置 | |
JP2002007218A (ja) | メモリ照合方式 | |
JP2016076152A (ja) | エラー検出システム、エラー検出方法およびエラー検出プログラム | |
JPH07117902B2 (ja) | 情報処理装置の再立ち上げ装置 | |
JPH03130835A (ja) | 情報処理装置の再立ち上げ装置 | |
JPH0395634A (ja) | 計算機システム再起動制御方式 | |
JP2007041887A (ja) | デバッグ装置、そのメモリアクセス方法およびメモリアクセス方法を実現するプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081004 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081004 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091004 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101004 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111004 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111004 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121004 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131004 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |