(57)【要約】  エンジニアリングツールは、表示装置（６２）の表示画面（６２ａ）に表示され、かつラダープログラム（ＲＰ）を表示する表示領域（６２ａ１）と、時相演算子付与領域であるセル（Ｃ１）と、を備える。時相演算子付与領域であるセル（Ｃ１）は、表示領域（６２ａ１）に表示され、かつラダープログラム（ＲＰ）のプログラムモジュール（ＲＰＭ１）に時相演算子（ＴＯ１）を付与する領域である。エンジニアリングツールは、制御仕様編集部と、制御仕様記述式変換部とを備える。制御仕様編集部は、プログラムモジュール（ＲＰＭ１）を作成する。制御仕様記述式変換部は、プログラムモジュール（ＲＰＭ１）をモデル検査プログラムに入力可能な数式に変換する。
2017138156.tif 000002
【特許請求の範囲】
【請求項１】
表示装置の表示画面に表示され、かつ制御仕様記述式を表示する表示領域と、
前記表示領域に表示され、かつ前記制御仕様記述式のプログラムモジュールに時相演算子を付与する時相演算子付与領域と、
を備えることを特徴とするエンジニアリングツール。
【請求項２】
前記プログラムモジュールを作成する第１の作成手段と、
前記プログラムモジュールをモデル検査プログラムに入力可能な数式に変換する第１の変換手段と、
を備えることを特徴とする請求項１に記載のエンジニアリングツール。
【請求項３】
制御対象機器を制御する制御プログラムを作成する第２の作成手段と、
前記表示装置の前記表示画面に表示され、かつ前記制御プログラムを表示する第２の表示領域と、
前記制御プログラムを前記モデル検査プログラムに入力可能なコードに変換する第２の変換手段と、
を備えることを特徴とする請求項２に記載のエンジニアリングツール。
【請求項４】
前記プログラムモジュールは、前記制御対象機器の制御仕様を規定する
ことを特徴とする請求項３に記載のエンジアリングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラムを作成するエンジニアリングツールに関する。
【背景技術】
【０００２】
従来のエンジニアリングツールを使った制御プログラムの動作確認は、実際の制御対象機器あるいはシミュレータにエンジニアリングツールを接続して行われる。動作確認は、確認したい制御プログラムを実行し、ユーザがその状態をモニタし確認するという手法により一般的に行われる。また、動作確認は、ユーザが入力し設定することにより制御プログラムの初期値の設定及び実行時のパラメータの設定を行っていた。【０００３】
上記従来方法は、制御プログラムの実行から確認まで、ユーザの操作が多く時間がかかる問題がある。また、上記方法は、網羅的な動作を確認するためには、ユーザが初期値の設定及び実行時のパラメータの設定をしておく必要があり、その初期値及びパラメータの作成に時間がかかっていた。【０００４】
上記従来方法の問題に対して、モデル検査プログラムを用いて制御プログラムの動作確認を行う装置が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−７２７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に示された装置は、制御対象機器が実行する動作及び実行しない動作を規定する制御仕様の入力方法が明らかではない。このため、特許文献１に示された装置は、モデル検査プログラムを用いた動作確認を行うためには制御仕様の入力に工夫が必要である。【０００７】
本発明は、上記に鑑みてなされたものであって、制御対象機器の制御仕様を容易に入力することができるエンジニアリングツールを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、表示装置の表示画面に表示され、かつ制御仕様記述式を表示する表示領域と、時相演算子付与領域と、を備えるエンジニアリングツールである。時相演算子付与領域は、表示領域に表示され、かつ制御仕様記述式のプログラムモジュールに時相演算子を付与する領域である。
【発明の効果】
【０００９】
本発明に係るエンジニアリングツールは、制御対象機器の制御仕様を容易に入力することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るエンジニアリングツールが備えられる制御システムの構成を示す図
【図２】図１に示されたエンジニアリングツールの表示装置の表示画面の一例を示す図
【図３】図１に示されたエンジニアリングツールの表示装置の表示画面の第１の表示領域に表示されるラダープログラムの一例を示す図
【図４】図３に示されたラダープログラムの第１のプログラムモジュールを作成する過程を示す図
【図５】図３に示されたラダープログラムの第２のプログラムモジュールを作成する過程を示す図
【図６】実施の形態１に係るエンジニアリングツールのハードウェア構成を示す図
【図７】実施の形態１に係るエンジニアリングツールにより作成されたＳＦＣプログラムの一例を示す図
【図８】図７に示されたＳＦＣプログラムの出力プログラムソースコードを変換して得た状態遷移モデルを示す図
【図９】図７に示されたＳＦＣプログラムの動作確認に用いられるラダープログラムの一例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態に係るエンジニアリングツールを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、実施の形態１に係るエンジニアリングツールが備えられる制御システムの構成を示す図である。図２は、図１に示されたエンジニアリングツールの表示装置の表示画面の一例を示す図である。制御システム１は、ＦＡ（Factory  Automation）分野の設備を構成するものであり、図１に示すように、設備に設置される複数の制御対象機器２，３，４と、複数の制御対象機器２，３，４に接続した制御装置５と、制御装置５に接続したエンジニアリングツール６と、を備える。制御対象機器２，３，４は、設備に設置されるスイッチ、調整弁、電磁弁、モータ、又はポンプであり、動作を実施する駆動機器である。実施の形態１において、制御システム１は、制御対象機器２，３，４を三つ備えるが、制御対象機器２，３，４を三つ以外の数備えても良く、制御対象機器２，３，４を少なくとも一つ以上備えれば良い。
【００１３】
エンジニアリングツール６は、コンピュータプログラムを実行するコンピュータである。エンジニアリングツール６は、制御装置５を介して、制御対象機器２，３，４に接続している。エンジニアリングツール６は、制御装置５で実行される制御プログラムであるＳＦＣ（Sequential  Function  Chart）プログラムＳＰを生成して、制御装置５に送信する。制御装置５は、ＳＦＣプログラムＳＰを実行することにより、制御対象機器２，３，４を制御する。実施の形態１において、制御装置５は、プログラマブルコントローラ（ＪＩＳ  Ｂ  ３５０２：２０１１、programmable  controllers（ＰＬＣ））であるが、ＰＬＣに限定されない。
【００１４】
エンジニアリングツール６は、作成したＳＦＣプログラムＳＰの動作確認を実行する装置でもある。エンジニアリングツール６は、図１に示すように、ユーザからの操作入力を受け付ける入力装置６１と、文字及び画像を表示する図２に示す表示画面６２ａを有する表示装置６２と、を備える。エンジニアリングツール６は、ＳＦＣプログラムＳＰを作成するための制御作成プログラム、ＳＦＣプログラムＳＰの動作確認を実行するためのモデル検査プログラムＭＰ及び作成したＳＦＣプログラムＳＰを記憶する記憶装置６３と、ＳＦＣプログラムＳＰの作成及び動作確認を実行する演算部１０とを備える。
【００１５】
制御作成プログラム、ＳＦＣプログラムＳＰ及びモデル検査プログラムＭＰは、コンピュータであるエンジニアリングツール６が実行可能なコンピュータプログラムであり、エンジニアリングツールプログラムである。表示装置６２は、エンジニアリングツール６が制御作成プログラムを実行すると、図２に示すように、表示画面６２ａに第１の表示領域６２ａ１と、第２の表示領域６２ａ２とが表示される。即ち、エンジニアリングツール６は、制御作成プログラムを実行することにより、表示画面６２ａに表示された第１の表示領域６２ａ１と、表示画面６２ａに表示された第２の表示領域６２ａ２とを備えることとなる。第１の表示領域６２ａ１は、制御仕様記述式であるラダープログラムＲＰを表示する表示領域である。ラダープログラムＲＰは、ラダー（Ladder：ＬＤ）言語で記述されたラダープログラムである。ラダー言語は、ＩＥＣ（国際電機標準会議）  ６１１３１−３及びＪＩＳ（日本工業規格）  Ｂ  ３５０３：２０１２により規定された言語である。実施の形態１において、第１の表示領域６２ａ１は、表示画面６２ａの下端部に表示されるが、これに限定されない。実施の形態１において、エンジニアリングツール６は、制御仕様記述式としてラダープログラムＲＰを表示するが、制御仕様記述式として表示するのはラダープログラムＲＰに限定されない。
【００１６】
実施の形態１において、ラダープログラムＲＰは、第１の表示領域６２ａ１の図２中左端に上下方向に直線状に延びた母線ＢＬと、母線ＢＬに連なりかつ母線ＢＬに交差する図２中の左右方向に延びた複数の複数のプログラムモジュールＲＰＭとを備える。実施の形態１において、プログラムモジュールＲＰＭは、制御対象機器２，３，４の制御仕様を規定するものである。制御仕様とは、制御対象機器２，３，４の動作を規定するものである。制御仕様は、制御対象機器２，３，４が常に実行する動作、制御対象機器２，３，４が将来実行する動作、又は制御対象機器２，３，４相互の動作が実行されるタイミングの関係を示すものである。
【００１７】
プログラムモジュールＲＰＭは、制御対象機器２，３，４の動作を示しかつ図２中の左右方向又は上下方向に並べられる要素Ｅと、要素Ｅ同士又は要素Ｅと母線ＢＬとを接続する接続線Ｌとを備える。プログラムモジュールＲＰＭは、要素Ｅの配置及び接続線Ｌの接続関係により制御対象機器２，３，４の制御仕様を規定する。
【００１８】
第２の表示領域６２ａ２は、制御対象機器２，３，４を制御するＳＦＣプログラムＳＰを表示する表示領域である。実施の形態１において、第２の表示領域６２ａ２は、表示画面６２ａの第１の表示領域６２ａ１の上方に二つ表示されるが、これに限定されない。
【００１９】
実施の形態１において、ＳＦＣプログラムＳＰは、制御対象機器２，３，４の動作が付属するステップＳと、複数のステップＳ間の遷移条件が付属するトランジションＴＪと、接続線ＬＡとを備える。ＳＦＣプログラムＳＰは、ステップＳと、トランジションＴＪとを上下方向に交互に配置し、接続線ＬＡによりステップＳとトランジションＴＪとを接続する。ＳＦＣプログラムＳＰは、複数のステップＳのうち上方のステップＳから順に、それぞれのステップＳに付属した動作を実行し、動作を実行しているステップＳに接続線ＬＡにより接続したトランジションＴＪに付属した遷移条件を満たすと、動作実行中のステップＳに付属した動作を停止する。ＳＦＣプログラムＳＰは、遷移条件を満たしたトランジションＴＪに接続線ＬＡにより接続したステップＳに付属した動作を実行する。
【００２０】
演算部１０は、図１に示すように、第１の作成手段である制御仕様編集部１１と、第２の作成手段であるプログラム編集部１２とを備える。演算部１０は、第１の変換手段である制御仕様記述式変換部１３と、第２の変換手段である状態遷移モデル変換部１４と、モデル検査部１５とを備える。
【００２１】
プログラム編集部１２は、制御作成プログラムを実行することにより、入力装置６１が受け付けた操作入力に応じたＳＦＣプログラムＳＰを作成する。実施の形態１において、プログラム編集部１２は、ＳＦＣプログラムＳＰを作成するが、ＳＦＣプログラムＳＰに限定されることなく、ラダー言語又はＳＴ（Structured Text）言語によりプログラムを作成しても良い。ＳＴ言語は、ＩＥＣ  ６１１３１−３により規定された言語である。プログラム編集部１２は、表示装置６２の表示画面６２ａの第２の表示領域６２ａ２に、入力装置６１が受け付けたステップＳ、トランジションＴＪ及び接続線ＬＡを表示する。プログラム編集部１２は、第２の表示領域６２ａ２に表示されたＳＦＣプログラムＳＰを決定する操作入力を入力装置６１が受け付けると、作成したＳＦＣプログラムＳＰを記憶装置６３に記憶する。
【００２２】
状態遷移モデル変換部１４は、ＳＦＣプログラムＳＰをモデル検査プログラムＭＰに入力可能なコードである状態遷移モデルＪＭに変換するものである。状態遷移モデル変換部１４は、記憶装置６３に記憶されかつ第２の表示領域６２ａ２に表示されたＳＦＣプログラムＳＰの出力ソースコードをモデル検査プログラムＭＰに入力することのできる状態遷移モデルＪＭに変換する。状態遷移モデル変換部１４は、ＳＦＣプログラムＳＰを機械語又はＳＦＣプログラムＳＰよりも低いレベルのコードに変換するプログラム、即ち、所謂コンパイラを実行する。
【００２３】
図３は、図１に示されたエンジニアリングツールの表示装置の表示画面の第１の表示領域に表示されるラダープログラムの一例を示す図である。図４は、図３に示されたラダープログラムの第１のプログラムモジュールを作成する過程を示す図である。図５は、図３に示されたラダープログラムの第２のプログラムモジュールを作成する過程を示す図である。
【００２４】
制御仕様編集部１１は、制御作成プログラムを実行することにより、入力装置６１が受け付けた操作入力に応じたラダープログラムＲＰの各プログラムモジュールＲＰＭを作成する。制御仕様編集部１１は、表示装置６２の表示画面６２ａの第１の表示領域６２ａ１に、入力装置６１が受け付けた要素Ｅ及び接続線Ｌを表示する。
【００２５】
第１の表示領域６２ａ１は、図３に示すように、ラダープログラムＲＰを構成する各プログラムモジュールＲＰＭを表示するプログラム表示領域６２ｂと、制御仕様を表示する制御仕様表示領域６２ｃとを備える。制御仕様表示領域６２ｃが表示する制御仕様は、プログラム表示領域６２ｂが表示するプログラムモジュールＲＰＭにより規定されたものである。プログラム表示領域６２ｂと制御仕様表示領域６２ｃとは、１対１で対応し、対応するもの同士が第１の表示領域６２ａ１の上下方向に並べられる。実施の形態１において、第１の表示領域６２ａ１の各プログラム表示領域６２ｂは、図３中に格子状の太い点線で囲まれた複数のセルＣにより構成される。各セルＣは、入力装置６１が受け付けた操作入力により要素Ｅ又は接続線Ｌを表示する。接続線Ｌは、セルＣ同士の境界にも表示される。以下、図３の上方に表示されたプログラムモジュールＲＰＭを第１のプログラムモジュールＲＰＭ１と記し、図３の下方に表示されたプログラムモジュールＲＰＭを第２のプログラムモジュールＲＰＭ２と記す。
【００２６】
第１のプログラムモジュールＲＰＭ１を表示するプログラム表示領域６２ｂは、要素Ｅとして、左端のセルＣから右側のセルＣに順に互いに直列に接続した「Ｙ１」、「Ｙ２」及び「ＮＯＴ」を表示している。また、第１のプログラムモジュールＲＰＭ１を表示するプログラム表示領域６２ｂの要素Ｅとして「ＮＯＴ」を表示したセルＣの右側のセルＣは、第１のプログラムモジュールＲＰＭ１に第１の時相演算子ＴＯを付与する第１の時相演算子付与領域である。第１の時相演算子付与領域であるセルＣを、以下、符号Ｃ１で示す。セルＣ１は、第１の表示領域６２ａ１に表示され、第１の時相演算子ＴＯを表示することで、第１のプログラムモジュールＲＰＭ１に第１の時相演算子ＴＯを付与する。
【００２７】
第２のプログラムモジュールＲＰＭ２を表示するプログラム表示領域６２ｂは、要素Ｅとして、左端のセルＣから右側セルＣに順に互いに直列に接続した「Ｙ１」、接続線Ｌ及び「Ｙ１０」を表示している。第２のプログラムモジュールＲＰＭ２を表示するプログラム表示領域６２ｂは、要素Ｅとして「Ｙ１」を表示したセルＣの下方のセルＣに「Ｙ２」を表示している。要素Ｅとしての「Ｙ２」は、接続線Ｌにより要素Ｅとしての「Ｙ１」と並列に接続している。
【００２８】
また、第２のプログラムモジュールＲＰＭ２を表示するプログラム表示領域６２ｂの要素として「Ｙ１」を表示したセルＣと要素として「Ｙ１０」を表示したセルＣとの間のセルＣは、第２のプログラムモジュールＲＰＭ２に第１の時相演算子ＴＯと異なる第２の時相演算子ＴＯを付与する第２の時相演算子付与領域である。第２の時相演算子付与領域であるセルＣを、以下、符号Ｃ２で示す。セルＣ２は、第１の表示領域６２ａ１に表示され、第２の時相演算子ＴＯを表示することで、第２のプログラムモジュールＲＰＭ２に第２の時相演算子ＴＯを付与する。以下、第１の時相演算子ＴＯと第２の時相演算子ＴＯとのうち第１の時相演算子ＴＯを区別して示す場合には、符号ＴＯ１を付し、第２の時相演算子ＴＯを区別して示す場合には、符号ＴＯ２を付す。第１の時相演算子ＴＯと第２の時相演算子ＴＯとを区別しない場合には、符号ＴＯを付す。このように、第１の表示領域６２ａ１の各プログラム表示領域６２ｂを構成するセルＣ，Ｃ１，Ｃ２は、入力装置６１が受け付けた操作入力により要素Ｅ及び接続線Ｌに加え、時相演算子ＴＯを表示する。
【００２９】
第１の時相演算子ＴＯ１及び第２の時相演算子ＴＯ２は、ラダープログラムＲＰの各要素Ｅの成立を時間経過とともに規定するものである。実施の形態１において、第１の時相演算子ＴＯ１は、接続された要素Ｅとしての「Ｙ１」、要素Ｅとしての「Ｙ２」及び要素Ｅとしての「ＮＯＴ」が常に成立する「Ｇ」（Globallyを示す）である。即ち、第１の時相演算子ＴＯ１は、常時成立する制御対象機器２，３，４の動作、即ち、制御対象機器２，３，４が常に実行する動作を示している。
【００３０】
実施の形態１において、第１のプログラムモジュールＲＰＭ１は、常に、要素Ｅとしての「Ｙ１」と要素Ｅとしての「Ｙ２」とが同時に成立することがないことを示す。第２の時相演算子ＴＯ２は、第２の時相演算子ＴＯ２の右側に配置された要素Ｅとしての「Ｙ１０」が成立するまでは、第２の時相演算子ＴＯ２の左側に配置された要素Ｅとしての「Ｙ１」又は要素Ｅとしての「Ｙ２」が成立する「Ｕ」（Untilを示す）である。第２のプログラムモジュールＲＰＭ２は、要素Ｅとしての「Ｙ１０」が成立するまでは、要素Ｅとしての「Ｙ１」又は要素Ｅとしての「Ｙ２」が成立することを示す。即ち、第２の時相演算子ＴＯ２は、制御対象機器２，３，４相互の動作が実行されるタイミングの関係を示している。
【００３１】
実施の形態１において、エンジニアリングツール６は、時相演算子ＴＯとして、「Ｇ」及び「Ｕ」を用いたが、これらに限定されない。エンジニアリングツール６は、時相演算子ＴＯとして「Ｇ」及び「Ｕ」以外に、いつか要素が成立することを示す「Ｆ」（Finally）及び次の瞬間要素が成立することを示す「Ｘ」（Next）を用いても良い。時相演算子ＴＯとしての「Ｆ」は、将来成立する制御対象機器２，３，４の動作、即ち、制御対象機器２，３，４が将来実行する動作を示す時相演算子である。時相演算子ＴＯとしての「Ｘ」は、制御対象機器２，３，４の動作が実行されるタイミングの関係を示す時相演算子である。
【００３２】
制御仕様編集部１１は、以下のように、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２を作成する。制御仕様編集部１１は、第１の表示領域６２ａ１を構成するセルＣに入力装置６１が受け付けた要素Ｅ及び接続線Ｌを表示する。制御仕様編集部１１は、第１の表示領域６２ａ１を構成するセルＣのうち特定のセルＣ１，Ｃ２に時相演算子ＴＯ１，ＴＯ２を次のように入力する。入力装置６１が、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２を構成するセルＣのうち時相演算子ＴＯを付与する一以上のセルＣが選択されたことを受け付ける。図４及び図５は、時相演算子ＴＯを付与する一以上のセルＣを平行斜線で示す。そして、入力装置６１が、時相演算子ＴＯを付与する一以上のセルＣのうち太い点線で囲む特定のセルＣ１，Ｃ２に時相演算子ＴＯを入力することを受け付けると、図４及び図５に示すように、選択されたセルＣ１，Ｃ２の隣に入力可能な時相演算子ＴＯを表示するメニューＭを表示する。制御仕様編集部１１は、入力装置６１がメニューＭに表示された時相演算子ＴＯのうち任意の一つが選択されたことを受け付けると、選択されたセルＣ１，Ｃ２に選択された時相演算子ＴＯを表示する。
【００３３】
実施の形態１において、図４に示された特定のセルＣ１に第１の時相演算子ＴＯ１である「Ｇ」が入力されて、第１のプログラムモジュールＲＰＭ１が作成される。図５に示された特定のセルＣ２に第２の時相演算子ＴＯ２である「Ｕ」が入力されて、第２のプログラムモジュールＲＰＭ２が作成される。
【００３４】
制御仕様編集部１１は、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２を構成するセルＣのうち予め設定されたセルＣに結果表示用のアナンシエータＦを生成する。結果表示用のアナンシエータＦは、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２が規定した制御仕様をＳＦＣプログラムＳＰが満たすか否かを示すものである。実施の形態１において、制御仕様編集部１１は、図２に示すように、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２の右端のセルＣに結果表示用のアナンシエータＦを生成する。制御仕様編集部１１は、第１の表示領域６２ａ１に表示されたラダープログラムＲＰを決定する操作入力を入力装置６１が受け付けると、作成したラダープログラムＲＰを記憶装置６３に記憶する。なお、実施の形態１において、制御仕様編集部１１は、第１の時相演算子ＴＯ１をセルＣ１に付与し、第２の時相演算子ＴＯ２をセルＣ２に付与したが、時相演算子ＴＯを任意のセルＣに付与しても良い。制御仕様編集部１１は、各プログラムモジュールＲＰＭ１，ＲＰＭ２を構成する複数のセルＣのうちユーザが定めた任意のセルＣに時相演算子ＴＯを付与する。即ち、第１の時相演算子付与領域Ｃ１は、第１のプログラムモジュールＲＰＭ１を構成する複数のセルＣのうちユーザが定めた任意のセルＣであり、第２の時相演算子付与領域Ｃ２は、第２のプログラムモジュールＲＰＭ２を構成する複数のセルＣのうちユーザが定めた任意のセルＣである。
【００３５】
また、実施の形態１において、制御仕様編集部１１は、第１の表示領域６２ａ１に表示されたラダープログラムＲＰを決定する操作入力を入力装置６１が受け付けると、ラダープログラムＲＰの各プログラムモジュールＲＰＭ１，ＲＰＭ２に表示された各時相演算子ＴＯ１，ＴＯ２を、各プログラムモジュールＲＰＭ１，ＲＰＭ２と対応させて第１の表示領域６２ａ１に表示する。実施の形態１において、制御仕様編集部１１は、第１の表示領域６２ａ１の各プログラムモジュールＲＰＭ１，ＲＰＭ２の左側に各プログラムモジュールＲＰＭ，ＲＰＭ２に表示された各時相演算子ＴＯ１，ＴＯ２を表示する。
【００３６】
制御仕様記述式変換部１３は、ラダープログラムＲＰの第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２をモデル検査プログラムＭＰに入力可能な数式ＮＦに変換するものである。制御仕様記述式変換部１３は、記憶装置６３に記憶されかつ第１の表示領域６２ａ１に表示されたラダープログラムＲＰの各プログラムモジュールＲＰＭ１，ＲＰＭ２をモデル検査プログラムＭＰに入力することのできる数式ＮＦに変換する。制御仕様記述式変換部１３は、ラダープログラムＲＰの第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２を機械語又はラダープログラムＲＰよりも低いレベルのコードに変換するプログラム、即ち、所謂コンパイラを実行する。
【００３７】
実施の形態１において、制御仕様記述式変換部１３は、第１のプログラムモジュールＲＰＭ１を以下の式１で示す数式ＮＦに変換し、第２のプログラムモジュールＲＰＭ２を以下の式２で示す数式ＮＦに変換する。
【００３８】
Ｇ（ＮＯＴ（Ｙ１  ＡＮＤ  Ｙ２）・・・式１
（Ｙ１  ＯＲ  Ｙ２）Ｕ（Ｙ１０）・・・式２
【００３９】
モデル検査部１５は、記憶装置６３に記憶されたモデル検査プログラムＭＰを実行して、ユーザが作成したＳＦＣプログラムＳＰがラダープログラムＲＰの制御仕様を規定する各プログラムモジュールＲＰＭ１，ＲＰＭ２を満たしているか否かを判定する。モデル検査部１５は、第１の表示領域６２ａ１の各プログラムモジュールＲＰＭ１，ＲＰＭ２のアナンシエータＦに満たしているか否かを示す判定結果を表示する。エンジニアリングツール６は、モデル検査プログラムＭＰとして、NuSMV: a new symbolic model checker、又はSPIN model checkerを用いるが、これらに限定されない。
【００４０】
実施の形態１に係るエンジニアリングツール６は、入力装置６１から制御作成プログラムを実行する操作入力を受け付けると、表示装置６２の表示画面６２ａに第１の表示領域６２ａ１及び第２の表示領域６２ａ２を表示する。エンジニアリングツール６は、プログラム編集部１２が第２の表示領域６２ａ２に入力装置６１から受け付けた操作入力に応じたＳＦＣプログラムＳＰを表示する。エンジニアリングツール６は、第２の表示領域６２ａ２に表示したＳＦＣプログラムＳＰを決定する操作入力を入力装置６１が受け付けると、プログラム編集部１２が決定したＳＦＣプログラムＳＰを記憶装置６３に記憶するとともに、状態遷移モデル変換部１４がＳＦＣプログラムＳＰを状態遷移モデルＪＭに変換する。
【００４１】
エンジニアリングツール６は、制御仕様編集部１１が第１の表示領域６２ａ１に入力装置６１から受け付けた操作入力に応じたラダープログラムＲＰを表示する。エンジニアリングツール６は、第１の表示領域６２ａ１に表示したラダープログラムＲＰを決定する操作入力を入力装置６１が受け付けると、制御仕様編集部１１が決定したラダープログラムＲＰを記憶装置６３に記憶するとともに、制御仕様記述式変換部１３がラダープログラムＲＰの各プログラムモジュールＲＰＭ１，ＲＰＭ２を数式ＮＦに変換する。
【００４２】
エンジニアリングツール６は、図２に示すＳＦＣプログラムＳＰの動作確認を実行する検査実行領域１００の操作入力を入力装置６１が受け付けると、モデル検査部１５が、ユーザが作成したＳＦＣプログラムＳＰがラダープログラムＲＰの各プログラムモジュールＲＰＭ１，ＲＰＭ２を満たしているか否かを判定する。エンジニアリングツール６は、モデル検査部１５がプログラムモジュールＲＰＭ１，ＲＰＭ２のアナンシエータＦに判定結果を表示する。
【００４３】
図６は、実施の形態１に係るエンジニアリングツールのハードウェア構成を示す図である。実施の形態１に係るエンジニアリングツール６は、ＯＳ（Operating System）６０上でコンピュータプログラムを実行するコンピュータであって、図６に示すように、入力装置６１と、表示装置６２と、記憶装置６３とに加え、ＣＰＵ（Central  Processing  Unit）６４と、ＲＡＭ（Random  Access  Memory）６５と、ＲＯＭ（Read  Only  Memory）６６と、通信インタフェース６７と、を備える。ＣＰＵ６４、ＲＡＭ６５、ＲＯＭ６６、記憶装置６３、入力装置６１、表示装置６２及び通信インタフェース６７は、バスＢを介して接続されている。
【００４４】
演算部１０の制御仕様編集部１１、プログラム編集部１２、制御仕様記述式変換部１３、状態遷移モデル変換部１４及びモデル検査部１５の機能は、ＣＰＵ６４がＲＡＭ６５を作業領域として使用しながら、ＲＯＭ６６及び記憶装置６３に記憶されているプログラムを実行することにより実現される。プログラムは、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。ＲＯＭ６６に記憶されているプログラムは、ＢＩＯＳ（Basic  Input  Output  System）又はＵＥＦＩ（Unified  Extensible  Firmware  Interface）であるが、ＲＯＭ６６に記憶されているプログラムは、ＢＩＯＳ又はＵＥＦＩに限定されない。実施の形態１において、記憶装置６３に記憶されているプログラムは、オペレーティングシステムプログラム、制御作成プログラム、ＳＦＣプログラムＳＰ及びモデル検査プログラムＭＰであるが、記憶装置６３に記憶されているプログラムは、オペレーティングシステムプログラム、制御作成プログラム、ＳＦＣプログラムＳＰ及びモデル検査プログラムＭＰに限定されない。実施の形態１において、記憶装置６３は、ＳＳＤ（Solid  State  Drive）又はＨＤＤ（Hard  Disk  Drive）であるが、記憶装置６３は、ＳＳＤ又はＨＤＤに限定されない。
【００４５】
入力装置６１は、ユーザからの操作入力を受け付ける。実施の形態１において、入力装置６１は、キーボード又はマウスであるが、入力装置６１は、キーボード又はマウスに限定されない。表示装置６２は、文字及び画像を表示する。実施の形態１において、表示装置６２は、液晶表示装置が例示される。通信インタフェース６７は、制御装置５と通信を行う。エンジニアリングツール６は、通信インタフェース６７が制御装置５に接続されることで、複数の制御対象機器２，３，４に接続している。
【００４６】
次に、実施の形態１に係るエンジニアリングツール６の動作の一例を、エンジニアリングツール６によって作成されたＳＦＣプログラムＳＰの一例を用いて説明する。図７は、実施の形態１に係るエンジニアリングツールにより作成されたＳＦＣプログラムの一例を示す図である。図８は、図７に示されたＳＦＣプログラムの出力プログラムソースコードを変換して得た状態遷移モデルを示す図である。図９は、図７に示されたＳＦＣプログラムの動作確認に用いられるラダープログラムの一例を示す図である。
【００４７】
エンジニアリングツール６は、プログラム編集部１２が入力装置６１からの操作入力を受け付け及び制御作成プログラムを実行することにより図７に示されたＳＦＣプログラムＳＰが作成される。図７に示されたＳＦＣプログラムＳＰは、数「０００」から数を「１」ずつ増加させ、数「９９９」になると終了するプログラムであり、初期値として「１」の位の数を示すＤ０＝０とし、「１０」の位の数を示すＤ１＝０とし、「１００」の位の数を示すＤ２＝０とするステップＳ１と、ステップＳ１から常にステップＳ２に遷移するトランジションＴＪ１とを備える。ＳＦＣプログラムＳＰは、ステップＳ２では、Ｄ０＝９を規定するトランジションＴＪ２が成立するまで、Ｄ０を１つ増加させ、Ｄ０＝９を規定するトランジションＴＪ２が成立すると、ステップＳ３に遷移する。
【００４８】
ＳＦＣプログラムＳＰは、ステップＳ３では、Ｄ１＝９を規定するトランジションＴＪ３が成立するまで、Ｄ０＝０とし、Ｄ１を１つ増加させてステップＳ２に戻り、トランジションＴＪ３が成立するまで、ステップＳ２及びステップＳ３を繰り返す。ＳＦＣプログラムＳＰは、Ｄ１＝９を規定するトランジションＴＪ３が成立すると、ステップＳ４に遷移する。ＳＦＣプログラムＳＰは、ステップＳ４では、Ｄ２＝９を規定するトランジションＴＪ４が成立するまで、Ｄ２を１つ増加させてステップＳ２に戻り、トランジションＴＪ４が成立するまで、ステップＳ２、ステップＳ３及びステップＳ４を繰り返す。ＳＦＣプログラムＳＰは、Ｄ２＝９を規定するトランジションＴＪ４が成立すると、プログラムを終了する。また、図７に示すＳＦＣプログラムＳＰは、トランジションＴＪ３が成立するまでステップＳ３からステップＳ２に常時戻るトランジションＴＪ５と、トランジションＴＪ４が成立するまでステップＳ４からステップＳ２に常時戻るトランジションＴＪ６とを備える。
【００４９】
エンジニアリングツール６は、図７に示されたＳＦＣプログラムＳＰが決定されると、状態遷移モデル変換部１４が、ＳＦＣプログラムＳＰの出力プログラムソースコードを図８に示す状態遷移モデルＪＭに変換する。
【００５０】
エンジニアリングツール６は、制御仕様編集部１１が入力装置６１からの操作入力及び制御作成プログラムを実行することにより、図９に示されたラダープログラムＲＰが作成される。図９に示されたラダープログラムＲＰは、いずれ数「５５５」となることを規定する、即ち、Ｄ０＝５、Ｄ１＝５及びＤ２＝５が成立することを規定するプログラムモジュールのみを備える。
【００５１】
エンジニアリングツール６は、図９に示されたラダープログラムＲＰが決定されると、制御仕様記述式変換部１３が、ラダープログラムＲＰを以下の式３に示す数式ＮＦに変換する。
【００５２】
Ｆ（Ｄ０＝５＆Ｄ１＝５＆Ｄ２＝５）・・・式３
【００５３】
エンジニアリングツール６は、検査実行の操作入力を受け付けると、図９に示されたラダープログラムのアナンシエータＦにＳＦＣプログラムＳＰがラダープログラムＲＰを満たすことを表示する。
【００５４】
実施の形態１に係るエンジニアリングツール６は、制御仕様記述式であるラダープログラムＲＰを表示する第１の表示領域６２ａ１にラダープログラムＲＰの第１のプログラムモジュールＲＰＭ１に第１の時相演算子ＴＯ１を付与する第１の時相演算子付与領域であるセルＣ１を備える。また、エンジニアリングツール６は、第２のプログラムモジュールＲＰＭ２に第１の時相演算子ＴＯ１と異なる第２の時相演算子ＴＯ２を付与する第２の時相演算子付与領域であるセルＣ２とを備える。このため、エンジニアリングツール６は、制御仕様記述式であるラダープログラムＲＰに種々の時相演算子ＴＯを付与することができる。
【００５５】
また、エンジニアリングツール６は、制御仕様記述式であるラダープログラムＲＰが制御対象機器２，３，４の制御仕様を規定する。その結果、エンジニアリングツール６は、時相演算子ＴＯを付与することができる制御仕様記述式であるラダープログラムＲＰを用いて制御対象機器２，３，４の制御仕様を容易に入力することができる。よって、エンジニアリングツール６は、ＳＦＣプログラムＳＰの動作確認を容易に行うことができる。
【００５６】
また、実施の形態１に係るエンジニアリングツール６は、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２を作成する制御仕様編集部１１と、第１のプログラムモジュールＲＰＭ１及び第２のプログラムモジュールＲＰＭ２をモデル検査プログラムＭＰに入力可能な数式ＮＦに変換する制御仕様記述式変換部１３とを備える。このため、エンジニアリングツール６は、制御仕様編集部１１を用いて作成したラダープログラムＲＰを、ユーザが特別な操作を行うことなく、モデル検査プログラムＭＰに入力することができる。その結果、エンジニアリングツール６は、ラダープログラムＲＰを用いて制御対象機器２，３，４の制御仕様を容易に入力することができる。
【００５７】
実施の形態１に係るエンジニアリングツール６は、制御対象機器２，３，４を制御する制御プログラムであるＳＦＣプログラムＳＰを作成するプログラム編集部１２と、ＳＦＣプログラムＳＰをモデル検査プログラムＭＰに入力可能なコードである状態遷移モデルＪＭに変換する状態遷移モデル変換部１４とを備える。その結果、エンジニアリングツール６は、プログラム編集部１２を用いて作成したＳＦＣプログラムＳＰを、ユーザが特別な操作を行うことなく、モデル検査プログラムＭＰに入力することができる。
【００５８】
また、実施の形態１に係るエンジニアリングツール６は、制御対象機器２，３，４を制御する制御プログラムであるＳＦＣプログラムＳＰを作成するプログラム編集部１２と、表示装置６２の表示画面６２ａに表示されたＳＦＣプログラムＳＰを表示する第２の表示領域６２ａ２とを備える。その結果、エンジニアリングツール６は、第２の表示領域６２ａ２を確認しながらＳＦＣプログラムＳＰを作成することができる。
【００５９】
また、実施の形態１に係るエンジニアリングツール６は、制御仕様記述式としてラダープログラムＲＰを用いている。ラダープログラムＲＰは、条件部を論理式即ち時相演算子に１対１で変換することができる。その結果、エンジニアリングツール６は、制御仕様記述式であるラダープログラムＲＰのプログラムモジュールＲＰＭの任意の位置に任意の時相演算子ＴＯを付与することができ、制御仕様記述式であるラダープログラムＲＰに種々の時相演算子ＴＯを付与することができる。
【００６０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６１】
２，３，４  制御対象機器、６  エンジニアリングツール、１１  制御仕様編集部（第１の作成手段）、１２  プログラム編集部（第２の作成手段）、１３  制御仕様記述式変換部（第１の変換手段）、１４  状態遷移モデル変換部（第２の変換手段）、６２  表示装置、６２ａ  表示画面、６２ａ１  第１の表示領域、６２ａ２  第２の表示領域、ＲＰ  ラダープログラム（制御仕様記述式）、ＲＰＭ１  第１のプログラムモジュール、ＲＰＭ２  第２のプログラムモジュール、ＴＯ１  第１の時相演算子、ＴＯ２  第２の時相演算子、Ｃ１  セル（第１の時相演算子付与領域）、Ｃ２  セル（第２の時相演算子付与領域）、ＳＰ  ＳＦＣプログラム（制御プログラム）、ＮＦ  数式、ＪＭ  状態遷移モデル（コード）、ＭＰ  モデル検査プログラム。
【図１】
2017138156.tif 000003
【図２】
2017138156.tif 000004
【図３】
2017138156.tif 000005
【図４】
2017138156.tif 000006
【図５】
2017138156.tif 000007
【図６】
2017138156.tif 000008
【図７】
2017138156.tif 000009
【図８】
2017138156.tif 000010
【図９】
2017138156.tif 000011
【手続補正書】
【提出日】平成28年11月14日(2016.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表示装置の表示画面に表示され、かつ制御仕様記述式を表示する表示領域と、
前記表示領域に表示され、かつ前記制御仕様記述式のプログラムモジュールに時相演算子を付与する時相演算子付与領域と、
を備えることを特徴とするエンジニアリングツール。
【請求項２】
前記プログラムモジュールを作成する第１の作成手段と、
前記プログラムモジュールをモデル検査プログラムに入力可能な数式に変換する第１の変換手段と、
を備えることを特徴とする請求項１に記載のエンジニアリングツール。
【請求項３】
制御対象機器を制御する制御プログラムを作成する第２の作成手段と、
前記表示装置の前記表示画面に表示され、かつ前記制御プログラムを表示する第２の表示領域と、
前記制御プログラムを前記モデル検査プログラムに入力可能なコードに変換する第２の変換手段と、
を備えることを特徴とする請求項２に記載のエンジニアリングツール。
【請求項４】
前記プログラムモジュールは、前記制御対象機器の制御仕様を規定する
ことを特徴とする請求項３に記載のエンジニアリングツール。

【国際調査報告】
2017138156.tif 000012
2017138156.tif 000013
2017138156.tif 000014
2017138156.tif 000015