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
Application number
JP01174496A
Other languages
English (en)
Other versions
JPH09204205A (ja
Inventor
耕三 廣前
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP01174496A priority Critical patent/JP3357777B2/ja
Publication of JPH09204205A publication Critical patent/JPH09204205A/ja
Application granted granted Critical
Publication of JP3357777B2 publication Critical patent/JP3357777B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)
  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、鉄鋼、製紙等のプ
ランとや車両搭載機器などの公共性の高いシステムのプ
ログラム制御に用いられる制御システムに係り、特に、
プログラムの異常によるシステムの暴走、システムダウ
ンを防止するとともに異常原因の発見を容易に行うこと
のできるプログラム制御システムに関する。
【0002】
【従来の技術】プログラム制御システムとして、プログ
ラムメモリに記憶された制御プログラムの命令を順次読
み出して実行させ、予定されたプログラム制御を行うこ
とが一般的に行われている。
【0003】プログラムメモリに記憶された制御プログ
ラムの内容が何らかの原因で破壊された場合、破壊され
た内容の制御プログラムが実行されると異常な処理が行
われ、場合によってはシステムが暴走したり、システム
ダウンすることがある。
【0004】また、制御プログラムの破壊を検出するこ
とができず、何時異常になったか、何故異常になったか
という原因を調査することに時間を費やし、速やかな復
元が困難であり、システムの暴走、システムダウンによ
りシステムユーザに大きな影響を与える場合があった。
【0005】
【発明が解決しようとする課題】本発明は、上記の事情
に鑑みてなされたもので、その目的とするところは、制
御プログラムの内容がプログラム制御の実行中に破壊さ
れたとき、破壊された制御プログラムの内容を自己復元
させ、プログラム制御を継続して実行させ、信頼性の高
いプログラム制御を行うとともにエラー情報を保存し破
壊の原因究明を容易に行うことのできるプログラム制御
システムを提供することにある。
【0006】
【課題を解決するための手段】本発明のプログラム制御
システムは、複数の単位プログラムでなる制御プログラ
ムが格納されるプログラムメモリと、前記制御プログラ
ムと同じ制御プログラムが格納されるバックアップメモ
リと、前記プログラムメモリから前記制御プログラムを
順次読み出してプログラム制御を実行するCPUと、エ
ラーが発生したとき、前記プログラムメモリとバックア
ップメモリのエラー発生アドレスを含む所定範囲の制御
プログラムの内容を比較して前記プログラムメモリの制
御プログラムの内容が壊れているか否かを判別し、壊れ
ている場合は前記プログラムメモリの前記所定範囲の制
御プログラムの内容を修復した後、プログラム制御の実
行を再開させるエラー回復処理手段とを備え、前記エラ
ー回復処理手段は、エラー発生アドレスが前回のエラー
発生アドレスと同一のとき、該エラー発生アドレスを含
む単位プログラムの先頭からプログラム制御の実行を再
開させ、エラー発生アドレスが前回のエラー発生アドレ
スと異なるとき、該エラー発生アドレスからプログラム
制御の実行を再開させる手段を備える。
【0007】
【発明の実施の形態】本発明のプログラム制御システム
の実施例を図1に示す。図1は本発明のハードウエア構
成を示したもので、1はシステム全体を統括制御するC
PU、2はおオペレーションプログラムを格納するシス
テムメモリ、3は複数の機能単位プログラムでなる制御
プログラムを格納するプログラムメモリ、4はエラー回
復処理プログラムを格納するプログラムメモリ、5はプ
ログラムメモリ3に格納された制御プログラムのコピー
が格納されるバックアップメモリ、6はエラー発生時に
CPU1のレジスタの内容やエラー情報(詳細後述)を
格納するトレースメモリ、7は現在の日付・時刻を決定
するカレンダー、8は外部装置と情報の授受を行うイン
ターフェースであり、これらの装置はCPUバス9によ
って接続される。インターフェース8は入出力装置10
や表示装置11等の外部装置との間で情報の授受を行
う。
【0008】CPU1はシステムメモリ2に格納された
オペレーションプログラムに基づいて動作し、この装置
が起動したとき、プログラムメモリ3に格納された制御
プログラムをバックアップメモリ5にコピーする。その
後、プログラム制御が開始され、CPU1はプログラム
メモリ3に格納された制御プログラムに基づいてプログ
ラム命令を実行し、インターフェース8を介して入出力
装置10との間でデータの授受を行いプログラム制御を
行う。
【0009】プログラム制御の実行中にエラーが発生す
ると、CPU1はプログラムメモリ4に格納されたエラ
ー回復処理プログラムを起動させ、エラー発生アドレ
ス、CPU1の各レジスタの値、カレンダー7の日時を
トレースメモリ6に格納し、プログラムメモリ3とバッ
クアップメモリ5のエラー発生アドレスを含む所定範囲
の制御プログラムの内容を比較し、プログラムの内容が
壊れているか否かを判別し、壊れている場合はプログラ
ムの内容を修復した後、プログラム制御の実行を再開さ
せる。これにより、エラー発生時のプログラム制御の暴
走及び停止を防止することができる。
【0010】トレースメモリ6は、図2に示すように、
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 はエラー発生アドレスを含む単位プログラムを再実
行した回数を格納するタスクリトライカウンタである。
【0011】上記構成において、プログラム制御システ
ムを起動させるとシステムメモリ2に格納されたオペレ
ーションプログラムに基づいて、図3に示す処理が開始
される。先ず、プログラムメモリ3に格納された制御プ
ログラムをバックアップメモリ5にコピーし、プログラ
ムメモリ3の制御プログラムの先頭アドレス、バックア
ップメモリ5の制御プログラムの先頭アドレス、制御プ
ログラムのサイズを、トレースメモリ6の、アドレスメ
モリ6- 6 、6- 7 、サイズメモリ6- 8 にそれぞれ格
納するバックアップ処理21が行われる。次に、プログ
ラム制御の起動処理22が開始され、プログラムメモリ
3に格納された制御プログラムのプログラム命令を順次
読み出して実行する通常のプログラム制御処理23が開
始される。この場合、エラーが発生しなければエラー判
定処理24を介して機能単位に分割された単位プログラ
ムが順次読み出され実行される。エラーが発生するとエ
ラー判定処理24を介してエラー回復処理25を起動さ
せ、プログラムメモリ4に格納されたエラー回復プログ
ラムに基づいてエラーの内容を調査し、プログラムに異
常があればバックアップメモリ5の制御プログラムを参
照して修復し、プログラム制御の実行を継続させる。
【0012】エラー回復処理25の処理内容を図4に示
す。エラーが検出されると先ずエラー発生状況をトレー
スメモリ6に格納するエラーデータ保存処理25-1が行
われる。すなわち、保存数メモリ6- 2 とインデックス
メモリ6- 3 の内容をカウントアップし、エラー発生ア
ドレスをアドレスメモリ6-51 に格納し、CPU1の全
てのレジスタの内容をレジスタメモリ6-52 に格納し、
その時点におけるカレンダー7の日付・時刻をカレンダ
ーメモリ6-53 に格納する。更に、エラー発生アドレス
の前後の所定範囲のアドレスを検査範囲アドレスとして
アドレスメモリ6-54 に格納し、この検査範囲アドレス
に該当する制御プログラムをプログラムメモリ3とバッ
クアップメモリ5からそれぞれ抽出して検査データメモ
リ6-55とバックアップデータメモリ6-56 に格納す
る。
【0013】保存数メモリ6- 2 とインデックスメモリ
6- 3 の内容は初期設定で0にセットされており、保存
数メモリ6- 2 の内容は累積エラー発生回数を示し、イ
ンデックスメモリ6- 3 の内容は破壊状況保存メモリ6
- 5 の最新情報の格納アドレスを示す。若し、インデッ
クスメモリ6- 3 の内容が最大登録数メモリ6- 4 の値
を越えた場合は0に初期化される。バックアップメモリ
5から抽出する制御プログラムのアドレスはアドレスメ
モリ6- 7 に格納された先頭アドレスを基準とし上記検
査範囲アドレスから計算して決定される。
【0014】図2は最大登録数メモリ6- 4 の値が8、
保存数メモリ6- 2 のエラー回数が10、インデックス
メモリ6- 3 の値が1の例で3〜10回目の8個のエラ
ー情報が保存された例である。またエラー発生アドレス
が前回のエラー発生アドレスと同じ場合を示しており、
アドレスメモリ6-51 にはアドレスメモリ6-1と同じア
ドレス(12345678H )が格納され、アドレスメモリ6-5
4 にはエラー発生アドレスを含む所定範囲のアドレス
(12345670H 〜1234569FH )が格納され、検査データメ
モリ6-55 とバックアップデータメモリ6-56 に上記所
定範囲のアドレスに対応する制御プログラムが格納され
た例である。
【0015】次に、検査データメモリ6-55 とバックア
ップデータメモリ6-56 に格納された最新データを比較
してプログラムの修復が必要か否かの判定処理25-2を
行う。すなわち、検査データメモリ6-55 とバックアッ
プデータメモリ6-56 に格納された上記検査範囲アドレ
スの制御プログラムが全て一致していれば修復を必要と
せず、全て一致していなければ修復が必要であると判定
する。修復が必要であると判定されるとプログラム修復
処理25-3を実行し、プログラムメモリ3の検査範囲ア
ドレスの内容をバックアップメモリ5の内容で更新し修
復する処理が行われる。図2は検査データメモリ6-55
に格納されたx印の制御プログラムが破壊されたデータ
を示し、プログラムメモリ3の所定範囲のアドレス(12
345670H〜1234569FH )の制御プログラムが修復され
る。
【0016】次に、アドレスメモリ6- 1 とアドレスメ
モリ6-51 の内容を比較して、エラー発生アドレスが前
回のエラー発生アドレスと同じであるか否かの判定処理
25-4を行う。エラー発生アドレスが前回のエラー発生
アドレスと異なると判定された場合、命令リトライカウ
ンタ6- 9 をカウントアップし、エラー発生アドレスか
らプログラム制御の実行を再開させる処理25-5を行
い、上記で保存した一連のエラー検出情報を表示装置1
1等の外部装置に報知する処理25-7を行う。
【0017】エラー発生アドレスが前回のエラー発生ア
ドレスと同じであると判定された(図2の例)場合、タ
スクリトライカウンタ6-10 をカウントアップし、エラ
ー発生アドレスを含む単位プログラムの先頭アドレスか
ら実行を再開させる処理25-6を行い、上記で保存した
一連のエラー検出情報を表示装置11等の外部装置に報
知する処理25-8を行う。
【0018】なお、命令リトライカウンタ6- 9 の内容
はエラー発生アドレスの命令を再実行した累積回数を示
し、タスクリトライカウンタ6-10 の内容はエラー発生
アドレスを含む単位プログラムを再実行した累積回数を
示しており、これらの情報をアラームと共にユーザ側へ
報知することができる。また、単位プログラムの先頭ア
ドレスは、図2のプログラム制御処理23で単位プログ
ラムを実行する度に更新保持され、再実行処理25-6か
ら実行が指令されたとき、この先頭アドレスから実行さ
せることにより単位プログラムの再実行が行われる。
【0019】本実施例によれば、ノイズなどの外乱によ
って制御プログラムの内容が破壊され、実行エラーが発
生した場合に、破壊された制御プログラムを自己復元さ
せて再実行させ、プログラム制御の継続実行が可能とな
り、プログラムの暴走やシステムダウンを防止すること
ができる。従って、高信頼性が要求される公共性の高い
システムのプログラム制御に効果的に適用することがで
きる。
【0020】
【発明の効果】本発明によれば、何らかの原因によって
制御プログラムの内容が破壊され、実行エラーが発生し
た場合に、破壊された制御プログラムを自己復元させて
再実行させ、プログラム制御の継続実行が可能となり、
プログラムの暴走やシステムダウンを防止することがで
き、信頼性の高いプログラム制御を行うことができるプ
ログラム制御システムを提供することができる。
【図面の簡単な説明】
【図1】本発明のプログラム制御システムのハードウエ
ア構成図
【図2】図1のトレースメモリ6の詳細構成図
【図3】本発明の作用を説明するためのフローチャート
【図4】図3のエラー回復処理の詳細なフローチャート
【符号の説明】
1…CPU 2…システ
ムメモリ 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…エラー情報報知処理
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/00 - 19/05 G05B 23/00 - 23/02

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の単位プログラムでなる制御プログラ
    ムが格納されるプログラムメモリと、前記制御プログラ
    ムと同じ制御プログラムが格納されるバックアップメモ
    リと、前記プログラムメモリから前記制御プログラムを
    順次読み出してプログラム制御を実行するCPUと、エ
    ラーが発生したとき、前記プログラムメモリとバックア
    ップメモリのエラー発生アドレスを含む所定範囲の制御
    プログラムの内容を比較して前記プログラムメモリの制
    御プログラムの内容が壊れているか否かを判別し、壊れ
    ている場合は前記プログラムメモリの前記所定範囲の制
    御プログラムの内容を修復した後、プログラム制御の実
    行を再開させるエラー回復処理手段とを備え、前記エラ
    ー回復処理手段は、エラー発生アドレスが前回のエラー
    発生アドレスと同一のとき、該エラー発生アドレスを含
    む単位プログラムの先頭からプログラム制御の実行を再
    開させ、エラー発生アドレスが前回のエラー発生アドレ
    スと異なるとき、該エラー発生アドレスからプログラム
    制御の実行を再開させる手段を備えたことを特徴とする
    プログラム制御システム。
JP01174496A 1996-01-26 1996-01-26 プログラム制御システム Expired - Fee Related JP3357777B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 射出成形機の異常発生内容記憶装置

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