JP5041290B2 - プログラマブルコントローラおよびその異常時復旧方法 - Google Patents

プログラマブルコントローラおよびその異常時復旧方法 Download PDF

Info

Publication number
JP5041290B2
JP5041290B2 JP2007273056A JP2007273056A JP5041290B2 JP 5041290 B2 JP5041290 B2 JP 5041290B2 JP 2007273056 A JP2007273056 A JP 2007273056A JP 2007273056 A JP2007273056 A JP 2007273056A JP 5041290 B2 JP5041290 B2 JP 5041290B2
Authority
JP
Japan
Prior art keywords
abnormality
cpu
module
factor
cpu module
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
JP2007273056A
Other languages
English (en)
Other versions
JP2009104246A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2007273056A priority Critical patent/JP5041290B2/ja
Publication of JP2009104246A publication Critical patent/JP2009104246A/ja
Application granted granted Critical
Publication of JP5041290B2 publication Critical patent/JP5041290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラおよびその異常時復旧方法に関する。より詳細には、本発明は、プログラマブルコントローラ内の各構成部の異常時に、プログラマブルコントローラ用CPUモジュールがその異常要因を自己判断して、プログラマブルコントローラ用CPUモジュール自身の再起動を行い、プログラマブルコントローラシステム全体の異常停止を回避するための、プログラマブルコントローラおよびその異常時復旧方法に関する。
従来から知られているように、プログラマブルコントローラ(以下、PLCとも略記する)は、ファクトリ・オートメーション(FA)の制御装置として用いられている。このPLCは複数のモジュールから構成される。これらのモジュールには、電源供給源である電源モジュール、PLC全体の制御を統率するためのCPUモジュール、FAの生産装置や設備装置の適所に取り付けられたスイッチやセンサの信号を入力するための入力モジュール、アクチュエータなどに制御信号を出力するための出力モジュール、通信ネットワークに接続するための通信モジュールなどがある。これらのモジュールを適宜組み合わせることにより、PLCが構成されることになる。
CPUモジュールは、入力モジュールで入力した信号をCPUモジュールのI/O(Input/Output)メモリに取り込み(入力リフレッシュ)、予め登録されたユーザプログラム(シーケンスプログラム)に基づき論理演算を行い(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力モジュールに送り出し(出力リフレッシュ)、その後いわゆる周辺のシステム処理(ローダ処理、各種システム処理)を行う一連の処理を、繰り返し処理する。CPUモジュールは、この繰り返し処理を行うことで、対象とする機器(以降、制御対象機器と呼ぶ)を制御する。
このような制御対象機器を制御するための上記ユーザプログラム(シーケンスプログラム)や、各種設定データは、RAM(Random Access Memory)に格納されており、演算実行時に逐次読み書きするようになっている。
一方、PLCが設置される工場内の環境は、サーボモータ、インバータ、高圧電力装置など多種多様な装置がPLCに接続され、あるいはPLCの付近に配置されている。そのため、放射ノイズ、電源の瞬時停電、電磁界などにより、RAM全体または一部のデータ破壊・消失が生じ得る。係るデータ破壊・消失が生じたデータに基づいて制御対象機器を制御すると正常動作しないため、PLCは、運転中に係るデータ破壊・消失が発生していないかどうかを確認している。
このようなデータ破壊・消失は、一過性の異常である場合が多いため、システム停止後に、システムを再起動するだけでシステムが復旧することが多く、この場合、例えばリセット回路に設けられたリセットボタン等を人為的に操作してシステムリセット信号を発生させてCPUをリセットし、システムを再起動する必要があった。そのような人為的な操作を介在させる必要性をなくすために、データを記憶するメモリまたはデータバス上の異常発生が検出された場合、異常発生が検出されPLCの動作が一旦停止された後に、PLCを再起動するリセット信号を生成するリセット手段を備えたPLCの異常検出装置が提案されている(例えば、特許文献1参照)。
また、演算処理時に読み出されるユーザプログラムが格納されるユーザメモリと、ユーザメモリに格納されたユーザプログラムと同一内容のデータが格納されたバックアップメモリとを備えたPLC用ユニットにおいて、ユーザメモリとバックアップメモリとに格納されたユーザデータをサイクリックに比較し、メモリ異常の有無を判断して、メモリ異常を検出した場合には、検出したメモリ異常箇所のデータをバックアップメモリの該当箇所のデータで修復することが提案されている(例えば、特許文献2)。
特開2001−242901号公報 特開2004−220580号公報
しかしながら、データ破壊・消失といったメモリ異常のみならず、内蔵ICの誤動作やPLC固有バス異常などの、PLC内の構成部における一過性の異常によりCPUモジュールが停止した場合にも、CPUモジュールは、安全の目的上、システムの暴走や不正出力を防止する必要があった。これら一過性の異常が検出された場合には、CPUモジュールを停止させ、その結果、制御しているシステム全体を停止させていた。また、PLCは、一般に制御盤の奥に設置されているので、システムを再度動作させるためには、保守員などが現場に赴いて、停止異常要因を調査し、システムの再起動(すなわち、電源の切り入り)をする必要があったが、この作業は容易ではなく、システムを再起動するまでに多くの時間が費やされるという問題点があった。
そこで、本発明は、上述の点に鑑みて、PLC用CPUモジュール内のCPUが、PLC内の構成部において異常を検出した場合に、CPUが、CPUモジュールを再起動させるように自己判断する、プログラマブルコントローラおよびその異常時復旧方法を提供することを目的とする。
また、本発明は、PLC内の構成部における異常の種類に応じて、CPUモジュール自身を再起動するか否かを自己判断する、プログラマブルコントローラおよびその異常時復旧方法を提供することを目的とする。
このような目的を達成するために、請求項1に記載の発明は、プログラマブルコントローラ用のCPUと各種メモリとI/Oインタフェース部と少なくとも含むCPUモジュールと、前記I/Oインタフェース部を介して接続され、外部制御対象機器を制御するI/Oモジュールとを有し、入力リフレッシュ処理、ユーザプログラム演算処理、および出力リフレッシュ処理をサイクリックに実行するプログラマブルコントローラであって、前記CPUモジュールまたは前記I/Oインタフェースに異常が検出された場合に、当該異常の要因を記録する発生異常要因情報ファイルと、CPUモジュールの再起動が可能な異常の要因を記憶する再起動可能異常要因ファイルであって、前記再起動が可能な異常の要因は、あらかじめ、または、プログラミング装置を介して変更可能に設定されている、再起動可能異常要因ファイルと、前記CPUモジュールの状態が、正常運転正常停止、または、異常停止いずれかであるか判定する運転状態判定手段と、 前記判定において、前記CPUモジュールまたは前記I/Oモジュールに異常が発生し、当該異常の要因が前記発生異常要因情報ファイルに記録されて、前記CPUモジュールの前記状態が異常停止であると判定された場合、前記記録されている異常の要因と、前記再起動可能異常要因ファイルに記録されている複数の再起動可能な異常の要因とを比較し、比較の結果に基づいて、当該異常が、一過性の異常であるか否かを判定する異常要因判定手段と、該異常要因判定手段により、前記異常が一過性の異常であると判定された場合、前記CPUモジュールを再起動する再起動手段とを備えたことを特徴とする。
請求項2に記載の発明は、請求項1に記載の発明において、前記再起動手段により、前記CPUモジュールが再起動した回数を記録する再起動回数記録手段をさらに備え、前記再起動回数が予め定められた回数を超えた場合、前記CPUは、記CPUモジュールを異常停止させることを特徴とする。
請求項3に記載の発明は、プログラマブルコントローラ用のCPUと各種メモリとI/Oインタフェース部とを少なくとも含むCPUモジュールと、前記I/Oインタフェース部を介して接続され、外部制御対象機器を制御するI/Oモジュールとを有し、入力リフレッシュ処理、ユーザプログラム演算処理、および出力リフレッシュ処理をサイクリックに実行するプログラマブルコントローラの異常復旧方法であって、前記メモリには、前記CPUモジュールまたは前記I/Oインタフェースに異常が検出された場合に、当該異常の要因を記録する発生異常要因情報ファイルと、CPUモジュールの再起動が可能な異常の要因を記憶する再起動可能異常要因ファイルであって、前記再起動が可能な異常の要因は、あらかじめ、または、プログラミング装置を介して変更可能に設定されている、再起動可能異常要因ファイルと、を備えており、前記CPUモジュールの状態が、正常運転、正常停止、または、異常停止のいずれかであるかを判定する運転状態判定ステップと、前記判定において、前記CPUモジュールまたは前記I/Oモジュールに異常が発生し、当該異常の要因が前記発生異常要因情報ファイルに記録されて、前記CPUモジュールの前記状態が異常停止であると判定された場合、前記記録されている異常の要因と、前記再起動可能異常要因ファイルに記録されている複数の再起動可能な異常の要因とを比較し、比較の結果に基づいて、当該異常が、一過性の異常であるか否かを判定する異常要因判定ステップと、前記異常要因判定ステップにより、前記異常が一過性の異常であると判定された場合、前記CPUモジュールを再起動する再起動ステップとを備えたことを特徴とする。
請求項4に記載の発明は、請求項3に記載の発明において、前記再起動ステップにより、前記CPUモジュールが再起動した回数を記録する再起動回数記録ステップと、前記再起動回数が予め定められた回数を超えた場合、前記CPUは、前記CPUモジュールを異常停止させるステップとをさらに備えることを特徴とする。
なお、本明細書で用いられる「一過性の異常」という用語は、電源の再投入のみならず、CPUモジュールを再起動するだけでも復旧可能な異常のことを指す。すなわち、「一過性の異常」とは、各モジュールなどの破損またはモジュール構成異常などを原因とする異常ではなく、したがって、モジュールの交換を必要とせず、電源の再投入またはリブート(リセットスタート)させることで復帰可能な異常を指す。
また、本明細書で用いられる「再起動」という用語は、CPUモジュールの再起動のことを指すが、CPUモジュールを再起動することは、I/Oを含めたPLCシステム全体を再起動することと同義である。
本発明によれば、PLC用CPUモジュール内のCPUが、PLC内の構成部において異常を検出した場合に、CPUは、CPUモジュールを再起動させるように自己判断することが可能となる。
また、本発明によれば、PLC内の構成部における異常の種類に応じて、CPUは、CPUモジュール自身を再起動するか否かを自己判断することが可能となる。
さらに、本発明によれば、異常が検出されたPLCにおいて、再起動を行うことにより、CPUモジュールおよびシステムの停止時間を短時間に抑え、早期に運転を復帰させることができる。
以下、図面を参照しながら、本発明を適用できる実施形態について詳細に説明する。
(装置構成)
図1は、本発明の一実施形態に係る、CPUモジュール10とI/Oモジュール40とを備えるPLC100の構成を示すブロック図である。
図1に示すように、PLC100は、CPUモジュール10およびI/Oモジュール40を備えている。CPUモジュール10は、内部のシステムバス19によって互いに接続された以下の構成部からなり、自身に備えられたローダインタフェース30と、通信線300とを介してプログラミングローダ(プログラミング装置、ローダとも呼ばれる)200に接続されている。なお、プログラミングローダ200は、PLC100に対するユーザプログラムの作成や転送の役割を担うツールである。また、I/Oモジュール40は、当該PLCや制御対象機器(不図示)の種類などに応じて増設されるデジタルおよび/またはアナログのモジュールである。I/Oモジュール40は、図1には、1つしか示されていないが、PLC100内に複数設けることもできる。このI/Oモジュール40は、PLC固有バス14aを介してCPUモジュール内のPLC固有バスインタフェース14に接続され、かつ通信線(不図示)を介して制御対象機器に接続されている。
CPUモジュール10は、後述するシステムプログラムメモリ15に予め格納されているシステムプログラムを基層のプログラムとして動作する。さらに、CPUモジュール10は、プログラミングローダ200から転送されたシーケンスプログラムなどのユーザプログラムを後述するユーザプログラムメモリ17に格納した後で、このシーケンスプログラムを演算実行して、外部の制御対象機器の自動シーケンス制御を行う。なお、CPUモジュール10内において、CPU11、ドライバ/レシーバ13、システムプログラムメモリ15、システムワークメモリ16、ユーザプログラムメモリ17、ユーザデータメモリ18、およびPLC固有バスインタフェース14は、共通のシステムバス19に接続されている。
CPU11は、システムプログラムメモリ15に格納されているシステムプログラムに基づいて、CPUモジュール10内の各構成部の動作制御を行うとともに、ユーザプログラムメモリ17に格納されているシーケンスプログラムの実行や停止などの制御、プログラミングローダ200からのシーケンスプログラムの送信やモニタリングなどの通信コマンド制御、ならびに本発明の一実施形態に係るPLC100の異常時復旧処理を行う。
ドライバ/レシーバ13は、ローダインタフェース30と通信線300とを介してプログラミングローダ200に接続され、CPUモジュール10とプログラミングローダ200との間でデータの送受信を行う。
システムプログラムメモリ15は、CPU11が実行するシステムプログラムを格納している。システムプログラムメモリ15には、通常フラッシュメモリが使用される。このシステムプログラムには、上述したPLC100の異常時復旧処理を含む、後述する図3〜図5のフローチャートによって示されるプログラムが含まれる。
システムワークメモリ16は、システムプログラムの作業用メモリとして、一時的な演算結果や、PLC100における処理の実行に必要な各種設定値を格納する。このシステムワークメモリ16には、通常RAMが使用される。
ユーザプログラムメモリ17は、プログラミングローダ200から転送されたシーケンスプログラムなどのユーザプログラムを格納する。このユーザプログラムメモリ17には、通常RAMが使用される。
ユーザデータメモリ18は、ユーザプログラムメモリ17に格納されているシーケンスプログラムの演算結果や制御対象機器の各種設定値を格納する。このユーザデータメモリ18には、通常RAMが使用される。
PLC固有バスインタフェース14は、PLC固有バス14aを介してI/Oモジュール40に接続され、外部の制御対象機器の制御に関わる情報の入出力を行う。この例ではI/Oモジュール40との接続にPLC固有バスインタフェース14にてインタフェースを行なうように記載するが、格別そのPLCの固有なるバスインタフェース(14)や固有バス(14a)にて接続する必要はなく、固有にこだわる必要はない。したがって、PLC固有バスインタフェース14は単にI/Oインタフェース部とすることもできるし、PLC固有バス14aは単にI/Oバスとすることもできる。また、I/Oモジュール40が直接システムバス19に接続される形態としてもよい。
I/Oモジュール40は、スイッチやセンサなどから信号を取り込み、アクチュエータなどに制御信号を出力する。
図2は、本発明の一実施形態に係るPLC100内のCPUモジュール10におけるシステムワークメモリ16内の構成を示すブロック図である。
システムワークメモリ16には、運転状態ファイル16A、再起動回数記録ファイル16B、再起動可能異常要因ファイル16C、および発生異常要因情報ファイル16Dが含まれる。
運転状態ファイル16Aは、CPUモジュール10の運転状態を示すものであり、運転状態ファイル16Aには、運転正常実行、運転正常停止、および運転異常停止という3種類のステータスが記録される。
再起動回数記録ファイル16Bは、再起動可能な異常要因(例えば、メモリ異常、内蔵ICの誤動作、PLC固有バス異常など)によって、CPUモジュール10が再起動した回数を記録する。
再起動可能異常要因ファイル16Cは、メモリ異常、内蔵ICの誤動作、PLC固有バス異常、I/Oモジュール異常などの、n個(n;自然数)の再起動可能な異常要因を記録したものである。当該再起動可能異常要因ファイル16Cへの再起動可能な異常要因の登録は、設計段階において予め登録しておいてもよいし、プログラミングローダ200を介して、登録や変更をしてもよい。なお、再起動可能異常要因ファイル16Cは、図5を参照して後述する異常要因判定処理において用いられる。
発生異常要因情報ファイル16Dは、CPU11が異常を検出し異常処理を実行することにより、その発生異常要因と、当該発生異常要因に付随する複数の付加情報とを記録する。
発生異常要因が再起動可能異常要因であった場合、例えば、次のようなものが発生異常要因および付加情報として記録される。
発生異常要因:メモリ異常、付加情報:異常発生時刻やメモリアドレスなど。
発生異常要因:内蔵ICの誤動作、付加情報:異常発生時刻や誤動作が生じたICの識別子など。
発生異常要因:PLC固有バス異常、付加情報:異常発生時刻やPLC固有バスの識別子など。
発生異常要因:I/Oモジュール異常、付加情報:異常発生時刻や異常発生I/Oモジュール識別番号など。
発生異常要因が再起動不可能な異常要因であった場合、例えば、次のようなものが発生異常要因および付加情報として記録される。
発生異常要因:システム構成異常(接続不可能な種類のI/Oモジュールや通信モジュールが接続されている)、付加情報:異常発生時刻や異常発生モジュール識別番号、異常モジュール種別など。
発生異常要因:I/Oモジュール接続台数オーバー(接続可能な台数以上のI/Oモジュールが接続されている)、付加情報:異常発生時刻や接続オーバー台数など。
(動作説明)
次に、図1および図2に示した構成における、本発明の一実施形態に係るPLC100内のCPU11の処理について説明する。
図3は、本発明の一実施形態にしたがって、CPU11が実行する処理を示すフロー図である。
まず、PLC100の電源を投入することにより、CPU11の処理が開始され、S301において、CPU11は、システムワークメモリ16内の再起動回数記録ファイル16Bをクリアして、再起動回数を0に設定する。次いで、S302において、CPU11は、接点情報のデータ内容をリフレッシュする、システムワークメモリ16内の運転状態ファイルAを運転正常実行として記録する、システムワークメモリ16内の発生異常要因情報ファイル16Cにおける記録内容をクリアする、などの初期化処理を行う。次いで、S303において、CPU11は、PLC100内の各構成部に異常があるか否かを調べる自己診断処理を実行する。
次いで、S304において、CPU11は、各種システム処理を実行する。このシステム処理には、ユーザプログラムメモリ17およびユーザデータメモリ18内に格納されたユーザプログラムおよびユーザデータに破壊・消失が生じた場合に、メモリ異常として検出するメモリ異常検出処理が含まれる。このメモリ異常を検出する手法としては、当技術分野では周知である、パリティチェックまたはECC(Error Checking and Correction)を用いることができる。あるいは、ユーザプログラムおよびユーザデータと同一内容のデータが格納されたバックアップメモリ(不図示)を用いて、ユーザプログラムメモリ17およびユーザデータメモリ18内に格納されたユーザプログラムおよびユーザデータモリと、バックアップメモリに格納されたユーザプログラムおよびユーザデータとを比較し、メモリ異常の有無を判断してもよい。
また、このシステム処理には、システムワークメモリ16内の発生異常要因情報ファイル16Dに発生異常要因が記録されている場合には、CPU11が、システムワークメモリ16内の運転状態ファイル16Aを運転異常停止として記録する処理が含まれる。
CPU11は、各種ICやPLC固有バスインタフェース14などのデバイスが異常であることを示す異常信号を、それらデバイスから受信すると、割り込み処理として、当該異常信号に含まれる、上述した発生異常要因と、当該発生異常要因に付随する複数の付加情報とを、システムワークメモリ16内の発生異常要因情報ファイル16Dに記録する。
次いで、S305において、CPU11は、システムワークメモリ16内の運転状態ファイル16Aを確認することにより、CPUモジュール10の運転状態を判定する(運転状態判定処理)。
S305において、運転状態が運転正常実行であった場合、処理はS306に進み、CPU11は、入力モジュール40で入力した信号をCPUモジュール10内のユーザデータメモリ18におけるI/Oメモリ(不図示)に取り込み(入力リフレッシュ)、S307において、予め登録されたユーザプログラム(シーケンスプログラム)に基づいて論理演算を実行し、S308において、その演算実行結果をI/Oメモリに書き込んで出力モジュールに送り出す(出力リフレッシュ)。
次いで、S311において、CPU11は、ローダ処理を実行する。このローダ処理には、CPU11が、ローダからの要求や、CPUモジュール10に設置された外部スイッチにより、システムワークメモリ16内の運転状態ファイル16Aを運転正常停止に変更する処理が含まれる。同様に、このローダ処理には、CPU11が、ローダからの要求や、CPUモジュール10に設置された外部スイッチにより、システムワークメモリ16内の運転状態ファイル16Aを運転正常実行に変更する処理が含まれる。
次いで、S312において、CPU11は、S304と同様の各種システム処理を実行する。このシステム処理には、ユーザプログラムメモリ17およびユーザデータメモリ18内に格納されたユーザプログラムおよびユーザデータに破壊・消失が生じた場合に、メモリ異常として検出するメモリ異常検出処理が含まれる。このメモリ異常を検出する手法としては、当技術分野では周知である、パリティチェックまたはECC(Error Checking and Correction)を用いることができる。あるいは、ユーザプログラムおよびユーザデータと同一内容のデータが格納されたバックアップメモリを用いて、ユーザプログラムメモリ17およびユーザデータメモリ18内に格納されたユーザプログラムおよびユーザデータモリと、バックアップメモリに格納されたユーザプログラムおよびユーザデータとを比較し、メモリ異常の有無を判断してもよい。
また、このシステム処理には、システムワークメモリ16内の発生異常要因情報ファイル16Dに発生異常要因が記録されている場合には、CPU11が、システムワークメモリ16内の運転状態ファイル16Aを運転異常停止として記録する処理が含まれる。
CPU11は、各種ICやPLC固有バスインタフェース14などのデバイスが異常であることを示す異常信号を、それらデバイスから受信すると、割り込み処理として、当該異常信号に含まれる、上述した発生異常要因と、当該発生異常要因に付随する複数の付加情報とを、システムワークメモリ16内の発生異常要因情報ファイル16Dに記録する。
ここで、再度S305に戻り、CPU11は、運転状態判定処理を実行する。S305において、運転状態が運転正常停止であった場合、処理はS309に進んで、CPU11は、ユーザプログラム演算処理を停止し、配線の確認(入出力状態;S309、S310)や、プログラミングローダ200を介したユーザプログラムの入れ替えなどのメンテナンスを安全に行うことができる。
次いで、S311において、運転状態ファイル16Aが運転正常実行に変更された後、上述した何らかの異常が発生し、システムワークメモリ16内の発生異常要因情報ファイル16Dに発生異常要因および付加情報が記録されたとする。すると、S312において、CPU11は、運転状態ファイル16Aを運転異常停止に変更し、再度S305に戻って、CPU11は、運転状態判定処理を実行して、運転状態が運転異常停止であると判定し、処理はS313に進む。S313において、CPU11は、発生異常要因が再起動可能な異常であるか否かを判定する(異常要因判定処理)。この異常要因判定処理については、図4および図5を参照して、後に詳述する。
S313において、発生異常要因が再起動可能な異常でなかった場合、処理はS311に進む。この際、CPU11は、再起動不可能な異常が発生したことを表示装置(不図示)に通知し、その旨を表示装置に表示させることによって、保守員などのユーザは、PLC100に再起動不可能な異常が発生したことを認識することができる。S311において、CPU11は、ユーザがプログラミングローダ200を介して送信した指示などを受け付け、その指示に従った処理を行う。図示してはいないが、例えば、メモリダンプ指示を受け付ければ、CPU11は、指定されたアドレスのデータをローダ200へ送信したり、CPUモジュール10を異常停止させる指示を受け付ければ、CPU11は、CPUモジュール10を異常停止させたりすることができる。一方、S313において、発生異常要因が再起動可能な異常であった場合、次いで、S314において、CPU11は、システムワークメモリ16内の再起動回数記録ファイル16Bに記録された再起動回数が予め定められた回数を超えたか否かを判定する(再起動回数判定処理)。なお、この予め定められた回数は、設計段階にてシステムプログラムメモリ15などに固定された回数として記憶されていてもよいし、プログラミングローダ200を介して、システムワークメモリ16に登録や変更をしてもよい。
S314において、再起動回数が予め定められた回数を超えていた場合、処理はS311に進む。再起動回数が予め定められた回数を超えていた場合は、発生している異常要因が再起動処理により復旧できないために連続して再起動が行われている状態である。この際、CPU11は、再起動不可能な異常が発生したことを表示装置に通知し、その旨を表示装置に表示させることによって、保守員などのユーザは、PLC100に再起動不可能な異常が発生したことを認識することができる。S311において、CPU11は、ユーザがプログラミングローダ200を介して送信した指示などを受け付け、その指示に従った処理を行う。図示してはいないが、例えば、メモリダンプ指示を受け付ければ、CPU11は、指定されたアドレスのデータをローダ200へ送信したり、CPUモジュール10を異常停止させる指示を受け付ければ、CPU11は、CPUモジュール10を異常停止させたりすることができる。一方、S314において、再起動回数が予め定められた回数を超えていなかった場合、次いで、S315において、CPU11は、システムワークメモリ16内の再起動回数記録ファイル16Bに記録された再起動回数を1インクリメントする。次いで、S302に戻り、初期化処理から前述した処理を繰り返す。なお、本明細書における再起動とは、S315の再起動回数のインクリメント処理から、S302の初期化処理に戻ることを指す。
次に、図4および図5を参照しながら、図3のS313の異常要因判定処理について説明する。
図4は、本発明の一実施形態にしたがって、CPU11が実行する異常要因判定処理の一例を示すフロー図である。
本異常要因判定処理は、CPU11が、設計段階にて予め定められてシステムプログラムメモリ15などに記憶されているn個の再起動可能異常要因と、発生した異常要因とを順に比較することにより実現される。すなわち、S401に示されるように、まず、CPU11は、発生異常要因と、予め定められた再起動可能異常要因1とが一致するか否かを判定する。発生異常要因と、予め定められた再起動可能異常要因1とが一致した場合、処理は図3のS314に進む。一方、発生異常要因と、予め定められた再起動可能異常要因1とが一致しなかった場合、S402に進み、CPU11は、発生異常要因と、予め定められた再起動可能異常要因2とが一致するか否かを判定する。同様にして処理を進め、最終的に、CPU11が、発生異常要因と、予め定められた再起動可能異常要因nとが一致しなかったと判定した場合、処理は図3のS311に進む。
図5は、本発明の一実施形態にしたがって、CPU11が実行する異常要因判定処理の別の例を示すフロー図である。
本異常要因判定処理では、S501において、CPU11は、システムワークメモリ16内の再起動可能異常要因ファイル16Cに記録されているn個の再起動可能異常要因と、発生した異常要因とを順次対比検索する。次いで、S502において、CPU11は、発生した異常要因と同一の異常要因が、再起動可能異常要因ファイル16Cに記録されているn個の再起動可能異常要因の中に存在するか否かを判定する。同一の異常要因が存在した場合には、処理は図3のS314に進む。一方、同一の異常要因が存在しなかった場合には、処理は図3のS311に進む。
以上説明したように、本発明によれば、PLC用CPUモジュール内のCPUが、PLC内の構成部において異常を検出した場合に、CPUは、CPUモジュールを再起動させるように自己判断することが可能となる。
また、本発明によれば、PLC内の構成部における異常の種類に応じて、CPUは、CPUモジュール自身を再起動するか否かを自己判断することが可能となる。
さらに、本発明によれば、異常が検出されたPLCにおいて、再起動を行うことにより、CPUモジュールおよびシステムの停止時間を短時間に抑え、早期に運転を復帰させることができる。
本発明の一実施形態に係る、プログラマブルコントローラ用CPUモジュールとI/Oモジュールとを備えるプログラマブルコントローラの構成を示すブロック図である。 本発明の一実施形態に係るプログラマブルコントローラ内のCPUモジュールにおけるシステムワークメモリ内の構成を示すブロック図である。 本発明の一実施形態にしたがって、CPUが実行する処理を示すフロー図である。 本発明の一実施形態にしたがって、CPUが実行する異常要因判定処理の一例を示すフロー図である。 本発明の一実施形態にしたがって、CPUが実行する異常要因判定処理の別の例を示すフロー図である。
符号の説明
10 CPUモジュール
11 CPU
13 ドライバ/レシーバ
14 プログラマブルコントローラ(PLC)固有バスインタフェース
15 システムプログラムメモリ
16 システムワークメモリ
16A 運転状態ファイル
16B 再起動回数記録ファイル
16C 再起動可能異常要因ファイル
16D 発生異常要因情報ファイル
17 ユーザプログラムメモリ
18 ユーザデータメモリ
19 システムバス
30 ローダインタフェース
40 I/Oモジュール
100 プログラマブルコントローラ(PLC)
200 プログラミングローダ

Claims (4)

  1. プログラマブルコントローラ用のCPUと各種メモリとI/Oインタフェース部と少なくとも含むCPUモジュールと、前記I/Oインタフェース部を介して接続され、外部制御対象機器を制御するI/Oモジュールとを有し、入力リフレッシュ処理、ユーザプログラム演算処理、および出力リフレッシュ処理をサイクリックに実行するプログラマブルコントローラであって、
    前記CPUモジュールまたは前記I/Oインタフェースに異常が検出された場合に、当該異常の要因を記録する発生異常要因情報ファイルと、
    CPUモジュールの再起動が可能な異常の要因を記憶する再起動可能異常要因ファイルであって、前記再起動が可能な異常の要因は、あらかじめ、または、プログラミング装置を介して変更可能に設定されている、再起動可能異常要因ファイルと、
    前記CPUモジュールの状態が、正常運転正常停止、または、異常停止いずれかであるか判定する運転状態判定手段と、
    前記判定において、前記CPUモジュールまたは前記I/Oモジュールに異常が発生し、当該異常の要因が前記発生異常要因情報ファイルに記録されて、前記CPUモジュールの前記状態が異常停止であると判定された場合、前記記録されている異常の要因と、前記再起動可能異常要因ファイルに記録されている複数の再起動可能な異常の要因とを比較し、比較の結果に基づいて、当該異常が、一過性の異常であるか否かを判定する異常要因判定手段と、
    該異常要因判定手段により、前記異常が一過性の異常であると判定された場合、前記CPUモジュールを再起動する再起動手段と
    を備えたことを特徴とするプログラマブルコントローラ。
  2. 前記再起動手段により、前記CPUモジュールが再起動した回数を記録する再起動回数記録手段をさらに備え、
    前記再起動回数が予め定められた回数を超えた場合、前記CPUは、記CPUモジュールを異常停止させることを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. プログラマブルコントローラ用のCPUと各種メモリとI/Oインタフェース部とを少なくとも含むCPUモジュールと、前記I/Oインタフェース部を介して接続され、外部制御対象機器を制御するI/Oモジュールとを有し、入力リフレッシュ処理、ユーザプログラム演算処理、および出力リフレッシュ処理をサイクリックに実行するプログラマブルコントローラの異常復旧方法であって、
    前記メモリには、前記CPUモジュールまたは前記I/Oインタフェースに異常が検出された場合に、当該異常の要因を記録する発生異常要因情報ファイルと、CPUモジュールの再起動が可能な異常の要因を記憶する再起動可能異常要因ファイルであって、前記再起動が可能な異常の要因は、あらかじめ、または、プログラミング装置を介して変更可能に設定されている、再起動可能異常要因ファイルと、を備えており、
    前記CPUモジュールの状態が、正常運転、正常停止、または、異常停止のいずれかであるかを判定する運転状態判定ステップと、
    前記判定において、前記CPUモジュールまたは前記I/Oモジュールに異常が発生し、当該異常の要因が前記発生異常要因情報ファイルに記録されて、前記CPUモジュールの前記状態が異常停止であると判定された場合、前記記録されている異常の要因と、前記再起動可能異常要因ファイルに記録されている複数の再起動可能な異常の要因とを比較し、比較の結果に基づいて、当該異常が、一過性の異常であるか否かを判定する異常要因判定ステップと、
    前記異常要因判定ステップにより、前記異常が一過性の異常であると判定された場合、前記CPUモジュールを再起動する再起動ステップと、
    を備えたことを特徴とするプログラマブルコントローラの異常復旧方法。
  4. 前記再起動ステップにより、前記CPUモジュールが再起動した回数を記録する再起動回数記録ステップと、
    前記再起動回数が予め定められた回数を超えた場合、前記CPUは、前記CPUモジュールを異常停止させるステップとをさらに備えることを特徴とする請求項3に記載のプログラマブルコントローラの異常復旧方法。
JP2007273056A 2007-10-19 2007-10-19 プログラマブルコントローラおよびその異常時復旧方法 Active JP5041290B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007273056A JP5041290B2 (ja) 2007-10-19 2007-10-19 プログラマブルコントローラおよびその異常時復旧方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007273056A JP5041290B2 (ja) 2007-10-19 2007-10-19 プログラマブルコントローラおよびその異常時復旧方法

Publications (2)

Publication Number Publication Date
JP2009104246A JP2009104246A (ja) 2009-05-14
JP5041290B2 true JP5041290B2 (ja) 2012-10-03

Family

ID=40705881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007273056A Active JP5041290B2 (ja) 2007-10-19 2007-10-19 プログラマブルコントローラおよびその異常時復旧方法

Country Status (1)

Country Link
JP (1) JP5041290B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258003A (ja) * 2010-06-09 2011-12-22 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ
JP6151655B2 (ja) * 2014-03-11 2017-06-21 ファナック株式会社 数値制御装置
JP5908171B2 (ja) 2014-04-25 2016-04-26 三菱電機株式会社 プログラマブルロジックコントローラ
JP2018005854A (ja) * 2016-07-08 2018-01-11 株式会社リコー 電子機器、及び電力制御方法
CN110825015B (zh) * 2018-08-07 2023-09-26 中烟机械技术中心有限责任公司 恢复人机界面与plc控制器数据通讯的方法与***
CN116820837A (zh) * 2023-06-28 2023-09-29 合芯科技有限公司 一种关于***组件的异常处理方法及装置
CN117827546B (zh) * 2024-03-05 2024-05-31 四川华鲲振宇智能科技有限责任公司 一种Linux***下控制服务器重启监管***及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01288902A (ja) * 1988-05-17 1989-11-21 Komatsu Ltd 車両制御装置における異常発生時の制御方法
JP2001242901A (ja) * 2000-02-28 2001-09-07 Toshiba Corp プログラマブルコントローラの異常検出装置
JP2001337189A (ja) * 2000-05-26 2001-12-07 Mitsubishi Electric Corp プラント制御装置およびその試験システム

Also Published As

Publication number Publication date
JP2009104246A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
JP5041290B2 (ja) プログラマブルコントローラおよびその異常時復旧方法
JP4458119B2 (ja) マルチプロセッサシステム及びその制御方法
CN107003915B (zh) 驱动控制装置
US9444392B2 (en) Motor control device and motor control system
JP6971016B2 (ja) 制御装置、制御方法およびプログラム
WO2015079725A1 (ja) プログラマブルコントローラ
JP4886558B2 (ja) 情報処理装置
WO2015151242A1 (ja) モータ制御装置およびモータ制御システム
JP2004338883A (ja) エレベーターの制御装置
US9483045B2 (en) Numerical controller
JP2009187373A (ja) プログラマブルコントローラ
JP2009155092A (ja) エレベータの制御装置
JP2009187234A (ja) 移設防止機能を有する数値制御装置
JP4328969B2 (ja) 制御装置の診断方法
JP2016126692A (ja) 電子制御装置
JP5365875B2 (ja) 産業用コントローラ
JP4867557B2 (ja) プログラマブルコントローラ
JP6904918B2 (ja) 制御装置およびそのデータ書き込み方法
KR102267485B1 (ko) 로봇 제어장치, 로봇시스템 및 로봇 제어방법
JP2005092695A (ja) 二重化コントローラ、その等値化モード決定方法
JP2006003929A (ja) プロセスコントローラ、プロセスコントローラの制御データの診断方法
JP4613019B2 (ja) コンピュータシステム
JP2004064866A (ja) モータドライブ制御装置
JP2000163274A (ja) 電子機器およびromデータ監視プログラムを記録した記録媒体
JP2006079229A (ja) フラッシュメモリマイクロコンピュータのデータ保全方法および保全装置

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20101015

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

R150 Certificate of patent or registration of utility model

Ref document number: 5041290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250