JP2021047526A - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
JP2021047526A
JP2021047526A JP2019168578A JP2019168578A JP2021047526A JP 2021047526 A JP2021047526 A JP 2021047526A JP 2019168578 A JP2019168578 A JP 2019168578A JP 2019168578 A JP2019168578 A JP 2019168578A JP 2021047526 A JP2021047526 A JP 2021047526A
Authority
JP
Japan
Prior art keywords
unit
abnormality
soft error
control device
recorded
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
JP2019168578A
Other languages
English (en)
Other versions
JP7268554B2 (ja
Inventor
好博 中谷
Yoshihiro Nakatani
好博 中谷
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 JP2019168578A priority Critical patent/JP7268554B2/ja
Priority to CN202080056783.9A priority patent/CN114222954A/zh
Priority to US17/635,370 priority patent/US20220334548A1/en
Priority to EP20866664.4A priority patent/EP4033313A4/en
Priority to PCT/JP2020/009061 priority patent/WO2021053853A1/ja
Publication of JP2021047526A publication Critical patent/JP2021047526A/ja
Application granted granted Critical
Publication of JP7268554B2 publication Critical patent/JP7268554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1105I-O
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15057FPGA field programmable gate array

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減する。【解決手段】制御装置(100)は、演算処理部(10)と、プログラマブル回路部(20)と、異常通知部(26)と、を備え、プログラマブル回路部(20)は、コンフィグレーションデータを格納する格納部(21)と、格納部(21)のソフトエラーを検出する異常検出部(22)と、異常検出部(22)が検出したソフトエラーの情報を記録する異常記録部(24)と、を備え、異常通知部(26)は、異常記録部(24)に新規のソフトエラーの情報が記録されているか否かを判定し、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部(10)に通知する。【選択図】図2

Description

本発明は制御装置および制御方法に関する。
生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下、PLCとも称す)などの制御装置によって制御される。典型的には、ユーザは、情報処理装置を用いて制御装置で実行される制御プログラムを作成する。このようなユーザによって自由に設計・作成されるプログラムをユーザプログラムとも称す。
PLCは、中央処理装置(Central Processing Unit;以下、CPUとも称す)と、I/O(Input/Output)ユニットなどの機能ユニットとを含む。I/Oユニットは、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を行う。機能ユニットについては、FPGA(Field-programmable gate array)などのプログラマブル回路を用いて実現される場合がある。
プログラマブル回路は、ユーザが独自に回路を構築できるメリットを有している。一方で、プログラマブル回路は、プログラマブル回路の内部に設けられたコンフィグレーションデータを格納するConfigRAM(以下、CRAMとも称す)の情報が放射線等により変更されるソフトエラーが発生する可能性があるデメリットを有している。特に、CRAMとしてSRAM(Static random access memory)を利用する場合、ソフトエラーが発生しやすい。
CRAMには、機能ユニットを構成している使用領域と、機能ユニットを構成していない未使用領域とが混在しており、ソフトエラーは、使用領域および未使用領域のいずれでも発生する可能性がある。使用領域でソフトエラーが発生した場合には、制御装置の制御に不具合が生じる可能性があるのに対し、未使用領域でソフトエラーが発生した場合には、制御装置の制御に不具合が生じる可能性が低い。そこで特許文献1には、ソフトエラーが発生した位置をマップ情報に基づいて判定し、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合には、運転を継続して不要な運転停止を防止できる制御装置が開示されている。
特開2018−128820号公報
しかしながら、上述のような従来技術では、一度ソフトエラーが発生すると、FPGA部が周期的にエラー検出を行う度に、プロセッサ部に割込通知が送信される。そのため、プロセッサ部はその度に通常の処理を中断し、ソフトエラーの解析を行う必要がある。この場合、数ms〜数十msに1回という高頻度で割込処理が発生するため、プロセッサ部での制御周期に揺らぎが発生し、高精度な制御が難しくなるという問題がある。
本発明の一態様は、制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減することを目的とする。
上記の課題を解決するために、本発明の一側面に係る制御装置は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、異常通知部と、を備え、前記プログラマブル回路部は、前記機能部のコンフィグレーションデータを格納する格納部と、前記格納部のソフトエラーを検出する異常検出部と、前記異常検出部が検出した前記ソフトエラーの情報を記録する異常記録部と、を備え、前記異常通知部は、前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する。
上記の構成によれば、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部に通知するので、演算処理部に対する異常通知の頻度を低下させることができる。したがって、ソフトエラーの処理に関する演算処理部の負荷を低減することができる。
前記一側面に係る制御装置において、前記演算処理部は、前記異常通知部から前記新規のソフトエラーの発生を通知されたときに、前記異常記録部に記録された前記ソフトエラーの情報を解析し、該ソフトエラーが解析済であることを前記異常記録部に書き込む異常解析部を備えてもよい。上記の構成によれば、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されているか否かを確実に判定することができる。
前記一側面に係る制御装置において、前記異常解析部は、前記ソフトエラーが発生した位置が前記機能部の前記コンフィグレーションデータを格納している使用領域に含まれるか前記コンフィグレーションデータを格納していない未使用領域に含まれるかを解析してもよい。上記の構成によれば、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合、運転を継続することができるため、不要な運転停止を防止することができる。
前記一側面に係る制御装置において、前記演算処理部は逐次処理を行い、前記プログラマブル回路部は並列処理を行ってもよい。上記の構成によれば、並列処理が可能なプログラマブル回路部がソフトエラーの検出およびソフトエラーの情報の記録を行うため、これらの処理のために他の処理の進行を妨げる可能性が低い。
一方、演算処理部は逐次処理を行うので、ソフトエラーの発生が通知されると、他の処理を中断する必要が生じることがある。しかし、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部に通知するので、演算処理部にソフトエラーの発生が通知される頻度は低い。したがって、演算処理部が逐次処理を行う場合であっても、他の処理を中断する頻度を低下させることができる。
前記一側面に係る制御装置において、前記異常通知部は、定期的に前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定する処理を行ってもよい。上記の構成によれば、異常通知部は、異常検出部から通知を受けることなく、新規のソフトエラーの情報が記録されているか否かの判定処理を行うことができる。そのため、例えば市販のFPGAを用いて異常検出部の処理を変更することなく前記制御装置を実現することができる。
前記一側面に係る制御装置において、前記プログラマブル回路部が前記異常通知部を備えてもよい。上記の構成によれば、異常通知部を設けるためにASIC(application specific integrated circuit)等の別のチップを設ける必要がないので、制御装置の構成を単純にすることができる。
本発明の一側面に係る制御装置の制御方法は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、を備える制御装置の制御方法であって、前記機能部のコンフィグレーションデータを格納する格納部のソフトエラーを検出する異常検出ステップと、前記異常検出ステップで検出した前記ソフトエラーの情報を記録する異常記録ステップと、前記異常記録ステップで新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する異常通知ステップとを含む。
本発明の各態様に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御装置が備える各部(ソフトウェア要素)として動作させることにより前記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明の一態様によれば、制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減することができる。
本発明の実施形態1に係る制御装置のハードウェア構成の一例を表すブロック図である。 図1におけるFPGA部およびプロセッサ部の構成例を示すブロック図である。 図1に係る制御装置の制御方法の各ステップのタイミングを示す図である。 図1に係る制御装置の制御方法を示すフローチャートである。 本発明の実施形態2に係る制御装置において、FPGA部およびプロセッサ部の構成例を示すブロック図である。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
〔実施形態1〕
§1 適用例
図1は、実施形態1における制御装置100のハードウェア構成の一例を表すブロック図である。まず、図1を用いて、本発明が適用される場面の一例について説明する。制御装置100は、プロセッサ部(演算処理部)10と、FPGA部(プログラマブル回路部)20とを備える。プロセッサ部10は、ユーザプログラムを実行することで、主に、制御対象の制御および動作に係る処理を行う。FPGA部20は、機能ユニット(機能部)を構成し、プロセッサ部10から入力されたデジタル値に対して特定の処理を実行する。
図2は、図1におけるFPGA部20およびプロセッサ部10の構成例を示すブロック図である。プロセッサ部10は、異常解析部13を備える。FPGA部20は、CRAM(格納部)21と、異常検出部22と、異常記録部24と、異常通知部26とを備える。CRAM21は、機能部のコンフィグレーションデータを格納する。異常検出部22は、CRAM21のソフトエラーを検出する。異常記録部24は、異常検出部22が検出したソフトエラーの情報を記録する。異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定し、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に割込通知する。
本実施形態によれば、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていないと判定した場合には、プロセッサ部10に割込通知を行わずに処理を終了することができる。したがって、プロセッサ部10に対する異常通知の頻度を低下させ、ソフトエラーの処理に関するプロセッサ部10の負荷を低減することができる。
§2 構成例
図1に示すように、実施形態1の制御装置100は、一例として、PLC(Programmable Logic Controller)を用いて実装される。制御装置100は、予め格納されたプログラム(システムプログラムおよびユーザプログラムなど)を実行することで指令値を算出する。制御装置100は、指令値を、I/O(Input/Output)ユニット30を介して接続される制御対象(例えば、モータドライバなど)に与える。また、制御装置100は、当該制御対象から状態値を取得する。すなわち、制御装置100は、制御対象の状態値をフィードバックすることで、適切な指令値を動的に生成し、状況に応じて適切に制御対象を制御できる。
制御装置100は、プロセッサ部10と、FPGA部20と、ROM11と、RAM12と、I/Oユニット30とを備える。制御装置100内の各部品は、バスによって接続されている。バスの例としては、パラレルバス、ならびに、I2CおよびSPI等のシリアルバスが挙げられる。プロセッサ部10は逐次処理を行い、FPGA部20は並列処理を行う。
プロセッサ部10は、CPUを含み、ROM11およびRAM12に格納されたプログラムを実行することで、主に、制御対象の制御および動作に係る処理を行う。FPGA部20は、機能ユニットを構成し、プロセッサ部10から入力されたデジタル値に対して特定の処理を実行する。ROM11は、制御装置100を制御するプログラムおよび、プログラムの動作に必要なデータ等を格納する。RAM12は、プロセッサ部10のワークエリアとして機能する。I/Oユニット30は、制御対象との間のインターフェースを提供する。入出力機器200は、タッチパネルのように、ユーザに対して情報を提示し、ユーザからの操作入力を受け付ける装置である。
FPGA部20は、特定の処理を実行する機能ユニットを構成するために、デバイス内にコンフィグレーションデータを書き込むコンフィグレーションを必要とする。一般的には、電源投入直後にFPGA部20に対してコンフィグレーションを行い、所望の回路動作が可能な機能ユニットを得ることになる。
しかし、FPGA部20では、コンフィグレーションデータを格納したCRAMの情報が放射線等により変更されるソフトエラーが発生する可能性がある。そのため、FPGA部20は、CRAMのソフトエラーを検出するためにエラー検出を行っている。以下、FPGA部20のソフトエラー検出について詳しく説明する。
図2に示すように、プロセッサ部10は、異常解析部13を備える。FPGA部20は、CRAM21と、異常検出部22と、異常読取部23と、異常記録部24と、タイマー部25と、異常通知部26と、第1通信インターフェース(以下、通信IFと称す)27とを備える。
FPGA部20は、起動時に、FPGA部20の外部のROM(例えばROM11)に格納されたコンフィグレーションデータを読み出し、FPGA部20の内部のCRAM21に格納する。コンフィグレーションデータを格納したCRAM21は、ユーザ回路として使用される。ここで、CRAM21は、例えばSRAM(Static random access memory)である。
異常検出部22は、例えばCRC(Cyclic Redundancy Check)コードを用いて、CRAM21のソフトエラーの検出を行う。具体的には、異常検出部22は、CRAM21に格納されているデータの値からCRC値を計算し、この計算されたCRC値を、CRAM21に格納されているCRC値と比較するCRCチェックを行う。計算されたCRC値が格納されているCRC値と一致しなければ、異常検出部22はCRAM21のソフトエラーを検出する。異常検出部22は、FPGA部20に含まれる複数のフレームに対し順にCRCチェックを行い、全てのフレームのCRCチェックが完了すると、再度最初のフレームからサイクリックにCRCチェックを行う。
なお、異常検出部22は、FPGA部20に含まれる全てのフレームを1つの単位としてCRCチェックを行うのではなく、予め定められたブロックに分け、当該ブロック毎にCRCチェックを行ってもよい。例えば、異常検出部22は、機能ユニットAを構成するブロックから機能ユニットDを構成するブロックの4つのブロックにFPGA部20を分け、それぞれのブロック毎にCRCチェックを行ってもよい。
異常読取部23は、異常検出部22が検出したソフトエラーの情報を読み取り、異常記録部24に書き込む。異常記録部24は、異常検出部22が検出したソフトエラーの情報を記録する。ソフトエラーの情報は、例えばソフトエラーの位置(エラーアドレス)の情報およびソフトエラーの種類の情報を含む。ソフトエラーの種類としては、例えば1ビットエラーおよび隣接2ビットエラーが挙げられる。異常記録部24は、レジスタとして、1つ以上のログレジスタと、ステータスレジスタとを含む。
異常記録部24は、最初に検出したソフトエラーの情報を第1ログレジスタに記録する。そして、2回目以降に検出したソフトエラーについては、検出したソフトエラーの情報が第1ログレジスタに記録されているものと同一であれば記録せず、異なる場合のみ、そのソフトエラーの情報を第2ログレジスタに記録する。同様に、その後に検出したソフトエラーについては、検出したソフトエラーの情報が第1ログレジスタまたは第2ログレジスタに記録されているものと同一であれば記録せず、異なる場合のみ、そのソフトエラーの情報を第3ログレジスタに記録する。
本実施形態では、第1〜第3ログレジスタの合計3つのログレジスタが設けられているが、ログレジスタの数はこれに限定されず、2つ以下または4つ以上のログレジスタが設けられていてもよい。なお、本実施形態において、異常検出部22が4個目のソフトエラーを検出した場合、異常記録部24はユーザに再起動を促す警告を入出力機器200に表示してもよい。CRAM21は揮発性メモリであるため、制御装置100が再起動されると、CRAM21のソフトエラーは除去される。
また、異常記録部24は、第1、第2および第3ログレジスタに記録された各ソフトエラーのステータスおよび検出されたソフトエラーの検出個数をステータスレジスタに記録することができる。なお、本明細書において、第1、第2および第3ログレジスタに記録されたソフトエラーのステータスをそれぞれ、第1、第2および第3ステータスと称する。第1、第2および第3ステータスは、初期状態では「未解析」として設定されている。
タイマー部25は、所定時間の経過ごとに、異常通知部26に対して割込生成プロセスの開始を通知する。異常通知部26は、タイマー部25からの通知を受けたときに、異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定する。タイマー部25からの通知により、異常通知部26は定期的に上記の判定処理を行うことができる。そして、異常通知部26は、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10の異常解析部13に割込通知する。
第1通信IF27は、FPGA部20における、異常記録部24とプロセッサ部10の異常解析部13との間の通信IFである。
プロセッサ部10は、異常解析部13を備える。異常解析部13は、異常通知部26から新規のソフトエラーの発生を通知されたときに、異常記録部24に記録されたソフトエラーの情報を解析し、該ソフトエラーが解析済であることを異常記録部24に書き込む。異常解析部13は、例えばソフトエラーが発生した位置が、機能ユニットを構成するためのコンフィグレーションデータが格納された使用領域に含まれるか、該コンフィグレーションデータが格納されていない未使用領域に含まれるかを解析する。また、異常解析部13は、ソフトエラーの位置が使用領域に含まれる場合、使用領域のうちのソフトエラー対策済回路部分であるか否かを解析してもよい。ソフトエラー対策済回路の例としては、冗長回路が挙げられる。
§3 動作例
図3は、制御装置100の制御方法の各ステップのタイミングを示す図である。縦軸は時刻を示す。図3の例では、時刻t1と時刻t2との間で、CRAM21にソフトエラーが発生する場合を示す。図3に示すように、まず時刻t1において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されないので、異常通知部26はこのまま処理を終了する。
そして、時刻t1と時刻t2との間で、CRAM21にソフトエラーが発生したとする。異常検出部22は、一定期間毎にソフトエラーを検出する。異常読取部23は、異常検出部22が検出したソフトエラーの情報を読み取り、異常記録部24に書き込む。異常記録部24は、異常検出部22が検出したソフトエラーの情報を空いているログレジスタに記録する。異常記録部24は、ソフトエラーの検出個数(ログレジスタに記録されているソフトエラーの個数)をステータスレジスタに書き込む。
時刻t1から所定時間経過した時刻t2において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されるため、異常通知部26は異常解析部13に割込処理が必要であることを割込通知する。
異常通知部26からの割込通知を受けた異常解析部13は、割込処理を行う。異常解析部13は、第1通信IF27を介して、異常記録部24から、ステータスレジスタおよびログレジスタの情報を読み取る。異常解析部13は、「未解析」のステータスに対応する新規のソフトエラーの情報を解析する。
異常解析部13は、ソフトエラーの位置が機能ユニットのコンフィグレーションデータを格納している使用領域に含まれるか機能ユニットのコンフィグレーションデータを格納していない未使用領域に含まれるかを解析する。異常解析部13は、ソフトエラーの位置の解析結果として、「使用領域」または「未使用領域」を得る。
異常解析部13は、第1通信IF27を介して、異常記録部24のステータスレジスタに、解析したソフトエラーのステータスとして「使用領域」または「未使用領域」を書き込む。ステータスが「使用領域」または「未使用領域」であることは、対応するソフトエラーが解析済であることを示す。また、異常解析部13は、解析結果に応じて、FPGA部20で動作する機能ユニットの動作を継続または停止させる。
そして、時刻t2から所定時間経過した時刻t3において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されないので、異常通知部26はこのまま処理を終了する。
図4は、制御装置100の制御方法を示すフローチャートである。図4に示すように、タイマー部25から割込生成プロセスの開始を通知されると、異常通知部26は、異常記録部24から、ソフトエラーの情報(ソフトエラーの検出個数、ならびに、第1、第2および第3ステータス)を読み取る(ステップS1)。
次いで異常通知部26は、異常記録部24の第1ステータスが未解析であるか否かを判定する(ステップS2)。第1ステータスが未解析である場合(ステップS2でYES)、ステップS21に進み、異常通知部26は、ソフトエラーの解析個数が0であると判定する。
第1ステータスが未解析ではない場合(ステップS2でNO)、ステップS3に進み、異常通知部26は、異常記録部24の第2ステータスが未解析であるか否かを判定する。第2ステータスが未解析である場合(ステップS3でYES)、ステップS31に進み、異常通知部26は、ソフトエラーの解析個数が1であると判定する。
第2ステータスが未解析ではない場合(ステップS3でNO)、ステップS4に進み、異常通知部26は、異常記録部24の第3ステータスが未解析であるか否かを判定する。第3ステータスが未解析である場合(ステップS4でYES)、ステップS41に進み、異常通知部26は、ソフトエラーの解析個数が2であると判定する。
第3ステータスが未解析ではない場合(ステップS4でNO)、ステップS5に進み、異常通知部26は、ソフトエラーの解析個数が3であると判定する。ステップS21、S31、S41またはS5の終了後、ステップS6に進み、異常通知部26は、ソフトエラーの解析個数が、ソフトエラーの検出個数と異なるか否かを判定する。
ソフトエラーの検出個数が、ソフトエラーの解析個数と異なる場合(ステップS6でYES)、異常通知部26は、新規のソフトエラーの情報が異常記録部24のログレジスタに記録されていると判定する。そして、異常通知部26は異常解析部13に割込処理が必要であることを割込通知する(ステップS7)。ステップS7の後、処理が終了する。ステップS6でNOの場合、異常通知部26はプロセッサ部10の異常解析部13に割込通知を行うことなく、処理が終了する。
[作用・効果]
以上のように、上記の構成によれば、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に通知する。したがって、プロセッサ部10に対する異常通知の頻度を低下させ、ソフトエラーの処理に関するプロセッサ部10の負荷を低減することができる。
また、異常解析部13は、異常記録部24に記録されたソフトエラーの情報を解析し、解析結果を異常記録部24に書き込む。したがって、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されているか否かを確実に判定することができる。
また、異常解析部13は、ソフトエラーが発生した位置が機能部のコンフィグレーションデータを格納している使用領域に含まれるかコンフィグレーションデータを格納していない未使用領域に含まれるかを解析する。したがって、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合、運転を継続することができるため、不要な運転停止を防止することができる。
また、プロセッサ部10は逐次処理を行い、FPGA部20は並列処理を行う。したがって、並列処理が可能なFPGA部20がソフトエラーの検出およびソフトエラーの情報の記録を行うため、これらの処理のために他の処理の進行を妨げる可能性が低い。
一方、プロセッサ部10は逐次処理を行うので、ソフトエラーの発生が通知されると、他の処理を中断する必要が生じることがある。しかし、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に通知するので、演算処理部にソフトエラーの発生が通知される頻度は低い。したがって、プロセッサ部10が逐次処理を行う場合であっても、他の処理を中断する頻度を低下させることができる。
また、異常通知部26は、タイマー部25からの通知を受けて、定期的に異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定する処理を行う。したがって、異常通知部26は、異常検出部22から通知を受けることなく、新規のソフトエラーの情報が記録されているか否かの判定処理を行うことができる。そのため、例えば既存のFPGAを用いて異常検出部22の処理を変更することなく制御装置100を実現することができる。
また、FPGA部20が異常通知部26を備えるので、異常通知部26を設けるためにASIC等の別のチップを設ける必要がない。したがって、制御装置100の構成を単純にすることができる。
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
図5は、実施形態2に係る制御装置100において、FPGA部20およびプロセッサ部10の構成例を示すブロック図である。実施形態2は、制御装置100がASIC部40を更に備え、ASIC部40がタイマー部45および異常通知部46を備える点で、実施形態1と異なる。
具体的には、FPGA部20は、CRAM21と、異常検出部22と、異常読取部23と、異常記録部24と、第1通信IF27と、第2通信IF28とを備える。第2通信IF28は、FPGA部20におけるASIC部40との通信IFである。
ASIC部40は、タイマー部45と、異常通知部46と、第3通信IF47とを備える。ASIC部40のタイマー部45および異常通知部46はそれぞれ、実施形態1で説明したFPGA部20のタイマー部25および異常通知部26と同様の機能を有する。第3通信IF47は、ASIC部40におけるFPGA部20との通信IFである。
このように、タイマー部45および異常通知部46は、CRAM21を含むFPGA部20とは別の回路に形成されていてもよい。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。
実施形態2では、異常通知部46はASIC部40に設けられているが、FPGA部20とは別のFPGA部に設けられてもよく、またはプロセッサ部10とは別のプロセッサ部に設けられてもよい。
なお、異常解析部13は、第1通信IF27を介して、異常記録部24のステータスレジスタに、解析済のソフトエラーの個数(ステータスが「未解析」ではないソフトエラーの個数)を書き込んでもよい。異常通知部26は、ステータスレジスタから解析済のソフトエラーの個数を読み取ってもよい。
なお、異常記録部24は、ステータスレジスタにソフトエラーの検出個数を記録していなくてもよい。異常通知部26は、ソフトエラーが記録されているログレジスタの個数からソフトエラーの検出個数を特定してもよい。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
10 プロセッサ部(演算処理部)
13 異常解析部
20 FPGA部(プログラマブル回路部)
21 CRAM(格納部)
22 異常検出部
23 異常読取部
24 異常記録部
25、45 タイマー部
26、46 異常通知部
100 制御装置

