(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明のエンジニアリング装置、エンジニアリング方法及びプログラムの実施形態について説明する。
【0019】
(エンジニアリングシステム)
まず、本実施形態に係るエンジニアリングシステムの構成の一例について説明する。
図1は、本実施形態に係るエンジニアリングシステムの構成の一例を示すブロック図である。
エンジニアリングシステムS1は、現場制御システム1と、複製制御システム2と、を備える。現場制御システム1は、制御対象となるプラント15A、15Bの現場に設置され、それらの運転状態を制御する制御システムである。現場制御システム1は、エンジニアリング装置10と、操作監視装置12と、制御装置14Aと、制御装置14Bと、を含んで構成されるプロセス制御システムである。エンジニアリング装置10、操作監視装置12、制御装置14A及び制御装置14Bは、それぞれ制御ネットワークNW1に接続され、制御ネットワークNW1を介して各種のデータを有線又は無線で送受信する。なお、以下の説明では、複数の制御装置を総称する場合又は互いに区別しない場合には、制御装置14と呼ぶことがある。また、複数のプラントを総称する場合又は互いに区別しない場合には、プラント15と呼ぶことがある。
【0020】
エンジニアリング装置10は、各制御装置14のエンジニアリングを支援するための装置である。制御装置のエンジニアリングには、制御装置に実行させるプログラム一部又は全部の設計、作成、更新、削除、制御装置へのインストール、処理に用いられるパラメータの設定、更新もしくは削除、変更履歴の管理、動作テスト、等の処理がある。エンジニアリングは、エンジニアリングシステムS1の保守を行うエンジニアの操作に応じて行われる。また、プログラムを実行するとは、そのプログラムに記述された命令で指示される処理を実行することを指す。エンジニアリング装置10の機能構成については、後述する。
【0021】
操作監視装置12は、オペレータが各プラント15の運転状態を監視し、各プラント15の運転を操作するためのHMI(Human Machine Interface)である。操作監視装置12は、各プラント15の運転を操作するためのスイッチ、キーボード、マウスなどの入力デバイスを備える。操作監視装置12は、各プラント15の運転状態を表示するためのディスプレイ、ランプ等の表示デバイスを備える。操作監視装置12は、1個又は複数のディスプレイに、複数のウィンドウを表示し、各プラント15の運転状態を表示してもよい。運転状態の指標として、例えば、センサ16A、16Bから出力される測定値が表示される。操作監視装置12は、操作入力による指示に応じて各制御装置14の動作を制御する。
【0022】
制御装置14は、それぞれフィールドネットワークNW1Fに接続され、操作監視装置12からの監視のもとで各プラント15の運転状態を制御する。制御装置14は、エンジニアリング装置10がインストールしたプログラムを、設定されたパラメータを用いて実行する。
図1に示す例では、制御装置14A、14Bには、フィールドネットワークNW1Fを介してセンサ16A、16Bから測定値がそれぞれ入力される。制御装置14A、14Bは、それぞれ入力される測定値に基づいて所定の運転制御を行って操作量を求め、それぞれ求めた操作量を、フィールドネットワークNW1Fを介してアクチュエータ18A、18Bに出力する。
【0023】
プラント15A、15Bは、それぞれ工業プロセスを実現するプラントである。プラント15Aには、フィールド機器としてセンサ16A及びアクチュエータ18Aが設置されている。センサ16Aは、プラント15Aの運転状態を示す物理量を測定し、その測定値をそれぞれ制御装置14Aに入力する。アクチュエータ18Aは、制御装置14Aから出力される操作量に基づいてプラント15Aの運転状態を操作する。従って、センサ16A、制御装置14A及びアクチュエータ18Aにより1個の制御ループが形成される。
プラント15Bには、フィールド機器としてセンサ16B及びアクチュエータ18Bが設置されている。センサ16Bは、プラント15Bの運転状態を示す物理量を測定し、その測定値をそれぞれ制御装置14Bに入力する。アクチュエータ18は、制御装置14Bから出力される操作量に基づいてプラント15Bの運転状態を操作する。従って、センサ16B、制御装置14B及びアクチュエータ18Bにより1個の制御ループが形成される。
【0024】
センサ16A、16Bは、例えば、流量計、温度センサ、圧力センサなどである。アクチュエータ18A、18Bは、例えば、流量制御弁、開閉弁、モータ、ポンプなどである。
図1に示す例では、プラント15A、15Bの入出力チャネルの数は、それぞれ1入力1出力であるが、プラントの入出力チャネルの数は、一般にプラントによって異なる。入力チャネル、出力チャネルの数は、それぞれ2以上になることがある。
【0025】
複製制御システム2は、制御装置14A、14Bやプラント15A、15Bを制御する制御装置14A、14Bと独立に設置され、主に制御装置14A、14Bのエンジニアリングを行うために複製された制御システムである。より具体的には、複製制御システム2は、エンジニアリング装置20と、操作監視装置22と、制御装置24Aと、制御装置24Bと、を含んで構成されるプロセス制御システムである。エンジニアリング装置20、操作監視装置22、制御装置24A及び制御装置24Bは、それぞれエンジニアリング装置10、操作監視装置12、制御装置14A及び制御装置14Bと同様の構成を備える。なお、複製制御システム2において、上述の制御装置24A及び制御装置24Bは、それぞれ実機である必要はなく、制御装置の動作を模擬可能なシミュレータ又は当該動作を模擬可能なシミュレーションモデルを搭載した演算装置、パーソナルコンピュータ、端末装置などの機器であってもよい。エンジニアリング装置20、操作監視装置22、制御装置24A及び制御装置24Bは、それぞれ制御ネットワークNW2に接続され、制御ネットワークNW2を介して各種のデータを有線又は無線で送受信する。制御装置24Aには、例えば、プラント25A(図示せず)の運転状態を示す物理量を測定するセンサ26Aと、プラント25Aを操作するアクチュエータ28Aが接続される(図示せず)。また、制御装置24Bには、プラント25B(図示せず)の運転状態を示す物理量を測定するセンサ26Bと、プラント25Bを操作するアクチュエータ28Bが接続される(図示せず)。
なお、複製制御システム2は、プラント外の社内制御システムであってもよい。「社内」とは、現場制御システム1で用いられるデータファイルのエンジニアリング作業が行われる場所の一例として、現場制御システム1を管理する事業者の事業所内(社内)にあることを示すに過ぎない。
【0026】
プラント25A、25Bは、それぞれプラント15A、15Bと同様の構成を備える。例えば、アクチュエータ28Aに出力する操作量がアクチュエータ18Aに出力する操作量に等しいとき、センサ26Aから入力される測定量は、センサ16Aから入力される測定量と等しくなる。なお、複製制御システム2は、プラント25A、25Bに代えて、プラント15A、15Bの入出力特性を模擬するためのシミュレータ(図示せず)を備えてもよい。
【0027】
エンジニアリングにおいて操作されるプログラムならびにパラメータは、一般に複数のデータファイルに格納される。
図1は、制御装置14Aに関連するデータファイルの例として、FileA〜FileFを示す。エンジニアリング装置10は、各制御装置に関連するデータファイルを、フラッシュメモリ、HDD(Hard Disk Drive)などの外部メモリに出力してもよいし、制御ネットワークとは別個の情報ネットワーク(図示せず)を介して複製制御システム2のエンジニアリング装置20に送信してもよい。制御装置24A、24Bは、それぞれ制御装置14A、14Bと同様の構成を有する。そのため、エンジニアリング装置20において制御装置14A、14Bのエンジニアリングが可能になる。なお、エンジニアリング装置20においてエンジニアリング作業の対象となる制御装置は、実機、つまり制御装置14A、14Bである必要はなく、制御装置14A、14Bの動作を模擬可能なシミュレータ又は当該動作を模擬可能なシミュレーションモデルを搭載した演算装置、パーソナルコンピュータ、端末装置などの機器であってもよい。そして、エンジニアリング装置20は、外部メモリ又は情報ネットワークを介してエンジニアリングにより編集されたデータファイルをエンジニアリング装置10に提供する。
図1に示す例では、エンジニアリング装置20からエンジニアリング装置10に提供されるデータファイルは、FileA’、FileB、FileC’、FileD’、FileE、FileFである。FileA’、FileC’、FileD’は、それぞれFileA、FileC、FileDから、格納されている情報の一部又は全部がエンジニアリングにより変更されていることを示す。
【0028】
(エンジニアリング装置)
次に、本実施形態に係るエンジニアリング装置10の機能構成について説明する。
図2は、本実施形態に係るエンジニアリング装置10の機能構成の一例を示すブロック図である。エンジニアリング装置20の機能構成は、エンジニアリング装置10の機能構成と同様であるため、その説明を援用する。
エンジニアリング装置10は、制御部102と、記憶部104と、操作表示部106と、入出力通信部108と、を含んで構成される。
【0029】
制御部102は、エンジニアリングデータ処理部1022と、エンジニアリングデータ判定部1024と、を含んで構成される。制御部102は、CPU(Central Processing Unit)などの制御デバイスで構成される。制御デバイスは、記憶部104に予め記憶されたエンジニアリングツールのプログラムを読み出し、読み出したプログラムを実行して、エンジニアリングデータ処理部1022として機能する。また、制御デバイスは、記憶部104に予め記憶されたエンジニアリングツールのプログラムを読み出し、読み出したプログラムを実行して、エンジニアリングデータ判定部1024として機能する。
【0030】
エンジニアリングデータ処理部1022は、制御装置14の動作に用いられるエンジニアリングデータについてエンジニアリングに係る処理を行う。エンジニアリングデータ処理部1022は、入出力通信部108から入力される操作信号の指示に応じて、指示されたエンジニアリングデータの編集、エンジニアリングデータの動作テスト、制御装置14への出力(移行、反映)を行う。エンジニアリングデータの編集には、予め記憶部104に記憶されたエンジニアリングデータの一部又は全部の作成、変更、削除が含まれる。エンジニアリングデータ処理部1022は、編集により得られたエンジニアリングデータを格納したデータファイル群を記憶部104に記憶する。
【0031】
エンジニアリングデータは、主に、各制御装置14が実行するアプリケーションプログラムと制御対象となるプラント15に設置されたフィールド機器の入出力設定(I/O:Input−Output)に分類される。アプリケーションプログラムには、運転制御を行うための1個又は複数の機能ブロックを示す情報が記述される。つまり、記述される機能ブロックは、制御ロジックの構成要素となる。機能ブロックとして、例えば、PID制御、各種の論理制御など、事象の発生もしくは運転状態に応じた処理が実装される。運転制御は、各1個の制御ループ毎に行われる。その運転制御を実行するための制御ロジックが各1個のデータファイルに記述される。以下の説明では、この制御ロジックが記述されたデータファイルをアプリケーションモジュールと呼ぶことがある。アプリケーションモジュールには、各機能ブロックに係る情報として、その処理に用いられるパラメータ、機能ブロック間の入出力経路(結線)などが記述される。入出力設定として、フィールド機器に関するパラメータが記述される。記述されるパラメータとして、例えば、フィールド機器の種類、設置位置などの情報が設定される。以下の説明では、この入出力設定が記述されたデータファイルを、入出力設定ファイルと呼ぶことがある。アプリケーションモジュール、入出力設定ファイルは、各1個の制御ループ毎に形成されてもよいし、所定の複数の制御ループの組み合わせ毎に形成されてもよい。
【0032】
エンジニアリングデータ処理部1022は、エンジニアリングデータに基づき、動作テストを行う。ここで、動作テストとは、エンジニアリングデータの移行、反映などのエンジニアリング作業の誤りを低減させるため、データの移行、反映後における複製制御システム2の挙動を確認するための処理をいう。エンジニアリングデータ処理部1022は、動作テストにおいて、例えば、次の処理を行う。
・各データファイルに記述された内容が所定の書式で記述されているか否かの判定
・センサ16A等から入力される測定値と同期したアプリケーションプログラムの実行
・測定値又はアプリケーションプログラムの実行により得られる操作量の操作表示部106への表示
・各制御装置14を介したフィールド機器のループチェック
【0033】
エンジニアリングデータ処理部1022は、操作信号で指示された制御装置に係るエンジニアリングデータを、その制御装置に出力する。ここで、エンジニアリングデータ処理部1022は、エンジニアリングデータを人間がその内容を視認できるデータ形式(例えば、テキスト形式)からバイナリ形式のバイナリデータに変換するものでもよい。また、制御装置は、テキスト形式のデータから自機が必要とするバイナリ形式のデータへデータ形式を変換する機器を有していてもよい。エンジニアリングデータ処理部1022は、変換により得られたバイナリデータを統合して、その制御装置に入出力通信部108を介して出力する。制御装置は、エンジニアリング装置10から入力されたエンジニアリングデータをインストールする。
【0034】
エンジニアリングデータ処理部1022は、ある制御装置に係るエンジニアリングデータを格納したデータファイル群を入力(インポート)する。
エンジニアリングデータ処理部1022は、記憶部104に記憶されたエンジニアリングデータのうち、操作信号で指定された制御装置に係るエンジニアリングデータを格納したデータファイル群を出力(エクスポート)する。入出力先は、自装置に物理的に接続された着脱可能な記憶媒体(メモリ)であってもよいし、情報ネットワークを介して接続された複製制御システム2のエンジニアリング装置20であってもよい。
【0035】
なお、エンジニアリングデータ処理部1022は、実行している処理(イベント)と、その処理の開始時刻を示す履歴情報を、その処理毎に記憶部104に記憶し、エンジニアリング履歴を形成するものでもよい。履歴情報には、例えば、イベントがデータファイルの変更である場合には、処理対象のデータファイルの情報とそのデータファイルにおける変更前後の情報が含まれる。エンジニアリング履歴は、開始時刻の順に各履歴情報が累積してなるものでもよい。エンジニアリング履歴は、制御装置毎に形成されてもよい。
【0036】
エンジニアリングデータ判定部1024は、エンジニアリングデータ処理部1022に入力されたデータファイル群に格納されたエンジニアリングデータと、記憶部104に記憶されたエンジニアリングデータのそれぞれについて、エンジニアリングにより変更が生じた情報をデータファイル単位で判定する。ここで、記憶部104に記憶されたエンジニアリングデータを格納するデータファイル群を第1データファイル群と呼ぶ。エンジニアリングデータ処理部1022に入力されるデータファイル群を第2データファイル群と呼ぶ。ここで、第2データファイル群は、エンジニアリング装置10の外部から電子記録媒体又はネットワークを介して入力されてもよい。エンジニアリングデータ判定部1024は、ある制御装置に係る第1データファイル群に含まれるデータファイルのうち自装置のエンジニアリングデータ処理部1022により変更された情報を格納するデータファイルと、その制御装置に係る第2データファイル群に含まれるデータファイルのうちエンジニアリング装置20のエンジニアリングデータ処理部により変更された情報を格納するデータファイルとを、差分ファイルとして取得する。ここで、エンジニアリングデータ判定部1024は、エンジニアリング履歴を参照して、エンジニアリングデータ処理部1022が第1データファイル群に属するデータファイルの編集が開始した時点を第1データファイル群についてエンジニアリングが開始された時点として特定することができる。なお、エンジニアリングデータ判定部1024は、例えば、記憶部104に記憶されたエンジニアリング履歴を参照して、エンジニアリング装置10から第1データファイル群がエンジニアリング装置20に直接又は間接的に出力された時点を、第2データファイル群についてエンジニアリングが開始された時点として特定してもよい。なお、エンジニアリングデータ判定部1024は、エンジニアリング装置20から直接又は間接的に入力されるエンジニアリング履歴を参照して、第2データファイル群に含まれる差分ファイルを特定してもよい。
【0037】
エンジニアリングデータ判定部1024は、ある制御装置14の第1データファイル群に属するデータファイルのうち、エンジニアリングデータ処理部1022によっても、変更された情報を含まないデータファイル(以下、未変更ファイルと呼ぶ)と、取得した差分ファイルと、をその制御装置に係る新たなデータファイル群(以下、更新ファイル群と呼ぶ)として集約する。そして、エンジニアリングデータ判定部1024は、更新ファイル群内のデータファイルに格納された情報の不整合の有無を判定する。
判定対象の不整合には、例えば、その制御装置に係る機能ブロックの不整合、機能ブロック間の入出力経路の不整合、制御ループに設定された入出力設定の不整合、などがある。
【0038】
エンジニアリングデータ判定部1024は、不整合が判定された情報を操作表示部106に表示させてもよいし、さらにその不整合の事由を操作表示部106に表示させてもよい。
エンジニアリングデータ判定部1024は、不整合がないと判定するとき、その旨を示す確認情報と更新ファイル群とを対応付けて記憶部104に記憶する。従って、元の第1データファイル群が更新ファイル群に更新される。
エンジニアリングデータ処理部1022は、確認情報と対応付けて記憶されたデータファイル群に格納されたエンジニアリングデータを、その制御装置にインストール可能とする。即ち、エンジニアリングデータ処理部1022は、入力された操作信号で指示される場合であっても、確認情報と対応付けて記憶されないデータファイル群に格納されたエンジニアリングデータの反映(即ち、移行、出力など)を行わない。
【0039】
操作表示部106は、ユーザの操作を受け付け、その操作に応じた操作信号を制御部102に出力する操作入力部を備える。操作入力部は、例えば、マウス、キーボード、タッチセンサなどのポインティングデバイスである。また、操作表示部106は、制御部102から入力される各種の情報を表示する表示部を備える。表示部は、例えば、液晶ディスプレイ、ディスプレイパネルなどのディスプレイデバイスである。操作入力部と表示部とは、別体であってもよいし、一体化されたタッチパネルとして構成されてもよい。
【0040】
入出力通信部108は、エンジニアリング装置10の外部から各種のデータを入力し、制御部102から入力された各種のデータをエンジニアリング装置の外部に出力する入出力部を備える。入出力部は、例えば、入出力インタフェースである。入出力通信部108は、制御ネットワークNW1に接続された機器との間で各種のデータを有線又は無線で送受信する通信部を備える。通信部は、例えば、通信インタフェースである。
【0041】
(差分ファイルの検出例)
現場制御システム1に設置された制御装置のエンジニアリングは、現場制御システム1のエンジニアリング装置10、複製制御システム2のエンジニアリング装置20のいずれにおいても行われる可能性がある。例えば、現場制御システム1の制御装置14Aに関連するファイルFileA〜FileF(修正前)は、現場制御システム1、複製制御システム2で独立に変更されうる。そのため、両者間で変更箇所が異なりうる。
図3に示す例では、エンジニアリング装置20により情報が変更されたデータファイルがFileA’、FileC’、FileD’であるのに対し、エンジニアリング装置10により情報が変更されたデータファイルはFileB’である。そこで、エンジニアリング装置10のエンジニアリングデータ判定部1024は、エンジニアリング履歴を参照して、その時点の第1データファイル群のうち修正前の元のデータファイルFileBから変更された情報を含むデータファイルFileB’とその元のデータファイルFileBを特定する。また、エンジニアリングデータ判定部1024は、その他のデータファイルFileA、FileC、FileD、FileE、FileFが変更されていないと判定する。そして、エンジニアリングデータ判定部1024は、エンジニアリング装置20から搬入される第2データファイル群のうち、修正前の情報、つまり出力された時点における情報から変更された情報を含むFileA’、FileC’、FileD’を特定する。エンジニアリング装置10は、第1データファイル群に含まれるFileA、FileC、FileDを、それぞれ特定したFileA’、FileC’、FileD’に更新する。これらのファイルは、不整合の有無の検出対象となる。不整合の有無の検出は、制御装置14に反映される前に実行される。
【0042】
図3に示す例では、情報が変更されたデータファイルが、第2データファイル群ではFileA’、FileC’、FileD’となり、第1データファイル群では、FileB’となり、互いに重複していない。しかしながら、共通の変更前のデータファイルに含まれる情報から変更された情報を含むデータファイルが、第1データファイル群と第2データファイル群のそれぞれに存在する場合がある。例えば、第2データファイル群のFileB’の他に、元のFileBに含まれる情報から変更された情報が格納されたFileB”が第1データファイル群に含まれることがある。その場合には、エンジニアリングデータ判定部1024は、共通の元のデータファイルから変更された情報を含む2つのデータファイル、つまり、FileB’とFileB”のいずれを選択するかを示す照会情報を、操作表示部106に表示させてもよい。そして、エンジニアリングデータ判定部1024は、操作表示部106から入力される操作信号に基づいて、いずれのデータファイル群に含まれるデータファイル、つまり、FileB’とFileB”のいずれのデータファイルを選択する。
また、エンジニアリングデータ判定部1024は、情報が変更されたデータファイルが重複する場合、第1データファイル群と第2データファイル群のいずれに含まれるデータファイルを優先して選択するかが予め設定されていてもよい。エンジニアリングデータ判定部1024は、その設定に基づいて重複するデータファイルのいずれかを選択する。
【0043】
なお、エンジニアリングデータ判定部1024は、第1データファイル群に含まれるデータファイルのうち、元の情報から変更された情報とその位置を操作表示部106に表示させてもよい(差分表示機能)。そして、エンジニアリングデータ判定部1024は、その情報を格納するデータファイルのインポートの照会を操作表示部106に表示させ、操作信号によるインポートの指示に応じて、そのデータファイルを選択してもよい(変更点選択機能)。
【0044】
(整合性の判定)
不整合の有無の判定は、主にアプリケーションモジュールの観点での判定と、入出力(I/O)の観点での判定とがある。アプリケーションモジュールの観点での判定とは、アプリケーションモジュールを構成する機能ブロック間での不整合の有無の判定を指す。
図4、5に示す例では、アプリケーションモジュールであるFileA’(App1)、FileB’(App2)、FileC’(App3)間で整合性が判定される。入出力の観点での判定には、入出力設定ファイル間の不整合の有無の判定と、アプリケーションモジュールと入出力設定ファイルとの間の不整合の有無の判定とが含まれる。
図4、5に示す例では、アプリケーションモジュールであるFileA’(App1)と、このアプリケーションモジュールに係る入出力設定ファイルであるFileD’(I/O1)との間と、入出力設定ファイルであるFileD’(I/O1)、FileF(I/O2)間で、それぞれ整合性が判定される。整合性の判定項目の例については、後述する。
【0045】
(制御装置)
次に、本実施形態に係る制御装置14の機能構成の一例について説明する。次の説明では、制御装置14が、プラント15から2チャネルの入力データが入力され、1チャネルの出力データを出力する2入力1出力制御を実現する場合を例にする。
図6は、本実施形態に係る制御装置14の機能構成の一例を示すブロック図である。
制御装置14は、フィールド機器側入出力部142と、演算処理部144と、操作監視装置側入出力部146と、を含んで構成される。
【0046】
フィールド機器側入出力部142は、フィールドネットワークNW1Fに接続され、フィールド機器との間で各種のデータを送受信する。ここで、フィールド機器側入出力部142は、センサから入力される測定値を演算処理部144に出力する。また、フィールド機器側入出力部142は、演算処理部144から出力される操作量をアクチュエータに出力する。フィールド機器側入出力部142は、入出力インタフェースを含んで構成され、1個又は複数のI/Oカードが設置されるノードと接続される。各1個のI/Oカードは、1個のユニットとして機能し、演算処理部144への入力、演算処理部144からの出力を媒介するためのI/Oカードのスロットが、エンジニアリングデータ処理部1022から提供された入出力設定ファイルに格納された入出力チャネル毎の入出力設定で指示される。
【0047】
演算処理部144は、1個又は複数の機能ブロックを含んで構成される。各1個の機能ブロックは、入力部、演算部及び出力部を備える。入力部には、入力元としてフィールド機器側入出力部142、他の機能ブロック及び操作監視装置側入出力部146のいずれか又はその組み合わせから入力情報が入力される。演算部は、入力部に入力される入力情報に対して演算処理を行い、出力情報を生成する。出力部は、演算部が生成した出力情報を、出力先としてフィールド機器側入出力部142、他の機能ブロック及び操作監視装置側入出力部146のいずれか又はその組み合わせに出力する。
【0048】
演算処理部144は、CPUなどの制御デバイスを含んで構成され、制御デバイスは、エンジニアリングデータ処理部1022から提供されたアプリケーションモジュールに記述された制御ロジックを実行し、その機能ブロックの機能を実現する。制御ロジックは、これらの機能ブロックと、フィールド機器側入出力部142と機能ブロックとの間、機能ブロックと操作監視装置側入出力部146との間、ならびに機能ブロック間の入出力経路結線から構成される。機能ブロックの種別には、制御機能ブロックと、入出力機能ブロックとがある。制御機能ブロックとは、シーケンス制御、連続制御等の制御演算を行う機能を有する機能ブロックである。制御機能ブロックの入力部は、他の機能ブロックから出力された出力情報を自ブロックの入力情報とする。制御機能ブロックの出力部は、自ブロックで生成された出力情報を、他の機能ブロックに出力する。入出力機能ブロックは、入力情報がフィールド機器側入出力部142と操作監視装置側入出力部146の一方又は両方から入力される入力部、又は出力情報をフィールド機器側入出力部142と操作監視装置側入出力部146の一方又は両方に出力する出力部、を有する機能ブロックである。
【0049】
図6に示す例では、演算処理部144は、4個の機能ブロック144A〜144Dを備える。機能ブロック144Cの入力部Cには、結線Cを介してフィールド機器側入出力部142からの入力情報が入力される。機能ブロック144Dの入力部Dには、結線Dを介してフィールド機器側入出力部142からの入力情報が入力される。機能ブロック144Bの入力部B−1には、自部への入力情報として機能ブロック144Cの出力部Cからの出力情報が結線CBを介して入力される。機能ブロック144Bの入力部B−2には、自部への入力情報として機能ブロック144Dの出力部Dからの出力情報が結線DBを介して入力される。機能ブロック144Aの入力部Aには、自部への入力情報として機能ブロック144Bの出力部からの出力情報が結線BAを介して入力される。機能ブロック144Aの出力部Aは、演算部Aが生成した出力情報を、結線A−1を介して操作監視装置側入出力部146に、結線A−2を介してフィールド機器側入出力部142に出力する。
【0050】
操作監視装置側入出力部146は、制御ネットワークNW1に接続され、操作監視装置12又はエンジニアリング装置10と各種のデータを送受信する。操作監視装置側入出力部146は、例えば、入出力インタフェースを含んで構成される。操作監視装置側入出力部146は、演算処理部144から出力される出力情報を、操作監視装置12に出力する。出力される出力情報は、例えば、機能ブロック144Bで算出される操作量又はその変化傾向を示す情報である。
【0051】
(エンジニアリングデータの編集)
エンジニアリングデータ処理部1022は、操作信号の指示によりエンジニアリングデータを編集する際、エンジニアリングデータが示す情報を操作表示部106に表示させる。エンジニアは、この表示された情報を視認してエンジニアリングデータとして設定された情報を把握することができる。
例えば、エンジニアリングデータ処理部1022は、
図6に示すように制御装置14Aに実行させようとする制御ロジックの機能ブロック、機能ブロック間の結線、機能ブロックとフィールド機器側入出力部142もしくは操作監視装置側入出力部146との間の結線をグラフィックで表示(描画)させる。以下の説明では、この表示画面をエディタ画面と呼ぶ。また、エンジニアリングデータ処理部1022は、これらの機能ブロック、結線ならびにそれぞれのパラメータその他の情報を、操作信号の指示により定める。この制御ロジックの情報は、制御ループ毎に形成される。
【0052】
しかしながら、アプリケーションモジュールに記述された制御ロジックの情報は、バイナリデータに変換されたうえで制御装置14Aに出力される。バイナリデータでは、制御ロジックの各構成要素が、0又は1の値からなるビット列で表現される。例えば、機能ブロック144Aの入力部A、機能ブロック144Bの出力部Bは、それぞれ「010101」、「100101」と表現される。そして、機能ブロック間の結線BAは、入力部Aと出力部Bとをもって定義される。そのため、各構成要素を示すバイナリデータは、その構成要素に特有の唯一の情報を示すデータでなければならない。このことは、各構成要素の名称が唯一であり、複数の構成要素間で名称が重複すること、つまり共通の名称を有することは許されない。
【0053】
また、エンジニアリングデータ処理部1022が、操作信号に基づいて入力部Aと出力部Bとを接続する結線BAを設定する際、入力部A又は出力部Bに他の機能ブロックと接続する他の結線と重複しないこと、ならびに、入力部Aと出力部Bとの間を接続する他の結線と重複しないことを要する。これは、制御ロジックで実現される機能として、記述される機能ブロックと機能ブロック間の結線をもって、これらの機能の有機的な連結関係が定義されるためである。
【0054】
また、機能ブロック144Aの入力部A、機能ブロック144Bの出力部Bとの間の結線BAが設定されず、欠落している場合には、機能ブロック144Aには入力情報が提供されないので、機能ブロック144Aはその機能を発揮しない。そのため、設定される制御ロジックで指示される制御が成立しなくなる。
さらに、演算処理部144には、本来含まれるべき機能ブロックとして、少なくともフィールド機器側入出力部142からの入力情報を入力する入出力機能ブロックと、フィールド機器側入出力部142への出力情報を出力する入出力機能ブロックとが含まれなければならない。また、入出力機能ブロックに代えて機能制御ブロックが設定されるときには機能制御ブロックは、その機能を発揮しない。そのため、適格な機能を有する機能ブロックの欠落や、不適格な機能を有する機能ブロックの設定やその機能ブロックとの結線も、設定される制御ロジックで指示される制御が成立しなくなる。
【0055】
そこで、エンジニアリングデータ判定部1024は、未変更ファイルと差分ファイルからなる更新ファイル群に属するアプリケーションモジュールについて、アプリケーションモジュールの観点の判定として次に説明する(A1)〜(A4)の判定を行う。エンジニアリングデータ判定部1024は、(A1)〜(A4)の判定結果が、いずれも「なし」である場合には、アプリケーションモジュールの観点で不整合がないと判定する。
【0056】
(A1)アプリケーションモジュールに記述された機能ブロック、入出力経路それぞれの名称に重複があるか否か。
より具体的には、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて互いに共通の名称を有する複数の機能ブロックを有するとき、機能ブロックの名称に重複があると判定し、共通の名称を有する複数の機能ブロックがないとき機能ブロックの名称に重複がないと判定する。また、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて互いに共通の名称を有する複数の入出力経路を有するとき、入出力経路の名称に重複があると判定し、共通の名称を有する複数の入出力経路がないとき入出力経路に重複がないと判定する。
【0057】
(A2)結線の配置として、入出力経路で指定される入力元の機能ブロック、出力先の機能ブロックのいずれかまたは両方に重複があるか否か。
より具体的には、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて入力元と出力元の一方又は両方に2個以上の機能ブロックを指定する入出力経路を有するとき、入出力経路で指定される入力元の機能ブロック、出力先の機能ブロックのいずれかまたは両方に重複があると判定する。また、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて入力元と出力元の一方又は両方に2個以上の機能ブロックを指定する入出力経路がないとき、入出力経路で指定される入力元の機能ブロック、出力先の機能ブロックのいずれかまたは両方に重複がないと判定する。
【0058】
(A3)機能ブロック間の入出力経路で指定される入力元又は出力先の欠落した入出力経路、つまり入出力結合先が定義されていない入出力経路があるか否か。
より具体的には、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて入力元と出力先の一方又は両方に他の機能ブロック、フィールド機器側入出力部142又は操作監視装置側入出力部146が指定されていない入出力経路があるとき、入力元又は出力先の欠落した入出力経路があると判定する。エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて入力元と出力元の一方又は両方に他の機能ブロック、フィールド機器側入出力部142又は操作監視装置側入出力部146が指定されていない入出力経路がないとき、入力元又は出力先の欠落した入出力経路がないと判定する。
【0059】
(A4)入出力経路で指定される入出力結合先の機能ブロックに、所定の結合できない種類の機能ブロックがあるか否か。
より具体的には、エンジニアリングデータ判定部1024は、フィールド機器側入出力部142又は操作監視装置側入出力部146が入力先又は出力元として指定された入出力経路について、出力元又は入力先として入出力機能ブロックが指定されているとき、その入出力機能ブロックを結合できる種類の機能ブロックとして判定する。エンジニアリングデータ判定部1024は、その入出力経路について、出力元又は入力先として制御機能ブロックが指定されているとき、その制御機能ブロックを結合できない種類の機能ブロックとして判定する。
【0060】
また、入出力設定ファイルに記述された入出力設定の情報も、バイナリデータに変換されたうえで制御装置14Aに出力され、制御装置14Aからの入出力先となるフィールド機器の指定に用いられる。フィールド機器の入出力設定が欠落している場合には、入出力先となるフィールド機器を特定することができず、ひいては制御対象のプラントが特定されない。入出力設定が欠落している場合には、例えば、入出力機能ブロックで要求されるデータの入力又は生成されるデータの出力に係る入出力設定が存在しない場合、入出力設定で指定される設置位置(例えば、スロット)に接続されているフィールド機器が存在しない場合、などがある。
その他、多重化設定により、それぞれ異なる設置位置に共通の制御ループとの間で入出力されうるI/Oカードが複数個存在する場合がある。そのような場合には、注目する制御ループの入出力設定で指定される設置位置が、他の制御ループの入出力設定で指定される設置位置と重複すること、つまり、ある制御ループの入出力設定で指定される設置位置が、他の制御ループの入出力設定で指定される設置位置と共通となるおそれがある。
【0061】
また、入出力設定で指定される設置位置に重複や欠落がない場合であっても接続されているフィールド機器の種類(例えば、センサ、アクチュエータなど)が、制御ループを構成する入出力機能ブロックがフィールド機器側入出力部142を介して入力又は出力するデータの種類(例えば、測定値を示す入力情報、操作量を示す出力量)と整合しない場合には、入出力機能ブロックで要求されるデータを取得できない、又は生成されるデータが提供されない。
【0062】
そこで、エンジニアリングデータ判定部1024は、未変更ファイルと差分ファイルからなる更新ファイル群に属する入出力データとアプリケーションモジュールについて、入出力の観点の判定として次の(B1)〜(B3)の判定を行う。
エンジニアリングデータ判定部1024は、(B1)〜(B3)の判定結果が、いずれも「なし」である場合には、入出力の観点で不整合がないと判定する。
【0063】
(B1)アプリケーションモジュールに記述された入出力機能ブロックとフィールド機器側入出力部142との入出力に対応した入出力設定に欠落があるか否か。
より具体的には、エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて、入力元又は出力先としてフィールド機器側入出力部142を指定する入出力経路に対応する入出力設定が入出力設定ファイルに複数個記述されているとき、入出力設定に重複があると判定する。エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて、入力元又は出力先としてフィールド機器側入出力部142を指定する入出力経路に対応する入出力設定が入出力設定ファイルに記述されていないとき、入出力設定に欠落があると判定する。エンジニアリングデータ判定部1024は、それらのアプリケーションモジュールにおいて、入力元又は出力先としてフィールド機器側入出力部142を指定する入出力経路に対応する入出力設定が各1個入出力設定ファイルに記述されているとき、入出力設定に重複も欠落もないと判定する。
【0064】
(B2)入出力設定ファイルに記述された入出力設定で指定される設置位置に重複があるか否か。
より具体的には、エンジニアリングデータ判定部1024は、それらの入出力設定ファイルにおいて、指定する設置位置が相互に共通する入出力設定が複数個あるとき、設置位置に重複があると判定する。エンジニアリングデータ判定部1024は、それらの入出力設定ファイルにおいて、入出力設定で指定される設置位置が個々に異なるとき、設置位置に重複がないと判定する。
【0065】
(B3)入出力設定で指定されるフィールド機器の種類と、入出力機能ブロックで入出力されるデータの種類に整合しない入出力設定があるか否か。
より具体的には、記憶部104に予め入力データ又は出力データの種類毎に、対応するフィールド機器の種類を示す入出力データテーブルを記憶させておく。例えば、入力データである測定値の種類が温度である場合には、対応するフィールド機器の種類は温度センサである。出力データである操作量の種類が回転数である場合には、対応するフィールド機器の種類はモータである。エンジニアリングデータ判定部1024は、入出力データテーブルを参照し、入出力設定ファイルに記述される入出力設定毎に指定されるフィールド機器の種類に対応するフィールド機器の種類を特定する。そして、エンジニアリングデータ判定部1024は、特定したフィールド機器の種類が、その入出力設定に対応する入出力経路を介してフィールド機器側入出力部142と入力又は出力されるデータの種類とが一致しない場合、入出力されるデータの種類が整合しないと判定する。エンジニアリングデータ判定部1024は、特定したフィールド機器の種類が、その入出力設定に対応する入力又は出力されるデータの種類に一致する場合、入出力されるデータの種類が整合すると判定する。
【0066】
アプリケーションモジュールの観点、入出力の観点、ともに不整合がないと判定するとき、エンジニアリングデータ判定部1024は、確認情報と更新ファイル群とを対応付けて記憶部104に記憶する。
なお、更新ファイルに入出力設定ファイルが含まれない場合には、エンジニアリングデータ判定部1024は、入出力の観点での判定、つまり(B1)〜(B3)の判定を行わなくてもよい。
【0067】
(エンジニアリング方法)
次に、本実施形態に係るエンジニアリング方法について説明する。
図7は、本実施形態に係るエンジニアリング方法の一例を示すフローチャートである。
(ステップS102)制御部102は、記憶部104からエンジニアリングツールのプログラムを読み出し、読み出したプログラムの実行を開始して、エンジニアリングデータ判定部1024を起動する。その後、ステップS104の処理に進む。
(ステップS104)エンジニアリングデータ判定部1024は、自装置で保持されるエンジニアリングデータを格納する第1データファイル群、エンジニアリングデータ処理部1022に入力されるエンジニアリングデータを格納する第2データファイル群のそれぞれについて、エンジニアリング履歴を参照し、変更前後の情報を特定する。エンジニアリングデータ判定部1024は、変更された情報を格納するデータファイルを差分ファイルとして特定し、情報が変更されないデータファイルを未変更ファイルとして特定する。その後、ステップS106の処理に進む。
(ステップS106)エンジニアリングデータ判定部1024は、差分ファイルと未変更ファイルとを集約し更新ファイル群を形成する。これにより、変更前の情報を格納する元のデータファイルが、変更後の情報が格納される差分ファイルに更新される。その後、ステップS108の処理に進む。
【0068】
(ステップS108)エンジニアリングデータ判定部1024は、エンジニアリング対象の制御装置のアプリケーションモジュールについて、機能ブロック、結線の名称、結線の配置に重複がないか否かを判定する。この判定は、上述の判定A1、A2に相当する。重複がないと判定する場合(ステップS108 YES)、ステップS112の処理に進む。重複があると判定する場合(ステップS108 NO)、ステップS110の処理に進む。
(ステップS110)エンジニアリングデータ判定部1024は、重複の検出を示す所定の警告メッセージを生成し、生成した警告メッセージを操作表示部106に出力し、操作表示部106に表示させる。警告メッセージには、重複が検出された部分、つまり機能ブロック、結線の名称、結線の配置の名称などの情報が含まれる。警告メッセージは、例えば、「警告:○○○に重複あり」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する機能ブロック、結線の位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。その後、ステップS112に進む。
【0069】
(ステップS112)エンジニアリングデータ判定部1024は、エンジニアリング対象の制御装置のアプリケーションモジュールについて、入出力結合先が定義されていない機能ブロックがないか否かを判定する。この判定は、上述の判定A3に相当する。入出力結合先が定義されていないと判定する場合(ステップS112 YES)、ステップS116の処理に進む。入出力結合先が定義されていない機能ブロックがあると判定する場合(ステップS112 NO)、ステップS114の処理に進む。
(ステップS114)エンジニアリングデータ判定部1024は、入出力結合先が定義されていない機能ブロックの検出を示す所定の警告メッセージを生成し、生成した警告メッセージを操作表示部106に出力し、操作表示部106に表示させる。警告メッセージには、入出力結合先が定義されていない機能ブロックの名称などの情報が含まれる。警告メッセージは、例えば、「警告:△△△に未結合あり」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する機能ブロックの位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。その後、ステップS116に進む。
【0070】
(ステップS116)エンジニアリングデータ判定部1024は、入出力結合先の結合ブロック又は入出力部がいずれも結合可能であるか否かを判定する。この判定は、上述の判定A4に相当する。いずれも結合可能であると判定する場合(ステップS116 YES)、ステップS120の処理に進む。結合できない入出力結合先があると判定する場合(ステップS116 NO)、ステップS118の処理に進む。
(ステップS118)エンジニアリングデータ判定部1024は、結合できない入出力結合先の検出を示す所定の警告メッセージを生成し、生成した警告メッセージを操作表示部106に出力し、操作表示部106に表示させる。警告メッセージには、結合できない入出力結合先の名称などの情報が含まれる。警告メッセージは、例えば、「警告:□□□に不適切結合あり」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する入出力結合先となる機能ブロック又は入出力部の位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。その後、ステップS120の処理に進む。
【0071】
(ステップS120)エンジニアリングデータ判定部1024は、判定終了メッセージを操作表示部106に出力し、操作表示部106に表示させる。判定終了メッセージは、例えば、「判定終了」の文字列を含む。その後、ステップS122の処理に進む。
(ステップS122)エンジニアリングデータ判定部1024は、不整合が検出されたか否かを判定する。不整合が検出されない場合(ステップS122 YES)、ステップS124の処理に進む。不整合が検出された場合(ステップS122 NO)、
図7の処理を終了する。
(ステップS124)エンジニアリングデータ判定部1024は、その制御装置14に係るデータファイル群について不整合が検出されないことを示す確認情報を記憶部104に記憶する。これにより、エンジニアリングデータ処理部1022は、確認情報が記憶された制御装置に係るデータファイルについてバイナリ変換を行い、得られたデータファイルをその制御装置に出力することができる。その後、
図7の処理を終了する。
【0072】
上述では、エンジニアリング装置10が
図7の処理を行う場合を例にしたが、エンジニアリング装置20が
図7の処理を実行してもよい。また、新たに生成されたエンジニアリングデータに係るデータファイルについては、ステップS106の処理が省略されてもよい。
図7の処理には、ステップS108〜S118において、アプリケーションモジュールについて判定A1〜A4を行う場合を例にしたが、差分ファイルに入出力データが含まれる場合には、判定B1〜B3の処理を行ってもよい。
【0073】
判定B1において入出力設定に欠落があると判定する場合、エンジニアリングデータ判定部1024は、その入出力設定の欠落の検出を示す所定の警告メッセージを生成し、操作表示部106に表示させてもよい。警告メッセージには、差分ファイルに含まれる情報のうち、その入出力設定に係る入出力機能ブロックの名称などの情報が含まれる。警告メッセージは、例えば、「警告:×××に入出力設定なし」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する入出力機能ブロックの位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。
【0074】
判定B2において設置位置に重複があると判定する場合、エンジニアリングデータ判定部1024は、その設置位置の重複の検出を示す所定の警告メッセージを生成し、操作表示部に表示させてもよい。警告メッセージには、差分ファイルに含まれる情報のうち、その入出力設定に係る入出力機能ブロックとその設置位置の名称などの情報が含まれる。警告メッセージは、例えば、「警告:×〇〇の入出力設定に重複あり」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する入出力機能ブロックの位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。
【0075】
判定B3においてデータの種類に整合しない入出力設定があると判定する場合、エンジニアリングデータ判定部1024は、その入出力設定の検出を示す所定の警告メッセージを生成し、操作表示部106に表示させてもよい。警告メッセージには、差分ファイルに含まれる情報のうち、その入出力データの名称などの情報が含まれる。警告メッセージは、例えば、「警告:×△△の入出力データの種類が不適切」との文字列を含む。なお、エンジニアリングデータ判定部1024は、エディタ画面に、該当する入出力機能ブロックの位置を表示させてもよい。また、エンジニアリングデータ判定部1024は、その警告メッセージを記憶部104に記憶し、警告ログの一部として累積してもよい。
なお、これらの判定、警告メッセージの表示ならびに記憶を、エンジニアリング装置20のエンジニアリング判定部が行ってもよい。
【0076】
なお、機能ブロック間の入出力経路については、オブジェクト指向プログラミングでいうクラスモジュールとインスタンスモジュールとの関係に適用することができる。クラスモジュールとは、予め定義された制御ロジックのモデルである。インスタンスモジュールとは、個別の制御ロジックの具体例である。即ち、本実施形態に係る個別のアプリケーションモジュールが示す制御ロジックは、インスタンスモジュールとして、参照先となる予め定義された定義ファイルに格納された所定のクラスモジュールと、そのクラスモジュールとの差分情報で表される。クラスモジュールとして、例えば、入出力系統数毎の典型的な制御ロジックを定義しておく。インスタンスモジュールとして、入出力系統数と制御ロジックとが共通する複数のプラント15をそれぞれ制御するための制御ロジックが用いられる。エンジニアリングデータ処理部1022は、生成されたエンジニアリングデータから制御装置に出力する実行形式のプログラムを、インスタンスモジュールを用いて構成(ビルド)する際、参照先のクラスモジュールを参照し、そのクラスモジュールと個別の差分情報とからインスタンスモジュールとして用いられる制御ロジックを特定する。
【0077】
そこで、機能ブロック間の各入出力経路の入出力結合先の一部の情報について、上述した不整合を生じないように定義ファイルに予め定義しておく。エンジニアリング装置10、20のエンジニアリングデータ処理部は、個々のプラント15の制御ロジックに応じた入出力経路の入出力結合先の情報を含む差分情報を格納した個々のアプリケーションモジュール(インスタンスモジュール)を生成する。そこで、エンジニアリングデータ判定部1024は、上述のA1〜A4の判定、B1〜B3の判定のいずれか又は両方を行う際、エンジニアリングデータ判定部1024は、差分情報が記述された個別のアプリケーションモジュールを処理対象とする。これにより、不整合の検出に係る処理が軽減される。
【0078】
(総括)
以上に説明したように、本実施形態に係るエンジニアリング装置10は、工業プラントの制御を行う制御装置14のエンジニアリングを支援するためのエンジニアリング装置である。エンジニアリング装置10は、制御装置14の構成要素である機能ブロックを示す要素情報を格納するデータファイルからなる第1データファイル群を記憶する記憶部104と、データファイルに格納される要素情報を変更するエンジニアリングデータ処理部1022とを備える。また、エンジニアリング装置10は、他のエンジニアリング装置20において変更された要素情報を格納するデータファイルからなる第2データファイル群を取得し、第1データファイル群と第2データファイル群のそれぞれから、変更された要素情報を格納するデータファイルである差分ファイルを抽出し、差分ファイルに格納された要素情報が示す機能ブロックの不整合の有無、又は機能ブロック間の入出力経路の不整合の有無のうち少なくともいずれかを判定するエンジニアリングデータ判定部1024を備える。
【0079】
この構成により、制御装置単位でエンジニアリングデータが移行され、エンジニアリングにより変更された情報を格納したデータファイルが個々に特定される。そのため、互いに異なる場所に設置された制御システム間でエンジニアリングデータの移行に係る作業が効率化する。例えば、従来は、現場制御システム1と複製制御システム2との間で制御システム全体のエンジニアリングデータを移行することがあったが、移行対象のエンジニアリングデータの容量が大きいために、電子メールによるファイル添付など通信による移行が困難であった。これに対して、本実施形態に係るエンジニアリング装置10では、エンジニアリングデータの移行がより容易かつ迅速に行われる。また、エンジニアリングの開始までの時間や、エンジニアリングを繰り返す際の所要時間を短縮することができる。
【0080】
また、従来は、複製制御システム2において修正したエンジニアリングデータを現場制御システム1に適用する際、エンジニアが現場制御システム1に反映する部分を抽出し、とりまとめるための操作を要していた。特にエンジニアリングデータが大量である場合には、操作においてヒューマンエラーが発生するリスクが高く、修正内容を正確に現場制御システム1に反映するために細心の注意を要していた。これに対して、本実施形態に係るエンジニアリング装置10は、変更された情報を格納するデータファイルが反映されるべき情報を格納したデータファイルとして特定する。そのため、現場制御システム1の制御装置14に反映するまでにヒューマンエラーが発生するリスクを低減することができる。
【0081】
また、エンジニアリングにより変更された情報が示す機能ブロックと入出力経路の不整合が特定される。機能ブロックの不整合として、機能ブロックの名称の重複又は入出力経路で指定される入出力結合先である機能ブロックの種別の不適格が判定され、機能ブロック間の入出力経路の不整合として、入出力経路で指定される入出力結合先である機能ブロックの重複又は欠落のうち少なくともいずれかを含む状態が判定される。そのため、制御システムが大規模化かつ複雑化しても不整合が判別できないためにエンジニアリングのやり直しを行う必要性が低くなるので、エンジニアリングに係る作業を効率化することができる。
【0082】
また、エンジニアリングデータ判定部1024は、機能ブロックと入出力経路の不整合がないと判定するとき、エンジニアリングデータ処理部1022は、差分ファイルと変更されていない要素情報を格納するデータファイルとを統合し、制御装置14に出力する。つまり、修正内容が現場制御システム1の制御装置14に反映される前に機能ブロックと入出力経路の整合性が確認されるので、制御装置14によるプラント15の制御をより確実に行うことができる。
【0083】
以上、図面を参照してこの発明の実施形態について説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。