図面 (/)

技術 制御プログラムの検査方法および装置ならびにその検査プログラムの自動生成方法および装置

出願人 株式会社日立製作所
発明者 家伸一郎福田光子笠原孝保新堀俊明飛田治哉北川勝秀
出願日 1999年3月25日 (21年9ヶ月経過) 出願番号 1999-081545
公開日 2000年10月6日 (20年2ヶ月経過) 公開番号 2000-276224
状態 未査定
技術分野 制御系の試験・監視
主要キーワード 状態変更信号 疑似動作 タイムチャート表示 合格条件 検査対象信号 運転方案 発火条件 状態変化後
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2000年10月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

制御プログラム検査を容易に実行するための検査用プログラムを自動的に生成することにある。

解決手段

検査対象の制御プログラムの検査用プログラムを、以下の処理ステップによって所定のタイミングで信号の状態を変更して自動的に生成する。処理1:検査対象の制御プログラムにて参照・定義する、あるいは、制御対象機器の状態として定義する信号(データ)の時間変化を示すグラフであるタイムチャートを表示するためのデータに変換する。処理2:表示装置に表示されたタイムチャート上で、利用者入力装置を介して選択入力した状態変更のタイミングを与える信号と、該入力された各信号ついてのタイミングを与える状態変化あるいは状態値と条件成立後の遅れ時間、および、状態変更する信号とを読み込む。処理3:読み込んだデータに基づき雛形プログラムの所定の部分を置換え、検査用プログラムを生成する。

概要

背景

PLCなどにおいて実行する制御プログラムは、プラント制御対象機器の状態を検出する各種センサからの出力情報やプラントの運転員入力装置を介して入力する情報や外部の計算機から通信装置を介して入力される情報に基づき、プラントの機能仕様にしたがった演算を実行し、プラントの制御対象機器を操作するアクチュエータや、表示装置、外部の計算機に対して然るべき情報を出力する処理を実現する。このようなプラントの制御プログラムの処理により実現する機能を大まかにまとめると
(1)目的とする機能を実現するために機器を予め定める順序に操作する制御機能
(2)検出器やPLCなどの内部状態を表示装置に表示する監視機能
(3)入力装置を介して外部から入力されるデータに従い、運転モードを切り替えモード切り替え機能
に大別される。このような制御プログラムは、プラントの機能仕様や運転方案等をもとに設計・製作されるが、作成されたものがこれらの仕様満足するかどうか、あるいは、実際にプラントで実行しても不具合が発生しないかどうかを確認するためには検査が必要となる。本発明は、このような検査の方法に関するものであり、以下の説明では、上記(1)〜(3)の機能を実現する検査の対象とする制御プログラムあるいは制御ロジック検査対象プログラムと呼ぶ。上記(1)や(2)などの制御機能に対しては、従来、次のような方法で検査が行われていた。制御対象の機器に対してある信号を出力した時に、その結果として検出器から出力されるであろう信号を予め求めることが可能である。このことから、計算機上において制御対象の機器の動作を模擬するための検査用プログラムにより実現するシミュレータを作成し、検査対象プログラムを実際のプラントを制御するのと同様に擬似的に動作させる。この時の疑似動作結果を検査員が評価することにより検査が行われている。この様な方法は、例えば、特開平7−314284公報に開示されている。この技術によれば、検査対象プログラムの動作の結果として出力される制御信号に基づき駆動する制御対象の機器の動作に対応して、その結果として発生するであろう検出器の信号変化を予め時間の関数などの形で記憶するプラントシミュレータを用いて、擬似的に検査対象プログラムを実行する。これにより、模擬実行結果として、検査対象プログラムにて操作を行った信号の時間変化タイムチャートの形で表示装置に出力する。これにより、上記(1)や(2)に対応する処理に関する検査が実際に制御対象のプラントを使用することなく、計算機上で実行されていた。

概要

制御プログラムの検査を容易に実行するための検査用プログラムを自動的に生成することにある。

検査対象の制御プログラムの検査用プログラムを、以下の処理ステップによって所定のタイミングで信号の状態を変更して自動的に生成する。処理1:検査対象の制御プログラムにて参照・定義する、あるいは、制御対象機器の状態として定義する信号(データ)の時間変化を示すグラフであるタイムチャートを表示するためのデータに変換する。処理2:表示装置に表示されたタイムチャート上で、利用者が入力装置を介して選択入力した状態変更のタイミングを与える信号と、該入力された各信号ついてのタイミングを与える状態変化あるいは状態値と条件成立後の遅れ時間、および、状態変更する信号とを読み込む。処理3:読み込んだデータに基づき雛形プログラムの所定の部分を置換え、検査用プログラムを生成する。

目的

上記の制御対象機器のシミュレータを用い、制御プログラムを擬似的に実行する従来の検査方法の場合、前記の(3)のような、不確定な外部からの入力に対するPLCの応答の検査には向かないという欠点があった。すなわち、プラントの運転員からの入力や、制御対象の機器における異常発生は、PLCからの信号出力のタイミングには関係なく、任意に発生する事象である。このような事象に対する制御プログラムの検査を行うためには、検査対象プログラムを擬似的に実行しながら、事象を発生させるべきタイミングにおいて検査員が入力装置を介してデータを入力するか、または、事象を発生させるタイミングを予め正確に規定し、それにより事象を発生させる別の検査用プログラムをシミュレータに組込み、検査するという方法を取らなければならなかった。これらの方法により検査を実行する場合、検査員が常に入力装置の前で入力のタイミングを待つ必要があること、あるいは、検査員が目的とする事象発生のタイミングを正確に判断し、検査用プログラムをその都度作成する必要があることから、検査に多くの労力と時間を要するという問題があった。