Claims (7)

  1. ユーザプログラムを実行可能な演算処理部と、
    前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、
    異常通知部と、を備え、
    前記プログラマブル回路部は、
    前記機能部のコンフィグレーションデータを格納する格納部と、
    前記格納部のソフトエラーを検出する異常検出部と、
    前記異常検出部が検出した前記ソフトエラーの情報を記録する異常記録部と、を備え、
    前記異常通知部は、
    前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定し、
    新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する、制御装置。
  2. 前記演算処理部は、
    前記異常通知部から前記新規のソフトエラーの発生を通知されたときに、前記異常記録部に記録された前記ソフトエラーの情報を解析し、該ソフトエラーが解析済であることを前記異常記録部に書き込む異常解析部を備える、請求項1に記載の制御装置。
  3. 前記異常解析部は、前記ソフトエラーが発生した位置が前記機能部の前記コンフィグレーションデータを格納している使用領域に含まれるか前記コンフィグレーションデータを格納していない未使用領域に含まれるかを解析する、請求項2に記載の制御装置。
  4. 前記演算処理部は逐次処理を行い、前記プログラマブル回路部は並列処理を行う、請求項1から3のいずれか1項に記載の制御装置。
  5. 前記異常通知部は、定期的に前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定する処理を行う、請求項1から4のいずれか1項に記載の制御装置。
  6. 前記プログラマブル回路部が前記異常通知部を備える、請求項1から5のいずれか1項に記載の制御装置。
  7. ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、を備える制御装置の制御方法であって、
    前記機能部のコンフィグレーションデータを格納する格納部のソフトエラーを検出する異常検出ステップと、
    前記異常検出ステップで検出した前記ソフトエラーの情報を記録する異常記録ステップと、
    前記異常記録ステップで新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する異常通知ステップとを含む、制御装置の制御方法。
