(57)【要約】【課題】  プログラムの変更で必要となる予備領域を効率よく確保し、変更の必要となった機能プログラムのみを一旦停止させて変更を行うことができる制御装置のメンテナンス装置を提供することである。【解決手段】  演算処理装置１４は、プログラムソース１５をプログラムコードに変換するプログラムソースコード変換手段２５と、プログラムソースコード変換手段１５で変換された機能毎のプログラムコードから使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出しその使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出するプログラム予備確保手段２７と、プログラム予備確保手段２７で算出された予備サイズに基づいてプログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成するプログラムコード一本化手段２６とを備えている。【選択図】  図１
2006301764.tif 000002
【特許請求の範囲】
【請求項１】
制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備えた制御装置のメンテナンス装置において、前記演算処理装置は、プログラムソースをプログラムコードに変換するプログラムソースコード変換手段と、前記プログラムソースコード変換手段で変換された機能毎のプログラムコードから使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出しその使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出するプログラム予備確保手段と、前記プログラム予備確保手段で算出された予備サイズに基づいてプログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成するプログラムコード一本化手段とを備えたことを特徴とする制御装置のメンテナンス装置。
【請求項２】
制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備えた制御装置のメンテナンス装置において、前記演算処理装置は、プログラムソースをプログラムコードに変換するプログラムソースコード変換手段と、予備が必要な機能についての予備定義情報を指定する機能予備指定手段と、前記プログラムソースコード変換手段で変換された機能毎のプログラムコードと前記機能予備指定手段で指定された予備が必要な機能についての予備定義情報とから使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出しその使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出するプログラム予備確保手段と、前記プログラム予備確保手段で算出された予備サイズに基づいてプログラムの変更が必要ない機能については予備領域の確保せずにプログラムコードを作成するプログラムコード一本化手段とを備えたことを特徴とする制御装置のメンテナンス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置のプログラムのメンテナンスを行う制御装置のメンテナンス装置に関する。
【背景技術】
【０００２】
プラントの監視制御を司る制御装置のプログラムは、制御対象の機器や、インターロック、制御操作機能、入出力監視処理等により任意の複数機能に分割されている。制御装置内のメモリにはこれらの機能単位でプログラムが配置され、制御装置はそのように分割された複数機能のプログラムを順次実行することでプラントの監視制御を行っている。
【０００３】
特に、発電プラントのようにプラント動作中に制御装置を完全に停止させることが困難なプラントでは、制御装置のプログラム変更はプラント動作中には行わないことが望ましいが、プラント動作中にプログラムの変更が必要となった場合には、プラント制御への影響を極力おさえて実施できることが望ましい。
【０００４】
一般に、制御装置のメンテナンス装置において、制御装置のプログラムの変更を行う場合の方法として、制御装置内のプログラムを一旦全て停止させ全てのプログラムを書き換える方法と、変更の必要となった機能プログラムのみを一旦停止させて変更を行い再度動作させる方法の２通りの方法がある。
【０００５】
変更の必要となった機能プログラムのみを変更する方法は、予め機能毎にプログラム領域とそれに付属するプログラム変更に必要とされる予備領域を制御装置のメモリ上に確保しておき、プログラムの変更発生時に変更の必要となった機能プログラムのみを一旦停止させ、その機能プログラムの設定領域とその予備領域を使用しプログラムの変更を行い、変更した機能プログラムを再度動作状態に戻すことで行われる。
【０００６】
図４は従来の制御装置のメンテナンス装置の構成図である。メンテナンス装置１１は、制御装置のプログラムのメンテナンス操作を入力するための入力装置１２と、メンテナンス操作結果を表示するための表示装置１３と、プログラムのメンテンナンスの演算処理を行う演算処理装置１４と、制御装置２１側の通信手段２２と、プログラム制御手段２４とから構成される。
【０００７】
演算処理装置１４は、プログラムソース１５を編集するプログラム編集手段１６と、入力装置１２からの要求でプログラムソース１５から機能毎のプログラムコード１７およびプログラムコード１８を生成するプログラムコード生成手段１９と、入力装置１２からの要求で機能毎のプログラムコード１７やプログラムコード１８やＩ／Ｆコマンドを制御装置に送受信することができる通信手段２０とを備えている。
【０００８】
制御装置２１はプラントを制御するものであり、演算処理装置１４からプログラムコード１８やＩ／Ｆコマンドを送受信することができる通信手段２２と、受信したプログラム２３を用いて制御を行うことができるプログラム制御手段２４とを備えている。
【０００９】
図５は演算処理装置１４の詳細図である。プログラムコード生成手段１９は、図５のように、機能毎のプログラムソース１５から機能毎の制御装置特有のプログラムコード１７を生成するプログラムソースコード変換手段２５と、機能毎のプログラムコード１７がそれぞれ一律の上限サイズとなるように機能毎のプログラムコード１７と各機能毎のプログラムの予備領域とを１つのプログラムコード１８にまとめるプログラムコード１本化手段２６とを備えている。
【００１０】
図６は、プログラムコード生成手段１９の生成するプログラムコードの説明図である。プログラムコード生成手段１９のプログラムコード１本化手段２６は、図６に示すように機能毎のプログラムコード１７に対して、機能毎のプログラムコード１７がそれぞれ一律の上限サイズＡとなるように、機能毎のプログラムコード１７に、各機能毎のプログラム１７の予備領域を付加し、１つのプログラムコード１８にまとめる。
【００１１】
ここで、プログラマブルコントローラの複数のモジュールを同時にオンライン中に変更できるようにしたものがある。複数個のモジュールを格納することができるプログラムメモリ内の空き領域と、各実効モジュールの先頭番地を保持しているディレクトリとを備え、変更のためにあらかじめ空き領域内に作成された一つまたは複数のモジュールの先頭番地を、操作者のキー入力に応じて、ディレクトリ内の対応する複数の先頭番地に一括代入する（例えば、特許文献１参照）。
【００１２】
すなわち、制御装置への初回プログラム書き込み時に予備領域を含む１本化したプログラムコードを書き込んでおき、以降プログラムの変更が発生し、またこのときプラント運転中であった場合には、変更のあった制御ループのプログラムコードをそのプログラム領域とその予備領域を使用し制御ループ単位での上書き更新することで、プラント運転中において変更の有った制御ループ以外の制御プログラムの停止を行わないようにしプログラムの更新を実施する。
【特許文献１】特開平５−２２４７０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、従来のものでは、プログラムの変更で必要となる予備領域を予め確保する際に、一つの機能で使用可能領域の上限サイズを一律で決めておき、その範囲で未使用の領域を予備領域とすることになっていたため、プログラムサイズが大きいと予備領域が少なくなってしまう。また、機能によってはプログラムの変更が必要でない場合も予備領域が一律で確保されてしまい無駄な予備領域を確保されてしまう。
【００１４】
無駄な予備領域が増加すると必要な予備領域が確保できなくなり、変更の必要となった機能プログラムのみを一旦停止させて変更を行うことができなくなる。つまり、制御装置を停止しすべてのプログラムの再書き込みを行うこととなる。
【００１５】
本発明の目的は、プログラムの変更で必要となる予備領域を効率よく確保し、変更の必要となった機能プログラムのみを一旦停止させて変更を行うことができる制御装置のメンテナンス装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の制御装置のメンテナンス装置は、制御装置のプログラムのメンテナンス操作を入力するための入力装置と、メンテナンス操作結果を表示するための表示装置と、プログラムのメンテンナンスの演算処理を行う演算処理装置とを備えた制御装置のメンテナンス装置において、前記演算処理装置は、プログラムソースをプログラムコードに変換するプログラムソースコード変換手段と、前記プログラムソースコード変換手段で変換された機能毎のプログラムコードから使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出しその使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出するプログラム予備確保手段と、前記プログラム予備確保手段で算出された予備サイズに基づいてプログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成するプログラムコード一本化手段とを備えたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、機能毎に算出された使用比率と使用可能サイズとで機能毎の予備サイズを算出するので、プログラムコードサイズに応じて予備領域を適切に割り振ることができ、プログラムの変更で必要となる予備領域を適切に確保できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明に係る制御装置のメンテナンス装置の実施の形態を説明する。図１は本発明の第１の実施の形態に係わる制御装置のメンテナンス装置における演算処理装置の構成図である。この第１の実施の形態は、図５に示した従来例に対し、プログラムコード生成手段１９にプログラム予備確保手段２７とプログラムコード予備サイズ情報テーブル２８とを追加して設け、プログラムコード一本化手段２６は、プログラム予備確保手段２７で算出された予備サイズに基づいてプログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成するようにしたものである。
【００１９】
プログラムソース１５は機能毎のプログラムソースを格納しており、プログラムソースコード変換手段２５は、機能毎のプログラムソースを制御装置特有のプログラムコードに変換する。プログラムソースコード変換手段２５で変換された機能毎のプログラムコード１７は、プログラム予備確保手段２７に入力される。
【００２０】
プログラム予備確保手段２７は、プログラムソースコード変換手段２５で変換された機能毎のプログラムコード１７から使用済みのすべてのプログラムコードサイズに対する機能毎のプログラムコード使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出する。算出した予備サイズはプログラムコード予備サイズ情報テーブル２８に格納される。そして、プログラムコード一本化手段２６は、プログラム予備確保手段２７で算出された予備サイズに基づいてプログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成する。
【００２１】
プログラム予備確保手段２７での機能（ｘ）の予備サイズの算出方法は以下の通りである。
【００２２】
機能(x)の予備サイズ＝  機能(x)のコードサイズ ／ 全機能コードサイズ
×（全メモリサイズ−全機能コードサイズ）
図２は、制御装置のメンテナンス装置のプログラムコード生成手段１９で生成するプログラムコード１８の説明図である。プログラムコード一本化手段２６は、プログラム予備確保手段２７で算出された機能毎のプログラムコードの予備サイズ情報Ｂ１〜Ｂｎに基づいて、図２に示すように、プログラムコードを一本化する。すなわち、プログラムサイズが大きいほど予備領域を大きく確保したプログラムコードを作成する。
【００２３】
このような構成された第１の実施の形態において、プログラムソースコード変換手段２５で変換された機能毎のプログラムコード１７から使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出する。機能毎に算出された使用比率と使用可能サイズ（全メモリサイズ−使用済みの総プログラムコードサイズ）とで機能毎の予備サイズを算出し、その算出結果である予備サイズを機能毎のプログラムコード予備サイズ情報テーブル２８に更新する。
【００２４】
第１の実施の形態によれば、機能毎に算出された使用比率と使用可能サイズ（全メモリサイズ−使用済みの総プログラムコードサイズ）とで機能毎の予備サイズを算出し、その結果を機能毎のプログラムコードの予備サイズ情報テーブルに更新することで、プログラムサイズが大きい程、予備領域が大きく確保される。従って、プログラムコードサイズに応じて予備領域を適切に割り振ることができる。
【００２５】
すなわち、機能プログラムの変更箇所のサイズは、機能プログラムのサイズの大きさに応じて発生すると考えられるので、プログラムサイズの大きさに応じて予備領域を確保することで、変更により機能プログラムのサイズが大きくなっても予備領域が不足することはほとんどない。従って、機能プログラムの変更が発生した場合、その変更が発生した機能プログラムだけを停止して変更し、変更した機能プログラムに差し替えることができ、制御装置を停止することなく変更できる。
【００２６】
また、特許文献１のように１つの空き領域に変更後のプログラムコードを作成する方法では、プログラムコードが作成される度に空き領域が減少し、変更前のプログラムコードが記載された領域は、分散して存在しその領域は小さいため、新たなプログラムコードが変更前のプログラムコードよりサイズが小さい場合を除いて、その領域に作成することができない。
【００２７】
一方、本発明によると、制御装置上における各機能プログラム毎のメモリ領域が十分なサイズの固定領域として用意されているため、プログラムの変更、書き換えを繰り返した場合においても、プログラムサイズより小さく、プログラムの書き込み領域として再利用不可能なプログラム予備エリアが発生しない効果がある。
【００２８】
図３は本発明の第２の実施の形態に係わる制御装置のメンテナンス装置における演算処理装置の構成図である。第２の実施の形態は、図１に示した第１の実施の形態に対し、プログラムコード生成手段１９に機能予備指定手段２９および予備定義情報テーブル３０を追加して設け、プログラムの変更が必要ない機能については予備領域の確保をせずにプログラムコードを作成するようにしたものである。図１と同一要素には同一符号を付し重複する説明は省略する。
【００２９】
図３において、機能予備指定手段２９は、各機能毎のプログラム予備サイズを指定するものであり、機能予備指定手段２９で指定された予備定義情報は予備定義情報テーブル３０に格納される。
【００３０】
プログラム予備確保手段２７は、プログラムソースコード変換手段２５で変換された機能毎のプログラムコードと、機能予備指定手段２９で指定された予備が必要な機能についての予備定義情報とから使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出し、その使用比率と使用可能サイズとに基づいて機能毎の予備サイズを算出する。プログラムコード一本化手段２６は、プログラム予備確保手段２７で算出された予備サイズに基づいてプログラムの変更が必要ない機能については予備領域の確保せずにプログラムコードを作成する。
【００３１】
プログラム予備確保手段２７での機能（ｘ）の予備サイズの算出方法は以下の通りである。
【００３２】
機能(x)の予備サイズ＝  機能(x)のコードサイズ ／ 全機能コードサイズ
×（全メモリサイズ−全機能コードサイズ）
予備が必要ない機能は、機能予備指定手段２９により予備サイズを零とする。このような構成された第２の実施の形態において、プログラムソースコード変換手段２５で変換された機能毎のプログラムコード１７と機能毎の機能予備指定手段２９で指定された予備が必要な機能についての予備定義情報から使用済みの総プログラムコードサイズに対する機能毎のプログラムコード使用比率を算出する。機能毎に算出された使用比率と使用可能サイズ（全メモリサイズ−使用済みの総プログラムコードサイズ）とで機能毎の予備サイズを算出し、その結果を機能毎のプログラムコード予備サイズ情報テーブル２８に更新する。
【００３３】
第２の実施の形態によれば、第１の実施の形態に効果に加え、機能プログラムの変更を必要としないものについては予備領域が確保されないため、無駄な予備領域が確保されることがなくなる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施の形態に係わる制御装置のメンテナンス装置における演算処理装置の構成図。
【図２】本発明の第１の実施の形態に係わる制御装置のメンテナンス装置におけるプログラムコード生成手段で生成するプログラムコードの説明図。
【図３】本発明の第２の実施の形態に係わる制御装置のメンテナンス装置における演算処理装置の構成図。
【図４】従来のメンテナンス装置を示すブロック図。
【図５】従来のメンテナンス装置における演算処理装置の詳細図。
【図６】従来のメンテナンス装置におけるプログラムコード生成手段の生成するプログラムコードの説明図。
【符号の説明】
【００３５】
１１…メンテナンス装置、１２…入力装置、１３…表示装置、１４…演算処理装置、１５…プログラムソース、１６…プログラム編集手段、１７…機能毎のプログラムコード、１８…プログラムコード、１９…プログラムコード生成手段、２０…通信手段、２１…制御装置、２２…通信手段、２３…プログラム、２４…プログラム制御手段、２５…プログラムソースコード変換手段、２６…プログラムコード一本化手段、２７…プログラム予備確保手段、２８…プログラムコード予備サイズ情報、２９…機能予備指定手段、３０…予備定義情報テーブル
【図１】
2006301764.tif 000003
【図２】
2006301764.tif 000004
【図３】
2006301764.tif 000005
【図４】
2006301764.tif 000006
【図５】
2006301764.tif 000007
【図６】
2006301764.tif 000008