JP6919597B2 - コンピュータおよびその制御方法 - Google Patents

コンピュータおよびその制御方法 Download PDF

Info

Publication number
JP6919597B2
JP6919597B2 JP2018036811A JP2018036811A JP6919597B2 JP 6919597 B2 JP6919597 B2 JP 6919597B2 JP 2018036811 A JP2018036811 A JP 2018036811A JP 2018036811 A JP2018036811 A JP 2018036811A JP 6919597 B2 JP6919597 B2 JP 6919597B2
Authority
JP
Japan
Prior art keywords
unit
information
backup
abnormality
computer
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.)
Active
Application number
JP2018036811A
Other languages
English (en)
Other versions
JP2019152995A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2018036811A priority Critical patent/JP6919597B2/ja
Priority to EP18211489.2A priority patent/EP3534259B1/en
Priority to CN201811517511.5A priority patent/CN110221932B/zh
Priority to US16/219,905 priority patent/US11023335B2/en
Publication of JP2019152995A publication Critical patent/JP2019152995A/ja
Application granted granted Critical
Publication of JP6919597B2 publication Critical patent/JP6919597B2/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Description

本発明は、コンピュータおよびその制御方法に関する。
コンピュータの異常を、ハードウェア構成のウォッチドックタイマ(WatchDog Timer、以下「WDT」と略称する。)で監視することが知られている(例えば特許文献1を参照)。また、前記コンピュータのプロセッサの異常を前記WDTにより検知した時に、各種のデータを揮発性メモリから不揮発性メモリにバックアップすることが知られている(例えば特許文献2を参照)。バックアップされたデータは、復元のために不揮発性メモリから揮発性メモリに書き込まれたり、異常の分析のために上位の管理装置に送信されたりする。
特開2008−040698号公報 特開2014−081700号公報
異常の原因となる事象には、異常を検知する前には発生しているが、異常を検知した時には既に消滅している場合もあり得る。このような場合、前記バックアップされたデータのみでは、異常を診断するには十分とは言い難い。
本開示の一態様は、前記課題を解決するためになされたものであり、その目的は、コンピュータの異常を精度よく診断することにある。
前記の課題を解決するために、本開示のさらに別の態様に係るコンピュータは、プロセッサ部および不揮発性記憶部を備えるコンピュータであって、前記プロセッサ部の異常を検知する異常検知部と、該異常検知部が異常を検知すると、前記コンピュータが有する情報の少なくとも一部をバックアップ情報として前記不揮発性記憶部に書き込むバックアップ部とを備えており、前記プロセッサ部は、該プロセッサ部にて発生するイベント情報を時系列で含むログ情報を前記不揮発性記憶部に書き込んでおり、前記バックアップ部は、前記ログ情報と前記バックアップ情報とを対応付けるための情報である対応付け用情報を前記バックアップ情報に追加するものである。
また、前記の課題を解決するために、本開示の他の態様に係るコンピュータの制御方法は、プロセッサ部および不揮発性記憶部を備えるコンピュータの制御方法であって、前記プロセッサ部にて発生するイベント情報を時系列で含むログ情報を前記不揮発性記憶部に書き込むステップと、前記プロセッサ部の異常を検知する異常検知ステップと、該異常検知ステップにて異常が検知されると、前記コンピュータが有する情報の少なくとも一部をバックアップ情報として前記不揮発性記憶部に書き込むバックアップステップとを含んでおり、前記バックアップステップは、前記ログ情報と前記バックアップ情報とを対応付けるための情報である対応付け用情報を前記バックアップ情報に追加する方法である。
前記の構成および方法によると、ログ情報とバックアップ情報とを対応付けるための情報である対応付け用情報が前記バックアップ情報に追加される。従って、前記コンピュータを診断する場合、プロセッサ部の異常を検知した時の情報であるバックアップ情報だけでなく、プロセッサ部にて発生するイベント情報を時系列で含むログ情報とを利用することができる。その結果、前記コンピュータの異常を精度よく診断することができる。
なお、前記バックアップ情報は、前記コンピュータの動作状態を示す情報など、前記コンピュータを診断するのに必要な情報であることが好ましい。
前記コンピュータでは、前記対応付け用情報は、前記プロセッサ部が起動した回数を示す起動回数情報であってもよい。前記起動回数情報は、通常、前記プロセッサ部の起動時に前記ログ情報に含まれる。従って、前記起動回数にて前記コンピュータが起動した時点以降の前記ログ情報を前記バックアップ情報に対応付けることができる。
ところで、前記起動回数情報は、前記プロセッサ部が有する情報である。このため、前記プロセッサ部に異常が発生した場合、前記起動回数情報を取得できない虞がある。そこで、前記プロセッサ部は、起動時に前記起動回数情報を前記不揮発性記憶部に記憶しており、前記バックアップ部は、前記異常検知部が異常を検知すると、前記不揮発性記憶部から前記起動回数情報を読み出して前記バックアップ情報に追加することが好ましい。これにより、前記起動回数情報を前記バックアップ情報に確実に追加することができる。
前記コンピュータでは、前記異常を検知した日時を示すタイムスタンプであってもよい。前記ログ情報には、通常、前記イベントが発生した日時が含まれている。従って、前記タイムスタンプが示す日時以前の前記ログ情報を前記バックアップ情報に対応付けることができる。
ところで、前記プロセッサ部は、前記異常により再起動できないことがあり得る。そこで、前記コンピュータは、前記異常検知部が異常を検知すると、前記プロセッサ部を再起動させるリセット部をさらに備えてもよい。この場合、前記プロセッサ部を確実に再起動することができる。
前記コンピュータでは、前記不揮発性記憶部には、前記異常検知部が最近検知した複数回の異常にそれぞれ対応する複数のバックアップ情報が書き込まれていてもよい。この場合、前記複数のバックアップ情報のそれぞれを、前記ログ情報に対応付けることができる。従って、前記ログ情報と前記複数のバックアップ情報とを用いてコンピュータを診断できるので、前記コンピュータの異常をさらに精度よく診断することができる。
ところで、前記プロセッサ部が前記不揮発性記憶部にアクセスしている時に前記プロセッサ部に異常が発生する場合があり得る。この場合、前記バックアップ部が前記バックアップ情報を前記不揮発性記憶部に書き込めない可能性がある。
そこで、前記バックアップ部は、前記不揮発性記憶部へのアクセス権をリセットした後に、前記バックアップ情報を前記不揮発性記憶部に書き込んでもよい。この場合、前記バックアップ部が前記バックアップ情報を前記不揮発性記憶部に確実に書き込むことができる。
なお、前記不揮発性記憶部へのアクセス権をリセットする方法としては、前記プロセッサを再起動する、前記プロセッサ部および前記バックアップ部と前記不揮発性記憶部との間に設けられたバスをリセットする、前記不揮発性記憶部の動作をリセットする、等が挙げられる。
本開示の一態様によれば、コンピュータの異常を精度よく診断できるという効果を奏する。
本発明の一実施形態に係るプログラマブルコントローラの診断システムの適用場面の一例を示す概略のブロック図である。 前記プログラマブルコントローラのハードウェア構成の一例を示す回路図である。 前記プログラマブルコントローラの詳細な構成の一例を示すブロック図である。 前記プログラマブルコントローラにおいて、CPUがフラッシュメモリに書き込まれるイベントログの一例をテキスト形式で示す図である。 前記プログラマブルコントローラにおけるEEPROMのフォーマットの一例を示す図である。 前記プログラマブルコントローラにおける動作の一例を示すシーケンス図である。
以下、本発明の実施の形態について、詳細に説明する。
§1 適用例
図1は、本実施形態に係るプログラマブルコントローラ(Programmable Logic Controller、以下「PLC」と略称する。)診断システムの適用場面の一例を示す概略のブロック図である。図1に示すように、PLC診断システム1は、PLC2(コンピュータ)と解析用デバイス3とを備えている。PLC診断システム1において、ユーザは、PLC2に異常が発生した場合に、各種データを解析用デバイス3によって解析することにより、PLC2の上記異常を診断する。前記診断の例としては、異常の発生原因の特定、異常の発生確率の分析、などが挙げられる。
PLC2にて異常が発生すると、ユーザは、PLC2を再起動し、PLC2に解析用デバイス3を、USB(Universal Serial Bus)ケーブル、LAN(Local Area Network)ケーブル等のケーブルを介して接続する。そして、解析用デバイス3においてPLC2から必要なデータを取得し解析して、PLC2の診断を行う。
図1に示すように、PLC2は、イベントログ(ログ情報)とバックアップデータ(バックアップ情報)とを記憶している。前記イベントログは、PLC2のCPU31(図3を参照)にて発生するイベント情報を時系列で含むものである。また、前記バックアップデータは、PLC2のCPU31の異常を検知した時に前記診断に必要な情報をバックアップしたデータである。なお、PLC2の詳細については後述する。
解析用デバイス3は、通常のPC(Personal Computer)によって構成され、制御部4および入出力部5を備える。制御部4は、解析用デバイス3内の各種構成の動作を統括的に制御するものであり、例えばCPU(Central Processing Unit)およびメモリを含むコンピュータによって構成される。そして、各種構成の動作制御は、制御プログラムをコンピュータに実行させることによって行われる。
入出力部5は、ユーザと情報の入出力を行うものである。入出力部5は、タッチパネル、ディスプレイなどの入出力デバイスを備えている。
図1に示すように、制御部4は、PLC2から前記イベントログおよび前記バックアップデータを取得する。ユーザは、前記イベントログおよび前記バックアップデータを適宜対応付けて、PLC2において発生した異常の原因を診断する。
前記したように、PLC2は、前記イベントログと前記バックアップデータとを対応付けるための情報である対応付け用情報を前記バックアップデータに追加している。これにより、ユーザは、前記対応付け用情報を用いて、前記イベントログと前記バックアップデータとを対応付けることができる。すなわち、ユーザは、前記異常を検知した時のデータであるバックアップデータだけでなく、CPU31にて発生するイベント情報を時系列で含むイベントログを用いてPLC2を診断することができる。その結果、PLC2を精度よく診断することができる。
本実施形態では、PLC2は、CPU31が起動した回数である起動回数(対応付け用情報、起動回数情報)を前記バックアップデータに追加している。前記起動回数は、通常、前記イベントログにも含まれている。従って、制御部4は、前記バックアップデータに含まれる起動回数にてCPU31が起動した時点以降の前記イベントログを当該バックアップデータに対応付けることができる。
なお、PLC2は、起動回数の代わりに、前記異常を検知した日時を示すタイムスタンプを前記バックアップデータに追加してもよい。前記イベントログには、通常、前記イベントが発生した日時が含まれている。従って、制御部4は、前記タイムスタンプが示す日時以前の前記イベントログを当該バックアップデータに対応付けることができる。その結果、PLC2を精度よく診断することができる。
なお、PLC2は、最近検知した複数回の前記異常にそれぞれ対応する複数のバックアップデータを記憶していてもよい。この場合、制御部4は、前記複数のバックアップデータをPLC2から取得し、前記複数のバックアップデータのそれぞれと前記イベントログとを対応付けることができる。その結果、PLC2をさらに精度よく診断することができる。
§2 構成例
図2は、PLC2のハードウェア構成の一例を示す回路図である。PLC2は、マイクロプロセッサを内蔵し、ユーザが変更可能なプログラムによって機器を制御するものである。図2に示すように、PLC2は、FPGA(Field-Programmable Gate Array)11、フラッシュメモリ(登録商標)12(不揮発性記憶部)、EEPROM(Electrically Erasable Programmable Read-Only Memory、登録商標)13(不揮発性記憶部)、およびバス14を備えている。
FPGA11は、製造後にユーザが構成を設定できる集積回路である。本実施形態では、FPGA11は、PLC2の機能を1つのチップに集約したSoC(System on a Chip)型のFPGAである。FPGA11は、FPGAとして機能するFPGA部21と、プロセッサを備え、FPGA部21を制御するHPS(Hard Processer System)部22(プロセッサ部)とを備えている。
フラッシュメモリ12およびEEPROM13は、書き換え可能な不揮発性メモリの一種である。フラッシュメモリ12に対しては、HPS部22がアクセス可能である。EEPROM13に対しては、FPGA部21およびHPS部22がバス14を介してアクセス可能である。
図3は、PLC2の詳細な構成の一例を示すブロック図である。図3に示すように、HPS部22は、CPU31、RAM(Random Access Memory)32、およびI/O(Input/Output)レジスタ33を備えている。FPGA部21は、WDT41(異常検知部)、バックアップ部42、およびリセット指示部43(リセット部)を備えている。
ところで、フラッシュメモリ12は、ブロック単位で消去を行う必要があるが、EEPROM13に比べてメモリ容量を大きくすることができる。一方、EEPROM13は、新しいデータを書き込むだけで古いデータを書き換えることができる。従って、フラッシュメモリ12は、比較的大きなデータ量のデータを書き込むために利用され、EEPROM13には、比較的小さなデータ量のデータを高速で書き込むために利用される。
そこで、本実施形態では、フラッシュメモリ12は、比較的大きなデータ量であるイベントログが書き込まれるイベントログ部51を備える。前記イベントログは、HPS部22にて発生するイベント情報を時系列で含むものである。また、EEPROM13は、比較的小さなデータ量である前記起動回数、バックアップ書込み回数、およびバックアップデータがそれぞれ書き込まれる起動回数部52、書込み回数部53、およびバックアップデータ部54を備える。前記バックアップ書込み回数は、前記バックアップデータを書き込んだ回数である。なお、バックアップデータの詳細については後述する。
次に、HPS部22の各構成について説明する。CPU31は、HPS部22内の各種構成の動作を統括的に制御するものである。CPU31は、ROM(図示せず)に記憶された制御プログラムを実行することにより前記制御を行う。RAM32は、揮発性メモリであり、作業用ファイル、テンポラリファイルなど、CPU31にて一時的に利用されるデータが記憶される。
図4は、CPU31が起動を開始してからフラッシュメモリ12のイベントログ部51に書き込まれるイベントログの一例をテキスト形式で示す図である。図4に示されるように、前記イベントログは、ログインデックスの情報(LogIndex)を含む。該ログインデックスの情報は、上記対応付け用情報であり、図4の例では、起動回数(00000016)である。CPU31は、起動時に起動回数を増分し、フラッシュメモリ12のイベントログ部51に書き込む。さらに、本実施形態では、CPU31は、前記起動回数をEEPROM13にも書き込む。
また、前記イベントログは、記録開始時刻を示す情報(Start Time Data)を含む。図4の例では、上記記録開始時刻を示す情報として、図示しないRTC(Real Time Clock)、HPS部22、およびFPGA部21のそれぞれがカウントする時刻情報が含まれている。
また、前記イベントログには、CPUカウント(CPU count)とイベントID(ID name)とが対応付けられている。前記CPUカウントはイベントの発生時刻に対応し、前記イベントIDは、イベントを識別するものである。従って、ユーザは、前記イベントログを参照することにより、或る時刻にどのようなイベントが発生したかを把握することができる。
I/Oレジスタ33は、HPS部22およびFPGA部21の双方がアクセス可能なレジスタである。なお、I/Oレジスタ33は、FPGA部21に設けてもよい。
次に、FPGA部21の各構成について説明する。WDT41は、CPU31が正常に動作しているか否かを監視するデバイスである。WDT41は、CPU31から定期的に送信される信号(WDTクリア信号)を受信しており、所定の期間を経過してもWDTクリア信号を受信しないことにより、CPU31に何らかの異常(プログラムハングアップなど)が発生していることを検知する。WDT41は、前記異常の発生を検知した旨をバックアップ部42およびリセット指示部43に通知する。
バックアップ部42は、WDT41からの前記通知を受け取ると、バックアップデータを作成するものである。バックアップ部42は、作成したバックアップデータをEEPROM13のバックアップデータ部54に書き込む。
リセット指示部43は、WDT41からの前記通知を受け取ると、HPS部22をリセットするように或るデバイスに指示するものである。前記デバイスの例としては、電源デバイスのリセットICが挙げられる。これにより、CPU31の異常によりHPS部22を再起動できない場合でも、リセット指示部43によりHPS部22を確実に再起動することができる。
図5は、EEPROM13のフォーマットの一例を示す図である。図5の例では、EEPROM13は、起動回数部52と、書込み回数部53と、4つのバックアップデータ部54とを備えている。起動回数部52に記憶される起動回数は、2バイトのデータであり、上述のようにCPU31から書き込まれる。
書込み回数部53に記憶されるバックアップ書込み回数は、1バイトのデータである。バックアップ部42は、バックアップデータを作成する場合に書込み回数部53からバックアップ書込み回数を読み出す。また、バックアップ部42は、作成したバックアップデータをEEPROM13のバックアップデータ部54に書き込むときに、前記バックアップ書込み回数を増分してEEPROM13の書込み回数部53に書き込む。
また、バックアップ部42は、EEPROM13から読み出したバックアップ書込み回数に基づいて、バックアップデータを書き込むバックアップデータ部54を変更している。具体的には、バックアップ部42は、バックアップ書込み回数の下位2ビットが「00」、「01」、「10」、および「11」である場合、それぞれ、1番目〜4番目のバックアップデータ部54a〜54dにバックアップデータを書き込む。これにより、最新(最近)の4つのバックアップデータをEEPROM13に記憶することができる。
また、図5に示すように、各バックアップデータ部54に記憶されるバックアップデータは、前記起動回数、FPGA部診断用情報、およびHPS部診断用情報を含んでいる。
FPGA部診断用情報は、所定サイズのデータであり、CPU31の異常を検知した場合に、解析用デバイス3がPLC2を診断するのに必要な情報であって、FPGA部21にて収集可能な情報である。FPGA部診断用情報の例としては、FPGA部21の内部モジュールの動作状態、外部信号の状態などが挙げられる。
HPS部診断用情報は、所定サイズのデータであり、CPU31の異常を検知した場合に、解析用デバイス3が前記異常を診断するのに必要な情報であって、HPS部22にて収集可能な情報である。すなわち、HPS部診断用情報は、HPS部22が有する情報の少なくとも一部である。HPS部診断用情報は、CPU31にて実行されるソフトウェアが定義し、I/Oレジスタ33に格納する。これにより、HPS部診断用情報をFPGA制御部33のバックアップ部42が取得することができる。
§3 動作例
図6は、PLC2における動作の一例を示すシーケンス図である。まず、CPU31が起動すると(T11)、起動回数をEEPROM13の起動回数部52に書き込む。次に、WDT41がCPU31の監視を開始する(T21)。すなわち、WDT41は、前記WDTクリア信号を受信してから所定の期間内に前記WDTクリア信号を再受信した場合、CPU31に異常が発生していないと判断する(T22)。一方、WDT41は、前記WDTクリア信号を受信してから所定の期間内に前記WDTクリア信号を再受信しなかった場合、CPU31に異常が発生していると判断する(T24)。これにより、バックアップ部42は、HPS部22におけるI/Oレジスタ33にアクセスしてHPS部診断用情報を取得する(T25)。また、バックアップ部42は、FPGA部診断用情報をFPGA部21から収集する。
次に、リセット指示部43は、リセットを指示するリセット信号を電源部(Power Supply)のリセットIC(Reset IC)に送信する(T26)。これにより、HPS部22はリセットされる。
次に、バックアップ部42は、バス14(図2参照)を介してEEPROM13をソフトウェアリセットする(T27)。これは下記の理由による。
すなわち、CPU31がEEPROM13にアクセスしている時にCPU31に異常が発生する場合があり得る。この場合、バックアップ部42が上記バックアップデータをEEPROM13に書き込めないという問題点が発生する可能性がある。
そこで、バックアップ部42は、CPU31に異常が発生していると判断した場合に、EEPROM13をソフトウェアリセットしている。これにより、EEPROM13へのアクセス権がリセットされ、バックアップ部42は、後述のように、上記バックアップデータをEEPROM13に確実に書き込むことができる。
なお、上記ステップT27の代わりに、バックアップ部42は、バス14をリセットするように、バス14のコントローラ(図示せず)に指示してもよい。また、上記ステップT27は省略してもよい。この場合でも、上記ステップT26によりHPS部22がリセットされるので、いずれは上記問題点が解消されるからである。
次に、バックアップ部42は、EEPROM13から起動回数およびバックアップ書込み回数を読み出し(T28)、前記起動回数、前記FPGA部診断用情報、および前記HPS部診断用情報を含むバックアップデータを作成する。次に、バックアップ部42は、作成したバックアップデータを前記バックアップ書込み回数に基づくEEPROM13のバックアップデータ部54における領域に書き込む(T29)。そして、バックアップ部42は、前記バックアップ書込み回数をインクリメントして、EEPROM13の書込み回数部53に書き込む(T30)。
上述のように、CPU31は、起動時(T11)に、起動回数をEEPROM13の起動回数部52に書き込み、バックアップ部42は、CPU31に異常が発生したときにEEPROM13から起動回数を読み出して(T28)、該起動回数をバックアップデータに追加している。これにより、CPU31に異常が発生したとしても、CPU31が有する起動回数の情報をバックアップ部42が取得することができる。従って、上記起動回数をバックアップデータに確実に追加することができる。
§4 変形例
なお、本実施形態では、バックアップ部42は、起動回数の代わりに異常を検知した日時を示すタイムスタンプをバックアップデータに含めてもよい。この場合、CPU31がEEPROM13に起動回数を書き込む必要がなくなる。一方、起動回数のデータ量は、図5の例のように、2バイトであるが、前記タイムスタンプは、通常、4バイトである。従って、バックアップデータ部54のデータ量を増やす必要がある。
また、本実施形態では、解析用デバイス3の診断対象をPLC2としたが、これに限定されるものではない。例えばEtherCAT(Ethernet(登録商標) for Control Automation Technology)用カプラなど、CPUを備える任意の電子機器に本発明を適用することができる。
また、本実施形態では、PLC2は、上記イベントログおよび上記バックアップデータを、解析用デバイス3からの要求に基づき送信しているが、インターネット等の通信ネットワークを介してサーバに自動的に送信してもよい。この場合、解析用デバイス3は、上記イベントログおよび上記バックアップデータを上記サーバから取得すればよく、PLC2にケーブルを介して接続しなくてもよい。
〔ソフトウェアによる実現例〕
PLC2および解析用デバイス3の制御ブロック(特に制御部4、CPU31、およびバックアップ部42)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、PLC2および解析用デバイス3は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPUを用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAMなどをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 PLC診断システム
2 PLC(コンピュータ)
3 解析用デバイス
4 制御部
5 入出力部
11 FPGA
12 フラッシュメモリ(不揮発性記憶部)
13 EEPROM(不揮発性記憶部)
14 バス
21 FPGA部
22 HPS部(プロセッサ部)
31 CPU
32 RAM
33 I/Oレジスタ
41 WDT(異常検知部)
42 バックアップ部
43 リセット指示部(リセット部)
51 イベントログ部
52 起動回数部
53 回数部
54、54a〜54d バックアップデータ部

