(57)【要約】【課題】  制御装置の演算処理を停止させることなくプログラムを変更できる制御装置のメンテナンス装置を提供することである。【解決手段】  演算処理装置１４は、制御装置を動作させたまま新プログラムのプログラムソースをプログラム編集手段１６で編集し、機能毎のプログラムコードと各機能の開始／終了プログラムアドレスに基づいてプログラムコードをプログラムコード生成手段１９で作成し、機能毎のプログラムコードやプログラムコードを制御装置に通信手段２０で送受信する。制御装置２１は、演算処理装置１４から受信した機能毎のプログラムコードやプログラムコードの各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストに基づいて１制御周期内でアドレス管理テーブルを書き換え新プログラムへと動作を切り替える。【選択図】  図１
2006301765.tif 000002
【特許請求の範囲】
【請求項１】
制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備え、前記演算処理装置は、プログラム変更したい制御ループについて制御装置を動作させたまま新プログラムのプログラムソースを編集するプログラム編集手段と、前記プログラム編集手段で編集したプログラムソースを制御装置で認識可能な機能毎のプログラムコードに変換し各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストを作成し機能毎のプログラムコードと各機能の開始／終了プログラムアドレスに基づいてプログラムコードを作成するプログラムコード生成手段と、プログラムコード生成手段で生成された機能毎のプログラムコードやプログラムコードを制御装置に送受信する通信手段とを備え、前記制御装置は、前記演算処理装置から受信した機能毎のプログラムコードやプログラムコードの各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストに基づいて１制御周期内でアドレス管理テーブルを書き換え新プログラムへと動作を切り替えることを特徴とする制御装置のメンテナンス装置。
【請求項２】
制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備え、前記演算処理装置は、プログラム変更したい制御ループについて制御装置を動作させたまま新プログラムのプログラムソースを編集するプログラム編集手段と、前記プログラム編集手段で編集したプログラムソースを制御装置で認識可能なプログラムコードに変換するプログラムコード生成手段と、前記プログラムコード生成手段で生成されたプログラムコードを前記制御装置に送信するプログラム送信手段と、前記制御装置での演算結果を受信し変更前プログラムの演算結果と変更後プログラムの演算結果を前記表示装置に表示する演算結果受信手段と、前記制御装置で制御を実行するプログラムを切り替えるプログラム切替手段とを備え、前記制御装置は、前記演算処理装置からプログラムを受信するプログラム受信手段と、前記プログラム受信手段で受信した変更前プログラムおよび変更後プログラムを演算処理し前記プログラム切替手段で切り替えられたプログラムを用いて制御を行うプログラム制御手段と、前記プログラム制御手段での変更前プログラムおよび変更後プログラムの演算結果を前記演算処理装置に送信する演算結果送信手段とを備えたことを特徴とする制御装置のメンテナンス装置。
【請求項３】
制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備え、前記演算処理装置は、プログラム変更したい制御ループについて制御装置を動作させたまま新プログラムのプログラムソースを編集するプログラム編集手段と、前記プログラム編集手段で編集したプログラムソースを制御装置で認識可能なプログラムコードに変換するプログラムコード生成手段と、前記プログラムコード生成手段で生成されたプログラムコードやＩ／Ｆコマンドを前記制御装置に送受信する通信手段と、前記制御装置から読み込んだプログラムと変更後のプログラムコードとを比較して変更点情報を求める変更命令検出手段とを備え、前記制御装置は、前記演算処理装置から受信した前記変更点情報に従い制御ループ処理の基準周期１ループで処理可能なサイズのプログラム変更を行うことを特徴とする制御装置のメンテナンス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置のプログラムをオンラインでメンテナンスを行う制御装置のメンテナンス装置に関する。
【背景技術】
【０００２】
プラントの監視制御を司る制御装置のプログラムは、制御対象の機器や、インターロック、制御操作機能、入出力監視処理等により任意の複数機能に分割されている。制御装置内のメモリにはこれらの機能単位でプログラムが配置され、制御装置はそのように分割された複数機能のプログラムを順次実行することでプラントの監視制御を行っている。
【０００３】
特に、発電プラントのようにプラント動作中に制御装置を完全に停止させることが困難なプラントでは、制御装置のプログラム変更はプラント動作中には行わないことが望ましいが、プラント動作中にプログラムの変更が必要となった場合には、プラント制御への影響を極力おさえて実施できることが望ましい。
【０００４】
一般に、制御装置のメンテナンス装置において、制御装置のプログラムの変更を行う場合の方法として、制御装置内のプログラムを一旦全て停止させ全てのプログラムを書き換える方法と、変更の必要となった機能プログラムのみを一旦停止させて変更を行い再度動作させる方法の２通りの方法がある。
【０００５】
変更の必要となった機能プログラムのみを変更する方法は、予め機能毎にプログラム領域とそれに付属するプログラム変更に必要とされる予備領域を制御装置のメモリ上に確保しておき、プログラムの変更発生時に変更の必要となった機能プログラムのみを一旦停止させ、その機能プログラムの設定領域とその予備領域を使用しプログラムの変更を行い、変更した機能プログラムを再度動作状態に戻すことで行われる。これら２通りの方法では、変更機能の動作を継続しながら当該プログラムの変更を実施することは行なわれていない。
【０００６】
図１２は従来の制御装置のメンテナンス装置の構成図である。メンテナンス装置１１は、制御装置のプログラムのメンテナンス操作を入力するための入力装置１２と、メンテナンス操作結果を表示するための表示装置１３と、プログラムのメンテンナンスの演算処理を行う演算処理装置１４と、制御装置２１側の通信手段２２と、プログラム制御手段２４とから構成される。
【０００７】
演算処理装置１４は、プログラムソース１５を編集するプログラム編集手段１６と、入力装置１２からの要求でプログラムソース１５から機能毎のプログラムコード１７およびプログラムコード１８を生成するプログラムコード生成手段１９と、入力装置１２からの要求で機能毎のプログラムコード１７やプログラムコード１８やＩ／Ｆコマンドを制御装置に送受信することができる通信手段２０とを備えている。
【０００８】
制御装置２１はプラントを制御するものであり、演算処理装置１４からプログラムコード１８やＩ／Ｆコマンドを送受信することができる通信手段２２と、受信したプログラム２３を用いて制御を行うことができるプログラム制御手段２４とを備えている。
【０００９】
図１３は演算処理装置１４の詳細図である。プログラムコード生成手段１９は、図１３のように、機能毎のプログラムソース１５から機能毎の制御装置特有のプログラムコード１７を生成するプログラムソースコード変換手段２５と、機能毎のプログラムコード１７がそれぞれ一律の上限サイズとなるように機能毎のプログラムコード１７と各機能毎のプログラムの予備領域とを１つのプログラムコード１８にまとめるプログラムコード１本化手段２６とを備えている。
【００１０】
図１４は、プログラムコード生成手段１９の生成するプログラムコードの説明図である。プログラムコード生成手段１９のプログラムコード１本化手段２６は、図１４に示すように機能毎のプログラムコード１７に対して、機能毎のプログラムコード１７がそれぞれ一律の上限サイズＡとなるように、機能毎のプログラムコード１７に、各機能毎のプログラム１７の予備領域を付加し、１つのプログラムコード１８にまとめる。
【００１１】
ここで、プログラマブルコントローラの複数のモジュールを同時にオンライン中に変更できるようにしたものがある。複数個のモジュールを格納することができるプログラムメモリ内の空き領域と、各実効モジュールの先頭番地を保持しているディレクトリとを備え、変更のためにあらかじめ空き領域内に作成された一つまたは複数のモジュールの先頭番地を、操作者のキー入力に応じて、ディレクトリ内の対応する複数の先頭番地に一括代入する（例えば、特許文献１参照）。
【００１２】
すなわち、制御装置への初回プログラム書き込み時に予備領域を含む１本化したプログラムコードを書き込んでおき、以降プログラムの変更が発生し、またこのときプラント運転中であった場合には、変更のあった制御ループのプログラムコードをそのプログラム領域とその予備領域を使用し制御ループ単位での上書き更新することで、プラント運転中において変更の有った制御ループ以外の制御プログラムの停止を行わないようにしプログラムの更新を実施する。
【特許文献１】特開平５−２２４７０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、従来のものでは、変更したプログラムを制御装置に書き込む際、変更する制御ループの書き込みが完了するまでの間、演算を実行できないことから該当の制御ループを一旦停止させる必要があり、その間、対象制御装置の一部機能が停止してしまう。このことから、プラント運転中にプログラムの変更を行う場合、制御装置の一部機能が使用できなくなる。
【００１４】
さらに、ロジックを変更するためには、制御装置での演算処理を一旦停止させてからロジックの入れ替えを行う必要があり、変更対象外の演算処理についても再度初回からの実行となるため、入れ替え直前の演算結果と比べ急激な変化が発生したり、停止前の演算結果と一致するまでに時間がかかる場合があり、運転への影響が懸念されていた。
【００１５】
本発明の目的は、制御装置の演算処理を停止させることなくプログラムを変更でき、しかもプログラムの変更による制御装置の出力の急激な変化を極力抑制できる制御装置のメンテナンス装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の制御装置のメンテナンス装置は、制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備え、前記演算処理装置は、プログラム変更したい制御ループについて制御装置を動作させたまま新プログラムのプログラムソースを編集するプログラム編集手段と、前記プログラム編集手段で編集したプログラムソースを制御装置で認識可能な機能毎のプログラムコードに変換し各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストを作成し機能毎のプログラムコードと各機能の開始／終了プログラムアドレスに基づいてプログラムコードを作成するプログラムコード生成手段と、プログラムコード生成手段で生成された機能毎のプログラムコードやプログラムコードを制御装置に送受信する通信手段とを備え、前記制御装置は、前記演算処理装置から受信した機能毎のプログラムコードやプログラムコードの各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストに基づいて１制御周期内でアドレス管理テーブルを書き換え新プログラムへと動作を切り替えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、制御装置は、演算処理装置から受信した機能毎のプログラムコードやプログラムコードの各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストに基づいて１制御周期内でアドレス管理テーブルを書き換え新プログラムへと動作を切り替えるので、制御装置のプログラム演算を止めることなくプログラム変更を実施することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明に係る制御装置のメンテナンス装置の実施の形態を説明する。図１は本発明の第１の実施の形態に係わる制御装置のメンテナンス装置の構成図である。この第１の実施の形態は、図１２に示した従来例に対し、演算制御装置１４のプログラムコード生成手段１９にプログラムコードポインタ設定手段３１を追加して設け、制御装置のプログラム演算を止めることなくプログラム変更を実施するようにしたものである。
【００１９】
図１において、メンテナンス装置１１は、制御装置のプログラムのメンテナンス操作を入力するための入力装置１２と、メンテナンス操作結果を表示するための表示装置１３と、プログラムのメンテンナンスの演算処理を行う演算処理装置１４と、制御装置２１側の通信手段２２と、プログラム制御手段２４とから構成される。
【００２０】
演算処理装置１４はプログラムソース１５を読み書きすることに加えプログラム変更が可能なプログラム編集手段１６を有し、プログラム編集手段１６は、プログラム変更したい制御ループについて制御装置２１を動作させたまま新プログラムのプログラムソースを編集する。
【００２１】
プログラムコード生成手段１９はプログラムコードポインタ設定手段３１を有し、入力装置１２からの要求によりプログラムソース１５から機能毎のプログラムコード１７およびプログラムコード１８を生成する。すなわち、プログラムコード生成手段１９のプログラムコードポインタ設定手段３１は、プログラム編集手段１６で編集したプログラムソース１５を制御装置２１で認識可能な機能毎のプログラムコード１７に変換し、各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストを作成する。プログラムコード生成手段１９は、機能毎のプログラムコード１７と各機能の開始／終了プログラムアドレスに基づいてプログラムコード１８を作成する。
【００２２】
通信手段２０は、入力装置１２からの書き込み要求により、プログラムコード生成手段１９で生成された機能毎のプログラムコード１７やプログラムコード１８およびＩ／Ｆコマンドを制御装置２１に送受信する。制御装置２１は、演算処理装置１４から機能毎のプログラムコード１７およびプログラムコード１８やＩ／Ｆコマンドを送受信する通信手段２２と、受信したプログラム２３を用いて制御を行うプログラム制御手段２４とを備えている。
【００２３】
図２は、本発明の第１の実施の形態における演算制御装置１４のブロック図である。演算制御装置１４のプログラムコード生成手段１９は、機能毎のプログラムソース１５を機能毎のプログラムコード１７に変換するプログラムソースコード変換手段２５と、機能毎のプログラムコード１７より各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストを作成するプログラムコードポインタ設定手段３１と、機能毎のプログラムコード１７とプログラムコードポインタ設定手段３１の作成した各機能の開始／終了プログラムアドレスより、プログラムコード１８を作成するプログラムコード１本化手段２６とから構成されている。
【００２４】
図３は、本発明の第１の実施の形態におけるプログラムコード生成手段１９の生成するプログラムコード１８の説明図である。図３に示すように、プログラムコード生成手段１９のプログラムコード一本化手段２６は、プログラムコードポインタ設定手段３１で作成された各機能の開始／終了プログラムアドレスおよび予備エリアの開始アドレス等のアドレスリストと、機能毎のプログラムコード１７とからプログラムコード１８を作成する。
【００２５】
図４は、本発明の第１の実施の形態における制御装置２１内のプログラム２３の更新状態図の説明図である。プログラム２３は、機能毎のプログラムアドレスが記述されているプログラムアドレス管理テーブル３２と、各機能毎のプログラムが記述されている機能毎プログラム３３、プログラム１２内の予備エリア３４を構成要素の一部としている。図４中のプログラム２３Ａは変更前の状態、プログラム２３Ｂは予備エリア３４に変更後の機能ｘプログラムを書き込んだ状態、プログラム２３Ｃはプログラムアドレス管理テーブル３２を更新して機能ｘプログラムを変更前から変更後に切り替えた状態を示している。
【００２６】
第１の実施の形態において、プラント停止状態で全ての機能のプログラムコード１７を制御装置２１のプログラム２３に更新する際は、一旦全ての機能のプログラムを停止させ、通信手段２０と通信手段２２によりプログラムコード１８をプログラム２３へ更新する。その後に、全ての機能のプログラム再起動することで行う。
【００２７】
またプラント動作中において、変更の発生した機能のプログラムのみを更新する場合、プログラム変更したい機能毎のプログラムについて、制御装置２１を動作させたままの状態で通信手段２０および通信手段２２を介してプログラム２３上の予備エリア３４の先頭アドレス取得する。その後に、機能毎のプログラムコード１７のうち、変更した機能プログラム分を制御装置２１のプログラム２３の予備エリア３４に書き込む。そして、１制御周期内でプログラム２３上の書き込んだ機能プログラムと予備エリア３４の先頭アドレスに関するアドレス管理テーブル３２の情報を予備エリア３４を書き込んだプログラム位置および新たな予備エリア先頭位置（＝書き込んだ機能毎プログラムの最終位置）に更新する。
【００２８】
第１の実施の形態によれば、制御装置２１は、演算処理装置１４から受信した機能毎のプログラムコード１７やプログラムコード１８の各機能の開始／終了プログラムアドレスおよび予備エリア３４の開始アドレス等のアドレスリストに基づいて１制御周期内でアドレス管理テーブルを書き換え新プログラムへと動作を切り替えるので、制御装置２１のプログラム演算を止めることなくプログラム変更を実施することができる。
【００２９】
次に、本発明の第２の実施の形態を説明する。図５は本発明の第２の実施の形態に係わる制御装置のメンテナンス装置の構成図である。図５において、メンテナンス装置１１は、制御装置２１のプログラムのメンテナンス操作を入力するための入力装置１２と、メンテナンス操作結果を表示するための表示装置１３と、プログラムのメンテンナンスの演算処理を行う演算処理装置１４と、制御装置２１側のプログラム受信手段４１と、演算結果出力域４２と、演算結果送信手段４３とから構成される。
【００３０】
演算処理装置１４は、プログラムソース１５を読み書きすることに加えプログラム変更が可能なプログラム編集手段１６を有し、プログラム編集手段１６はプログラム変更したい制御ループについて制御装置２１を動作させたまま新プログラムのプログラムソースを編集する。演算処理装置１４のプログラムコード生成手段１９は、入力装置１２からの要求により、プログラム編集手段１６で編集したプログラムソース１５を制御装置２１で認識可能なプログラムコード１８を生成する。
【００３１】
また、プログラム送信手段４４は、プログラムコード生成手段１９で生成された変更前プログラムや変更後プログラムのプログラムコード１８を制御装置２１に送信するものであり、演算結果受信手段４５は制御装置２１での演算結果を受信し、変更前プログラムの演算結果と変更後プログラムの演算結果を表示装置１３に表示するものである。プログラム切替手段４６は制御装置２１で制御を実行するプログラムを切り替えるものである。すなわち、プログラム送信手段４４は、プログラムコードやプログラム切替手段４６のプログラム切り替え要求を制御装置２１に送信し、演算結果受信手段４５は制御装置２１での演算処理結果を受信する。
【００３２】
制御装置２１は、演算処理装置１４からプログラムコード１８を受信するプログラム受信手段４１と、受信したプログラム２３を用いて制御を行うプログラム制御手段２４と、プログラム制御手段２４が演算結果を出力する演算結果出力域４２と、演算結果出力域４２の演算結果を演算処理装置１４の演算結果受信手段４５に送信する演算結果送信手段４３を備えている。
【００３３】
すなわち、プログラム制御手段２４は、プログラム受信手段４１で受信した変更前プログラムおよび変更後プログラムを演算処理し、その結果を演算結果出力域４２に格納するとともに、プログラム切替手段４６で切り替えられたプログラムを用いて制御を行う。演算結果出力域４２に格納された変更前プログラムの演算結果および変更後プログラムを演算結果は、演算結果送信手段４３により演算処理装置１４の演算結果受信手段４５に送信される。
【００３４】
図６は、本発明の第２の実施の形態における制御装置２１に保持されるプログラム２３の説明図である。図６に示すように、プログラム２３は、機能別のプログラム開始／終了アドレス保存域４７、ワーク領域上の機能別のプログラム開始／終了アドレス格納域４８、プログラム格納域４９、ワーク領域５０により構成される。
【００３５】
図７は演算結果出力域４２の説明図である。図７に示すように、演算結果出力域４２は、通常演算結果出力域５１と、ワーク領域５０上のプログラム用演算結果出力域５２により構成される。この通常演算結果出力域５１に出力される演算結果は、他の機能別のプログラムの演算の入力値として使用されたり、また外部出力値として扱われるものである。ワーク領域５０上のプログラム用演算結果出力域５２は、通常演算結果出力域５１と同等の領域を持つ。
【００３６】
第２の実施の形態では、プログラムを変更する場合に、まずプログラム編集手段１６にてプログラムソース１５を変更し、その後に、プログラムコード生成手段１９よりプログラムコード１８を作成する。このプログラムコード１８をプログラム送信手段４４、プログラム受信手段４１によりプログラム２３のワーク領域５０に書き込むとともに、ワーク領域５０上の機能プログラム開始／終了アドレス格納域４８に書き込み先アドレスを設定する。図６の一例では、変更前プログラムをループ２（機能２のプログラム）、変更後プログラムをループＡ（機能Ａのプログラム）として示している。
【００３７】
プログラム制御手段２４は、ワーク領域５０上の機能プログラム開始／終了アドレス格納域４８にアドレスが設定されている場合、ワーク領域５０上にある対象の制御ループ（ループＡ）を実行するとともに、その演算結果を、図７で示すプログラム上に記載されている演算結果出力先アドレスにワーク領域５０上のプログラム用演算結果出力域４２の先頭位置であるオフセットＸを加えた位置に出力する。これにより、変更前のループ２（機能２のプログラム）とプログラム変更後のループＡ（機能Ａのプログラム）が同時に実行されても、演算結果を上書きすることはない。
【００３８】
各制御ループの実行により通常演算結果出力域５１およびワーク領域５０上のプログラム用演算結果出力域５２に出力された値は、演算結果送信手段４３によって演算処理装置１４の演算結果受信手段４５に周期的に送信され、演算結果受信手段４５により受信される。受信した演算結果は表示装置１３に表示され、操作員が両者を容易に比較できる。
【００３９】
図８は、表示装置１３に表示された演算結果比較画面５３の一例を示す説明図である。機能プログラム選択リスト５４により変更対象機能を選択することで、対象機能プログラムで演算結果を出力している線番を抽出し、その演算結果をプログラム変更前の演算結果５５とプログラム変更後の演算結果５６として比較表示する。プログラム変更前後で演算結果に差がでているデータについては色替ええ等強調表示することで、その差異を確認することができる。プログラム変更により影響のあるポイント番号については、操作員の判断にて除外すればよい。
【００４０】
演算結果比較画面５３により、プログラム変更後の演算結果について、運転への影響のない状態となったことが確認できた段階で、操作員は機能プログラム切替ボタン５７を選択する。これにより、プログラム切替手段４６は、プログラム送信手段４４およびプログラム受信手段４１を介し、機能プログラム開始アドレス保存域４７にある対象制御ループの開始／終了アドレスを、ワーク領域５０に書き込んだプログラム変更後の機能プログラムのアドレスに書き換えるとともに、ワーク領域５０上の機能プログラム開始／終了アドレス格納域４８から対象制御ループの開始終了アドレスを削除し、最後にプログラム格納域４９からプログラム変更前の機能プログラムを削除する。これにより、プログラム制御手段２４は、次回制御周期よりプログラム変更後の制御ループにて演算処理を行う。
【００４１】
第２の実施の形態によれば、プログラム変更前と変更後の機能プログラムの演算結果について両者を画面で比較・照合し、運転に影響のない安定状態となったことを確認できた段階で実行プログラムを切り替えることができるので、制御装置２１のプログラム演算を止めることなくプログラム変更ができる。従って、プログラム変更直後の演算結果の突変を防ぐことができる。
【００４２】
次に、本発明の第３の実施の形態を説明する。図９は本発明の第３の実施の形態に係わる制御装置のメンテナンス装置の構成図である。この第３の実施の形態は、図１２に示した従来例に対し、機能毎のプログラムコード１７を省略し、変更命令検出手段３５および変更点情報テーブル３６、３７を追加して設けたものである。
【００４３】
図９において、メンテナンス装置１１は、制御装置２１のプログラムのメンテナンス操作を入力するための入力装置１２と、メンテナンス操作結果を表示するための表示装置１３と、プログラムのメンテンナンスの演算処理を行う演算処理装置１４と、制御装置２１側の通信手段２２と、プログラム制御手段２４と、変更点情報テーブル３７とから構成される。
【００４４】
演算処理装置１４は、プログラムソース１５を読み書きすることに加えプログラム変更が可能なプログラム編集手段１６を有し、プログラム編集手段１６はプログラム変更したい制御ループについて制御装置２１を動作させたまま新プログラムのプログラムソースを編集する。演算処理装置１４のプログラムコード生成手段１９は、入力装置１２からの要求により、プログラム編集手段１６で編集したプログラムソース１５を制御装置２１で認識可能なプログラムコード１８を生成する。通信手段２０は、入力装置１２からの書き込み要求により、プログラムコード生成手段１９で生成されたプログラムコード１８やＩ／Ｆコマンドを制御装置２１に送受信する。
【００４５】
また、変更命令検出手段３５は、制御装置２１の保持しているプログラム２３を通信手段２０を介して取得し、プログラムコード１８と比較した上でプログラムの変更箇所を検出し、演算処理装置１４の変更点情報テーブル３６に設定する。すなわち、制御装置２１から読み込んだプログラムと変更後のプログラムコードとを比較して変更点情報を求め、その変更点情報を変更点情報テーブル３６に格納する。
【００４６】
制御装置２１の通信手段２２は、演算処理装置１４からのプログラムコード１８やＩ／Ｆコマンドを送受信し、変更点情報テール部３７には、演算処理装置１４から受信した変更点情報が一次保存される。プログラム制御手段２４は、演算処理装置１４から受信したプログラム２３を用いて制御を行ったり、変更点情報テール部３７の変更点情報を基にプログラム２３を変更する。
【００４７】
変更命令検出手段３５は演算処理装置１４で行ったプログラムの変更に対し、生成されたプログラムコード１８と制御装置２１で保持しているプログラム２３のプログラムコードの差異をプログラムコードを比較する。
【００４８】
図１０は変更命令検出手段３５の処理内容の説明図である。制御装置２１から読み込んだ機能ｘのプログラムコード３８と、演算処理装置１４側で変更後の機能ｘのプログラムコード３９とを比較し、そのその結果を変更点情報４０として変更点情報テーブル３６にセットする。そして、その変更点情報４０を通信手段２０および通信手段２２により制御装置２１側の変更点情報テーブル３７にセットする。
【００４９】
図１１は、本発明の第３の実施の形態におけるプログラム制御手段２４の処理内容を示すフローチャートである。図１１に示すように、プログラム制御手段２４は、外部入力処理Ｓ１、プログラム演算処理Ｓ２、外部出力処理Ｓ３、メンテナンスＩ／Ｆ処理Ｓ４の順番で常時ループ処理でプラント制御を実行しており、このうちメンテナンス装置Ｉ／Ｆ処理Ｓ４において、変更点情報４０のデータセットを確認する。そして、変更点情報４０が設定されていた場合には、プログラム２３に対して変更点情報４０の示す変更を行い、変更点情報４０を削除する。従って、制御ループ処理の基準周期１ループで処理可能なサイズのプログラム変更を行うことになる。
【００５０】
例えば、制御装置の制御ロジックの論理設定の間違いや論理設定の変更により、演算マクロの差し替えが必要となるときがあり、ＡＮＤをＯＲに変更とかＮＯＴの付加等の演算マクロの差し替えが必要となることがある。このような場合においては、論理演算のマクロコードの差し替えのみであり、プログラム本体の追加や削除は発生しないことから変更には時間を要しない。制御ロジックの差し替え時間は短いので機能プログラムの変更を短縮できる。
【００５１】
第３の実施の形態によれば、変更命令検出手段３５によりプログラムの変更点情報を把握して、制御のプログラム演算処理の基準周期１ループでプログラム変更を行うので、制御装置２１のプログラム演算を止めることなくプログラム変更を制御装置２１に書き込むことができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施の形態に係わる制御装置のメンテナンス装置の構成図。
【図２】本発明の第１の実施の形態における演算制御装置のブロック図。
【図３】本発明の第１の実施の形態におけるプログラムコード生成手段の生成するプログラムコードの説明図。
【図４】本発明の第１の実施の形態における制御装置内のプログラムの更新状態図の説明図。
【図５】本発明の第２の実施の形態に係わる制御装置のメンテナンス装置の構成図。
【図６】本発明の第２の実施の形態における制御装置に保持されるプログラムの説明図。
【図７】本発明の第２の実施の形態における制御装置の演算結果出力域の説明図。
【図８】本発明の第２の実施の形態における表示装置に表示された演算結果比較画面の一例を示す説明図。
【図９】本発明の第３の実施の形態に係わる制御装置のメンテナンス装置の構成図。
【図１０】本発明の第３の実施の形態における変更命令検出手段の処理内容の説明図。
【図１１】本発明の第３の実施の形態におけるプログラム制御手段の処理内容を示すフローチャート。
【図１２】従来のメンテナンス装置を示すブロック図。
【図１３】従来のメンテナンス装置における演算処理装置の詳細図。
【図１４】従来のメンテナンス装置におけるプログラムコード生成手段の生成するプログラムコードの説明図。
【符号の説明】
【００５３】
１１…メンテナンス装置、１２…入力装置、１３…表示装置、１４…演算処理装置、１５…プログラムソース、１６…プログラム編集手段、１７…機能毎のプログラムコード、１８…プログラムコード、１９…プログラムコード生成手段、２０…通信手段、２１…制御装置、２２…通信手段、２３…プログラム、２４…プログラム制御手段、２５…プログラムソースコード変換手段、２６…プログラムコード一本化手段、３１…プログラムコードポインタ設定手段、３２…プログラムアドレス管理テーブル、３３…機能毎プログラム、３４…予備エリア、３５…変更命令検出手段、３６、３７…変更点情報テーブル、３８…機能ｘのプログラムコード、３９…変更後の機能ｘのプログラムコード、４０…変更点情報、４１…プログラム受信手段、４２…演算結果出力域、４３…演算結果送信手段、４４…プログラム送信手段、４５…演算結果受信手段、４６…プログラム切替手段、４７…機能別のプログラム開始／終了アドレス保存域、４８…ワーク領域上の機能別のプログラム開始／終了アドレス格納域、４９…プログラム格納域、５０…ワーク領域、５１…通常演算結果出力域、５２…プログラム用演算結果出力域、５３…演算結果比較画面、５４…機能プログラム選択リスト、５５…プログラム変更前の演算結果、５６…プログラム変更後の演算結果、５７…機能プログラム切替ボタン
【図１】
2006301765.tif 000003
【図２】
2006301765.tif 000004
【図３】
2006301765.tif 000005
【図４】
2006301765.tif 000006
【図５】
2006301765.tif 000007
【図６】
2006301765.tif 000008
【図７】
2006301765.tif 000009
【図８】
2006301765.tif 000010
【図９】
2006301765.tif 000011
【図１０】
2006301765.tif 000012
【図１１】
2006301765.tif 000013
【図１２】
2006301765.tif 000014
【図１３】
2006301765.tif 000015
【図１４】
2006301765.tif 000016