(57)【要約】【課題】制御装置が実際に信号を送受信する機器や周辺装置で実行される処理と同様の処理を容易にシミュレーションする。【解決手段】制御装置２０と接続される複数の機器及び複数の周辺装置毎に、指令信号と、当該指令信号を受信した場合に送信する応答信号とが関連付けられる複数のシナリオＳ１〜Ｓ４を記憶する記憶装置１２ａ，１２ｂと、制御信号が送信した指令信号を受信すると、記憶装置から当該指令信号を含むシナリオを読み出す読出手段１１３，１１７と、該当するシナリオが読み出されると、シナリオから指令信号に関連付けられる応答信号を抽出する抽出手段１１４，１１８と、応答信号が抽出されると、当該応答信号を制御装置２０に送信する送信手段１１５，１１９とを備える。【選択図】図１
2012014358.tif 000002
【特許請求の範囲】
【請求項１】
製品の製造工程に利用される機器及び周辺装置に指令信号を送信する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への指令信号を受信すると、当該指令信号に対応する動作の模擬結果である応答信号を前記制御装置に送信するシミュレータであって、
前記制御装置と接続される複数の機器及び複数の周辺装置毎に、指令信号と、当該指令信号を受信した場合に送信する応答信号とが関連付けられる複数のシナリオを記憶する記憶装置と、
制御信号が送信した指令信号を受信すると、前記記憶装置から当該指令信号を含むシナリオを読み出す読出手段と、
該当するシナリオが読み出されると、前記シナリオから前記指令信号に関連付けられる応答信号を抽出する抽出手段と、
応答信号が抽出されると、当該応答信号を前記制御装置に送信する送信手段と、
を備えることを特徴とするシミュレータ。
【請求項２】
前記制御装置は、複数の運転モードに対応し、選択された運転モードの指令信号を前記機器又は前記周辺装置に送信可能であって、
前記シナリオは、前記制御装置が対応する運転モード毎に構成され、
前記読出手段は、設定されている運転モードのシナリオを前記記憶装置から読み出すことを特徴とする請求項１に記載のシミュレータ。
【請求項３】
前記シミュレータは、一部の周辺装置又は機器の模擬結果である応答信号を送信する第１装置と、前記第１装置よりも処理速度又は通信速度が速い信号の送受信が可能であって前記一部の周辺装置又は機器以外の周辺装置又は機器の模擬結果である応答信号を送信する第２装置とを備えることを特徴とする請求項１又は２に記載のシミュレータ。
【請求項４】
前記制御装置は、複数の異なる種類のトリガ信号を発生可能であって、このトリガ信号を指令信号として送信し、
前記シミュレータの読出手段は、前記トリガ信号で特定される指令信号に応じた応答信号を含むシナリオを前記記憶装置から読み出すことを特徴とする請求項１乃至３のいずれか１に記載のシミュレータ。
【請求項５】
前記送信手段は、所定の指令信号を受信すると、同一の応答信号のパターンを繰り返し送信することを特徴とする請求項１乃至４のいずれか１に記載のシミュレータ。
【請求項６】
製品の製造工程に利用される機器及び周辺装置に指令信号を送信する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への指令信号を受信すると、当該指令信号に対応する動作の模擬結果である応答信号を前記制御装置に送信するシミュレータを利用して前記機器及び前記周辺装置の処理をシミュレーションするシミュレーション方法であって、
制御信号が送信した指令信号を受信すると、前記制御装置と接続される複数の機器及び複数の周辺装置毎に、指令信号と、当該指令信号を受信した場合に送信する応答信号とが関連付けられる複数のシナリオを記憶する記憶装置から当該指令信号を含むシナリオを読み出す読み出しステップと、
該当するシナリオが読み出されると、前記シナリオから前記指令信号に関連付けられる応答信号を抽出する抽出ステップと、
応答信号が抽出されると、当該応答信号を前記制御装置に送信する送信ステップと、
を備えることを特徴とするシミュレーション方法。
【請求項７】
前記制御装置は、複数の運転モードに対応し、選択された運転モードの指令信号を前記機器又は前記周辺装置に送信可能であって、
前記シナリオは、前記制御装置が対応する運転モード毎に構成され、
前記読み出しステップでは、設定されている運転モードのシナリオを前記記憶装置から読み出すことを特徴とする請求項６に記載のシミュレーション方法。
【請求項８】
前記制御装置は、複数の異なる種類のトリガ信号を発生可能であって、このトリガ信号を指令信号として送信し、
前記読み出しステップは、前記トリガ信号で特定される指令信号に応じた応答信号を含むシナリオを前記記憶装置から読み出すことを特徴とする請求項６又は７に記載のシミュレーション方法。
【請求項９】
前記送信ステップは、所定の指令信号を受信すると、同一の応答信号のパターンを繰り返し送信することを特徴とする請求項６乃至８のいずれか１に記載のシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工場で製品の製造や加工に利用する機器等を制御する制御装置と接続され、機器等の動作を模擬するシミュレータ及びシミュレーション方法に関する。
【背景技術】
【０００２】
工場における製品の製造には、ワーク（製品や製品を製造する部品等）の搬送や加工にモータ、シリンダ、アクチュエータ、センサ等の機器が利用されている。図１０に示すように、これらの機器３０ｃ，３０ｄには制御装置２０が接続され、この制御装置２０によって制御されている。また、制御装置２０には、機器３０ｃ，３０ｄの他にも複数の周辺装置３０ａ，３０ｂが接続されており、処理状況等に関する信号を送受信しながら製品の製造が進められる。
【０００３】
このような制御装置とは別に、ワークの搬送や加工に関する操作を模擬するシミュレータの開発も進められている（例えば、特許文献１参照）。
【０００４】
制御装置２０は、製品を製造する際には、これらの周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄと接続されるが、実際に周辺装置３０ａ，３０ｂや機器３０ｄ，３０ｃと接続していない場合であっても、周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄの動作を模擬するシミュレータを利用して全体の動作をシミュレーションすることができる。シミュレーションの結果を利用することで、制御装置２０の処理を検証したり、製品製造の処理能力を改善することができる。
【０００５】
周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄを模擬するシミュレータでは、シミュレーションで実行する動作をシナリオとして予め記憶している。具体的には、シミュレータでは、制御装置２０と周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄとの間で送受信される信号で表されるシナリオを記憶している。したがって、シミュレータは、制御装置２０から受信する信号に応じて、シナリオで定められる信号を送信することで、周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄの動作を模擬することができる。
【０００６】
実際の周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄでは、装置内または機器内の動作の順序は決まっている。図１１に示す例の場合、第１周辺装置３０ａは動作Ａ１、動作Ａ２、動作Ａ３、動作Ａ４の順序で動作するように定められ、第２周辺装置３０ｂは動作Ｂ１、動作Ｂ２、動作Ｂ３、動作Ｂ４の順序で動作するように定められている。したがって、実際の周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄは、それぞれ所定の順序で信号を送信する。
【０００７】
しかしながら、各周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄの動作は同期しておらず、また、各周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄの処理や通信の速度は異なる。そのため、制御装置２０が各周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄに所定の順序で信号を送信したとしても、制御装置２０が各周辺装置３０ａ，３０ｂや機器３０ｃ，３０ｄから信号を受信する順序は状況に応じて異なるとともに、この順序は予め予測することはできない。
【０００８】
一方で、シミュレーションで利用するシナリオには、１つの固定した順序で信号が記述されていた。図１２に、制御装置２０が第１周辺装置３０ａと第２周辺装置３０ｂに接続される場合のシナリオの一例を示す。図１２に示すシナリオでは、第１周辺装置３０ａとの動作と第２周辺装置３０ｂとの動作が交互に繰り返される順序が定められ、シミュレータは、このシナリオでは第１周辺装置３０ａと第２周辺装置３０ｂとの動作が交互に行なわれる場合のみをシミュレーションすることができる。しかしながら、例えば、第１周辺装置３０ａでは動作Ａ１、動作Ａ２が終了していても、第２周辺装置３０ｂでは動作Ｂ１の途中であることもあり得るが、図１２に示すシナリオでは、このようなシミュレーションを実行することができない。
【０００９】
すなわち、図１２に示すシナリオを利用してシミュレーションを実行するとき、各周辺装置３０ａ，３０ｂの動作が非同期の場合の問題等、図１２に示すシナリオ以外で動作する際の問題を見落とすおそれがある。仮に、図１２に示すシナリオ以外の場合をシミュレーションする場合には、他の動作パターンのシナリオを作成する必要がある。また、複数の動作パターンでシミュレーションする場合には、複数のパターンのシナリオを作成し、作成した複数のシナリオをそれぞれ実行することが必要になる。
【００１０】
その他、従来のシミュレータでは、仮に複数のシナリオがある場合でも、あるシナリオでシミュレーションを実行中には別のシナリオに切り替えることができず、複数のワークが工程内に搬送されるような状況を容易にシミュレーションすることができない。また、同一のシナリオを繰り返す状況をシミュレーションする場合は、同一のシナリオを繰り返すようなシナリオを記述する必要がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００４−５４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、従来のシミュレータで実際のシステムと同様の処理をシミュレーションしようとする場合、シナリオを複数パターン生成し、この複数のシナリオに対してそれぞれデバックやシミュレーションの実行が必要であるため、シミュレーションに手間や時間がかかる問題があった。
【００１３】
上記課題に鑑み、本発明は、制御装置が実際に信号を送受信する機器や周辺装置で実行される処理と同様の処理を容易にシミュレーションすることができるシミュレータ及びシミュレーション方法を提供することを目的としている。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の発明は、製品の製造工程に利用される機器及び周辺装置に指令信号を送信する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への指令信号を受信すると、当該指令信号に対応する動作の模擬結果である応答信号を前記制御装置に送信するシミュレータであって、前記制御装置と接続される複数の機器及び複数の周辺装置毎に、指令信号と、当該指令信号を受信した場合に送信する応答信号とが関連付けられる複数のシナリオを記憶する記憶装置と、制御信号が送信した指令信号を受信すると、前記記憶装置から当該指令信号を含むシナリオを読み出す読出手段と、該当するシナリオが読み出されると、前記シナリオから前記指令信号に関連付けられる応答信号を抽出する抽出手段と、応答信号が抽出されると、当該応答信号を前記制御装置に送信する送信手段とを備えることを特徴とする。
【００１５】
請求項２の発明は、前記制御装置は、複数の運転モードに対応し、選択された運転モードの指令信号を前記機器又は前記周辺装置に送信可能であって、前記シナリオは、前記制御装置が対応する運転モード毎に構成され、前記読出手段は、設定されている運転モードのシナリオを前記記憶装置から読み出すことを特徴とする。
【００１６】
請求項３の発明は、前記シミュレータは、一部の周辺装置又は機器の模擬結果である応答信号を送信する第１装置と、前記第１装置よりも処理速度又は通信速度が速い信号の送受信が可能であって前記一部の周辺装置又は機器以外の周辺装置又は機器の模擬結果である応答信号を送信する第２装置とを備えることを特徴とする。
【００１７】
請求項４の発明は、前記制御装置は、複数の異なる種類のトリガ信号を発生可能であって、このトリガ信号を指令信号として送信し、前記読出手段は、前記トリガ信号で特定される指令信号に応じた応答信号を含むシナリオを前記記憶装置から読み出すことを特徴とする。
【００１８】
請求項５の発明は、前記送信手段は、所定の指令信号を受信すると、同一の応答信号のパターンを繰り返し送信することを特徴とする。
【００１９】
請求項６の発明は、製品の製造工程に利用される機器及び周辺装置に指令信号を送信する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への指令信号を受信すると、当該指令信号に対応する動作の模擬結果である応答信号を前記制御装置に送信するシミュレータを利用して前記機器及び前記周辺装置の処理をシミュレーションするシミュレーション方法であって、制御信号が送信した指令信号を受信すると、前記制御装置と接続される複数の機器及び複数の周辺装置毎に、指令信号と、当該指令信号を受信した場合に送信する応答信号とが関連付けられる複数のシナリオを記憶する記憶装置から当該指令信号を含むシナリオを読み出す読み出しステップと、該当するシナリオが読み出されると、前記シナリオから前記指令信号に関連付けられる応答信号を抽出する抽出ステップと、応答信号が抽出されると、当該応答信号を前記制御装置に送信する送信ステップとを備えることを特徴とする。
【００２０】
請求項７の発明は、前記制御装置は、複数の運転モードに対応し、選択された運転モードの指令信号を前記機器又は前記周辺装置に送信可能であって、前記シナリオは、前記制御装置が対応する運転モード毎に構成され、前記読み出しステップでは、設定されている運転モードのシナリオを前記記憶装置から読み出すことを特徴とする。
【００２１】
請求項８の発明は、前記制御装置は、複数の異なる種類のトリガ信号を発生可能であって、このトリガ信号を指令信号として送信し、前記読み出しステップでは、前記トリガ信号で特定される指令信号に応じた応答信号を含むシナリオを前記記憶装置から読み出すことを特徴とする。
【００２２】
請求項９の発明は、前記送信ステップでは、所定の指令信号を受信すると、同一の応答信号のパターンを繰り返し送信することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、制御装置が実際に信号を送受信する機器や周辺装置で実行される処理と同様の処理を容易にシミュレーションすることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るシミュレータの構成を説明するブロック図である。
【図２】図１のシミュレータにおけるシミュレーションのフローの一例である。
【図３】図１のシミュレータで表示されるメイン画面の一例である。
【図４】図１のシミュレータで表示されるモニタ画面の一例である。
【図５】図１のシミュレータで表示される操作盤画面の一例である。
【図６】図１のシミュレータで表示される動作ログ画面の一例である。
【図７】図１のシミュレータにおける動作の一例である。
【図８】図１のシミュレータにおける動作の他の例である。
【図９】図１のシミュレータにおける繰り返し動作の他の例である。
【図１０】制御装置に接続される周辺装置と機器について説明する図である。
【図１１】各周辺装置における動作を説明する図である。
【図１２】一般的なシミュレータにおけるシミュレーションのフローの一例である。
【発明を実施するための形態】
【００２５】
図面を参照して、本発明の実施形態に係るシミュレータ及びシミュレーション方法について説明する。図１に示す本発明の実施形態に係るシミュレータ１０は、工場における製品の製造工程でワークの搬送や加工等に利用するモータ、シリンダ、アクチュエータ、センサ等の機器等を制御する制御装置２０に接続される。シミュレータ１０は、制御装置２０と接続されると、図１０を用いて上述したような周辺装置や機器等の動作を模擬する。
【００２６】
図１に示すように、本発明の実施形態に係るシミュレータ１０と接続される制御装置２０は、例えば、中央処理装置（ＣＰＵ）２１、記憶装置２２、電源装置２３及び通信装置２４等を備えるプログラマブルロジックコントローラ（ＰＬＣ）である。この制御装置２０は、記憶装置２２で制御プログラムや制御に利用する信号を記憶しており、例えば、工場で製品の製造に利用される機器や周辺装置と接続され、通信装置２４を介して指令信号を送信して機器や周辺装置を制御し、制御結果として応答信号を受信する。この制御装置２０は、通信装置２４を介して外部から受信する指令信号をメモリ２５で一時記憶して次に送信する指令信号を決定する。
【００２７】
制御装置２０を周辺装置や機器に接続しない場合であっても、シミュレータ１０で周辺装置や機器の動作の模擬によって、（１）シーケンス制御ロジックの検証、（２）過渡応答や異常状態の確認、（３）サイクルタイムの検証、（４）物理的な干渉のチェック等をすることができる。すなわち、制御装置２０は、シミュレータ１０を利用してシミュレーションを実行する際には、機器や周辺装置の代わりにシミュレータ１０に指令信号を送信し、指令信号に応じた応答信号を受信する。シミュレータ１０は、図１に示すように、制御装置２０に接続される第１周辺装置及び第２周辺装置の動作を模擬する第１シミュレータ１０ａと、制御装置２０に接続されるモータ、シリンダ、アクチュエータ又はセンサ等の第１機器及び第２機器の動作を模擬する第２シミュレータ１０ｂとを備えている。
【００２８】
まず、第１シミュレータ１０ａについて説明する。第１シミュレータ１０ａは、例えば、中央処理装置（ＣＰＵ）１１ａ、記憶装置１２ａ、通信装置１３ａ、メモリ１４ａ、入力装置１５ａ、出力装置１６ａ等を備えるパーソナルコンピュータ（ＰＣ）である。記憶装置１２ａは、シミュレーションプログラムＰ１を記憶しており、このシミュレーションプログラムＰ１を読み出して実行することで、ＣＰＵ１１ａに、表示処理手段１１１、開始手段１１２、読出手段１１３、抽出手段１１４、送信手段１１５及び取得手段１１６が実装され、実行される。
【００２９】
記憶装置１２ａは、また、シミュレータ１０でシミュレーションの実行の際に出力装置１６ａに画面を表示するために利用する画面データＤ１を記憶している。さらに、記憶装置１２ａは、第１周辺装置の模擬に利用するシナリオＡと、第２周辺装置の模擬に利用するシナリオＢとを別々のシナリオとして記憶している。例えば、シナリオＡやシナリオＢは、自動運転のシナリオやシーケンス制御ロジックを模擬するシナリオである。
【００３０】
ここでは、シナリオＡは、第１周辺装置を模擬するものであって、制御装置２０から第１周辺装置に送信される指令信号と、第１周辺装置に送信された指令信号を受信したシミュレータ１０が第１周辺装置に代わって送信する応答信号とが対応づけられているものとして説明する。図２に一例を示すシナリオＡでは、第１シミュレータ１０ａは、指令信号Ａ１１を受信すると応答信号Ａ１２を送信し（動作Ａ１）、指令信号Ａ２１を受信すると応答信号Ａ２２を送信し（動作Ａ２）、指令信号Ａ３１を受信すると応答信号Ａ３２を送信し（動作Ａ３）、指令信号Ａ４１を受信すると応答信号Ａ４２を受信する（動作Ａ４）ことを規定している。
【００３１】
また、シナリオＢは、第２周辺装置を模擬するものであって、制御装置２０から第２周辺装置に送信される指令信号と、第２周辺装置に送信された指令信号を受信したシミュレータ１０が第２周辺装置に代わり送信する応答信号とが関連付けられているものとして説明する。図２に一例を示すシナリオＢでは、第１シミュレータ１０ａは、指令信号Ｂ１１を受信すると応答信号Ｂ１２を送信し（動作Ｂ１）、指令信号Ｂ２１を受信すると応答信号Ｂ２２を送信し（動作Ｂ２）、指令信号Ｂ３１を受信すると応答信号Ｂ３２を送信し（動作Ｂ３）、指令信号Ｂ４１を受信すると応答信号Ｂ４２を受信する（動作Ｂ４）ことを規定している。
【００３２】
なお、図２に示す例では、シナリオＡでもシナリオＢでも、指令信号と応答信号とが一対一で対応して規定されている。しかし、シナリオはこのような形式に限られず、複数の指令信号に対して一の応答信号を送信するシナリオであっても良いし、一の応答信号に対して複数の応答信号を送信するように規定されていても良い。
【００３３】
シミュレータ１０では、入力装置１５ａを介してシミュレーションの開始のための画面の表示を操作する信号が入力されると、表示処理手段１１１は、記憶装置１２ｂから画面データＤ１を読み出して出力装置１６ａに図３に一例を示すようなメイン画面Ｗ１を表示する。メイン画面Ｗ１は、例えば、シミュレータ１０がシミュレーションの対象とする周辺装置や機器等の概略図を表示させるモニタボタンｂ１、シミュレーションの条件等の入力に使用する画面を表示させる操作盤ボタンｂ２及びシミュレーションの経過を表示させる動作ログボタンｂ３を有している。
【００３４】
モニタボタンｂ１を選択されると、表示処理手段１１１は、記憶装置１２ｂから画面データＤ１を読み出して図４に示すようなモニタ画面Ｗ２を出力装置１６ａに表示する。シミュレータのオペレータは、このモニタ画面Ｗ２によってシミュレーションの対象を確認することができる。
【００３５】
シミュレーション開始する際、メイン画面Ｗ１の操作盤ボタンｂ２が選択されると、表示処理手段１１１は、記憶装置１２ｂから画面データＤ１を読み出して図５に示すような操作盤画面Ｗ３を出力装置１６ａに表示する。シミュレータのオペレータは、この操作盤画面Ｗ３上のボタンｂ２１〜ｂ２６等を操作することで、シミュレーションの条件等を設定することができる。
【００３６】
シミュレーションが実行された際、メイン画面Ｗ１の動作ログボタンｂ３が選択されると、表示処理手段１１１は、記憶装置１２ａから画面データを読み出して図６に示すような動作ログ画面Ｗ４を出力装置１６ａに表示する。また、表示処理手段１１１は、メモリ１４ａに記憶されているシミュレーションの状況も読み出して動作ログ画面Ｗ４を生成する。シミュレータのオペレータは、この動作ログ画面Ｗ４によってシミュレーションの結果や経過を確認することができる。
【００３７】
メイン画面Ｗ１は、ボタンｂ１〜ｂ３の他、ファイルの読み込みを操作する読込ボタンｂ４、シミュレーションの開始を操作する開始ボタンｂ５及びシミュレーションの動作中にシミュレーションの停止を操作する停止ボタンｂ６を有している。さらに、メイン画面Ｗ１は、第１周辺装置の動作の模擬の有無を選択するチェックボックスｂ７、第２周辺装置の動作の模擬の有無を選択するチェックボックスｂ８、第１機器の動作の模擬の有無を選択するチェックボックスｂ９、第２機器の動作の模擬の有無を選択するチェックボックスｂ１０、機械の干渉の模擬の有無を選択するチェックボックスｂ１１及び動作の順序の模擬の有無を選択するチェックボックスｂ１２等を有している。
【００３８】
入力装置１５ａを介して図３に示すメイン画面Ｗ１の開始ボタンｂ５が選択されると、開始手段１１２は、シミュレーションを開始する。具体的には、開始手段１１２は、通信装置１３ａを介して、制御を開始させる信号を制御装置２０に送信する。
【００３９】
読出手段１１３は、開始手段１１２から信号を送信したシミュレータ１０が通信装置１３ａを介して制御装置２０から第１周辺装置への指令信号を受信すると、記憶装置１２ａからシナリオＡを読み出す。また、読出手段１１３は、シミュレータ１０が通信装置１３ａを介して制御装置２０から第２周辺装置への指令信号を受信すると、記憶装置１２ａからシナリオＢを読み出す。
【００４０】
読出手段１１３がシナリオＡを読み出すと、抽出手段１１４は、読み出したシナリオＡから、受信した指令信号に応じた応答信号を抽出する。また、読出手段１１３がシナリオＢを読み出すと、抽出手段１１４は、読み出したシナリオＢから、受信した指令信号に応じた応答信号を抽出する。
【００４１】
送信手段１１５は、抽出手段１１４が抽出した応答信号を指令信号に対する模擬の結果として制御装置２０に送信する。
【００４２】
取得手段１１６は、動作ログ画面Ｗ４を表示する際、動作ログ画面Ｗ４に表示するシミュレーションの状況を表わす値を取得する。具体的には、制御装置２０では、メモリ２５でシミュレータ１０からシミュレーションの状況として受信する応答信号を記憶しているため、取得手段１１６からのリクエストに応じてこの応答信号を送信する。取得手段１１６は、制御装置２０から、第１シミュレータ１０ａと第２シミュレータ１０ｂとが送信した応答信号の値を取得（受信）すると、この値をシミュレータ１０におけるシミュレーションの状況として表示処理手段１１１に出力する。取得手段１１６が取得することで、シミュレータ１０では、動作ログ画面Ｗ４で第１シミュレータ１０ａのシミュレーションの状況とともに、第２シミュレータ１０ｂのシミュレーションの状況を表示することができる。
【００４３】
続いて、第２シミュレータ１０ｂについて説明する。第２シミュレータ１０ｂは、例えば、中央処理装置（ＣＰＵ）１１ｂ、記憶装置１２ｂ、通信装置１３ｂ及びメモリ１４ｂ等を備えるプログラマブルロジックコントローラ（ＰＬＣ）である。この第２シミュレータ１０ｂは、第１シミュレータ１０ａより信号の送受信の速さが要求される機器の動作を模擬する。ＣＰＵ１１ｂは、読出手段１１７、抽出手段１１８及び送信手段１１９を有し、記憶装置１２ｂに記憶されるシミュレーションプログラムＰ２によって、ＣＰＵ１１ｂの読出手段１１７、抽出手段１１８及び送信手段１１９が実行される。
【００４４】
また、記憶装置１２ｂには、第１機器の処理の模擬に利用するモデルＣと、第２機器の処理の模擬に利用するモデルＤとを別々のデータとして記憶している。図示を用いた説明は省略するが、モデルＣには、制御装置２０から第１機器に送信される指令信号と、第１機器に送信された指令信号を受信したシミュレータ１０が第１機器に代わって送信する応答信号とが対応付けられている。また、モデルＤには、制御装置２０から第２機器に送信される指令信号と、第２機器に送信された指令信号を受信したシミュレータ１０が第２機器に代わって送信する応答信号とが関連づけられている。
【００４５】
例えば、モデルＣやモデルＤは、アクチュエータ動作モデル、過渡応答モデルや異常状態モデル、サイクルタイムの検証モデルである。また、モデルＣやモデルＤは、上述したシナリオＡやシナリオＢと同様に、指令信号と応答信号が一対一である必要はなく、一の指令信号に対して複数の応答信号が送信されるように規定されていても良いし、複数の指令信号に対して一の応答信号が送信されるように規定されていてもよい。
【００４６】
読出手段１１７は、シミュレーションが実行されてシミュレータ１０が通信装置１３ｂを介して制御装置２０から第１機器への指令信号を受信すると、記憶装置１２ｂからモデルＣを読み出す。また、読出手段１１７は、シミュレータ１０が通信装置１３ｂを介して制御装置２０から第２機器への指令信号を受信した場合、記憶装置１２ｂからモデルＤを読み出す。
【００４７】
読出手段１１７がモデルＣを読み出すと、抽出手段１１８は、読み出したモデルＣ、から、受信した指令信号に応じた応答信号を抽出する。また、読出手段１１７がモデルＤを読み出すと、抽出手段１１８は、読み出したモデルＤから、受信した指令信号に応じた応答信号を抽出する。
【００４８】
送信手段１１９は、抽出手段１１８が抽出した応答信号をシミュレーション結果として制御装置２０に送信する。
【００４９】
上述のように、シミュレータ１０では、周辺装置毎や機器毎に作成したシナリオＳ１，Ｓ２を記憶しているため、シミュレータで模擬する周辺装置及び機器全体の処理順序（動作順序）に限定されず、各周辺装置や機器毎に各処理（動作）の模擬結果や経過を出力することができる。したがって、従来のように１つのシナリオで規定された処理パターンに限定されることなく、複数の周辺装置や機器と接続される場合であっても様々な処理パターンをシミュレーションすることが可能となる。
【００５０】
また、１つのシナリオで様々な処理パターンに対応させることができるため、処理パターンの異なる複数のシナリオを作成する必要がなく、シミュレーションプログラムのデバック時間が短縮される。
【００５１】
なお、ここでは、シミュレータ１０が、２台の周辺装置及び２台の機器を制御等する制御装置２０と接続され、周辺装置と機器との動作を模擬する例で説明した。しかし、制御装置２０が更に多くの周辺装置や機器を操作する場合、シミュレータ１０でこれらの周辺装置や機器についてシナリオを記憶させることで、全ての周辺装置や機器の動作を模擬することができる。
【００５２】
また、シナリオは、接続される周辺装置毎や機器毎に形成することもできるし、自動運転モードや、手動運転モード等のように制御装置２０による制御に複数のモードがある場合、このモード毎にシナリオを形成することもできる。このとき、記憶装置１２ａ，１２ｂではモード毎に形成されたシナリオを記憶しており、読出手段１１３，１１７は、該当するモードのシナリオを読み出す。
【００５３】
次に、図７〜図９を用いて、発明の実施形態に係るシミュレータ１０でシミュレーションする処理パターンについて説明する。ここで、シミュレータ１０は、制御装置２０で発生する信号（ビット信号）をシミュレーションの指令信号（トリガ）とし、この指令信号に応じて、対応するシナリオによる模擬の結果として応答信号を送信するものとする。
【００５４】
ここで、例えば、制御装置２０で発生するビット信号の種類（トリガの種類）によって、指令信号の種類を区別し、読出手段１１３又は１１７で対応するシナリオを読み出すとともに、抽出手段１１４又は１１８で対応する応答信号を抽出する。
【００５５】
シミュレータ１０では、例えば図７に示すように、トリガの発生に応じて、シナリオＡによる動作Ａの実行に続いて、動作Ａとは無関係にシナリオＢによる動作Ｂを実行することができる。すなわち、従来は、動作Ａの実行が終了した後に動作Ｂを実行するようなシナリオを作成しておく必要があった。これに対し、本発明の実施形態に係るシミュレータ１０では、図７に示すように、トリガＭＡ１はシナリオＡによる動作Ａ実行のための指令信号とし、トリガＭＢ１はシナリオＢによる動作Ｂ実行のための指令信号として、別々に規定する。したがって、運転モードＡ（シナリオＡ）から運転モードＢ（シナリオＢ）へ切り替わったときの動作を模擬することができる。
【００５６】
また、シナリオを並行して実行することができるため、ワークの動作を規定するシナリオＡ、受け渡す動作のシナリオＢがあるとき、ワークの動作のシナリオが途中で止まった場合に装置がどのような挙動をするかを確認することができる。
【００５７】
また、シミュレータ１０では、図８に示すように、トリガの発生に応じて、シナリオＡの１回目の実行終了前にシナリオＡの２回目を実行する処理をシミュレーションすることもできる。すなわち、従来のシナリオでは、同一の動作が並列するような処理をシミュレーションすることはできなかったが、本発明に係るシミュレータ１０のようにトリガの発生に応じてシナリオの開始を規定することができれば、１つの工程においてワークが所定の距離を移動した状態で、新たなワークについての動作を開始するような処理をシミュレーションすることができる。したがって、ワークの処理を効率化させた場合をシミュレーションすることが可能になり、ワークの動作が連続する場合の問題を発見することもできる。
【００５８】
さらに、シミュレータ１０では、図９に示すように、トリガの発生に応じて、シナリオＡを繰り返して実行させる状態を模擬することもできる。すなわち、従来は、同一の動作を繰り返すシミュレーションの場合、同一の動作を繰り返すシナリオを作成する必要があったが、所定のトリガをある動作を繰り返す指令信号とすることで、同一の動作がループする処理をシミュレーションすることができる。したがって、同一の処理が連続する処理をシミュレーションすることが可能になり、同一の処理が連続する場合の問題を発見することもできる。
【００５９】
上述したように、本発明に係るシミュレータ及びシミュレーション方法によれば、実際のシステムと同様の処理を容易にシミュレーションすることができる。また、複数のシナリオの組合わせにより、より複雑なパターンの模擬が可能であるため、シナリオ作成とデバックの手間を軽減することができる。
【００６０】
以上、各実施形態を用いて本発明を詳細に説明したが、本発明は本明細書中に説明した実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲の記載及び特許請求の範囲の記載と均等の範囲により決定される。
【符号の説明】
【００６１】
１０…シミュレータ
１０ａ…第１シミュレータ
１０ｂ…第２シミュレータ
１１ａ，１１ｂ…中央処理装置（ＣＰＵ）
１１１…表示処理手段
１１２…開始手段
１１３，１１７…読出手段
１１４，１１８…抽出手段
１１５，１１９…送信手段
１１６…取得手段
１２ａ，１２ｂ…記憶装置
１３ａ，１３ｂ…通信装置
１４ａ，１４ｂ…メモリ
１５ａ…入力装置
１６ａ…出力装置
２０…制御装置
２１…中央処理装置（ＣＰＵ）
２２…記憶装置
２３…電源装置
２４…通信装置
【図１】
2012014358.tif 000003
【図２】
2012014358.tif 000004
【図３】
2012014358.tif 000005
【図４】
2012014358.tif 000006
【図５】
2012014358.tif 000007
【図６】
2012014358.tif 000008
【図７】
2012014358.tif 000009
【図８】
2012014358.tif 000010
【図９】
2012014358.tif 000011
【図１０】
2012014358.tif 000012
【図１１】
2012014358.tif 000013
【図１２】
2012014358.tif 000014