(57)【要約】【課題】スナップショットセーブ処理を高速化し、短い間隔で連続的にスナップショットセーブを可能にするシミュレーション装置を実現する。【解決手段】上位装置で作成された制御情報データベースがロードされるフィールドコントロールステーションをバーチャルテストするために、前記制御情報データベースに基づいて作成されたＦＣＳシミュレータデータベースと、前記フィールドコントロールステーションを模擬するＦＣＳシミュレータとを有するシミュレーション装置において、暫定的ＦＣＳシミュレータデータベースと、スナップショット用ＦＣＳシミュレータとを設け、スナップショット用ＦＣＳシミュレータは、ＦＣＳシミュレータの制御処理動作とは独立して暫定的ＦＣＳシミュレータデータベース内容の読み込み及び前記スナップショットデータベースへの書き込みを実行する。【選択図】　　　　　　　　　　図１
2004030107.tif 000002
【特許請求の範囲】
【請求項１】
上位装置で作成された制御情報データベースがロードされるフィールドコントロールステーションをバーチャルテストするために、前記制御情報データベースに基づいて作成されたＦＣＳシミュレータデータベースと、前記フィールドコントロールステーションを模擬するＦＣＳシミュレータとを有するシミュレーション装置において、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて、前記ＦＣＳシミュレータデータベースをコピーし、暫定的ＦＣＳシミュレータデータベースを新規作成する第１の作成手段と、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて、新たに空のスナップショットデータベースを新規作成する第２の作成手段と、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて起動される前記ＦＣＳシミュレータを模擬する、スナップショット用ＦＣＳシミュレータとを具備し、
前記スナップショット用ＦＣＳシミュレータは、前記ＦＣＳシミュレータの制御処理動作とは独立して前記暫定的ＦＣＳシミュレータデータベース内容の読み込み及び前記スナップショットデータベースへの書き込みを実行することを特徴とする、シミュレーション装置。
【請求項２】
前記暫定的ＦＣＳシミュレータデータベースの新規作成、前記スナップショットデータベースの新規作成及び前記スナップショット用ＦＣＳシミュレータの起動が終了した後直ちに前記スナップショットセーブ要求に対する完了通知を実行することを特徴とする、請求項１記載のシミュレーション装置。
【請求項３】
前記完了通知後の新たなスナップショットセーブ要求に対して、現在進行中のスナップショットセーブ処理とは独立に、暫定的ＦＣＳシミュレータデータベースの新規作成、空のスナップショットデータベースの新規作成及びスナップショット用ＦＣＳシミュレータの起動が実行されることを特徴とする、請求項１又は２記載のシミュレーション装置。
【請求項４】
前記スナップショット用ＦＣＳシミュレータによる暫定的ＦＣＳシミュレータデータベース内容の読み込み及び前記スナップショットデータベースへの書き込み処理が終了した後、前記スナップショット用ＦＣＳシミュレータ及び前記暫定的ＦＣＳシミュレータデータベースが削除されることを特徴とする、請求項１乃至３のいずれかに記載のシミュレーション装置。
【請求項５】
前記スナップショットセーブ要求は、ユーザの任意要求又は定時間処理要求であることを特徴とする、請求項１乃至４のいずれかに記載のシミュレーション装置。
【請求項６】
前記フィールドコントロールステーションは、分散型制御システムにおいて前記上位装置と制御バスを介して通信すると共に、フィールド機器の制御を実行することを特徴とする、請求項１乃至５のいずれかに記載のシミュレーション装置。
【請求項７】
前記シミュレーション装置が、前記制御バスに接続されていることを特徴とする、請求項６記載のシミュレーション装置。
【請求項８】
前記シミュレーション装置が、ネットワークを介して前記制御バスに接続されていることを特徴とする、請求項６又は７記載のシミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散型制御システムでフィールド機器の制御を行うフィールドコントロールステーション（以下、ＦＣＳ）に対するバーチャルテスト機能を実現するために、ＦＣＳシミュレータが具備する機能の一つである状態保存（以下、スナップショットセーブ）処理の速度改善に関する。
【０００２】
【従来の技術】
図４は、シミュレーション装置を有する分散型制御システムの従来構成を示す機能ブロック図である。１は制御バス、２はこの制御バスに接続された上位装置である操作監視ステーション（以下、ＨＩＳ）であり、ユーザ３により操作監視される。
【０００３】
４は同じく制御バスに接続された下位装置であるＦＣＳである。５は下位のＩ／Ｏバスであり、ＦＣＳ４はこのＩ／Ｏバスを介してフィールド機器６と通信し、制御を実行する。
【０００４】
７は制御バスに接続された上位装置であるエンジニアリングステーションであり、エンジニア（図示せず）により、ＦＣＳ４で実行される各種のプログラムや演算パラメータ等よりなる制御情報データベース８が作成され、ＦＣＳ４はこの制御情報データベース８で作成された制御情報のダウンロードを受けてフィールド機器の制御処理並びにＨＩＳ２との通信処理を実行する。
【０００５】
ブロック９は、制御バス１に接続されたシミュレーション装置である。シミュレーション装置９において、１０はＦＣＳ４の動作を模擬するためのＦＣＳシミュレータであり、ＦＣＳ４を模擬する。
【０００６】
１１はエンジニアリングステーション７からダウンロードされたＦＣＳシミュレータデータベースであり、制御情報データベース８と同一又は一部編集処理された内容を有する。ＦＣＳシミュレータ１０は、このＦＣＳシミュレータデータベース１１にアクセスしてバーチャルテスト（模擬的な制御処理）を実行する。
【０００７】
ユーザ又は定期処理でスナップショットセーブ要求がＦＣＳシミュレータ１０に出されると、ＦＣＳシミュレータ１０はＦＣＳシミュレータデータベース１１をコピーした暫定的ＦＣＳシミュレータデータベース１２を新規作成すると共に、空のスナップショットデータベース１３１を新規作成する。
【０００８】
以後、ＦＣＳシミュレータ１０は定期的な制御処理の空き時間を利用して暫定的ＦＣＳシミュレータデータベース１２の内容の読み込み及びスナップショットデータベース１３１への書き込みを実行し、この処理が終了すると完了通知をユーザに返し、暫定的ＦＣＳシミュレータデータベース１２を削除し、今回のスナップショットセーブ処理を終了する。
【０００９】
１３２，１３３，…１３ｎは過去のスナップショットセーブ要求に基づいて作成されたスナップショットデータベー群であり、ユーザはＦＣＳシミュレータ１０によりこれらスナップショットデータベース群をロード機能で呼び出し、過去の制御状態を再現したバーチャルテストによりトラブルの原因解析や操業訓練を行うことができる。
【００１０】
図５は上記のスナップショットセーブ処理手順を時系列的に示したシーケンス図である。処理は左右方向へ、時間は上から下に遷移している。まずステップＳ１でユーザ３からスナップショットセーブ要求がＦＣＳシミュレータ１０に投げられてスタートする。
【００１１】
ステップＳ２で、ＦＣＳシミュレータ１０は、ＦＣＳシミュレータデータベース１１コピーし、ステップＳ３で新規に暫定的ＦＣＳシミュレータデータベース１２を新規作成すると共に、ステップＳ４でスナップショットセーブ結果を格納するための空のスナップショットデータベース１３１を新規作成する。
【００１２】
ステップＳ５では、ＦＣＳシミュレータ１０は、ＦＣＳシミュレータデータベース１１にアクセスして、周期処理で実行すべきブロックなどの制御処理を行う。
【００１３】
ステップＳ６では、ＦＣＳシミュレータ１０は、定周期で実行される制御処理が完了した空き時間に、スナップショットセーブ処理を実行する。このステップでは、まず、暫定的ＦＣＳシミュレータデータベース１２の一部を読み取る。
【００１４】
ステップＳ７では、ステップＳ６で読み込んだ内容をステップＳ４で新規作成したスナップショットデータベース１３１に書き込む。ＦＣＳシミュレータ１０の空き時間を利用して、ステップＳ６とＳ７の処理を、暫定的ＦＣＳシミュレータデータベース１２の内容をすべて読み込み終えるまで繰り返す。
【００１５】
ステップＳ８で、ステップＳ３で新規作成した暫定ＦＣＳシミュレータデータベースを削除し、ステップＳ９でユーザ３に対してスナップショットセーブ実行完了を通知する。
【００１６】
【発明が解決しようとする課題】
従来のスナップショットセーブ処理では、ステップＳ１からＳ９までの処理時間は、数１０秒の時間が必要であった。これは、ステップＳ６とステップＳ７のＦＣＳシミュレータ１０の空き時間を利用した処理の繰り返しによるものである。
そして、この数１０秒の処理時間が原因となり、スナップショットセーブを短い間隔（数秒）で連続的に実行したい要求の障害となっている。
【００１７】
スナップショットセーブ及びロード機能は、ＦＣＳシミュレータの状態を繰り返し再現することが出来るため、プラント運転員の訓練に使用することができる。
プラント訓練システムには、訓練状態の復元のほかに、訓練中の状態を逐次セーブし、訓練後の評価に使用したいとの要求があるが、従来のスナップショットセーブ処理時間ではこの要求の実現は困難である。
【００１８】
本発明の目的は、スナップショットセーブ処理を高速化し、短い間隔で連続的にスナップショットセーブを可能にするシミュレーション装置を実現することにある。
【００１９】
【課題を解決するための手段】
このような目的を達成するための本発明の構成は次の通りである。
（１）　上位装置で作成された制御情報データベースがロードされるフィールドコントロールステーションをバーチャルテストするために、前記制御情報データベースに基づいて作成されたＦＣＳシミュレータデータベースと、前記フィールドコントロールステーションを模擬するＦＣＳシミュレータとを有するシミュレーション装置において、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて、前記ＦＣＳシミュレータデータベースをコピーし、暫定的ＦＣＳシミュレータデータベースを新規作成する第１の作成手段と、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて、新たに空のスナップショットデータベースを新規作成する第２の作成手段と、
前記ＦＣＳシミュレータに対するスナップショットセーブ要求に基づいて起動される前記ＦＣＳシミュレータを模擬する、スナップショット用ＦＣＳシミュレータとを具備し、
前記スナップショット用ＦＣＳシミュレータは、前記ＦＣＳシミュレータの制御処理動作とは独立して前記暫定的ＦＣＳシミュレータデータベース内容の読み込み及び前記スナップショットデータベースへの書き込みを実行することを特徴とする、シミュレーション装置。
（２）前記暫定的ＦＣＳシミュレータデータベースの新規作成、前記スナップショットデータベース新規作成及び前記スナップショット用ＦＣＳシミュレータの起動が終了した後直ちに前記スナップショットセーブ要求に対する完了通知を実行することを特徴とする、請求項１記載のシミュレーション装置。
（３）前記完了通知後の新たなスナップショットセーブ要求に対して、現在進行中のスナップショットセーブ処理とは独立に、暫定的ＦＣＳシミュレータデータベースの新規作成、空のスナップショットデータベースの新規作成及びスナップショット用ＦＣＳシミュレータの起動が実行されることを特徴とする、請求項１又は２記載のシミュレーション装置。
（４）前記スナップショット用ＦＣＳシミュレータによる暫定的ＦＣＳシミュレータデータベース内容の読み込み及び前記スナップショットデータベースへの書き込み処理が終了した後、前記スナップショット用ＦＣＳシミュレータ及び前記暫定的ＦＣＳシミュレータデータベースが削除されることを特徴とする、請求項１乃至３のいずれかに記載のシミュレーション装置。
（５）前記スナップショットセーブ要求は、ユーザの任意要求又は定時間処理要求であることを特徴とする、請求項１乃至４のいずれかに記載のシミュレーション装置。
（６）前記フィールドコントロールステーションは、分散型制御システムにおいて前記上位装置と制御バスを介して通信すると共に、フィールド機器の制御を実行することを特徴とする、請求項１乃至５のいずれかに記載のシミュレーション装置。
（７）前記シミュレーション装置が、前記制御バスに接続されていることを特徴とする、請求項６記載のシミュレーション装置。
（８）前記シミュレーション装置が、ネットワークを介して前記制御バスに接続されていることを特徴とする、請求項６又は７記載のシミュレーション装置。
【００２０】
【発明の実施の形態】
以下本発明実施態様を、図面を用いて説明する。図１は本発明を適用したシミュレーション装置の一例を示す機能ブロック図であり、図４の従来装置で説明した要素と同一要素には同一符号を付して説明を省略する。
【００２１】
本発明の構成上の特徴の第１は、シミュレーション装置２０において、ユーザ又は定期処理によるスナップショットセーブ要求に基づいて、スナップショット用ＦＣＳシミュレータ２１が起動される点にある。
【００２２】
スナップショット用ＦＣＳシミュレータ２１は、ＦＣＳシミュレータ１０をコピーして一時的に作成されるものであり、ＦＣＳシミュレータ１０を模擬するものであるが、ＦＣＳシミュレータ１０が行う定周期の制御処理は実行せず、もっぱら暫定的ＦＣＳシミュレータデータベース１２の読み込みとスナップショットデータベース１３１への書き込みを、ＦＣＳシミュレータ１０とは非同期で実行する。
【００２３】
このような暫定的ＦＣＳシミュレータデータベース１２の読み込みとスナップショットデータベース１３１への書き込みのみを連続的に実行する、スナップショット用ＦＣＳシミュレータ２１の導入により、従来のＦＣＳシミュレータ１０の空き時間を利用した処理時間は大幅に短縮され、スナップショットセーブ処理は高速化される。
【００２４】
本発明の構成上の特徴の第２は、暫定的ＦＣＳシミュレータデータベース１２の新規作成、スナップショットデータベース１３１の新規作成及びスナップショット用ＦＣＳシミュレータ２１の起動が終了した後直ちにスナップショットセーブ要求に対する完了通知を実行する点にあり、これにより短時間で次のスナップショットセーブ要求を出すことが可能となる。第１の作成手段１４１は暫定的ＦＣＳシミュレータデータベース１２を新規作成する。第２の作成手段１４２はスナップショットデータベース１３１を新規作成する。
【００２５】
本発明の構成上の特徴の第３は、完了通知後の新たなスナップショットセーブ要求に対して、現在進行中のスナップショットセーブ処理とは独立に、暫定的ＦＣＳシミュレータデータベースの新規作成、空のスナップショットデータベースの新規作成及びスナップショット用ＦＣＳシミュレータが起動される点にあり、複数のスナップショットセーブ処理が並列的に実行される環境を構築することが可能となる。
【００２６】
図２は、本発明のスナップショットセーブ処理手順を時系列的に示したシーケンス図である。図５で説明した従来のシーケンス図と同様に、処理は左右方向へ、時間は上から下に遷移している。まずステップＳ１でユーザ３からスナップショットセーブ要求がＦＣＳシミュレータ１０に投げられてスタートする。
【００２７】
ステップＳ２で、ＦＣＳシミュレータ１０は、ＦＣＳシミュレータデータベース１１コピーし、ステップＳ３で新規に暫定的ＦＣＳシミュレータデータベース１２を新規作成すると共に、ステップＳ４でスナップショットセーブ結果を格納するための空のスナップショットデータベース１３１を新規作成する。ここまでのステップは、従来装置と同一である。
【００２８】
本発明では、後述するように複数のスナップショットセーブ処理が同時に動作している可能性があるので、編集中のデータベースを壊さないように配慮されている。また、後のスナップショットロード処理の際にユーザが困らないように、複数のスナップショットデータベースを管理する場合には、その時にセーブしたファイル名、もしくはデータベースに対応するキーワードを通知する。
【００２９】
ステップＳ５では、本発明の特徴部であるスナップショット用ＦＣＳシミュレータ２１が起動される。起動終了後直ちにステップＳ６で完了通知をユーザに返し、次のスナップショットセーブが実行可能であることを通知する。
以後ＦＣＳシミュレータ１０は、定周期処理で実行すべき、ブロックなどの制御処理をステップＳ７行う。
【００３０】
ＦＣＳシミュレータ１０の制御処理とは独立非同期で、起動されたスナップショット用ＦＣＳシミュレータ２１は、ステップＳ８で暫定的ＦＣＳシミュレータデータベース１２の一部を読み込み、ステップＳ９で読み込んだ内容を新規作成したスナップショットデータベース１３１に書き込む。
【００３１】
ステップＳ８とステップＳ９の処理を、暫定的ＦＣＳシミュレータデータベース１２の全ての内容を読み込み及び書き込み終えるまで連続的に繰り返す。終了した時点で暫定的ＦＣＳシミュレータデータベース１２を削除すると共に、スナップショット用ＦＣＳシミュレータ２１も削除される。
【００３２】
ＦＣＳシミュレータ１０は、このようなスナップショット用ＦＣＳシミュレータ２１の処理とは独立してステップＳ７から継続したステップＳ１０で、定周期処理で実行すべきブロックなどの制御処理を行う。
【００３３】
図３は、本発明の他の実施例のスナップショットセーブ処理手順を時系列的に示したシーケンス図であり、短時間に連続して出された処理されるシナリオのシーケンス図である。ブロックＡは、一度目のスナップショットセーブ処理のシーケンスを示す領域、ブロックＢは、二度目のスナップショットセーブ処理のシーケンスを示す領域である。
【００３４】
ユーザ３とＦＣＳシミュレータ１０とのインターフェイスは、ステップＳ１でユーザからの一度目のスナップショットセーブ要求がＦＣＳシミュレータ１０に出され、ステップＳ２でＦＣＳシミュレータ１０から完了通知が返され、その後短時間後のステップステップＳ３でユーザからの二度目のスナップショットセーブ要求がＦＣＳシミュレータ１０に出され、ステップＳ４でＦＣＳシミュレータ１０から完了通知が返される。
【００３５】
ステップＳ１の一度目のスナップショットセーブ要求で、ＦＣＳシミュレータ１０はステップＳ１−１でＦＣＳシミュレータデータベース１１をコピーして、ステップＳ１−２でブロックＡ内に示す暫定的ＦＣＳシミュレータデータベース１２ａを新規作成すると共に、ステップＳ１−３で空のスナップショットデータベース１３１ａを新規作成する。
【００３６】
更にステップＳ１−４でスナップショット用ＦＣＳシミュレータ２１ａを起動し、ステップＳ２で完了通知を行い、ユーザに次のセーブが実行可能であることを伝える。以後ステップＳ１−５による暫定的ＦＣＳシミュレータデータベース１２ａの読み込みと、スナップショットデータベース１３１ａへの書き込みを繰り返し実行し、終了する暫定的ＦＣＳシミュレータデータベース１２ａの削除並びにスナップショット用ＦＣＳシミュレータ２１ａを削除する。
【００３７】
同様に、ステップＳ３の二度目のスナップショットセーブ要求で、ＦＣＳシミュレータ１０はステップＳ３−１でＦＣＳシミュレータデータベース１１をコピーして、ステップＳ３−２でブロックＢ内に示す暫定的ＦＣＳシミュレータデータベース１２ｂを新規作成すると共に、ステップＳ３−３で空のスナップショットデータベース１３１ｂを新規作成する。
【００３８】
更にステップＳ３−４でスナップショット用ＦＣＳシミュレータ２１ｂを起動し、ステップＳ４で完了通知を行い、ユーザに次のセーブが実行可能であることを伝える。以後ステップＳ３−５による暫定的ＦＣＳシミュレータデータベース１２ｂの読み込みと、スナップショットデータベース１３１ｂへの書き込みを繰り返し実行し、終了する暫定的ＦＣＳシミュレータデータベース１２ｂの削除並びにスナップショット用ＦＣＳシミュレータ２１ｂを削除する。
【００３９】
ブロックＡ及びＢのシーケンスで明らかなように、本発明ではスナップショットセーブの要求毎に、暫定的ＦＣＳシミュレータデータベース、スナップショットデータベースが新規作成されると共にスナップショット用ＦＣＳシミュレータが起動され、夫々のシーケンス処理は互いに独立して進行するので、図３の様に一度目の要求に対するスナップショット処理が継続中に二度目の要求が発生しても混乱が生ずることはない。
【００４０】
前記のように、従来装置では一度スナップショットセーブ要求を出したら数１０秒待たないと次のセーブは実行できなかったが、図３の実施例ではステップＳ１とステップＳ３の間隔は数秒程度に短縮される。
【００４１】
その理由は、ブロックＡにおけるテップＳ１−５乃至ステップＳ１−７の読み込み・書き込み処理と、ブロックＢにおけるステップＳ３−５乃至ステップＳ３−７の読み込み・書き込み処理とが、互いに独立、非同期で動作することが可能であることによる。
【００４２】
以上実施例で説明した本発明シミュレーション装置２０は、ＨＩＳ２とは独立した要素として制御バス１に接続されているが、ＨＩＳ２の機能の一つとして同一マシン内に組み込むこともできる。
【００４３】
更に本発明シミュレーション装置２０は、制御バス１とネットワークを介して接続された外部の汎用ＰＣ上でも、ＦＣＳシミュレータデータベース１１のダウンロードが可能な環境であれば運用することができる。
【００４４】
【発明の効果】
以上説明したことから明らかなように、本発明によればスナップショットセーブ処理を高速化し、従来数１０秒を要したスナップショットセーブ処理を数秒に短縮できるので、短い間隔で連続的にスナップショットセーブを可能にするシミュレーション装置を実現することができる。
【００４５】
シミュレーション装置の使用形態として、プラントの操業訓練中の状態を逐次セーブし、訓練後の評価に使用したいとの要求に対しても十分に応えることが可能なシミュレーション装置を実現することができる。
【図面の簡単な説明】
【図１】本発明を適用したシミュレーション装置を有する分散型制御システムの機能ブロック図である。
【図２】本発明のシミュレーション装置におけるスナップショットセーブ処理の流れを説明するシーケンス図である。
【図３】本発明の他の実施例におけるスナップショットセーブ処理の流れを説明するシーケンス図である。
【図４】従来のシミュレーション装置を有する分散型制御システムの機能ブロック図である。
【図５】従来のシミュレーション装置におけるスナップショットセーブ処理の流れを説明するシーケンス図である。
【符号の説明】
１　制御バス
２　ＨＩＳ
３　ユーザ
４　ＦＣＳ
５　Ｉ／Ｏバス
６　フィールド機器
７　エンジニアリングステーション
８　制御情報データベース
１０　ＦＣＳシミュレータ
１１　ＦＣＳシミュレータデータベース
１２　暫定的ＦＣＳシミュレータデータベース
１３１，１３２，…１３ｎ　スナップショットデータベース
２０　シミュレーション装置
２１　スナップショット用ＦＣＳシミュレータ
１４１　第１の作成手段
１４２　第２の作成手段
【図１】
2004030107.tif 000003
【図２】
2004030107.tif 000004
【図３】
2004030107.tif 000005
【図４】
2004030107.tif 000006
【図５】
2004030107.tif 000007