本発明の課題は、検査対象の制御プログラムにおける処理を起点とせずに、任意に発生する事象を受けて処理を行う制御プログラムの機能について、その検査を容易に実行するための検査用プログラムを自動的に生成する検査プログラム自動生成方法および装置を提供することにある。さらに、本発明の他の課題は、自動生成した検査用プログラムを使用して制御プログラムの検査を自動化する制御プログラムの検査方法および装置を提供することにある。

効果

実績

技術文献被引用数
2件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

プラントを制御する制御プログラム検査する検査対象プログラムにおいて参照する信号の状態を所定のタイミングで変更する検査用プログラム自動生成方法であって、記憶装置に記憶する前記検査対象プログラムをシミュレーションにより実行した結果を読み込み、これに基づきタイムチャート表示装置に表示し、前記タイムチャートに対して入力装置を介して選択入力した情報に基づいて、前記の信号の状態を変更するタイミングのデータを組み込み、前記検査用プログラムを作成することを特徴とする制御プログラムの検査プログラムの自動生成方法。

請求項2

請求項1において、前記タイムチャートを表示装置に表示する処理において、前記シミュレーション実行結果の情報をもとに、制御プログラムにて参照・定義する、あるいは、制御対象機器の状態として定義する信号(データ)の時間変化を表示する情報と、入力装置からポインタにより指定した位置に対応するタイムチャート上の信号、あるいは、該信号の状態値、または、時刻識別するための情報を作成することを特徴とする制御プログラムの検査プログラムの自動生成方法。

請求項3

請求項1または請求項2において、表示装置に表示したタイムチャート上で利用者が入力装置を介して選択入力する情報は、(A)検査対象プログラムにて参照する信号であって、制御プログラムの検査のために、強制的にその状態を変更する信号、および、変更後の状態値(B) 該状態を変更する第1のきっかけを与える検査対象プログラムにて定義する信号(C) (B)の各信号についての、タイミングを与える状態変化あるいは状態値(ON、OFF、ON→OFF、OFF→ON、>閾値、=設定値、<閾値)の組合せ(D) (C)のタイミング成立後、実際に(A)で指定する信号の状態を変更するまでの遅れ時間であることを特徴とする制御プログラムの検査プログラムの自動生成方法。

請求項4

計算機上において制御対象機器の動作を模擬するシミュレータを用いて、制御プログラムの検査を行う制御プログラムの検査方法であって、前記制御プログラムを検査する検査対象プログラムにおいて参照する信号の状態を所定のタイミングで変更して生成する検査用プログラムを、その生成時において使用したタイムチャートに対応するシミュレーションの開始時の信号の状態と制御対象機器の状態とを関連付けて記憶し、検査実行時に前記制御対象機器の初期状態値の情報を記憶装置から読み込み、前記検査用プログラムとともにシミュレーションを実行することを特徴とする制御プログラムの検査方法。

請求項5

請求項4において、第1の前記検査用プログラムにより信号の状態を変更することにより発生する検査対象プログラムの所定の動作が正常に完了したかどうかを示す信号である「検査完了信号」を定義し、前記信号に対して検査の完了を判定する第2の検査用プログラムを自動生成し、前記シミュレータにおいて前記第2の検査用プログラムと前記第1の検査用プログラムを同時に実行し、シミュレーションの終了時に「検査完了信号」の状態に応じて、検査対象制御プログラムの検査の合否を記憶装置に書き込むことを特徴とする制御プログラムの検査方法。

請求項6

データ入力装置4と、表示装置5と、検査対象の制御プログラムの処理および制御プログラムにて操作・参照する機器(信号)の状態の変化を模擬実行した結果を保持する模擬実行結果記憶部36、前記制御プログラムで参照する信号に対して所定のタイミングでその状態を変更する検査用事象発生プログラムを保持する検査用(事象発生)プログラム記憶部37、前記検査用(事象発生)プログラムの自動生成のために必要なデータを保持する事象発生条件記憶部35を有するデータ格納装置3と、模擬実行結果を表示装置に表示するためのタイムチャートの形に変換する機能を有するタイムチャート生成処理部22、利用者が入力する事象発生条件の情報を読み込み、前記事発生条件記憶部に出力する事象発生条件入力処理部23、検査用(事象発生)プログラムを生成する機能を有するプログラム生成処理部24を有するデータ処理装置2からなることを特徴とする制御プログラムの検査用プログラムの自動生成装置

請求項7

請求項6において、前記の各処理部は、次の機能を有することを特徴とする制御プログラムの検査用プログラムの自動生成装置。タイムチャート生成処理部22:模擬実行結果記憶部に記憶するシミュレーションの実行結果の情報に基づき、検査対象の制御プログラムにて参照・定義する、あるいは、制御対象機器の状態として定義する信号(データ)の時間変化を表示するためのデータに変換する機能と、入力装置からポインタにより指定した位置に対応するタイムチャート上の信号、あるいは、該信号の状態値、または、時刻を識別するための情報を作成する機能。事象発生条件入力処理部23:表示装置に表示されたタイムチャート上で、利用者が入力装置を介して選択入力する、状態を変化させるタイミングを与える信号と、該入力された各信号ついてのタイミングを与える状態変化あるいは状態値と、条件成立後の遅れ時間を、状態を変化させる信号と合わせて事象発生条件記憶部に出力する機能。プログラム生成処理部24:事象発生条件記憶部からデータを読み込み、それらのデータに基づき予め保持する雛形プログラムの所定のデータを置換えることにより検査用(事象発生)プログラムを生成し、検査用(事象発生)プログラム記憶部に出力する機能。

請求項8