Claims (6)

  1. プロセッサ部および不揮発性記憶部を備えるコンピュータであって、
    前記プロセッサ部の異常を検知する異常検知部と、
    該異常検知部が異常を検知すると、前記コンピュータが有する情報の少なくとも一部をバックアップ情報として前記不揮発性記憶部に書き込むバックアップ部とを備えており、
    前記プロセッサ部は、該プロセッサ部にて発生するイベント情報を時系列で含むログ情報を前記不揮発性記憶部に書き込んでおり、
    前記バックアップ部は、前記ログ情報と前記バックアップ情報とを対応付けるための情報である対応付け用情報を前記バックアップ情報に追加しており、
    前記対応付け用情報は、前記プロセッサ部が起動した回数を示す起動回数情報であることを特徴とするコンピュータ。
  2. 前記プロセッサ部は、起動時に前記起動回数情報を前記不揮発性記憶部に記憶しており、
    前記バックアップ部は、前記異常検知部が異常を検知すると、前記不揮発性記憶部から前記起動回数情報を読み出して前記バックアップ情報に追加することを特徴とする請求項に記載のコンピュータ。
  3. 前記異常検知部が異常を検知すると、前記プロセッサ部を再起動させるリセット部をさらに備えることを特徴とする請求項1または2に記載のコンピュータ。
  4. 前記不揮発性記憶部には、前記異常検知部が最近検知した複数回の異常にそれぞれ対応する複数のバックアップ情報が書き込まれていることを特徴とする請求項1からまでの何れか1項に記載のコンピュータ。
  5. 前記バックアップ部は、前記不揮発性記憶部へのアクセス権をリセットした後に、前記バックアップ情報を前記不揮発性記憶部に書き込むことを特徴とする請求項1からまでの何れか1項に記載のコンピュータ。
  6. プロセッサ部および不揮発性記憶部を備えるコンピュータの制御方法であって、
    前記コンピュータが、前記プロセッサ部にて発生するイベント情報を時系列で含むログ情報を前記不揮発性記憶部に書き込むステップと、
    前記コンピュータが、前記プロセッサ部の異常を検知する異常検知ステップと、
    該異常検知ステップにて異常が検知されると、前記コンピュータが有する情報の少なくとも一部をバックアップ情報として前記コンピュータが前記不揮発性記憶部に書き込むバックアップステップとを含んでおり、
    前記バックアップステップは、前記ログ情報と前記バックアップ情報とを対応付けるための情報である対応付け用情報を前記バックアップ情報に追加しており、
    前記対応付け用情報は、前記プロセッサ部が起動した回数を示す起動回数情報であることを特徴とするコンピュータの制御方法。