JP2019168578A 2019-09-17 2019-09-17 制御装置および制御方法 Active JP7268554B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019168578A JP7268554B2 (ja) 2019-09-17 2019-09-17 制御装置および制御方法
CN202080056783.9A CN114222954A (zh) 2019-09-17 2020-03-04 控制装置以及控制方法
US17/635,370 US20220334548A1 (en) 2019-09-17 2020-03-04 Control device and control method
EP20866664.4A EP4033313A4 (en) 2019-09-17 2020-03-04 CONTROL DEVICE AND CONTROL METHOD
PCT/JP2020/009061 WO2021053853A1 (ja) 2019-09-17 2020-03-04 制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019168578A JP7268554B2 (ja) 2019-09-17 2019-09-17 制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2021047526A true JP2021047526A (ja) 2021-03-25
JP7268554B2 JP7268554B2 (ja) 2023-05-08

Family

ID=74878455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019168578A Active JP7268554B2 (ja) 2019-09-17 2019-09-17 制御装置および制御方法

Country Status (5)

Country Link
US (1) US20220334548A1 (ja)
EP (1) EP4033313A4 (ja)
JP (1) JP7268554B2 (ja)
CN (1) CN114222954A (ja)
WO (1) WO2021053853A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077638A (ja) * 2016-11-08 2018-05-17 富士通株式会社 データ処理装置、これを用いた伝送装置、及びデータ処理方法
JP2018128820A (ja) * 2017-02-08 2018-08-16 オムロン株式会社 制御装置およびその制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006169661A (ja) * 2004-12-15 2006-06-29 Murata Mach Ltd 解析装置及びこれを備えた機械設備と解析プログラム
US7702978B2 (en) * 2006-04-21 2010-04-20 Altera Corporation Soft error location and sensitivity detection for programmable devices
JP6183754B2 (ja) * 2014-05-21 2017-08-23 パナソニックIpマネジメント株式会社 監視装置、およびそれを用いた監視システム
JP2017091456A (ja) * 2015-11-17 2017-05-25 富士通株式会社 制御装置、制御プログラムおよび制御方法
JP6816990B2 (ja) * 2016-08-02 2021-01-20 Necプラットフォームズ株式会社 プログラマブルロジックデバイス、情報処理装置、ソフトエラー記録方法、及びソフトエラー記録プログラム
CN109840718B (zh) * 2019-02-28 2023-02-07 东北大学 一种基于组态的生产指标可视化监控系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077638A (ja) * 2016-11-08 2018-05-17 富士通株式会社 データ処理装置、これを用いた伝送装置、及びデータ処理方法
JP2018128820A (ja) * 2017-02-08 2018-08-16 オムロン株式会社 制御装置およびその制御方法

