(57)【要約】      （修正有）【課題】バックアップ処理を工夫し、バックアップ処理を確実に実行できるプログラマブルコントローラ、およびそのデータバックアップ方法、そしてプログラマブルコントローラの起動方法を提供する。【解決手段】プログラマブルコントローラ１２０は、被バックアップ記憶部１８２と、バックアップ記憶部１８４と、被バックアップ記憶部とバックアップ記憶部とをアクセス可能な中央処理部１７０およびアクセス素子１７８と、当該中央処理部の動作の異常を検知するエラー検知部ＷＤＴと、を有し、アクセス素子は、エラー検知部によって中央処理部の動作の異常が検知されると、被バックアップ記憶部のデータをバックアップ記憶部に退避するように構成される。【選択図】図２
2014081700.tif 000002
【特許請求の範囲】
【請求項１】
被バックアップ記憶部と、
バックアップ記憶部と、
前記被バックアップ記憶部と前記バックアップ記憶部とをアクセス可能な中央処理部およびアクセス素子と、
当該中央処理部の動作の異常を検知するエラー検知部と、を有し、
前記アクセス素子は、前記エラー検知部によって前記中央処理部の動作の異常が検知されると、前記被バックアップ記憶部のデータを前記バックアップ記憶部に退避することを特徴とするプログラマブルコントローラ。
【請求項２】
前記アクセス素子は、前記被バックアップ記憶部のデータの読み出しと、前記バックアップメモリへの書き込みを同一アクセスサイクルに実行することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記アクセス素子は、前記エラー検知部によって前記中央処理部の動作の異常が検知されると、前記中央処理部のアクセスを止めさせることを特徴とする請求項１または請求項２に記載のプログラマブルコントローラ。
【請求項４】
請求項１〜請求項３のいずれか１項に記載されたプログラマブルコントローラであって、
前記アクセス素子は、前記被バックアップ記憶部のデータを前記バックアップ記憶部に退避する際、当該退避が前記エラー検知部による異常検知を契機に実行されたことを前記バックアップ記憶部の所定の領域に記録することを特徴とするプログラマブルコントローラ。
【請求項５】
請求項４記載のプログラマブルコントローラであって、
前記中央処理部は、起動時に、前記バックアップ記憶部の所定の領域を参照し、当該所定の領域に、前記中央処理部の動作の異常が前記エラー検知部によって検知されたことが記録されていた場合、待機モードとなって外部から所定の指示を待つことを特徴とするプログラマブルコントローラ。
【請求項６】
請求項５記載のプログラマブルコントローラであって、
前記所定の指示は、復元指示であり、
前記中央処理部は、当該復元指示を受けると、前記バックアップ記憶部に記憶されたデータを前記被バックアップ記憶部に復元することを特徴とするプログラマブルコントローラ。
【請求項７】
請求項５記載のプログラマブルコントローラであって、
前記所定の指示は、バックアップデータ送信指示であり、
前記中央処理部は、前記バックアップデータ送信指示を受けると、前記バックアップ記憶部に記憶されたデータの全部または１部を外部に送信することを特徴とするプログラマブルコントローラ。
【請求項８】
被バックアップ記憶部とバックアップ記憶部を具備したプログラマブルコントローラの前記被バックアップ記憶部に記憶されたデータをバックアップ記憶部にバックアップするデータバックアップ方法であって、
前記プログラマブルコントローラに搭載される中央処理部の異常が検知されると、当該中央処理部とは異なるアクセス素子が前記被バックアップ記憶部のデータを前記バックアップ記憶部に退避することを特徴とするプログラマブルコントローラのデータバックアップ方法。
【請求項９】
所定の異常を契機に被バックアップ記憶部に記憶されたデータをバックアップ記憶部にバックアップすると共に前記バックアップ記憶部の所定の領域に前記所定の異常の要因を記録するプログラマブルコントローラの起動方法であって、
前記プログラマブルコントローラは、起動後の制御実行に先立ち、前記所定の異常の要因を参照し、参照した異常要因が前記プログラマブルコントローラの中央処理部に関わる異常であった場合、待機モードに留まることを特徴とするプログラマブルコントローラの起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を制御するプログラマブルコントローラ、プログラマブルコントローラの記憶部に記憶されたデータをバックアップするデータバックアップ方法、およびプログラマブルコントローラの起動方法に関する。
【背景技術】
【０００２】
制御装置の１つにプログラマブルコントローラが知られている。プログラマブルコントローラシステムでは、上位の管理装置に、１または複数のプログラマブルコントローラが接続され、プログラマブルコントローラが、それぞれ複数の被制御機器を制御する。従って、プログラマブルコントローラは、上位の管理装置から制御指令を受けて、その制御指令を解析し、下位の被制御機器を制御するとともに、制御に要するパラメータやステータス情報を保持しなければならない。
【０００３】
また、プログラマブルコントローラシステムは下位の被制御機器は動力を有する場合も多いので、被制御機器を適切に制御することで、プログラマブルコントローラシステム全体として、様々な制御動作を安全かつ確実に遂行しなければならない。例えば、プログラマブルコントローラは、プログラマブルコントローラシステムの稼働中に何らかのエラーが発生したとしても、その時点の動作状態を示すデータをバックアップし、安全に被制御機器を停止させなければならない。また、プログラマブルコントローラは、エラーが復旧されると、バックアップされたデータを再配置し、速やかに元の動作状態に復帰させるべきである。
【０００４】
例えば、特許文献１には電源電圧の低下を検知すると、プロセッサ（中央処理部）が、ＳＲＡＭに蓄積されている一部のデータをフラッシュメモリにバックアップする技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３０５６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記した特許文献１の技術では、プロセッサが、自己のプログラムを通じて、バックアップに関する全ての処理を実行する。従って、プロセッサにエラーが発生したときには、バックアップ対象である情報を格納した被バックアップメモリから、その情報を読み出し、バックアップ先のバックアップメモリに情報を書き込むというバックアップ処理の実行が困難となる。
【０００７】
本発明は、このような課題に鑑み、バックアップ処理を工夫しバックアップ処理を確実に実行できるプログラマブルコントローラおよびそのデータバックアップ方法、そしてプログラマブルコントローラの起動方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１のプログラマブルコントローラは、被バックアップ記憶部と、バックアップ記憶部と、被バックアップ記憶部とバックアップ記憶部とをアクセス可能な中央処理部およびアクセス素子と、当該中央処理部の動作の異常を検知するエラー検知部と、を有し、アクセス素子は、エラー検知部によって中央処理部の動作の異常が検知されると、被バックアップ記憶部のデータをバックアップ記憶部に退避するように構成される。
【０００９】
請求項２の発明は、被バックアップ記憶部のデータの読み出しと、バックアップメモリへの書き込みを同一アクセスサイクルに実行するようにアクセス素子を構成する。
請求項３に係る発明は、中央処理部の動作の異常が検知されると、中央処理部のバスアクセスを止めさせるようにアクセス素子を構成する。
【００１０】
請求項４に係る発明は、被バックアップ記憶部のデータをバックアップ記憶部に退避する際、当該退避がエラー検知部による異常検知を契機に実行されたことをバックアップ記憶部の所定の領域に記録するようにアクセス素子を構成する。
【００１１】
請求項５に係る発明は、起動時に、バックアップ記憶部の所定の領域を参照し、当該所定の領域に、中央処理部の動作の異常がエラー検知部によって検知されたことが記録されていた場合、待機モードとなって外部から所定の指示を待つように中央処理部を構成する。
【００１２】
請求項６に係る発明は、所定の指示が復元指示であり、
当該復元指示を受けると、バックアップ記憶部に記憶されたデータを被バックアップ記憶部に復元するように中央処理部を構成する。
【００１３】
請求項７に係る発明は、所定の指示がバックアップデータ送信指示であり、
バックアップデータ送信指示を受けると、バックアップ記憶部に記憶されたデータの全部または１部を外部に送信するように中央処理部を構成する。
【００１４】
請求項８に係る発明は、被バックアップ記憶部とバックアップ記憶部を具備したプログラマブルコントローラの被バックアップ記憶部に記憶されたデータをバックアップ記憶部にバックアップするデータバックアップ方法であって、プログラマブルコントローラに搭載される中央処理部の異常が検知されると、当該中央処理部とは異なるアクセス素子が被バックアップ記憶部のデータをバックアップ記憶部に退避する。
【００１５】
請求項９に係る発明は、所定の異常を契機に被バックアップ記憶部に記憶されたデータをバックアップ記憶部にバックアップすると共にバックアップ記憶部の所定の領域に所定の異常の要因を記録するプログラマブルコントローラの起動方法であって、プログラマブルコントローラは、起動後の制御実行に先立ち、所定の異常の要因を参照し、参照した異常要因がプログラマブルコントローラの中央処理部に関わる異常であった場合、待機モードに留まる。
【発明の効果】
【００１６】
本発明は、プログラマブルコントローラが搭載する中央処理部の異常が検知されると、中央処理部とは異なるアクセス素子が被バックアップ記憶部に記憶されたデータをバックアップ記憶部にバックアップする。このようにすることで中央処理部に異常が発生したときでもバックアップ処理を確実に実行できる高信頼なプログラマブルコントローラを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係るプログラマブルコントローラシステムを構成する各装置の概略的な関係を示した説明図である。
【図２】本発明に係るプログラマブルコントローラの主回路の概略的な構成を示すブロック図である。
【図３】本発明のバックアップの処理の流れを示したフローチャートである。
【図４】バックアップの処理のデータ転送の詳細なタイミングを示したタイミングチャートである。
【図５】リスタート時（起動時）の処理の流れを示したフローチャートである。
【発明を実施するための形態】
【００１８】
以下に図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
（プログラマブルコントローラシステム１００）
図１は、プログラマブルコントローラシステム１００を構成する各装置の概略的な関係を示した説明図である。プログラマブルコントローラシステム１００は、管理装置１１０と、１以上（１または複数）のプログラマブルコントローラ１２０と、１以上（１または複数）の被制御機器１３０とを含んで構成される。また、管理装置１１０と１または複数のプログラマブルコントローラ１２０とは、例えば、ギガベース等のＥｔｈｅｒｎｅｔ（登録商標）によるネットワーク配線１４０によって接続される。プログラマブルコントローラ１２０と１または複数の被制御機器１３０とは、例えば、専用の接続配線１４２を通じて接続されている。
【００１９】
管理装置１１０は、１または複数のプログラマブルコントローラ１２０に指示を与えたり、１または複数のプログラマブルコントローラ１２０からステータス情報を読み出し、プログラマブルコントローラシステム１００全体における工程管理などを行う。
【００２０】
プログラマブルコントローラ１２０は、電源モジュール、ＣＰＵモジュール、入出力モジュール、通信モジュール等の複数のモジュールからなり、ＰＬＣ（Programmable Logic Controller）とも呼ばれる。例えば、ＣＰＵモジュールは、ラダー図等を通じて生成されたシーケンス制御のための制御プログラムを有し、管理装置１１０から制御指令と、入出力モジュールを通じて入力された被制御機器１３０のセンサ検出結果とに基づいて被制御機器１３０を制御する。
【００２１】
被制御機器１３０は、ＦＡ（Factory Automation）における様々な状態を検知するセンサ、そのセンサの検知結果に応じて動作する電動機、エンコーダ等の電気機器で構成される。
【００２２】
このようなプログラマブルコントローラシステム１００は、様々な制御対象に適用できる。例えば、生産実行システム（ＭＥＳ：Manufacturing Execution System）にプログラマブルコントローラシステム１００を適用した場合、プログラマブルコントローラ１２０は被制御機器１３０としてのフィルムユニット(Film Unit)等の生産機器に接続される。
【００２３】
プログラマブルコントローラ１２０は、入出力モジュール等から生産機器の動作状態を読み出し、モータドライバ等を通じて生産機器内の電動機を回転制御する。管理装置１１０は、プログラマブルコントローラ１２０ごとの情報の収集および制御指令の送信を実行する。こうして、プログラマブルコントローラはシステム１００全体として、工程管理、品質管理、製造量管理等の生産支援管理を総合的に実行することができる。
【００２４】
以下、プログラマブルコントローラ１２０の具体的な動作について、プログラマブルコントローラ１２０が備える図２のプロセッサ１７０がプログラムを正常に実行できなくなる異常が発生したときのバックアップ処理を説明する。
（プロセッサ１７０に異常が発生したときのバックアップ処理）
図２は、プログラマブルコントローラ１２０の主回路１５４の概略的な構成を示すブロック図である。主回路１５４は、プロセッサ１７０（中央処理部）と、第１通信素子１７２と、第１メモリ（専用メモリ）１７４と、共通バス１７６と、アクセス素子１７８と、ＷＤＴ（ウォッチドックタイマー）エラー検知素子（エラー検知部）１７９と、第２通信素子１８０と、第２メモリ（被バックアップメモリ）１８２と、第３メモリ（バックアップメモリ）１８４とを含んで構成される。
【００２５】
プロセッサ１７０は、中央処理装置（ＣＰＵ）、プログラム等が格納されたＲＯＭ等を含む半導体集積回路で構成され、バスマスタ機能を有する。そして、プロセッサ１７０は、主回路１５４全体を制御するとともに、ＲＯＭに保持されたシーケンス制御のための制御プログラムに基づいて１または複数の被制御機器１３０を制御する。
【００２６】
第１通信素子１７２は、ギガベース等のＥｔｈｅｒｎｅｔ（登録商標）によるネットワーク配線１４０を通じて管理装置１１０や他のプログラマブルコントローラ１２０との通信を行う。第１メモリ１７４は、プロセッサ１７０と直接接続された（共通バス１７６を通じて接続されていない）揮発性のＳＤＲＡＭであり、プロセッサ１７０のワークエリアとして機能する。第１メモリ１７４には、少なくとも、管理装置１１０や他のプログラマブルコントローラ１２０との通信における通信状態や異常履歴等のＲＡＳ（Reliability, Availability, Serviceability）情報が記憶されている。
【００２７】
アクセス素子１７８は、共通バス１７６に接続された、例えば、ＰＧＡ（Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit）等の集積回路で構成され、主回路１５４内の論理計算を担う。また、アクセス素子１７８は、バスマスタ機能を有し、第２メモリ１８２および第３メモリ１８４に共通バス１７６を通じてアクセスすることができ、アクセス素子１７８に組み込まれたハードウェアロジックのみでバスアクセス処理を実行できる。すなわち、アクセス素子１７８はハードウェアロジックをプログラマブルに組み込むことができる素子であり、その素子の実態は論理回路のみを集積したハードウェアロジックデバイスである。よって、アクセス素子１７８は機械語等のプログラムを参照しながら処理を実行するものではなく、プログラムの介在なくバスにアクセスすることができる（アクセス素子１７８を単にデバイス、もしくはＤＭＡデバイスともいうともいう）。
【００２８】
ＷＤＴエラー検知素子１７９はプロセッサ１７０が正常に動作しているか否かを監視する素子であり、プロセッサ１７０から定期的に送られてくる信号（ウォッチドッグ信号）を受信し、定められた期間を経過してもウォッチドッグ信号を受信しないとき、プログラムハングアップなどプロセッサ１７０に何らかの異常が発生していると判断しエラー検知信号をアクセス素子１７８に出力する。
【００２９】
第２通信素子１８０は、専用の接続配線１４２を通じて被制御機器１３０との通信を行う。第２メモリ１８２は、共通バス１７６に接続された揮発性かつ比較的高速のＳＲＡＭである。第２メモリ１８２には、少なくとも、被制御機器１３０との通信における通信状態や異常履歴等のＲＡＳ情報や入出力モジュールを通じて取得した被制御機器１３０の動作状態を示す情報が記憶されている。
【００３０】
第３メモリ１８４は、共通バス１７６に接続された不揮発性のＲＡＭである。第３メモリ１８４は、第１メモリ１７４や第２メモリ１８２に格納されたデータの一部もしくは全てをバックアップするために用いられる。従って、少なくとも、不図示の電源が切断されている間でもデータを保持する機能を有している。ここでは、不揮発性のＲＡＭを挙げているが、内蔵または外付けのコンデンサ等を用いてメモリの記憶内容を保持可能な揮発性のＲＡＭを用いることもできる。以下、ＷＤＴエラー検知素子１７９がプロセッサ１７０に係る異常を検知したとき、主回路１５４の各機能部によってバックアップするバックアップ対処方法の流れを説明する。
（バックアップ対処方法）
図３は、プロセッサ１７０が異常時のバックアップ対処方法の処理の流れを示したフローチャートである。ＷＤＴエラー検知素子１７９は、前述の通りプロセッサ１７０からウォッチドッグ信号を受信し、定められた期間にウォッチドッグ信号を受信している限りではプロセッサ１７０が正常に動作していると判断し、監視処理を繰り返す（Ｓ１におけるＮＯ）。一方で、ＷＤＴエラー検知素子１７９は、定められた期間を経過してもウォッチドッグ信号を受信しないとき、プロセッサ１７０に何らかの異常が発生していると判断する（Ｓ１におけるＹＥＳ）。
【００３１】
そして、ＷＤＴエラー検知素子１７９は、プロセッサ１７０に何らかの異常が発生したと判断するとアクセス素子１７８にエラー検知信号を出力する（Ｓ２）。
アクセス素子１７８はＷＤＴエラー検知素子１７９からエラー検知信号を受けると、アクセス素子１７８、第２メモリ１８２、および、第３メモリ１８４以外の素子を停止する（Ｓ３）。具体的に説明すると、アクセス素子１７８はＷＤＴエラー検知素子１７９からエラー検知信号を受けると、リセット信号をプロセッサ１７０、第１通信素子１７２および第２通信素子１８０に与え、リセットさせる。または、アクセス素子１７８はバスを開放するようバス使用権獲得のリクエスト信号をプロセッサ１７０、第１通信素子１７２および第２通信素子１８０に与え、各素子のバスアクセス権を剥奪するようにしても良い。または、アクセス素子１７８はバスを開放するようバス使用権獲得のリクエスト信号をプロセッサ１７０に与え、第１通信素子１７２および第２通信素子１８０にはリセット信号を与えてリセットさせても良い。すなわち、アクセス素子１７８は、ＷＤＴエラー検知素子１７９からエラー検知信号を受けると、各素子のバスアクセスを止めさせるよう作用する（これら実施形態を含むステップＳ３の処理、すなわち各素子のバスアクセスを止めさせる処理を例外処理ともいう）。
【００３２】
続いて、アクセス素子１７８は、バックアップ対象のデータをバックアップすべく、第２メモリ１８２に記憶されたバックアップが必要なデータを第３メモリ１８４に転送する（Ｓ４）。なお、第２メモリ１８２内においてバックアップの対象となるデータのアドレスやサイズ、また、第３メモリ１８４に格納すべきアドレス等については、予めプロセッサ１７０によってアクセス素子１７８のレジスタ（不図示）に設定されているものとする。
【００３３】
このとき、アクセス素子１７８は、第２メモリ１８２および第３メモリ１８４に共通バス１７６を通じて接続されており、プロセッサ１７０から制御指令を受けたり、プロセッサ１７０に処理を委ねることなく、アクセス素子１７８単独でデータを転送する。
【００３４】
アクセス素子１７８は、論理回路やその動作タイミングを任意に設定することができる。従ってアクセス素子１７８は、ＷＤＴエラー検知素子１７９が出力したエラー検知信号に基づいて、第２メモリ１８２や第３メモリ１８４への制御信号を適切なタイミングで生成することができる。第２メモリ１８２や第３メモリ１８４への制御信号は後ほど詳述する。
【００３５】
このようにして第２メモリ１８２のデータは第３メモリ１８４に転送される。このとき、第２メモリ１８２から第３メモリ１８４へのデータ転送は、プロセッサ１７０が関与しておらず、アクセス素子１７８に組み込まれた論理回路（ハードウェアロジック）のみで実現している。従って、従来のように、バックアップ処理にプロセッサ１７０が関与する場合と比較して、プロセッサ１７０に異常が発生したとしても、確実にバックアップ処理を実行することができる。
【００３６】
ステップＳ４の処理が終了すると、アクセス素子１７８は、そのバックアップ処理がＷＤＴエラー検知素子によって検知された異常であることを第３メモリ１８４のエラー要因記録領域に記録する（Ｓ５）。
【００３７】
続いてステップＳ６を説明するが、ステップＳ６の処理は前述ステップＳ３の処理に応じて以下の（i）〜（iii）で実現する。
（i）ステップＳ３にて、アクセス素子１７８がＷＤＴエラー検知素子１７９からエラー検知信号を受け、リセット信号をプロセッサ１７０、第１通信素子１７２および第２通信素子１８０に与えた場合には、ステップＳ５に続き、アクセス素子１７８は、各素子に出力したリセットを解除しリスタートさせる。
（ii）ステップＳ３にて、アクセス素子１７８が各素子のバスアクセス権を剥奪するようにバス使用権獲得のリクエスト信号を各素子に与えた場合には、ステップＳ５に続き、アクセス素子１７８はバス使用権獲得のリクエスト信号の出力を解除すると共に、各素子にリセットを一時的に与え、リスタートさせる。
（iii）ステップＳ３にて、アクセス素子１７８がバスを開放するようバス使用権獲得のリクエスト信号をプロセッサ１７０に与え、第１通信素子１７２および第２通信素子１８０にリセット信号を与えた場合には、ステップＳ５に続き、アクセス素子１７８はプロセッサ１７０に与えたバス使用権獲得のリクエスト信号の出力を解除し、リセットを一時的に与え、プロセッサ１７０をリスタートさせる。これと並行して、アクセス素子１７８は第１通信素子１７２および第２通信素子１８０へのリセット信号の出力を解除する。
（リスタート処理）
図５は、リスタートの処理の流れを示したフローチャートである。リスタートされたプロセッサ１７０はイニシャライズ処理の際、自身がどのようにしてリスタートされたのかを把握するため、第３メモリ１８４のエラー要因記録領域を参照する（Ｓ１１）。参照したエラー要因がＷＤＴエラー検知素子によって検知された異常でなかった場合（プロセッサ１７０のプログラムの実行に支障をきたす異常で無かった場合）には、プロセッサ１７０は少なくとも異常に関わるダメージを直接負ってなく、他の部分に異常がある可能性がある。このためプロセッサ１７０は、主回路１５４全体のイニシャライズ処理を行った上で運用モードに移行し、制御を実行する（Ｓ１２におけるＮＯ）。
【００３８】
一方、参照したエラー要因がＷＤＴエラー検知素子によって検知された異常であった場合（Ｓ１２におけるＹＥＳ）には、プロセッサ１７０は、その旨を管理装置１１０に通知してイニシャライズ処理に留まり、管理装置１１０からの指示を待つ。すなわちプロセッサ１７０は、運用モードには移行せず、制御処理を実行しない（待機モードともいう）。
【００３９】
続いて待機モードについて説明する。ステップＳ１３では、プロセッサ１７０は管理装置１１０から何らかの指示があるか否かをチェックしており、指示が無い場合にはチェックを繰り返す（Ｓ１３におけるＮＯ）。一方、管理装置１１０から何らかの指示があった場合にプロセッサ１７０は、その指示が運用モードの移行を指示するものかチェックする（Ｓ１３におけるＹＥＳおよびＳ１４）。ステップＳ１４においてプロセッサ１７０は管理装置１１０から受けた指示が運用モードへの移行であった場合、主回路１５４全体のイニシャライズ処理を行った上で運用モードに移行する。
【００４０】
ステップＳ１４において、管理装置１１０から受けた指示が運用モードへの移行を指示するものでなかった場合、プロセッサ１７０はステップＳ１５に移行し（Ｓ１４におけるＮＯ）、その他の指示に応じた処理を実行する。その他の指示とは様々な指示があり、例えば、管理装置１１０によって、第３メモリにバックアップされたデータを再配置するよう指示（復元指示）が成されれば、プロセッサ１７０は、第３メモリ１８４にバックアップされたデータを元のメモリ（第２メモリ１８２）に再配置し復元する。このようにすることで、本発明は被制御機器１３０に係る各種データを異常発生時と略等しいときの状態に戻すことができ、異常復旧後の制御を異常発生時と略等しい状態から再開できる。
【００４１】
また、管理装置１１０によって、第３メモリ１８４にバックアップされたデータを管理装置１１０に送信するよう指示（バックアップデータ送信指示）が成されれば、プロセッサ１７０は第１通信素子１７２を介してそのデータを一括もしくは指定された領域など１部を管理装置１１０（外部）に送信する。このようにすることで、本発明は異常発生と略等しいときのデータを管理装置に通知できるので、ユーザは異常との関連性など解析作業を効率よくできる。
【００４２】
従って、このような待機モードを設けることにより、ユーザの異常要因の確認のもと適切な処置を施した上でプログラマブルコントローラを運用することができる。
要するにアクセス素子１７８は、プロセッサ１７０に関わる異常を契機に第２メモリ１８２に記憶されたデータを第３メモリ１８４にバックアップする。この際、アクセス素子１７８は第３メモリ１８４のエラー要因記録領域にバックアップの引き金となった異常の要因を記録し、プロセッサ１７０をリスタートさせる。リスタート（起動）されたプロセッサ１７０は、運用モードへの移行（制御実行）に先立って、エラー要因記録領域に記録された異常の要因を参照する。プロセッサ１７０は参照した異常要因が当該プロセッサ１７０に関わる異常（プロセッサ１７０のプログラムの実行に支障をきたす異常）であった場合、待機モードに留まる。
【００４３】
なお、上記図５のステップＳ１４でＹＥＳとなり運用モードに移行する際、本発明は主回路１５４全体のイニシャライズ処理を行わず、主回路１５４の各種設定を維持して運用モードに移行するように構成しても良い。なぜならば、待機モードに移行したプロセッサ１７０は異常に関わるダメージを直接負っている可能性があるため、主回路１５４全体のイニシャライズ処理（メモリをクリアしての各種設定を行なうなど）を正常に実行できなく、各種設定が予期せぬデータに書き換わる可能性を否めないからである。一方で、プロセッサ１７０が正常にプログラムを実行できれば、本発明はイニシャライズ時間を削減して早く運用できるというメリットもある。
【００４４】
なお、上記のような主回路１５４の各種設定を維持して運用モードに移行するためには、電源が起動されてスタートするコールドスタートではなく、運用モード中にプロセッサ１７０（のみ）をリセットして再起動するようなホットスタートのときに適用できる。つまり、本発明のプロセッサ１７０へのリスタート処理が相当する。
【００４５】
コールドスタートで起動されたか、ホットスタートで起動されたかを識別するには、本発明では、例えば、パワーオンリセットでクリアされるレジスタをアクセス素子１７８に設け、当該レジスタをプロセッサ１７０が起動時に参照し、「０」であればコールドスタートと判断して「１」をセットするように構成すれば良い。つまり、ホットスタートで起動されれば、アクセス素子１７８に設けられたレジスタは「１」が保持され、コールドスタートでは「０」になる。このレジスタを参照することでプロセッサ１７０はコールドスタートで起動されたか、ホットスタートで起動されたかを識別できる。
（バックアップデータの転送処理）
アクセス素子１７８のバックアップデータの転送処理について説明する。アクセス素子１７８は第２メモリ１８２から第３メモリ１８４へデータを転送する際、第２メモリ１８２のデータの読み出しを行い、データが共通バス１７６に出力されている間に、そのデータを第３メモリ１８４に書き込む。すなわち、アクセス素子１７８は第２メモリ１８２と第３メモリ１８４とを同時にアクセスすることが可能である。
【００４６】
図４は、データ転送の詳細なタイミングを示したタイミングチャートである。例えば、第２メモリ１８２の任意のアドレスＡに格納されたデータＢを、第３メモリ１８４に転送する例を挙げる。ここでは、第３メモリ１８４の記憶容量を第２メモリ１８２の記憶容量以上とし、第２メモリ１８２と第３メモリ１８４とのアドレス空間（メモリマップ）を等しくしている。
【００４７】
アクセス素子１７８は、共通バス１７６のアドレス線にアドレスＡを出力することで第２メモリ１８２および第３メモリ１８４の任意のアドレスＡを指定し、第２メモリ１８２の／ＲＤ信号のみを直接制御することで、第２メモリ１８２のデータＢを共通バス１７６のデータ線に読み出す。ただし、ここでは、ＣＳ（Chip Select）等の他の許可信号を省略している。
【００４８】
そして、共通バス１７６のアドレス線にアドレスＡが出力され、かつ、共通バス１７６のデータ線にデータＢが出力されている間に、アクセス素子１７８は、第３メモリ１８４の／ＷＲ信号のみを直接制御することで、共通バス１７６のデータ線に出力されているデータＢを第３メモリ１８４に書き込む。
【００４９】
データの読み出しと書き込みを、従来では、別のタイミングで行っていたところ、本実施形態では、同タイミングで行うことができるので、データ転送を高速化することができ、バックアップ処理の短縮化を図ることができる。また、短縮化に伴う時間を他のバックアップ処理に利用することも可能となる。さらに、データの転送負荷も削減できるので、バックアップ処理に費やす電力も大幅に削減することができる。
【００５０】
以上に説明したように、本発明によると、プロセッサ１７０に異常が発生したときでもバックアップ処理を確実に実行できる高信頼なプログラマブルコントローラを提供することができる。
【００５１】
なお、本明細書のバックアップ対処方法の各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【００５２】
また、本発明は、異常対処方法としてウォッチドックタイマーがオーバーフローの場合の実施例を説明したが、これに限ることはない。例えば、本発明はパリティエラー、プログラムのサムチェックエラー、そしてメモリの割付がない未定義領域へのプロセッサ１７０のアクセスなどを対象とすることができる。すなわち本発明で扱う異常とは、プロセッサ１７０のプログラムの実行に支障をきたす異常全てである。
【００５３】
また、本発明は、アクセス素子１７８に調停機能を含ませ、プロセッサ１７０と第１通信素子１７２とを共有バス１７６から切り離し、両者及び第１メモリを専用バスで接続することも可能である。このとき、調停機能は共通バス１７６（第２メモリ１８２や第３メモリ１８３）へのアクセス権をプロセッサ１７０もしくは第１通信素子１７２のいずれか一方に与えるよう調停する。アクセス権を得たプロセッサ１７０もしくは第１通信素子１７２はアクセス素子１７８を介して第２メモリ１８２や第３メモリ１８３をアクセスすることになる。
【００５４】
また、上記説明での運用モードとは、プログラマブルコントローラ１２０、もしくはプログラマブルコントローラシステム１００がアプリケーションプログラム（シーケンスプログラム）を実行して外部機器を制御する状態を指している。
【産業上の利用可能性】
【００５５】
本発明は、記憶部を備えた情報処理装置として、被制御機器に対する制御処理をプログラミング可能なプログラマブルコントローラや、そのデータバックアップ方法、そして、プログラマブルコントローラの起動方法として利用することができる。
【符号の説明】
【００５６】
１００  …プログラマブルコントローラシステム
１１０  …管理装置
１２０  …プログラマブルコントローラ（ＰＬＣ）
１３０  …被制御機器
１５４  …主回路
１７０  …プロセッサ
１７２  …第１通信素子
１７６  …共通バス
１７８  …アクセス素子
１７９  …ＷＤＴ（ウォッチドックタイマー）エラー検知部
１８０  …第２通信素子
１８２  …第２メモリ（被バックアップメモリ）
１８４  …第３メモリ（バックアップメモリ）
【図１】
2014081700.tif 000003
【図２】
2014081700.tif 000004
【図３】
2014081700.tif 000005
【図４】
2014081700.tif 000006
【図５】
2014081700.tif 000007