(57)【特許請求の範囲】
【請求項１】
要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成装置であって、
規格用語及びそれに対応する要素名称との関係を示す用語辞書を記憶する用語辞書記憶手段と、
前記設備制御コンピュータの検証内容を予め複数の検証項目に分類して記憶する検証内容記憶手段と、
前記用語辞書記憶手段に記録された用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、前記検証内容に対応する各検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を選定する選定手段と、
前記選定手段で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成手段と、
を備えた検証パターン生成装置。
【請求項２】
前記個別検証パターン生成手段で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証手段を更に備えたこと
を特徴とする請求項１記載の検証パターン生成装置。
【請求項３】
要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成方法であって、
規格用語及びそれに対応する要素名称との関係を示す用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、予め複数の検証項目に分類された前記設備制御コンピュータの検証内容に対応する複数の検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を選定する選定工程と、
前記選定工程で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成工程と、
を備えた検証パターン生成方法。
【請求項４】
前記個別検証パターン生成工程で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証工程を更に備えたこと
を特徴とする請求項３記載の検証パターン生成方法。
【請求項５】
要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成プログラムであって、
コンピュータを、
規格用語及びそれに対応する要素名称との関係を示す用語辞書を記憶する用語辞書記憶手段と、
前記設備制御コンピュータの検証内容を予め複数の検証項目に分類して記憶する検証内容記憶手段と、
前記用語辞書記憶手段に記録された用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、前記検証内容に対応する各検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を選定する選定手段と、
前記選定手段で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成手段と、
して機能させるための検証パターン生成プログラム。
【請求項６】
前記コンピュータを、
前記個別検証パターン生成手段で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証手段として更に機能させること
を特徴とする請求項５記載の検証パターン生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検証パターン生成装置及び方法、並びに検証パターン生成プログラムに係り、特に、工場内の機械設備を制御するプログラマブル・ロジック・コントローラ（Programmable Logic Controller：以下「ＰＬＣ」という。）のシーケンスプログラムを検証するのに用いて好適な検証パターン生成装置及び方法、並びに検証パターン生成プログラムに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
工場内に設置された搬送装置や加工装置等の機械設備は、一般に、ＰＬＣによって制御されている。ＰＬＣは、安全性を確保する観点から、工場内の各設備機械の基本的な動作を一元して管理している。したがって、ＰＬＣを設計した場合や仕様を変更した場合には、ＰＬＣのシーケンスが正常に動作するかを検証する必要がある。
【０００３】
例えば、特開平８−３０５４２２号公報（以下「先行技術文献」という。）では、ＰＬＣに搭載されたシーケンスプログラムの正確性を検証すると共に、タイムチャートを基礎にして作成されたシーケンスプログラムから最終的に一覧性を有する動作図を作成するシーケンスプログラムのチェック方法及び装置が提案されている。先行技術文献によれば、シーケンスプログラムのチェックを行うコンピュータは、ＰＬＣにオンラインで接続されており、ＰＬＣに対して条件設定を行い、シーケンスプログラムによる動作を検証仕様の動作図と比較対照して、検証を実行する。
【０００４】
したがって、シーケンスプログラムのチェックを行うコンピュータは、設備の動作仕様が予め動作図として明記されていなければシーケンスプログラムを検証することができない問題があった。
【０００５】
さらに、設備には動作仕様として明記されていないが、一般的な仕様として準拠すべき項目が多くある。このため、多くの設備の共通する検証項目を検証する場合においても、その内容を設備毎に動作図として記述しなければ検証を行うことができず、オペレータの負担も大きかった。
【０００６】
本発明は、上述した課題を解決するために提案されたものであり、検証仕様の内容を動作図として予め記述することなく、容易にシーケンスプログラムを検証することができる検証パターン生成装置及び方法、並びに検証パターン生成プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１記載の発明は、要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成装置であって、規格用語及びそれに対応する要素名称との関係を示す用語辞書を記憶する用語辞書記憶手段と、前記設備制御コンピュータの検証内容を予め複数の検証項目に分類して記憶する検証内容記憶手段と、前記用語辞書記憶手段に記録された用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、前記検証内容に対応する各検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を選定する選定手段と、前記選定手段で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成手段と、を備えている。
【０００８】
請求項３記載の発明は、要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成方法であって、規格用語及びそれに対応する要素名称との関係を示す用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、予め複数の検証項目に分類された前記設備制御コンピュータの検証内容に対応する複数の検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を出力する選定工程と、前記選定工程で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成工程と、を備えている。
【０００９】
請求項５記載の発明は、要素名称及び要素アドレスを含む設備制御コンピュータのシーケンスプログラムから、前記設備制御コンピュータを検証するための検証パターンを生成する検証パターン生成プログラムであって、コンピュータを、規格用語及びそれに対応する要素名称との関係を示す用語辞書を記憶する用語辞書記憶手段と、前記設備制御コンピュータの検証内容を予め複数の検証項目に分類して記憶する検証内容記憶手段と、前記用語辞書記憶手段に記録された用語辞書を参照しながら、前記シーケンスプログラムに含まれる要素名称と、前記検証内容に対応する各検証項目に含まれる要素名称とのマッチングを行って、マッチングした要素名称を選定する選定手段と、前記選定手段で選定された要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する個別検証パターン生成手段と、して機能させている。
【００１０】
本発明は、設備制御コンピュータの要素を特定するための要素名称を含むシーケンスプログラムから、設備制御コンピュータを検証するための個別検証パターンを生成する。
【００１１】
用語辞書は、規格用語及びそれに対応する要素名称との関係、すなわち、規格用語と当該規格用語の同義語である要素名称とを示している。規格用語は意味が統一された１つの語彙であるが、要素名称は設計者や設備メーカーによって異なっている。そこで、このような要素名称のばらつきをなくすために、用語辞書が用いられる。
【００１２】
設備制御コンピュータの検証内容は、予め複数の検証項目に分類して記憶されている。検証項目は、設備制御コンピュータの要素を所定の条件に設定することを示している。
【００１３】
つぎに、用語辞書を参照しながら、シーケンスプログラムに含まれる要素名称と、前記検証内容に対応する各検証項目に含まれる要素名称とのマッチングを行う。シーケンスプログラムに含まれる要素名称は設備メーカーや設計者によって異なっている。そこで、要素名称に用語辞書の規格名称を関連付けて、規格名称が関連付けられた要素名称と各検証項目の要素名称とをマッチングする。
【００１４】
そして、マッチングで得られた要素名称と、当該要素名称に対応する要素アドレスと、前記検証内容に対応する各検証項目とに基づいて、要素を所定の条件に設定するための個別検証パターンを生成する。これにより、本発明は、オペレータが設備毎に検証データを生成しなくても、各設備に対応した個別検証パターンを自動的に生成することができる。
【００１５】
請求項２記載の発明は、請求項１記載の発明において、前記個別検証パターン生成手段で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証手段を更に備えたことを特徴とする。
【００１６】
請求項４記載の発明は、請求項３記載の発明において、前記個別検証パターン生成工程で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証工程を更に備えたことを特徴とする。
【００１７】
請求項６記載の発明は、請求項５記載の発明において、前記コンピュータを、前記個別検証パターン生成手段で生成された個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証する検証手段として更に機能させることを特徴とする。
【００１８】
本発明は、さらに、個別検証パターンを設備制御コンピュータに送信する。そして、設備制御コンピュータが個別検証パターンに対応する詳細項目を実行するかを確認することで、前記設備制御コンピュータの検証を行うことができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２０】
図１に示すように、本発明の実施の形態に係るシーケンスプログラム検証装置１０は、制御コンピュータ（以下「ＰＬＣ」という。）３０に対して条件設定を行い、ＰＬＣ３０の動作状態をモニタリングすることによって、制御コンピュータのシーケンスプログラムを検証するものである。
【００２１】
ここで、工場内に設置される制御コンピュータは、安全性を確保する観点から、工場内の各設備の起動や停止などの基本的な動作を一元して制御している。ＰＬＣ３０は、このように工場内に設置される実際の制御コンピュータに代わってシミュレートするコンピュータである。ＰＬＣ３０は、具体的には、制御コンピュータのシーケンスプログラムを記憶するプログラム記憶部３１と、設定された条件に従って制御コンピュータや仮想設備の動作内容を演算してシミュレートするシミュレータ３２とを備えている。
【００２２】
一方、シーケンスプログラム検証装置１０は、マウスやキーボードからなる操作部１１と、入力された条件に基づいてＰＬＣ３０のシーケンスプログラムを検証する制御部１２と、検証内容や検証結果等を表示する表示部１３とを備えている。
【００２３】
表示部１３には、例えば図２に示すように、検証内容を示す検証内容ウィンドウ５０と、ＰＬＣ３０のシーケンスの動作状況を示すＰＬＣウィンドウ６０と、ＰＬＣ３０によって制御される仮想設備の動作状況を表示する設備シミュレータウィンドウ７０と、が表示される。
【００２４】
検証内容ウィンドウ５０は、ＰＬＣ３０の検証内容を選択したり、検証内容の編集を行うときに使用される。なお、検証内容ウィンドウ５０の詳細については後述する。
【００２５】
ＰＬＣウィンドウ６０は、例えば図３に示すように、ＰＬＣ３０のシーケンスをラダーで表示すると共に、実行時のシーケンスの各要素の様子をリアルタイムで表示する。ここで、シーケンスプログラムは、制御プログラムの他に、シーケンスの要素の名称である要素名称及び前記要素を特定するアドレス（以下「要素アドレス」という。）を含んでいる。例えば、要素名称としては「起動ＬＳ」、「全原位置」、「自動」等があり、要素アドレスとしては「Ｘ００２」、「Ｍ００８」、「Ｘ０００」等がある。なお、要素名称は、日本語のテキストデータである。
【００２６】
設備シミュレータウィンドウ７０は、ＰＬＣ３０によって制御される仮想設備の動作状況をリアルタイムでサイクル線図を用いて表示する。
【００２７】
図４は、制御部１２のソフトウェア構成を示すブロック図である。制御部１２は、用語辞書を記憶する用語辞書データベース２１と、ＰＬＣ３０の検証内容を記憶する検証内容データベース２２と、検証内容を編集する検証内容エディタ２３と、シーケンスプログラムと用語辞書とのマッチングを行う要素選定部２４と、検証パターンを生成する個別検証パターン生成部２５と、ＰＬＣ３０を検証する自動検証部２６とを備えている。
【００２８】
用語辞書データベース２１は、図５に示すように、規格用語に対応する同義語を表した用語辞書を記憶している。ここで、シーケンスプログラムに含まれる要素名称は、設計者によって付されたものであるため、設計者が所属する設備メーカーによって多少異なっている。そこで、異なる要素名称を統一するため、最も一般的な要素名称を「規格用語」とし、この規格用語と同じ意味の要素名称を「同義語」とした。例えば図５によると、「起動釦」は規格用語であり、「起動釦」の同義語として「起動スイッチ」、「起動ＬＳ」、「起動ボタン」がある。
【００２９】
検証内容データベース２２は、図６に示すように、安全に関する複数の検証内容と、検証内容を実行するためにシーケンスの各要素の条件設定を行う複数の検証項目と、を記憶している。
【００３０】
検証内容としては、例えば「設備に異常がある場合は起動釦を押しても設備が起動してはいけない」、「起動釦が故障（溶着）した時、続けて次のサイクルに入らない」などである。なお、検証内容の文章は、解釈に疑義が生じないように、規格用語を用いて記述されている。
【００３１】
検証内容の内容を実行するためには、各検証項目に従って各要素に所定の条件を設定する必要がある。ここで、検証項目は、検証を行うための前提条件を設定する「前提」、検証を行うために要素に所定の動作を行わせる「アクション」、所定の要素が予想通りに動作するかを検証する「検証」の３つに分類される。そこで、検証項目は、上記３種類のいずれにも対応するように、定型的に記述されている。
【００３２】
例えば図６において、検証内容「設備に異常がある場合は起動釦を押しても設備が起動してはいけない」に対して、
検証項目１：「運転準備をＯＮに設定する」（前提）
検証項目２：「設備異常をＯＮに設定する」（前提）
検証項目３：「起動釦をＯＮに設定する」（アクション）
検証項目４：「自動運転中がＯＦＦかどうか検証する」（検証）
が設定されている。なお、他の検証内容の詳細については省略するが、同様に、複数の検証項目が設定されている。
【００３３】
このように、検証項目は、「（要素）を（状態）に設定する」又は「（要素）が（状態）かどうか検証する」という定型文で記述されている。なお、（要素）には、解釈に疑義が生じないように規格用語が用いられる。
【００３４】
また、検証項目の中には、一般的な仕様として準拠すべき項目も含まれている。したがって、１つの検証内容に対して予め複数の検証項目を設定することによって、多くの設備に共通する検証内容を検証する場合であっても、個別の設備用の動作図を作成しなくても検証することができる。
【００３５】
検証内容エディタ２３は、オペレータの操作部１１の操作に応じて、検証内容データベース２２に記憶されている検証項目の要素や状態を変換して、検証項目を編集することができる。このとき、オペレータは、シーケンスプログラム検証装置１０の表示部１３に展開されている検証内容ウィンドウ５０に対して、マウスを用いて所望の検証内容を選択したり、検証項目の中から所望の要素や状態を選択すればよい。
【００３６】
検証内容ウィンドウ５０は、具体的には図７に示すように、複数の検証内容の中から１つだけ表示する検証内容ボックス５１と、検証内容ボックス５１に対応する複数の検証項目をそれぞれ表示する検証項目ボックス５３ａ，５３ｂ，５３ｃ，５３ｄと、で構成されている。
【００３７】
検証内容ボックス５１は、検証内容ボタン５１ａがクリックされると、すべての検証内容を表示する図示しないプルダウンメニューを表示する。そして、オペレータが操作部１１を操作して所望の検証内容を選択すると、検証内容ボックス５１は選択された検証内容を表示する。
【００３８】
検証項目ボックス５３ａ，５３ｂ，５３ｃ，５３ｄは、検証内容ボックス５１に表示されている検証内容に対応した検証項目をそれぞれ表示する。したがって、検証項目ボックス５３ａ，５３ｂ，５３ｃ，５３ｄは、検証内容ボックス５１に表示される検証内容が変わると、変更後の検証内容に応じた検証項目をそれぞれ表示するようになっている。なお、図７では検証内容に対応する検証項目の数が４つの場合を例にして説明しているが、検証項目の数は３つでもよいし、５つ以上であってもよい。
【００３９】
要素選定部２４は、用語辞書データベース２１に記憶されている用語辞書を参照しながら、検証内容データベース２２に記憶されている１つの検証内容と、要素名称や要素アドレスを含んだシーケンスプログラムとのマッチングを行う。なお、制御コンピュータのメーカーや設計者によってシーケンスプログラムに含まれる要素名称が規格用語であるとは限らないので、要素選定部２４は用語辞書を参照ながらマッチングを行っている。そして、要素選定部２４は、検証すべき３以上の要素を選定して、当該要素の要素名称及び要素アドレスを記憶する。
【００４０】
このように、要素選定部２４は、シーケンスプログラムに含まれる要素名称に規格用語を関連付け、各要素名称と、検証内容データベース２２に記憶されている検証項目の各要素とをマッチングさせることによって、検証対象となる要素を特定している。
【００４１】
個別検証パターン生成部２５は、用語辞書データベース２１、検証内容データベース２２、要素名称及び要素アドレスを用いて、ＰＬＣ３０に命令するための個別検証パターンを生成する。
【００４２】
自動検証部２６は、個別検証パターン生成部２５で生成された個別検証パターンをＰＬＣ３０に送信し、ＰＬＣ３０の動作状態をモニタリングして、ＰＬＣ３０のシーケンスプログラムの検証を行う。
【００４３】
以上のように構成されたシーケンスプログラム検証装置１０は、オペレータの検証内容を選択に応じて、次の手順に従ってＰＬＣ３０の検証を行う。
【００４４】
なお、本実施の形態では、検証内容として「設備に異常がある場合は起動釦を押しても設備が起動してはいけない」が選択され、この検証項目に対応する検証項目１〜４は編集されていないものとする。
【００４５】
最初に、要素選定部２４は、図８に示すステップＳＴ１からステップＳＴ４までの処理を実行する。
【００４６】
ステップＳＴ１において、要素選定部２４は、検証内容データベース２２から検証内容を読み込むと共に、ＰＬＣ３０からシーケンスプログラムを読み込んで、ステップＳＴ２に移行する。なお、シーケンスプログラムには、例えば以下に示す要素アドレス及び要素名称の組（要素アドレス，要素名称）が含まれているものとする。
【００４７】
（Ｘ０００，自動）
（Ｘ００１，運転準備）
（Ｍ００１，設備異常）
（Ｘ００２，起動ＬＳ）
（Ｍ００２，自動運転中）
（Ｍ００８，全原位置）
ステップＳＴ２において、要素選定部２４は、用語辞書データベース２１に記憶されている用語辞書を参照して、シーケンスプログラムと検証内容の関連付け（マッチング）を行って、ステップＳＴ３に移行する。
【００４８】
具体的には、要素選定部２４は、シーケンスプログラムに含まれる要素名称と、検証内容を構成する複数の検証項目に含まれる要素名称とのマッチングを行う。検証項目に含まれる要素名称は規則用語で記述されているが、シーケンスプログラムに含まれる要素名称は規則用語で記述されていない場合がある。この場合、要素選定部２４は、用語辞書を参照して要素名称を規則用語に翻訳し、翻訳した要素名称と検証項目に含まれる要素名称とをマッチングする。
【００４９】
例えば、上述したようなシーケンスプログラムの場合、要素選定部２４は、用語辞書を参照して「起動ＬＳ」を「起動釦」に翻訳する。そして、要素選定部２４は、シーケンスプログラムに含まれる各要素名称「自動」，「運転準備」，「設備異常」，「起動ＬＳ（起動釦）」，「自動運転中」，「全原位置」と、図７に示す検証項目ボックス５３ａ，５３ｂ，５３ｃ，５３ｄに表示された各要素名称「運転準備」，「設備異常」，「起動釦」，「自動運転中」との関連付けを行う。
【００５０】
ステップＳＴ３において、要素選定部２４は、シーケンスプログラムと検証項目との間で関連する要素名称があるかを判定し、関連する要素名称があるときはステップＳＴ４に移行し、関連する要素名称がないときは処理を終了する。例えば、上述したようなシーケンスプログラムの場合、「運転準備」，「設備異常」，「起動ＬＳ」，「自動運転中」の４つの要素名称が関連している。
【００５１】
ステップＳＴ４において、要素選定部２４は、関連する要素名称を選定すると共に、当該要素名称を保存して、処理を終了する。例えば、上述したようなシーケンスプログラムの場合、要素選定部２４は、上記４つの要素名称を選定して、これらの要素名称及び要素アドレスを保存して処理を終了する。
【００５２】
個別検証パターン生成部２５は、要素選定部２４で選定された４つの要素名称及び要素アドレスに基づいて個別検証パターンを生成すべく、図９に示すステップＳＴ１１からステップＳＴ１７までの処理を実行する。
【００５３】
ステップＳＴ１１において、個別検証パターン生成部２５は、個別検証パターンを生成するのに必要な要素名称があるかを判定し、必要な要素名称があるときはステップＳＴ１２に移行し、必要な要素名称がないときは処理を終了する。
【００５４】
ステップＳＴ１２において、個別検証パターン生成部２５は、要素選定部２４で選定されたすべての要素名称に対してそれぞれ個別検証パターンが存在するかを判定し、すべての要素名称に対して個別検証パターンが存在するときはステップＳＴ１７に移行し、すべての要素名称に対して個別検証パターンが存在しないときはステップＳＴ１３に移行する。
【００５５】
ステップＳＴ１３において、個別検証パターン生成部２５は、ＰＬＣ３０からシーケンスプログラムを読み込み、読み込んだシーケンスプログラムを保存して、ステップＳＴ１４に移行する。
【００５６】
ステップＳＴ１４において、個別検証パターン生成部２５は、用語辞書データベース２１に記憶されている用語辞書を参照し、要素選定部２４で選定された要素名称に関連付けを行って、ステップＳＴ１５に移行する。ここでは、「起動ＬＳ」に「起動釦」を関連付ける。
【００５７】
ステップＳＴ１５において、個別検証パターン生成部２５は、要素選定部２４で選定された各要素名称及び関連付けされた要素名称を用いて、検証項目１〜４にそれぞれ対応する個別検証パターンを生成して、ステップＳＴ１６に移行する。上述したようなシーケンスプログラムの場合、個別検証パターン生成部２５は、次に示すような個別検証パターンを生成する。
【００５８】
個別検証パターン生成部２５は、要素名称「運転準備」について、検証項目１の条件に設定するための個別検証パターンｓｅｔＰｌｃ（＊＊＊＊，ＯＮ）を生成する。同様にして、個別検証パターン生成部２５は、要素名称「設備異常」，「起動ＬＳ」，「自動運転中」のそれぞれについて、検証項目２〜４の条件に設定するための個別検証パターン
ｓｅｔＰｌｃ（＊＊＊＊，ＯＮ）
ｓｅｔＰｌｃ（＊＊＊＊，ＯＮ）
ｃｈｅｃｋＰｌｃ（＊＊＊＊，ＯＦＦ）
を生成する。なお、「＊＊＊＊」は、要素アドレスが記述される場所を示している。
【００５９】
ステップＳＴ１６において、個別検証パターン生成部２５は、各要素名称の個別検証パターンに対して、それぞれ対応する要素アドレスを付加して、ステップＳＴ１２に戻る。例えば上述したような個別検証パターンの場合、次に示すように要素アドレスする。
【００６０】
「運転準備」に関する検証項目１：ｓｅｔＰｌｃ（Ｘ００１，ＯＮ）
「設備異常」に関する検証項目２：ｓｅｔＰｌｃ（Ｍ００１，ＯＮ）
「起動ＬＳ」に関する検証項目３：ｓｅｔＰｌｃ（Ｘ００２，ＯＮ）
「自動運転中」に関する検証項目４：ｃｈｅｃｋＰｌｃ（Ｍ００２，ＯＦＦ）そして、個別検証パターン生成部２５は、ステップＳＴ１２からステップＳＴ１６までの処理を繰り返し、すべての検証項目について個別検証パターンを生成すると、ステップＳＴ１７に移行する。
【００６１】
ステップＳＴ１７において、個別検証パターン生成部２５は、各個別検証パターンを保存すると共に、自動検証処理に移行すべく、個別検証パターン生成処理を終了する。
【００６２】
自動検証部２６は、個別検証パターン生成部２５で生成された各要素における個別検証パターンをＰＬＣ３０に送信することで、検証項目が示す前提及び動作になるようにＰＬＣ３０を設定する。そして、ＰＬＣ３０の仮想動作状態をモニタリングし、検証項目が示す検証通りになるかの確認を行う。具体的には、自動検証部２６は、図１０に示すステップＳＴ２１からステップＳＴ３０までの処理を実行する。
【００６３】
ステップＳＴ２１において、自動検証部２６は、ＰＬＣ３０を検証するのに必要な個別検証パターンがあるかを判定し、必要な個別検証パターンがあるときはステップＳＴ２２に移行し、必要な個別検証パターンがないときは処理を終了する。
【００６４】
ステップＳＴ２２において、自動検証部２６は、まだ個別検証パターンをＰＬＣ３０に送信していないか、すなわち未検証の個別検証パターンがあるかを判定し、未検証の個別検証パターンがあるときはステップＳＴ２３に移行し、未検証の個別検証パターンがないときはステップＳＴ３０に移行する。
【００６５】
ステップＳＴ２３において、自動検証部２６は、個別検証パターン生成部２５からすべての個別検証パターンを読み出して保存し、ステップＳＴ２４に移行する。
【００６６】
ステップＳＴ２４において、自動検証部２６は、ＰＬＣ３０の初期状態を設定する。自動検証部２６は、具体的には、検証項目の「前提」に対応する個別検証パターン
ｓｅｔＰｌｃ（Ｘ００１，ＯＮ）
ｓｅｔＰｌｃ（Ｍ００１，ＯＮ）
をＰＬＣ３０に送信して、ステップＳＴ２５に移行する。これにより、ＰＬＣ３０は、前提状態として、運転準備をＯＮに設定すると共に、異常設備をＯＮに設定することができる。
【００６７】
ステップＳＴ２５において、自動検証部２６は、ＰＬＣ３０が出力する信号をモニタリングすることでＰＬＣ３０の仮想動作が終了したかを判定し、仮想動作が終了したときはステップＳＴ２８に移行し、仮想動作が終了していないときはステップＳＴ２６に移行する。
【００６８】
ステップＳＴ２６において、自動検証部２６は、ＰＬＣ３０にシミュレーションを行わせて、ステップＳＴ２７に移行する。
【００６９】
ステップＳＴ２７において、自動検証部２６は、ＰＬＣ３０の動作状態を設定する。自動検証部２６は、具体的には、検証項目の「アクション」に対応する個別検証パターン
ｓｅｔＰｌｃ（Ｘ００２，ＯＮ）
をＰＬＣ３０に送信して、ステップＳＴ２７に移行する。これにより、ＰＬＣ３０は、前提状態の下で、起動ＬＳをＯＮに設定することができる。
【００７０】
自動検証部２６は、このようにステップＳＴ２４からステップＳＴ２７までの処理を行うことで、検証項目の「前提」及び「アクション」に対応する個別検証パターンをＰＬＣ３０に送信する。
【００７１】
ステップＳＴ２５で仮想動作が終了したと判定したときのステップＳＴ２８において、自動検証部２６は、ＰＬＣ３０の仮想動作状態が予想動作状態に一致したかを検証して、ステップＳＴ２９に移行する。ここでは、自動検証部２６は、検証項目の「検証」に対応する個別検証パターン
ｃｈｅｃｋＰｌｃ（Ｍ００２，ＯＦＦ）
をＰＬＣ３０に送信して、ＰＬＣ３０の現在の状態が当該個別検証パターンに一致するかを検証する。ここでは、自動検証部２６は、ＰＬＣ３０のシミュレート結果をモニタリングすることで、「自動運動中」がＯＦＦになったかを検証する。
【００７２】
ステップＳＴ２９において、自動検証部２６は、合致した又は合致していない検証項目を記憶して、ステップＳＴ２２に戻る。このように、自動検証部２６は、ステップＳＴ２２からステップＳＴ２９までの処理を実行することで、各個別検証パターンをＰＬＣ３０に送信して、ＰＬＣ３０の動作状態を検証することができる。
【００７３】
そして、ステップＳＴ２２で未検証の個別検証パターンがないと判定したときのステップＳＴ３０において、自動検証部２６は、ステップＳＴ２９で保存されたＰＬＣ３０の検証結果を図１に示す表示部１３に表示させて、自動検証処理を終了する。
【００７４】
以上のように、上記シーケンスプログラム検証装置１０は、ＰＬＣ３０の検証内容に対応する複数の検証項目を予め検証内容データベース２２に記憶しておき、シーケンスプログラムに含まれる要素名称と検証項目とをマッチングさせることで、要素名称が付加された個別検証パターンを自動的に生成することができる。
【００７５】
この結果、オペレータは、設備毎に検証用データを作成する手間を省いて、ＰＬＣ３０を容易に検証することができる。すなわち、従来は各設備に共通する検証内容であっても設備毎に検証パターンを生成する必要があったのに対して、上記シーケンスプログラム検証装置１０は、シーケンスプログラムに要素名称及び要素アドレスが含まれていれば、個別検証パターンを自動的に生成して、ＰＬＣ３０を検証することができる。
【００７６】
また、シーケンスプログラム検証装置１０は、要素名称のばらつきの影響を受けないようにするために、要素名称に規格用語を関連付けるための用語辞書を用語辞書データベース２１に記憶することで、個別検証パターンを自動的に生成することができる。
【００７７】
特に、設備メーカーから様々な設備を購入して自動車を生産するラインを構築する場合、設計管理者又はオペレータは、設備使用時の安全性を確保することができると共に、生産準備期間を短縮化することができ、さらに、設備制御プログラムのミスや、誤操作によって設備停止が生じることによる生産ロスの抑制を事前に確認することができる。
【００７８】
一方、設備メーカーのオペレータは、複数種類の設備を複数の設計者が設計する場合であっても、設備の品質確認を容易に行うことができる。
【００７９】
本発明は、上述した実施の形態に限定されるものではなく、以下の場合にも適用することができる。要素名称は、日本語に限らず、アルファベットや記号であってもよい。また、要素名称の代わりにリレー番号を用いてもよい。
【００８０】
本実施の形態では、オペレータは、検証項目を編集しなかったが、検証項目を編集することもできる。例えば図７において、検証項目ボックス５３ａに表示された検証項目１の「運転準備」をオペレータがクリックすると、要素名称の候補を表した図示しないプルダウンメニューが表示される。このとき、オペレータは、検証項目１の要素名称を変えることができるようになる。また、オペレータは「ＯＮ」をクリックすると、状態候補を表した図示しないプルダウンメニューが表示され、検証項目１の状態を変えることができるようになる。その他の検証項目ボックス５３ｂ，５３ｃ，５３ｄについても同様である。
【００８１】
また、本実施の形態に係るシーケンスプログラム検証装置１０は、コンピュータに所定の制御プログラムをインストールすることにより構成されているものでもよい。
【００８２】
【発明の効果】
請求項１、請求項３、請求項５記載の発明は、規格用語及びそれに対応する要素名称との関係を示す用語辞書を参照しながら、シーケンスプログラムに含まれる要素名称と、検証内容に対応する複数の検証項目に含まれる要素名称とのマッチングを行う。そして、要素名称及び要素アドレス、検証内容に対応する各検証項目に基づいて、要素を所定の条件に設定するための個別検証パターンを生成することにより、オペレータが設備毎にデータを制作することなく、設備制御コンピュータを検証するための個別検証パターンを自動的に生成することができる。
【００８３】
請求項２、請求項４，請求項６記載の発明は、個別検証パターンを前記設備制御コンピュータに送信して前記設備制御コンピュータの動作を検証することにより、検証仕様の内容を動作図として予め記述することなく、容易にシーケンスプログラムを検証することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るシーケンスプログラム検証装置のハードウェア構成を示すブロック図である。
【図２】シーケンスプログラム検証装置の表示部に表示されるウィンドウを示す図である。
【図３】ＰＬＣのシーケンスをラダーで表示した図である。
【図４】シーケンスプログラム検証装置の制御部のソフトウェア構成を示す機能ブロック図である。
【図５】用語辞書データベースに記憶された用語辞書の一例を示す図である。
【図６】検証内容データベースに記憶されている検証項目、詳細項目、検証パターンを示す図である。
【図７】表示部に表示される検証項目ウィンドウの一例を示す図である。
【図８】要素選定部の動作内容を説明するフローチャートである。
【図９】個別検証パターン生成部の動作内容を説明するフローチャートである。
【図１０】自動検証部の動作内容を説明するフローチャートである。
【符号の説明】
１０  シーケンスプログラム検証装置
２１  用語辞書データベース
２２  検証内容データベース
２３  検証内容エディタ
２４  要素選定部
２５  個別検証パターン生成部
２６  自動検証部
【図１】
0004491165.tif 000002
【図２】
0004491165.tif 000003
【図３】
0004491165.tif 000004
【図４】
0004491165.tif 000005
【図５】
0004491165.tif 000006
【図６】
0004491165.tif 000007
【図７】
0004491165.tif 000008
【図８】
0004491165.tif 000009
【図９】
0004491165.tif 000010
【図１０】
0004491165.tif 000011