(57)【特許請求の範囲】
【請求項１】
与えられた制御パラメータと制御対象機器から随時得られる制御データとを用いて所定のプログラムを実行し、前記制御対象機器を制御する制御装置であって、
前記プログラムと、前記制御データと、前記制御パラメータとを記憶する不揮発性記憶手段と、
前記制御装置を動作させる電源の電圧の低下を検知する電源電圧低下検知手段と、
前記電源の電圧の低下時に放電することで前記制御装置に一時的に電力供給する蓄電手段と、
制御手段と、を有し、
該制御手段は、
起動時に、前記不揮発性記憶手段に記憶されている前記プログラム、前記制御データ、及び前記制御パラメータの全てもしくは１部分を、揮発性記憶手段にコピーする初期化手段と、
運用中、前記揮発性記憶手段に記憶された前記プログラム、前記制御データ、及び前記制御パラメータを用いて前記制御対象機器を制御するための演算処理を実行すると共に、前記制御対象機器から随時得られる制御データによって、前記揮発性記憶手段に記憶された制御データを更新する制御実行手段と、
運用中の任意のときに新たな制御パラメータが与えられた場合、該新たな制御パラメータによって、前記揮発性記憶手段に記憶された制御パラメータを更新すると共に前記不揮発性記憶手段に記憶された制御パラメータも更新する制御パラメータ更新手段と、
前記電源電圧低下検知手段によって前記電源電圧低下が検知された場合、前記揮発性記憶手段に記憶されている前記プログラム及び前記制御パラメータを前記不揮発性記憶手段に退避させずに、前記揮発性記憶手段に記憶されている前記制御データを前記不揮発性記憶手段に退避させる電源断処理手段と、
を有することを特徴とする制御装置。
【請求項２】
前記制御パラメータ更新手段は、
前記新たな制御パラメータが与えられたとき、前記揮発性記憶手段に該新たな制御パラメータを転送して記憶させた後、該揮発性記憶手段に記憶された新たな制御パラメータを前記不揮発性記憶手段に転送して記憶させ、
あるいは、前記新たな制御パラメータが与えられたとき、該新たな制御パラメータを前記揮発性記憶手段に転送すると共に前記不揮発性記憶手段にも転送して、該揮発性記憶手段と該不揮発性記憶手段とに該新たな制御パラメータを記憶させることを特徴とする請求項１記載の制御装置。
【請求項３】
前記不揮発性記憶手段には、前記制御パラメータを記憶する制御パラメータ記憶領域が複数設けられており、
前記制御パラメータ更新手段は、前記新たな制御パラメータが与えられる毎に、該新たな制御パラメータを前記複数の制御パラメータ記憶領域のいずれかに切換えて記憶させ、
前記初期化手段は、起動時に、前記複数の制御パラメータ記憶領域に記憶完了された制御パラメータのうちの最新の制御パラメータを前記揮発性記憶手段にコピーする、ことを特徴とする請求項１または２記載の制御装置。
【請求項４】
前記不揮発性記憶手段には、前記制御パラメータ記憶領域が２つ設けられており、
前記制御パラメータ更新手段は、前記新たな制御パラメータが与えられる毎に、該新たな制御パラメータを前記２つの制御パラメータ記憶領域に交互に切換えて記憶させると共に、該新たな制御パラメータの記憶が完了した場合に所定のフラグを反転させ、
前記初期化手段は、起動時に、前記フラグを参照して、前記２つの制御パラメータ記憶領域に記憶完了された制御パラメータのうちの最新の制御パラメータを前記揮発性記憶手段にコピーする、ことを特徴とする請求項３記載の制御装置。
【請求項５】
前記不揮発性記憶手段には、前記制御パラメータ記憶領域が３つ以上設けられており、
前記制御パラメータ更新手段は、前記新たな制御パラメータが与えられる毎に、該新たな制御パラメータを前記３つ以上の制御パラメータ記憶領域のいずれかに切換えて記憶させると共に、該新たな制御パラメータの記憶が完了した場合に、該新たな制御パラメータが前記３つ以上の制御パラメータ記憶領域のいずれに記憶されたかを示す情報を任意の記憶領域に書き込み、
前記初期化手段は、起動時に、前記情報を参照して、前記３つ以上の制御パラメータ記憶領域に記憶完了された制御パラメータのうちの最新の制御パラメータを前記揮発性記憶手段にコピーする、ことを特徴とする請求項３記載の制御装置。
【請求項６】
前記制御データには、該制御対象機器の現在状態を示すデータが含まれることを特徴とする請求項１記載の制御装置。
【請求項７】
前記不揮発性記憶手段は、前記プログラムを格納する第１のプログラム格納領域と、前記制御データを格納する第１の制御データ格納領域と、前記制御パラメータを格納する第１の制御パラメータ格納領域を有し、
前記揮発性記憶手段は、運用中に前記プログラムを格納する為の第２のプログラム格納領域と、運用中に前記制御データを格納する為の第２の制御データ格納領域と、運用中に前記制御パラメータを格納する為の第２の制御パラメータ格納領域を有することを特徴とする請求項１記載の制御装置。
【請求項８】
与えられた制御パラメータと制御対象機器から随時得られる制御データとを用いて所定のプログラムを実行して前記制御対象機器を制御する制御装置と、監視操作装置とを有する制御システムにおいて、
前記制御装置は、
前記プログラムと、前記制御データと、前記制御パラメータとを記憶する不揮発性記憶手段と、
前記制御装置を動作させる電源の電圧の低下を検知する電源電圧低下検知手段と、
前記電源の電圧の低下時に放電することで前記制御装置に一時的に電力供給する蓄電手段と、
制御手段と、を有し、
該制御手段は、
起動時に、前記不揮発性記憶手段に記憶されている前記プログラム、前記制御データ、及び前記制御パラメータの全てもしくは１部分を、揮発性記憶手段にコピーする初期化手段と、
運用中、前記揮発性記憶手段に記憶された前記プログラム、前記制御データ、及び前記制御パラメータを用いて前記制御対象機器を制御するための演算処理を実行すると共に、前記制御対象機器から随時得られる制御データによって、前記揮発性記憶手段に記憶された制御データを更新する制御実行手段と、
運用中の任意のときに前記監視操作装置から新たな制御パラメータが与えられた場合、該新たな制御パラメータによって、前記揮発性記憶手段に記憶された制御パラメータを更新すると共に前記不揮発性記憶手段に記憶された制御パラメータも更新する制御パラメータ更新手段と、
前記電源電圧低下検知手段によって前記電源電圧低下が検知された場合、前記揮発性記憶手段に記憶されている前記プログラム及び前記制御パラメータを前記不揮発性記憶手段に退避させずに、前記揮発性記憶手段に記憶されている前記制御データを前記不揮発性記憶手段に退避させる電源断処理手段と、
を有することを特徴とする制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムで使用される制御装置のデータのバックアップ方式に関する。
【背景技術】
【０００２】
監視制御システムは、様々な産業プラントにおいて使用されており、制御装置、監視操作装置、センサ/アクチュエータ等に対する入出力装置等によって成り立っている。
図５に、既存の監視制御システムの構成例を示す。
【０００３】
図示の制御システムは、制御装置１１０、監視操作装置１２０、入出力装置１３０等から成る。
制御装置１１０は、外部インターフェース（Ｉ／Ｆ）部１１１、制御演算部１１２、制御データ格納部１１３、プログラム格納部１１４等を有する。入出力装置１３０は、不図示の制御対象機器等と接続している。
【０００４】
制御装置１１０は、外部インターフェース（Ｉ／Ｆ）部１１１を介して、監視操作装置１２０、入出力装置１３０と接続しており、例えば入出力装置１３０から上記制御対象機器に係わるデータを随時取得する。このデータが制御データの一例である。制御データは、制御データ格納部１１３に格納される。
【０００５】
監視操作装置１２０は、プラントの状態を監視・操作するため、制御装置１１０に対して設定データやコマンド等を送信し、あるいは制御装置１１０から制御データ等を取得する。
【０００６】
制御装置１１０は、入出力装置１３０から収集した制御データ等を用いて、そのシステムに応じたプログラム（制御プログラム；例えばＰＬＣ用プログラム）によって演算を行い、演算結果等を入出力装置１３０に出力する。
【０００７】
制御装置１１０には、この制御演算処理を高速に実行するために、制御データ格納部１１３として高速な記憶装置（メモリ）が実装される。また、プログラム（制御プログラム等）を保持するプログラム格納部１１４として、不揮発性記憶装置を備えている。
【０００８】
上述の通り、制御装置１１０を構成するには、高速なメモリと、プログラムを保持するための記憶装置が必要であるが、制御装置１１０の電力が絶たれた場合でも制御データやプログラムを保持するため、図６に示すように制御データ格納部１１３としてバッテリーバックアップ付きスタティックＲＡＭを使用するケースがあった。
【０００９】
近年では、図７に示すように、制御データを格納するメモリとして、高速ではあるがバッテリーバックアップができないダイナミックＲＡＭ（ＤＲＡＭ；高速揮発性記憶部１４４）を用いると共に、電源電圧低下検知部１４２を備える、図示の制御装置１４０のような構成も知られている。
【００１０】
制御装置１４０には外部電源１４５から電力供給される。外部電源１４５は、例えば商用の交流電源であるが、ここではこれが直流電源に変換されて制御装置１４０に供給されるものとする。
【００１１】
電源電圧低下検知部１４２は、例えば、外部電源１４５から供給される直流電源の電圧を監視し、この電源電圧が例えば図８に示す“電圧低下検知電圧”未満となったら、電源断時の電圧の低下を検知したものとし、その旨を制御演算部１４１に通知する。
【００１２】
ここで、制御装置１４０は、上記直流電源の電圧が低下しても、この電圧が図８に示す“動作限界電圧”未満となるまでは、動作可能状態となっている。尚、上記“電圧低下検知電圧”は、図８に示すように、電源電圧の正常値より低いが、“動作限界電圧”よりは高い任意の値が、予め決められて設定されている。
【００１３】
そして、図８に示すように、電源断時の電圧低下の検知時から、動作出来なくなるまでに、言い換えれば動作限界電圧未満となるまでに、ある程度の時間が掛かる（例えば図示のメモリバックアップ時間がかかる）。換言すれば、電圧低下検知時点からの動作可能な時間が、メモリバックアップ時間であると言える。メモリバックアップ時間は、電源の特性によりゼロ‘０’ではないが、蓄電デバイスを設けることで長くすることができる。
【００１４】
尚、蓄電デバイスは、例えばコンデンサ等であるが、この例に限らない。上記蓄電デバイスは、上記電源電圧が正常のときにはこの電源によって充電され、電源電圧が低下すると放電状態となる。
【００１５】
そして、メモリバックアップ時間の長さは、制御装置１４０に設けられた不図示の上記蓄電デバイスの容量によることになる。つまり、不図示の蓄電デバイスの容量が大きいほど、メモリバックアップ時間は長くなる。しかし、蓄電デバイスの容量が大きいほど、コスト高となる。
【００１６】
何れにしても、制御演算部１４１は、上記メモリバックアップ時間内に、ダイナミックＲＡＭ（ＤＲＡＭ；高速揮発性記憶部１４４）の格納データを、フラッシュメモリ等の低速不揮発性記憶部１４３に退避させてデータを保存する必要がある。この為、メモリバックアップ時間は、“データ退避に要する時間”以上を確保する必要があり、蓄電デバイスの容量もそれに応じた大きさが必要となる。つまり、退避させるデータ量が多いほど、必要となる蓄電デバイスの容量も多く必要になり、以ってコスト高となる。
【００１７】
尚、上記蓄電デバイスは、放電時には例えば制御装置１４０全体に電力供給するものであるが、この例に限らず、上記データ退避を実現する為に必要な構成（例えば制御演算部１４１等）にのみ電力供給する構成であっても構わない。
【００１８】
尚、上記電源断後、制御装置１４０を起動する際の初期化処理として、上記フラッシュメモリ等の不揮発性記憶部１４３に記憶されている制御データやプログラムを、高速揮発性記憶部１４４に転送する。運用中は、高速揮発性記憶部１４４に記憶されているプログラムや制御データを用いて、制御処理を実行することになる。
【００１９】
図７の構成の場合、制御装置は図９に示す３つのモードで動作する。つまり、電源投入またはリセット直後の初期化モードと、通常の制御演算を行う運用モードと、電源低下を検知した時の電源断モードである。
【００２０】
初期化モードでは、低速不揮発性記憶部１４３（フラッシュメモリ等）から高速揮発性記憶部１４４（ＤＲＡＭ等）へ、プログラム、制御データをコピーする。
運用モードでは、高速揮発性記憶部１４４のプログラムと制御データを用いて、制御演算を行う。
【００２１】
そして、電源断モードでは高速揮発性記憶部１４４から低速不揮発性記憶部１４３に制御データをバックアップ（退避）する。制御データには、例えば制御対象機器の状態（温度、圧力、動作回数等）などのように運用中に随時変わるデータも含まれる場合が多いので、電源断時のデータ（最新のデータ）を低速不揮発性記憶部１４３に退避させる必要がある。一方、その意味でプログラムは基本的に変わらないのでバックアップ（退避）する必要はない。
【００２２】
また、従来技術として、例えば、特許文献１に開示されている技術が、知られている。
特許文献１の発明は、プログラマブルコントローラに接続された機器に対して簡単な操作、最低限の機材でバックアップ処理を可能にするものである。
【００２３】
特許文献１の発明は、プログラマブルコントローラおよびその周辺機器を含むプログラマブルコントローラシステムにおけるバックアップ処理方法において、プログラマブルコントローラシステムに含まれる複数のバックアップ対象装置に対して該複数のバックアップ対象装置のバックアップデータを一括格納可能な記憶媒体を設ける。そして、この記憶媒体が設けられたバックアップ対象装置上のスイッチにより設定したバックアップ対象範囲にしたがって、上記複数のバックアップ対象装置に対するバックアップ処理をこの記憶媒体を用いて実行する。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特開２００２−２９７２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
上記図７の構成の場合、上述した電源断時の低速不揮発性記憶部１４３へのデータの退避は、退避するデータの量に応じて“データ退避に要する時間”が掛かることになり、この“データ退避に要する時間”以上の上記バックアップ時間を確保する必要がある。
【００２６】
そのため電源断後でも短時間の動作を可能とする蓄電デバイスを、制御装置１４０内に設ける必要があるが、当然、退避するデータ量が多くなれば、当該データを退避する時間が長くなるため蓄電デバイスの容量も増大させる必要があり、その分、コストも増大する。
【００２７】
また、制御装置では、入出力装置により収集されたプラント（制御対象機器）の制御データだけでなく、監視操作装置より入力された制御パラメータ（PID演算のゲイン、目標値、時定数等）も使用して制御演算を行うが、演算を高速に行う為には、運用中はこの制御パラメータも高速揮発性記憶部に置く必要がある。
【００２８】
更に、運用中に、制御パラメータが更新される場合もある。これは、例えば、監視操作装置から新たな制御パラメータが送信されてきたら、これを高速揮発性記憶部に上書き記憶することで、高速揮発性記憶部の制御パラメータを更新する。これによって、その後は、新たな制御パラメータを用いて演算実行することになる。また、この場合には、上記電源断モードの処理では、制御データだけでなく制御パラメータも、低速不揮発性記憶部にバックアップ（退避）する必要があり、その分、退避させるデータの量が増大し以って上記“データ退避に要する時間”が増大することになる。これに対応する為に、上記バックアップ時間を増大させる必要があり、以って蓄電デバイスの容量が増大し、その分のコストも増大する。
【００２９】
本発明の課題は、データのバックアップ時間の増大を防ぎ、以って蓄電デバイスの容量の増大を防ぐことができる制御装置等を提供することである。
【課題を解決するための手段】
【００３０】
本発明の制御装置は、与えられた制御パラメータと制御対象機器から随時得られる制御データとを用いて所定のプログラムを実行し、前記制御対象機器を制御する制御装置であって、下記の各構成を有する。
【００３１】
・前記プログラムと、前記制御データと、前記制御パラメータとを記憶する不揮発性記憶手段；
・前記制御装置を動作させる電源の電圧の低下を検知する電源電圧低下検知手段；
・前記電源の電圧の低下時に放電することで前記制御装置に一時的に電力供給する蓄電手段；
・制御手段：
【００３２】
そして、該制御手段は、下記の各手段（処理機能部）を有する。
・起動時に、前記不揮発性記憶手段に記憶されている前記プログラム、前記制御データ、及び前記制御パラメータの全てもしくは１部分を、揮発性記憶手段にコピーする初期化手段；
・運用中、前記揮発性記憶手段に記憶された前記プログラム、前記制御データ、及び前記制御パラメータを用いて前記制御対象機器を制御するための演算処理を実行すると共に、前記制御対象機器から随時得られる制御データによって、前記揮発性記憶手段に記憶された制御データを更新する制御実行手段；
・運用中の任意のときに新たな制御パラメータが与えられた場合、該新たな制御パラメータによって、前記揮発性記憶手段に記憶された制御パラメータを更新すると共に前記不揮発性記憶手段に記憶された制御パラメータも更新する制御パラメータ更新手段；
・前記電源電圧低下検知手段によって前記電源電圧低下が検知された場合、前記揮発性記憶手段に記憶されている前記プログラム及び前記制御パラメータを前記不揮発性記憶手段に退避させずに、前記揮発性記憶手段に記憶されている前記制御データを前記不揮発性記憶手段に退避させる電源断処理手段。
【発明の効果】
【００３３】
本発明の制御装置等によれば、運用中には制御データと制御パラメータを揮発性記憶部に記憶させて演算実行する制御装置に関して、バックアップ時間の増大を防ぎ、以って蓄電デバイスの容量の増大を防ぐことができる。
【図面の簡単な説明】
【００３４】
【図１】本例の制御システムの構成図である。
【図２】図１の制御システムの具体例を示す図である。
【図３】制御装置の構成の具体例である。
【図４】（ａ）〜（ｃ）は、図３の構成とする場合の制御装置の処理フローチャート図である。
【図５】既存の監視制御システムの構成例を示す図である。
【図６】バッテリーバックアップ付きＳＲＡＭを使用する構成例である。
【図７】ＤＲＡＭと電源電圧低下検知装置を備える構成例である。
【図８】メモリバックアップ時間について説明する為の図である。
【図９】３つのモードについて説明する為の図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本例の制御システムの構成図である。
尚、本例の制御システムは、ＰＬＣ（プログラマブルコントローラ）システムであってもよいし、分散制御システム（distributed control system；ＤＣＳ）であってもよい。図示の制御システムは、制御装置１０、監視操作装置２、入出力装置３等から成る。
【００３６】
制御装置１０は、外部電源５から電力供給を受けている。外部電源５は、例えば商用電源（交流）を直流に変換して制御装置１０に供給する。例えば停電等によって、外部電源５からの制御装置１０への電力供給が途絶える場合があり得る。
【００３７】
制御装置１０は、例えば一例としてはプログラマブルコントローラ本体（ＣＰＵモジュール等）であるが、上記の通り、この例に限らない。制御装置１０は、監視操作装置２や入出力装置３と、通信線により接続されている。
【００３８】
監視操作装置２や入出力装置３は、従来と同じであってよく、特に詳細には説明しないが、簡単に説明するならば、入出力装置３は、不図示の制御対象機器と接続されており、例えば制御対象機器の状態データ（温度、圧力、計数など）を随時収集する。また、監視操作装置２は、例えばプログラマブル表示器等であり、上記制御対象機器の状態をモニタリングしたり、ユーザが任意の設定を行えるものである。
【００３９】
上記状態データが上記制御データの一例であり、上記設定データが上記制御パラメータの一例であるが、これらの例に限らない。
制御装置１０は、外部インターフェース（Ｉ／Ｆ）部１１、制御演算部１２、低速不揮発性記憶部１３、高速揮発性記憶部１４、電源電圧低下検知部１５の各構成を有する。制御演算部１２は、例えば、ＣＰＵ／ＭＰＵ等の演算ユニット等からなるが、この例に限らない。
【００４０】
低速不揮発性記憶部１３は、リード・ライト可能な不揮発性メモリであり、例えばフラッシュメモリであるが、この例に限らない。高速揮発性記憶部１４は、バッテリーバックの無い揮発性メモリであり、例えばダイナミックＲＡＭ（ＤＲＡＭ）であるが、この例に限らない。尚、“低速”、“高速”は、相対的なものと考えても構わない。つまり、高速揮発性記憶部１４は、少なくとも低速不揮発性記憶部１３に比べれば、高速でリード／ライト動作が行えるものである。
【００４１】
制御演算部１２（上記ＣＰＵ／ＭＰＵ等）は、例えば予め所定のアプリケーションプログラムが記憶された不図示の内蔵メモリ等も有しており、上記ＣＰＵ／ＭＰＵ等がこのアプリケーションプログラムを実行することで、以下に説明する制御装置１０（制御演算部１２）の各種処理機能が実現される。尚、このアプリケーションプログラムは、後述するプログラム格納領域１３ａ、１４ａに格納されるプログラム（制御プログラム）とは異なるものであり、制御装置１０の動作を実現する為のプログラムである。尚、このアプリケーションプログラムは、上記の例に限らず、例えば低速不揮発性記憶部１３に予め記憶されていてもよい。
【００４２】
また、制御装置１０には、更に図示しない蓄電デバイス（蓄電手段）が、備えられている。この蓄電デバイスは、上述したように、例えばコンデンサ等であり、バッテリーに比べて、放電時間は短いが、安価である。尚、バッテリーも蓄電デバイスの一種であるとする考え方もあるが、ここでは、バッテリーは蓄電デバイスには含まれないものとする。
【００４３】
上記コンデンサ等の蓄電デバイスによって、上述したように、例えば停電等の何等かの理由で外部電源５が喪失した場合でも、しばらくの間（上記メモリバックアップ時間の間）、制御装置１０が動作可能な状態が続き（電力供給が続行されることになり）、その間に上述したデータバックアップ（退避）が行われることになる。既に述べたように、上記メモリバックアップ時間の長さは、蓄電デバイスの容量によるものであり、容量が大きいほど、メモリバックアップ時間が長くなる。
【００４４】
尚、上述したように、蓄電デバイスは、一例としてはコンデンサであるが、この例に限らない。また、蓄電デバイスは、例えば、外部電源５によって充電され、外部電源５が喪失した場合（電圧低下した場合）には放電して制御装置１０に電力供給する。
【００４５】
本手法では、退避させるデータ量を削減することができ、それによって上記“データ退避に要する時間”を短縮でき、以って上記メモリバックアップ時間を短縮でき、以って上記蓄電デバイスの容量を低減させることができ、以ってコスト削減を図ることができる。詳しくは後述する。
【００４６】
外部インターフェース（Ｉ／Ｆ）部１１は、従来と同じであってよく、制御装置１０は、外部インターフェース部１１により、通信線を介して、監視操作装置２や入出力装置３との通信（データ送受信）を行う。電源電圧低下検知部１５も、従来と同じであって良く、制御演算部１２は、電源電圧低下検知部１５によって電源電圧低下が検知されると（電源電圧が上記電圧低下検知電圧を下回ったことが検知されると）、上記電源断モードに移行する。
【００４７】
低速不揮発性記憶部１３には、プログラム格納領域１３ａ、制御データ格納領域１３ｂ、監視操作データ格納領域１３ｃの各記憶領域が設けられる。プログラム格納領域１３ａには、プログラム（制御プログラムなど）が格納される。制御データ格納領域１３ｂには、制御データが格納される。監視操作データ格納領域１３ｃには、監視操作データが、格納される。尚、監視操作データは、上記制御パラメータ（一例としては、PID演算のゲイン、目標値、時定数等）に相当すると見做して構わない。
【００４８】
低速不揮発性記憶部１３は、不揮発性メモリ等であるので、電源断状態であっても、データは消失せずに保存される。一方、高速揮発性記憶部１４は、揮発性メモリ等であるので、電源断状態になるとデータは消失する。この為、電源電圧低下が検知されると、動作可能状態である間に、高速揮発性記憶部１４の格納データを低速不揮発性記憶部１３に退避させる必要がある。そして、本手法では制御データのみを退避させれば済む。
【００４９】
高速揮発性記憶部１４には、運用中に、上記プログラム（上記制御プログラムなど）、制御データ、監視操作データが記憶される。制御演算部１２は、運用中、これら高速揮発性記憶部１４に記憶されているプログラム、制御データ、監視操作データを用いて、制御対象機器の制御処理等の為の演算を行うことになる。
【００５０】
その為に、制御演算部１２は、起動時（初期化モード）に、上記低速不揮発性記憶部１３に記憶されている上記プログラム、制御データ、監視操作データを読み出して、それぞれ、高速揮発性記憶部１４の該当する記憶領域に書き込む。ここで、高速揮発性記憶部１４には、プログラム格納領域１４ａ、制御データ格納領域１４ｂ、監視操作データ格納領域１４ｃの各記憶領域が設けられる。上記プログラムはプログラム格納領域１４ａに、制御データは制御データ格納領域１４ｂに、監視操作データは監視操作データ格納領域１４ｃに、それぞれ、書き込まれることになる。
【００５１】
そして、通常時（運用モード）中は、制御演算部１２は、プログラム格納領域１４ａのプログラムを実行して制御演算を行うが、その際、制御データ格納領域１４ｂの制御データと、監視操作データ格納領域１４ｃの監視操作データを用いて、制御演算を行う。また、この制御演算結果や上記入出力装置３の収集データ等（制御データ）を、制御データ格納領域１４ｂに書き込むことで、制御データ格納領域１４ｂに格納される制御データを更新する。制御演算部１２は、例えば、入出力装置３を介して、不図示の制御対象機器の現在の状態等を示すデータ（温度、圧力、カウント数）を随時取得して、これを制御データとして制御データ格納領域１４ｂに記憶する。
【００５２】
従って、上記起動時（初期化モード）の処理後、一度でも制御データ格納領域１４ｂに格納される制御データが更新されたならば、その後は、制御データ格納領域１３ｂに格納される制御データと、制御データ格納領域１４ｂに格納される制御データとは、同一では無くなることになる。基本的には、制御データ格納領域１３ｂに古い制御データが格納され、制御データ格納領域１４ｂには最新の制御データが格納された状態となる。
【００５３】
高速揮発性記憶部１４に記憶されているデータは、電源ＯＦＦにより消去される。この為、上述したメモリバックアップ時間中に、制御データ格納領域１４ｂに格納されている最新の制御データを、制御データ格納領域１３ｂに退避させる必要がある。これによって、次の起動時には最新の制御データを用いて制御開始されることになり、問題なく制御が引き継がれることになる。
【００５４】
その為に、電源電圧低下検知部１５は、随時、外部電源５の電源電圧を監視し、所定の電圧低下を検知したら、制御演算部１２に電圧低下を通知する。通知を受けた制御演算部１２は、電源断モードに移行し、制御データ格納領域１４ｂの制御データを、制御データ格納領域１３ｂに退避させて保存する。尚、言うまでも無いが、低速不揮発性記憶部１３の格納データは、電源ＯＦＦ状態でも消失しない。
【００５５】
ここで、上記の通り、制御装置１０では、入出力装置３により収集された制御対象（プラント等）の制御データだけでなく、監視操作装置２より入力された制御パラメータ（監視操作データ；PID演算のゲイン、目標値、時定数等）も使用して制御演算を行うが、演算を高速に行うため、この制御パラメータも高速揮発性記憶部１４に置く必要がある。
【００５６】
よって、装置の起動時（初期化モード）に低速不揮発性記憶部１３から高速揮発性記憶部１４にコピーする必要がある。しかしながら、監視操作データは、必ずしも電源断時（電源断モード）にバックアップする必要はない。
【００５７】
本手法では、制御パラメータは制御データとは記憶領域を分けて管理し、電源断時（電源断モード）には、制御データはバックアップするが、制御パラメータはバックアップしないようにする。その一方で、運用モード中に監視操作装置２から新たな制御パラメータの書き込みが行われた際に、すなわち制御パラメータの更新時に、この新たな制御パラメータを、高速揮発性記憶部１４に格納すると共に、低速不揮発性記憶部１３にも格納する。これは、制御パラメータの格納領域である上記監視操作データ格納領域１３ｃ、監視操作データ格納領域１４ｃに、新たな制御パラメータが格納されることになる。換言すれば、監視操作データに関しては、バックアップ処理を、電源断時ではなく、その更新時に行うようにする。
【００５８】
これによって、電源断時に監視操作データをバックアップする必要がなくなる分だけ、電源断時のバックアップデータ量を低減することが可能である。つまり、電源断時のバックアップデータ量を、制御データのデータ量のみとすることができる。
【００５９】
上記処理は、例えば、外部インターフェース（Ｉ／Ｆ）部１１が実行してもよいし、制御演算部１２が実行してもよい。監視操作装置２は、例えば、上記新たな制御パラメータを、パラメータ更新要求と共に送信し、これを受信した外部インターフェース（Ｉ／Ｆ）部１１は、例えば、当該新たな制御パラメータを監視操作データ格納領域１４ｃに上書き格納すると共に、低速不揮発性記憶部１３の該当領域（監視操作データ格納領域１３ｃ）にも上書き格納する。あるいは、外部インターフェース（Ｉ／Ｆ）部１１は、上記監視操作装置２からの送信データを制御演算部１２に渡し、制御演算部１２が当該新たな制御パラメータを監視操作データ格納領域１４ｃと監視操作データ格納領域１３ｃに上書き格納するようにしてもよい。
【００６０】
ここで、図２に、図１の制御システムの具体例を示す。
図２の制御システムは、ＰＬＣのシステムであり、ＰＬＣのコントローラ３０、ＨＣＩ装置４０、Ｉ／Ｏモジュール５０等から成る。ＨＣＩ装置４０、Ｉ／Ｏモジュール５０は、それぞれ、任意の通信線を介して、コントローラ３０に接続されている。
【００６１】
ＨＣＩ装置４０は、例えばプログラマブル表示器等であり、ユーザが任意の設定を行なったり、制御対象のモニタリングを行うことができる、既存の装置である。ユーザが、ＨＣＩ装置４０上で任意の設定値を入力すると、この設定値がコントローラ３０に転送されて、コントローラ３０側に記憶される。この設定値が、上記制御パラメータ（監視操作データ）に相当するものである。
【００６２】
Ｉ／Ｏモジュール５０は、各種制御対象機器５１と接続しており、例えば定周期でこれら制御対象機器５１の状態データ等を収集して、これを例えばコントローラ３０が備えるＩ／Ｏメモリ３２に格納する。このＩ／Ｏメモリ３２が、高速揮発性記憶部１４に相当する構成であってもよいし、Ｉ／Ｏメモリ３２とは別に高速揮発性記憶部１４が設けられた構成であっても良い。後者の構成の場合、コントローラ３０は、例えば定周期で、Ｉ／Ｏメモリ３２の格納データ（制御データ）を、高速揮発性記憶部１４に転送して記憶することで制御データを更新する。
【００６３】
コントローラ３０は、記憶している制御プログラムを実行することで、例えばＰＩＤ演算等を実行する。その際、上記設定値（制御パラメータ）や制御データ等を用いる。この例の場合、設定値は、例えばＰＩＤ演算に用いる各種定数（ゲイン等）や目標値等である。
【００６４】
また、ここでは図示しない上記外部電源５によって生成される直流電源が、コントローラ３０に供給されている。そして、コントローラ３０は、直流電源に並列に設けられた図示のコンデンサ３１を備えている。このコンデンサ３１が、上記蓄電デバイスの一例である。
【００６５】
直流電源が供給されているときには、コンデンサ３１は充電状態となっており、停電等で商用電源供給が停止する等の何等かの理由により直流電源供給がストップすると、コンデンサ３１は放電状態となり、しばらくの間（上記メモリバックアップ時間；例えば数百ｍｓ程度；この時間は、コンデンサ３１の容量によることになる）、コントローラ３０に電力供給することができる。コントローラ３０は、その間に、上述した制御データのバックアップ（退避）処理を行うことになる。
【００６６】
尚、図２では図示を省略しているが、コントローラ３０は、上記低速不揮発性記憶部１３に相当するメモリ（フラッシュメモリ等）も備えている。
本手法では、電源断時のバックアップデータ量を、制御データのデータ量のみとすることができ、バックアップデータ量が少なくて済み、それによってバックアップに要する時間を短縮でき、以って上記メモリバックアップ時間が短くて済む（換言すればコンデンサ３１の容量が少なくて済む）ようになる。
【００６７】
ここで、上述した図１の説明において、本手法では、制御パラメータ（監視操作データ）に関しては、その更新時に、低速不揮発性記憶部１３と高速揮発性記憶部１４の両方に書込みを行って両方とも更新するようにしている。しかしながら、この書込み処理の最中に、直流電源供給がストップした場合には、書込みが中断される。これより、制御パラメータの一部は更新されるが、残りは旧データのままという状態になる可能性がある。これは、操作監視データを構成する複数のデータ間の整合性を保てなくなるものと言うこともできる。この為、特に低速不揮発性記憶部１３に記憶される制御パラメータが、新旧混在した状態となり、その後に起動しても、正常に動作しない可能性があった。
【００６８】
上記のような、運用モード時の監視操作データ書き込み途中に（操作監視データのバックアップ中）に電圧低下を検知した場合に、バックアップが中断され、操作監視データを構成する複数のデータ間の整合性を保てなくなる事態となることを防ぐため、本例では、例えば図３に示す構成・動作を更に有するようにしてもよい。
【００６９】
すなわち、制御装置１０において、上記低速不揮発性記憶部１３における上記監視操作データ格納領域１３ｃを、図３に示すように、２個有するように構成する。つまり、図示の監視操作データ格納領域１３ｃ−１と、監視操作データ格納領域１３ｃ−２の２つの記憶領域を備えるようにする。そして、監視操作データの更新毎にこの２つの記憶領域を切り替えて使用することにより、上記問題を解消できる。
【００７０】
図４は、上記図３の構成とする場合の制御装置１０（制御演算部１２）の処理フローチャート図である。図４（ａ）は初期化、図４（ｂ）は監視操作データ更新時、図４（ｃ）は電源断時の処理フローチャート図である。
【００７１】
尚、本例では、制御装置１０（制御演算部１２）は、任意の記憶領域にフラグを備えており、フラグを参照したり、フラグをＯＮ／ＯＦＦ切換えするものとする。
まず、図４（ａ）の初期化処理では、まず、低速不揮発性記憶部１３に記憶されている制御プログラムと制御データを、それぞれ、高速揮発性記憶部１４の該当領域にコピーする（ステップＳ１１）。
【００７２】
更に、監視操作データも低速不揮発性記憶部１３から高速揮発性記憶部１４へコピーする。これはフラグを参照することで、上記監視操作データ格納領域１３ｃ−１、１３ｃ−２の２つの記憶領域の何れか一方から、監視操作データを読み出して高速揮発性記憶部１４の該当領域にコピーする。これは、図示の例では、フラグがＯＮであれば（ステップＳ１２，ＹＥＳ）、監視操作データ格納領域１３ｃ−１から監視操作データを読み出して高速揮発性記憶部１４の該当領域にコピーする（ステップＳ１３）。その逆にフラグがＯＦＦであれば（ステップＳ１２，ＮＯ）、監視操作データ格納領域１３ｃ−２から監視操作データを読み出して高速揮発性記憶部１４の該当領域にコピーする（ステップＳ１４）。
【００７３】
尚、上記高速揮発性記憶部１４の該当領域とは、制御プログラムの場合にはプログラム格納領域１４ａであり、制御データの場合には制御データ格納領域１４ｂであり、監視操作データの場合には監視操作データ格納領域１４ｃとなる。
【００７４】
また、監視操作装置２から新たな制御パラメータ（監視操作データ）が入力されると、この新たな制御パラメータを高速揮発性記憶部１４の該当領域に格納することで制御パラメータを更新すると共に、図４（ｂ）の処理を実行することで新たな制御パラメータのバックアップを生成する。
【００７５】
図４（ｂ）の処理は、上記新たな制御パラメータを、低速不揮発性記憶部１３の該当領域にも格納する処理であり、この該当領域は上記フラグを参照して判断する。
すなわち、図４の例の場合には、上記フラグがＯＮであれば（ステップＳ２１，ＹＥＳ）、上記新たな制御パラメータを監視操作データ格納領域１３ｃ−２に格納し（ステップＳ２３）、格納完了したならばフラグを反転させることで（ステップＳ２４）この場合にはフラグをＯＦＦに切換えて、本処理を終了する。
【００７６】
これによって、その後、電源断に伴って図４（ｃ）の処理を実行し、更にその後、初期化の際に図４（ａ）の処理を実行すると、監視操作データ格納領域１３ｃ−２に格納された最新の制御パラメータが高速揮発性記憶部１４にコピーされて、これを用いて制御処理が実行されることになる。もし、ステップＳ２３の処理の途中で、電源断となった場合には、監視操作データ格納領域１３ｃ−２は書込みの途中であり、旧データと新データとが混在した異常な状態となっている。しかしながら、この場合には、ステップＳ２４の処理が行われないので、フラグはＯＮのままとなっている。よって、後に初期化で図４（ａ）の処理が行われる際には、監視操作データ格納領域１３ｃ−１のデータが高速揮発性記憶部１４にコピーされることになるので、特に問題ないことになる。
【００７７】
尚、この場合には、上記初期化後、再度、監視操作装置２から新たな制御パラメータの入力が行われて、再度、図４（ｂ）の処理が実行されるものとしてもよいが、この例に限らない。
【００７８】
また、上記ステップＳ２１の判定がＮＯとなる場合には（フラグがＯＦＦであれば）、上記新たな制御パラメータを監視操作データ格納領域１３ｃ−１に格納し（ステップＳ２２）、格納完了したならばフラグを反転させることで（ステップＳ２４）この場合にはフラグをＯＮに切換えて、本処理を終了する。この場合も、上記ステップＳ２１の判定がＹＥＳとなる場合と同様、たとえステップＳ２２の処理中に電源断となった場合でも、問題無いことになる。
【００７９】
そして、図４（ｃ）の電源断モードの処理では、制御データの退避のみを実行する（ステップＳ３１）。すなわち、高速揮発性記憶部１４の制御データ格納領域１４ｂに記憶されている制御データを、低速不揮発性記憶部１３の制御データ格納領域１３ｂにコピーする（退避させる）。
【００８０】
尚、上述した説明は、一例であり、この例に限らない。例えば、上述した説明では、監視操作データ格納領域１３ｃとして２つの領域を設けているが、この例に限らず、３つ以上の領域を設けるようにしてもよい。上記２つの領域の場合、フラグのＯＮ／ＯＦＦによって管理していたが、３つ以上の領域の場合、フラグの代わりに、新たな制御パラメータをどの領域に記憶させたかを示す情報を、上記任意の記憶領域に書き込むようにする。
【００８１】
尚、図４（ａ）、（ｃ）の処理は、制御演算部１２が実行する。図４（ｂ）の処理は、制御演算部１２が実行してもよいし、外部インターフェース（Ｉ／Ｆ）部１１が実行してもよい。
【００８２】
ここで、上記低速不揮発性記憶部１３は、プログラム（制御プログラム等）と、制御データと、制御パラメータを格納する不揮発性メモリであると言える。また、上記高速揮発性記憶部１４は、運用中に、上記プログラム（制御プログラム等）と、上記制御データと、上記制御パラメータを格納する為の揮発性メモリであると言える。また、上記蓄電デバイスは、電源電圧低下時に一時的に制御装置１０（制御演算部１２）に電源供給する為の構成であると言える。蓄電デバイスは、電源の電圧の低下時に放電することで、一時的に制御装置１０（制御演算部１２）に電源供給する。
【００８３】
そして、制御装置１０（制御演算部１２）は、上述した不図示のＣＰＵ／ＭＰＵが上述したアプリケーションプログラムを実行することで、不図示の下記の各処理機能部（初期化部、制御実行部、制御パラメータ更新部、電源断処理部）の処理を実現するものであると言うこともできる。また、制御装置１０は、制御の為の設定データである制御パラメータと、運用中に随時得られる制御データとを用いて、所定のプログラム（制御プログラム等）を実行することで、制御対象機器の制御を行う装置であると言うこともできる。
【００８４】
・起動時に、上記不揮発性メモリに記憶されている上記プログラム（制御プログラム等）、制御データ、制御パラメータの全てもしくは一部分を、上記揮発性メモリにコピーする初期化部；
初期化部による上記制御パラメータのコピー処理は、不揮発性メモリに記憶されている制御パラメータ全てをコピー対象にしても良いが、必要とされるパラメータのみを揮発性メモリにコピーしても良い。尚、必要とされるパラメータは、例えば開発者等が予め任意に決めて設定しておく。例えば、演算が頻繁に行われる処理タスクに関わる制御パラメータのみを、揮発性メモリにコピーし高速化する方法等が考えられる。
【００８５】
・運用中、上記揮発性メモリに記憶された上記プログラム、制御データ、制御パラメータを用いて制御演算処理を実行すると共に、該揮発性メモリに記憶される制御データを随時更新する制御実行部；
・運用中に任意のときに外部装置（例えば監視操作装置２）から新たな制御パラメータが与えられた場合、該新たな制御パラメータによって、上記揮発性メモリに記憶された制御パラメータを更新すると共に上記不揮発性メモリに記憶された制御パラメータも更新する制御パラメータ更新部；
・上記電源電圧低下検知部１５によって電源電圧低下が検知された場合、上記蓄電デバイスよる一時的な電源供給によって制御装置１０（制御演算部１２）が動作可能状態となっている間に、上記揮発性メモリに格納されている制御データを、上記不揮発性メモリに退避させる電源断処理部；
そして、例えば、上記蓄電デバイスの容量は、制御データの上記不揮発性メモリへの退避が完了するまで上記動作可能状態とする為に必要な容量となっている。
【００８６】
また、例えば、不揮発性メモリには、制御パラメータを格納するための記憶領域が２つ設けられており、上記制御パラメータ更新部は、上記新たな制御パラメータを不揮発性メモリに記憶する毎に、上記２つの記憶領域を切換えて使用する。この使用方法の具体例が、上記図４（ａ）、（ｂ）の処理であるが、この例に限らない。例えば、上記のように、３つ以上の記憶領域を切換えて使用するようにしてもよい。何れにしても、複数の記憶領域を切換えて使用することになる。
【００８７】
また、上記制御パラメータ更新部は、例えば、上記新たな制御パラメータが与えられたとき、上記揮発性メモリに該新たな制御パラメータを転送して記憶させた後、該揮発性メモリに記憶された新たな制御パラメータを上記不揮発性メモリに転送して記憶させることで、上記揮発性メモリと不揮発性メモリに記憶された制御パラメータを更新する。
【００８８】
あるいは、上記制御パラメータ更新部は、例えば、上記新たな制御パラメータが与えられたとき、該新たな制御パラメータを上記揮発性メモリに転送すると共に上記不揮発性メモリにも転送して、該揮発性メモリと不揮発性メモリとに該新たな制御パラメータを記憶させることで、上記揮発性メモリと不揮発性メモリに記憶された制御パラメータを更新する。
【００８９】
また、例えば、上記制御実行部は、上記制御演算処理を実行することで制御対象機器の制御を行う。また、例えば、制御データには、該制御対象機器の現在状態を示すデータが含まれる。
【００９０】
また、例えば、不揮発性メモリは、上記プログラムを格納する第１のプログラム格納領域と、制御データを格納する第１の制御データ格納領域と、制御パラメータを格納する第１の制御パラメータ格納領域を有する。
【００９１】
また、例えば、揮発性メモリは、運用中に上記プログラムを格納する為の第２のプログラム格納領域と、運用中に制御データを格納する為の第２の制御データ格納領域と、運用中に制御パラメータを格納する為の第２の制御パラメータ格納領域を有する。
【００９２】
また、本発明は、上記制御装置１０自体に限らず、この制御装置１０を含む制御システムとして構成することもできる。すなわち、制御装置１０と監視操作装置２と入出力装置３を有し、該制御装置１０が、該監視操作装置２から任意のときに入力される制御パラメータと、運用中に随時得られる制御データとを用いて、所定のプログラムを実行することで、制御対象機器の制御を行う制御システムとして構成することもできる。
【００９３】
本手法により、監視制御システムの制御装置において、電源断時のメモリバックアップ容量を低減することが可能となり、メモリバックアップのための蓄電デバイス等のコストを低減することが可能となる。
【００９４】
また、新たな監視操作データの書き込み動作中に（電源断等により）電源電圧が低下した場合でも、問題が生じないようにでき、例えば監視操作データを構成する複数のデータ間の整合性を、保つことが出来る。
【符号の説明】
【００９５】
２  監視操作装置
３  入出力装置
５  外部電源
１０  制御装置
１１  外部インターフェース（Ｉ／Ｆ）部
１２  制御演算部
１３  低速不揮発性記憶部
１３ａ  プログラム格納領域
１３ｂ  制御データ格納領域
１３ｃ  監視操作データ格納領域
１４  高速揮発性記憶部１４
１４ａ  プログラム格納領域
１４ｂ  制御データ格納領域
１４ｃ  監視操作データ格納領域
１５  電源電圧低下検知部
３０  コントローラ
３１  コンデンサ
３２  Ｉ／Ｏメモリ
４０  ＨＣＩ装置
５０  Ｉ／Ｏモジュール
５１  制御対象機器
１３ｃ−１  監視操作データ格納領域
１３ｃ−２  監視操作データ格納領域
【図１】
0006672623.tif 000002
【図２】
0006672623.tif 000003
【図３】
0006672623.tif 000004
【図４】
0006672623.tif 000005
【図５】
0006672623.tif 000006
【図６】
0006672623.tif 000007
【図７】
0006672623.tif 000008
【図８】
0006672623.tif 000009
【図９】
0006672623.tif 000010