(57)【要約】【課題】被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるシミュレーション装置を提供する。【解決手段】シミュレーション装置２０は、制御装置１０の制御対象である被制御装置を模擬するものであって、被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬するシミュレーションＰＬＣ２１と、上記の設定ファイルの内容に基づいて、被制御装置を構成する機器のうち応答速度が基準速度よりも遅い機器を模擬するシミュレーションＰＣ２２とを備える。【選択図】図１
2012003489.tif 000002
【特許請求の範囲】
【請求項１】
制御装置の制御対象である被制御装置を模擬するシミュレーション装置において、
前記被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬する第１模擬装置と、
前記設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が前記基準速度よりも遅い機器を模擬する第２模擬装置と
を備えることを特徴とするシミュレーション装置。
【請求項２】
前記第１，第２模擬装置は、通信線を介して通信可能に構成されており、
前記第１模擬装置は、前記設定ファイルの読み込みを行って模擬すべき機器の設定を行うとともに、前記通信線を介して前記第２模擬装置が模擬すべき機器の設定を指示する読込部を備えることを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
前記設定ファイルは、前記第１模擬装置で模擬される機器を定義する第１ファイル、及び前記第２模擬装置で模擬される機器を定義する第２ファイルを含むことを特徴とする請求項２記載のシミュレーション装置。
【請求項４】
前記第１ファイル及び前記第２ファイルは、前記制御装置から出力される指令値に対する前記機器毎の応答特性を定義した表形式のファイルであることを特徴とする請求項３記載のシミュレーション装置。
【請求項５】
前記設定ファイルは、前記被制御装置を構成する機器毎の動作順を規定する第３ファイル、及び前記被制御装置を構成する機器の動作が正常動作であるか否かの検証に用いられる第４ファイルを更に含むことを特徴とする請求項３又は請求項４記載のシミュレーション装置。
【請求項６】
前記第３ファイルは、前記被制御装置を構成する機器毎の応答条件と当該応答条件が成立した場合の応答とを示す情報が前記被制御装置の動作順に並べられた表形式のファイルであり、
前記第４ファイルは、前記被制御装置を構成する機器毎の状態遷移を示す情報が前記被制御装置の動作順に並べられた表形式のファイルである
ことを特徴とする請求項５記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置に関する。
【背景技術】
【０００２】
一般的に、シミュレーションシステムは、制御対象を制御する制御装置と、制御装置の制御対象である被制御装置を模擬するシミュレーション装置とを備えており、例えば制御装置が被制御装置を制御するためのプログラム等のデバッグを、実際の被制御装置が無くとも可能とするシステムである。このシミュレーションシステムでは、制御装置からシミュレーション装置に対して出力される指令信号に応じて被制御装置の状態等を示す各種信号がシミュレーション装置から制御装置に出力され、この各種信号に応じた新たな指令信号が制御装置からシミュレーション装置に出力されるといった動作が繰り返されることで上述のデバッグが行われる。
【０００３】
ここで、ＰＬＣ（Programmable Logic Controller）等のシーケンサで用いられるプログラムをデバッグするために用いられるシミュレーション装置としては、以下の（１）〜（３）に示すものが挙げられる。
（１）被制御装置の入出力だけを模擬する簡易なシミュレーション装置
（２）被制御装置毎の専用のシミュレーション装置
（３）汎用性のある市販のシミュレーション装置
【０００４】
上記（１）のシミュレーション装置は、ランプやスイッチ等を用いて作成され、作業者がスイッチ等を操作することによって被制御装置の入出力が模擬される極めて安価なものである。上記（２）のシミュレーション装置は、被制御装置の特性に合わせて被制御装置毎に設計・製造される高性能且つ高価なものである。上記（３）のシミュレーション装置は、被制御装置の多くに共通する代表的な機能の模擬が可能な比較的安価なものである。要求される性能やコストに応じて以上の（１）〜（３）に示すシミュレーション装置が適宜選択されて用いられる。
【０００５】
以下の特許文献１には、ワークの移動装置やワークに加工を行うロボット等を備える生産設備の制御を行うＰＬＣ等のシーケンサで用いられるプログラムのデバッグに用いられるシミュレーション装置が開示されている。以下の特許文献２には、ＨＤＤ製造装置等の自動組立装置を制御するラダープログラムのデバッグに用いて好適なシミュレーション装置が開示されている。以下の特許文献３には、作業者による誤操作を防止し、デバッグが完了した制御用プログラムを間違いなく制御装置で実行させることができる実行シミュレーション装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３５８１１４号公報
【特許文献２】特開２００７−２６５２３８号公報
【特許文献３】特許第３８４６５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述した（１）のシミュレーション装置は、作業者がデバッグすべきプログラムに合わせてシミュレーション装置に設けられたスイッチ等を操作する必要がある。操作する必要のあるスイッチ等の数及び回数が少なければ問題が生ずることはないと考えれるが、スイッチ等の数や回数が多いと誤操作が生じやすくなる。また、被制御装置の入出力が作業者の操作によって模擬されるため、短時間で実行される入出力を模擬するには限界がある。このように、上述した（１）のシミュレーション装置は、極めて安価ではあるという利点を有するものの、被制御装置の動作を正確に模擬するのが困難な場合があるという問題がある。
【０００８】
また、上述した（２）のシミュレーション装置は、被制御装置の特性に合わせて被制御装置毎に設計・製造されるものであるため、被制御装置の動作を正確に模擬することができるという利点を有する。しかしながら、模擬すべき被制御装置毎にモデルを個別に作成し、作成したモデルに応じてシミュレーション装置を設計・製造しなければならないため、設計・製造に長時間を要するとともに高コストであるという問題がある。
【０００９】
上述した（３）のシミュレーション装置は、汎用性を確保するために様々な機能が予め用意されており、上述した（２）のシミュレーション装置ほどのコストを要せずに、被制御装置の動作を正確に模擬することができると考えられる。しかしながら、作業者がその機能を使いこなすことができるまでに時間を要するという問題がある。また、ある程度の汎用性が確保されたものであり、被制御装置のモデルを作成してシミュレーション装置の機能を改変（カスタマイズ）する必要があるため、模擬を行えるようになるまでに時間を要するという問題がある。
【００１０】
本発明は、上記事情に鑑みてなされたものであり、被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のシミュレーション装置は、制御装置(１０）の制御対象である被制御装置（３０）を模擬するシミュレーション装置（２０）において、前記被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイル（Ｆ）の内容に基づいて、前記被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬する第１模擬装置（２１）と、前記設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が前記基準速度よりも遅い機器を模擬する第２模擬装置（２２）とを備えることを特徴としている。
また、本発明のシミュレーション装置は、前記第１，第２模擬装置が、通信線（Ｃ３）を介して通信可能に構成されており、前記第１模擬装置が、前記設定ファイルの読み込みを行って模擬すべき機器の設定を行うとともに、前記通信線を介して前記第２模擬装置が模擬すべき機器の設定を指示する読込部（４６）を備えることを特徴としている。
また、本発明のシミュレーション装置は、前記設定ファイルが、前記第１模擬装置で模擬される機器を定義する第１ファイル（Ｆ１）、及び前記第２模擬装置で模擬される機器を定義する第２ファイル（Ｆ２）を含むことを特徴としている。
また、本発明のシミュレーション装置は、前記第１ファイル及び前記第２ファイルが、前記制御装置から出力される指令値に対する前記機器毎の応答特性を定義した表形式のファイルであることを特徴としている。
また、本発明のシミュレーション装置は、前記設定ファイルが、前記被制御装置を構成する機器毎の動作順を規定する第３ファイル（Ｆ３）、及び前記被制御装置を構成する機器の動作が正常動作であるか否かの検証に用いられる第４ファイル（Ｆ４）を更に含むことを特徴としている。
また、本発明のシミュレーション装置は、前記第３ファイルが、前記被制御装置を構成する機器毎の応答条件と当該応答条件が成立した場合の応答とを示す情報が前記被制御装置の動作順に並べられた表形式のファイルであり、前記第４ファイルが、前記被制御装置を構成する機器毎の状態遷移を示す情報が前記被制御装置の動作順に並べられた表形式のファイルであることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、応答速度が予め設定された基準速度よりも速い機器を第１模擬装置により模擬し、応答速度が基準速度よりも遅い機器を第２模擬装置により模擬するようにしているため、被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】シミュレーションシステムのハードウェア構成を示すブロック図である。
【図２】本発明の一実施形態によるシミュレーション装置が模擬する被制御装置を示す平面図である。
【図３】本発明の一実施形態によるシミュレーション装置が模擬する被制御装置の一部を詳細に示す平面図である。
【図４】シミュレーションシステムのソフトウェア構成を示すブロック図である。
【図５】初期状態設定ファイルＦ１の内容の一例を示す図である。
【図６】アクチュエータ設定ファイルＦ２の内容の一例を示す図である。
【図７】自動シナリオ設定ファイルＦ３の内容の一例を示す図である。
【図８】動作チェック設定ファイルＦ４の内容の一例を示す図である。
【図９】本発明のシミュレーションシステムの自動運転時の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の一実施形態によるシミュレーション装置について詳細に説明する。図１は、シミュレーションシステムのハードウェア構成を示すブロック図である。図１に示す通り、シミュレーションシステム１は、制御装置１０とシミュレーション装置２０とを備えており、制御装置１０がシミュレーション装置２０を制御することにより、制御装置１０の制御対象である被制御装置（図１では図示省略）が無くとも、その被制御装置の制御に用いられるプログラムのデバッグ等を可能とするものである。
【００１５】
制御装置１０は、操作端末１１及び実ＰＬＣ１２を備えており、操作端末１１から入力される作業者の指示に応じて実ＰＬＣ１２がプログラム（被制御装置の制御用プログラム）を実行し、そのプログラムに従って不図示の被制御装置を制御する指令信号を出力する。尚、制御装置１０に実際の被制御装置が接続されている場合には、制御装置から出力される指令信号に基づいて被制御装置が制御される。これに対し、制御装置１０にシミュレーション装置２０が接続されてシミュレーションシステム１が実現されている場合には、制御装置１０から出力される指令信号に対するシミュレーション装置２０からの各種信号に基づいてプログラムのデバッグ等が行われる。
【００１６】
操作端末１１は、タッチパネルを備える携帯性のある端末装置である。この操作端末１１は、実ＰＬＣ１２の制御状況等を示す情報等の各種情報の表示や作業者の指示の入力が可能である。実ＰＬＣ１２は、電源ユニット１２ａ、ＣＰＵユニット１２ｂ、通信ユニット１２ｃ、ＦＬ−ｎｅｔユニット１２ｄ、及び位置決めユニット１２ｅを備えており、プログラムを実行して上記の指令信号を出力する。この実ＰＬＣ１２は、各種の機能がユニット毎にまとめられており、ユニットの変更や増減を行うことで機能の変更や増減を容易に行うことが可能である。
【００１７】
電源ユニット１２ａは、商用電源（例えば、電圧が１００Ｖの単相交流電源）から供給される交流電力を、実ＰＬＣ１２で必要となる電力（例えば、電圧が５Ｖの直流電力）に変換し、変換した電力を実ＰＬＣ１２が備える各ユニットに供給する。ＣＰＵユニット１２ｂは、上記のプログラムを読み出して実行することにより被制御装置を制御するための指令信号を出力する。このＣＰＵユニット１２ｂには操作端末１１が接続されており、ＣＰＵユニット１２ｂは、操作端末１１からの指示に応じて上記のプログラムの実行・停止、操作端末１１に表示すべき情報の出力等を制御する。
【００１８】
通信ユニット１２ｃは、イーサネット（登録商標）等で用いられるケーブルＣ１を介してシミュレーション装置２０に設けられたハブ（ＨＵＢ）２３に接続されており、ケーブルＣ１及びハブ２３を介してシミュレーション装置２０に設けられたシミュレーションＰＣ２２との間で通信を行う。ＦＬ−ｎｅｔユニット１２ｄは、ケーブルＣ２を介してシミュレーション装置２０に設けられたシミュレーションＰＬＣ２１に接続されており、ケーブルＣ２を介してミュレーションＰＬＣ２１との間で通信を行う。位置決めユニット１２ｅは、被制御装置に設けられるサーボモータ等の位置決めを行うためのユニットである。
【００１９】
尚、上記の通信ユニット１２ｃ及びＦＬ−ｎｅｔユニット１２ｄは、実ＰＬＣ１２をシミュレーション装置２０に接続するために実ＰＬＣ１２に設けられるユニットである。実ＰＬＣ１２が実際の被制御装置に接続される場合には、これら通信ユニット１２ｃ及びＦＬ−ｎｅｔユニット１２ｄは実ＰＬＣ１２から取り外されて、代わりに実ＰＬＣ１２を被制御装置に接続するためのユニット（ＩＯユニット、ＣＣ−Ｌｉｎｋ（登録商標）ユニット等）が設けられる。
【００２０】
シミュレーション装置２０は、シミュレーションＰＬＣ２１（第１模擬装置）、シミュレーションＰＣ２２（第２模擬装置）、及びハブ２３を備えており、制御装置１０の制御対象である被制御装置を模擬する。ここで、シミュレーション装置２０の構成を詳細に説明する前に、シミュレーション装置２０が模擬する被制御装置について説明する。図２は、本発明の一実施形態によるシミュレーション装置が模擬する被制御装置を示す平面図である。
【００２１】
図２に示す被制御装置３０は、部品搬送装置３１、部品搬送コンベア３２、ロボットアーム３３、バッファ３４、及び製品搬送コンベア３５を備えており、外部から供給される部品及び中間製品をバッファ３４に搬送するとともに、これら中間製品と部品とが加工されて得られる完成品を外部に搬出する。また、図２では図示を省略しているが、被制御装置３０は、各装置の状態を表示するランプやスイッチを備える操作盤も備えている。
【００２２】
部品搬送装置３１は、部品供給位置Ｐ１に供給される部品を吸着等して部品受取位置Ｐ２に搬送する装置である。部品搬送コンベア３２は、搬送すべき部品が載置される搬送ステージＳＴを備えており、この搬送ステージＳＴを図２中の符号Ｄ１を付した方向に往復運動させることにより、部品搬送装置３１の部品受取位置Ｐ２に配置される部品を順次ロボットアーム３３の近傍に搬送する。
【００２３】
ロボットアーム３３は、部品搬送コンベア３２によって搬送されてくる部品、及び製品搬送コンベア３５によって搬送されてくる中間製品を把持してバッファ３４に搬送する。また、中間製品と部品とが加工されて得られる完成品を外部に搬送すべく、バッファ３４に配置された完成品を把持して製品搬送コンベア３５に搬送する。バッファ３４は、ロボットアーム３３によって搬送されてくる部品及び中間製品、並びに完成品が一時的に載置される一時保管場所である。製品搬送コンベア３５は、外部から供給される中間製品をロボットアーム３３の近傍まで搬送するとともに、ロボットアーム３３によって搬送されてくる完成品を外部に搬送する。
【００２４】
以上説明した部品搬送装置３１〜製品搬送コンベア３５のうち、部品搬送コンベア３２及び製品搬送コンベア３５の動作は制御装置１０が備える実ＰＬＣ１２によって直接制御される。これに対し、部品搬送装置３１及びロボットアーム３３には、実ＰＬＣ１２の管理の下で各々の動作を制御する専用のＰＬＣ（図示省略）が設けられている。従って、部品搬送装置３１及びロボットアーム３３は、各々に設けられたＰＬＣを介して間接的に実ＰＬＣ１２によって制御されることになる。
【００２５】
ここで、図２に示す部品搬送装置３１、部品搬送コンベア３２、ロボットアーム３３、及び製品搬送コンベア３５の各々には、シリンダやサーボモータ等のアクチュエータが設けられており、これらアクチュエータの動作が実ＰＬＣ１２により直接的又は間接的に制御されることによって各々の装置が動作する。アクチュエータの制御による各装置の動作を全て詳細に説明すると煩雑になるため、以下では部品搬送装置３１及び部品搬送コンベア３２を例に挙げて説明する。
【００２６】
図３は、本発明の一実施形態によるシミュレーション装置が模擬する被制御装置の一部を詳細に示す平面図である。図３に示す通り、被制御装置３０が備える部品搬送装置３１は、図２中の部品受取位置Ｐ２に配置される部品であるワークＷを部品搬送コンベア３２の搬送ステージＳＴに搬送する機構として、シリンダ３１ａ及びチャック３１ｂを備える。シリンダ３１ａは、油圧又は空気圧によって図３中の符号Ｄ２を付した方向に伸縮自在に構成されており、チャック３１ｂを搬送ステージＳＴに対して接近又は後退させる。
【００２７】
チャック３１は、シリンダ３１ａの先端に取り付けられており、ワークＷを吸引等により保持する。被制御装置３０が備える部品搬送コンベア３２は、搬送ステージＳＴを図中の符号Ｄ１を付した方向に往復運動させるサーボモータ３２ａを備える。部品受取位置Ｐ２に配置されたワークＷは、部品搬送装置３１のチャック３１ｂに保持された後に、部品搬送コンベア３２の搬送ステージＳＴに受け渡されて、ロボットアーム３３の近傍に搬送される。
【００２８】
以上説明した被制御装置３０を構成する各装置（機器）は、後述する設定ファイルＦ（図４参照）によってその特性（制御装置１０から出力される指令信号に対する応答特性）が定義されている。シミュレーション装置２０は、この設定ファイルＦの内容に基づいて、図２，図３を用いて説明した上述の被制御装置３０が備える各装置を、シミュレーションＰＬＣ２１、シミュレーションＰＣ２２、及びハブ２３により模擬する。
【００２９】
シミュレーションＰＬＣ２１は、電源ユニット２１ａ、ＣＰＵユニット２１ｂ、ＦＬ−ｎｅｔユニット２１ｃ、及び通信ユニット２１ｄを備えており、上記の設定ファイルＦの内容に基づいて、被制御装置３０を構成する装置のうち、応答速度が予め設定された基準速度よりも速い装置を模擬する。例えば、上記の基準速度は１秒に設定されており、シミュレーションＰＬＣ２１は、応答速度が１秒よりも速いアクチュエータ（例えば、部品搬送装置３１が備えるシリンダ３１ａや部品搬送コンベア３２が備えるサーボモータ３２ａ等）を模擬する。尚、詳細は後述するが、シミュレーションＰＬＣ２１によって模擬されるアクチュエータの設定は、シミュレーションＰＣ２２によって行われる。
【００３０】
電源ユニット２１ａは、制御装置１０の実ＰＬＣ１２が備える電源ユニット１２ａと同様に、商用電源（例えば、電圧が１００Ｖの単相交流電源）から供給される交流電力を、シミュレーションＰＬＣ２１で必要となる電力（例えば、電圧が５Ｖの直流電力）に変換し、変換した電力をシミュレーションＰＬＣ２１が備える各ユニットに供給する。ＣＰＵユニット２１ｂは、シミュレーションＰＣ２２によって設定される内容に従って、上述したシリンダ３１ａやサーボモータ３２ａ等のアクチュエータを模擬する。
【００３１】
ＦＬ−ｎｅｔユニット２１ｃは、ケーブルＣ２を介して制御装置１０の実ＰＬＣ１２に接続されており、ケーブルＣ２を介して実ＰＬＣ２１との間で通信を行う。通信ユニット２１ｄは、イーサネット（登録商標）等で用いられるケーブルＣ３（通信線）を介してハブ２３に接続されており、ケーブルＣ１及びハブ２３を介してシミュレーションＰＣ２２との間で通信を行う。ハブ２３は、ケーブルＣ１，Ｃ３等を介して実ＰＬＣ１２、シミュレーションＰＬＣ２１、及びシミュレーションＰＣ２２を接続する集線装置である。
【００３２】
シミュレーションＰＣ２２は、上記の設定ファイルＦの内容に基づいて、被制御装置３０を構成する装置や機器のうち、応答速度が上述した基準速度よりも遅い装置や機器を模擬する。具体的には、シリンダ３１ａやサーボモータ３２ａ等のアクチュエータ以外の機器、例えば部品搬送装置３１やロボットアーム３３を制御する不図示のＰＬＣ、各装置の状態を表示するランプ、スイッチ等を模擬する。また、シミュレーションＰＣ２２は、上記の設定ファイルＦの内容に基づいて、シミュレーションＰＬＣ２１で模擬される装置や機器の設定も行う。尚、シミュレーションＰＣ２２は、ＣＰＵ（中央処理装置）、メモリ等の内部記憶装置、ハードディスク等の外部記憶装置、キーボード等の入力装置、及び液晶表示装置等のモニタを備えるパーソナルコンピュータにより実現される。
【００３３】
次に、シミュレーションシステム１のソフトウェア構成について説明する。図４は、シミュレーションシステムのソフトウェア構成を示すブロック図である。図４に示す通り、操作端末１１には、実ＰＬＣ１２との間で通信を行って実ＰＬＣ１２の制御状況等を示す情報等の各種情報を表示するとともに、作業者の指示を入力する表示操作部４１がソフトウェア的に実現される。具体的に、表示操作部４１は、例えば操作端末１１の電源が投入されたときに、操作端末１１が備えるハードディスク等の記録媒体から表示操作部４１の機能を実現するプログラムが読み出されて実行されることによって実現される。
【００３４】
実ＰＬＣ１２には、制御部４２と通信部４３とがソフトウェア的に実現される。制御部４２は、実ＰＬＣ１２に被制御装置３０が接続されているときに、プログラム（被制御装置３０の制御用プログラム）に従って被制御装置３０の制御を行うものである。尚、シミュレーションシステム１では、被制御装置３０に代えてシミュレーション装置２０が実ＰＬＣ１２に接続されているが、この接続の変更に伴う制御部４２の変更は行われない。つまり、制御部４２は被制御装置３０が実ＰＬＣ１２に接続されているときのものと同じものが用いられる。
【００３５】
通信部４３は、ケーブルＣ２を介してシミュレーションＰＬＣ２１と通信を行うものである。本実施形態では、シミュレーションＰＬＣ２１とシミュレーションＰＣ２２とによって被制御装置３０を模擬しているため、実ＰＬＣ１２がシミュレーションＰＬＣ２１と通信を行うために通信部４３が実現される。尚、実ＰＬＣ１２とシミュレーションＰＣ２２との通信は、制御部４２により実現されるように設定されている。
【００３６】
上記の制御部４２は、例えば実ＰＬＣ１２の電源が投入されたときに、ＣＰＵユニット１２ｂが備えるフラッシュメモリ等の記録媒体から制御部４２の機能を実現するプログラムが読み出されて実行されることによって実現される。また、上記の通信部４３は、例えばＣＰＵユニット１２ｂが備えるフラッシュメモリ等の記録媒体からＦＬ−ユニット１２ｄを制御するドライバがロードされることによって実現される。
【００３７】
シミュレーションＰＬＣ２１には、アクチュエータ模擬部４４と通信部４５とがソフトウェア的に実現される。アクチュエータ模擬部４４は、図３に示すシリンダ３１ａやサーボモータ３２ａ等のアクチュエータを模擬するものである。尚、このアクチュエータ模擬部４４によって模擬されるアクチュエータの設定は、設定ファイルＦの内容に基づいてシミュレーション２２によって行われる。通信部４５は、ケーブルＣ２を介して実ＰＬＣ１２と通信を行うものである。
【００３８】
上記のアクチュエータ模擬部４４は、例えばシミュレーションＰＬＣ２１の電源が投入されたときに、ＣＰＵユニット２１ｂが備えるフラッシュメモリ等の記録媒体からアクチュエータ模擬部４４の機能を実現するプログラムが読み出されて実行されることによって実現される。また、上記の通信部４５は、例えばＣＰＵユニット２１ｂが備えるフラッシュメモリ等の記録媒体からＦＬ−ユニット２１ｃを制御するドライバがロードされることによって実現される。
【００３９】
シミュレーションＰＣ２２には、設定ファイル読込部４６（読込部）、操作盤模擬部４７、自動運転模擬部４８、表示部４９、及びＯＰＣ（OLE for Process Control）サーバ５０がソフトウェア的に実現される。設定ファイル読込部４６は、シミュレーションＰＣ２２が備えるハードディスク等の記録媒体から設定ファイルＦを読み出し、その設定ファイルＦの内容に応じてシミュレーションＰＣ２２で模擬すべき装置や機器の設定を行うとともに、シミュレーションＰＬＣ２１が模擬すべきアクチュエータの設定を指示する。ここで、設定ファイルＦは、模擬すべき被制御装置３０を構成する装置や機器毎の特性を示す情報が格納されたファイルである。尚、設定ファイルＦの内容の詳細については後述する。
【００４０】
操作盤模擬部４７は、設定ファイルＦの内容に基づいて、ランプやスイッチが設けられる被制御装置３０の不図示の操作盤を模擬する。自動運転模擬部４８は、設定ファイルＦの内容に基づいて、図２に示す被制御装置３０で行われる自動運転を模擬する。例えば、図３を用いて説明したワークＷの搬送時における、部品搬送装置３１のシリンダ３１ａ及びチャック３１ｂ、並びに部品搬送コンベア３２のサーボモータ３２ａ等の指令信号に対する応答を順次模擬する。また、自動運転模擬部４８は、設定ファイルＦの内容に基づいて、被制御装置３０に設けられる装置や機器が予め設定された順番で動作しているか否か、及び各装置や機器の干渉の有無のチェックも行う。
【００４１】
表示部４９は、操作盤模擬部４７で模擬される操作盤や、図３に示す被制御装置３０が備える各種装置や機器の動作状態を表示する。ＯＰＣサーバ５０は、実ＰＬＣ１２で実現される制御部４２、シミュレーションＰＬＣ２１で実現されるアクチュエータ模擬部４４、及びシミュレーションＰＣ２２で実現される設定ファイル読込部４６〜表示部４９のインターフェイスであり、これらの間で行われるデータの送受信を制御する。
【００４２】
次に、設定ファイルＦについて詳細に説明する。図４に示す通り、設定ファイルＦは初期状態設定ファイルＦ１（第１ファイル）、アクチュエータ設定ファイルＦ２（第２ファイル）、自動シナリオ設定ファイルＦ３（第３ファイル）、及び動作チェック設定ファイルＦ４（第４ファイル）を含んでおり、模擬すべき被制御装置３０が備える各種の装置や機器に応じて予め作業者によって作成される。この設定ファイルＦは、作業者が自ら被制御装置３０のモデルを簡単に作成でき、被制御装置３０の模擬が実行可能になるまでに要する時間を短縮するために、表計算ソフト（例えば、マイクロソフト社の表計算ソフト「エクセル」）を用いて作成される表形式のファイルである。
【００４３】
初期状態設定ファイルＦ１は、シミュレーションＰＣ２２で模擬する装置又は機器を定義するとともに、模擬すべき被制御装置３０の初期状態を設定するファイルである。図５は、初期状態設定ファイルＦ１の内容の一例を示す図である。図５に示す通り、初期設定ファイルＦ１は、被制御装置３０に設けられた装置や機器（デバイス）を特定するデバイス番号、そのデバイスに関するコメント、及びそのデバイスの初期値が行毎に記述されたファイルである。
【００４４】
尚、本実施形態では、説明を簡単にするために、シミュレーションＰＣ２２で模擬する装置又は機器の定義、及び設定すべき被制御装置３０の初期状態の設定を初期状態設定ファイルＦ１で行う場合を例に挙げて説明する。しかしながら、被制御装置３０の初期状態の設定のみを初期状態設定ファイルＦ１で行い、シミュレーションＰＣ２２で模擬する装置又は機器の定義を初期状態設定ファイルＦ１以外の設定ファイルで行っても良い。
【００４５】
アクチュエータ設定ファイルＦ２は、シミュレーションＰＬＣ２１で模擬するアクチュエータの特性を設定するファイルである。このアクチュエータ設定ファイルＦ２としては、模擬すべきシリンダ、サーボモータ、及びインバータの特性をそれぞれ設定する３つの設定ファイルがある。図６は、アクチュエータ設定ファイルＦ２の内容の一例を示す図であって、（ａ）はシリンダに関する設定ファイルであり、（ｂ）はサーボモータに関する設定ファイルであり、（ｃ）はインバータに関する設定ファイルである。
【００４６】
図６（ａ）〜図６（ｃ）に示す通り、シリンダに関する設定ファイル、サーボモータに関する設定ファイル、及びインバータに関する設定ファイルは、何れも模擬すべきシリンダ、サーボモータ、及びインバータの特性が行毎に記述されたファイルである。また、各々の設定ファイルにおいて、シリンダ、サーボモータ、及びインバータの特性は、制御装置１０からの指令と、その指令に対するシミュレーション装置の応答としてそれぞれ記述される。
【００４７】
具体的に、図６（ａ）に示すシリンダに関する設定ファイルにおいて、制御装置１０からの指令としては、コメント、デバイス番号、及び指令信号の値が記述されている。この指令に対するシリンダの応答としては、センサ番号、その値、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。ここで、チャタリング周期及びチャタリング回数は、シリンダの過渡特性を模擬するためのものである。
【００４８】
また、図６（ｂ）に示すサーボモータに関する設定ファイルにおいて、制御装置１０からの指令としては、コメント、現在位置アドレス、及びセンサ種類を示す情報が記述されている。この指令に対するサーボモータの応答としては、センサ番号、位置、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。尚、チャタリング周期及びチャタリング回数は、サーボモータの過渡特性を模擬するためのものである。
【００４９】
また、図６（ｃ）に示すインバータに関する設定ファイルにおいて、制御装置１０からの指令としては、コメント、デバイス番号、及び指令信号の値が記述されている。この指令に対するインバータの応答としては、センサ番号、位置、値、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。ここで、インバータについては、正転指令の場合と逆転指令との場合とで特性が異なる場合があるため、その特性が各々の場合で定義されている。尚、上記のシリンダ及びサーボモータと同様に、インバータについても、過渡特性を模擬するチャタリング周期及びチャタリング回数の記述が可能である。
【００５０】
自動シナリオ設定ファイルＦ３は、模擬すべき被制御装置３０を構成する装置や機器毎の動作順を規定するファイルである。この自動シナリオ設定ファイルＦ３としては、周辺装置Ｉ／Ｆ設定ファイルとセンサ動作条件設定ファイルとの２つの設定ファイルがある。図７は、自動シナリオ設定ファイルＦ３の内容の一例を示す図であって、（ａ）は周辺装置Ｉ／Ｆ設定ファイルであり、（ｂ）はセンサ動作条件設定ファイルである。
【００５１】
図７（ａ）に示す通り、周辺装置Ｉ／Ｆ設定ファイルは、被制御装置３０の自動運転が行われる順に、被制御装置３０が備える装置又は機器の応答条件とその応答条件が成立した場合におけるシミュレーション装置の応答とが行毎に記述されたファイルである。応答条件としては、デバイス番号、コメント、値等が記述されている。この応答条件が成立した場合におけるシミュレーション装置の応答としては、デバイス番号、コメント、値、応答時間が記述されている。尚、被制御装置３０は、複数の装置が連動して動作することがあるため、１つの応答条件に対してシミュレーション装置の応答を複数記述することが可能である。
【００５２】
また、図７（ｂ）に示す通り、センサ動作条件設定ファイルは、被制御装置３０の自動運転が行われる順に、被制御装置３０が備えるセンサの応答条件とその応答条件が成立した場合におけるシミュレーション装置の応答とが行毎に記述されたファイルである。応答条件としては、デバイス番号、コメント、値等が記述されている。この応答条件が成立した場合におけるシミュレーション装置の応答としては、デバイス番号、コメント、値、応答時間が記述されている。
【００５３】
動作チェック設定ファイルＦ４は、被制御装置３０に設けられる装置や機器が正常に動作しているか否かを確認するチェック内容が記述されたファイルである。この動作チェック設定ファイルＦ４としては、動作順序チェックファイルと干渉チェックファイルとの２つのチェックファイルがある。図８は、動作チェック設定ファイルＦ４の内容の一例を示す図であって、（ａ）は動作順序チェックファイルであり、（ｂ）は干渉チェックファイルである。
【００５４】
図８（ａ）に示す通り、動作順序チェックファイルは、被制御装置３０の自動運転が行われる順に、被制御装置３０が備える装置又は機器のデバイス番号、コメント、及び状態遷移を示す情報が並べられて記述されたファイルである。図８（ｂ）に示す通り、干渉チェックファイルは、被制御装置３０が備える装置又は機器の機械干渉が生ずる条件が記述されたファイルである。干渉条件としては、機械干渉が予想される複数の装置等のうちの少なくとも１つの装置等の状態と他の１つの装置等の動作とが対になって記述される。尚、機械干渉は、組み合わせの異なる複数の装置間で生じ得るため、干渉チェックファイルに複数の干渉条件を記述することが可能である。
【００５５】
次に、上記構成におけるシミュレーションシステム１の動作について説明する。被制御装置（例えば、図３に示す被制御装置３０）の制御用プログラムのデバッグを行うために、まず図１に示すシミュレーションシステム１をなす各装置の電源投入が行われる。図１に示す制御装置１０をなす操作端末１１及び実ＰＬＣ１２の電源が投入されると、操作端末１１及び実ＰＬＣ１２が備える記録媒体から所定のプログラムが読み出されて実行されることにより、図４に示す表示制御部４１が操作端末１１に実現され、図４に示す制御部４２及び通信部４３が実ＰＬＣ１２に実現される。
【００５６】
また、図１に示すシミュレーション装置２０をなすシミュレーションＰＬＣ２１の電源が投入されると、ＣＰＵユニット２１ｂが備える記録媒体から所定のプログラムが読み出されて実行されることにより、図４に示すアクチュエータ模擬部４４及び通信部４５がシミュレーションＰＬＣ２１に実現される。更に、シミュレーション装置２０をなすシミュレーションＰＣ２２が備える記録媒体から所定のプログラムが読み出されて実行されることにより、図４に示す設定ファイル読込部４６〜ＯＰＣサーバ５０がシミュレーションＰＣ２２に実現される。
【００５７】
以上の処理が終了すると、シミュレーションＰＣ２２の設定ファイル読込部４６によって図４に示す設定ファイルＦ（初期状態設定ファイルＦ１〜動作チェック設定ファイルＦ４）が読み出される。そして、その設定ファイルＦの内容に基づいて、シミュレーションＰＣ２２で模擬すべき装置や機器の各種設定が設定ファイル読込部４６によって行われる。
【００５８】
具体的には、まず初期状態設定ファイルＦ１及びアクチュエータ設定ファイルＦ２が設定ファイル読込部４６によって読み出され、その内容に応じて、シミュレーションＰＬＣ２１が模擬すべきアクチュエータの設定の指示（初期状態の設定指示を含む）、及びシミュレーションＰＣ２２で模擬すべき機器の設定が設定ファイル読込部４６によって行われる。次いで、自動シナリオ設定ファイルＦ３及び動作チェック設定ファイルＦ４が設定ファイル読み込み部４６によって読み出され、自動運転模擬部４８で模擬すべき自動運転の初期設定が行われる。
【００５９】
以上の処理が終了すると、シミュレーション装置２０で被制御装置３０の模擬が可能な状態になる。かかる状態で作業者が操作端末１１を操作してプログラム（被制御装置３０の制御用プログラム）の実行指示を行うと、その指示は実ＰＬＣ１２のＣＰＵユニット１２ｂに入力される。すると、実ＰＬＣ１２でプログラムの実行が開始され、これによりシミュレーションシステム１によるデバッグが開始される。
【００６０】
プログラムに従って実ＰＬＣ１２がアクチュエータの制御を行う場合には、アクチュエータを制御する指令信号が実ＰＬＣ１２からケーブルＣ２を介してシミュレーションＰＬＣ２１に入力される。シミュレーションＰＬＣ２１は、図６に示すアクチュエータ設定ファイルＦ２の内容に基づき、実ＰＬＣ１２から送信されてきた指令信号に応じた応答信号を返信する。このようにしてアクチュエータの模擬が行われる。
【００６１】
これに対し、プログラムに従って実ＰＬＣ１２がアクチュエータ以外の装置（例えば部品搬送装置３１やロボットアーム３３を制御する不図示のＰＬＣ）の模擬を行う場合には、その装置を制御する指令信号が実ＰＬＣ１２からケーブルＣ１を介してシミュレーションＰＣ２２に入力される。シミュレーションＰＣ２２は、初期状態設定ファイルＦ１等の内容に基づき、実ＰＬＣ１２から送信されてきた指令信号に応じた応答信号を返信する。このようにしてアクチュエータ以外の装置の模擬が行われる。
【００６２】
次に、自動運転が行われる場合の動作について説明する。尚、以下では、説明を簡単にするために、図３に示す部品搬送装置３１及び部品搬送コンベア３２によって、部品受取位置Ｐ２に配置されたワークＷをロボットアーム３３の近傍に搬送する場合の動作について説明する。図９は、本発明のシミュレーションシステムの自動運転時の動作の一例を示すフローチャートである。尚、初期状態においては、部品搬送装置３１のシリンダ３１ａが収縮しており、ワークＷがチャック３１ｂに保持されているとする。また、部品搬送コンベア３２の搬送ステージＳＴは、シリンダ３１ａの軸の延長線上に配置されているとする。
【００６３】
部品搬送装置３１及び部品搬送コンベア３２が以上の初期状態にある場合には、実ＰＬＣ１２からは、部品搬送装置３１の動作を制御する不図示のＰＬＣに対してワークＷを搬送ステージＳＴに受け渡す旨を示す指令信号が出力される。この指令信号は、ケーブルＣ１を介してシミュレーションＰＣ２２に入力され、ミュレーションＰＣ２２によって部品搬送装置３１の動作が模擬される。
【００６４】
具体的には、シミュレーションＰＣ２２の自動運転模擬部４８が、図７に示す自動シナリオ設定ファイルＦ３の内容に従って、まず部品搬送装置３１のシリンダ３１ａを伸長させる（ステップＳ１１）。これにより、ワークＷを保持しているチャック３１ｂが、シリンダ３１ａの軸の延長線上の原点位置に位置する搬送ステージＳＴに接近する動作が模擬される。次に、自動運転模擬部４８は、図７に示す自動シナリオ設定ファイルＦ３の内容に従って、チャック３１ｂを開状態にする（ステップＳ１２）。これにより、チャック３１ｂに保持されたワークＷが部品搬送コンベア３２の搬送ステージＳＴ上に受け渡される動作が模擬される。
【００６５】
ワークＷの受け渡しが終了すると、自動運転模擬部４８は、図７に示す自動シナリオ設定ファイルＦ３の内容に従って、部品搬送装置３１のシリンダ３１ａを収縮させ（ステップＳ１３）、次いで部品搬送コンベア３２のサーボモータ３２ｂを駆動する（ステップＳ１４）。これにより、搬送ステージＳＴ上に受け渡されたワークＷがロボットアーム３３に向けて搬送される動作が模擬される。
【００６６】
搬送ステージＳＴによってワークＷが搬送されている間、自動運転模擬部４８は、搬送ステージＳＴがロボットアーム３３の近傍の所定位置に至ったか否か（ワークＷの搬送が完了したか否か）を判断している（ステップＳ１５）。搬送が完了していないと判断した場合（判断結果が「ＮＯ」の場合）にはステップＳ１５の判断を繰り返す。これに対し、搬送が完了したと判断した場合（判断結果が「ＹＥＳ」の場合）には、自動運転模擬部４８は、図７に示す自動シナリオ設定ファイルＦ３の内容に従って、部品搬送コンベア３２のサーボモータ３２ｂを駆動する。これにより、搬送ステージＳＴを原点位置に戻す動作が模擬される（ステップＳ１６）。
【００６７】
ここで、以上の自動運転が行われている間、自動運転模擬部４８は、図８に示す動作チェック設定ファイルＦ４の内容に従って、シリンダ３１ａ、チャック３１ｂ、及びサーボモータ３２ａが予め設定された動作順通りに動作しているか否か、及びシリンダ３１ａ、チャック３１ｂ、及び搬送テーブルＴＢの機械干渉の有無をチェックしている。かかるチェックを行うことによって、動作順序の誤りや機械干渉が生じた部分を容易に特定できるため、デバッグに要する時間を短縮することができる。
【００６８】
以上説明した通り、本実施形態では、設定ファイルＦの内容に基づいて、被制御装置３０を構成する機器のうち応答速度が予め設定された基準速度よりも速いアクチュエータ等の機器をシミュレーションＰＬＣ２１で模擬し、上記の基準速度よりも遅い機器をシミュレーションＰＣ２２で模擬しており、過渡応答を模擬することができるため、被制御装置３０の模擬を正確に行うことができる。また、上記の設定ファイルＦは、作業者が自ら被制御装置３０のモデルを簡単に作成できる表形式のファイルであるため、被制御装置３０の模擬が実行可能になるまでに要する時間を短縮することができる。
【００６９】
以上、本発明の一実施形態によるシミュレーション装置について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、制御装置１０とシミュレーション装置２０とが２種類のネットワーク（イーサネット（登録商標）及びＦＬ−ｎｅｔ）によって接続される例について説明したが、１種類のネットワークで接続される構成であっても良い。また、設定ファイルＦの記述方法は、図５〜図８に例示するものに限らず、被制御対象に合わせた記述方法を用いることができる。つまり、設定ファイルＦは、表形式で記述されていさえすれば、その記述方法は任意の方法を用いることができる。
【符号の説明】
【００７０】
１０    制御装置
２０    シミュレーション装置
２１    シミュレーションＰＬＣ
２２    シミュレーションＰＣ
３０    被制御装置
４６    設定ファイル読込部
Ｃ３    ケーブル
Ｆ      設定ファイル
Ｆ１    初期状態設定ファイル
Ｆ２    アクチュエータ設定ファイル
Ｆ３    自動シナリオ設定ファイル
Ｆ４    動作チェック設定ファイル
【図１】
2012003489.tif 000003
【図２】
2012003489.tif 000004
【図３】
2012003489.tif 000005
【図４】
2012003489.tif 000006
【図５】
2012003489.tif 000007
【図６】
2012003489.tif 000008
【図７】
2012003489.tif 000009
【図８】
2012003489.tif 000010
【図９】
2012003489.tif 000011