(57)【要約】【課題】シミュレーションの実行を容易にする。【解決手段】対応データＤ２を記憶する対応データ記憶部と、状態データＤ３を記憶する状態データ記憶部と、機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とが入力されると、入力された各信号の値を前記識別子と関連付けてメモリに記憶させる設定手段１１２と、入力された機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とに、新たなタイミングの識別子を付して、前記状態データに追加する登録手段１１４と、制御信号が送信した制御信号を受信すると、前記対応データで当該制御信号に関連付けられる対応信号と、前記メモリに設定されている各信号の値とから演算した結果信号を前記制御装置に送信するとともに、演算された新たな信号の値で前記メモリに記憶される各信号の値を更新する応答手段１１３とを備える。【選択図】図１
2012003590.tif 000002
【特許請求の範囲】
【請求項１】
製品の製造に利用される周辺装置又は機器を制御する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への制御信号を受信すると、当該制御信号に対応する動作の模擬の結果信号を前記制御装置に送信するシミュレータであって、
制御信号と、当該制御信号を受信した場合に送信する結果信号の演算に利用する対応信号とが関連付けられる対応データを記憶する対応データ記憶部と、
タイミングの識別子と、機器又は周辺装置の識別子と、当該タイミングにおける当該機器又は当該周辺装置の信号の値が関連付けられる状態データを記憶する状態データ記憶部と、
機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とが入力されると、入力された各信号の値を前記識別子と関連付けてメモリに記憶させる設定手段と、
入力された機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とに、新たなタイミングの識別子を付して、前記状態データに追加する登録手段と、
制御信号が送信した制御信号を受信すると、前記対応データで当該制御信号に関連付けられる対応信号と、前記メモリに設定されている各信号の値とから演算した結果信号を前記制御装置に送信するとともに、演算された新たな信号の値で前記メモリに記憶される各信号の値を更新する応答手段と、
を備えることを特徴とするシミュレータ。
【請求項２】
前記登録手段は、状態データの登録のリクエストが入力されると、当該リクエストが入力されたタイミングを特定する新たな識別子と、機器又は周辺装置の識別子と、当該タイミングで前記メモリに記憶されている前記機器及び前記周辺装置の信号の値とを関連付けて、前記状態データに追加することを特徴とする請求項１に記載のシミュレータ。
【請求項３】
製品の製造に利用される周辺装置又は機器を制御する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への制御信号を受信すると、当該制御信号に対応する動作の模擬の結果信号を前記制御装置に送信するシミュレータで利用されるシミュレーション方法であって、
機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とが入力されると、入力された各信号の値を前記識別子と関連付けてメモリに記憶させるステップと、
入力された機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とに、新たなタイミングの識別子を付して、タイミングの識別子と、機器又は周辺装置の識別子と、当該タイミングにおける当該機器又は当該周辺装置の信号の値とが関連付けられて状態データ記憶部に記憶される状態データに追加するステップと、
制御信号が送信した制御信号を受信すると、制御信号と、当該制御信号を受信した場合に送信する結果信号の演算に利用する対応信号とが関連付けられて対応データ記憶部で記憶される対応データにおいて当該制御信号に関連付けられる対応信号と、前記メモリに設定されている各信号の値とから演算した結果信号を前記制御装置に送信するステップと、
演算された新たな信号の値で前記メモリに記憶される各信号の値を更新するステップと、
を備えることを特徴とするシミュレーション方法。
【請求項４】
状態データの登録のリクエストが入力されると、当該リクエストが入力されたタイミングを特定する新たな識別子と、機器又は周辺装置の識別子と、当該タイミングで前記メモリに記憶されている前記機器及び前記周辺装置の信号の値とを関連付けて、前記状態データに追加するステップをさらに備えることを特徴とする請求項３に記載のシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は製品の製造の際に利用する機器等を制御する制御装置と接続され、機器等の動作を模擬するシミュレータ及びシミュレーション方法に関する。
【背景技術】
【０００２】
工場における製品の製造には、ワーク（製品や製品を製造する部品等）の搬送や加工にモータ、シリンダ、アクチュエータ、センサ等の機器が利用されている。モータやシリンダ等の機器には制御装置２０が接続され、この制御装置２０によって制御されている。また、制御装置２０には、モータやシリンダ等の機器の他にも複数の周辺装置が接続されており、製品の製造に必要な処理状況等に関する信号を送受信している。
【０００３】
制御装置２０は、製品を製造する際には、これらの周辺装置や機器と接続されて信号が送受信されるが、実際に周辺装置や機器と接続していない場合であっても、周辺装置や機器の動作を模擬するシミュレータを利用することで全体の動作のシミュレーションを実行できる（例えば、特許文献１参照）。また、このシミュレーションの結果を利用して、制御装置２０の処理を検証したり、制御装置２０の制御による製品製造の処理能力を改善することができる。
【０００４】
シミュレータを利用して周辺装置や機器を模擬する場合、シミュレータでは周辺装置や機器に関する信号の値を初期値として設定する必要がある。この初期値の設定は、多数の信号について行う必要があるため、設定すべき信号を見逃しやすい。一方、１つでも初期値の設定を忘れた信号がある場合、シミュレーションの起動条件を充足せず、シミュレーションは開始されない。したがって、シミュレーションを行う際には、オペレータに初期値入力と確認の手間と時間を課していた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−５４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来のシミュレータ及びシミュレーション方法でシミュレーションを実行する場合、周辺装置や機器に関する各信号の値の設定に手間と時間が必要である問題があった。
【０００７】
上記課題に鑑み、本発明は、シミュレーションで利用する信号の値の設定を容易にすることでシミュレーションの実行を容易にすることができるシミュレータ及びシミュレーション方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の発明は、製品の製造に利用される周辺装置又は機器を制御する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への制御信号を受信すると、当該制御信号に対応する動作の模擬の結果信号を前記制御装置に送信するシミュレータであって、制御信号と、当該制御信号を受信した場合に送信する結果信号の演算に利用する対応信号とが関連付けられる対応データを記憶する対応データ記憶部と、タイミングの識別子と、機器又は周辺装置の識別子と、当該タイミングにおける当該機器又は当該周辺装置の信号の値が関連付けられる状態データを記憶する状態データ記憶部と、機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とが入力されると、入力された各信号の値を前記識別子と関連付けてメモリに記憶させる設定手段と、入力された機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とに、新たなタイミングの識別子を付して、前記状態データに追加する登録手段と、制御信号が送信した制御信号を受信すると、前記対応データで当該制御信号に関連付けられる対応信号と、前記メモリに設定されている各信号の値とから演算した結果信号を前記制御装置に送信するとともに、演算された新たな信号の値で前記メモリに記憶される各信号の値を更新する応答手段とを備えることを特徴とする。
【０００９】
請求項２の発明は、前記登録手段は、状態データの登録のリクエストが入力されると、当該リクエストが入力されたタイミングを特定する新たな識別子と、機器又は周辺装置の識別子と、当該タイミングで前記メモリに記憶されている前記機器及び前記周辺装置の信号の値とを関連付けて、前記状態データに追加することを特徴とする。
【００１０】
請求項３の発明は、製品の製造に利用される周辺装置又は機器を制御する制御装置と接続され、前記制御装置から前記周辺装置又は前記機器への制御信号を受信すると、当該制御信号に対応する動作の模擬の結果信号を前記制御装置に送信するシミュレータで利用されるシミュレーション方法であって、機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とが入力されると、入力された各信号の値を前記識別子と関連付けてメモリに記憶させるステップと、入力された機器又は周辺装置の識別子と、当該機器又は当該周辺装置の信号の値とに、新たなタイミングの識別子を付して、タイミングの識別子と、機器又は周辺装置の識別子と、当該タイミングにおける当該機器又は当該周辺装置の信号の値とが関連付けられて状態データ記憶部に記憶される状態データに追加するステップと、制御信号が送信した制御信号を受信すると、制御信号と、当該制御信号を受信した場合に送信する結果信号の演算に利用する対応信号とが関連付けられて対応データ記憶部で記憶される対応データにおいて当該制御信号に関連付けられる対応信号と、前記メモリに設定されている各信号の値とから演算した結果信号を前記制御装置に送信するステップと、演算された新たな信号の値で前記メモリに記憶される各信号の値を更新するステップとを備えることを特徴とする。
【００１１】
請求項４の発明は、状態データの登録のリクエストが入力されると、当該リクエストが入力されたタイミングを特定する新たな識別子と、機器又は周辺装置の識別子と、当該タイミングで前記メモリに記憶されている前記機器及び前記周辺装置の信号の値とを関連付けて、前記状態データに追加するステップをさらに備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ミュレーションで利用する信号の設定を容易にすることでシミュレーションの実行を容易にすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るシミュレータの構成を説明するブロック図である。
【図２】図１のシミュレータで利用される状態データの一例である。
【図３】図１のシミュレータで表示されるメイン画面の一例である。
【図４】図１のシミュレータで表示されるモニタ画面の一例である。
【図５】図１のシミュレータで表示される操作盤画面の一例である。
【図６】図１のシミュレータで表示される動作ログ画面の一例である。
【図７】本発明の第２の実施形態に係るシミュレータの構成を説明するブロック図である。
【図８】図７のシミュレータにおける登録フローの一例である。
【図９】図７のシミュレータにおける登録フローの他のである。
【図１０】図７のシミュレータにおける読み出しフローの一例である。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係るシミュレータは、工場における製品の製造工程でワークの搬送や加工等に利用するモータ、シリンダ、アクチュエータ、センサ等の機器等を制御する制御装置に接続され、周辺装置や機器等の動作を模擬することができる。したがって、制御装置を周辺装置や機器に接続しない場合であっても、（１）シーケンス制御ロジックの検証、（２）過渡応答や異常状態の確認、（３）サイクルタイムの検証、（４）物理的な干渉のチェック等が可能になる。
【００１５】
〈第１実施形態〉
図１に示すように、本発明の第１実施形態に係るシミュレータ１０は、例えば、中央処理装置（ＣＰＵ）１１、プログラムやデータを記憶する記憶装置１２、データの送受信に利用される通信装置１３、操作を入力する入力ボタンやキーボード等の入力装置１４、処理を出力するディスプレイ等の出力装置１５及びデータを一時記憶するメモリ１６等を備える情報処理装置である。
【００１６】
また例えば、シミュレータ１０と接続される制御装置２０は、中央処理装置（ＣＰＵ）２１、記憶装置２２、電源装置２３、通信装置２４及びメモリ２５等を備えるプログラマブルロジックコントローラ（ＰＬＣ）である。
【００１７】
記憶装置１２は、シミュレータ１０においてシミュレーションを実行するシミュレーションプログラムＰと、シミュレーションで利用する画面を出力装置１５に表示するための画面データＤ１と、制御装置２０から周辺装置や機器への制御信号を受信した場合にシミュレーションの結果信号を求めるための対応信号を有する対応データＤ２と、シミュレーションの処理で利用する周辺装置や機器の信号の値（状態）を有する状態データＤ３を記憶している。
【００１８】
シミュレータ１０では、記憶装置１２で記憶されるシミュレーションプログラムＰを読み出して実行することで、ＣＰＵ１１に、表示処理手段１１１、設定手段１１２、応答手段１１３、登録手段１１４及び読出手段１１５が実装され、実行される。
【００１９】
対応データＤ２は、図示を用いた説明は省略するが、制御装置２０が周辺装置や機器に送信する制御信号と、この制御信号を受信した場合にシミュレータ１０がシミュレーションの結果として送信する結果信号を求める対応信号とが関連付けられている。具体的には、対応データＤ２が有する対応信号は、送信する結果信号又は、結果信号を求めるための演算式である。
【００２０】
状態データＤ３は、図２に一例を示すように、タイミングの識別子と、シミュレータ１０で利用している周辺装置や機器で利用されている信号の識別子と、タイミングの識別子で特定されるタイミングでの信号の値とが関連づけられている。例えば、状態データＤ３では、シミュレーションの実行を起動させるタイミングや、シミュレーションやデバックで異常が発生したタイミングにおける、通信、センサ、シリンダ、モータ等の信号の値（状態）をそのタイミング毎に記憶している。
【００２１】
表示処理手段１１１は、記憶装置１２に記憶されている画面データＤ１を読み出し、入力装置１４を介して入力された操作に応じた出力画面を出力装置１５に出力する。例えば、表示処理手段１１１は、シミュレーションの実行を操作する画面、シミュレーションで利用する信号の値を設定する画面、シミュレーションの状況を表示する画面等を出力する。ここで、表示処理手段１１１は、シミュレーションで利用されている値の設定状況やシミュレーションの処理状況を表示する場合、必要に応じて記憶装置１２に記憶されている状態データＤ３やメモリ１６で記憶されている現在の信号の値を読み出して画面を生成し、出力する。
【００２２】
図３〜６を用いて、表示処理手段１１１が画面データＤ１を利用して出力する画面の一例について説明する。例えば、表示処理手段１１１は、メイン画面Ｗ１（図３）を表示する。このメイン画面Ｗ１は、例えば、シミュレータ１０がシミュレーションの対象とする周辺装置や機器等の概略図を表示させるモニタボタンｂ１、シミュレーションの条件等の入力に使用する画面を表示させる操作盤ボタンｂ２及びシミュレーションの経過や結果を表示させる動作ログボタンｂ３を有している。また、メイン画面Ｗ１は、ファイルの読み込みを操作する読込ボタンｂ４、シミュレーションの開始を操作する開始ボタンｂ５及びシミュレーションの動作中にシミュレーションの停止を操作する停止ボタンｂ６、周辺装置や機器の動作の模擬の有無、機械の干渉の模擬の有無、動作の順序の模擬の有無を選択するチェックボックスｂ７〜ｂ１２等を有している。
【００２３】
メイン画面Ｗ１のモニタボタンｂ１が選択されると、シミュレーションの対象を確認させるモニタ画面Ｗ２（図４）が表示される。また、メイン画面Ｗ１の操作盤ボタンｂ２が選択されると、ボタンｂ２１〜ｂ２６等の操作によってシミュレーションで使用する信号の値を設定可能な操作盤画面Ｗ３（図５）が表示される。さらに、メイン画面Ｗ１の動作ログボタンｂ３が選択されると、シミュレーションの結果を確認させる動作ログ画面Ｗ４（図６）が表示される。
【００２４】
設定手段１１２は、シミュレーションの実行に使用する信号の値を入力すると、この値を設定し、メモリ１６に記憶する。例えば、設定手段１１２は、入力装置１４から初期値等の新たな値を入力することもあれば、読出手段１１５から記憶装置１２で記憶している所定のタイミングの値を入力することもある。ここで、メモリ１６に記憶されている各信号の値は、シミュレーションの実行により変化する。そのため、メモリ１６で記憶している各信号の値は、その後のシミュレーションの実行に応じて更新される。
【００２５】
応答手段１１３は、通信装置１３を介して制御装置２０から周辺装置や機器への制御信号を受信すると、記憶装置１２から対応データＤ２を読み出して受信した制御信号に応じた対応信号を抽出する。また、応答手段１１３は、抽出した対応信号とメモリ１６に記憶されている各信号の値から結果信号を求め、制御装置２０に送信するとともに、求められた結果信号を新たな値としてメモリ１６に記憶する。
【００２６】
登録手段１１４は、新たな値の登録のリクエストが発生したタイミングで、シミュレータ１０で利用している各信号の値を収集し、収集した値を記憶装置１２に記憶している状態データＤ３に追加する。登録リクエストが発生するタイミングは、入力装置１４を介して信号の値の記憶がリクエストされたタイミング、各信号の値が所定の状態になったことで異常状態になったタイミング、シミュレーションを起動するタイミング等である。登録手段１１４は、状態データＤ３に新たな値を追加する際、メモリ１６に記憶している現在の信号の値を読み出して利用したり、必要に応じて制御装置２０に値の送信を要求するリクエストを送信して取得して利用する。
【００２７】
読出手段１１５は、入力装置１４を介して状態データＤ３で記憶している信号の値の読み出しを要求するリクエストが入力されると、記憶装置１２から状態データＤ３を読み出してリクエストで指定されたタイミングの各信号の値を抽出する。また、読出手段１１５は、抽出した信号の値を設定手段１１２に出力して設定させる。
【００２８】
このように、本発明の第１実施形態に係るシミュレータ及びシミュレーション方法によれば、シミュレーションを起動するタイミングで各信号の値を記憶装置１２に記憶し、必要に応じて記憶装置１２から読み出して利用する。記憶装置に記憶した値を読み出して使用可能としたことにより、２回目以降にシミュレーションを実行する場合には、記憶装置１２の状態データＤ３に記憶されてある起動条件である各信号の値を読み出して設定することができるため、容易かつ短時間でシミュレーションやシミュレーションプログラムのデバックを開始することができる。また、同様の構成を持つ他のシミュレータでも、状態データＤ３を利用することができるため、シミュレーションやシミュレーションプログラムのデバックを容易にすることができる。
【００２９】
また、第１実施形態に係るシミュレータ及びシミュレーション方法によれば、信号の値の記憶がリクエストされたタイミング、各信号の値が所定の状態になったことで異常状態になったタイミング等に各信号の値を記憶装置１２に記憶し、必要に応じて記憶装置１２から読み出して利用することにより、シミュレータ１０において以前発生した状態と同一の状態を容易に再現することができる。したがって、問題解決の際には記憶装置１２の状態データＤ３の値を読み出して異常状態を再現することで、問題の解決等に役立てることができる。さらに、転送手段を設けて記憶装置１２で記憶した信号の値を他の装置等に送信することにより、各タイミングにおける状況を他の場所で再現することも可能となり、遠隔地に存在する装置でも異常等の状態を把握することができる。
【００３０】
〈第２実施形態〉
続いて、図７を用いて本発明の第２実施形態に係るシミュレータ１０について説明する。第２実施形態では、シミュレータ１０が、第１シミュレータ１０ａと第２シミュレータ１０ｂにより構成されているものとする。また、ここでは、第１シミュレータ１０ａは、制御装置２０に接続される周辺装置を模擬するものとし、第２シミュレータ１０ｂは、制御装置に接続されるモータやシリンダ等の機器を模擬するものとする。以下の説明において、上述した構成と同一の構成については同一の符号を付して説明を省略する。また、類似の構成については、類似の符号を付して説明する。
【００３１】
まず、第１シミュレータ１０ａについて説明する。例えば、第１シミュレータ１０ａは、中央処理装置（ＣＰＵ）１１ａ、記憶装置１２ａ、通信装置１３ａ、入力装置１４、出力装置１５及びメモリ１６等を備えるパーソナルコンピュータ（ＰＣ）である。
【００３２】
記憶装置１２ａは、第１シミュレーションプログラムＰ１、画面データＤ１、周辺装置への制御信号を受信した場合にシミュレーションの結果信号を求めるために利用する第１対応データＤ２１及びシミュレーションの処理で利用する周辺装置や機器の値（状態）状態に関する状態データＤ３を記憶している。
【００３３】
第１シミュレータ１０ａでは、第１シミュレーションプログラムＰ１を読み出して実行することで、ＣＰＵ１１ａに、表示処理手段１１１、第１設定手段１１２ａ、第１応答手段１１３ａ、登録手段１１４及び読出手段１１５が実装され、実行される。
【００３４】
なお、第１対応データＤ２１は、上述した対応データＤ２と同様の結果信号を求めるためのデータであるが、第１シミュレータ１０ａで使用するデータのみを有している。また、状態データＤ３は、図２を用いて上述したような各信号の値に関するデータあり、シミュレータ１０全体の信号の値を有している。
【００３５】
表示処理手段１１１は、記憶装置１２ａで記憶されている画面データＤ１を利用して出力装置１５に図３〜図６を用いて上述したような画面を出力する。
【００３６】
第１設定手段１１２ａは、シミュレーションの実行に使用する値を入力すると、入力した値を設定する。具体的には、第１設定手段１１２ａは、第１シミュレータ１０ａについての値は第１シミュレータ１０ａ内で設定しメモリ１６ａに記憶し、第２シミュレータ１０ｂについての値は通信装置１３ａを介して第２シミュレータ１０ｂに送信し設定させる。例えば、設定手段１１２は、入力装置１４から初期値等の新たな値を入力することもあれば、読出手段１１５から記憶装置１２で記憶している所定のタイミングの値を入力することもある。また、メモリ１６ａに記憶された各信号の値は、シミュレーションの実行により変化するため、その後のシミュレーションの実行に応じて更新される。
【００３７】
第１応答手段１１３ａは、シミュレーションの実行中に通信装置１３ａを介して制御装置２０から制御信号を受信すると、第１対応データＤ２１で制御信号に対応する対応信号と、メモリ１６ａで記憶する各信号の値とを利用して結果信号を求め、求めた結果信号を制御装置２０に送信する。また、第１応答手段１１３ａは、メモリ１６ａで記憶される値を、求めた結果信号で更新する。
【００３８】
登録手段１１４は、新たな値の登録リクエストが発生したタイミングで、シミュレータ１０で利用している各信号の値を収集し、収集した値を記憶装置１２ａに記憶している状態データＤ３に追加する。登録リクエストが発生するタイミングは、入力装置１４を介して信号の値の記憶がリクエストされたタイミング、各信号の値が処置の状態になったことで異常状態になったタイミング、シミュレーションを起動するタイミング等である。なお、登録手段１１４は、状態データＤ３に新たな値を追加する際、制御装置２０又は第２シミュレータ１０ｂに信号の値の送信を要求するリクエストを送信することで、第１シミュレータ１０ａで使用する信号の値だけでなく、第２シミュレータ１０ｂで使用する各信号の値も取得することができる。
【００３９】
読出手段１１５は、入力装置１４を介して状態データＤ３で記憶している信号の値の読み出しを要求するリクエストが入力されると、記憶装置１２ａから状態データＤ３を読み出し、リクエストで指定されたタイミングの各信号の値を抽出する。また、読出手段１１５は、抽出した信号の値を設定手段１１２に出力して設定させる。
【００４０】
続いて、第２シミュレータ１０ｂについて説明する。第２シミュレータ１０ｂは、例えば、中央処理装置（ＣＰＵ）１１ｂ、記憶装置１２ｂ、通信装置１３ｂ及びメモリ１６ｂ等を備えるプログラマブルロジックコントローラ（ＰＬＣ）であり、第２シミュレータ１０ｂでは、第１シミュレータ１０ａのような入力装置や出力装置は有していない。
【００４１】
この第２シミュレータ１０ｂは、第１シミュレータ１０ａより信号の送受信の速さが要求される機器等の動作の模擬することができる。第２シミュレータ１０ｂでは、記憶装置１２ｂに記憶される第２シミュレーションプログラムＰ２を読み出して実行することで、ＣＰＵ１１ｂに、第２設定手段１１２ｂ及び第２応答手段１１３ｂが実装され、実行される。また、記憶装置１２ｂは、第２シミュレーションプログラムＰ２に加え、機器への制御信号を受信した場合にシミュレーションの結果信号を求めるために利用する第２対応データＤ２２を記憶している。
【００４２】
第２設定手段１１２ｂは、通信装置１３ｂを介して第１シミュレータ１０ａからシミュレーションで利用する信号の値を受信すると、受信した値を第２シミュレータ１０ｂで使用する値として設定し、メモリ１６ｂに記憶する。ここでメモリ１６ｂに記憶された各信号の値も、シミュレーションの実行により変化するため、その後のシミュレーションの実行に応じて更新される。
【００４３】
第２応答手段１１３ｂは、シミュレーションの実行中に通信装置１３ｂを介して制御装置２０から制御信号を受信すると、第２対応データＤ２２で制御信号に対応する対応信号と、メモリ１６ｂで記憶する各信号の値とを利用して結果信号を求め、求めた結果信号を制御装置２０に送信する。また、第２応答手段１１３ｂは、メモリ１６ｂで記憶される値を、求めた結果信号で更新する。
【００４４】
次に、図８〜図１０に示すシーケンス図を用いて、発明の実施形態に係るシミュレータ１０によって模擬する動作パターンについて説明する。
【００４５】
［シミュレーションの実行中に記憶］
まず、図８を用いて、シミュレーションの実行中に登録リクエストが発生し、各値を状態データＤ３として記憶する一例を説明する。例えば、オペレータによって入力装置１４を介して各信号の値が入力されると（Ｓ１０）、第１設定手段１１２ａは、第１シミュレータ１０ａについての信号の値を第１シミュレータ１０ａのメモリ１６ａに記憶させて設定する（Ｓ１１）。また、第１設定手段１１２ａは、第２シミュレータ１０ｂについての信号の値を、通信装置１３ａを介して第２シミュレータ１０ｂに送信する（Ｓ１２）。第２シミュレータ１０ｂの第２設定手段１１２ｂは、受信した信号の値を第２シミュレータ１０ｂのメモリ１６ｂに記憶させて設定する（Ｓ１３）。
【００４６】
続いて、制御装置２０から第１シミュレータ１０ａに制御信号が送信されると（Ｓ１４）、第１応答手段１１３ａは、第１対応データＤ２１から抽出した対応信号とメモリ１６ａに記憶される値を利用して結果信号を求め（Ｓ１５）、制御装置２０に送信する（Ｓ１６）。ステップＳ１６で第１シミュレータ１０ａから送信された結果信号を受信した制御装置２０は、この結果信号をメモリ２５に記憶する。
【００４７】
また、制御装置２０から第２シミュレータ１０ｂに制御信号が送信されると（Ｓ１７）、第２応答手段１１３ｂは、第２対応データＤ２２から抽出した対応信号とメモリ１６ｂに記憶される値を利用して結果信号を求め（Ｓ１８）、制御装置２０に送信する（Ｓ１９）。ステップＳ１９で第２シミュレータ１０ｂから送信された結果信号を受信した制御装置２０は、この結果信号をメモリ２５に記憶する。
【００４８】
なお、制御装置２０では、ステップＳ１６及びステップＳ１９で受信する結果信号をメモリ２５に記憶する際、同一の信号について過去の結果信号を記憶している場合には新たな結果信号で更新する。したがって、メモリ２５には、常時、シミュレータ１０における各信号について、最新の結果信号が記憶されていることになる。
【００４９】
シミュレーションの実行中には、このステップＳ１４〜Ｓ１９が繰り返される。シミュレーションの実行中に上述したようなタイミングで登録リクエストが発生すると、登録手段１１４は、通信装置１３ａを介して制御装置２０に各信号の値の送信を要求する状態リクエストを送信する（Ｓ２０）。状態リクエストを受信した制御装置２０は、状態リクエストを受信した際にメモリ２５で記憶している結果信号を状態信号として第１シミュレータ１０ａに送信する（Ｓ２１）。上述したように、制御装置２０のメモリ２５では、各結果信号について最新の信号が記憶されているため、制御装置２０は、状態リクエストを受信した際にメモリ２５に記憶されている結果信号を送信すれば、最新の値（状態）を送信することになる。なお、図８では、制御装置２０から結果信号を取得する方法を示しているが、第１シミュレータ１０ａ及び第２シミュレータ１０ｂで直接結果信号を直接してもよい。
【００５０】
登録手段１１４は、制御装置２０から状態信号を受信して各信号の値が収集できると、この信号の値を記憶装置１２ａで記憶している状態データＤ３に追加する（Ｓ２２）。このように、シミュレータ１０では、後でシミュレーションの状況を再現したいタイミングで各信号の値を状態データＤ３として記憶することができる。
【００５１】
［シミュレーションの起動時に記憶］
次に、図９を用いて、シミュレーションの起動時に登録リクエストが発生し、各信号の値を記憶する一例を説明する。以下の説明において、図８を用いて上述した処理と同一の処理については、同一の符号を付して説明を省略する。
【００５２】
例えば、シミュレーションを起動する際にオペレータによって入力装置１４を介して各信号の値が入力されると（Ｓ１０）、第１設定手段１１２ａは、第１シミュレータ１０ａについての値を第１シミュレータ１０ａで設定する（Ｓ１１）。また、第１設定手段１１２ａは、第２シミュレータ１０ｂについての各信号の値を第２シミュレータ１０ｂに送信する（Ｓ１２）。第２シミュレータ１０ｂの第２設定手段１１２ｂは、受信した値を設定する（Ｓ１３）。
【００５３】
また、このシミュレーションの起動時に、登録手段１１４は、入力装置１４を介して入力された各信号の値を追加して記憶装置１２ａで記憶している状態データＤ３を更新する（Ｓ３０）。
【００５４】
その後は、シミュレーションが終了するまで、制御装置２０とシミュレータ１０との間で制御信号と結果信号の送受信が繰り返される（Ｓ１４〜Ｓ１９）。なお、制御信号と結果信号の送受信が繰り返されている際に、登録リクエストが発生した場合には、図８のステップＳ２０〜Ｓ２２で上述した処理により、その際の各信号の値が状態データＤ３に追加されても良い。このように、シミュレータ１０では、シミュレーション起動のタイミングで各信号の値を状態データＤ３として記憶することができる。
【００５５】
［読み出した値でシミュレーション実行］
続いて、図１０を用いて、シミュレーションを実行する際に状態データＤ３として記憶している値を利用する一例を説明する。以下の説明において、図８を用いて上述した処理と同一の処理については、同一の符号を付して説明を省略する。
【００５６】
例えば、シミュレーションを実行する際にオペレータによって入力装置１４を介して状態データＤ３を読み出して各信号の値を設定するリクエストが入力されると、第１設定手段１１２ａは、記憶装置１２ａから状態データＤ３を読み出して該当する信号の値を抽出する（Ｓ４０）。
【００５７】
続いて、第１設定手段１１２ａは、ステップＳ４０で読み出した値のうち、第１シミュレータ１０ａについての信号の値を第１シミュレータ１０ａのメモリ１６ｂに記憶させて設定する（Ｓ４１）。また、第１設定手段１１２ａは、第２シミュレータ１０ｂについての信号の値を、通信装置１３を介して第２シミュレータ１０ｂに送信する（Ｓ４２）。第２シミュレータ１０ｂの第２設定手段１１２ｂは、受信した信号の値を第２シミュレータ１０ｂのメモリ１６ｂに記憶させて設定する（Ｓ４３）。
【００５８】
その後は、シミュレーションが終了するまで、制御装置２０とシミュレータ１０との間で制御信号と結果信号の送受信が繰り返される（Ｓ１４〜Ｓ１９）。なおこの場合も、制御信号と結果信号の送受信が繰り返されている際に、登録リクエストが発生した場合には、図８のステップＳ２０〜Ｓ２２で上述した処理により、その際の各信号の値が状態データＤ３に追加されても良い。このように、問題が発生したタイミングやシミュレーションの起動のタイミングで登録された各信号の値を読み出して利用することで、容易に以前と同一の状況を再現したり、容易にシミュレーションの実行を開始することができる。
【００５９】
このように、本発明の第２実施形態に係るシミュレータ及びシミュレーション方法によれば、シミュレーションを起動するタイミングで各信号の値を記憶装置１２に記憶し、必要に応じて記憶装置１２から読み出して利用する。記憶装置に記憶した値を読み出して使用可能としたことにより、２回目以降にシミュレーションを実行する場合には、記憶装置１２の状態データＤ３に記憶されてある起動条件である各信号の値を読み出して設定することができるため、容易かつ短時間でシミュレーションやシミュレーションプログラムのデバックを開始することができる。また、同様の構成を持つ他のシミュレータでも、状態データＤ３を利用することができるため、シミュレーションやシミュレーションプログラムのデバックを容易にすることができる。
【００６０】
また、第２実施形態に係るシミュレータ及びシミュレーション方法でも、第１実施形態に係るシミュレータ及びシミュレーション方法と同様に、問題解決の際に記憶装置１２の状態データＤ３に記憶される値を利用して特定のタイミングを再現可能とすることで、問題の解決等に役立てることができるとともに、遠隔地に存在する装置でもシミュレータの状態を把握することができる。
【００６１】
なお、第２実施形態では、シミュレータ１０が、１台のＰＣ（第１シミュレータ１０ａ）と１台のＰＬＣ（第２シミュレータ１０ｂ）とから構成される場合を例に説明したが、シミュレータ１０を構成する装置の数については限定されない。
【００６２】
以上、各実施形態を用いて本発明を詳細に説明したが、本発明は本明細書中に説明した実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲の記載及び特許請求の範囲の記載と均等の範囲により決定される。
【符号の説明】
【００６３】
１０…シミュレータ
１０ａ…第１シミュレータ（シミュレータ）
１０ｂ…第２シミュレータ（シミュレータ）
１１，１１ａ，１１ｂ…中央処理装置（ＣＰＵ）
１１１…表示処理手段
１１２…設定手段
１１２ａ…第１設定手段（設定手段）
１１２ｂ…第２設定手段（設定手段）
１１３…応答手段
１１３ａ…第１応答手段（応答手段）
１１３ｂ…第２応答手段（応答手段）
１１４…登録手段
１１５…読出手段
１２，１２ａ，１２ｂ…記憶装置
Ｄ１…画面データ
Ｄ２…対応データ
Ｄ２１…第１対応データ（対応データ）
Ｄ２２…第２対応データ（対応データ）
Ｄ３…状態データ
Ｐ…シミュレーションプログラム
Ｐ１…第１シミュレーションプログラム
Ｐ２…第２シミュレーションプログラム
１３，１３ａ，１３ｂ…通信装置
１４…入力装置
１５…出力装置
１６，１６ａ，１６ｂ…メモリ
２０…制御装置
２１…中央処理装置（ＣＰＵ）
２２…記憶装置
２３…電源装置
２４…通信装置
２５…メモリ
【図１】
2012003590.tif 000003
【図２】
2012003590.tif 000004
【図３】
2012003590.tif 000005
【図４】
2012003590.tif 000006
【図６】
2012003590.tif 000007
【図７】
2012003590.tif 000008
【図８】
2012003590.tif 000009
【図９】
2012003590.tif 000010
【図１０】
2012003590.tif 000011
【図５】
2012003590.tif 000012