(57)【要約】【課題】エンジニアリングツールを用いた制御プログラムのエンジニアリングの効率を向上させる、エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体を提供する。【解決手段】エンジニアリングツール連携装置は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１ツールＩ／Ｆと、取得された第１データを第２データに変換するデータ変換部と、変換された第２データを制御プログラムに提供するプログラム提供部と、エンジニアリングツールからのテスト要求を取得する第２ツールＩ／Ｆと、取得されたテスト要求に基づき、第２データを使用した制御プログラムにおいて動作テストを実行させるテスト管理部とを備える。【選択図】図３
2018073055.tif 000002
【特許請求の範囲】
【請求項１】
プラントの運転を制御する制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１ツールＩ／Ｆと、
取得された前記第１データを第２データに変換するデータ変換部と、
変換された前記第２データを前記制御プログラムに提供するプログラム提供部と、
前記エンジニアリングツールからのテスト要求を取得する第２ツールＩ／Ｆと、
取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理部と
を備える、エンジニアリングツール連携装置。
【請求項２】
前記エンジニアリングツールに対応して前記第１ツールＩ／Ｆを差し替えて動作可能にする第１ツールプラットフォームと、
前記エンジニアリングツールに対応して前記第２ツールＩ／Ｆを差し替えて動作可能にする第２ツールプラットフォームと
をさらに備える、請求項１に記載のエンジニアリングツール連携装置。
【請求項３】
前記データ変換部は、前記第１データのデータ形式を前記制御プログラムで使用可能なデータ形式に変換することにより前記第２データに変換する、請求項１又は２に記載のエンジニアリングツール連携装置。
【請求項４】
前記テスト管理部は、前記第２ツールＩ／Ｆが取得した前記テスト要求を、前記制御装置で実行可能なテスト要求に変換する、請求項１から３のいずれか一項に記載のエンジニアリングツール連携装置。
【請求項５】
前記テスト管理部は、前記動作テストの結果を前記制御プログラムから取得して前記エンジニアリングツールに送信する、請求項１から４のいずれか一項に記載のエンジニアリングツール連携装置。
【請求項６】
前記制御プログラムをエンジニアリングするエンジニアリング機能部と、
前記エンジニアリング機能部でエンジニアリングされた前記制御プログラムの動作テストを管理する制御機能部と
をさらに備える、請求項１から４のいずれか一項に記載のエンジニアリングツール連携装置。
【請求項７】
前記制御機能部は、前記テスト管理部が実行する前記動作テストと、前記エンジニアリング機能部が実行する前記動作テストとを、排他的に実行可能とする、請求項６に記載のエンジニアリングツール連携装置。
【請求項８】
プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得ステップと、
取得された前記第１データを第２データに変換するデータ変換ステップと、
変換された前記第２データを前記制御プログラムに提供するプログラム提供ステップと、
前記エンジニアリングツールからのテスト要求を取得するテスト要求取得ステップと、
取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理ステップと
を含む、エンジニアリングツール連携方法。
【請求項９】
プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得処理と、
取得された前記第１データを第２データに変換するデータ変換処理と、
変換された前記第２データを前記制御プログラムに提供するプログラム提供処理と、
前記エンジニアリングツールからのテスト要求を取得するテスト要求取得処理と、
取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理処理と
をコンピュータに実行させる、エンジニアリングツール連携プログラム。
【請求項１０】
プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得処理と、
取得された前記第１データを第２データに変換するデータ変換処理と、
変換された前記第２データを前記制御プログラムに提供するプログラム提供処理と、
前記エンジニアリングツールからのテスト要求を取得するテスト要求取得処理と、
取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理処理と
をコンピュータに実行させるためのエンジニアリングツール連携プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体に関する。
【背景技術】
【０００２】
従来から、化学等の工業プラント、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等のプラントや工場等（以下、これらを総称する場合には「プラント」という）においては、フィールド機器と呼ばれる測定器又は操作器等の現場機器と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム（ＤＣＳ：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）に代表される生産制御システムが構築されて、高度な自動操業が実現されている。
【０００３】
上記のような高度な自動操業を実現するために構築されるプラントのシステム等においては、プラントの運転を制御する制御装置で実行される制御プログラムの作成、修正、削除、変更履歴の管理、または動作テスト等のエンジニアリングを行うエンジニアリングツールが用いられる（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６４４８９８２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、制御装置の種類等によって制御プログラムで使用されるロジックの定義方法やデータ形式が異なるため、制御装置の種類に応じたエンジニアリングツールを個別に用意しなければならない場合があり、制御プログラムのエンジニアリングの効率が低下する場合があった。
【０００６】
本発明は上記事情に鑑みてなされたものであり、エンジニアリングツールを用いた制御プログラムのエンジニアリングの効率を向上させる、エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）上記の課題を解決するため、本発明のエンジニアリングツール連携装置は、プラントの運転を制御する制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１ツールＩ／Ｆと、取得された前記第１データを第２データに変換するデータ変換部と、変換された前記第２データを前記制御プログラムに提供するプログラム提供部と、前記エンジニアリングツールからのテスト要求を取得する第２ツールＩ／Ｆと、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理部とを備える。
【０００８】
（２）また、本発明のエンジニアリングツール連携装置において、前記エンジニアリングツールに対応して前記第１ツールＩ／Ｆを差し替えて動作可能にする第１ツールプラットフォームと、前記エンジニアリングツールに対応して前記第２ツールＩ／Ｆを差し替えて動作可能にする第２ツールプラットフォームとをさらに備える。
【０００９】
（３）また、本発明のエンジニアリングツール連携装置において、前記データ変換部は、前記第１データのデータ形式を前記制御プログラムで使用可能なデータ形式に変換することにより前記第２データに変換する。
【００１０】
（４）また、本発明のエンジニアリングツール連携装置において、前記テスト管理部は、前記第２ツールＩ／Ｆが取得した前記テスト要求を、前記制御装置で実行可能なテスト要求に変換する。
【００１１】
（５）また、本発明のエンジニアリングツール連携装置において、前記テスト管理部は、前記動作テストの結果を前記制御プログラムから取得して前記エンジニアリングツールに送信する。
【００１２】
（６）また、本発明のエンジニアリングツール連携装置において、前記制御プログラムをエンジニアリングするエンジニアリング機能部と、前記エンジニアリング機能部でエンジニアリングされた前記制御プログラムの動作テストを管理する制御機能部とをさらに備える。
【００１３】
（７）また、本発明のエンジニアリングツール連携装置において、前記制御機能部は、前記テスト管理部が実行する前記動作テストと、前記エンジニアリング機能部が実行する前記動作テストとを、排他的に実行可能とする。
【００１４】
（８）上記の課題を解決するため、本発明のエンジニアリングツール連携方法は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得ステップと、取得された前記第１データを第２データに変換するデータ変換ステップと、変換された前記第２データを前記制御プログラムに提供するプログラム提供ステップと、前記エンジニアリングツールからのテスト要求を取得するテスト要求取得ステップと、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理ステップとを含む。
【００１５】
（９）上記の課題を解決するため、本発明のエンジニアリングツール連携プログラムは、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得処理と、取得された前記第１データを第２データに変換するデータ変換処理と、変換された前記第２データを前記制御プログラムに提供するプログラム提供処理と、前記エンジニアリングツールからのテスト要求を取得するテスト要求取得処理と、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理処理とをコンピュータに実行させる。
【００１６】
（１０）上記の課題を解決するため、本発明の記録媒体は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得処理と、取得された前記第１データを第２データに変換するデータ変換処理と、変換された前記第２データを前記制御プログラムに提供するプログラム提供処理と、前記エンジニアリングツールからのテスト要求を取得するテスト要求取得処理と、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理処理とをコンピュータに実行させるためのエンジニアリングツール連携プログラムを記録している。
【発明の効果】
【００１７】
本発明によれば、エンジニアリングツールを用いた制御プログラムのエンジニアリングの効率を向上させる、エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態のエンジニアリングツール連携装置を用いたプラントの構成例を示す図である。
【図２】実施形態のエンジニアリングツール連携装置のハードウェア構成の一例を示すブロック図である。
【図３】実施形態のエンジニアリングツール連携装置のソフトウェア構成の一例を示すブロック図である。
【図４】第１の実施形態のエンジニアリングツール連携装置の連携機能の一例を示す図である。
【図５】実施形態のエンジニアリングツール連携装置の動作の一例を示すシーケンス図である。
【図６】第２の実施形態のエンジニアリングツール連携装置の連携機能の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の一実施形態におけるエンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体について詳細に説明する。
【００２０】
先ず、図１を用いて、エンジニアリングツール連携装置を用いたプラントの概要を説明する。図１は、実施形態のエンジニアリングツール連携装置を用いたプラントの構成例を示す図である。図１において、プラント１００は、エンジニアリングツール連携装置１、エンジニアリングツール２（２Ａ〜２Ｃ）、プラント制御装置３（３Ａ〜３Ｃ）、基幹業務システム４、製造実行システム５、ＨＩＳ（Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｓｔａｔｉｏｎ：操作監視ステーション）６を有する。
【００２１】
エンジニアリングツール連携装置１、プラント制御装置３（３Ａ〜３Ｃ）、製造実行システム５及びＨＩＳ６は、第１通信路９１で接続されている。第１通信路９１は、例えば、制御用ネットワークであり、一般的な通信機能を取り込み高信頼、リアルタイム、かつ安定な通信を可能とするプロセス制御システムに適するネットワークから構成される。当該制御用ネットワークの例には、汎用目的の通信にＩＰインターネット・プロトコルを使用しＩＥＣ  ６１７８４−２で定義されたリアルタイムＥｔｈｅｒｎｅｔ（登録商標）（ＲＴＥ）通信プロファイルのＣＰＦ−１０に従うＶｎｅｔ／ＩＰ（登録商標）がある。第１通信路９１は、有線通信を行うものであっても無線通信を行うものであってもよい。
【００２２】
また、エンジニアリングツール連携装置１、エンジニアリングツール２（２Ａ〜２Ｃ）、基幹業務システム４、製造実行システム５及びＨＩＳ６は、第２通信路９２で接続されている。第２通信路９２は、例えば、汎用の通信規格に対応したネットワーク通信制御を行うものであってもよい。
【００２３】
なお、図１で示した第１通信路９１及び第２通信路９２を用いたエンジニアリングツール連携装置１等の各装置同士の接続は、接続方法の一例を示すものであって、例えば、同一の通信路に全ての装置同士が接続されてもよく、また、通信路をさらに分割して装置同士を接続するものであってもよい。
【００２４】
プラント制御装置３（３Ａ〜３Ｃ）は、図示しないプラントを制御する、ＤＣＳの制御コントローラであるフィールド制御ステーション等やコントローラ、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）コンピュータ、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等の制御装置である。プラント制御装置３は、プラントを制御する制御プログラムを実行する。また、このプラント制御装置３はプラント運転の安全を確保するためのＳＩＳの安全制御コントローラであっても良い。
【００２５】
図１においてプラント制御装置３は、プラントに設置されたセンサ等の入力機器とバルブ等の出力機器が接続されていることを示している。センサはプラントの運転状態を示す温度、湿度、圧力、ｐＨ等の物理量を測定値としてプラント制御装置３に入力する。バルブは、プラント制御装置３から出力される出力データに応じてプラントにおける液体や気体の流量をコントロールする。プラント制御装置３で実行される制御プログラムは、センサ等の入力機器から取得した入力データを処理し、バルブ等の出力機器を制御する。なお、図１において、入力機器としてセンサを、出力機器としてバルブを例示したが、入力機器及び出力機器はこれに限定されるものではない。例えば、入力機器はスイッチ等の操作機器であってもよい、また、出力機器はモータ等のアクチュエータであってもよい。本実施形態においてこれらの入力機器や出力機器を「フィールド機器」という場合がある。
【００２６】
図１においてプラント１００は、プラント制御装置３Ａ、プラント制御装置３Ｂ、及びプラント制御装置３Ｃの３台のプラント制御装置３を有している場合を示している。プラント制御装置３Ａ〜プラント制御装置３Ｃは、それぞれ個別に実装された制御ロジックを有する制御プログラムを実行するものとする。ここで、制御ロジックとは、事象（イベント）の発生に合わせて、プラントの運転制御または安全制御のための制御動作を行う論理制御やＰＩＤ制御等を行うためのプログラムやソフトウェア、ソフトウェアアプリケーションの表現を意味する。制御ロジックには、例えば、ラダー ダイアグラム（ＬＤ）、ファンクション ブロック ダイアグラム（ＦＢＤ）、またはシーケンシャル ファンクション チャート（ＳＦＣ）等のグラフィック言語、並びに、インストラクション リスト（ＩＬ）、またはストラクチャード テキスト（ＳＴ）等のテキスト言語等のプログラム言語におけるプログラムの表現を含む。また、これらのプログラムの表現には、それぞれのプログラムで使用されるＸＭＬ等のデータ形式を含んでもよい。
【００２７】
エンジニアリングツール２は、エンジニアリングツール連携装置１を介して、プラント制御装置３Ａ〜プラント制御装置３Ｃで動作する制御プログラムをエンジニアリングする機能を有する。制御プログラムのエンジニアリングとは、制御プログラムの一部又は全部を、設計し、作成し、構築し、修正し、削除し、またはインストール（ダウンロード）し、若しくは、制御プログラムで使用されるパラメータを設定し、制御プログラムの変更履歴を管理し、または制御プログラムの動作テスト（接続テスト）等をするエンジニアリングツールの動作である。制御プログラムのエンジニアリングには上記の動作を実施するための作業を含んでいてもよい。
【００２８】
エンジニアリングツール２は、例えば、センサの測定データの入力を模擬的に行い、制御プログラムのデバッグを行う。また、エンジニアリングツール２は、制御プログラムの実行に同期してセンサの測定データ等を収集して、収集した測定データを分析してグラフ等によって表示出力してもよい。エンジニアリングツール２は、表示出力される測定データを、例えば４〜２０ｍＡ等のセンサから出力される工業量から０〜１００％等の正規化された数値に変換してもよい。また、エンジニアリングツール２は、プラント制御装置３の入出力（Ｉ／Ｏ）モジュールをループチェックして動作確認するものであってもよい。また、エンジニアリングツール２は、プラント１００の機器構成の変更に合せて制御プログラムの変更を行うものであってもよい。また、エンジニアリングツール２は、プラント１００の制御情報を所定のフォーマットにレイアウトした文書を作成するものであってもよい。
【００２９】
図１のプラント１００は、エンジニアリングツール２Ａ、エンジニアリングツール２Ｂ及びエンジニアリングツール２Ｃの３台のエンジニアリングツール２を有している場合を示している。エンジニアリングツール２Ａ〜エンジニアリングツール２Ｃは、それぞれ異なるデータ形式、及び制御ロジックにおいて制御プログラムをエンジニアリングするものとする。
【００３０】
なお、本実施形態においてエンジニアリングツール２は、制御プログラムをエンジニアリングする機能を有するプログラム（ソフトウェア）、又は当該プログラムを実行する装置のいずれであってもよい。従って、エンジニアリングツール２Ａ〜エンジニアリングツール２Ｃは、制御プログラムをエンジニアリングする機能を有する限り、例えば、１つの装置においてそれぞれ実行されるプログラムによって実現されてもよい。また、エンジニアリングツール２Ａ〜エンジニアリングツール２Ｃのそれぞれは、複数の装置によって構成されるシステムにおいて実現されてもよい。
【００３１】
エンジニアリングツール連携装置１は、エンジニアリングツール２Ａ〜２Ｃのデータ形式や制御ロジックの違いを吸収して、エンジニアリングツール２Ａ〜２Ｃとプラント制御装置３を連携させることにより、エンジニアリングツール２Ａ〜２Ｃによるプラント制御装置３の制御プログラムのエンジニアリングを可能にする。エンジニアリングツール連携装置１の詳細は後述する。なお、本実施形態におけるエンジニアリングツール連携装置１は、エンジニアリングツール２を使用しない場合においてもプラント制御装置３の制御プログラムのエンジニアリングをする機能を有するエンジニアリングツールである場合を例示する。
【００３２】
基幹業務システム４は、例えば、会計処理、生産管理、販売管理、物流等の経営資源を管理するためのプロセス製造業向けＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ：経営資源統合）システムである。基幹業務システム４は、例えば、プラントの運転状態の情報を経営資源の管理情報として利用する。基幹業務システム４は、例えば、サーバ装置、デスクトップ型ＰＣ等の汎用コンピュータである。
【００３３】
製造実行システム５は、例えば、基幹業務システム４とプラント制御装置３との間に位置するＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）である。製造実行システム５は、プラント制御装置３が取得したプラントの運転状態や作業者の作業状況等を監視し、又は管理する。製造実行システム５は、プラントのエンジニアリングや修理の業務情報を管理するエンジニアリング管理システム等を含んでいてもよい。エンジニアリング管理システムは、エンジニアリングツールによってエンジニアリングされた制御プログラムの履歴管理を管理してもよい。製造実行システム５は、例えば、サーバ装置、デスクトップ型ＰＣ等の汎用コンピュータである。
【００３４】
ＨＩＳ６は、オペレータがプラント１００の運転を操作し、プラント１００の運転状態を監視するための装置である。ＨＩＳ６は、プラント１００の運転を操作するためのスイッチ、キーボード又はマウス等の入力機器を有する。また、ＨＩＳ６は、プラント１００の運転状態を表示するための、ディスプレイ、ランプ等の表示機器を有する。ＨＩＳ６は、１又は複数のディスプレイに複数のウインドを表示してプラント１００の運転状態を表示するものであってもよい。ＨＩＳ６は、プラント１００の運転状態が予め設定された状態になったときに所定のメッセージを表示したりアラーム音を出力したりするものであってもよい。なお、ＨＩＳ６は、製造実行システム５の機能として実施されるものであってもよい。
【００３５】
次に、図２を用いて、エンジニアリングツール連携装置１のハードウェア構成を説明する。図２は、実施形態のエンジニアリングツール連携装置１のハードウェア構成の一例を示すブロック図である。
【００３６】
図２において、エンジニアリングツール連携装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４、表示装置１５、入力装置１６、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１７、通信Ｉ／Ｆ１８及びこれらを接続するバス１９を有する。エンジニアリングツール連携装置１は、例えば、サーバ装置、デスクトップ型ＰＣ等の汎用コンピュータ、ＦＡコンピュータ、ＰＬＣ等の装置、ノート型又はタブレット型のコンピュータ等で実現することができる。
【００３７】
ＣＰＵ１１は、ＲＡＭ１２、ＲＯＭ１３又はＨＤＤ１４に記憶されたエンジニアリングツール連携プログラムを実行することにより、エンジニアリングツール連携装置１の制御を行う。エンジニアリングツール連携プログラムは、例えば、エンジニアリングツール連携プログラムを記録した記録媒体、又はネットワークを介したエンジニアリングツール連携プログラムを提供するサーバ等から取得されて、ＨＤＤ１４にインストールされ、ＣＰＵ１１から読出し可能にＲＡＭ１２に記憶される。
【００３８】
表示装置１５は、表示機能を有する例えば液晶ディスプレイである。表示装置１５は、ヘッドマウント型ディスプレイ、メガネ型ディスプレイ、腕時計型ディスプレイ等の種々の形態によって実現されてもよい。入力装置１６は、入力機能を有する例えばキーボード又はマウス等である。入力装置１６は、音声情報を入力するマイク、画像情報を入力するカメラ等であってもよい。なお、表示装置１５と入力装置１６は、タッチパネル等、表示機能と入力機能を有する装置によって実現されてもよい。
【００３９】
通信Ｉ／Ｆ１７は、有線通信又は無線通信を介して、図１で示した第１通信路９１を介した通信を行う。通信Ｉ／Ｆ１８は、有線通信又は無線通信を介して、図１で示した第２通信路９２を介した通信を行う。第１通信路９１及び第２通信路９２の通信規格は任意である。通信Ｉ／Ｆ１７は、例えば、汎用目的の通信にＩＰインターネット・プロトコルを使用しＩＥＣ  ６１７８４−２で定義されたリアルタイムＥｔｈｅｒｎｅｔ（ＲＴＥ）通信プロファイルのＣＰＦ−１０に従うＶｎｅｔ／ＩＰ（登録商標）などの通信規格に対応した通信制御を行う。またＩＳＡ１００、ＨＡＲＴ、ＢＲＡＩＮ、ＦＯＵＮＤＡＴＩＯＮ  Ｆｉｅｌｄｂｕｓ、ＰＲＯＦＩＢＵＳ等の工業計器専用の通信規格に対応した通信制御を行うものでもよい。また、通信Ｉ／Ｆ１７は、無線ＬＡＮ通信、有線ＬＡＮ通信、赤外線通信、近距離無線通信等の汎用通信規格に対応した通信制御を行うものであってもよい。
【００４０】
次に、図３を用いて、エンジニアリングツール連携装置１のソフトウェア構成を説明する。図３は、実施形態におけるエンジニアリングツール連携装置１のソフトウェア構成の一例を示すブロック図である。
【００４１】
図３において、エンジニアリングツール連携装置１は、連携機能部１０、操作監視部１０６、エンジニアリング機能部１０７、制御機能部１０８、通信制御部１０９の各機能を有する。連携機能部１０は、第１ツールＩ／Ｆ１０１、ジェネレーションマネージャ１０２、システムＤＢ（Ｄａｔａｂａｓｅ）１０３、第２ツールＩ／Ｆ１０４、テストマネージャ１０５の各機能を有する。ジェネレーションマネージャ１０２は、データ変換部１０２１の機能を有する。エンジニアリングツール連携装置１の上記各機能は、エンジニアリングツール連携装置１を制御するエンジニアリングツール連携プログラム（ソフトウェア）によって実現される機能モジュールである。エンジニアリングツール連携プログラムは、プログラムを提供するサーバから提供され、又は記録媒体から提供されてもよい。
【００４２】
連携機能部１０は、図１で説明したエンジニアリングツール２とプラント制御装置３を連携させて、エンジニアリングツール２からプラント制御装置３の制御プログラムのエンジニアリングを可能にする。
【００４３】
第１ツールＩ／Ｆ１０１は、プラントを制御するプラント制御装置３で実行される制御プログラムをエンジニアリングするエンジニアリングツール２で使用する第１データを取得する。第１データは、エンジニアリングツール２における制御ロジックで使用するデータ形式を有するエンジニアリングデータである。エンジニアリングデータには、例えば、制御プログラムで使用されるＩ／Ｏデータのデータ形式が含まれる。エンジニアリングデータのデータ形式は、エンジニアリングツールにおいてそれぞれ定義することができるものであってよい。このため、エンジニアリングツール２で定義されるエンジニアリングデータのデータ形式は、プラント制御装置３で定義されるエンジニアリングデータのデータ形式に整合させる必要がある。第１ツールＩ／Ｆ１０１は、エンジニアリングツール２から第１データを取得することにより、エンジニアリングツール２で定義されたデータ形式を取得する。
なお、第１ツールＩ／Ｆ１０１がエンジニアリングツール２から取得する第１データは、ＦＢＤかＳｔｒｕｃｔｕｒｅｄ  Ｔｅｘｔの形式に変換されＰＬＣＯｐｅｎ（登録商標）のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）スキーマに準拠した形式のデータであってもよい。
【００４４】
第１ツールＩ／Ｆ１０１は、例えば、エンジニアリングツール２に対してプラント制御装置３のＩ／Ｏモジュールの情報やＩ／Ｏモジュールで使用できるデータ形式の情報を送信する。エンジニアリングツール２において、第１ツールＩ／Ｆ１０１から送信されたこれらＩ／Ｏの情報をインポートすることにより、例えばＣ＆Ｅ（Ｃａｕｓｅ＆Ｅｆｆｅｃｔ）Ｍａｔｒｉｘ等のアプリケーションデータを作成することが可能となる。第１ツールＩ／Ｆ１０１は、第１データとしてエンジニアリングツール２において作成されたアプリケーションデータを取得する。第１ツールＩ／Ｆ１０１は、取得した第１データをジェネレーションマネージャ１０２に送信する。
【００４５】
ジェネレーションマネージャ１０２は、第１ツールＩ／Ｆ１０１から第１データを取得する。ジェネレーションマネージャ１０２のデータ変換部１０２１は、取得された第１データを第２データに変換する。第２データとは、プラント制御装置３で実行される制御プログラムで使用可能なデータ形式を有するデータである。データ変換部１０２１は、第１データを第２データに変換することによりデータ形式の整合を取ることが可能となる。ジェネレーションマネージャ１０２は、変換された第２データをシステムＤＢ１０３に保存する。
【００４６】
システムＤＢ１０３は、変換された第２データを制御プログラムに提供する。制御プログラムへの第２データの提供は、例えば、システムＤＢ１０３に保存された第２データをプラント制御装置３に対してダウンロードすることにより行うことができる。
【００４７】
なお、システムＤＢ１０３は、例えば、エンジニアリングツール連携装置１の外部のデータサーバに設けられてもよい。第２データをシステムＤＢ１０３に保存することにより、第１データから第２データへの変換処理とプラント制御装置３に対する第２データの送信処理とを非同期にすることが可能となる。したがって、例えばプラント制御装置３がプラントを制御している間に第２データをシステムＤＢ１０３に保存しておき、プラント制御装置３によるプラントの制御が休止したとき（たとえば、フィールド機器とオフラインになったとき）に第２データを送信するようにしてもよい。
【００４８】
ジェネレーションマネージャ１０２は、第２データを制御プログラムに反映させて制御プログラムを動作可能にする。例えば、ジェネレーションマネージャ１０２は、第２データを制御プログラムのソースコードに埋め込み、ソースコードをコンパイルすることにより制御プログラムの実行ファイルを生成（ビルド）する。ジェネレーションマネージャ１０２は、複数のファイルをコンパイルして実行ファイルを生成してもよい。ジェネレーションマネージャ１０２は、ビルドした実行ファイルをシステムＤＢ１０３に保存する。プラント制御装置３は、システムＤＢ１０３に保存された実行ファイルをダウンロードすることにより、制御プログラムを実行することが可能となる。
【００４９】
第２ツールＩ／Ｆ１０４は、エンジニアリングツール２からのテスト要求（または、テスト要求を含む信号）を取得する。エンジニアリングツール２は、制御ロジックによって制御プログラムの動作をテストする動作テストを実行することができる。動作テストで使用される命令の種類や形式はエンジニアリングツール２及び制御プログラムによって異なる場合がある。第２ツールＩ／Ｆ１０４は、エンジニアリングツール２から取得したテスト要求を制御プログラムで使用可能な命令に変換する。第２ツールＩ／Ｆ１０４は、エンジニアリングツール２に対して制御プログラムで使用可能な命令の情報を提供するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）であってもよい。第２ツールＩ／Ｆ１０４は、変換したテスト要求をテストマネージャ１０５に送信する。
【００５０】
テストマネージャ１０５は、取得したテスト要求に基づき、制御プログラムに対して第２データを使用した動作テストを実行させる。このとき、エンジニアリングツール２における動作テストの制御ロジックで使用される命令の種類や形式と、制御プログラムにおける制御ロジックで使用される命令の種類や形式は異なるので、テストマネージャ１０５は、エンジニアリングツール２における動作テストの制御ロジックを制御プログラムにおける制御ロジックに変換することにより動作テストを実行させる。テストマネージャ１０５は、動作テストの結果を制御プログラムから取得して、第２ツールＩ／Ｆ１０４を介してエンジニアリングツール２に送信する。これにより、エンジニアリングツール２は、制御プログラムにおける制御ロジックを意識することなく、動作テストを実行することができる。
【００５１】
操作監視部１０６は、オペレータの操作を監視する。操作監視部１０６は、例えば、図１のＨＩＳ６におけるオペレータの操作を記録して、プラント１００に異常が発生した場合、操作の記録を収集する。なお、操作監視部１０６の機能はＨＩＳ６において実現するようにしてもよい。
【００５２】
エンジニアリング機能部１０７は、制御プログラムをエンジニアリングする。エンジニアリング機能部１０７において実行される制御プログラムのエンジニアリングは、エンジニアリングツール２と同様である。すなわち、図３におけるエンジニアリングツール連携装置１は、自身がエンジニアリングツールの機能を有するとともに、他のエンジニアリングツール２を連携させることができる場合を示している。エンジニアリングツールは、制御プログラムのエンジニアリングをする作業者がエンジニアリングをする他のプラントの制御プログラムと共通するツールを使用することによって、エンジニアリングの作業性を向上させることができる。一方、プラントを制御するプラント制御装置、安全制御装置、またはこれらの制御用のコントローラは、プラント全体または一部のエリアによって異なる場合がある。エンジニアリングツール連携装置１は、プラント制御装置３において実行される制御プログラムをエンジニアリングできるとともに、他のエンジニアリングツールであるエンジニアリングツール２に対して制御プログラムのエンジニアリングを可能な環境を提供することにより、エンジニアリングツール２を用いた制御プログラムのエンジニアリングの作業効率を向上させることが可能となる。
【００５３】
制御機能部１０８は、エンジニアリング機能部１０７においてエンジニアリングされた制御プログラムの動作テストを管理する。制御機能部１０８は、エンジニアリング機能部１０７から動作テストの命令を受けて、動作テストを実行し、テスト結果をエンジニアリング機能部１０７に出力するようにしてもよい。エンジニアリングツール連携装置１は、エンジニアリング機能部１０７における制御プログラムのエンジニアリングとエンジニアリングツール２における制御プログラムのエンジニアリングを可能にするため、両方のエンジニアリングに係る一連の動作がお互い干渉しないようにしてもよい。例えば、制御機能部１０８は、エンジニアリング機能部１０７が実行するエンジニアリングに係る一連の動作とエンジニアリングツール２が実行するエンジニアリングに係る一連の動作が排他的に実行されるようにしてもよい。例えば、エンジニアリング機能部１０７による動作テストとエンジニアリングツール２による動作テストが同一のテスト対象に対するものであった場合、動作テストを排他的に実施することによりテスト対象の同時更新を防止して、動作テストの安全性とテスト結果の信頼性を向上させることができる。また、エンジニアリング機能部１０７がプラント制御装置３と通信してエンジニアリングに係る一連の動作をしている場合には、エンジニアリングツール２に対して仮想的なプラント制御装置３の制御ロジックを提供することにより、プラント制御装置３に対するエンジニアリングに係る一連の動作が干渉しないようにしてもよい。なお、制御機能部１０８はエンジニアリング機能部１０７の一機能としてもよい。
【００５４】
通信制御部１０９は、図２の通信Ｉ／Ｆ１７及び通信Ｉ／Ｆ１８の動作を制御する。通信制御部１０９は、例えば通信Ｉ／Ｆ１７及び通信Ｉ／Ｆ１８で使用される通信プロトコルに応じた制御プログラムを有して、図１の第１通信路９１及び第２通信路９２を介した通信を制御する。
【００５５】
なお、図３におけるエンジニアリングツール連携装置１の、連携機能部１０、第１ツールＩ／Ｆ１０１、ジェネレーションマネージャ１０２、データ変換部１０２１、システムＤＢ１０３、第２ツールＩ／Ｆ１０４、テストマネージャ１０５、操作監視部１０６、エンジニアリング機能部１０７、制御機能部１０８、通信制御部１０９の各機能は、ソフトウェアによって実現される場合を説明した。しかし、上記各機能の中の１つ以上の機能は、ハードウェアによって実現されるものであっても良い。また、上記各機能は、１つの機能を複数の機能に分割して実施してもよい。また、上記各機能は、２つ以上の機能を１つの機能に集約して実施してもよい。例えば、第１データを第２データに変換するデータ変換部１０２１の機能と、エンジニアリングツールからのテスト要求を取得する第２ツールＩ／Ｆ１０４の機能と、エンジニアリングツールからのテスト要求を取得するテストマネージャ１０５の機能とを１つの機能部として実施してもよい。
【００５６】
＜第１の実施形態＞
次に、図４を用いて、第１の実施形態におけるエンジニアリングツール連携装置１の連携機能を説明する。図４は、第１の実施形態のエンジニアリングツール連携装置１の連携機能の一例を示す図である。図４に示す各機能は、図３で説明したエンジニアリングツール連携装置１の機能を抜粋したものである。
【００５７】
図４において、エンジニアリングツール連携装置１は、第１ツールＩ／Ｆ１０１、ジェネレーションマネージャ１０２、データ変換部１０２１、システムＤＢ１０３、第２ツールＩ／Ｆ１０４、テストマネージャ１０５を有している。
【００５８】
第１ツールＩ／Ｆ１０１は、エンジニアリングツール２に対応したＩ／Ｆを有し、エンジニアリングツール２から第１データを取得する。ジェネレーションマネージャ１０２のデータ変換部１０２１は、第１ツールＩ／Ｆ１０１において取得された第１データを第２データに変換して、変換した第２データをシステムＤＢ１０３に保存する。システムＤＢ１０３は保存された第２データをプラント制御装置３に提供する。以上の動作によって、エンジニアリングツール連携装置１は、エンジニアリングツール２に対して、プラント制御装置３で実行される制御プログラムで使用されるデータ形式を意識させることなく、エンジニアリングツール連携装置１に対して第１データを送信して、プラント制御装置３の制御プログラムをエンジニアリングすることを可能にする。
【００５９】
第２ツールＩ／Ｆ１０４は、エンジニアリングツール２からテスト要求を取得する。このとき、エンジニアリングツール２におけるテスト要求で使用される命令の種類や形式と、プラント制御装置３に対して送信するテスト要求で使用される命令の種類や形式は異なるので、第２ツールＩ／Ｆ１０４は、エンジニアリングツール２から取得したテスト要求をプラント制御装置３に対して送信するテスト要求に変換することにより、両者の違いを吸収することができる。テストマネージャは、プラント制御装置３に対してテスト要求を送信して、プラント制御装置３からの応答を取得する。第２ツールＩ／Ｆ１０４は、テストマネージャにおいて取得された応答をエンジニアリングツール２に応じた形式に変換してエンジニアリングツール２に送信する。以上の動作によって、エンジニアリングツール連携装置１は、エンジニアリングツール２に対して、プラント制御装置３で実行されるテスト要求のデータ形式を意識させることなく、プラント制御装置３の制御プログラムの動作テストの実行を可能にする。
【００６０】
次に、図５を用いて、エンジニアリングツール連携装置１の動作を説明する。図５は、実施形態のエンジニアリングツール連携装置１の動作の一例を示すシーケンス図である。
【００６１】
図５において、エンジニアリングツール連携装置１は、エンジニアリングツール２に対してプラント制御装置３のＩ／Ｏデータ及びＩ／Ｏモジュールのデータ、並びにエンジニアリングツール連携装置１の第２ツールＩ／Ｆ１０４のＡＰＩのデータを送信する（ステップＳ１１）。プラント制御装置３のＩ／Ｏデータ及びＩ／Ｏモジュールのデータは、プラント制御装置３の入力部及び出力部に接続されたフィールド機器の入出力に関する情報である。
【００６２】
プラント制御装置３は、Ｉ／Ｏモジュールの種類として、例えば、アナログ入力が可能な入力モジュール、デジタル入力が可能な入力モジュール、アナログ出力が可能な出力モジュール、又はデジタル出力が可能な出力モジュールを有している。プラント制御装置３は、Ｉ／Ｏモジュールには、それぞれのＩ／Ｏの種類に合せてフィールド機器が接続される。プラント制御装置３のＩ／Ｏデータ及びＩ／Ｏモジュールのデータは、フィールド機器が接続されたプラント制御装置３のＩ／ＯアドレスとＩ／Ｏモジュールの種類の情報を含んでいる。
【００６３】
また、第２ツールＩ／Ｆ１０４のＡＰＩのデータには、エンジニアリングツールに対して公開される第２ツールＩ／Ｆ１０４のＡＰＩの情報が含まれる。ＡＰＩの情報には、例えばループテスト等の動作テストを要求するコマンドの定義が含まれる。
【００６４】
エンジニアリングツール２において、取得したＩ／Ｏデータ及びＩ／Ｏモジュールのデータに基づき、Ｃ＆Ｅ  Ｍａｔｒｉｘを生成する（ステップＳ１２）。Ｃ＆Ｅ  Ｍａｔｒｉｘとは、要求仕様書等で使われる入出力の因果関係を表形式（マトリックス）で定義したものであり、結果に影響の大きい要因を特定することができる。例えば、マトリックスの横軸にＣａｕｓｅ（要因）となる入力データを定義し，マトリックスの縦軸にＥｆｆｅｃｔ（結果）を定義する。さらに入力と出力の交差する点に動作条件（論理演算，遅延，インターロック等）を定義することにより、結果に対する影響が大きい要因を特定することができる。エンジニアリングツールにおいては、プラントのセンサ等からの入力データとプラントの異常との対応を把握することができる。定義したＣ＆Ｅ  Ｍａｔｒｉｘを、例えば表示装置に表示して、マトリックスの変化を監視することにより、プラントの異常要因や対策を容易に把握することができる。
【００６５】
次に、エンジニアリングツール２において、取得したＡＰＩに基づき、制御プログラムを生成し、又は制御プログラムの動作をテストするテストプログラムを生成する（ステップＳ１３）。ＡＰＩには、制御プログラムで使用可能なコマンドや関数が定義されており、エンジニアリングツール２は、これらの定義に基づき制御ロジック（アプリケーション）を構築することができる。
【００６６】
次に、エンジニアリングツール連携装置１は、エンジニアリングツール２からアプリケーションデータである第１データを取得する（ステップＳ１４）。エンジニアリングツール連携装置１は、取得した第１データを変換して第２データを生成する（ステップＳ１５）。プラント制御装置３は、変換された第２データをエンジニアリングツール連携装置１から取得して、実行可能にする（ステップＳ１６）。
【００６７】
次に、エンジニアリングツール２は、エンジニアリングツール連携装置１に対して動作テストを要求するテストコマンド＃１を送信する（ステップＳ１７）。エンジニアリングツール連携装置１は、送信されたテストコマンドをプラント制御装置３が実行可能なテストコマンド＃２に変換して、プラント制御装置３に送信する（ステップＳ１８）。
【００６８】
テストコマンド＃２を取得したプラント制御装置３は、動作テストを実行する（ステップＳ１９）。なお、動作テストは、複数のテストコマンドの取得において実行されるものであってもよい。プラント制御装置３は、動作テストの実行結果＃１をエンジニアリングツール連携装置１に対して送信する（ステップＳ２０）。エンジニアリングツール連携装置１は、プラント制御装置３から取得した動作テストの実行結果＃１をエンジニアリングツール２で使用可能な動作テストの実行結果＃２に変換してエンジニアリングツール２に送信する（ステップＳ２１）。動作テストの実行結果＃２を取得したエンジニアリングツール２は、例えば実行結果を記録し、又は表示するようにしてもよい。
【００６９】
＜第２の実施形態＞
次に、図６を用いて、第２の実施形態におけるエンジニアリングツール連携装置１の連携機能を説明する。図６は、第２の実施形態のエンジニアリングツール連携装置１の連携機能の一例を示す図である。なお、図６において図４と同じ機能は同じ符号を付して説明を省略する。
【００７０】
図６において、プラント１００Ａは、エンジニアリングツール連携装置１Ａ，エンジニアリングツール２Ａ、エンジニアリングツール２Ｂ、エンジニアリングツール２Ｃ、プラント制御装置３Ａ及びプラント制御装置３Ｂを有している。ここで、エンジニアリングツール２Ａ、エンジニアリングツール２Ｂ及びエンジニアリングツール２Ｃは、それぞれ異なるデータ形式を用いる、異なる種類のエンジニアリングツールであるのもとする。
【００７１】
エンジニアリングツール連携装置１Ａは、第１ツールＩ／Ｆ１０１Ａ、第１ツールＩ／Ｆ１０１Ｂ、第１ツールＩ／Ｆ１０１Ｃ、第１ツールＰＦ（プラットフォーム）１０１１、ジェネレーションマネージャ１０２、データ変換部１０２１、システムＤＢ１０３、第２ツールＩ／Ｆ１０４Ａ、第２ツールＩ／Ｆ１０４Ｂ、第２ツールＩ／Ｆ１０４Ｃ、第２ツールＰＦ１０４１、テストマネージャ１０５を有している。
【００７２】
第１ツールＩ／Ｆ１０１Ａは、エンジニアリングツール２Ａに対応したＩ／Ｆを有し、エンジニアリングツール２Ａから第１データを取得する。第１ツールＩ／Ｆ１０１Ａは、エンジニアリングツール２Ａで使用される第１データのデータ形式を第２データに変換することができる。
【００７３】
第１ツールＩ／Ｆ１０１Ｂは、エンジニアリングツール２Ｂに対応したＩ／Ｆを有し、エンジニアリングツール２Ｂから第１データを取得する。第１ツールＩ／Ｆ１０１Ｂは、エンジニアリングツール２Ｂで使用される第１データのデータ形式を第２データに変換することができる。
【００７４】
また、第１ツールＩ／Ｆ１０１Ｃは、エンジニアリングツール２Ｃに対応したＩ／Ｆを有し、エンジニアリングツール２Ｃから第１データを取得する。第１ツールＩ／Ｆ１０１Ｃは、エンジニアリングツール２Ｃで使用される第１データのデータ形式を第２データに変換することができる。すなわち、第２の実施形態におけるエンジニアリングツール連携装置１Ａは、異なる種類のエンジニアリングツール２に対応した第１ツールＩ／Ｆを有している。
【００７５】
第１ツールＰＦ１０１１は、エンジニアリングツールＡ〜エンジニアリングツールＣにそれぞれ対応した第１ツールＩ／Ｆ１０１Ａ〜第１ツールＩ／Ｆ１０１Ｃをプラグインとして差し替えて動作可能にするアプリケーションプラットフォームである。第１ツールＩ／Ｆ１０１Ａ〜第１ツールＩ／Ｆ１０１Ｃは、第１ツールＰＦ１０１１に対するＩ／Ｆは共通であり、エンジニアリングツールＡ〜エンジニアリングツールＣに対するＩ／Ｆをそれぞれ異にしている。第１ツールＰＦ１０１１は、使用するエンジニアリングツールが変更、追加又は削除されたときに、これに対応して第１ツールＩ／Ｆ１０１を差し替え可能にしている。例えば、図示しない新たなエンジニアリングツールＤを使用する場合、第１ツールＰＦ１０１１は、エンジニアリングツールＤに対応したツールＩ／Ｆをプラグインで追加可能にする。
【００７６】
なお、第１ツールＰＦ１０１１に対する第１ツールＩ／Ｆ１０１の差し替え方法は任意である。例えば、第１ツールＩ／Ｆ１０１をスタティックリンクで実装することにより差し替えるようにしてもよく、また第１ツールＩ／Ｆ１０１をダイナミックリンクで実装することにより差し替えるようにしてもよい。また、エンジニアリングツール連携装置１Ａのプログラムの動作中に第１ツールＩ／Ｆ１０１を追加するようにしても、エンジニアリングツール連携装置１Ａのプログラムの停止中に第１ツールＩ／Ｆ１０１を追加するようにしてもよい。
【００７７】
システムＤＢ１０３は、プラント制御装置３Ａ及びプラント制御装置３Ｂに対して第２データを提供する。システムＤＢ１０３は、複数のプラント制御装置３からダウンロード可能な場所に第２データを保存する。システムＤＢ１０３は、プラント制御装置３Ａ及びプラント制御装置３Ｂに対してそれぞれ専用の保存領域を設けて第２データを個別に提供してもよい。
【００７８】
第２ツールＩ／Ｆ１０４Ａは、エンジニアリングツール２Ａに対応したＩ／Ｆを有し、エンジニアリングツール２Ａと図４で説明したテスト要求やそれに対する応答のテスト操作を行う。第２ツールＩ／Ｆ１０４Ａは、エンジニアリングツール２Ａとのテスト操作とプラント制御装置３とのテスト操作の差異を吸収する。すなわち、エンジニアリングツール２Ａにおけるテスト要求やそれに対する応答テスト操作で使用される命令の種類や形式と、プラント制御装置３に対して送信するテスト要求やそれに対する応答テスト操作で使用される命令の種類や形式は異なるので、第２ツールＩ／Ｆ１０４Ａは、エンジニアリングツール２Ａから取得したテスト要求をプラント制御装置３に対して送信するテスト要求に変換することにより、両者の違いを吸収することができる。
【００７９】
第２ツールＩ／Ｆ１０４Ｂは、エンジニアリングツール２Ｂに対応したＩ／Ｆを有し、エンジニアリングツール２Ｂとのテスト操作を行う。第２ツールＩ／Ｆ１０４Ｂは、エンジニアリングツール２Ｂとのテスト操作とプラント制御装置３とのテスト操作の差異を吸収する。すなわち、第２ツールＩ／Ｆ１０４Ｂは、エンジニアリングツール２Ｂから取得したテスト要求をプラント制御装置３に対して送信するテスト要求に変換することにより、両者の違いを吸収することができる。
【００８０】
また、第２ツールＩ／Ｆ１０４Ｃは、エンジニアリングツール２Ｃに対応したＩ／Ｆを有し、エンジニアリングツール２Ｃとのテスト操作を行う。第２ツールＩ／Ｆ１０４Ｃは、エンジニアリングツール２Ｃとのテスト操作とプラント制御装置３とのテスト操作の差異を吸収する。第２ツールＩ／Ｆ１０４Ｃは、エンジニアリングツール２Ｃから取得したテスト要求をプラント制御装置３に対して送信するテスト要求に変換することにより、両者の違いを吸収することができる。
【００８１】
第２ツールＰＦ１０４１は、エンジニアリングツールＡ〜エンジニアリングツールＣにそれぞれ対応した第２ツールＩ／Ｆ１０４Ａ〜第２ツールＩ／Ｆ１０４Ｃをプラグインとして差し替えて動作可能にするアプリケーションプラットフォームである。第２ツールＩ／Ｆ１０４Ａ〜第２ツールＩ／Ｆ１０４Ｃは、第２ツールＰＦ１０４１に対するＩ／Ｆは共通であり、エンジニアリングツールＡ〜エンジニアリングツールＣに対するＩ／Ｆをそれぞれ異にしている。第２ツールＰＦ１０４１は、使用するエンジニアリングツールが変更、追加又は削除されたときに、これに対応して第２ツールＩ／Ｆ１０４を差し替え可能にしている。例えば、図示しない新たなエンジニアリングツールＤを使用する場合、第２ツールＰＦ１０４１は、エンジニアリングツールＤに対応したツールＩ／Ｆをプラグインで追加可能にする。
【００８２】
以上説明した様に、本実施形態のエンジニアリングツール連携装置は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１ツールＩ／Ｆと、取得された前記第１データを第２データに変換するデータ変換部と、変換された前記第２データを前記制御プログラムに提供するプログラム提供部と、前記エンジニアリングツールからのテスト要求を取得する第２ツールＩ／Ｆと、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理部とを備えることにより、エンジニアリングツールを用いた制御プログラムのエンジニアリングの効率を向上させることができる。
【００８３】
なお、上述したエンジニアリングツール連携装置１は、上述した機能を有する装置であればよく、例えば、複数の装置の組合せで構成されてそれぞれの装置を通信可能に接続したシステムで実現されるものであってもよい。また、エンジニアリングツール連携装置１は、図１で説明した、製造実行システム５、ＨＩＳ６の機能の一部として実現されるものであってもよい。
【００８４】
また、上述したエンジニアリングツール連携装置１は、エンジニアリングツールに対応した第１ツールＩ／Ｆ１０１と第２ツールＩ／Ｆ１０４を有することにより、エンジニアリングツール連携装置１側でエンジニアリングツールとプラント制御装置におけるテスト要求やそれに対する応答テスト操作で使用される命令の種類やデータ形式等を変換して差異を吸収する場合を説明したが、データ形式の変換等はエンジニアリングツール２側で行うようにしてもよい。すなわち、エンジニアリングツール２は、第１データと第２データを変換する変換部を有して、テスト操作の差異を吸収するＩ／Ｆを有するものであってもよい。その場合、エンジニアリングツール２は、エンジニアリングツール連携装置１に対応したＩ／Ｆをプラグインとして差し替え可能にする。
【００８５】
また、上述したエンジニアリングツール連携装置１は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１ツールＩ／Ｆと、取得された前記第１データを第２データに変換するエンジニアリングツール連携部と、変換された前記第２データを前記制御プログラムに提供するプログラム提供部とを備え、前記エンジニアリングツール連携部は、前記エンジニアリングツールからのテスト要求を取得し、取得した前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるものであってもよい。すなわち、エンジニアリングツール連携装置１のエンジニアリングツール連携部は、本実施形態におけるデータ変換部の機能、第２ツールＩ／Ｆの機能、及びテスト管理部の機能を有するものであってもよい。
【００８６】
また、エンジニアリングツール連携部は、取得したテスト要求を、制御装置で実行可能なテスト要求に変換するものであってもよい。
【００８７】
また、本実施形態のエンジニアリングツール連携方法は、プラントの運転を制御する運転制御装置で実行される制御プログラムをエンジニアリングするエンジニアリングツールで使用する第１データを取得する第１データ取得ステップと、取得された前記第１データを第２データに変換するデータ変換ステップと、変換された前記第２データを前記制御プログラムに提供するプログラム提供ステップと、前記エンジニアリングツールからのテスト要求を取得するテスト要求取得ステップと、取得された前記テスト要求に基づき、前記第２データを使用した前記制御プログラムにおいて動作テストを実行させるテスト管理ステップとを含むことにより、エンジニアリングツールを用いた制御プログラムのエンジニアリング効率を向上させることができる。
【００８８】
なお、本実施形態のエンジニアリングツール連携方法における上記各ステップの実行順序は上記ステップの記載順序に限定されるものではなく、任意の順序で実行されるものであってもよい。
【００８９】
また、本実施形態で説明した装置を構成する機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本実施形態の上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００９０】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００９１】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【００９２】
１        エンジニアリングツール連携装置
２        エンジニアリングツール
３        プラント制御装置
４        基幹業務システム
５        製造実行システム
６        ＨＩＳ
９１      第１通信路
９２      第２通信路
１１      ＣＰＵ
１２      ＲＡＭ
１３      ＲＯＭ
１４      ＨＤＤ
１５      表示装置
１６      入力装置
１７      通信Ｉ／Ｆ
１９      バス
１０      連携機能部
１０１    第１ツールＩ／Ｆ
１０１１  第１ツールＰＦ
１０２    ジェネレーションマネージャ
１０２１  データ変換部
１０３    システムＤＢ
１０４    第２ツールＩ／Ｆ
１０４１  第２ツールＰＦ
１０５    テストマネージャ
１０６    操作監視部
１０７    エンジニアリング機能部
１０８    制御機能部
１０９    通信制御部
【図１】
2018073055.tif 000003
【図２】
2018073055.tif 000004
【図３】
2018073055.tif 000005
【図４】
2018073055.tif 000006
【図５】
2018073055.tif 000007
【図６】
2018073055.tif 000008