JP5048748B2 - 試験テーブル生成装置及び試験テーブル生成方法 - Google Patents

試験テーブル生成装置及び試験テーブル生成方法 Download PDF

Info

Publication number
JP5048748B2
JP5048748B2 JP2009287605A JP2009287605A JP5048748B2 JP 5048748 B2 JP5048748 B2 JP 5048748B2 JP 2009287605 A JP2009287605 A JP 2009287605A JP 2009287605 A JP2009287605 A JP 2009287605A JP 5048748 B2 JP5048748 B2 JP 5048748B2
Authority
JP
Japan
Prior art keywords
input
value
signal line
point
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009287605A
Other languages
English (en)
Other versions
JP2011128951A (ja
Inventor
新一郎 津高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009287605A priority Critical patent/JP5048748B2/ja
Priority to US12/796,742 priority patent/US8401813B2/en
Priority to CN201010243739.7A priority patent/CN102103589B/zh
Publication of JP2011128951A publication Critical patent/JP2011128951A/ja
Application granted granted Critical
Publication of JP5048748B2 publication Critical patent/JP5048748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24056Portable, detachable module to input test signals, read test results
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2604Test of external equipment

Description

本発明は監視制御システムにおける試験テーブルの自動生成に関するものである。
監視制御システムは、温度、圧力、位置、その他各種センサー等、監視の対象となる装置からの情報を運転・監視員に提示するとともに、運転・監視員の操作によりモーター、弁、開閉器、油圧装置など各種装置を制御するシステムであり、発電プラント、化学プラント、受配電設備、上下水道など、幅広い分野で用いられている。
典型的な監視制御システムは、図2のような構成をしている。監視の対象となる装置と信号の送受信を行うモジュール、運転・監視員との情報のやり取りを行うモジュール、それらの情報をもとに計算等を行うモジュール等から構成され、それらのモジュールは通信経路によって結合されている。
監視制御システムの各モジュールの処理内容は、回路図のように有向グラフで表されることが広く行われている。信号の処理はノードで表現され、信号の流れはノードをつなぐリンクで表現される。以下では信号処理を行うノードを演算素子と呼び、演算素子をつなぐリンクを信号線と呼ぶ。モジュールの処理内容は、古くはハードウェアの回路で実現されて来たが、柔軟性やコストパフォーマンスの観点から、近年はデジタル計算機上で動作を模擬して処理を実現する、つまりデジタル計算機上のプログラムとして実装することが多い。
処理内容を演算素子と信号線で表現するプログラミング言語の規格としては、国際規格IEC61131−3が挙げられる。演算素子は前記国際規格のFBD(Function Block
Diagram)で記述され、例えば図4のように表現される。演算素子と信号線で表現した処理内容は、例えば図3のように表現される。本発明では以降、信号線とそれらを処理する演算素子から構成される図面をロジック図面と呼ぶ。
近年、プログラムの大規模化に伴い、プログラムの試験項目を適切に抽出することが困難になりつつある。従来、ロジック図面に対しては、試験項目を効率的に抽出する方法がなく、設計者の経験等に頼っていた。また、実際に試験を行うためには試験項目だけでなく、具体的に入力する値やそのとき出力される望ましい値(期待値)などを記載し、試験テーブルを作成する必要があった。
プログラムの試験項目を抽出する例は、特許文献1に開示されている。特許文献1に記載のプログラムテスト仕様書生成装置は、プログラムを解析し、重要度に応じてテスト項目を抽出してプログラムテスト仕様書を生成する装置である。プログラムの中から変数・関数を抽出するプログラム解析部と、抽出された変数・関数を表示する表示部と、変数・関数を特定する情報を入力するための入力部と、入力された情報によって特定された変数・関数を含む記述を抽出するテスト項目抽出部と、抽出された記述をテスト項目とするプログラムテストを生成する仕様書生成部とを備えていた。また、出現頻度または制御構造の段数(ネストレベル)により変数・関数を選択し、それらに対して同様の手順により仕様書を生成する機構を備えていた。
特開2001−273169号公報(図1、図5)
監視制御システムの典型的なテストは、監視の対象となっているアナログ値に対して、適切なデジタル信号が出るかどうかのテストである。例えば、温度センサーのアナログ値を監視の対象とすれば、それを監視しているモジュールに対していくつかの値を入力し、異常高温・異常低温などのデジタル信号が通信経路に正しく出るかどうかを試験する。これを本発明では静的試験と呼ぶ。
監視制御システムにおける静的試験は、監視の対象となるアナログ値ごとに行うため数が多く、その試験テーブルも膨大なものとなりがちである。これらの作成を効率的に行うことが従来から課題となっていた。
文献1に記載のプログラムテスト仕様書生成装置は、C言語等の高級言語で記述されたプログラムからの試験項目の抽出を可能としている。ユーザとの対話により、また出現頻度やネストレベルにより、変数・関数から試験項目を抽出し、それらをもとに試験仕様書を生成する。ロジック図面においては、プログラム中の変数は信号線、関数は演算素子に相当する。このことを利用して、文献1に記載のプログラムテスト仕様書生成装置をロジック図面に適用して試験項目を抽出することは不可能ではないものの、多数ある変数・関数から、対話操作により試験項目を適切に抽出するのは大変な作業であり、効率的に行うことができない問題がある。
また、出現頻度やネストレベルは変数・関数の重要度のヒントにはなり、これらの尺度を用いて重点的に試験項目を決定することで、限られた試験項目で効率よく不具合の発生が抑えられることが期待できるものの、これらの尺度は実装に依存する尺度であって、システムに対する要求を表したものではなく、要求を満たすかどうかを検証する試験項目としては不適切である。さらに、実際に試験を行うためには試験項目ごとに試験テーブルを作成する必要があるが、それらについては記載がない。
本発明は、監視制御システムにおける試験テーブルを効率的に生成することを目的とする。
本発明の試験テーブル生成装置は、ロジック図面格納装置に格納されたロジック図面を解析するロジック図面解析部と、ロジック図面解析部が導出したロジック図面の入力点と、入力仕様格納装置に格納されたロジック図面の入力仕様とに基づいて、アナログ値を区分した入力値種別毎に入力値を生成する入力値生成部と、ロジック図面解析部が導出した演算素子の種別に対応する出力点毎に、入力値生成部で生成した入力値に対してロジック図面解析部が特徴的な演算素子の閾値と特徴的な演算素子から下流の出力点とに基づき導出した出力点の種別を当該出力点に対応させて、期待値を生成する出力値生成部と、入力値生成部が生成した入力値と出力値生成部が生成した期待値に基づいて、試験テーブルを生成するテーブル生成部とを備え、ロジック図面解析部は、信号線の追跡中に検出された演算素子が2入力以上の演算素子である場合に、当該追跡中の信号線が接続させた入力と異なる他の入力から、信号の向きとは逆方向に信号線を辿り、他の入力につながる入力点を検出し、当該演算素子における当該追跡中の信号線が接続された入力の値と出力とが等しくなるように決定された入力点の値を含む入力条件情報を生成し、テーブル生成部は、入力条件情報を基に試験条件を決定し、試験条件と入力値生成部が生成した入力値と出力値生成部が生成した期待値とに基づいて、試験テーブルを生成することを特徴とする。
本発明に係る試験テーブル生成装置は、ロジック図面の入力仕様とロジック図面解析部が解析した結果に基づき生成した入力点の値を含む入力条件情報を基に試験条件を決定し、アナログ値である入力値と処理の出力の期待値を含む試験テーブルを生成するので、試験テーブルを効率的に生成することができる。
本発明の実施の形態1による試験テーブル生成装置の構成を示す図である。 典型的な監視制御システムの構成を示す図である。 図2のモジュールの処理内容をロジック図面で表わした例を示す図である。 代表的な演算素子を示す図である。 代表的な演算素子を説明する図である。 図1の信号線追跡部4及び演算素子検出部5の動作を示すフローチャートである。 図1のテーブル生成部9の動作を示すフローチャートである。 図1の入力仕様格納装置2に格納される入力仕様の例である。 図1の出力点記憶部7に記憶される出力点情報の例である。 図1の入力値生成部8が生成する入力値情報の例である。 図1の出力値生成部6が生成する出力値情報の例である。 図1のテーブル生成部9が生成する試験テーブルの例である。 本発明の実施の形態2によるモジュールのロジック図面の例を示す図である。 実施の形態2による信号線追跡部4及び演算素子検出部5の動作を示すフローチャートである。 図14のステップS323の処理を示すフローチャートである。 実施の形態2によるテーブル生成部9の動作を示すフローチャートである。 実施の形態2による出力点記憶部7に記憶される出力点情報の例である。 図14のステップS323で求めた入力条件情報の例である。 実施の形態2によるテーブル生成部9が生成する試験テーブル例である。 本発明の実施の形態3によるモジュールのロジック図面の例を示す図である。 実施の形態3による入力条件取得処理の動作を示すフローチャートである。 実施の形態3によるテーブル生成部9が生成する試験テーブル例である。
実施の形態1.
図1は本発明の実施の形態1による試験テーブル生成装置の構成を示す図である。図1の試験テーブル生成装置は、ロジック図面格納装置1、入力仕様格納装置2、入力点照合部3、信号線追跡部4、演算素子検出部5、出力値生成部6、出力点記憶部7、入力値生成部8、テーブル生成部9、試験テーブル格納装置10を備える。入力点照合部3は、ロジック図面格納装置1からロジック図面を取得し、入力仕様格納装置2から入力仕様を取得して、両者に記載されている入力点の照合を行い、図面上に記載されている入力点を発見する。
信号線追跡部4及び演算素子検出部5は、ロジック図面及び入力点照合部3からの情報をもとに、出力点記憶部7に出力点の情報を渡す。入力点照合部3と信号線追跡部4及び演算素子検出部5は、ロジック図面解析部20である。ロジック図面解析部はロジック図面を解析する。一方、入力値生成部8は、入力点照合部3及び入力仕様格納装置2から照合点の下限値、上限値を取得し、試験に用いる入力値を生成する。出力値生成部6は、各入力値に対して正しい出力値を算出する。テーブル生成部9は、出力値生成部6、入力値生成部8の結果を受け、試験テーブルを生成する。試験テーブル格納装置10は、テーブル生成部9が生成した試験テーブルを格納する。
図2は典型的な監視制御システムの構成を示す図である。監視制御システム54は通信経路53によって結合された4つのモジュール50a、50b、50c、50dを有する。モジュール50c、50dは、それぞれ監視の対象となる装置51a、51bと信号の送受信を行う。モジュール50bは、運転・監視員52との情報のやり取りを行う。モジュール50aは、モジュール50b、50c、50dからの情報をもとに計算等を行う。
図3は図2のモジュール50aの処理内容をロジック図面で表わした例を示す図であり、図4は代表的な演算素子を示す図である。図3に示した処理は、装置51aの所定箇所の温度が異常の場合に警報信号を生成する処理である。図3のロジック図面LG1では、図4に示す演算素子を5つ使用した例である。演算素子11は入力点であり、モジュール50cからモジュール50aへの入力を表わす。演算素子13は下限モニターであり、演算素子13の入力が下限値を下回っていれば出力を1に、そうでない場合は出力を0にする。演算素子16は上限モニターであり、演算素子16の入力が上限値を上回っていれば出力を1に、そうでない場合は出力を0にする。演算素子15、18は出力点であり、他のモジュールへの出力を表わす。下限モニター13はパラメータとして0℃の下限値を有し、上限モニター16はパラメータとして100℃の上限値を有する。
信号線12は入力点11から下限モニター13、上限モニター16へ信号が伝送される。信号線12には分岐点CP1があり、信号線12aは入力点11から下限モニター13への信号線であり、信号線12bは入力点11から上限モニター16への信号線である。信号線14は下限モニター13から出力点15へ信号が伝送され、信号線17は上限モニター16から出力点18へ信号が伝送される。破線は信号が連続値(アナログ値)であることを示し、実線は信号が離散値(デジタル値)であることを示す。ここで、連続値は浮動小数点で表わされる数値である。
図5は、図4の代表的な演算素子を説明する図である。代表的な演算素子としては、図4に示すように、論理積101、論理和102、否定103、RSフリップフロップ104、入力点105(105a、105b)、出力点106(106a、106b)、上限モニター107、下限モニター108、アナログセレクタ109がある。論理積101は、入力が全て1のときのみ1を出力し、その他の場合は0を出力する。論理和102は、入力が全て0のときのみ0を出力し、その他の場合は1を出力する。否定103は、入力が0のとき1を出力し、入力が1のとき0を出力する。RSフリップフロップ104は、入力R、Sの状態に応じた出力をする。(R、S)=(0、0)の場合は、前回の出力を保持する。(R、S)=(0、1)の場合は、1を出力する。(R、S)=(1、0)の場合は、0を出力する。(R、S)=(1、1)の場合は、出力が不定となる。
入力点105は他のモジュールからの入力であり、出力点106は他のモジュールへの出力である。上限モニター107は、入力が上限値を上回っていれば1を出力し、そうでない場合は0を出力する。下限モニター108は、入力が下限値を下回っていれば1を出力し、そうでない場合は0を出力する。アナログセレクタ109は、入力SELが1なら入力1からの入力を出力し、入力SELが0なら入力0からの入力を出力する。演算素子の一部は図5に示したパラメータを有す。図3ではパラメータをロジック図面上に示した。
演算素子の一部は、本発明で用いる特徴的な演算素子となる。特徴的な演算素子は、入力値として連続値、出力値として離散値を取り、比較対象となる連続値をパラメータとして持ち、入力された連続値とパラメータの大小関係によって、出力値が離散的に変化するような演算素子である。具体的には、上限モニター107、下限モニター108またはこれらの組み合わせである。
監視制御システムにおける静的試験の対象となる処理は、ロジック図面では一定の形式で書かれる場合が多い。例えば、図3に示したロジック図面LG1のように、演算素子として上限モニター16、下限モニター13を用意し、監視対象となる温度センサー(入力点11)のアナログ値を入力としてそれらに接続し、処理ノードのパラメータとして閾値(上限値や下限値)を与え、異常高温・異常低温を示すデジタル信号をそれらの出力(出力点15、16)から取るなどである。
また、監視対象となるアナログ値は各種センサーなどハードウェアと密接に関係することから、その入力仕様は上位仕様書やハードウェア仕様書などで決定されていることが多く、これらの仕様書から取得可能なことが期待できる。したがって、本発明は、これら監視制御システムの静的試験の特徴、並びにロジック図面の記述方法の特徴に着目し、試験テーブルを自動的に生成する。
試験テーブル生成装置の動作を、フローチャートを用いて説明する。図6は試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作を示すフローチャートであり、図7は試験テーブル生成装置のテーブル生成部9の動作を示すフローチャートである。図6を用いて、試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作を説明する。
ステップS101で照合した入力点を追跡開始点にセットする。次に、ステップS102で追跡開始点から信号線を辿る。ステップS103で分岐点を発見すればステップS104、そうでなければステップS105に飛ぶ。ステップS104で分岐点を追跡開始点に加え、分岐しているうちの一本の信号線の追跡を続行し、ステップS103に飛ぶ。ステップS105で特徴的な演算素子を発見すればステップS106、そうでなければステップS107に飛ぶ。ステップS106で演算素子の種別を記憶し、信号線の追跡を続行し、ステップS103に飛ぶ。ステップS107で出力点を発見すればステップS108、そうでなければステップS109に飛ぶ。ステップS108で出力点と追跡中に現れた特徴的な演算素子の種別を出力点記憶部7に渡す。次に、ステップS109で全ての追跡開始点から信号線を追跡したかどうかを調べ、そうであれば処理を終了し、そうでなければステップS102に飛ぶ。
図7を用いて、試験テーブル生成装置のテーブル生成部9の動作を説明する。テーブル生成部9は以下に説明する手順により、図12に示すような試験テーブルを生成する。図7において、ステップS201で入力点及び出力点の名称から、試験テーブルの点名称の行を生成する。次に、ステップS202で値の行に生成した入力値の一つを追加する。次に、ステップS203で入力値の種別と、各出力点の種別の組み合わせから、出力値を求める。次に、ステップS204で値の行に出力値を追加する。次に、ステップS205で全ての出力点に対して値を追加したか判断し、そうであればステップS206に、そうでなければステップS203に飛ぶ。ステップS206で全ての入力値に対して値の行を生成したか判断し、そうでなければステップS202に飛び、そうであれば処理を終了する。
次に、図3に示したロジック図面LG1を用いて、試験テーブル生成装置の動作を説明する。ロジック図面格納装置1にはロジック図面LG1が格納され、入力仕様格納装置2には図8に示す入力仕様ITB1が格納されている。図8は入力仕様格納装置2に格納される入力仕様の例である。入力仕様ITB1は、入力点11に対応する温度計Aの温度の判定基準となる上限値及び下限値が記載されたものである。
入力点照合部3は、ロジック図面格納装置1からロジック図面LG1を取得し、また入力仕様格納装置2から入力仕様ITB1を取得して入力点を照合し、ロジック図面LG1上の入力点11を発見する。信号線追跡部4及び演算素子検出部5は、ロジック図面LG1及び入力点照合部3からの情報をもとに、出力点記憶部7に出力点の情報である出力点情報OTB1(図9参照)を渡す。このときの信号線追跡部4及び演算素子検出部5の動作を、フローチャート図6を用いて説明する。
まず、ステップS101で照合した入力点11を追跡開始点にセットする。ステップS102で入力点11から信号線12を追跡し、ステップS103で分岐点CP1を発見する。ステップS104で分岐点CP1を記憶するとともに、分岐する信号線のいずれか(ここでは左側の信号線12aとする)の追跡を続行し、ステップS105で特徴的な演算素子である下限モニター13を発見する。ステップS106で下限モニター13のパラメータを種別「下限」として記憶する。さらに信号線14の追跡を続行し、信号線14を辿る。次にステップS107において出力点15を発見し、ステップS108で出力点15のパラメータである出力点名「A異常低温警報信号」と下限モニター13の種別「下限」を出力点記憶部7に渡す。
ステップS109の条件判断は、分岐点CP1から右側の信号線12bの追跡が残っているので、NO(図面ではNと表記)となり、ステップS102において追跡開始点から未追跡の信号線(ここでは信号線12b)の追跡を再開する。上述と同様に、ステップS103、S105、S107の処理により特徴的な演算素子である上限モニター16と出力点18を発見する。ステップS108で出力点18のパラメータである出力点名「A異常高温警報信号」と上限モニター16の種別「上限」を出力点記憶部7に渡す。その後ステップS109の条件判断がYES(図面ではYと表記)となり処理を終了する。出力点記憶部7に渡される出力点情報OTB1をまとめたものを図9に示す。図9は出力点記憶部7に記憶される出力点情報の例である。
入力値生成部8は、入力点照合部3から入力点照合部3が照合した入力点11の入力点名を取得し、入力仕様格納装置2に格納された入力点11の入力仕様ITB1から下限値、上限値を取得し、試験に用いる入力値を生成し、入力であるアナログ値を区分した入力値種別毎の入力値を含む入力値情報OTB2を生成する(入力値生成手順)。本実施例では、入力値の例として、図10のように5つの値、すなわち下限未満値、下限値、中間値、上限値、上限超過値を生成する。このとき生成する値とその種別を図10に示す。図10は入力値生成部8が生成する入力値情報の例である。
出力値生成部6は、出力点記憶部7に記憶された出力点情報OTB1と入力値生成部8で生成された入力値情報OTB2をつき合わせ、各入力値の種別に対して正しい出力値を出力点の種別ごと(出力点15、18ごと)に算出する(出力値生成手順)。算出した出力点の値の表である出力値情報OTB3を図11に示す。図11は出力値生成部6が生成する出力値情報の例である。
テーブル生成部9は、出力値生成部6及び入力値生成部8の結果を受け、試験テーブルTTB1を生成する。このときのテーブル生成部9の動作を、フローチャート図7を用いて説明する。ステップS201において点名称の行に、入力点11の入力点名「温度計A」と、出力点15の出力点名「A異常低温警報信号」と、出力点18の出力点名「A異常高温警報信号」が生成される。ステップS202において入力値の一つである「−1」が値の行に追加される。ステップS203において入力値の種別「下限未満値」と、出力点15(「A異常低温警報信号」)の種別「下限」、及び図11の出力値情報OTB3から、出力値「1」が得られる。ステップS204において出力値「1」を値の行に追加する。以下、ステップS205、S206により全ての入力値、全ての出力点に対して値の行が求められ、試験テーブルTTB1が生成される。本実施例で生成される試験テーブルTTB1を図12に示す。図12はテーブル生成部9が生成する試験テーブルの例である。試験テーブル格納装置10はテーブル生成部9が生成した試験テーブルTTB1を格納する。
試験テーブルTTB1は、入力点11と出力点15、18の点名称を列とし、入力点11の入力値と、入力点11の入力値に対応する出力点15、18の出力値を行とした表形式なので、入力点11と出力点15、18の点名称を見て識別することができる。
実施の形態1の試験テーブル生成装置は、ロジック図面LG1の入力点11とその入力仕様ITB1(上限値、下限値など)を入力仕様格納装置2から取得し、入力点11からロジック図面LG1を追跡して特徴的な演算素子(下限モニター13、上限モニター16)を検出する。特徴的な演算素子の下流の出力点15、18を特定し、入力点11における値とそのときの出力点15、18における期待値を自動生成し、試験テーブルTTB1に記録する。このことにより、人手による試験テーブルTTB1の作成、管理が不要となり、試験に関する手作業が大幅に減少する。
ロジック図面解析部20は信号線追跡部4を有するので、ロジック図面LG1に記述された信号線を、信号の流れる方向(下流方向)や信号の流れる方向と逆方向(上流方向)に追跡することができる。ロジック図面解析部20は演算素子検出部5を有するので、演算素子の種類や演算素子のパラメータを検出でき、信号線の追跡順序の選択や出力点情報OTB1の生成を適切に行うことができる。ロジック図面解析部20は入力点照合部3を
有するので、入力仕様ITB1の入力点をロジック図面LG1から正確に検出し、照合することができる。
実施の形態1の試験テーブル生成装置は、ロジック図面LG1と入力仕様ITB1の双方から情報を抽出して、静的試験の試験テーブルTTB1を生成するので、監視の対象となるアナログ値が多数あっても、適切な入力値とこれに対する期待値を効率的に作成することができる。適切な入力値は、入力点11とその入力仕様ITB1に記載された閾値(上限値や下限値)から、この閾値とこの閾値の上下の値が選択されるので、試験テーブル生成装置は、必要十分な数の入力値を生成することができる。必要十分な数の入力値に対する出力点15、18の期待値も生成するので、試験テーブル生成装置は、適切な静的試験の試験テーブルTTB1を生成することができる。
以上のように実施の形態1の試験テーブル生成装置によれば、ロジック図面格納装置1に格納されたロジック図面LG1を解析するロジック図面解析部20と、ロジック図面解析部20が導出したロジック図面LG1の入力点11と、入力仕様格納装置2に格納されたロジック図面LG1の入力仕様ITB1とに基づいて、アナログ値を区分した入力値種別毎に入力値を生成する入力値生成部8と、ロジック図面解析部20が導出した演算素子の種別に対応する出力点15、18毎に、入力値生成部8で生成した入力値に対する期待値を生成する出力値生成部6と、入力値生成部8が生成した入力値と出力値生成部6が生成した期待値に基づいて、試験テーブルTTB1を生成するテーブル生成部9とを備え、ロジック図面の入力仕様とロジック図面解析部が解析した結果に基づいて、アナログ値である入力値と処理の出力の期待値を含む試験テーブルを生成するので、静的試験の試験テーブルTTB1を効率的に生成することができる。
実施の形態1の試験テーブル生成方法によれば、ロジック図面LG1を解析して導出したロジック図面LG1の入力点11と、ロジック図面LG1の入力仕様ITB1とに基づいて、アナログ値を区分した入力値種別毎に入力値を生成する入力値生成手順と、ロジック図面を解析して導出した演算素子の種別に対応する出力点15、18毎に、入力値生成手順で生成した入力値に対する期待値を生成する出力値生成手順と、入力値生成手順で生成した入力値と出力値生成手順で生成した期待値に基づいて試験テーブルを生成するテーブル生成手順とを含み、ロジック図面の入力仕様とロジック図面解析部20が解析した結果に基づいて、アナログ値である入力値と処理の出力の期待値を含む試験テーブルを生成するので、静的試験の試験テーブルTTB1を効率的に生成することができる。
なお、本実施例においては、図3のようなごく簡単なロジック図面について試験テーブ
ル生成の説明を行ったが、このような単純なケースに限定されるものではない。信号線追跡部4は各々分岐を追跡して演算素子検出部5が演算素子を検出する。例えば、モジュール内での動作が大規模になると、一枚の図面に挙動を記述することが困難になり、複数の図面によって表現することが多い。そのとき、各図面中においては、他の図面からの信号、他の図面への信号をシンボルで表す。信号線追跡部4は信号線の追跡中にそれらのシンボルが現れた場合、複数の図面にまたがって信号線の追跡を行う。
また、演算素子検出部5が出力点、特徴的な演算素子以外の演算素子を見つけた場合、否定103など出力値から入力値に変換できるものは、その変換ルールを記憶し、試験テーブル生成の各値の生成のときにそれに応じて変換した値を記入することが考えられる。この仕組みを適用すると、例えば、図3の下限モニター13と出力点15の間に否定103が挿入されている場合、試験テーブルは図12において、出力点名「A異常低温警報信号」の値をそれぞれ0と1を反転したものが得られる。
実施の形態2.
実施の形態2では、2入力以上の演算素子を有する複雑なロジック図面で記述されたモジュールに対する試験テーブル生成方法を説明する。図13は、実施の形態2によるモジュール50a(図2参照)のロジック図面の例を示す図である。図13に示した処理は、装置51aの所定箇所の温度が異常の場合に、設定条件に合わせた警報信号を生成する処理である。図13のロジック図面LG2では、演算素子を14個使用した例である。ロジック図面LG2は、5つの入力点21、31、43、40、42と、2つの出力点25、28を有する。
入力点21から信号線22、下限モニター23、信号線24、論理積29、信号線30、出力点25の系統1は、温度計Aの異常低温警報信号を生成する。入力点21または入力点31からアナログセレクタ33、信号線34、上限モニター26、信号線35、論理積36、信号線27、出力点28の系統2は、温度計Aまたは温度計Bの異常高温警報信号を生成する。温度計Bは、副次的な温度計であり、温度計Aの故障時に選択信号(入力点43)で切替えられるものである。アナログセレクタ33は選択信号(入力点43)に応じて、信号線22に接続された入力点21(温度計A)と、信号線32に接続された入力点31(温度計B)とを切替える。
入力点40、信号線39、入力点42、信号線41、RSフリップフロップ38、信号線37、否定46、信号線45を有する極性指定系統は、出力点25及び出力点28の信号の極性を変更する信号を伝送する。入力点40の設定1と入力点42の設定2によりRSフリップフロップ38の信号(信号線37)を変更し、信号線37に接続された論理積29と、否定46で反転した信号(信号線45)が入力される論理積36により、出力点25及び出力点28の信号の極性を変更する。論理積29、36と、アナログセレクタ33と、RSフリップフロップ38は2入力以上の演算素子である。
実施の形態2による試験テーブル生成装置の動作を、フローチャートを用いて説明する。図14は、実施の形態2による試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作を示すフローチャートであり、図15は、図14のステップS323の処理を示すフローチャートである。図16は、実施の形態2による試験テーブル生成装置のテーブル生成部9の動作を示すフローチャートである。図14を用いて、試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作を説明する。図6に示した実施の形態1による信号線追跡部4及び演算素子検出部5の動作を示すフローチャートとは、図6のステップS108に変えて、ステップS323、S324を有し、さらにステップS320、S321、S322が追加された点で異なる。
ステップS101で照合した入力点を追跡開始点にセットする。次に、ステップS102で追跡開始点から信号線を辿る。ステップS103で分岐点を発見すればステップS104、そうでなければステップS105に飛ぶ。ステップS104で分岐点を追跡開始点に加え、分岐しているうちの一本の信号線の追跡を続行し、ステップS103に飛ぶ。ステップS105で特徴的な演算素子を発見すればステップS106、そうでなければステップS320に飛ぶ。ステップS106で演算素子の種別を記憶し、信号線の追跡を続行し、ステップS103に飛ぶ。ステップS320で、2入力以上の演算素子を発見したかどうかの判断を行い、そうであればステップS321に、そうでなければステップS107に飛ぶ。
ステップS321で、追跡中の入力の値が演算素子の出力と等しくなるように、他方の演算素子の入力値を求める。次に、ステップS322で、演算素子の入力につながる信号線と、上記入力値を制約条件として記憶し出力側の信号線の追跡を続行し、ステップS103に飛ぶ。ステップS107で、出力点を発見したかどうかの判断を行い、そうであればステップS323へ、そうでなければステップS109に飛ぶ。ステップS323で、追跡中に現れた制約条件を満たすための入力点とその入力値を求める。次に、ステップS324で、出力点、追跡中に現れた特徴的な演算素子の種別、上で求めた入力点とその入力値を出力点記憶部7に渡す。次に、ステップS109で、全ての追跡開始点から信号線を追跡したかしたかどうかの判断を行い、そうであれば処理を終了し、そうでなければステップS102に飛ぶ。
ステップS323の処理を、図15を用いて、詳しく説明する。まず、ステップS402で、制約条件で与えられた信号線を逆向きに追跡する。次に、ステップS403で、入力点を発見したかどうか判断を行い、そうであればステップS404へ、そうでなければステップS405へ飛ぶ。ステップS404で、入力条件として、その入力点と制約条件の値を設定し、処理を終了する。ステップS405で、演算素子を発見したかどうか判断を行い、そうであればステップS406へ、そうでなければステップS409へ飛ぶ。ステップS406で、信号線を制約条件の値とするための演算素子の各入力を求める。次に、ステップS407で、演算素子の入力点に接続する信号線と、上で求めた入力を制約条件として、入力条件取得(このフローチャート)を呼び出す。ステップS408で、演算素子の各入力に対して、入力条件を全て求めたかどうか判断を行い、そうであれば処理を終了し、そうでなければステップS407へ飛ぶ。ステップS409で、信号線の逆向きの追跡を続行し、ステップS403に飛ぶ。
図16を用いて、実施の形態2による試験テーブル生成装置のテーブル生成部9の動作を説明する。テーブル生成部9は以下に説明する手順により、図19に示すような試験テーブルを生成する。図7に示した実施の形態1のテーブル生成部9の動作を示すフローチャートとは、図7のステップS206に変えて、ステップS508を有し、さらにステップS502、S504が追加された点で異なる。
図16において、ステップS201で、入力点及び出力点の名称から、試験テーブルの点名称の行を生成する。次に、ステップS502で、同じ入力条件を持つ出力点一つ以上を取り出す。次に、ステップS202で、値の行に生成した入力値の一つを追加する。次に、ステップS504で、値の行に出力点を有効にする入力条件を追加する。次に、ステップS203で、入力値の種別と、各出力点の種別の組み合わせから、出力値を求める。次に、ステップS204で、値の行に出力値を追加する。次に、ステップS205で、全ての出力点に対して値を追加したか判断し(全ての入力値に対して値の行を生成したか判断を行い)、そうであればステップS508に、そうでなければステップS202に飛ぶ。ステップS508で、全ての出力点に対して処理したか判断を行い、そうであれば処理を終了し、そうでなければステップS502に飛ぶ。
次に、図13に示したロジック図面LG2を用いて、試験テーブル生成装置の動作を説明する。ロジック図面格納装置1にはロジック図面LG2が格納され、入力仕様格納装置2には実施の形態1と同じ図8に示す入力仕様ITB1が格納されている。
入力点照合部3は、ロジック図面格納装置1からロジック図面LG2を取得し、また入力仕様格納装置2から入力仕様ITB1を取得して入力点を照合し、ロジック図面LG2上の入力点21を発見する。信号線追跡部4及び演算素子検出部5は、ロジック図面LG2及び入力点照合部3からの情報をもとに、出力点記憶部7に出力点の情報である出力点情報OTB4(図17参照)を渡す。このときの信号線追跡部4及び演算素子検出部5の動作を、フローチャート図14を用いて説明する。
まず、ステップS101で照合した入力点21を追跡開始点にセットする。ステップS102で入力点21から信号線22を追跡し、ステップS103で分岐点CP2を発見する。ステップS104で分岐点CP2を記憶するとともに、分岐する信号線のいずれか(ここでは左側の信号線22aとする)の追跡を続行し、ステップS105で特徴的な演算素子である下限モニター23を発見する。ステップS106で下限モニター23のパラメータを種別「下限」として記憶する。さらに信号線24の追跡を続行し、信号線24を辿る。次にステップS320において演算素子である論理積29を発見し、ステップS321において論理積29の出力が追跡中の入力と等しくなるためには論理積29の他方の入力が「1」となる必要があることを算出し、ステップS322で制約条件「信号線37が1となる」を得て記憶し、信号線30を追跡する。次にステップS107において出力点25を発見し、ステップS323で制約条件「信号線37が1となる」を満たすための入力点とその入力値を求める。
ロジック図面LG2において制約条件「信号線37が1となる」が与えられたときのステップS323の処理内容を、フローチャート図15を用いて説明する。まず、ステップS402にて制約条件で与えられた信号線37を逆向きに追跡し、ステップS405で演算素子38を発見する。これは図4よりRSフリップフロップ104であり、図5よりステップS406で出力値1を得るための入力条件R=0,S=1を得る。
ステップS407でRSフリップフロップ38の入力点Rに接続する信号線39と、その時の値0が制約条件として得られ、図15の処理が再帰的に呼び出される。ステップS402にて制約条件で与えられた信号線39を逆向きに追跡し、ステップS403で入力点40を発見する。入力条件として入力点40の入力点名「設定1」、その値0を得て、呼び出しを終了する。呼出元に戻り、ステップS408はNOとなり、ステップS407においてS側の信号線についても同様に図15の処理が再帰的に呼び出され、入力点42の入力点名「設定2」、その値1を得て、呼び出しを終了する。呼出元に戻り、最後にステップS408はYESとなって処理を終了する。このとき得られた各入力点の値の組は入力条件となる。各入力点の値を含む入力条件情報OTB5を図18に示す。図18はステップS323で求めた入力条件情報の例である。
次に、図14のステップS324において、出力点25のパラメータである出力点名「A異常低温警報信号」、下限モニター23の種別「下限」、入力点40の入力点名「設定1」に対する入力値「0」、入力点42の入力点名「設定2」に対する入力値「1」を出力点記憶部7に渡す。ステップS109の条件判断は、分岐点CP2から右側の信号線22bの追跡が残っているので、NOとなり、ステップS102において追跡開始点から未追跡の信号線(ここでは信号線22b)の追跡が行われる。
ステップS103、S105は共にNOとなり、ステップS320で演算素子33(図4におけるアナログセレクタ)を発見する。ステップS321において、信号線34が信号線22bと等しくなる条件は「SEL=1」なので、ステップS322で「信号線44=1」を制約条件として記録し、出力側の信号線34の追跡を続行する。ステップS105で特徴的な演算素子である上限モニター26を発見し、ステップS106で上限モニター26の種別「上限」を記録して信号線35の追跡を続行する。ステップS320で演算素子である論理積36を発見し、信号線35が信号線27と等しくなる条件は論理積36の他方の入力が1となることなので、ステップS322で「信号線45=1」を制約条件として記録し、論理積36の出力側の信号線27の追跡を続行する。ステップS107で出力点28を発見し、ステップS323で制約条件を満たすための入力点と入力値を求める。
ステップS323の処理を詳述した図15のフローチャートで説明する。アナログセレクタ33に関数する制約条件「信号線44=1」については、ステップS402で信号線44を逆向きに追跡し、ステップS403で入力点43を発見する。ステップS404で入力条件「選択信号=1」を得て、処理を終了する。
論理積36に関する制約条件「信号線45=1」については、ステップS402で信号線45を逆向きに追跡し、ステップS405で演算素子46を発見する。ステップS406で信号線45を1とするための否定46の入力値は0なので、「信号線37=0」制約条件として再度図15を呼び出す。ステップS402は信号線37を逆向きに追跡し、ステップS405で演算素子38を発見する。これは図4よりRSフリップフロップであり、出力を0とするための条件はR=1、S=0なので、制約条件「信号線39=1」及び「信号線41=0」を得る。これらのうちのいずれか(ここでは「信号線39=1」)に対して、図15を再度呼び出し、ステップS402で信号線39を逆向きに追跡し、ステップS403で入力点40を発見し、ステップS404で入力条件「設定1=1」を得て処理を終了する。ステップS408はNOとなり、ステップS407でもう一方(ここでは「信号線41=0」)の制約条件に関して図15を呼び出し、ステップS402で信号線41を逆向きに追跡し、ステップS403で入力点42を発見する。ステップS404で入力条件「設定2=0」を得て処理を終了する。
副次的な温度計Bについても、上記と同様に入力点31から追跡し入力条件を求め、B異常高温警報信号の値を算出し、これらの結果、出力点記憶部7に渡される情報である出力点情報OTB4をまとめると図17となる。図17は本発明の実施の形態2による出力点記憶部7に記憶される出力点情報の例である。以下、出力値生成部6、入力値生成部8においては実施の形態1と同様の処理となり、図10の入力値情報OTB2、図11の出力値情報OTB3を得る。テーブル生成部9においては図10、図11を用いて入力条件を併記した試験テーブルTTB2を生成する。以下、テーブル生成部9の動作を示すフローチャート図16を用いて説明する。
ステップS201で点名称の行に、入力点21の入力点名「温度計A」と、入力点43の入力点名「選択信号」と、入力点40の入力点名「設定1」と、入力点42の入力点名「設定2」と、出力点25の出力点名「A異常低温警報信号」と、出力点28の出力点名「A(B)異常高温警報信号」が生成される。なお、温度計Bは副次的な温度計であり、温度計Aの故障時に選択信号(入力点43)で切替えられるものであるから、入力点31の入力点名「温度計B」は省略している。
ステップS502で入力条件および一つ以上の出力点(選択信号=条件なし、設定値1=0、設定値2=1、出力点={A異常低温警報信号})が得られ、ステップS202で入力値情報OTB2から入力値の一つである「−1」が値の行に追加される。ステップS504で入力条件(選択信号=条件なし、設定値1=0、設定値2=1)が追加される。ステップS203で入力値の種別「下限未満値」と、出力点25(「A異常低温警報信号
」)の種別「下限」、及び図11の出力値情報OTB3から、出力値「1」が得られる。ステップS204において出力値「1」を値の行に追加する。以下、ステップS205、S508により全ての入力値、全ての出力点に対して値の行が求められ、試験テーブルTTB2が生成される。本実施例で生成される試験テーブルTTB2を図19に示す。図19は、実施の形態2によるテーブル生成部9が生成する試験テーブルの例である。試験テーブル格納装置10はテーブル生成部9が生成した試験テーブルTTB2を格納する。
実施の形態2の試験テーブル生成装置は、2入力以上の演算素子を有し、入力点と出力点の間に様々な演算素子が関係する複雑なロジック図面で記述されたモジュールに対しても、試験の条件となる入力点とその設定値を求めて、試験テーブルを生成することができる。このことによって、複雑なロジック図面を持つモジュールに対しても、人手による試験テーブルの作成、管理が不要となり、試験に関する手作業がさらに減少する。
実施の形態3.
実施の形態2のロジック図面LG2では設定条件の入力点が2つの場合で説明したが、多くの設定条件の入力点がある等の複雑なロジック図面で記述されたモジュールに対する試験テーブル生成方法を説明する。演算素子に直接的または間接的に入力となる全ての入力点の集合を一つ求めることで、試験を行うのに十分な試験テーブルを生成する。図20は、実施の形態3によるモジュール50a(図2参照)のロジック図面の例を示す図である。図20に示した処理は、装置51aの所定箇所の温度が異常の場合に、設定条件に合わせた警報信号を生成する処理である。図20のロジック図面LG3では、設定条件部分の演算素子を多数使用した例である。ロジック図面LG3は、7つの入力点21、31、43、802、803、804、805と、2つの出力点25、28を有する。実施の形態2のロジック図面LG2(図13)とは、信号線37へ設定条件信号を生成する論理が複雑になっている点で異なる。
実施の形態3による試験テーブル生成装置の動作を、フローチャートを用いて説明する。試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作を示すフローチャートは実施の形態2の図14と同様であり、テーブル生成部9の動作を示すフローチャートは実施の形態2の図16と同様である。図14のステップS323で制約条件から入力条件を得るための処理が実施の形態2とは異なる。図21は実施の形態3による入力条件取得処理の動作を示すフローチャートである。
図21において、ステップS402で、制約条件で与えられた信号線を逆向きに追跡する。次に、ステップS403で、入力点を発見したかどうかの判断を行い、そうであればステップS606に、そうでなければステップS405に飛ぶ。ステップS405で、演算素子を発見したかどうかの判断を行い、そうであればステップS605に、そうでなければステップS409に飛ぶ。ステップS409で、信号線の逆向きの追跡を続行し、ステップS403に飛ぶ。ステップS605で、入力となっている信号線のうち一本の追跡を続行し、残りの信号線を未追跡信号線として記録し、ステップS403に飛ぶ。ステップS606で、入力点を記憶する。次に、ステップS607で、未追跡信号線が残っているかどうかの判断を行い、そうであればステップS608に、そうでなければステップS609に飛ぶ。ステップS608で、未追跡信号線を取り出し逆向きに追跡し、ステップS403に飛ぶ。ステップS609で、入力点の組み合わせパターンを生成する。次に、ステップS610で、論理シミュレーションを行い、制約条件で与えられた信号線の値を計算する。次に、ステップS611で、信号線の値が制約条件の値と等しいかどうかの判断を行い、そうであればステップS613に、そうでなければステップS612に飛ぶ。ステップS612で、全ての入力パターンを試したかどうかの判断を行い、そうであればステップS614に、そうでなければステップS609に飛ぶ。ステップS613で、入力点の組み合わせパターンを入力条件とし、処理を終了する。ステップS614で、制約
条件を満たす入力条件を生成できない旨を通知し、処理を終了する。
次に、図20に示したロジック図面LG3を用いて、試験テーブル生成装置の動作を説明する。ロジック図面格納装置1にはロジック図面LG3が格納され、入力仕様格納装置2には実施の形態1及び2と同じ図8に示す入力仕様ITB1が格納されている。
図20のロジック図面LG3と図13のロジック図面LG2との違いは、図13における信号37から上流側が図20における信号37から上流側とは異なっていることである。従って、実施の形態2の図14のステップS323までは全く同様に処理される。試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作のおけるステップS323までの説明は繰り返さない。ロジック図面LG3、制約条件「信号線37が1となる」が与えられたときのステップS323の処理内容を、フローチャート図21を用いて説明する。
ステップS402にて制約条件で与えられた信号線37を逆向きに追跡し、ステップS405で演算素子である論理積806を検出する。ステップS605で信号線807の追跡を続行するとともに、信号線808を未追跡信号線として記録する。以下左側に現れる入力信号線を逆向きに追跡すると、ステップS403で入力点802を発見する。ステップS606でその入力点を記録する。ステップS607の判断は、論理積806の他の入力である信号線808等の追跡が残っているので、YESとなり、ステップS608で未追跡信号線の一つ(例えば信号線808)を取り出して逆向きに追跡する。これらを繰り返して、ステップS607がNOとなったとき、ステップS606で記憶さた入力点は4つとなり、入力点802(設定1)、入力点803(設定2)、入力点804(設定3)、入力点805(設定4)が図示しない入力点記憶部に記録されている。
ステップS609は上記入力点の取り得る値を組み合わせて入力パターンを生成する。ロジック図面LG3には設定1〜4の入力点が4つあるので、16通りの入力パターンからフローチャート図21の終了条件になるまで順次生成し、ステップS610以降の処理を行う。例えば、「設定1=0、設定2=0、設定3=0、設定4=0」を生成する。ステップS610でこのパターンを用いて論理シミュレーションを行い、信号線37の値(この例では0となる)を得る。ステップS611の判断は、制約条件「信号線37が1となる」とは異なり0を得たので、NOとなり、ステップS612の判断は、まだ制約条件「信号線37が1となる」入力パターンを試していないので、NOとなり、ステップS609で再度パターンの生成が行われる。以上の処理により、一例として「設定1=0、設定2=0、設定3=0、設定4=1」の論理シミュレーションで信号線37の値が1となるので、この入力パターンを入力条件として処理を終了する。
なお、全ての入力パターンを生成しても制約条件が満たされない場合、図20の例では設定1〜4の0または1全ての組み合わせ(16通り)で信号線37が値1とならない場合は、何らかの不具合があると考えられるので、ステップS612でそれを検出し、ステップS614でその旨を通知する。
試験テーブル生成装置の信号線追跡部4及び演算素子検出部5の動作(図14)のおけるステップS323が終了したので、図14のステップS324に移り、ステップS324以降は実施の形態2と同様に処理される。テーブル生成部9が、実施の形態2の図16のフローチャートに示した動作を行い、最終的には入力条件を併記した試験テーブルTTB3を生成する。本実施例で生成される試験テーブルTTB3を図22に示す。図22は、実施の形態3によるテーブル生成部9が生成する試験テーブルの例である。試験テーブル格納装置10はテーブル生成部9が生成した試験テーブルTTB3を格納する。実施の形態3の試験テーブルTTB3は、実施の形態2の試験テーブルTTB2における設定1〜2が、ロジック図面LG3に対応した設定1〜4に拡張されたものとなる。
ロジック図面LG3の処理内容の試験は、信号線37が値0と値1のそれぞれに設定されれば十分に試験ができるので、試験テーブルTTB3には、信号線37が値0と値1になる設定1〜4の組の2つのみを記述している。
実施の形態3の試験テーブル生成装置は、多くの設定条件の入力点がある複雑なロジック図面で記述されたモジュールに対しても、論理シミュレーションを行うことにより試験の条件となる入力点とその設定値を求めることができる。このことによって、より複雑なロジック図面を持つモジュールに対しても、人手による試験テーブルの作成、管理が不要となり、試験に関する手作業がさらに減少する。
本発明に係る試験テーブル生成装置は、発電プラント、化学プラント、受配電設備、上下水道など、幅広い分野で用いられる監視制御システムの試験に好適に利用できる。
1…ロジック図面格納装置、2…入力仕様格納装置、3…入力点照合部、4…信号線追跡部、5…演算素子検出部、6…出力値生成部、8…入力値生成部、9…テーブル生成部、20…ロジック図面解析部、LG1…ロジック図面、LG2…ロジック図面、LG3…ロジック図面、TTB1…試験テーブル、TTB2…試験テーブル、TTB3…試験テーブル、ITB1…入力仕様、OTB5…入力条件情報、11、21、31、40、42、43、802乃至805…入力点、12、12a、12b、14、17、22、22a、22b、24、27、30、32、34、35、37、39、41、44、45、807、808、840、841、842、843、844、845、846、847、848、849、850、851、852…信号線、13、16、23、26、29、33、36、38、46、806、809、821、822、823、824、825、826、827、828、829、830、101乃至109…演算素子、15、18、25、28…出力点。

Claims (6)

  1. 演算を行う演算素子と前記演算素子を接続する信号線により構成されたロジック図面を用いて記述された処理の試験を行う際に、アナログ値である入力値と前記処理の出力の期待値を含む試験テーブルを生成する試験テーブル生成装置であって、
    前記ロジック図面は、前記アナログ値が入力され離散値を出力し、前記アナログ値と比較し前記離散値を決定する閾値を有する特徴的な演算素子を含み、
    ロジック図面格納装置に格納された前記ロジック図面を解析するロジック図面解析部と、前記ロジック図面解析部が導出した前記ロジック図面の入力点と、入力仕様格納装置に格納された前記ロジック図面の入力仕様とに基づいて、前記アナログ値を区分した入力値種別毎に前記入力値を生成する入力値生成部と、
    前記ロジック図面解析部が導出した演算素子の種別に対応する出力点毎に、前記入力値生成部で生成した前記入力値に対して前記ロジック図面解析部が前記特徴的な演算素子の前記閾値と前記特徴的な演算素子から下流の出力点とに基づき導出した出力点の種別を当該出力点に対応させて、前記期待値を生成する出力値生成部と、
    前記入力値生成部が生成した前記入力値と前記出力値生成部が生成した前記期待値に基づいて、試験テーブルを生成するテーブル生成部と、を備え、
    前記ロジック図面解析部は、前記信号線の追跡中に検出された前記演算素子が2入力以上の演算素子である場合に、当該追跡中の信号線が接続させた入力と異なる他の入力から、信号の向きとは逆方向に信号線を辿り、前記他の入力につながる入力点を検出し、当該演算素子における当該追跡中の信号線が接続された入力の値と出力とが等しくなるように決定された前記入力点の値を含む入力条件情報を生成し、
    前記テーブル生成部は、前記入力条件情報を基に試験条件を決定し、前記試験条件と前記入力値生成部が生成した前記入力値と前記出力値生成部が生成した期待値とに基づいて、試験テーブルを生成することを特徴とした試験テーブル生成装置。
  2. 前記ロジック図面解析部は、前記ロジック図面の前記入力点を起点とした信号線を追跡する信号線追跡部と、前記信号線追跡部が追跡した前記信号線に接続された演算素子を検出する演算素子検出部とを有することを特徴とした請求項1に記載の試験テーブル生成装置。
  3. 前記ロジック図面解析部は、前記ロジック図面の入力点と前記入力仕様に記載された入
    力点を照合し、前記入力仕様に記載された入力点に該当する前記ロジック図面の入力点を検出する入力点照合部を有することを特徴とした請求項1または2に記載の試験テーブル生成装置。
  4. 前記ロジック図面解析部は、前記逆向きに信号線を辿る過程で検出した演算素子に対して、当該演算素子に直接的または間接的に入力となる全ての入力点の集合を求め、前記集合の入力点に組み合わせ可能な値を代入して論理シミュレーションを行い、
    前記制約条件を満たす前記入力点の値を含む前記入力条件情報を生成することを特徴とした請求項1に記載の試験テーブル生成装置。
  5. 前記制約条件は、前記2入力以上の演算素子における前記追跡中の信号線の値と当該2入力以上の演算素子の出力の値が等しくなるように、前記他の入力の値が選ばれることである請求項1または4に記載の試験テーブル生成装置。
  6. 演算を行う演算素子と前記演算素子を接続する信号線により構成されたロジック図面を用いて記述された処理の試験を行う際に、アナログ値である入力値と前記処理の出力の期待値を含む試験テーブルを生成する試験テーブル生成方法であって、
    前記ロジック図面は、前記アナログ値が入力され離散値を出力し、前記アナログ値と比較し前記離散値を決定する閾値を有する特徴的な演算素子を含んでおり、
    前記ロジック図面を解析して導出した前記ロジック図面の入力点と、前記ロジック図面の入力仕様とに基づいて、前記アナログ値を区分した入力値種別毎に前記入力値を生成する入力値生成手順と、
    前記ロジック図面を解析して導出した演算素子の種別に対応する出力点毎に、前記入力値生成手順で生成した前記入力値に対して前記特徴的な演算素子の前記閾値と前記特徴的な演算素子から下流の出力点とに基づき導出した出力点の種別を当該出力点に対応させて、前記期待値を生成する出力値生成手順と、
    前記信号線の追跡中に検出された前記演算素子が2入力以上の演算素子である場合に、当該追跡中の信号線が接続させた入力と異なる他の入力から、信号の向きとは逆方向に信号線を辿り、前記他の入力につながる入力点を検出し、当該演算素子における当該追跡中の信号線が接続された入力の値と出力とが等しくなるように決定された前記入力点の値を含む入力条件情報を生成する入力情報生成手順と、
    前記入力情報生成手順で生成した前記入力条件情報に基づいて決定した試験条件と、前記入力値生成手順で生成した前記入力値と、前記出力値生成手順で生成した前記期待値とに基づいて、試験テーブルを生成するテーブル生成手順と、を含む試験テーブル生成方法。
JP2009287605A 2009-12-18 2009-12-18 試験テーブル生成装置及び試験テーブル生成方法 Active JP5048748B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009287605A JP5048748B2 (ja) 2009-12-18 2009-12-18 試験テーブル生成装置及び試験テーブル生成方法
US12/796,742 US8401813B2 (en) 2009-12-18 2010-06-09 Test table creation system and test table creation method
CN201010243739.7A CN102103589B (zh) 2009-12-18 2010-07-28 试验表格生成装置以及试验表格生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009287605A JP5048748B2 (ja) 2009-12-18 2009-12-18 試験テーブル生成装置及び試験テーブル生成方法

Publications (2)

Publication Number Publication Date
JP2011128951A JP2011128951A (ja) 2011-06-30
JP5048748B2 true JP5048748B2 (ja) 2012-10-17

Family

ID=44152303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009287605A Active JP5048748B2 (ja) 2009-12-18 2009-12-18 試験テーブル生成装置及び試験テーブル生成方法

Country Status (3)

Country Link
US (1) US8401813B2 (ja)
JP (1) JP5048748B2 (ja)
CN (1) CN102103589B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013228829A (ja) * 2012-04-25 2013-11-07 Mitsubishi Electric Corp 試験密度表示装置
GB2504540A (en) * 2012-08-02 2014-02-05 Ibm Pattern matching physiological parameters
CN104520778B (zh) * 2012-08-08 2016-10-05 三菱电机株式会社 逻辑图错误位置推测装置及其方法
CN104020756B (zh) * 2014-05-22 2017-05-03 国电南瑞科技股份有限公司 一种故障诊断系统的逻辑网络拓扑排序和存储方法
WO2017115162A1 (en) * 2015-12-31 2017-07-06 Abb Schweiz Ag Method and system for testing distributed control systems of industrial plants
US11586517B1 (en) * 2022-01-27 2023-02-21 International Business Machines Corporation Automated internet of things device testing including modifying a device table to generate an association table
JP2024011851A (ja) * 2022-07-15 2024-01-25 オムロン株式会社 制御プログラム編集装置、編集方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0334055A (ja) * 1989-06-30 1991-02-14 Toshiba Corp 自動検査装置およびシミュレーション装置
JP3221184B2 (ja) * 1993-10-13 2001-10-22 株式会社日立製作所 故障診断装置および方法
KR100359965B1 (ko) * 1995-04-11 2003-03-15 캐논 가부시끼가이샤 프로세서와이의연산방법 및 데이타프로세서
JPH11219208A (ja) * 1998-02-04 1999-08-10 Hitachi Ltd 計算機自動化用プラントテーブル自動生成装置
JP2001273169A (ja) * 2000-03-24 2001-10-05 Toshiba Corp プログラムテスト仕様書生成装置
JP4747034B2 (ja) 2006-05-29 2011-08-10 富士通株式会社 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
JP4850091B2 (ja) 2007-02-23 2012-01-11 富士通株式会社 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
JP4946588B2 (ja) 2007-04-17 2012-06-06 富士通株式会社 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
CN101587445A (zh) 2009-06-19 2009-11-25 国网电力科学研究院 一种plc编译执行方法

Also Published As

Publication number Publication date
US20110153258A1 (en) 2011-06-23
US8401813B2 (en) 2013-03-19
CN102103589A (zh) 2011-06-22
JP2011128951A (ja) 2011-06-30
CN102103589B (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN108983710B (zh) 工序分析装置、工序分析方法以及存储介质
JP5048748B2 (ja) 試験テーブル生成装置及び試験テーブル生成方法
US11216741B2 (en) Analysis apparatus, analysis method, and non-transitory computer readable medium
JP2021064370A (ja) デジタル・ツイン・シミュレーション・データを利用した時系列データに基づく、大規模な産業用監視システム向けの半教師あり深層異常検出のための方法およびシステム
US8577649B2 (en) Anomaly detecting apparatus
JP5489958B2 (ja) 試験テーブル生成装置及びその方法
JP2018206362A (ja) 工程解析装置、工程解析方法、及び工程解析プログラム
JP2019028929A (ja) プリプロセッサおよび異常予兆診断システム
EP3696693A1 (en) Method and apparatus for monitoring state of device in process industry and medium
CN105793789A (zh) 用于过程单元中的全部过程区段的自动的监视和状态确定的计算机实现的方法和系统
US20190129397A1 (en) Causal relation model building system and method thereof
CN115407728A (zh) 信息处理装置、预测方法和计算机可读存储介质
Kang et al. CPS-based fault-tolerance method for smart factories: Simulation-based framework and fault management application
JP5911581B2 (ja) ロジック図面誤り箇所推定装置及びその方法
WO2009016090A1 (en) A method and relative device for the management of technological recipe information to aid in defining process flows, in particular for the development and production of micro- and nanotechnology devices in cleanroom laboratories
Solomentsev et al. Diagnostics programs efficiency analysis in operation system of radioelectronic eguipment
JP7360925B2 (ja) 分析システム
CN116880372A (zh) 数字孪生工厂的运行优化方法及系统
JP5907857B2 (ja) ロジック図面及び試験テーブル作成装置
CN107958089A (zh) 构建模型的方法和装置以及异常数据的检测方法和装置
JP2015230576A (ja) プラント診断用データ作成システム
US11630451B2 (en) Analysis device, analysis method, and non-transitory computer readable storage medium
US11669082B2 (en) Online fault localization in industrial processes without utilizing a dynamic system model
EP3048613A1 (en) Method for analysis of plant disturbance propagations
de Castro et al. Distributed identification of discrete-event systems with the aim of fault detection

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5048748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250