(57)【要約】【課題】エンジニアリングツールについて、ユーザ作成プログラムを何らの変更も加えずにそのまま利用できるようにすることで使い勝手の向上を図れるようにする。【解決手段】エンジニアリングツールは、予め用意されている標準関数ボックス１２に加えて、ユーザが任意に作成するユーザ関数ボックス１３を用いることができるようにすることで標準関数ボックスとユーザ関数ボックスが混在する混在制御ロジック１１を作成できるようにされるとともに、関数ボックスにおける入力線と出力線それぞれを、当該入力線と出力線上に外部変数１５の定義をなすことで連結線として用いることにより各関数ボックス間を連結するようにされ、そして外部変数の定義情報を解析して生成されるオンラインモニタ用情報解析ファイル１０に基づいてオンラインモニタのための表示をなすようにされている。【選択図】  図２
2010003073.tif 000002
【特許請求の範囲】
【請求項１】
制御ロジック編集部と制御ロジックモニタ部を備え、前記制御ロジック編集部で作成した制御ロジックを変換して得られる制御プログラムを制御装置に提供するとともに、前記制御プログラムを用いて前記制御装置でなされる制御の状態を前記制御ロジックモニタ部により前記制御ロジック上に表示してオンラインモニタを行えるようにされたエンジニアリングツールにおいて、
前記制御ロジック編集部は、予め用意されている標準関数ボックスに加えて、ユーザが任意に作成するユーザ関数ボックスを用いることができるようにされることで、前記標準関数ボックスとユーザ関数ボックスが混在する混在制御ロジックを作成できるようにされるとともに、前記関数ボックスにおける入力線と出力線それぞれを、当該入力線と出力線上に外部変数の定義をなすことで連結線として用いることにより制御ロジック上の前記各関数ボックス間を連結するようにされ、前記制御ロジックモニタ部は、前記外部変数の定義情報を解析して生成されるオンラインモニタ用情報解析ファイルに基づいて前記オンラインモニタのための表示をなすようにされていることを特徴とするエンジニアリングツール。
【請求項２】
前記ユーザ関数ボックスを定義付けるユーザ関数定義情報を記述することにより前記ユーザ関数ボックスへのユーザ作成プログラムの対応付けをなせるようにされていることを特徴とする請求項１に記載のエンジニアリングツール。
【請求項３】
前記混在制御ロジック上で制御構造文記号を記述できるようにされ、前記制御構造文記号が記述された関数ボックスについては、前記混在制御ロジックの前記制御プログラムへの変換時に該当の関数を該当の制御構造文で囲むようにされていることを特徴とする請求項１又は請求項２に記載のエンジニアリングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジニアリングツールに関し、例えば原子力発電プラントにおける制御装置などで用いるのに特に好適なエンジニアリングツールに関する。
【背景技術】
【０００２】
エンジニアリングツールは、制御ロジック編集部と制御ロジックモニタ部を有しており、制御装置で用いられる制御プログラム（これは汎用言語によるプログラムであるのが通常）の作成支援に機能し、また制御プログラムによる制御状態のオンラインモニタ（オンラインでのモニタリング）を支援するのに機能する（例えば特許文献１）。プログラム作成支援は、制御ロジック編集部により関数ボックスを用いてユーザが作成する制御ロジック（制御回路図）の変換で制御プログラムを生成するようにしてなされる。そのために、例えばＡＮＤやＯＲなどの標準関数ライブラリを用いて記述された制御ロジック専用言語として標準関数ボックスが用意されており、その標準関数ボックスの範囲で制御ロジックを作成し、また各標準関数ボックスに対応するようにモジュール化して用意されているプログラムの範囲で制御ロジックを変換して制御プログラムを生成できるようにされている。
【０００３】
ところで、原子力発電プラントにおける制御装置などのように制御規模が大きくなる制御装置で用いる制御プログラムの作成では、エンジニアリングツールに用意されている標準関数ボックスだけであると、ユーザが必要とする制御機能を十分に満足させるような制御プログラムを作成するのに不足する場合が少なからずある。その一方で、ユーザが必要とする制御機能については、ユーザにより作成された既存のプログラムがある場合も少なくない。
【０００４】
こうしたことから、既存のプログラムやユーザが任意に作成するプログラム、つまりユーザ作成プログラムも利用した制御プログラムの作成を可能とするために、標準関数ボックス以外の関数ボックスも用いた制御ロジックを作成できるようにする機能拡張がエンジニアリングツールに求められる。
【０００５】
例えば特許文献２に開示される「プラントエンジニアリングシステム」はそうした機能拡張要求に応える例である。特許文献２の「プラントエンジニアリングシステム」は、標準ファンクションブロック、既存言語ファンクションブロック、及び拡張ファンクションブロックが設けられたエディタを備えるとともに、既存言語ファンクションブロックの中身をプログラミングする既存言語エディタを備え、さらにエディタや既存言語エディタにて作成されたモジュールをコンパイルしてオブジェクトファイルを作成するコンパイラを備えており、異なる種類のエディタによりモジュールを作成して利用することを可能としている。
【０００６】
【特許文献１】特開２００３−６７００７号公報
【特許文献２】特開２００５−３２６９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
エンジニアリングツールによる制御プログラムの作成にユーザ作成プログラムも利用できるようにするについては、ユーザ作成プログラムに何らの変更も加えずにそのまま利用できるようにするのが使い勝手の上で望ましい。しかしこうした観点からすると、特許文献２の従来技術には不十分なものがある。すなわち特許文献２の「プラントエンジニアリングシステム」は、標準関数ボックス以外の関数ボックスの使用や既存プログラムの利用についてそれなりに機能拡張を実現しているものの、ユーザ作成プログラムを変更なしで利用するについて難があり、使い勝手が十分でない。
【０００８】
本発明は以上のような事情を背景になされたものであり、その課題は、エンジニアリングツールについて、ユーザ作成プログラムを何らの変更も加えずにそのまま利用できるようにすることで使い勝手の向上を図れるようにすることにある。
【課題を解決するための手段】
【０００９】
ユーザ作成プログラムを何らの変更も加えずにそのまま制御プログラムの作成に利用できるようにする上で問題になるのは、制御プログラムに取り込んだユーザ作成プログラムの部分についてのオンラインモニタである。すなわち、そのまま制御プログラムに取り込んだユーザ作成プログラムの部分のオンラインモニタも支障なく行えるようにするには、ユーザ作成プログラムに対応する関数ボックスであるユーザ関数ボックス間の連結及びユーザ関数ボックスと標準関数ボックス間の連結を適切になさせる必要がある。この関数ボックス間の連結問題について、本発明では、関数ボックスにおける入力線と出力線それぞれを、当該入力線と出力線上で外部変数を定義することで、連結線として用いることにより制御ロジック上の各関数ボックス間を連結するようにして解決する。そしてこれによりユーザ作成プログラムの変更なし利用を可能とする。
【００１０】
したがって本発明では上記課題を解決するために、制御ロジック編集部と制御ロジックモニタ部を備え、前記制御ロジック編集部で作成した制御ロジックを変換して得られる制御プログラムを制御装置に提供するとともに、前記制御プログラムを用いて前記制御装置でなされる制御の状態を前記制御ロジックモニタ部により前記制御ロジック上に表示してオンラインモニタを行えるようにされたエンジニアリングツールにおいて、前記制御ロジック編集部は、予め用意されている標準関数ボックスに加えて、ユーザが任意に作成するユーザ関数ボックスを用いることができるようにされることで、前記標準関数ボックスとユーザ関数ボックスが混在する混在制御ロジックを作成できるようにされるとともに、前記関数ボックスにおける入力線と出力線それぞれを、当該入力線と出力線上に外部変数の定義をなすことで連結線として用いることにより制御ロジック上の前記各関数ボックス間を連結するようにされ、前記制御ロジックモニタ部は、前記外部変数の定義情報を解析して生成されるオンラインモニタ用情報解析ファイルに基づいて前記オンラインモニタのための表示をなすようにされていることを特徴としている。
【００１１】
ユーザ作成プログラムを制御プログラムの作成に利用できるようにするには、ユーザ関数ボックスとユーザ作成プログラムの対応を何らかの手法で規定する必要がある。そのために本発明では、上記のようなエンジニアリングツールについて、前記ユーザ関数ボックスを定義付けるユーザ関数定義情報を記述することにより前記ユーザ関数ボックスへのユーザ作成のプログラムの対応付けをなすようにするものとしている。
【００１２】
制御プログラムに用いられるプログラムには制御構造文である場合がある。このような場合に対応するために本発明では、上記のようなエンジニアリングツールについて、前記混在制御ロジック上で制御構造文記号を記述できるようにされ、前記制御構造文記号が記述された関数ボックスについては、前記混在制御ロジックの前記制御プログラムへの変換時に該当の関数を該当の制御構造文で囲むようにするものとしている。
【発明の効果】
【００１３】
以上のような本発明によれば、エンジニアリングツールについて、ユーザ作成プログラムを何らの変更も加えずにそのまま利用できるようになり、使い勝手を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための形態について説明する。図１に、一実施形態によるエンジニアリングツールの構成をブロック図の形態で示す。本実施形態のエンジニアリングツール１は、制御ロジック編集部２、制御ロジックモニタ部３、及び解析ファイル生成部４を備えている。
【００１５】
制御ロジック編集部２は、制御ロジックの作成に機能し、標準関数ボックスとユーザ関数ボックスが混在する制御ロジックである混在制御ロジックを作成できるようにされている。すなわち制御ロジック編集部２は、例えばＡＮＤやＯＲなどの標準関数ライブラリを用いて記述された専用言語として予め標準的に用意されている標準関数ボックスに加えて、ユーザ関数ボックス（既存のプログラムやユーザが任意に作成するプログラムであるユーザ作成プログラムに対応してユーザが作成する関数ボックス）も用いて混在制御ロジックを作成できるようにされている。また制御ロジック編集部２は、混在制御ロジックを作成できるようにするのに伴って、ユーザ関数ボックスへのユーザ作成プログラムの対応付けをなせるようにされるとともに、混在制御ロジックにおけるユーザ関数ボックスと標準関数ボックス間の連結及びユーザ関数ボックス間の連結をなせるようにされている。
【００１６】
制御ロジック編集部２で作成された混在制御ロジックは、コンパイル機能により汎用言語によるプログラム５に変換される。そして混在制御ロジックにおけるユーザ関数ボックスに対応するユーザ作成プログラム６を汎用言語プログラム５にリンクさせることで制御プログラムが実行ファイル７として生成される。生成された実行ファイル７は、制御装置８に提供・装荷され、例えば原子力発電プラントなどのプラントの制御に用いられる。制御装置８は、データ記憶装置９が設けられており、実行ファイル７に基づいてなす制御に応じて制御対象から取得されるデータをデータ記憶装置９に格納するようにされている。
【００１７】
制御ロジックモニタ部３は、制御ロジック編集部２で作成された混在制御ロジック上にオンラインモニタのための表示を行うのに機能する。具体的には、実行ファイル７に基づいて制御装置８でなされる演算の実行状態を制御ロジック編集部２から与えられる混在制御ロジック上の各関数ボックスにける入力や出力に表示するのに機能する。
【００１８】
解析ファイル生成部４は、オンラインモニタ用情報解析ファイル１０を生成するのに機能する。オンラインモニタ用情報解析ファイル１０の生成は、混在制御ロジックの変換時に行われ、制御ロジックモニタ部３によるオンラインモニタのための表示に必要な情報を混在制御ロジックから取得してなされる。
【００１９】
図２に、制御ロジック編集部２におけるユーザ関数ボックスのユーザ作成プログラムに対する対応付けと関数ボックス間の連結についての機能の詳細、及び制御ロジックの変換についての詳細を示す。
【００２０】
制御ロジック編集部２は、それが表示する編集画面上で制御ロジックシート単位による混在制御ロジック１１の作成を可能とする。混在制御ロジック１１には標準関数ボックス１２とユーザ関数ボックス１３が混在する。そして、例えば関数名称、入力数、出力数などのユーザ関数定義情報１４によりユーザ関数ボックス１３を定義付けることができるようにされており、これによりユーザ関数ボックス１３にユーザ作成プログラム６（ユーザが作成してある既存のプログラム６ａやユーザが新規に作成するプログラム６ｂ）を対応付けることができるようにされている。
【００２１】
また、標準関数ボックス１２やユーザ関数ボックス１３における入力線と出力線を利用してユーザ関数ボックス間の連結やユーザ関数ボックスと標準関数ボックス間の連結をなせるようにしている。具体的には、入力線と出力線上でグローバル変数などの外部変数１５（図中ではｓ-１、ｓ-２、…などとして示されている）を例えばint、short、floatなどの変数型と変数名で定義することにより、それら入力線と出力線を連結線として用いることにより混在制御ロジック１１上の標準関数ボックス１２やユーザ関数ボックス１３間を連結できるようにしている。
【００２２】
ここで、外部変数１５は、ユーザ関数定義情報１４における入力数や出力数、それに標準関数ボックス１２やユーザ関数ボックス１３における入力線や出力線と属性が一致させられており、コンパイル機能による混在制御ロジック１１の汎用言語プログラム５への変換の際に利用され、またオンラインモニタ用情報解析ファイル１０の作成にも変数型や変数名称が利用される。
【００２３】
以上のような構成とすることにより、ユーザ作成プログラム６で使用していた外部変数をそのまま変数型や変数名称を変えずに混在制御ロジック１１に適用することが可能となる。そしてユーザ関数ボックス間の連結やユーザ関数ボックスと標準関数ボックス間の連結を適切になせるようになり、ユーザ作成プログラム６を何ら変更せずにそのまま制御プログラムの作成に利用することが可能となる。
【００２４】
混在制御ロジック１１は、上述のようにコンパイル機能により汎用言語プログラム５に変換される。その変換は、ユーザ関数定義情報１４と外部変数１５の定義情報に基づいてなされる。変換で得られた汎用言語プログラム５には、上述のように、混在制御ロジック１１におけるユーザ関数ボックス１３に対応するユーザ作成プログラム６がリンクされ、それにより実行ファイル７として制御プログラムが生成される。
【００２５】
図３に示すのは、制御構造文への対応についての構成例である。制御プログラムに利用しようとするユーザ作成プログラムに、例えばwhile，for文などのループ文や例えばif文などの条件文などのような制御構造文がある場合、制御構造文で囲まれた関数を一つのユーザ関数ボックスで記述することになると、ユーザ関数ボックス内の演算機能の規模が大きくなり、制御ロジックの理解が難しくなる。そこで制御構造文への適切な対応が必要となる。
【００２６】
これについて本実施形態では、混在制御ロジック１１上で制御構造文記号１６を記述できるようにする機能を制御ロジック編集部２に与えている。制御構造文記号１６は、対象の制御構造文を的確に表すように記述される記号であり、この制御構造文記号１６が記述された場合、混在制御ロジック１１を汎用言語プログラム５に変換するのに際し、制御構造文記号１６で指定された制御構造文１７により囲んだ関数への変換がなされ、これにより汎用言語プログラム５に制御構造文を取り込むことが可能となる。なお、図３の例は１枚の制御ロジックシートに記述されている混在制御ロジック１１におけるユーザ関数ボックス１３に対応するユーザ作成プログラムの全てが制御構造文の場合であるが、制御構造文が複数の制御ロジックシートにわたる場合、あるいは制御ロジックシート内の一部のユーザ関数ボックスに対応するユーザ作成プログラムが制御構造文である場合にも同様に対応することができる。
【００２７】
図４に示すのは、解析ファイル生成部４によるオンラインモニタ用情報解析ファイル１０の生成とオンラインモニタ用情報解析ファイル１０を用いて制御ロジックモニタ部３でなされるオンラインモニタのための表示についての構成である。
【００２８】
解析ファイル生成部４は、混在制御ロジック１１からオンラインモニタ用情報解析ファイル１０を生成する。オンラインモニタ用情報解析ファイル１０の生成は、コンパイル機能で混在制御ロジック１１を汎用言語プログラムに変換する際に行われ、混在制御ロジック１１を外部変数１５の定義情報について解析することでなされる。このようにして生成されるオンラインモニタ用情報解析ファイル１０は、外部変数１５について定義されている変数型と変数名が記録され、また制御装置８におけるデータ記憶装置９に関する外部変数１５それぞれのメモリアドレスがデータ格納情報として記録される。つまりオンラインモニタ用情報解析ファイル１０は、混在制御ロジック１１における標準関数ボックス１２やユーザ関数ボックス１３に対して定義された外部変数１５についての一覧表として生成される。
【００２９】
エンジニアリングツール１でオンラインモニタを行う場合にはオンラインモニタ起動処理により制御ロジックモニタ部３を起動させる。制御ロジックモニタ部３は、制御装置８で現在処理されている実行ファイル７に対応する混在制御ロジック１１を制御ロジック編集部２から受け取り、それをモニタ用制御ロジック１８として表示画面に表示し、そのモニタ用制御ロジック１８上に必要なデータを表示する。必要なデータの表示は、オンラインモニタ用情報解析ファイル１０を用いてなされる。具体的には、まずオンラインモニタのために表示する必要のある部位の外部変数のメモリアドレスをオンラインモニタ用情報解析ファイル１０から抽出する。それから抽出したメモリアドレスでデータ記憶装置９から必要なデータを読み出す。次いで、読み出したデータをオンラインモニタ用情報解析ファイル１０に記録されている変数型に変換し、それを現在の演算実行状態として該当の外部変数に対応する入力線や出力線に表示する。
【００３０】
図５に示すのは、エンジニアリングツール１の起動からオンラインモニタまでの概略的な手順である。手順Ｆ１でエンジニアリングツール１を起動する。エンジニアリングツール１を起動すると制御ロジック編集部２が起動するので、手順Ｆ２として制御ロジックの作成（新たな制御ロジックの作成又は既存の制御ロジックの編集）を行う。制御ロジックの作成を終えたら、手順Ｆ３としてコンパイル機能による制御ロジックの汎用言語プログラムへの変換がなされ、さらに汎用言語プログラムから実行ファイルが生成される。この変換処理に際しては解析ファイル生成部４によるオンラインモニタ用情報解析ファイルの生成が同時的になされる。生成された実行ファイルは手順Ｆ４において制御装置８に提供・装荷され、手順Ｆ５として制御装置８で実行ファイルに基づく演算が実行される。そして手順Ｆ６として、制御装置８が演算実行している状態で制御ロジックモニタ部３を起動させると、手順Ｆ７として上述のような演算実行状態の表示がなされ、オンラインモニタを行うことができる。
【００３１】
以上、本発明を実施するための形態について説明したが、これは代表的な例に過ぎず、本発明はその趣旨を逸脱することのない範囲で様々な形態で実施することができる。
【図面の簡単な説明】
【００３２】
【図１】一実施形態によるエンジニアリングツールの構成をブロック図の形態で示す図である。
【図２】制御ロジック編集部の機能の詳細を示す図である。
【図３】制御構造文の制御ロジックへの展開についての構成を示す図である。
【図４】オンラインモニタに関する構成を示す図である。
【図５】エンジニアリングツールでなされる処理の手順を示す図である。
【符号の説明】
【００３３】
１    エンジニアリングツール
２    制御ロジック編集部
３    制御ロジックモニタ部
４    解析ファイル生成部
６    ユーザ作成プログラム
７    実行ファイル（制御プログラム）
８    制御装置
１０    オンラインモニタ用情報解析ファイル
１１    混在制御ロジック
１４    ユーザ関数定義情報
１５    外部変数
１６    制御構造文記号
【図１】
2010003073.tif 000003
【図２】
2010003073.tif 000004
【図３】
2010003073.tif 000005
【図４】
2010003073.tif 000006
【図５】
2010003073.tif 000007