(57)【特許請求の範囲】
【請求項１】
操業中のプラントを制御する制御コントローラと、前記制御コントローラに接続されるエンジニアリングツールとを備えるデバッグサポートシステムであって、
前記制御コントローラは、
実行周期毎に、操業中の前記プラントを制御する実制御プログラムを前記実行周期よりも短い時間で実行し、
前記実制御プログラムを変更した試験対象の試験対象制御プログラムを、前記実制御プログラムを実行した後の同一実行周期内の空き時間に実行し、
前記実制御プログラムと前記試験対象制御プログラムは、前記プラントからの同じ状態信号を入力とし、前記実制御プログラムの演算結果は、前記プラントおよび前記エンジニアリングツールへ出力され、前記試験対象制御プログラムの演算結果は、前記エンジニアリングツールへのみ出力され、
前記エンジニアリングツールは、
前記試験対象制御プログラムを前記制御コントローラに転送し、
前記実制御プログラムの演算結果と前記試験対象制御プログラムの演算結果を同時にモニタリングすること、
を特徴とするデバッグサポートシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、操業中のプラントを制御する制御コントローラの制御プログラムを改造する場合に、その動作確認の手間を低減するデバッグサポートシステムに関するものである。
【背景技術】
【０００２】
従来、プラントを制御する制御コントローラの制御プログラムは、エンジニアリングツールで作成され、制御コントローラに転送（ダウンロード）される。転送された制御プログラムは、制御コントローラ内で実行される。制御プログラムの実行状態をエンジニアリングツールでモニタリングすることで、プログラマの意図通りに実行されていることが確認される。
【０００３】
制御プログラムを試験する場合、試験用に制御コントローラを準備し試験する方法（試験１）と、プラントに据え付けられた操業用の制御コントローラで試験をする方法（試験２）がある。
【０００４】
通常手順では、試験１を実施後、試験２を経て、操業プログラムとして稼働させる。同様の手順は、操業中のプラントを制御している制御プログラムを一部変更する場合にも行われている。試験２を実施するには、プラントの操業を停止させる必要があるため、短時間であることが望まれており、そのために、試験１を精度よく行う必要がある。
【０００５】
試験１を手軽に効率よく、精度よく実施する方法として、特許文献１に示すような制御対象（プラント動作）を模擬する装置や、特許文献２に示すようなプラントデータを収集・記録・再生するような装置が考案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２４２５７２号公報
【特許文献２】特開２０１２−１４５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の方法では、試験１において、試験用の制御コントローラを準備する必要があり、また、試験用にプラント動作を模擬する装置（もしくは模擬するプログラム）が必要であった。これらの試験用の特別な装置を準備することは、容易ではなく、多くの時間的・設備的コストが費やされることになる。
【０００８】
これは、稼働中の制御コントローラの制御プログラムに対し変更を加え動作試験をする場合も同様であり、特に、変更内容が少量であった場合においては、設計や試験の時間コストに対して試験環境を構築するための時間コストの比率が大きくなる。
【０００９】
この発明は、上述のような課題を解決するためになされたもので、試験用の特別な装置（プラントシミュレータやプラント情報記録・再生装置）を準備することなく、稼働中の制御プログラムを変更した試験対象の制御プログラムの動作確認を、時間的・設備的コストを抑えつつ、精度高く行うことのできるデバッグサポートシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記の目的を達成するため、操業中のプラントを制御する制御コントローラと、前記制御コントローラに接続されるエンジニアリングツールとを備えるデバッグサポートシステムであって、
前記制御コントローラは、
実行周期毎に、操業中の前記プラントを制御する実制御プログラムを前記実行周期よりも短い時間で実行し、
前記実制御プログラムを変更した試験対象の試験対象制御プログラムを、前記実制御プログラムを実行した後の同一実行周期内の空き時間に実行し、
前記実制御プログラムと前記試験対象制御プログラムは、前記プラントからの同じ状態信号を入力とし、前記実制御プログラムの演算結果は、前記プラントおよび前記エンジニアリングツールへ出力され、前記試験対象制御プログラムの演算結果は、前記エンジニアリングツールへのみ出力され、
前記エンジニアリングツールは、
前記試験対象制御プログラムを前記制御コントローラに転送し、
前記実制御プログラムの演算結果と前記試験対象制御プログラムの演算結果を同時にモニタリングすること、を特徴とする。
【発明の効果】
【００１１】
本発明によれば、操業中のプラントを制御する稼働中の制御コントローラの空きリソースを利用して試験対象制御プログラムを実行する。そのため、実制御プログラムによる操業中のプラントの制御に影響を与えることなく、操業中のプラントの状態信号を利用して試験対象制御プログラムの演算結果を得ることができる。すなわち、本発明によれば、稼働中の制御コントローラの空きリソースおよび操業中のプラントの状態信号を利用することで、試験環境を整える時間的・設備的コストを省くと共に、精度の高い試験を実施することができる。また、本発明によれば、実制御プログラムの演算結果と試験対象制御プログラムの演算結果を同時にモニタリングするため、両者を比較でき、試験効率を高めることもできる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るシステム構成を説明するための図である。
【図２】制御コントローラ２が実行する制御プログラムの実行スケジュールについて説明するための図である。
【図３】本発明の実施の形態１に係るシステムの変形例について説明するための図である。
【図４】本発明の実施の形態１に係るシステムが有する処理回路のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１４】
実施の形態１．
［デバッグサポートシステムの構成］
図１は、本発明の実施の形態１に係るシステム構成を説明するための図である。図１に示すデバッグサポートシステムは、エンジニアリングツール１と、制御コントローラ２を備えている。エンジニアリングツール１は制御コントローラ２に接続しており、制御コントローラ２は制御対象である操業中のプラント３に接続している。
【００１５】
（制御コントローラ）
まず、制御コントローラ２の機能について説明する。
操業中のプラントを制御する制御コントローラ２は、実行周期毎にスケジュールに従って、プラント３の操業現場で実際の制御に用いられている制御プログラム（稼働中）１１を実行する機能を有している。プラントからの状態信号２１を入力とする制御プログラム（稼働中）１１の演算結果は、制御信号２２としてプラント３のアクチュエータ等の機器に出力される。
【００１６】
図２は、稼働中の制御コントローラ２が実行する制御プログラムの実行スケジュールについて説明するための図である。スケジュールには、制御コントローラ２が、制御プログラム（稼働中）１１を一定時間（実行周期）内に１回実行するよう定義されている。制御プログラム（稼働中）１１の実行時間は、実行周期よりも短く設定されている。このため、制御コントローラ２には、制御プログラム（稼働中）１１が実行されていない空き時間が存在する。
【００１７】
この空き時間を利用して、制御プログラム（稼働中）１１の一部を変更した試験対象のプログラムである制御プログラム（試験対象）１２を実行すれば、制御プログラム（試験対象）１２の動作確認のために特別な試験環境を用意することなく、手軽かつ精度高くプログラムの動作を確認することができる。
【００１８】
そこで、本実施形態のシステムでは、稼働中の制御コントローラ２の空きリソースを利用して、制御プログラム（試験対象）１２を実行することとした。これにより、操業中のプラント３の動作に影響を与えることなく、操業中のプラント３の状態信号２１を利用した制御プログラム(試験対象)１２の動作確認を実現することとした。
【００１９】
制御コントローラ２は、実行周期毎にスケジュールに従って、プラント３の状態信号２１を入力として制御プログラム（稼働中）１１を実行し、演算結果である制御信号２２をプラント３に出力することで稼働中のプラント３を制御している。図２に示すように、スケジュールには、制御プログラム（稼働中）１１を実行した後、実行周期の空き時間において制御プログラム（試験対象）１２を実行するよう定義されている。
【００２０】
制御プログラム（稼働中）１１と制御プログラム（試験対象）１２は、プラント３からの同じ状態信号２１を入力とする。制御コントローラ２は、図２に示すスケジュールに従って、状態信号２１を入力として制御プログラム（稼働中）１１を実行した後、実行周期の空き時間において、状態信号２１を入力として制御プログラム（試験対象）１２を実行する。
【００２１】
制御プログラム（稼働中）１１の演算結果２３は、制御信号２２としてプラント３へ出力されると共に、エンジニアリングツール１へも出力される。また、制御プログラム（試験対象）１２の演算結果２４は、エンジニアリングツール１へのみ出力される。また、制御プログラム（稼働中）１１および制御プログラム（試験対象）１２に入力される状態信号２１もエンジニアリングツール１へ出力される。
【００２２】
（エンジニアリングツール）
次に、エンジニアリングツール１の機能について説明する。
エンジニアリングツール１は、上述したスケジュールと制御プログラム（試験対象）１２を作成し、制御コントローラ２に転送する機能を有する。また、エンジニアリングツール１は、制御コントローラ２から入力した状態信号２１、制御プログラム（稼働中）１１の演算結果２３、制御プログラム（試験対象）１２の演算結果２４を同時にモニタリングする表示機能を有する。
【００２３】
この表示機能は、同じ入力情報（状態信号２１）に対する制御プログラム（稼働中）１１の演算結果２３と制御プログラム（試験対象）１２の演算結果２４を収集し、同じ演算結果となる信号と異なる演算結果となる信号を自動的に抽出し、トレンドグラフ等の比較表示を行う機能である。表示機能によれば、制御プログラム（稼働中）１１の演算結果２３と制御プログラム（試験対象）１２の演算結果２４を容易に比較でき、制御プログラムの変更が仕様通りにされていることを効率よく確認できる。
【００２４】
好ましくは、実施の形態１のシステムは、図１に示すスイッチ３１をさらに備えてもよい。スイッチ３１は、制御プログラム（稼働中）１１の演算結果２３と、制御プログラム（試験対象）１２の演算結果２４のいずれを制御信号２２として外部（プラント３）へ出力するかを切り替える機能である。エンジニアリングツール１は、制御コントローラ２に対してスイッチ３１を切り替える信号を出力する機能を備える。制御プログラム（試験対象）１２のデバッグが完了した後に、スイッチ３１を切り換えて、制御プログラム（試験対象）１２の演算結果２４を制御信号２２として出力することで、プラント３を制御することが可能となる。
【００２５】
（処理フロー）
次に、上述したエンジニアリングツール１と制御コントローラ２を用いたデバッグサポートシステムの処理の流れについて説明する。まず、スケジュールと制御プログラム（試験対象）１２がエンジニアリングツール１から転送（ダウンロード）される。
【００２６】
次に、制御コントローラ２は、実行周期毎にスケジュールに従って各制御プログラムを順次実行する。具体的には、制御コントローラ２は、プラント３からの状態信号２１を入力し、状態信号２１を入力として制御プログラム（稼働中）１１が実行した後、実行周期の空き時間において、状態信号２１を入力として制御プログラム（試験対象）１２を実行する。
【００２７】
制御プログラム（稼働中）１１の演算結果２３は、制御信号２２としてプラント３へ出力されると共に、エンジニアリングツール１へも出力される。また、制御プログラム（試験対象）１２の演算結果２４は、エンジニアリングツール１へのみ出力される。また、制御プログラム（稼働中）１１および制御プログラム（試験対象）１２に入力される状態信号２１もエンジニアリングツール１へ出力される。
【００２８】
各種信号がエンジニアリングツール１に出力された後、エンジニアリングツール１の表示機能は、蓄積された信号（プラント３からの状態信号２１、制御プログラム（稼働中）１１の演算結果２３、制御プログラム（試験対象）１２の演算結果２４）を比較可能な状態で表示する。試験担当者は、表示内容に基づいて、制御プログラム（試験対象）１２が仕様通りに動作しているか確認する。
【００２９】
（効果）
本発明によれば、操業中のプラント３を制御する稼働中の制御コントローラ２の空きリソースを利用して制御プログラム（試験対象）１２を実行する。そのため、制御プログラム（稼働中）１１による操業中のプラント３の制御に影響を与えることなく、操業中のプラント３の状態信号２１を利用して制御プログラム（試験対象）１２の演算結果２４を得ることができる。すなわち、本システムによれば、稼働中の制御コントローラ２の空きリソースおよび操業中のプラント３の状態信号２１を利用することで、試験環境を整える時間的・設備的コストを省くと共に、精度の高い試験を実施することができる。また、本システムによれば、制御プログラム（稼働中）１１の演算結果２３と制御プログラム（試験対象）１２の演算結果２４を同時にモニタリングするため、両者を比較でき、試験効率を高めることもできる。
【００３０】
（変形例）
図３は、本発明の実施の形態１に係るシステムの変形例について説明するための図である。上述した実施の形態１のシステムにおいては、稼働中の制御コントローラ２の空き時間に、制御プログラム（稼働中）１１と同等の実行時間を要する制御プログラム（試験対象）１２を実行することとしている。しかしながら、空き時間が制御プログラム（試験対象）１２の全体を実行するには不足する場合もありうる。制御プログラムを機能単位で実行／停止ができるエンジニアリングツール１と制御コントローラ２においては、図３に示すように、制御プログラム（試験対象）１１が有する機能のうち、試験対象の機能のみを空き時間に実行させることとしてもよい。試験対象の機能は、制御プログラム（稼働中）１１)に対して変更が加えられた機能である。これにより、空き時間が制御プログラム全体を実行するに十分でない場合においても、制御プログラム（試験対象）１２の動作確認に最低限必要な試験を実施することができる。
【００３１】
尚、上述した実施の形態１においては、制御プログラム（稼働中）１１が本発明における「実制御プログラム」に、制御プログラム（試験対象）１２が本発明における「試験対象プログラム」に、それぞれ相当している。
【００３２】
（ハードウェアの構成例）
エンジニアリングツール１と制御コントローラ２のハードウェア構成例について説明する。図４は、デバッグサポートシステムが有する処理回路のハードウェア構成を示す図である。
【００３３】
エンジニアリングツール１は、プロセッサ１００、メモリ１０１を含む処理回路と、画面を備える表示部１０２を備えている。メモリ１０１には、エンジニアリングツール１の各機能を実現するためのプログラムが記憶されている。プロセッサ１００は、メモリ１０１に記憶されたプログラムを読み出して実行することにより、上述した各機能を実現する。表示機能による比較結果は表示部１０２に表示される。
【００３４】
制御コントローラ２は、プロセッサ２００、メモリ２０１を含む処理回路を備えている。メモリ２０１には、制御プログラム（稼働中）１１や制御プログラム（試験対象）１２の他、制御コントローラ２の各機能を実現するためのプログラムが記憶されている。プロセッサ２００は、メモリ２０１に記憶されたプログラムを読み出して実行することにより、上述した各機能を実現する。
【符号の説明】
【００３５】
１  エンジニアリングツール
２  制御コントローラ
３  プラント
１１  制御プログラム（稼働中）
１２  制御プログラム（試験対象）
２１  状態信号
２２  制御信号
２３  制御プログラム（稼働中）の演算結果
２４  制御プログラム（試験対象）の演算結果
３１  スイッチ
１００、２００  プロセッサ
１０１、２０１  メモリ
１０２  表示部
【図１】
0006540473.tif 000002
【図２】
0006540473.tif 000003
【図３】
0006540473.tif 000004
【図４】
0006540473.tif 000005