データ入力装置と、表示装置と、検査対象の制御プログラムの処理および制御プログラムにて操作・参照する機器(信号)の状態の変化を模擬実行した結果を保持する模擬実行結果記憶部、制御プログラムで参照する信号に対し所定のタイミングでその状態を変化させる検査用(事象発生)プログラムを保持する検査用(事象発生)プログラム記憶部、前記検査用(事象発生)プログラムの自動生成のために必要なデータを保持する事象発生条件記憶部、自動検査時の検査の合否を保持する検査不合格データ記憶部を有するデータ格納装置と、制御プログラムを模擬的に実行する機能、および、制御プログラムの信号状態に基づき制御対象機器の動作を模擬し対応する信号の状態を変更する機能、および、前記検査用(事象発生)プログラムに基づき所定のタイミングで信号の状態を変更する機能を有するシミュレーション実行処理部、シミュレーションの結果を表示装置に表示するタイムチャートの形に変換する機能を有するタイムチャート生成処理部、利用者が入力する事象発生条件の情報を読み込み、前記事象発生条件記憶部に出力する事象発生条件入力処理部、前記検査用(事象発生)プログラムを生成する機能を有するプログラム生成処理部、自動検査を進行管理を行う自動検査制御処理部を有するデータ処理装置からなることを特徴とする制御プログラムの検査装置

請求項9

請求項8において、前記タイムチャート生成処理部、事象発生条件入力処理部およびプログラム生成処理部は、次の機能を有することを特徴とする制御プログラムの検査装置。タイムチャート生成処理部:シミュレーション実行処理部にてシミュレーションを実行した結果を保持する模擬実行結果記憶部の情報をもとに、検査対象の制御プログラムにて参照・定義する、あるいは、制御対象機器の状態として定義する信号(データ)の時間変化を表示するためのデータに変換する機能と、入力装置からポインタにより指定した位置に対応するタイムチャート上の信号、あるいは、該信号の状態値、または、時刻を識別するための情報を作成する機能。事象発生条件入力処理部:表示装置に表示されたタイムチャート上で、利用者が入力装置を介して選択入力する、状態を変化させるタイミングを与える信号と、該入力された各信号ついてのタイミングを与える状態変化あるいは状態値と、条件成立後の遅れ時間を、状態を変化させる信号と合わせて事象発生条件記憶部に出力する機能。プログラム生成処理部:事象発生条件記憶部からデータを読み込み、それらのデータに基づき予め保持する雛形プログラムの所定のデータを設定することにより検査用(事象発生)プログラムを生成し、検査用(事象発生)プログラム記憶部に出力する機能。

--

0001

本発明は、プラントの制御に使用するプログラマブルコンピュータ(以下、PLCという。)やプロセスコンピュータにおいて実行するプログラムを、実際に実行環境において動作させる前に、すなわち、設計・製造の段階において検査をするために使用する検査用プログラム自動生成方法およびその装置、ならびに、それを用いる制御プログラム検査方法およびその装置に関する。

背景技術

0002

PLCなどにおいて実行する制御プログラムは、プラントの制御対象機器の状態を検出する各種センサからの出力情報やプラントの運転員入力装置を介して入力する情報や外部の計算機から通信装置を介して入力される情報に基づき、プラントの機能仕様にしたがった演算を実行し、プラントの制御対象機器を操作するアクチュエータや、表示装置、外部の計算機に対して然るべき情報を出力する処理を実現する。このようなプラントの制御プログラムの処理により実現する機能を大まかにまとめると
(1)目的とする機能を実現するために機器を予め定める順序に操作する制御機能
(2)検出器やPLCなどの内部状態を表示装置に表示する監視機能
(3)入力装置を介して外部から入力されるデータに従い、運転モードを切り替えモード切り替え機能
に大別される。このような制御プログラムは、プラントの機能仕様や運転方案等をもとに設計・製作されるが、作成されたものがこれらの仕様満足するかどうか、あるいは、実際にプラントで実行しても不具合が発生しないかどうかを確認するためには検査が必要となる。本発明は、このような検査の方法に関するものであり、以下の説明では、上記(1)〜(3)の機能を実現する検査の対象とする制御プログラムあるいは制御ロジック検査対象プログラムと呼ぶ。上記(1)や(2)などの制御機能に対しては、従来、次のような方法で検査が行われていた。制御対象の機器に対してある信号を出力した時に、その結果として検出器から出力されるであろう信号を予め求めることが可能である。このことから、計算機上において制御対象の機器の動作を模擬するための検査用プログラムにより実現するシミュレータを作成し、検査対象プログラムを実際のプラントを制御するのと同様に擬似的に動作させる。この時の疑似動作結果を検査員が評価することにより検査が行われている。この様な方法は、例えば、特開平7−314284公報に開示されている。この技術によれば、検査対象プログラムの動作の結果として出力される制御信号に基づき駆動する制御対象の機器の動作に対応して、その結果として発生するであろう検出器の信号変化を予め時間の関数などの形で記憶するプラントシミュレータを用いて、擬似的に検査対象プログラムを実行する。これにより、模擬実行結果として、検査対象プログラムにて操作を行った信号の時間変化タイムチャートの形で表示装置に出力する。これにより、上記(1)や(2)に対応する処理に関する検査が実際に制御対象のプラントを使用することなく、計算機上で実行されていた。

発明が解決しようとする課題

0003

上記の制御対象機器のシミュレータを用い、制御プログラムを擬似的に実行する従来の検査方法の場合、前記の(3)のような、不確定な外部からの入力に対するPLCの応答の検査には向かないという欠点があった。すなわち、プラントの運転員からの入力や、制御対象の機器における異常発生は、PLCからの信号出力のタイミングには関係なく、任意に発生する事象である。このような事象に対する制御プログラムの検査を行うためには、検査対象プログラムを擬似的に実行しながら、事象を発生させるべきタイミングにおいて検査員が入力装置を介してデータを入力するか、または、事象を発生させるタイミングを予め正確に規定し、それにより事象を発生させる別の検査用プログラムをシミュレータに組込み、検査するという方法を取らなければならなかった。これらの方法により検査を実行する場合、検査員が常に入力装置の前で入力のタイミングを待つ必要があること、あるいは、検査員が目的とする事象発生のタイミングを正確に判断し、検査用プログラムをその都度作成する必要があることから、検査に多くの労力と時間を要するという問題があった。