JP2018036811A 2018-03-01 2018-03-01 コンピュータおよびその制御方法 Active JP6919597B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018036811A JP6919597B2 (ja) 2018-03-01 2018-03-01 コンピュータおよびその制御方法
EP18211489.2A EP3534259B1 (en) 2018-03-01 2018-12-11 Computer and method for storing state and event log relevant for fault diagnosis
CN201811517511.5A CN110221932B (zh) 2018-03-01 2018-12-12 计算机及其控制方法
US16/219,905 US11023335B2 (en) 2018-03-01 2018-12-13 Computer and control method thereof for diagnosing abnormality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018036811A JP6919597B2 (ja) 2018-03-01 2018-03-01 コンピュータおよびその制御方法

Publications (2)

Publication Number Publication Date
JP2019152995A JP2019152995A (ja) 2019-09-12
JP6919597B2 true JP6919597B2 (ja) 2021-08-18

Family

ID=64664622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018036811A Active JP6919597B2 (ja) 2018-03-01 2018-03-01 コンピュータおよびその制御方法

Country Status (4)

Country Link
US (1) US11023335B2 (ja)
EP (1) EP3534259B1 (ja)
JP (1) JP6919597B2 (ja)
CN (1) CN110221932B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527541A (zh) 2019-09-19 2021-03-19 华为技术有限公司 一种确定多核处理器中故障计算核的方法及电子设备
KR20230089448A (ko) * 2021-12-13 2023-06-20 현대자동차주식회사 차량용 임베디드 제어기의 리셋 원인 결정 방법 및 그 방법이 적용된 차량용 임베디드 제어기
CN114721880B (zh) * 2022-05-19 2022-09-09 中诚华隆计算机技术有限公司 任务恢复方法、soc芯片及电子设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61133465A (ja) * 1984-11-30 1986-06-20 Seiko Epson Corp Cpuの切換方法
DE69425118T2 (de) * 1993-12-17 2001-03-22 Denso Corp Datensicherungsvorrichtung für ein elektronisches Steuerungssystem und Datensicherungsverfahren zur Anwendung in der Datensicherungsvorrichtung
JP3138709B2 (ja) * 1993-12-21 2001-02-26 アイシン・エィ・ダブリュ株式会社 車両用電子制御装置の自己故障診断方法及び装置
DE19611942C2 (de) * 1996-03-26 2003-02-20 Daimler Chrysler Ag Halbleiterschaltkreis für ein elektronisches Steuergerät
JP3704871B2 (ja) * 1997-03-17 2005-10-12 富士通株式会社 障害調査情報装置
US7206970B1 (en) * 2002-02-07 2007-04-17 Network Appliance, Inc. System and method for diagnostics execution and data capture in a storage system using nonvolatile memory
US7266726B1 (en) * 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US20050229020A1 (en) * 2004-04-06 2005-10-13 International Business Machines (Ibm) Corporation Error handling in an embedded system
JP2008040698A (ja) 2006-08-04 2008-02-21 Meidensha Corp プログラマブルコントローラの異常監視方式
US7681089B2 (en) * 2007-02-20 2010-03-16 Dot Hill Systems Corporation Redundant storage controller system with enhanced failure analysis capability
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
JP2009205633A (ja) * 2008-02-29 2009-09-10 Nec Infrontia Corp 情報処理システム及び情報処理方法
JP5510655B2 (ja) * 2010-06-16 2014-06-04 コニカミノルタ株式会社 画像処理装置
US20130086933A1 (en) * 2011-10-07 2013-04-11 Colleen M. Holtkamp Controller for a medical products storage system
CN104137077B (zh) * 2012-02-13 2017-07-14 三菱电机株式会社 处理器系统
JP5740332B2 (ja) * 2012-03-07 2015-06-24 株式会社東芝 伝送システム及びログデータ収集装置
JP6145987B2 (ja) * 2012-10-15 2017-06-14 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラのデータバックアップ方法、プログラマブルコントローラの起動方法
JP2016181055A (ja) * 2015-03-23 2016-10-13 株式会社東芝 情報処理装置
US20170147422A1 (en) * 2015-11-23 2017-05-25 Alcatel-Lucent Canada, Inc. External software fault detection system for distributed multi-cpu architecture
JP6617618B2 (ja) * 2016-03-11 2019-12-11 富士通株式会社 情報処理装置および制御プログラム
JP6701917B2 (ja) * 2016-04-22 2020-05-27 日本電気株式会社 異常事態通知装置、方法およびプログラム
US10725848B2 (en) * 2018-02-07 2020-07-28 Intel Corporation Supporting hang detection and data recovery in microprocessor systems

