(57)【要約】      （修正有）【課題】複数のシミュレーション装置間の信号の入出力を、実際の装置と同様の精度で同期させることができるシミュレーションシステムを提供する。【解決手段】シミュレーションシステム１００は、入力信号に応じて処理を実行し、出力信号を出力する複数のシミュレーション装置１１ｎと、シミュレーション装置１１ｎに対して入力信号を出力し、シミュレーション装置１１ｎから出力信号を受信する入出力信号管理装置１２０を有する。入出力信号管理装置１２０は、シミュレーション装置１１ｎにおける処理応答時間をそれぞれ記憶する。シミュレーション装置１１ｎに対して入力信号を出力した時刻と、処理応答時間とに基づいて、出力信号の仮想受信時刻をそれぞれ算出する。複数の出力信号のうち、仮想受信時刻の最も早い出力信号を、他のシミュレーション装置１１ｎに対する入力信号として出力する。【選択図】図２
2018005260.tif 000002
【特許請求の範囲】
【請求項１】
入力信号に応じて処理を実行し、出力信号を出力する複数のシミュレーション装置と、
前記シミュレーション装置に対して前記入力信号を出力し、前記シミュレーション装置から前記出力信号を受信する入出力信号管理装置と、を有し、
前記入出力信号管理装置は、
複数の前記シミュレーション装置における処理応答時間ｐをそれぞれ記憶し、
複数の前記シミュレーション装置に対して前記入力信号を出力した時刻ｔと、前記処理応答時間ｐとに基づいて、前記出力信号の仮想受信時刻ｖｔをそれぞれ算出し、
複数の前記出力信号のうち、前記仮想受信時刻ｖｔの最も早い前記出力信号を、他の前記シミュレーション装置に対する前記入力信号として出力することを特徴とする
シミュレーションシステム。
【請求項２】
前記入出力信号管理装置は、
複数の前記シミュレーション装置からの前記出力信号の仮想受信時刻ｖｔを算出する処理の後、一定時間遅らせて、前記仮想受信時刻ｖｔの最も早い前記出力信号を出力する処理を実行することを特徴とする
請求項１記載のシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーションシステムに関し、特に複数のシミュレーション装置間の信号の入出力を、実際の装置と同様の精度で同期させることができるシミュレーションシステムに関する。
【背景技術】
【０００２】
工作機械を制御するための数値制御装置や、ロボットを制御するためのコントローラ等（以下、制御装置と称する）を複数利用することで、複数の工作機械やロボットの動作を同期させることができる。例えば、複数の制御装置が相互に信号を送信又は受信することで、制御において同期を取り、工作機械やロボットの連携動作を実現することができる。
【０００３】
連携動作の一例を説明する。工作機械での加工が終了したタイミングで、工作機械の制御装置は加工終了の信号をロボットへ送信する。ロボットの制御装置がその信号を受け取り、ロボットは加工が終わったワークを掴む動作を開始する。ロボットがワークを掴んだタイミングで、ロボットの制御装置が工作機械の制御装置へ信号を送り、工作機械はワークの把持を開放する。
【０００４】
従来、これらの制御装置間における入出力信号のやり取りを確認するため、実際の装置を使用して信号のタイミングを計る確認作業を行っていた。しかしながら、昨今ではこれらの制御装置のシミュレーション装置が提供されるようになったため、シミュレーション装置を用いて信号のタイミングを確認することができるようになった。
【０００５】
しかし、これらのシミュレーション装置は実際の装置とは異なるハードウェア上で実行されることが一般的である。そのため、図１に示すように、実際の装置とシミュレーション装置との応答処理時間が異なるという事象が発生する。例えば、実際の装置がリアルタイムＯＳで動作し、シミュレーション装置が非リアルタイムＯＳで動作している場合、シミュレーション装置の応答処理時間は、実際の装置よりも遅くなる傾向にある。また、実際の装置とシミュレーション装置との応答処理時間の違いは、機能により異なる。すなわち、装置及び機能によって遅くなる度合いは一様ではない。換言すれば、シミュレーション装置及び機能毎に応答処理時間の時間差分量が異なる。その結果、シミュレーション装置における制御装置間の信号の送受信順序は、実際の装置における送受信順序と同じになるとは限らない。
【０００６】
複数のシミュレーション装置を同期させて動作させる従来技術として、特許文献１には、それぞれのシミュレーション装置が共通の基準クロックを参照することで、動作の同期を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４７３３６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１記載の技術によれば、複数のシミュレーション装置の動作開始のタイミングを同期することはできるが、シミュレーション装置の応答処理時間と実際の装置の応答処理時間とが異なるという問題は解決されていない。そのため、依然として、シミュレーション装置における制御装置間の信号の送受信順序は、実際の装置における送受信順序と同じになるとは限らない。
【０００９】
本発明は、このような問題点を解決するためになされたものであり、複数のシミュレーション装置間の信号の入出力を、実際の装置と同様の精度で同期させることができるシミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施の形態にかかるシミュレーションシステムは、入力信号に応じて処理を実行し、出力信号を出力する複数のシミュレーション装置と、前記シミュレーション装置に対して前記入力信号を出力し、前記シミュレーション装置から前記出力信号を受信する入出力信号管理装置と、を有し、前記入出力信号管理装置は、複数の前記シミュレーション装置における処理応答時間ｐをそれぞれ記憶し、複数の前記シミュレーション装置に対して前記入力信号を出力した時刻ｔと、前記処理応答時間ｐとに基づいて、前記出力信号の仮想受信時刻ｖｔをそれぞれ算出し、複数の前記出力信号のうち、前記仮想受信時刻ｖｔの最も早い前記出力信号を、他の前記シミュレーション装置に対する前記入力信号として出力することを特徴とする。
【００１１】
他の実施の形態にかかるシミュレーションシステムは、前記入出力信号管理装置は、複数の前記シミュレーション装置からの前記出力信号の仮想受信時刻ｖｔを算出する処理の後、一定時間遅らせて、前記仮想受信時刻ｖｔの最も早い前記出力信号を出力する処理を実行することを特徴とする。
【発明の効果】
【００１２】
本発明により、複数のシミュレーション装置間の信号の入出力を、実際の装置と同様の精度で同期させることができるシミュレーションシステムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】シミュレーション装置の特性を示す図である。
【図２】本発明の実施の形態にかかるシミュレーションシステム１００の構成を示す図である。
【図３】従来のシミュレーションシステムの動作を示す図である。
【図４】従来のシミュレーションシステムの動作を示す図である。
【図５】シミュレーションシステム１００の動作を示す図である。
【図６】シミュレーションシステム１００の動作を示す図である。
【図７】シミュレーションシステム１００の動作を示す図である。
【発明を実施するための形態】
【００１４】
はじめに、本発明の理解を容易にするため、従来技術が有する問題点について説明する。図３は、実際の装置における信号の入出力の例を示す図である。実際の装置１及び実際の装置２は、同時に動作を開始する。そして、実際の装置３は、実際の装置１の出力信号Ｓ１又は実際の装置２の出力信号Ｓ２のうち、早く出力された方を受信して動作を開始するものとする。図３の例では、実際の装置１の出力信号Ｓ１を、実際の装置３が入力信号Ｓ１として受取っている。
【００１５】
図４は、シミュレーション装置における信号の入出力の例を示す図である。実際の装置と同様、シミュレーション装置１及びシミュレーション装置２も、同時に動作を開始する。そして、シミュレーション装置３も、シミュレーション装置１の出力信号Ｓ１又はシミュレーション装置２の出力信号Ｓ２のうち、早く出力された方を受信して動作を開始するものとする。図４の例では、シミュレーション装置２の出力信号Ｓ２を、シミュレーション装置３が入力信号Ｓ２を速く出力された方として受取っている。これは、シミュレーション装置１及び２における応答時間と、実際の装置１及び２における応答時間とに差分が生じてしまったために生じた事象である。図４では、この応答時間の差を破線で示している。
【００１６】
このように、実際の装置とシミュレーション装置とでは、出力信号Ｓ１及びＳ２の出力順序が相違することがある。その理由は、実際の装置１及び２における応答処理時間と、シミュレーション装置１及び２における応答時間とが相違することがあるためである。このように入出力信号の順序が相違すると、実際の装置で実現される動作とシミュレーション装置で実現される動作とは、全体として全く異なるものとなってしまう。
【００１７】
かかる問題を解決するための本発明の実施の形態を説明する。まず、図２を用いて本発明の実施の形態にかかるシミュレーションシステム１００の構成について説明する。
【００１８】
シミュレーションシステム１００は、複数のシミュレーション装置１１ｎと、入出力信号管理装置１２０とを有する。複数のシミュレーション装置１１ｎと、入出力信号管理装置１２０とは、相互に通信可能に接続される。
【００１９】
複数のシミュレーション装置１１ｎは、実際の装置を動作させることなくその動作を仮想的に実現する装置である。シミュレーション装置１１ｎとしては公知の種々のシミュレータを用いることが可能であるので、ここでは具体的な構成の説明を省略する。
【００２０】
入出力信号管理装置１２０は、複数のシミュレーション装置１１ｎ間における入出力信号の仲介を行う装置である。
【００２１】
シミュレーション装置１１ｎ及び入出力信号管理装置１２０は、典型的には、中央処理装置、記憶装置及び入出力装置を備え、記憶装置に記憶されたプログラムを中央処理装置が実行することにより所定の機能を実現する情報処理装置である。なお、シミュレーション装置１１ｎ及び入出力信号管理装置１２０は、それぞれ別のハードェウェアで実現されても良く、単一又は分散ハードウェア上において論理的に異なる実体として実装されても良い。
【００２２】
シミュレーション装置１１ｎは、他のシミュレーション装置１１ｎとの間で相互に信号を入出力することが可能である。但し、本実施の形態においては、全ての入力信号及び出力信号は入出力信号管理装置１２０を介して送受される。すなわち、複数のシミュレーション装置１１ｎ間で直接信号が送受されることはない。シミュレーション装置１１ｎは、全ての入力信号を入出力信号管理装置１２０から受信し、全ての出力信号を入出力信号管理装置１２０に対して送信する。
【００２３】
次に、図５乃至図７を用いて、シミュレーションシステム１００の動作例について説明する。ここで、本例におけるシミュレーションシステム１００は、シミュレーション装置１１１、１１２及び１１３を含むものとする。また、シミュレーション装置１１１、１１２及び１１３は、それぞれ実際の装置１、２及び３のシミュレータであるものとする。
【００２４】
図５を用いて、実際の装置１乃至３の連携動作について説明する。実際の装置１は、入力信号Ｓ１をトリガとして動作を開始し、出力信号Ｓ２を出力する。実際の装置２は、入力信号Ｓ３をトリガとして動作を開始し、出力信号Ｓ４を出力する。そして、実際の装置３は、実際の装置１の出力信号Ｓ２又は実際の装置２の出力信号Ｓ４のうち、早く出力された方を受信して動作を開始するものとする。
【００２５】
シミュレーション装置１１１乃至１１３も同様に連携動作を行う。すなわち、シミュレーション装置１１１は、入力信号Ｓ１をトリガとして動作を開始し、出力信号Ｓ２を出力する。シミュレーション装置１１２は、入力信号Ｓ３をトリガとして動作を開始し、出力信号Ｓ４を出力する。そして、シミュレーション装置１１３は、シミュレーション装置１１１の出力信号Ｓ２又はシミュレーション装置１１２の出力信号Ｓ４のうち、早く出力された方を受信して動作を開始するものとする。
【００２６】
また、本実施の形態における入出力信号管理装置１２０は、２系統の仮想時刻を管理する。すなわち、それぞれ時刻の異なる２つの時計を内蔵する。そして、時計１を用いて、シミュレーション装置１１ｎからの出力信号を受信する処理を行う（後述のステップＳ１０１乃至Ｓ１０４、ステップＳ２０１乃至Ｓ２０４）。一方、時計２を用いて、シミュレーション装置１１ｎに対し入力信号を出力する処理を行う（ステップＳ３０１乃至Ｓ３０２）。時計２は、時計１に対し、一定時間、より具体的には全ての出力信号が出力されるに十分な時間だけ遅れて設定される。これにより、入出力信号管理装置１２０は、すべての出力信号の時間的順序を評価した上で、適切な入力信号を出力することが可能となる。
【００２７】
前処理：
初めに、入出力信号管理装置１２０は、実際の装置１及び２が、入力信号Ｓ１及びＳ３を受信してから、出力信号Ｓ２及びＳ４を出力するまでの処理応答時間ｐ１及びｐ２を所定の記憶領域に格納する。
【００２８】
Ｓ１０１：
シミュレーション装置１１１が、入出力信号管理装置１２０から、時刻ｔ１に入力信号Ｓ１を受信する。
【００２９】
Ｓ１０２：
シミュレーション装置１１１が、応答処理を実行し、入出力信号管理装置１２０に対して出力信号Ｓ２を出力する。
【００３０】
Ｓ１０３：
入出力信号管理装置１２０は、所定の記憶領域から実際の装置における処理応答時間ｐ１を取得する。
【００３１】
Ｓ１０４：
入出力信号管理装置１２０は、時刻ｔ１に処理応答時間ｐ１を加算し、時刻ｖｔ１を求める。入出力信号管理装置１２０は、出力信号Ｓ２を、時刻ｖｔ１に受信したものとして管理する。具体的には、例えば出力信号Ｓ２と時刻ｖｔ１とを対応付けて所定の記憶手段に格納する。
【００３２】
Ｓ２０１：
シミュレーション装置１１２が、入出力信号管理装置１２０から、時刻ｔ２に入力信号Ｓ３を受信する。
【００３３】
Ｓ２０２：
シミュレーション装置１１２が、応答処理を実行し、入出力信号管理装置１２０に対して出力信号Ｓ４を出力する。
【００３４】
Ｓ２０３：
入出力信号管理装置１２０は、所定の記憶領域から処理応答時間ｐ２を取得する。
【００３５】
Ｓ２０４：
入出力信号管理装置１２０は、時刻ｔ２に処理応答時間ｐ２を加算し、時刻ｖｔ２を求める。入出力信号管理装置１２０は、出力信号Ｓ４を、時刻ｖｔ２に受信したものとして管理する。具体的には、例えば出力信号Ｓ４と時刻ｖｔ２とを対応付けて所定の記憶手段に格納する。
【００３６】
Ｓ３０１：
入出力信号管理装置１２０は、シミュレーション装置１１３に対し入力信号を出力する。ここで入出力信号管理装置１２０は、既に受信している出力信号Ｓ２及びＳ４の受信時刻ｖｔ１及びｖｔ２を比較し、早いほうの時刻ｖｔ１に到達した出力信号Ｓ２を、入力信号Ｓ５としてシミュレーション装置１１３に送信する。
【００３７】
Ｓ３０２：
シミュレーション装置１１３が、応答処理を実行し、出力先（入出力信号管理装置１２０や図示しない外部装置など）に対して出力信号Ｓ６を出力する。
【００３８】
ここで、上述のように、入出力信号管理装置１２０は、シミュレーション装置１１３に対し入力信号の出力処理を、時計２において時刻ｖｔ１が到来した時に実行する。時計２は、シミュレーション装置１１１及び１１２からの出力信号の受信を管理する時計１よりも一定時間遅れて設定される。したがって、入出力信号管理装置１２０は、複数の出力信号が出揃った後に、それらが出力された仮想時刻の順序関係を評価して、適切な信号をシミュレーション装置１１３出力することができる。
【００３９】
本実施の形態によれば、入出力信号管理装置１２０は、実際の装置の処理応答時間を用いて、シミュレーション装置１１ｎによる出力信号の出力時刻を計算する。また、入出力信号管理装置１２０は、出力信号の出力順序を仮想時刻上で評価し、適切な入力信号を他のシミュレーション装置１１ｎに出力する。これにより、複数のシミュレーション装置１１ｎ間の信号の入出力を、実際の装置と同様の精度で同期させることができる
【符号の説明】
【００４０】
１００  シミュレーションシステム
１１ｎ  シミュレーション装置
１２０  入出力信号管理装置
【図１】
2018005260.tif 000003
【図２】
2018005260.tif 000004
【図３】
2018005260.tif 000005
【図４】
2018005260.tif 000006
【図５】
2018005260.tif 000007
【図６】
2018005260.tif 000008
【図７】
2018005260.tif 000009