0004

本発明の課題は、検査対象の制御プログラムにおける処理を起点とせずに、任意に発生する事象を受けて処理を行う制御プログラムの機能について、その検査を容易に実行するための検査用プログラムを自動的に生成する検査プログラムの自動生成方法および装置を提供することにある。さらに、本発明の他の課題は、自動生成した検査用プログラムを使用して制御プログラムの検査を自動化する制御プログラムの検査方法および装置を提供することにある。

課題を解決するための手段

0005

上記課題を解決するために、検査対象プログラムにおいて参照する信号の状態を所定のタイミングで変更する検査用プログラムの自動生成であって、記憶装置に記憶する検査対象プログラムをシミュレーションにより実行した結果を読み込み、これに基づきタイムチャートを表示装置に表示し、タイムチャートに対して入力装置を介して選択入力した情報に基づいて、前記の信号の状態を変更するタイミングのデータを組み込み、検査用プログラムを作成する。また、計算機上において制御対象の機器の動作を模擬するシミュレータを用いて、制御プログラムの検査を行う制御プログラムの検査であって、制御プログラムを検査する検査対象プログラムにおいて参照する信号の状態を所定のタイミングで変更して生成した検査用プログラムを、その生成時において使用したタイムチャートに対応するシミュレーションの開始時の信号の状態と制御対象機器の状態とを関連付けて記憶し、検査実行時に制御対象機器の初期状態値の情報を記憶装置から読み込み、検査用プログラムとともにシミュレーションを実行する。ここで、第1の検査用プログラムにより信号の状態を変更することにより発生する検査対象プログラムの所定の動作が正常に完了したかどうかを示す信号である「検査完了信号」を定義し、前記信号に対して検査の完了を判定する第2の検査用プログラムを自動生成し、シミュレータにおいて第2の検査用プログラムと第1の検査用プログラムを同時に実行し、シミュレーションの終了時に「検査完了信号」の状態に応じて、検査対象制御プログラムの検査の合否を記憶装置に書き込む。

0006

本発明は、検査対象プログラムに対して過去に実行したシミュレーション結果をもとに表示する、検査対象プログラムあるいはシミュレータで扱う信号の時間変化を示すタイムチャートを利用し、このタイムチャートに対して利用者が入力する情報に基づき、利用者が意図する時点で目的とする信号の状態を切り替える事象発生プログラムである検査用プログラムを自動生成する方法である。ここで、検査に使用するシミュレータも一種の検査用プログラムであるが、本発明では、事象発生プログラムのみを自動生成の対象とすることから、以下の説明では特に断らない限り、検査用プログラムは事象発生プログラムのことを表わすこととする。本発明において自動生成の対象とする検査用プログラムは、従来から検査員により手作業で作成されていた。これは、検査員がユーザー入力や機器異常に対応する目的の検査対象プログラムの信号を判断して、然るべきタイミングでその信号の状態を変化させるプログラムを作成、すなわち、手作業でコーディングすることにより実現していた。ここで、このタイミングを決定する要因は、イベント発生トリガとなる信号の変化と、その信号変化からイベント発生までの時間遅れの二つに集約することができる。ここで、信号とは、検査対象プログラムの内部で使用される信号、あるいは、機器の動作を模擬するシミュレータの内部で使用する信号のいずれか、あるいは、それらの組合せである。また、この信号は、ON、OFF(または、0,1)などの2値を取り得るものと、数値など3つ以上の値を取り得るものの2通りに分類できる。本発明は、検査用プログラムの自動生成に必要となる情報を整理し、それらに応じた雛形のプログラムを予め用意し、目的とする信号の状態値の変更に必要な情報をタイムチャート及び利用者である検査員が入力装置を介して入力するデータから収集し、これに基づき雛形のプログラムにおける所定の信号値などを置換えることにより、検査用プログラムを生成する。タイムチャートを利用し、検査用プログラムを自動生成するために必要な条件、すなわち、情報を整理すると、以下のようになる。
(A) 状態を変更する信号、および、変更後の状態値
(B) 状態を変更する第1のきっかけとなるタイミングを与える信号
(C) (B)の各信号についての、目的とするタイミングにおける状態変化あるいは状態値の組合せ
(ON、OFF、ON→OFF、OFF→ON、>閾値、=設定値、<閾値)
(D) (C)のタイミング成立後、実際に(A)で指定する信号を変化させるまでの遅れ時間
したがって、利用者である検査員がこれらの情報を容易に指定でき、かつ、これらの情報を管理できれば、検査用プログラムの自動生成が可能となるわけである。本発明の検査用プログラムの自動生成方法は、以下の処理ステップにより構成される。
処理1:シミュレーション実行処理部で検査対象プログラムの処理および検査対象プログラムにて操作・参照する機器(信号)の状態の変化を模擬し、この時のタイムチャート出力信号記憶部に保持する信号について、その状態値の時間変化を模擬実行結果記憶部に出力する。
処理2:タイムチャート生成処理部が模擬実行結果記憶部に保持する情報をもとに、タイムチャートを表示装置に表示する。
処理3:表示装置に表示されたタイムチャート上で、利用者が入力装置を介して選択入力する前記(B)の状態を変化させるタイミングを与える信号と、(C)の入力された各信号ついてのタイミングを与える状態変化あるいは状態値と、(D)の遅れ時間を、(A)の状態を変化させる信号と合わせて事象発生条件記憶部に出力する。
処理4:プログラム処理部が事象発生条件記憶部からデータを読み込み、それらのデータに基づき検査用プログラムを生成し、検査用プログラム記憶部に出力する。
ここで、上記の処理2で表示するタイムチャートとは、検査対象プログラムにて参照・定義する、あるいは制御対象機器の状態として定義する信号(データ)の時間変化を示すグラフである。また、このタイムチャートには、タイムチャート表示信号記憶部に保持する信号を表示する。さらに、マウスなどの入力装置から入力する位置データに連動し、表示装置の画面上の表示位置を移動するポインタをタイムチャートと同時に表示し、利用者による画面上の位置の指定により、どの信号が、あるいは、信号の状態値、または、時刻が選択されたかが識別できるようにする。すなわち、画面上に表示するタイムチャートのデータとして、ポインタの位置と前記の値の関係を示すデータを持たせ、これをもとに利用者が選択したものを識別する。これにより、事象発生のタイミングを詳細に定義する情報をタイムチャートから選択し、入力を可能とする。また、上記の処理4では、予め信号名や遅れ時間などの部分を変数として取り扱うことができる検査用プログラムの雛形(テンプレート)を用意し、処理3にて入力されたデータに基づき雛形を選択する。さらに、雛形の検査用プログラムの変数部分に処理3で入力したデータにて置き換えることにより目的とする検査用プログラムを自動的に生成する。