Also Published As

Publication number Publication date
EP3534259A1 (en) 2019-09-04
US20190272218A1 (en) 2019-09-05
CN110221932A (zh) 2019-09-10
CN110221932B (zh) 2023-04-14
US11023335B2 (en) 2021-06-01
JP2019152995A (ja) 2019-09-12
EP3534259B1 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US9857998B2 (en) Backup storage of vital debug information
CN105808270B (zh) 固件变量更新方法
US8918778B2 (en) Method of fail safe flashing management device and application of the same
JP6919597B2 (ja) コンピュータおよびその制御方法
TW201633133A (zh) 自動除錯資訊收集之方法及系統
US9448889B2 (en) BIOS failover update with service processor
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
WO2023115999A1 (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
JP7063445B2 (ja) 障害情報処理プログラム、コンピュータ、障害通知方法、コンピュータシステム
TWI808362B (zh) 可自我監視及恢復作業系統運作的電腦系統及方法
JP2011076295A (ja) 組込系コントローラ
JP5579257B2 (ja) 主記憶装置における情報を復元するための装置及び方法
JP2007172096A (ja) 情報処理装置、および、その起動制御方法
JP5223688B2 (ja) 無停電電源装置の管理装置および管理方法
US20170192831A1 (en) Detection and automatic transfer of standalone system dumps
JP2015130023A (ja) 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム
TWI709045B (zh) 遠端查看伺服器開機狀態的方法與伺服器
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP7180319B2 (ja) 情報処理装置、及び情報処理装置のダンプ管理方法
JP6121928B2 (ja) 通信装置、及び、データ管理方法
CN112486742A (zh) 远端查看服务器开机状态的方法与服务器
CN113553073A (zh) 系统刷写方法、装置、电子设备及可读存储介质
CN117453477A (zh) 基于ssd失效场景下的转储实现方法、装置和计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210511

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: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6919597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250