Also Published As

Publication number Publication date
CN114222954A (zh) 2022-03-22
JP7268554B2 (ja) 2023-05-08
WO2021053853A1 (ja) 2021-03-25
EP4033313A1 (en) 2022-07-27
US20220334548A1 (en) 2022-10-20
EP4033313A4 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
JP6880795B2 (ja) 制御装置およびその制御方法
CN107003915B (zh) 驱动控制装置
US7987398B2 (en) Reconfigurable device
JP2006157482A (ja) プログラマブル・ロジック・デバイス、情報処理装置、プログラマブル・ロジック・デバイスの制御方法
JP6408482B2 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
WO2021053853A1 (ja) 制御装置および制御方法
JP2018181206A (ja) データ処理装置、データ処理方法およびプログラム
JP2008310516A (ja) プロセッサ動作検査システム及び動作検査回路
JP6151655B2 (ja) 数値制御装置
JP2013238926A (ja) 信号処理回路およびそれを用いた試験装置
JP5627414B2 (ja) 動作ログ収集システム及びプログラム
JP4322606B2 (ja) ウォッチドッグタイマ
WO2011122677A1 (ja) 主記憶装置における情報を復元するための装置及び方法
JP2021033623A (ja) 制御装置、ユーザプログラムの実行制御方法、およびシステムプログラム
JP2009003711A (ja) マイクロコンピュータの停止検出装置
JP4024603B2 (ja) プログラマブルコントローラ
JP5768434B2 (ja) 相互監視システム
JP2023177118A (ja) 異常ログ取得装置、異常ログ記憶方法及びプログラム
JP2017111579A (ja) 半導体集積回路及びその機能回復方法
JP2015216507A (ja) Fpgaを搭載する装置
JP6660818B2 (ja) 制御装置
JP6337548B2 (ja) 論理集積回路
CN116069442A (zh) 信息处理装置、车辆以及信息处理方法
JP2015201813A (ja) プログラマブルゲートアレイ
JP2012146111A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7268554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150