0007

また、本発明は、前記の方法により自動生成した検査用プログラムにより検査対象の制御プログラムあるいは制御ロジックを自動的に検査する、制御プログラムの検査方法である。すなわち、前記の処理により検査用プログラムを自動生成し、これとシミュレータにより目的とするイベント発生、すなわち外部からのデータ入力を模擬するシミュレーション実行し、この結果をさらに分析することにより検査を実行する。以下に、この方法について説明する。まず、検査条件、すなわち、シミュレーション条件自動設定方法について述べる。一般にシミュレーションを行う場合、検査対象プログラムが同一のものであっても、模擬の対象とする各信号や、制御対象機器の初期状態が相違すると、その模擬実行結果も同一とはならない。このことから、前記の方法で検査用プログラムを自動生成しても、利用者が意図するタイミングで事象を発生させることができるとは限らないと云える。このことから、本発明の制御プログラムの検査方法は、シミュレーション実行処理部にて模擬する信号および制御対象機器の状態と同期して、検査用プログラムに従い目的とする信号の状態を変更する機能を備え、前記の処理1のシミュレーション実行時に、シミュレーション開始時の信号の状態と制御対象機器の状態を前記の模擬実行結果記憶部に出力する処理を行い、さらに、前記処理4の検査用プログラム自動生成後に、シミュレーション実行処理部が模擬実行結果記憶部から信号の状態と制御対象機器の状態をそれぞれ読み込み、検査用プログラムと同期してシミュレーションを実行し、この結果を模擬実行結果記憶部に出力する処理5を行う。さらに、処理5の後に前記処理2と同様にして表示装置にタイムチャートを表示する。利用者は、表示されたタイムチャートを見ることにより、目的としたイベントの発生時に検査対象プログラムが正しく動作したかどうかを検査することができる。次に、このような利用者による検査結果の判定は、前記の検査用プログラムの事象発生条件と同様の考え方により自動化することが可能である。すなわち、前記の条件(A)〜(D)のうち、(A)の状態を変化させる信号として、検査対象プログラム、あるいは、制御対象機器状態とは別に、「検査完了信号」を定義して用い、(B)、(C)の信号及び条件として、検査が完了したと判定できる条件を指定し、これらの条件をもとに、前記の処理4と同様な方法で検査完了を判定する第2の検査用プログラムを自動生成する。そして、前記の処理5において、シミュレーション実行処理部でこの第2の検査用プログラムも同期させて実行し、この結果として検査完了信号の状態値が変化しておれば、検査対象プログラムは検査を完了したと判定することができる。すなわち、自動的に制御プログラムを検査することが可能となる。

発明を実施するための最良の形態

0008

以下、本発明の実施形態を図面を用いて説明する。図2は、本発明の第1の実施形態による検査用プログラム自動生成装置の構成を示すブロック図である。図2において、検査用プログラム自動生成装置1は、データ処理装置2、データ格納装置3、データ入力装置4、表示装置5、通信制御装置6から構成する。データ処理装置2は、シミュレーション実行処理部21、タイムチャート生成処理部22、事象発生条件入力処理部23、プログラム生成処理部24、データ入出力処理部25の各処理部を有する。各処理部の機能については、後で詳細に説明する。データ格納装置3は、検査対象制御プログラム記憶部31、制御対象機器動作データ記憶部32、タイムチャート表示信号記憶部33、検査対象信号記憶部34、事象発生条件記憶部35、模擬実行結果記憶部36、検査用プログラム記憶部37からなり、各記憶部はそれぞれ所定のデータを記憶する。なお、本実施形態においては、検査用プログラムを事象発生プログラムと呼ぶ。各記憶部に保持するデータについては、後で順を追って詳細に説明する。データ入力装置4は、キーボードおよびマウスで構成する。表示装置5はCRTで構成し、タイムチャートやデータ入力画面を表示する機能を有する。通信通信制御装置6は、本実施形態の検査用プログラム自動生成装置1に通信回線を介して接続する制御プログラムの編集装置(図示せず)などとの間で、データ授受を制御する機能を有する。

0009

本実施形態の検査用プログラム自動生成装置1において、検査の対象とする制御プログラムは、この制御プログラムの編集装置において作成するものである。したがって、利用者が検査を実行するときは、まず、制御プログラムの編集装置で作成した検査対象プログラムを通信制御装置6を介してデータ格納装置3の検査対象制御プログラム記憶部31に書き込む。データ入出力処理部25は、このような外部の装置とデータ格納装置3との間でデータの通信などの処理を行う機能、および、各処理部の起動・終了などの制御管理を行う機能を有する。なお、本実施形態は、各処理部をアプリケーションプログラム、各記憶部をハードディスクなどに記憶するファイルとしてパーソナルコンピュータ上に実現することが可能である。

0010

