(57)【特許請求の範囲】
【請求項１】
試験対象の制御ソフトウェアを記憶する制御ソフトウェア記憶部と、
前記制御ソフトウェア記憶部から前記制御ソフトウェアを読み込んで、一連の演算処理を所定の演算速度で実行して制御信号を出力する制御演算部と、
前記制御演算部のデータ参照先およびデータ書込先として使用される共有メモリ部と、
前記制御信号に対して制御対象機器が出力する出力信号を模擬する出力データについて、少なくとも出力値および前記共有メモリ部における出力先アドレスを前記制御信号の種別に応じて定義した設定ファイルを記憶する設定ファイル記憶部と、
前記制御演算部から前記制御信号を入力し、前記制御信号と前記設定ファイルに基づいて演算処理を所定の演算速度で実行し、その演算結果を前記出力データとして前記出力先アドレスへ出力するＩ／Ｏ演算部と、
ＣＰＵのクロック周波数を高めることで前記制御演算部の演算速度を、等倍速度と、該等倍速度よりも高速なｎ倍速度との間で変化させる演算速度調整部と、
を備えることを特徴とするプラント監視制御システム用エミュレータ。
【請求項２】
前記演算速度調整部は、前記制御演算部および前記Ｉ／Ｏ演算部の演算速度を連動させて等倍速度とｎ倍速度との間で変更させること、
を特徴とする請求項１に記載のプラント監視制御システム用エミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プラント監視制御システム用エミュレータに関する。特に、制御装置を模擬する制御エミュレート部と、制御装置と制御対象機器との間で信号を入出力する入出力装置を模擬するＩ／Ｏエミュレート部と、を備えたプラント監視制御システム用エミュレータに関する。
【背景技術】
【０００２】
工場の製造設備等のプラントを監視制御するためのプラント監視制御システムは、監視装置、制御装置、入出力装置がネットワークを介して相互に接続されたシステムである。監視装置は、表示用品や操作用品が配置された監視画面を有し、ユーザに操作されるヒューマンマシンインターフェース（ＨＭＩ）である。制御装置は、動作確認済みの制御ソフトウェアがインストールされ、制御に関する演算処理を実行するコントローラである。例えば、プログラマブルロジックコントローラ（ＰＬＣ）である。入出力装置は、制御装置における演算処理の結果を制御対象機器へ伝えるとともに、設備の現状を示す信号を制御装置へ出力するＩ／Ｏである。
【０００３】
従来は、制御ソフトウェアの確認試験を実際の制御装置や入出力装置等の実機を利用して実施していた。しかし、近年では、コンピュータの性能向上と、ソフトウェア作成のためのエンジニアリングツールの発達に伴い、エンジニアリングツールによって作成した制御ソフトウェアを実機にインストールすることなく、コンピュータ上の仮想環境で動作させて制御ソフトウェアの問題点を把握可能とするエミュレータが開発され、使用されるようになってきた。
【０００４】
例えば、特開２００７−１７２１２８号公報（特許文献１）には、プログラマブルロジックコントローラのシーケンスプログラムをシミュレーションするためにＰＬＣの入出力状態を変化させる、パソコンを使用したＩ／Ｏシミュレータ装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７２１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、このようなエミュレータは、実機を模擬しているため、計算や実行時間などは、実機相当の処理速度に設定されている。したがって、反応の遅い制御系（例えば、温度制御）を模擬する場合や、実機での検証が難しい長時間の時間経過を確認する場合には、非常に長い時間や多くの手間がかかってしまう。
【０００７】
本発明は、上述のような課題を解決するためになされたもので、実機を用いるよりも試験に要する時間を短縮し、効率の良いソフトウェア試験を実現できるプラント監視制御システム用エミュレータを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の目的を達成するため、プラント監視制御システム用エミュレータであって、
試験対象の制御ソフトウェアを記憶する制御ソフトウェア記憶部と、
前記制御ソフトウェア記憶部から前記制御ソフトウェアを読み込んで、一連の演算処理を所定の演算速度で実行して制御信号を出力する制御演算部と、
前記制御演算部のデータ参照先およびデータ書込先として使用される共有メモリ部と、
前記制御信号に対して制御対象機器が出力する出力信号を模擬する出力データについて、少なくとも出力値および前記共有メモリ部における出力先アドレスを前記制御信号の種別に応じて定義した設定ファイルを記憶する設定ファイル記憶部と、
前記制御演算部から前記制御信号を入力し、前記制御信号と前記設定ファイルに基づいて演算処理を所定の演算速度で実行し、その演算結果を前記出力データとして前記出力先アドレスへ出力するＩ／Ｏ演算部と、
ＣＰＵのクロック周波数を高めることで前記制御演算部の演算速度を、等倍速度と、該等倍速度よりも高速なｎ倍速度との間で変化させる演算速度調整部と、を備えることを特徴とする。
【０００９】
好ましくは、前記演算速度調整部は、前記制御演算部および前記Ｉ／Ｏ演算部の演算速度を連動させて等倍速度とｎ倍速度との間で変更させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、エミュレータの演算速度を仮想的に高速化することによって、実機を用いるよりも試験に要する時間を短縮し、効率の良いソフトウェア試験を実現できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係る制御ソフトウェア試験システム１の構成を説明するための図である。
【図２】図１に示す各エミュレータのハードウェア構成例を示すブロック図である。
【図３】実施の形態１に係る変速動作を実現するために、プラント監視制御システム用エミュレータ１２が実行する制御ルーチンのフローチャートである。
【図４】本発明の実施の形態２に係る制御ソフトウェア試験システム１の構成を説明するための図である。
【図５】実施の形態２に係る変速動作を実現するために、プラント監視制御システム用エミュレータ１２が実行する制御ルーチンのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１３】
実施の形態１．
［実施の形態１のシステム構成］
図１は、本発明の実施の形態１に係る制御ソフトウェア試験システム１の構成を説明するための図である。制御ソフトウェア試験システム１は、操作画面エミュレータ１１とプラント監視制御システム用エミュレータ１２とがネットワークＮＷを介して接続されて構成されている。
【００１４】
操作画面エミュレータ１１は、表示用品や操作用品が配置された画面を有し、ユーザに操作されるヒューマンマシンインターフェース（ＨＭＩ）の操作画面を模擬する。操作画面エミュレータ１１は、ユーザの操作に応じた操作信号をプラント監視制御システム用エミュレータ１２へ送信する。
【００１５】
プラント監視制御システム用エミュレータ１２の機能は、制御演算を模擬する制御エミュレート部１２１、入出力信号を模擬するＩ／Ｏエミュレート部１２２、およびエミュレート部の演算速度を調整する演算速度調整部１２３の三つに分類されている。
【００１６】
制御エミュレート部１２１は、実機の制御装置が実行する演算処理を模擬する。実機の制御装置は、工場の製造設備を構成する制御対象機器（アクチュエータ、センサ）（図示省略する）を制御する専用のプログラマブルロジックコントローラ（ＰＬＣ）であり、シーケンスプログラムにより一連の演算処理が実行される。制御エミュレート部１２１は、実機の制御装置である専用ＰＬＣの動作を模擬し、試験対象の制御ソフトウェアを実行できるように、後述するコンピュータ（図２）上で動作する仮想環境である。
【００１７】
制御エミュレート部１２１は、制御ソフトウェア記憶部１２１ａ、制御演算部１２１ｂ、共有メモリ部１２１ｃを有する。
【００１８】
制御ソフトウェア記憶部１２１ａは、試験対象の制御ソフトウェアを記憶する。制御ソフトウェア記憶部１２１ａへの制御ソフトウェアのインストールについては、公知の手法を用いればよい。
【００１９】
制御演算部１２１ｂは、制御ソフトウェア記憶部１２１ａから制御ソフトウェアを読み込んで、一連の演算処理を所定の演算速度で実行して制御信号を出力する。本実施形態に係る制御演算部１２１ｂは、変速信号を受信して、その演算速度を変更可能である。制御演算部１２１ｂは、実機の制御装置である専用ＰＬＣを模擬するため、実機と同等の処理速度（演算速度）で動作する等倍速モードを有する。さらに、制御演算部１２１ｂは、等倍速モードよりも高速に演算処理を実行するｎ倍速モード（ｎ＞１）を有する。
【００２０】
演算速度は種々の方法で変更可能である。例えば、上述した一連の演算処理に要する時間（実行周期）が実機の実行周期と一致するように、後述するＣＰＵ１０１（図２）が仮想環境である制御演算部１２１ｂを実行する実行時間と、実行しない待機時間とを定めることで等倍速モードを実現できる。また、上述した一連の演算処理の実行周期が１／ｎになるように、実行時間を長くし待機時間を短くすることでｎ倍速モードを実現できる。なお、ＣＰＵ１０１のクロック数を高めることでｎ倍速モードを実現してもよい。上述した一連の演算処理に実時間の経過を待つタイマ値が含まれる場合には、タイマ値を１／ｎ倍に変更したり、内部タイマ（内部時計）の動作速度をｎ倍に変更したりする仕組みを加えてもよい。
【００２１】
共有メモリ部１２１ｃは、制御演算部１２１ｂのデータ参照先およびデータ書込先として使用され、Ｉ／Ｏエミュレート部１２２との間で共有される。共有メモリ部１２１ｃは、Ｉ／Ｏエミュレート部１２２の演算結果（入出力信号）を書き込むためのＩ／Ｏ入出力用メモリ１２１ｃ１、制御エミュレート部１２１で使用する共有のテンポラリ用メモリ１２１ｃ２を備える。
【００２２】
Ｉ／Ｏエミュレート部１２２は、制御装置から送信される制御信号に対して、制御対象機器（図示省略する）から制御信号に対して制御対象機器が出力する出力信号を模擬する。Ｉ／Ｏエミュレート部１２２は、実機の入出力装置を模擬し、後述するコンピュータ（図２）上で動作する仮想環境である。
【００２３】
Ｉ／Ｏエミュレート部１２２は、設定ファイル記憶部１２２ａ、Ｉ／Ｏ演算部１２２ｂ、およびＩ／Ｏログファイル記憶部１２２ｃを有する。
【００２４】
設定ファイル記憶部１２２ａは、制御信号に対して制御対象機器が出力する出力信号を模擬する出力データについて、出力条件、出力値、出力時間および共有メモリ部における出力先アドレスを制御信号の種別に応じて定義した設定ファイルを記憶する。制御信号の種別に対応して設定ファイルに定義される内容としては、例えば、後述する（Ａ）デジタル出力の折り返し、（Ｂ）データセットなどが挙げられる。
【００２５】
Ｉ／Ｏ演算部１２２ｂは、制御演算部１２１ｂから制御信号を入力し、制御信号と設定ファイルに基づいて演算処理を所定の演算速度で実行し、その演算結果を出力データとして共有メモリ部１２１ｃの出力先アドレスへ出力する。本実施形態に係るＩ／Ｏ演算部１２２ｂは、実機の入出力装置を模擬するため、実機と同等の処理速度（演算速度）で動作する。
【００２６】
ユーザが制御エミュレート部１２１の制御ソフトウェアを動作させると、Ｉ／Ｏ演算部１２２ｂは、設定ファイルの内容に基づき、例えば以下のような演算結果を制御エミュレート部１２１の共有メモリ部１２１ｃへ書き込む。
（Ａ）デジタル出力の折り返し
制御演算部１２１ｂから制御信号（出力指示）が入力されると、設定ファイルに予め設定されている出力時間後に、Ｉ／Ｏ演算部１２２ｂが共有メモリ部１２１ｃの所定のメモリアドレス（出力先アドレス）へ所定の出力値を書き込む。
（Ｂ）データセット
設定ファイル内に予め設定されている出力条件が成立している場合のみ、Ｉ／Ｏ演算部１２２ｂが共有メモリ部１２１ｃの所定のメモリアドレス（出力先アドレス）へ所定の出力値を書き込む。
【００２７】
Ｉ／Ｏログファイル記憶部１２２ｃは、少なくとも制御信号の種別、制御信号の入力時間、出力データの出力値、出力時間及び出力先アドレスを含むＩ／Ｏログファイルを記憶する。これに対応して、Ｉ／Ｏ演算部１２２ｂは、共有メモリ部１２１ｃへの出力データの書込みに連動して、Ｉ／Ｏログファイル記憶部１２２ｃ内のＩ／Ｏログファイルにログデータを時間経過とともに記録する。
【００２８】
演算速度調整部１２３は、制御演算部１２１ｂの演算速度を、等倍速度とｎ倍速度との間で変化させる。演算速度調整部１２３は、操作画面エミュレータ１１またはプラント監視制御システム用エミュレータ１２が有する操作手段（図２の入力装置１０６、表示装置１０７）から変速信号が入力されると、制御演算部１２１ｂに変速信号を出力する。変速信号は、等速モードからｎ倍速モード（ｎ＞１）までの間の任意の動作モードを指定する信号である。
【００２９】
演算速度調整部１２３から出力された変速信号は、制御演算部１２１ｂに入力される。変速信号に応じて、制御演算部１２１ｂは、実機の演算速度を１倍速としてｎ倍速で動作する動作モードに変更され、実機の実行周期の１／Ｎの周期で演算を進めるように動作する。なお、演算速度調整部１２３は、予め使用前に試験開始時刻を設定することで、試験開始時刻に変速信号を出力できるように構成してもよい。
【００３０】
図２は、図１に示す各エミュレータのハードウェア構成例を示すブロック図である。各エミュレータは、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉt）１０１、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）１０２、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１０３、入出力インターフェース１０４、システムバス１０５、入力装置１０６、表示装置１０７、ストレージ１０８および通信装置１０９から構成されたコンピュータである。
【００３１】
ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３に格納されたプログラムやデータなどを用いて各種の演算処理を実行する処理装置である。ＲＯＭ１０２は、コンピュータを機能させるための基本プログラムや環境ファイルなどを記憶する読み取り専用の記憶装置である。ＲＡＭ１０３は、ＣＰＵ１０１が実行するプログラムおよび各プログラムの実行に必要なデータを記憶する主記憶装置であり、高速な読み出しと書き込みが可能である。入出力インターフェース１０４は、各種のハードウェアとシステムバス１０５との接続を仲介する装置である。システムバス１０５は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３および入出力インターフェース１０４で共有される情報伝達路である。
【００３２】
また、入出力インターフェース１０４には、入力装置１０６、表示装置１０７、ストレージ１０８、および通信装置１０９などのハードウェアが接続されている。入力装置１０６は、ユーザからの入力を処理する装置であり、例えばキーボードやマウスなどである。表示装置１０７は、ユーザに対して演算結果や作成画面などを表示する装置であり、例えば液晶ディスプレイやプラズマディスプレイなどである。ストレージ１０８は、プログラムやデータを蓄積する大容量の補助記憶装置であり、例えばハードディスク装置などである。
【００３３】
図３は、上述の変速動作を実現するために、プラント監視制御システム用エミュレータ１２が実行する制御ルーチンのフローチャートである。
【００３４】
まず、ステップＳ１００において、演算速度調整部１２３は、変速信号を取得する。具体的には、変速信号は、プラント監視制御システム用エミュレータ１２の操作画面等から択一的に選択される動作モードに応じて決定される。
【００３５】
ステップＳ１１０において、演算速度調整部１２３は、制御演算部１２１ｂへ変速信号を出力する。ステップＳ１２０において、制御演算部１２１ｂは、変速信号を入力し、変速信号に応じて、動作モードを変更することで一連の処理の演算速度を変更する。
【００３６】
以上説明したように、実施の形態１に係るプラント監視制御システム用エミュレータ１２によれば、制御演算部１２１ｂの演算速度を仮想的に高速化することによって、実機を用いるよりも試験に要する時間を短縮し、効率の良いソフトウェア試験を実現できる。また、ソフト製作〜試験の工数が減り、コストが下がる効果が見込める。
【００３７】
（変形例）
ところで、上述した実施の形態１のシステムにおいては、Ｉ／Ｏログファイル記憶部１２２ｃを有しているが、Ｉ／Ｏログファイル記憶部１２２ｃを有さない構成であっても良い。なお、この点は以下の実施の形態でも同様である。
【００３８】
また、上述した実施の形態１のシステムにおいては、プラント監視制御システム用エミュレータ１２の中にＩ／Ｏエミュレート部１２２を追加した構成であるが、同機能を別個のハードウェアに持たせ、ネットワークＮＷを介して接続した構成としても良い。
【００３９】
実施の形態２．
［実施の形態２のシステム構成］
次に、図４および図５を参照して本発明の実施の形態２について説明する。本実施形態のシステムは図４に示す構成において、プラント監視制御システム用エミュレータ１２に後述する図５のルーチンを実行させることで実現することができる。
【００４０】
上述した実施の形態１では、制御エミュレート部１２１をｎ倍速で動作させることができる。しかしながら、試験環境をより実機環境に近づけるにはＩ／Ｏエミュレート部１２２もｎ倍速で動作させることが好ましい。
【００４１】
そこで、実施の形態２では、制御演算部１２１ｂおよびＩ／Ｏ演算部１２２ｂの演算速度を連動させて等倍速度とｎ倍速度との間で変更することとした。
【００４２】
図４は、本発明の実施の形態２に係る制御ソフトウェア試験システム１の構成を説明するための図である。図４に示す構成は、Ｉ／Ｏ演算部１２２ｂと演算速度調整部１２３の一部機能が追加され、演算速度調整部１２３がＩ／Ｏ演算部１２２ｂに接続された点を除き、図１に示す構成と同様である。以下、図４において図１に示す構成と同一の構成については、同一の符号を付してその説明を省略または簡略する。なお、図４に示す各エミュレータのハードウェア構成は図２と同様である。
【００４３】
Ｉ／Ｏ演算部１２２ｂは、制御演算部１２１ｂから制御信号を入力し、制御信号と設定ファイルに基づいて演算処理を所定の演算速度で実行し、その演算結果を出力データとして共有メモリ部１２１ｃの出力先アドレスへ出力する。本実施形態に係るＩ／Ｏ演算部１２２ｂは、変速信号を受信して、その演算速度を変更可能である。本実施形態に係るＩ／Ｏ演算部１２２ｂは、実機の入出力装置を模擬するため、実機と同等の処理速度（演算速度）で動作する等倍速モードを有する。さらに、Ｉ／Ｏ演算部１２２ｂは、等倍速モードよりも高速に演算処理を実行するｎ倍速モード（ｎ＞１）を有する。
【００４４】
演算速度は種々の方法で変更可能である。例えば、入出力信号を模擬する演算処理に要する時間（実行周期）が実機の実行周期と一致するように、ＣＰＵ１０１（図２）が仮想環境であるＩ／Ｏ演算部１２２ｂを実行する実行時間と、実行しない待機時間とを定めることで等倍速モードを実現できる。また、上述した演算処理の実行周期が１／ｎになるように、実行時間を長くし待機時間を短くすることでｎ倍速モードを実現できる。なお、ＣＰＵ１０１のクロック数を高めることでｎ倍速モードを実現してもよい。上述した演算処理に実時間の経過を待つタイマ値が含まれる場合（例えば、設定ファイルにタイマ値としての出力時間が定義されている場合）には、タイマ値を１／ｎ倍に変更したり、内部タイマ（内部時計）の動作速度をｎ倍に変更したりする仕組みを加えてもよい。
【００４５】
演算速度調整部１２３は、変速信号に応じて、制御演算部１２１ｂおよびＩ／Ｏ演算部１２２ｂの演算速度を連動させて等倍速度とｎ倍速度との間で変更させる。すなわち、制御エミュレート部１２１の演算速度だけでなく、実際の入出力信号の模擬であるＩ／Ｏエミュレート部１２２の演算速度も同時にｎ倍速度に変化させる構成とする。演算速度調整部１２３は、操作画面エミュレータ１１またはプラント監視制御システム用エミュレータ１２が有する操作手段（図２の入力装置１０６、表示装置１０７）から変速信号が入力されると、制御演算部１２１ｂおよびＩ／Ｏエミュレート部１２２に変速信号を出力する。変速信号は、等速モードからｎ倍速モード（ｎ＞１）までの間の任意の動作モードを指定する信号である。
【００４６】
演算速度調整部１２３から出力された変速信号は、制御演算部１２１ｂおよびＩ／Ｏエミュレート部１２２に入力される。変速信号に応じて、制御演算部１２１ｂおよびＩ／Ｏエミュレート部１２２は、連動して実機の演算速度を１倍速としてｎ倍速で動作する動作モードに変更され、実機の実行周期の１／Ｎの周期で演算を進めるように動作する。
【００４７】
図５は、上述の変速動作を実現するために、プラント監視制御システム用エミュレータ１２が実行する制御ルーチンのフローチャートである。このルーチンは、ステップＳ１３０の処理がステップＳ１１０の後にステップＳ１２０と並列に追加されている点を除き、図３に示すルーチンと同様である。以下、図５において、図３に示すステップと同一のステップについては、同一の符号を付してその説明を省略または簡略する。
【００４８】
図５に示すルーチンでは、ステップＳ１１０において、演算速度調整部１２３は、制御演算部１２１ｂおよびＩ／Ｏ演算部１２２ｂに変速信号を出力する。ステップＳ１２０において、制御演算部１２１ｂは、変速信号を入力し、変速信号に応じて、動作モードを変更することで一連の処理の演算速度を変更する。ステップＳ１２０と同時に、Ｉ／Ｏ演算部１２２ｂは、変速信号を入力し、変速信号に応じて、動作モードを変更することで演算速度を変更する。
【００４９】
以上説明したように、実施の形態２に係るプラント監視制御システム用エミュレータ１２によれば、制御演算部１２１ｂおよびＩ／Ｏ演算部１２２ｂの演算速度を連動して仮想的に高速化することによって、実機を用いるよりも試験に要する時間を短縮し、効率の良いソフトウェア試験を実現できる。また、実施の形態１に比して、実機環境に近い試験環境を実現でき、制御系全体の模擬が高速化するため試験時間もさらに短縮できる。
【００５０】
以上、本発明の実施形態を説明したが、上述した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。本実施形態およびその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５１】
１  制御ソフトウェア試験システム
１１  操作画面エミュレータ
１２  プラント監視制御システム用エミュレータ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  入出力インターフェース
１０５  システムバス
１０６  入力装置
１０７  表示装置
１０８  ストレージ
１０９  通信装置
１２１  制御エミュレート部
１２１ａ  制御ソフトウェア記憶部
１２１ｂ  制御演算部
１２１ｃ  共有メモリ部
１２１ｃ１  Ｉ／Ｏ入出力用メモリ
１２１ｃ２  テンポラリ用メモリ
１２２  Ｉ／Ｏエミュレート部
１２２ａ  設定ファイル記憶部
１２２ｂ  Ｉ／Ｏ演算部
１２２ｃ  Ｉ／Ｏログファイル記憶部
１２３  演算速度調整部
ＮＷ  ネットワーク
【図１】
0006620653.tif 000002
【図２】
0006620653.tif 000003
【図３】
0006620653.tif 000004
【図４】
0006620653.tif 000005
【図５】
0006620653.tif 000006