図3は、検査対象の制御プログラムの一例を示す図である。また、図4は、このプログラムによって制御するプラントの機器の構成を模式的に示した図である。図3のプログラムは、SFCシーケンシャルファンクションチャート)と呼ばれる形式記述された制御プログラムであり、「運転開始指令信号ON」により「バルブA開」指令を出力し、「液位計信号ON」により「バルブA閉」指令、「バルブB開」指令、「処理装置起動」指令を出力する、といった制御のロジックを表わしている。

0011

制御対象機器動作データ記憶部32は、検査対象プログラムにより出力される信号に基づいて動作する制御対象機器の振る舞い、すなわち、機器に対する指令信号と対応する検出器の信号の関係のデータを保持する。これは、例えば前に説明した従来の検査装置などと同じものが利用できる。図4の場合では、バルブA、バルブBの状態と、液位計から出力される信号の関係などの情報を保持する。シミュレーション実行処理部21は、検査対象プログラム記憶部31、制御対象機器動作データ記憶部32および事象発生プログラム記憶部37から、検査対象プログラム、制御対象機器動作データ、事象発生プログラムをそれぞれ読み込み、これらを同期させて検査対象の制御プログラムを模擬的に実行する機能を有する。また、シミュレーションの実行前に、模擬実行結果記憶部36から全ての信号の初期状態の値を読み込む機能、および、タイムチャート表示信号記憶部33から信号名のデータを読み込み、それらの信号についてのシミュレーション実行中における時刻と状態値の変化の関係、すなわち、タイムチャートの表示に必要な情報を模擬実行結果記憶部36に出力する機能を有する。なお、本実施形態では、タイムチャート表示信号記憶部33、模擬実行結果記憶部36に保持する信号及び初期値のデータは、それぞれ通信制御装置6を経由し、外部の装置より書き込む。タイムチャート生成処理部22は、模擬実行結果記憶部36よりシミュレーションの結果を読み込み、表示装置5にタイムチャートを表示するためのデータを生成する機能を持つ。この表示データは、入力装置5のマウスにて表示装置5の画面上の位置を指定・選択入力するときに、その位置に対応する時刻、信号、信号状態の値が識別できるデータの構造を持つ。事象発生条件入力処理部23は、表示装置5の画面上にデータ入力画面を表示し、利用者がデータ入力装置4を介して入力する、前に説明した事象発生条件の情報を事象発生条件記憶部35に書き込む機能を有する。この時、信号や時刻などの情報は、表示装置5の画面上に表示するタイムチャートに対して、利用者がマウスで指定する位置から判別する。なお、事象発生により信号の状態を変化させる検査対象信号は、検査対象信号記憶部34に保持し、事象発生条件入力処理部23は、この検査対象信号を読み込み、データ入力画面に表示する。また、本実施形態では、検査対象信号記憶部34に保持するデータは、通信制御装置6を介して外部の装置から入力する。プログラム生成処理部24は、事象発生条件記憶部35からデータを読み込み、事象発生プログラムを生成する機能を持つ。プログラムを生成する処理の詳細は、後で例を用いて説明する。プログラム生成処理部24は、生成した事象発生プログラムを事象発生プログラム記憶部37に書き込む。

0012

次に、本実施形態における処理の流れを説明する。なお、以下の説明では、検査対象プログラム、制御対象機器動作データ、タイムチャート表示信号、検査対象信号は、それぞれの記憶部31〜34に書き込み済みであり、さらに、シミュレーション実行処理部21において、それらデータに対応するシミュレーションを実行し、その結果が模擬実行結果記憶部36に書き込まれているものとする。図1は、本実施形態の処理の流れを示すフローチャートである。以下、図1を用いて本実施形態の処理の流れを詳細に説明する。ステップ201では、タイムチャート生成処理部22が模擬実行結果記憶部36からシミュレーション結果を読み込み、表示装置5にタイムチャートを表示する。図6は、表示装置5に表示するタイムチャート画面900の一例であり、図4に示す構成を有するプラントを対象とする図3および図5に示す検査対象の制御プログラムをシミュレートした結果をタイムチャートとして表示したものである。ここで、図5は検査対象の制御プログラムの一例である。本実施形態においては、検査対象信号記憶部34に記憶する検査対象信号は、「バルブA開信号」、「バルブA閉信号」、「液位計信号」、「バルブB開信号」、「バルブB閉信号」、「処理装置故障信号」「液位計算値」である。ここで、「液位計算値」は、制御対象機器動作データをもとに計算されるタンク液面高さの値である。次に、ステップ202で事象発生条件入力処理部23が検査対象信号記憶部34から検査対象信号を読み込み、事象発生条件入力画面を表示装置5にタイムチャート表示画面900と同時に表示する。本実施形態では、「処理装置故障信号」が検査対象信号として検査対象信号記憶部34に保持されているものとする。図7は、この時の表示装置5に表示する画面910の一例を示す図である。利用者は、この画面に表示する項目についてポインタ917をデータ入力装置4のマウスで操作し、選択入力を行うことにより、事象発生プログラムの生成に必要なデータを設定する。図7の画面910において、911は検査対象信号候補表示部であり、検査対象信号記憶部34から読み込まれた検査対象信号の名称が表示される。利用者は、まずこれらの候補から検査対象の信号を一つ選択する。912にはこの時の選択結果が表示され、この場合は「処理装置故障信号」が選択されたことを示している。913には選択した信号が事象発生後どのような状態に変化させるかを選択する部分であり、この場合、事象発生後に信号を「ON」状態に変化させるように設定されたことを示している(2重丸が選択されていることに対応する。)。次に、利用者は、タイムチャート表示画面900(図6)上で、ポインタ901を移動させて、事象を発生させるタイミングを指定する。この時事象発生条件入力処理部23は、ポインタ901(図5)の位置に対応する時刻における各信号の状態値を、事象発生条件入力画面910のトリガ信号候補表示部914に表示する。利用者は、914から事象発生に関連させる信号を選択する。915には選択結果を表示する。図7の場合、「液位計算値」が選択されたことを示している。次に、利用者は、915に選択した各信号について、補足的な条件をタイミング入力部916において選択入力する。利用者が以上の事象発生条件の選択入力を完了し、「プログラム生成」ボタン918をクリックすることにより、事象発生条件入力処理部23は、利用者が入力した事象発生条件を読み込み、事象発生条件記憶部35に書き込む。図7の条件の場合は、以下の情報が書き込まれる。
「検査対象信号:(処理装置故障信号)
トリガ信号数:1
トリガ信号1:(液位計算値)
トリガ信号1発火条件:>2000
遅延時間:2」
次に、ステップ203では、プログラム生成処理部24が事象発生条件記憶35から条件を読み込み、事象発生プログラムを生成する。事象発生条件記憶35に記憶する条件は、プログラムの生成が容易な形式に整理されていることから、それらの条件を組み合せることにより、目的とするプログラムを生成することが可能である。上記の図7に対応する条件の場合、生成されるプログラムは、概ね以下の様なものになる。
「If (液位計算値)>2000Then …
TriggerFlag=ON
TimerStartTime=Now()
Else
TriggerFlag=OFF
EndIf
If TriggerFlag=ONThen
If TimerStart+2<Now()Then …
(処理装置 故障信号)=ON
EndIF
EndIf」
上記のの条件部分を事象発生条件に基づき設定すると共に、の時定数を適当な値に設定することにより、事象発生条件に応じたプログラムを生成することが可能である。また、シミュレーション実行処理部21においてシミュレーションを実行する時は、上記のプログラムを周期的に呼出すことにより、利用者の意図する所定のタイミングにて目的とする信号の状態変化を発生させることが可能である。利用者は、以上の処理の結果、自動生成される事象発生プログラムを検査対象制御プログラム、制御対象機器動作データと共に、シミュレーション実行処理部21を用いてシミュレーションを実行し、その結果をタイムチャート生成処理部22を用いてタイムチャートとして表示装置5に表示し、検査対象信号の状態変化後の各信号の変化を見ることにより、検査対象の制御プログラムが正しく動作するかどうかを検査することができる。

0013

以上説明したように、本実施形態の検査用プログラム自動生成装置1によれば、シミュレーションの結果をもとにタイムチャートを表示装置の画面上に表示し、このタイムチャート上で事象発生のタイミングを規定する情報を詳細に入力することができ、この情報に基づき検査用プログラムを自動的に生成することが可能になる。これは、すなわち、従来、検査員などの利用者が紙上に印刷されたタイムチャートから情報を読み取り、目的とする事象発生の発生を模擬する検査用プログラムを作成していたものを、プログラムの生成に必要な情報を整理し、利用者に対して誘導的に選択入力できるようにするとともに、表示装置に表示するタイムチャート上で位置が指定されたときに、それがどの信号、あるいは、時刻に対応するか識別可能とし、これらのデータに基づきプログラムを自動生成することにより、実現できる様になったものである。また、本実施形態の検査用プログラム自動生成装置1によれば、利用者が意図したタイミングで事象を発生させる事象発生プログラムを短時間に容易に作成することが可能である。

0014

図8は、本発明の第2の実施形態を示す。この第2の実施形態は、前記第1の実施形態において自動生成する検査用プログラムを用いて制御プログラムの検査を自動化するものである。すなわち、利用者が検査結果をタイムチャートの形で表示したものを見て判断していた手続きを自動化するものである。これは、すなわち、事象発生プログラムと同様の考え方で、検査対象信号の状態変化後に、検査対象プログラムにより然るべきき処理が実行され、検査が完了したと判断できる条件を入力し、これにより検査合格自動判定する第2の検査用プログラムを自動生成し、これにより一連判定処理を自動化するということである。この検査合格条件について、前記の事象発生条件との相違点は検査対象信号が「検査完了信号」という固定の信号となり、前記のトリガ信号の中に検査対象信号の状態変化が含まれるという点である。したがって、第1の実施形態のプログラム生成処理部24そのものは共通して用いることができる。したがって、この第2の実施形態の制御プログラム自動検査装置1の構成は、図2の第1の実施形態の構成とほぼ同じであり、以下ではこれを用いて説明を進める。

0015

第2の実施形態では、図2の構成に対し、データ処理部2に自動検査制御処理部26が、また、データー格納装置3に検査不合格データ記憶部38が加わる点が相違する。自動検査制御処理部26は、自動検査を行う場合の検査の進行管理を行う機能を有する。また、検査不合格データ記憶部38は、自動検査時に検査が不合格であったもののデータを保持する。本実施形態では、このデータとして、検査対象信号を用いる。ただし、これは何に対する検査が不合格であったかを利用者が判断できればどのようなものでもよく、例えば、不合格ケースにおける模擬実行結果記憶部36のデータそのものや、その時の事象発生プログラムでもよい。また、本実施形態では、検査に不合格であるもののデータに対する記録を保存するが、これは、検査に合格したもののデータでもよく、要するに最終的に利用者が検査の合格の正否を識別できればどちらでもよい。

0016

図9は、本実施形態の処理の流れを示すフローチャートである。図2において第1の実施形態と同一の処理に対しては同一の符号を付している。まず、ステップ201では、表示装置5に事象が発生しない場合のタイムチャートを表示する。次に、ステップ202で利用者が入力するデータより検査対象信号およびその状態変化条件を事象発生条件記憶部35に書き込む。ステップ301では、事象発生条件入力処理部23が検査完了条件を事象発生条件記憶部35に書き込む。この処理の内容は、ステップ202とほぼ同じであるが、前にも述べたように、状態を変化させる信号が「検査完了信号」で、これをON状態に変更する点が全ての検査対象信号について固定となる。したがって、利用者が条件を選択入力するために表示装置5に表示する画面は、図10のようなものになる。図10の画面920で検査対象信号の選択候補911は「検査完了信号」だけであり、したがって、利用者は検査対象信号に関しては、何も入力する必要はない。また、トリガ信号の候補914と選択結果915に検査対象信号(この場合「処理装置故障信号」)が加わる点がステップ202とは異なる。事象発生条件入力処理部23は、利用者が選択入力した結果から事象発生条件(検査完了条件)を事象発生条件記憶部35に書き込む。ステップ203では、検査対象信号と検査完了信号に対する事象発生条件を事象発生条件記憶部35から読み込み、各々についての事象発生プログラムおよび検査完了判定プログラムを生成し、事象発生プログラム記憶部37に書き込む。次に、ステップ302で、自動検査制御処理部26が検査対象信号記憶部34に保持する全ての信号について条件が入力されたかどうかを判断し、条件が入力されていない信号がある場合は、ステップ202に戻る。すなわち、全ての検査対象信号に対してステップ202、301、203を実行する。ステップ303では、シミュレーション実行処理部21が検査対象信号記憶部34に保持する各々の検査対象信号について、その事象発生プログラムと検査完了信号の検査完了判定プログラムを事象発生プログラム記憶部37から読み込み、検査対象プログラム、制御対象機器動作データと同期させてシミュレーションを実行する。この結果は、模擬実行結果記憶部36に書き込む。ステップ304では、ステップ303で実行したシミュレーションの最終状態における「検査完了信号」の値を評価し、これが「ON」であれば、ステップ306に進む。「OFF」の場合には、ステップ305で、この時の「検査対象信号」を検査不合格データ記憶部38に書き込む。ステップ306で、ステップ303、304、305を全ての検査対象信号について実行する。以上の処理により制御プログラムが自動的に検査できる。すなわち、本実施形態の制御プログラムの自動検査装置の利用者は、ステップ202、301で全ての検査対象信号に対する条件を選択入力した後は、検査が自動的に実行され、その結果は検査不合格データ記憶部38のデータを見ることにより知ることができる。

0017

本実施形態では、検査結果から検査対象プログラムが仕様を満足するかどうかを自動的に判別する第2の検査用プログラムを自動的に生成することが可能であり、これにより、複数の検査対象信号を含む検査対象プログラムの自動検査が可能となる。これは、第1の検査用プログラムの自動生成と同様の原理を利用し、利用者に対して必要な情報を誘導的に選択入力できる仕組みを提供していくことによる効果である。また、本実施形態により、利用者は制御プログラムの検査を容易に、また、短時間に行うことができる。これは、すなわち、検査に関する工数を最小化できるとともに、十分で正しい検査が実施できることから、制御プログラムそのもの、ひいては、その制御プログラムにより制御するプラントそのものの信頼性を向上させることが可能である。

0018

なお、以上説明した実施形態は、制御プログラムを検査するために使用する事象発生プログラムをシミュレーション結果に基づくタイムチャートを利用して生成することにより、利用者を支援するものであった。この原理を利用すれば、制御そのものに使用するプログラムを自動的に生成することも可能である。すなわち、制御対象の機器の状態に応じて表示状態を自動的に切りかえる制御プログラムなどにおいて、表示を切り替えるタイミングを本発明の方法により設定することができる。これは、本発明の第1の実施形態において、「検査対象信号」とあるのを、「状態変更信号」と置き換えることにより実現できる。これにより、状態変更プログラムを自動生成すれば、制御プログラムそのものを容易に作成できる。

発明の効果

0019

以上説明したように、本発明によれば、シミュレーションの結果をもとにタイムチャートを表示装置の画面上に表示し、このタイムチャート上で事象発生のタイミングを規定する情報を詳細に入力することができ、この情報に基づき検査用プログラムを自動的に生成することが可能になる。また、本発明によれば、利用者が意図したタイミングで事象を発生させる検査用プログラムを短時間に容易に作成することが可能である。また、本発明によれば、検査結果から検査対象プログラムが仕様を満足するかどうかを自動的に判別する第2の検査用プログラムを自動的に生成することが可能であり、これにより、複数の検査対象信号を含む検査対象プログラムの自動検査が可能となる。また、本発明によれば、利用者は制御プログラムの検査を容易に短時間に行うことができ、これは、検査に関する工数を最小化できるとともに、十分で正しい検査が実施できることから、制御プログラムそのもの、ひいては、その制御プログラムにより制御するプラントの信頼性を向上させることが可能になる。

図面の簡単な説明

0020

図1本発明の第1の実施形態による検査用プログラムの自動生成装置の処理の流れを示すフローチャート
図2本発明の第1の実施形態による検査用プログラムの自動生成装置の構成を示すブロック図
図3検査対象の制御プログラムの一例を示す図
図4図3の制御プログラムにより制御するプラントの機器の構成を示す図
図5検査対象の制御プログラムの一例を示す図
図6本発明の表示画面の一例を示す図
図7本発明の表示画面の一例を示す図
図8本発明の第2の実施形態による制御プログラムの検査装置の構成を示すブロック図
図9本発明の第2の実施形態による制御プログラムの検査装置の処理の流れを示すフローチャート
図10本発明の表示画面の一例を示す図

--

0021

1…検査用プログラム自動生成装置、2…データ処理装置、3…データ格納装置、4…データ入力装置、5…表示装置、6…通信制御装置、21…シミュレーション実行処理部、22…タイムチャート生成処理部、23…事象発生条件入力処理部、24…プログラム生成処理部、25…データ入出力処理部、26…自動検査制御処理部、31…検査対象制御プログラム記憶部、32…制御対象機器動作データ記憶部、33…タイムチャート表示信号記憶部、34…検査対象信号記憶部、35…事象発生条件記憶部、36…模擬実行結果記憶部、37…事象発生プログラム記憶部、38…検査不合格データ記憶部、900、910、920…表示画面

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