説明

シミュレーション装置

【課題】被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるシミュレーション装置を提供する。
【解決手段】シミュレーション装置20は、制御装置10の制御対象である被制御装置を模擬するものであって、被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬するシミュレーションPLC21と、上記の設定ファイルの内容に基づいて、被制御装置を構成する機器のうち応答速度が基準速度よりも遅い機器を模擬するシミュレーションPC22とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーション装置に関する。
【背景技術】
【0002】
一般的に、シミュレーションシステムは、制御対象を制御する制御装置と、制御装置の制御対象である被制御装置を模擬するシミュレーション装置とを備えており、例えば制御装置が被制御装置を制御するためのプログラム等のデバッグを、実際の被制御装置が無くとも可能とするシステムである。このシミュレーションシステムでは、制御装置からシミュレーション装置に対して出力される指令信号に応じて被制御装置の状態等を示す各種信号がシミュレーション装置から制御装置に出力され、この各種信号に応じた新たな指令信号が制御装置からシミュレーション装置に出力されるといった動作が繰り返されることで上述のデバッグが行われる。
【0003】
ここで、PLC(Programmable Logic Controller)等のシーケンサで用いられるプログラムをデバッグするために用いられるシミュレーション装置としては、以下の(1)〜(3)に示すものが挙げられる。
(1)被制御装置の入出力だけを模擬する簡易なシミュレーション装置
(2)被制御装置毎の専用のシミュレーション装置
(3)汎用性のある市販のシミュレーション装置
【0004】
上記(1)のシミュレーション装置は、ランプやスイッチ等を用いて作成され、作業者がスイッチ等を操作することによって被制御装置の入出力が模擬される極めて安価なものである。上記(2)のシミュレーション装置は、被制御装置の特性に合わせて被制御装置毎に設計・製造される高性能且つ高価なものである。上記(3)のシミュレーション装置は、被制御装置の多くに共通する代表的な機能の模擬が可能な比較的安価なものである。要求される性能やコストに応じて以上の(1)〜(3)に示すシミュレーション装置が適宜選択されて用いられる。
【0005】
以下の特許文献1には、ワークの移動装置やワークに加工を行うロボット等を備える生産設備の制御を行うPLC等のシーケンサで用いられるプログラムのデバッグに用いられるシミュレーション装置が開示されている。以下の特許文献2には、HDD製造装置等の自動組立装置を制御するラダープログラムのデバッグに用いて好適なシミュレーション装置が開示されている。以下の特許文献3には、作業者による誤操作を防止し、デバッグが完了した制御用プログラムを間違いなく制御装置で実行させることができる実行シミュレーション装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−358114号公報
【特許文献2】特開2007−265238号公報
【特許文献3】特許第3846540号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上述した(1)のシミュレーション装置は、作業者がデバッグすべきプログラムに合わせてシミュレーション装置に設けられたスイッチ等を操作する必要がある。操作する必要のあるスイッチ等の数及び回数が少なければ問題が生ずることはないと考えれるが、スイッチ等の数や回数が多いと誤操作が生じやすくなる。また、被制御装置の入出力が作業者の操作によって模擬されるため、短時間で実行される入出力を模擬するには限界がある。このように、上述した(1)のシミュレーション装置は、極めて安価ではあるという利点を有するものの、被制御装置の動作を正確に模擬するのが困難な場合があるという問題がある。
【0008】
また、上述した(2)のシミュレーション装置は、被制御装置の特性に合わせて被制御装置毎に設計・製造されるものであるため、被制御装置の動作を正確に模擬することができるという利点を有する。しかしながら、模擬すべき被制御装置毎にモデルを個別に作成し、作成したモデルに応じてシミュレーション装置を設計・製造しなければならないため、設計・製造に長時間を要するとともに高コストであるという問題がある。
【0009】
上述した(3)のシミュレーション装置は、汎用性を確保するために様々な機能が予め用意されており、上述した(2)のシミュレーション装置ほどのコストを要せずに、被制御装置の動作を正確に模擬することができると考えられる。しかしながら、作業者がその機能を使いこなすことができるまでに時間を要するという問題がある。また、ある程度の汎用性が確保されたものであり、被制御装置のモデルを作成してシミュレーション装置の機能を改変(カスタマイズ)する必要があるため、模擬を行えるようになるまでに時間を要するという問題がある。
【0010】
本発明は、上記事情に鑑みてなされたものであり、被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明のシミュレーション装置は、制御装置(10)の制御対象である被制御装置(30)を模擬するシミュレーション装置(20)において、前記被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイル(F)の内容に基づいて、前記被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬する第1模擬装置(21)と、前記設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が前記基準速度よりも遅い機器を模擬する第2模擬装置(22)とを備えることを特徴としている。
また、本発明のシミュレーション装置は、前記第1,第2模擬装置が、通信線(C3)を介して通信可能に構成されており、前記第1模擬装置が、前記設定ファイルの読み込みを行って模擬すべき機器の設定を行うとともに、前記通信線を介して前記第2模擬装置が模擬すべき機器の設定を指示する読込部(46)を備えることを特徴としている。
また、本発明のシミュレーション装置は、前記設定ファイルが、前記第1模擬装置で模擬される機器を定義する第1ファイル(F1)、及び前記第2模擬装置で模擬される機器を定義する第2ファイル(F2)を含むことを特徴としている。
また、本発明のシミュレーション装置は、前記第1ファイル及び前記第2ファイルが、前記制御装置から出力される指令値に対する前記機器毎の応答特性を定義した表形式のファイルであることを特徴としている。
また、本発明のシミュレーション装置は、前記設定ファイルが、前記被制御装置を構成する機器毎の動作順を規定する第3ファイル(F3)、及び前記被制御装置を構成する機器の動作が正常動作であるか否かの検証に用いられる第4ファイル(F4)を更に含むことを特徴としている。
また、本発明のシミュレーション装置は、前記第3ファイルが、前記被制御装置を構成する機器毎の応答条件と当該応答条件が成立した場合の応答とを示す情報が前記被制御装置の動作順に並べられた表形式のファイルであり、前記第4ファイルが、前記被制御装置を構成する機器毎の状態遷移を示す情報が前記被制御装置の動作順に並べられた表形式のファイルであることを特徴としている。
【発明の効果】
【0012】
本発明によれば、被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、応答速度が予め設定された基準速度よりも速い機器を第1模擬装置により模擬し、応答速度が基準速度よりも遅い機器を第2模擬装置により模擬するようにしているため、被制御装置の模擬が実行可能になるまでに要する時間が短く、且つ、被制御装置を正確に模擬することができるという効果がある。
【図面の簡単な説明】
【0013】
【図1】シミュレーションシステムのハードウェア構成を示すブロック図である。
【図2】本発明の一実施形態によるシミュレーション装置が模擬する被制御装置を示す平面図である。
【図3】本発明の一実施形態によるシミュレーション装置が模擬する被制御装置の一部を詳細に示す平面図である。
【図4】シミュレーションシステムのソフトウェア構成を示すブロック図である。
【図5】初期状態設定ファイルF1の内容の一例を示す図である。
【図6】アクチュエータ設定ファイルF2の内容の一例を示す図である。
【図7】自動シナリオ設定ファイルF3の内容の一例を示す図である。
【図8】動作チェック設定ファイルF4の内容の一例を示す図である。
【図9】本発明のシミュレーションシステムの自動運転時の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の一実施形態によるシミュレーション装置について詳細に説明する。図1は、シミュレーションシステムのハードウェア構成を示すブロック図である。図1に示す通り、シミュレーションシステム1は、制御装置10とシミュレーション装置20とを備えており、制御装置10がシミュレーション装置20を制御することにより、制御装置10の制御対象である被制御装置(図1では図示省略)が無くとも、その被制御装置の制御に用いられるプログラムのデバッグ等を可能とするものである。
【0015】
制御装置10は、操作端末11及び実PLC12を備えており、操作端末11から入力される作業者の指示に応じて実PLC12がプログラム(被制御装置の制御用プログラム)を実行し、そのプログラムに従って不図示の被制御装置を制御する指令信号を出力する。尚、制御装置10に実際の被制御装置が接続されている場合には、制御装置から出力される指令信号に基づいて被制御装置が制御される。これに対し、制御装置10にシミュレーション装置20が接続されてシミュレーションシステム1が実現されている場合には、制御装置10から出力される指令信号に対するシミュレーション装置20からの各種信号に基づいてプログラムのデバッグ等が行われる。
【0016】
操作端末11は、タッチパネルを備える携帯性のある端末装置である。この操作端末11は、実PLC12の制御状況等を示す情報等の各種情報の表示や作業者の指示の入力が可能である。実PLC12は、電源ユニット12a、CPUユニット12b、通信ユニット12c、FL−netユニット12d、及び位置決めユニット12eを備えており、プログラムを実行して上記の指令信号を出力する。この実PLC12は、各種の機能がユニット毎にまとめられており、ユニットの変更や増減を行うことで機能の変更や増減を容易に行うことが可能である。
【0017】
電源ユニット12aは、商用電源(例えば、電圧が100Vの単相交流電源)から供給される交流電力を、実PLC12で必要となる電力(例えば、電圧が5Vの直流電力)に変換し、変換した電力を実PLC12が備える各ユニットに供給する。CPUユニット12bは、上記のプログラムを読み出して実行することにより被制御装置を制御するための指令信号を出力する。このCPUユニット12bには操作端末11が接続されており、CPUユニット12bは、操作端末11からの指示に応じて上記のプログラムの実行・停止、操作端末11に表示すべき情報の出力等を制御する。
【0018】
通信ユニット12cは、イーサネット(登録商標)等で用いられるケーブルC1を介してシミュレーション装置20に設けられたハブ(HUB)23に接続されており、ケーブルC1及びハブ23を介してシミュレーション装置20に設けられたシミュレーションPC22との間で通信を行う。FL−netユニット12dは、ケーブルC2を介してシミュレーション装置20に設けられたシミュレーションPLC21に接続されており、ケーブルC2を介してミュレーションPLC21との間で通信を行う。位置決めユニット12eは、被制御装置に設けられるサーボモータ等の位置決めを行うためのユニットである。
【0019】
尚、上記の通信ユニット12c及びFL−netユニット12dは、実PLC12をシミュレーション装置20に接続するために実PLC12に設けられるユニットである。実PLC12が実際の被制御装置に接続される場合には、これら通信ユニット12c及びFL−netユニット12dは実PLC12から取り外されて、代わりに実PLC12を被制御装置に接続するためのユニット(IOユニット、CC−Link(登録商標)ユニット等)が設けられる。
【0020】
シミュレーション装置20は、シミュレーションPLC21(第1模擬装置)、シミュレーションPC22(第2模擬装置)、及びハブ23を備えており、制御装置10の制御対象である被制御装置を模擬する。ここで、シミュレーション装置20の構成を詳細に説明する前に、シミュレーション装置20が模擬する被制御装置について説明する。図2は、本発明の一実施形態によるシミュレーション装置が模擬する被制御装置を示す平面図である。
【0021】
図2に示す被制御装置30は、部品搬送装置31、部品搬送コンベア32、ロボットアーム33、バッファ34、及び製品搬送コンベア35を備えており、外部から供給される部品及び中間製品をバッファ34に搬送するとともに、これら中間製品と部品とが加工されて得られる完成品を外部に搬出する。また、図2では図示を省略しているが、被制御装置30は、各装置の状態を表示するランプやスイッチを備える操作盤も備えている。
【0022】
部品搬送装置31は、部品供給位置P1に供給される部品を吸着等して部品受取位置P2に搬送する装置である。部品搬送コンベア32は、搬送すべき部品が載置される搬送ステージSTを備えており、この搬送ステージSTを図2中の符号D1を付した方向に往復運動させることにより、部品搬送装置31の部品受取位置P2に配置される部品を順次ロボットアーム33の近傍に搬送する。
【0023】
ロボットアーム33は、部品搬送コンベア32によって搬送されてくる部品、及び製品搬送コンベア35によって搬送されてくる中間製品を把持してバッファ34に搬送する。また、中間製品と部品とが加工されて得られる完成品を外部に搬送すべく、バッファ34に配置された完成品を把持して製品搬送コンベア35に搬送する。バッファ34は、ロボットアーム33によって搬送されてくる部品及び中間製品、並びに完成品が一時的に載置される一時保管場所である。製品搬送コンベア35は、外部から供給される中間製品をロボットアーム33の近傍まで搬送するとともに、ロボットアーム33によって搬送されてくる完成品を外部に搬送する。
【0024】
以上説明した部品搬送装置31〜製品搬送コンベア35のうち、部品搬送コンベア32及び製品搬送コンベア35の動作は制御装置10が備える実PLC12によって直接制御される。これに対し、部品搬送装置31及びロボットアーム33には、実PLC12の管理の下で各々の動作を制御する専用のPLC(図示省略)が設けられている。従って、部品搬送装置31及びロボットアーム33は、各々に設けられたPLCを介して間接的に実PLC12によって制御されることになる。
【0025】
ここで、図2に示す部品搬送装置31、部品搬送コンベア32、ロボットアーム33、及び製品搬送コンベア35の各々には、シリンダやサーボモータ等のアクチュエータが設けられており、これらアクチュエータの動作が実PLC12により直接的又は間接的に制御されることによって各々の装置が動作する。アクチュエータの制御による各装置の動作を全て詳細に説明すると煩雑になるため、以下では部品搬送装置31及び部品搬送コンベア32を例に挙げて説明する。
【0026】
図3は、本発明の一実施形態によるシミュレーション装置が模擬する被制御装置の一部を詳細に示す平面図である。図3に示す通り、被制御装置30が備える部品搬送装置31は、図2中の部品受取位置P2に配置される部品であるワークWを部品搬送コンベア32の搬送ステージSTに搬送する機構として、シリンダ31a及びチャック31bを備える。シリンダ31aは、油圧又は空気圧によって図3中の符号D2を付した方向に伸縮自在に構成されており、チャック31bを搬送ステージSTに対して接近又は後退させる。
【0027】
チャック31は、シリンダ31aの先端に取り付けられており、ワークWを吸引等により保持する。被制御装置30が備える部品搬送コンベア32は、搬送ステージSTを図中の符号D1を付した方向に往復運動させるサーボモータ32aを備える。部品受取位置P2に配置されたワークWは、部品搬送装置31のチャック31bに保持された後に、部品搬送コンベア32の搬送ステージSTに受け渡されて、ロボットアーム33の近傍に搬送される。
【0028】
以上説明した被制御装置30を構成する各装置(機器)は、後述する設定ファイルF(図4参照)によってその特性(制御装置10から出力される指令信号に対する応答特性)が定義されている。シミュレーション装置20は、この設定ファイルFの内容に基づいて、図2,図3を用いて説明した上述の被制御装置30が備える各装置を、シミュレーションPLC21、シミュレーションPC22、及びハブ23により模擬する。
【0029】
シミュレーションPLC21は、電源ユニット21a、CPUユニット21b、FL−netユニット21c、及び通信ユニット21dを備えており、上記の設定ファイルFの内容に基づいて、被制御装置30を構成する装置のうち、応答速度が予め設定された基準速度よりも速い装置を模擬する。例えば、上記の基準速度は1秒に設定されており、シミュレーションPLC21は、応答速度が1秒よりも速いアクチュエータ(例えば、部品搬送装置31が備えるシリンダ31aや部品搬送コンベア32が備えるサーボモータ32a等)を模擬する。尚、詳細は後述するが、シミュレーションPLC21によって模擬されるアクチュエータの設定は、シミュレーションPC22によって行われる。
【0030】
電源ユニット21aは、制御装置10の実PLC12が備える電源ユニット12aと同様に、商用電源(例えば、電圧が100Vの単相交流電源)から供給される交流電力を、シミュレーションPLC21で必要となる電力(例えば、電圧が5Vの直流電力)に変換し、変換した電力をシミュレーションPLC21が備える各ユニットに供給する。CPUユニット21bは、シミュレーションPC22によって設定される内容に従って、上述したシリンダ31aやサーボモータ32a等のアクチュエータを模擬する。
【0031】
FL−netユニット21cは、ケーブルC2を介して制御装置10の実PLC12に接続されており、ケーブルC2を介して実PLC21との間で通信を行う。通信ユニット21dは、イーサネット(登録商標)等で用いられるケーブルC3(通信線)を介してハブ23に接続されており、ケーブルC1及びハブ23を介してシミュレーションPC22との間で通信を行う。ハブ23は、ケーブルC1,C3等を介して実PLC12、シミュレーションPLC21、及びシミュレーションPC22を接続する集線装置である。
【0032】
シミュレーションPC22は、上記の設定ファイルFの内容に基づいて、被制御装置30を構成する装置や機器のうち、応答速度が上述した基準速度よりも遅い装置や機器を模擬する。具体的には、シリンダ31aやサーボモータ32a等のアクチュエータ以外の機器、例えば部品搬送装置31やロボットアーム33を制御する不図示のPLC、各装置の状態を表示するランプ、スイッチ等を模擬する。また、シミュレーションPC22は、上記の設定ファイルFの内容に基づいて、シミュレーションPLC21で模擬される装置や機器の設定も行う。尚、シミュレーションPC22は、CPU(中央処理装置)、メモリ等の内部記憶装置、ハードディスク等の外部記憶装置、キーボード等の入力装置、及び液晶表示装置等のモニタを備えるパーソナルコンピュータにより実現される。
【0033】
次に、シミュレーションシステム1のソフトウェア構成について説明する。図4は、シミュレーションシステムのソフトウェア構成を示すブロック図である。図4に示す通り、操作端末11には、実PLC12との間で通信を行って実PLC12の制御状況等を示す情報等の各種情報を表示するとともに、作業者の指示を入力する表示操作部41がソフトウェア的に実現される。具体的に、表示操作部41は、例えば操作端末11の電源が投入されたときに、操作端末11が備えるハードディスク等の記録媒体から表示操作部41の機能を実現するプログラムが読み出されて実行されることによって実現される。
【0034】
実PLC12には、制御部42と通信部43とがソフトウェア的に実現される。制御部42は、実PLC12に被制御装置30が接続されているときに、プログラム(被制御装置30の制御用プログラム)に従って被制御装置30の制御を行うものである。尚、シミュレーションシステム1では、被制御装置30に代えてシミュレーション装置20が実PLC12に接続されているが、この接続の変更に伴う制御部42の変更は行われない。つまり、制御部42は被制御装置30が実PLC12に接続されているときのものと同じものが用いられる。
【0035】
通信部43は、ケーブルC2を介してシミュレーションPLC21と通信を行うものである。本実施形態では、シミュレーションPLC21とシミュレーションPC22とによって被制御装置30を模擬しているため、実PLC12がシミュレーションPLC21と通信を行うために通信部43が実現される。尚、実PLC12とシミュレーションPC22との通信は、制御部42により実現されるように設定されている。
【0036】
上記の制御部42は、例えば実PLC12の電源が投入されたときに、CPUユニット12bが備えるフラッシュメモリ等の記録媒体から制御部42の機能を実現するプログラムが読み出されて実行されることによって実現される。また、上記の通信部43は、例えばCPUユニット12bが備えるフラッシュメモリ等の記録媒体からFL−ユニット12dを制御するドライバがロードされることによって実現される。
【0037】
シミュレーションPLC21には、アクチュエータ模擬部44と通信部45とがソフトウェア的に実現される。アクチュエータ模擬部44は、図3に示すシリンダ31aやサーボモータ32a等のアクチュエータを模擬するものである。尚、このアクチュエータ模擬部44によって模擬されるアクチュエータの設定は、設定ファイルFの内容に基づいてシミュレーション22によって行われる。通信部45は、ケーブルC2を介して実PLC12と通信を行うものである。
【0038】
上記のアクチュエータ模擬部44は、例えばシミュレーションPLC21の電源が投入されたときに、CPUユニット21bが備えるフラッシュメモリ等の記録媒体からアクチュエータ模擬部44の機能を実現するプログラムが読み出されて実行されることによって実現される。また、上記の通信部45は、例えばCPUユニット21bが備えるフラッシュメモリ等の記録媒体からFL−ユニット21cを制御するドライバがロードされることによって実現される。
【0039】
シミュレーションPC22には、設定ファイル読込部46(読込部)、操作盤模擬部47、自動運転模擬部48、表示部49、及びOPC(OLE for Process Control)サーバ50がソフトウェア的に実現される。設定ファイル読込部46は、シミュレーションPC22が備えるハードディスク等の記録媒体から設定ファイルFを読み出し、その設定ファイルFの内容に応じてシミュレーションPC22で模擬すべき装置や機器の設定を行うとともに、シミュレーションPLC21が模擬すべきアクチュエータの設定を指示する。ここで、設定ファイルFは、模擬すべき被制御装置30を構成する装置や機器毎の特性を示す情報が格納されたファイルである。尚、設定ファイルFの内容の詳細については後述する。
【0040】
操作盤模擬部47は、設定ファイルFの内容に基づいて、ランプやスイッチが設けられる被制御装置30の不図示の操作盤を模擬する。自動運転模擬部48は、設定ファイルFの内容に基づいて、図2に示す被制御装置30で行われる自動運転を模擬する。例えば、図3を用いて説明したワークWの搬送時における、部品搬送装置31のシリンダ31a及びチャック31b、並びに部品搬送コンベア32のサーボモータ32a等の指令信号に対する応答を順次模擬する。また、自動運転模擬部48は、設定ファイルFの内容に基づいて、被制御装置30に設けられる装置や機器が予め設定された順番で動作しているか否か、及び各装置や機器の干渉の有無のチェックも行う。
【0041】
表示部49は、操作盤模擬部47で模擬される操作盤や、図3に示す被制御装置30が備える各種装置や機器の動作状態を表示する。OPCサーバ50は、実PLC12で実現される制御部42、シミュレーションPLC21で実現されるアクチュエータ模擬部44、及びシミュレーションPC22で実現される設定ファイル読込部46〜表示部49のインターフェイスであり、これらの間で行われるデータの送受信を制御する。
【0042】
次に、設定ファイルFについて詳細に説明する。図4に示す通り、設定ファイルFは初期状態設定ファイルF1(第1ファイル)、アクチュエータ設定ファイルF2(第2ファイル)、自動シナリオ設定ファイルF3(第3ファイル)、及び動作チェック設定ファイルF4(第4ファイル)を含んでおり、模擬すべき被制御装置30が備える各種の装置や機器に応じて予め作業者によって作成される。この設定ファイルFは、作業者が自ら被制御装置30のモデルを簡単に作成でき、被制御装置30の模擬が実行可能になるまでに要する時間を短縮するために、表計算ソフト(例えば、マイクロソフト社の表計算ソフト「エクセル」)を用いて作成される表形式のファイルである。
【0043】
初期状態設定ファイルF1は、シミュレーションPC22で模擬する装置又は機器を定義するとともに、模擬すべき被制御装置30の初期状態を設定するファイルである。図5は、初期状態設定ファイルF1の内容の一例を示す図である。図5に示す通り、初期設定ファイルF1は、被制御装置30に設けられた装置や機器(デバイス)を特定するデバイス番号、そのデバイスに関するコメント、及びそのデバイスの初期値が行毎に記述されたファイルである。
【0044】
尚、本実施形態では、説明を簡単にするために、シミュレーションPC22で模擬する装置又は機器の定義、及び設定すべき被制御装置30の初期状態の設定を初期状態設定ファイルF1で行う場合を例に挙げて説明する。しかしながら、被制御装置30の初期状態の設定のみを初期状態設定ファイルF1で行い、シミュレーションPC22で模擬する装置又は機器の定義を初期状態設定ファイルF1以外の設定ファイルで行っても良い。
【0045】
アクチュエータ設定ファイルF2は、シミュレーションPLC21で模擬するアクチュエータの特性を設定するファイルである。このアクチュエータ設定ファイルF2としては、模擬すべきシリンダ、サーボモータ、及びインバータの特性をそれぞれ設定する3つの設定ファイルがある。図6は、アクチュエータ設定ファイルF2の内容の一例を示す図であって、(a)はシリンダに関する設定ファイルであり、(b)はサーボモータに関する設定ファイルであり、(c)はインバータに関する設定ファイルである。
【0046】
図6(a)〜図6(c)に示す通り、シリンダに関する設定ファイル、サーボモータに関する設定ファイル、及びインバータに関する設定ファイルは、何れも模擬すべきシリンダ、サーボモータ、及びインバータの特性が行毎に記述されたファイルである。また、各々の設定ファイルにおいて、シリンダ、サーボモータ、及びインバータの特性は、制御装置10からの指令と、その指令に対するシミュレーション装置の応答としてそれぞれ記述される。
【0047】
具体的に、図6(a)に示すシリンダに関する設定ファイルにおいて、制御装置10からの指令としては、コメント、デバイス番号、及び指令信号の値が記述されている。この指令に対するシリンダの応答としては、センサ番号、その値、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。ここで、チャタリング周期及びチャタリング回数は、シリンダの過渡特性を模擬するためのものである。
【0048】
また、図6(b)に示すサーボモータに関する設定ファイルにおいて、制御装置10からの指令としては、コメント、現在位置アドレス、及びセンサ種類を示す情報が記述されている。この指令に対するサーボモータの応答としては、センサ番号、位置、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。尚、チャタリング周期及びチャタリング回数は、サーボモータの過渡特性を模擬するためのものである。
【0049】
また、図6(c)に示すインバータに関する設定ファイルにおいて、制御装置10からの指令としては、コメント、デバイス番号、及び指令信号の値が記述されている。この指令に対するインバータの応答としては、センサ番号、位置、値、初期値、応答時間、チャタリング周期、及びチャタリング回数が記述されている。ここで、インバータについては、正転指令の場合と逆転指令との場合とで特性が異なる場合があるため、その特性が各々の場合で定義されている。尚、上記のシリンダ及びサーボモータと同様に、インバータについても、過渡特性を模擬するチャタリング周期及びチャタリング回数の記述が可能である。
【0050】
自動シナリオ設定ファイルF3は、模擬すべき被制御装置30を構成する装置や機器毎の動作順を規定するファイルである。この自動シナリオ設定ファイルF3としては、周辺装置I/F設定ファイルとセンサ動作条件設定ファイルとの2つの設定ファイルがある。図7は、自動シナリオ設定ファイルF3の内容の一例を示す図であって、(a)は周辺装置I/F設定ファイルであり、(b)はセンサ動作条件設定ファイルである。
【0051】
図7(a)に示す通り、周辺装置I/F設定ファイルは、被制御装置30の自動運転が行われる順に、被制御装置30が備える装置又は機器の応答条件とその応答条件が成立した場合におけるシミュレーション装置の応答とが行毎に記述されたファイルである。応答条件としては、デバイス番号、コメント、値等が記述されている。この応答条件が成立した場合におけるシミュレーション装置の応答としては、デバイス番号、コメント、値、応答時間が記述されている。尚、被制御装置30は、複数の装置が連動して動作することがあるため、1つの応答条件に対してシミュレーション装置の応答を複数記述することが可能である。
【0052】
また、図7(b)に示す通り、センサ動作条件設定ファイルは、被制御装置30の自動運転が行われる順に、被制御装置30が備えるセンサの応答条件とその応答条件が成立した場合におけるシミュレーション装置の応答とが行毎に記述されたファイルである。応答条件としては、デバイス番号、コメント、値等が記述されている。この応答条件が成立した場合におけるシミュレーション装置の応答としては、デバイス番号、コメント、値、応答時間が記述されている。
【0053】
動作チェック設定ファイルF4は、被制御装置30に設けられる装置や機器が正常に動作しているか否かを確認するチェック内容が記述されたファイルである。この動作チェック設定ファイルF4としては、動作順序チェックファイルと干渉チェックファイルとの2つのチェックファイルがある。図8は、動作チェック設定ファイルF4の内容の一例を示す図であって、(a)は動作順序チェックファイルであり、(b)は干渉チェックファイルである。
【0054】
図8(a)に示す通り、動作順序チェックファイルは、被制御装置30の自動運転が行われる順に、被制御装置30が備える装置又は機器のデバイス番号、コメント、及び状態遷移を示す情報が並べられて記述されたファイルである。図8(b)に示す通り、干渉チェックファイルは、被制御装置30が備える装置又は機器の機械干渉が生ずる条件が記述されたファイルである。干渉条件としては、機械干渉が予想される複数の装置等のうちの少なくとも1つの装置等の状態と他の1つの装置等の動作とが対になって記述される。尚、機械干渉は、組み合わせの異なる複数の装置間で生じ得るため、干渉チェックファイルに複数の干渉条件を記述することが可能である。
【0055】
次に、上記構成におけるシミュレーションシステム1の動作について説明する。被制御装置(例えば、図3に示す被制御装置30)の制御用プログラムのデバッグを行うために、まず図1に示すシミュレーションシステム1をなす各装置の電源投入が行われる。図1に示す制御装置10をなす操作端末11及び実PLC12の電源が投入されると、操作端末11及び実PLC12が備える記録媒体から所定のプログラムが読み出されて実行されることにより、図4に示す表示制御部41が操作端末11に実現され、図4に示す制御部42及び通信部43が実PLC12に実現される。
【0056】
また、図1に示すシミュレーション装置20をなすシミュレーションPLC21の電源が投入されると、CPUユニット21bが備える記録媒体から所定のプログラムが読み出されて実行されることにより、図4に示すアクチュエータ模擬部44及び通信部45がシミュレーションPLC21に実現される。更に、シミュレーション装置20をなすシミュレーションPC22が備える記録媒体から所定のプログラムが読み出されて実行されることにより、図4に示す設定ファイル読込部46〜OPCサーバ50がシミュレーションPC22に実現される。
【0057】
以上の処理が終了すると、シミュレーションPC22の設定ファイル読込部46によって図4に示す設定ファイルF(初期状態設定ファイルF1〜動作チェック設定ファイルF4)が読み出される。そして、その設定ファイルFの内容に基づいて、シミュレーションPC22で模擬すべき装置や機器の各種設定が設定ファイル読込部46によって行われる。
【0058】
具体的には、まず初期状態設定ファイルF1及びアクチュエータ設定ファイルF2が設定ファイル読込部46によって読み出され、その内容に応じて、シミュレーションPLC21が模擬すべきアクチュエータの設定の指示(初期状態の設定指示を含む)、及びシミュレーションPC22で模擬すべき機器の設定が設定ファイル読込部46によって行われる。次いで、自動シナリオ設定ファイルF3及び動作チェック設定ファイルF4が設定ファイル読み込み部46によって読み出され、自動運転模擬部48で模擬すべき自動運転の初期設定が行われる。
【0059】
以上の処理が終了すると、シミュレーション装置20で被制御装置30の模擬が可能な状態になる。かかる状態で作業者が操作端末11を操作してプログラム(被制御装置30の制御用プログラム)の実行指示を行うと、その指示は実PLC12のCPUユニット12bに入力される。すると、実PLC12でプログラムの実行が開始され、これによりシミュレーションシステム1によるデバッグが開始される。
【0060】
プログラムに従って実PLC12がアクチュエータの制御を行う場合には、アクチュエータを制御する指令信号が実PLC12からケーブルC2を介してシミュレーションPLC21に入力される。シミュレーションPLC21は、図6に示すアクチュエータ設定ファイルF2の内容に基づき、実PLC12から送信されてきた指令信号に応じた応答信号を返信する。このようにしてアクチュエータの模擬が行われる。
【0061】
これに対し、プログラムに従って実PLC12がアクチュエータ以外の装置(例えば部品搬送装置31やロボットアーム33を制御する不図示のPLC)の模擬を行う場合には、その装置を制御する指令信号が実PLC12からケーブルC1を介してシミュレーションPC22に入力される。シミュレーションPC22は、初期状態設定ファイルF1等の内容に基づき、実PLC12から送信されてきた指令信号に応じた応答信号を返信する。このようにしてアクチュエータ以外の装置の模擬が行われる。
【0062】
次に、自動運転が行われる場合の動作について説明する。尚、以下では、説明を簡単にするために、図3に示す部品搬送装置31及び部品搬送コンベア32によって、部品受取位置P2に配置されたワークWをロボットアーム33の近傍に搬送する場合の動作について説明する。図9は、本発明のシミュレーションシステムの自動運転時の動作の一例を示すフローチャートである。尚、初期状態においては、部品搬送装置31のシリンダ31aが収縮しており、ワークWがチャック31bに保持されているとする。また、部品搬送コンベア32の搬送ステージSTは、シリンダ31aの軸の延長線上に配置されているとする。
【0063】
部品搬送装置31及び部品搬送コンベア32が以上の初期状態にある場合には、実PLC12からは、部品搬送装置31の動作を制御する不図示のPLCに対してワークWを搬送ステージSTに受け渡す旨を示す指令信号が出力される。この指令信号は、ケーブルC1を介してシミュレーションPC22に入力され、ミュレーションPC22によって部品搬送装置31の動作が模擬される。
【0064】
具体的には、シミュレーションPC22の自動運転模擬部48が、図7に示す自動シナリオ設定ファイルF3の内容に従って、まず部品搬送装置31のシリンダ31aを伸長させる(ステップS11)。これにより、ワークWを保持しているチャック31bが、シリンダ31aの軸の延長線上の原点位置に位置する搬送ステージSTに接近する動作が模擬される。次に、自動運転模擬部48は、図7に示す自動シナリオ設定ファイルF3の内容に従って、チャック31bを開状態にする(ステップS12)。これにより、チャック31bに保持されたワークWが部品搬送コンベア32の搬送ステージST上に受け渡される動作が模擬される。
【0065】
ワークWの受け渡しが終了すると、自動運転模擬部48は、図7に示す自動シナリオ設定ファイルF3の内容に従って、部品搬送装置31のシリンダ31aを収縮させ(ステップS13)、次いで部品搬送コンベア32のサーボモータ32bを駆動する(ステップS14)。これにより、搬送ステージST上に受け渡されたワークWがロボットアーム33に向けて搬送される動作が模擬される。
【0066】
搬送ステージSTによってワークWが搬送されている間、自動運転模擬部48は、搬送ステージSTがロボットアーム33の近傍の所定位置に至ったか否か(ワークWの搬送が完了したか否か)を判断している(ステップS15)。搬送が完了していないと判断した場合(判断結果が「NO」の場合)にはステップS15の判断を繰り返す。これに対し、搬送が完了したと判断した場合(判断結果が「YES」の場合)には、自動運転模擬部48は、図7に示す自動シナリオ設定ファイルF3の内容に従って、部品搬送コンベア32のサーボモータ32bを駆動する。これにより、搬送ステージSTを原点位置に戻す動作が模擬される(ステップS16)。
【0067】
ここで、以上の自動運転が行われている間、自動運転模擬部48は、図8に示す動作チェック設定ファイルF4の内容に従って、シリンダ31a、チャック31b、及びサーボモータ32aが予め設定された動作順通りに動作しているか否か、及びシリンダ31a、チャック31b、及び搬送テーブルTBの機械干渉の有無をチェックしている。かかるチェックを行うことによって、動作順序の誤りや機械干渉が生じた部分を容易に特定できるため、デバッグに要する時間を短縮することができる。
【0068】
以上説明した通り、本実施形態では、設定ファイルFの内容に基づいて、被制御装置30を構成する機器のうち応答速度が予め設定された基準速度よりも速いアクチュエータ等の機器をシミュレーションPLC21で模擬し、上記の基準速度よりも遅い機器をシミュレーションPC22で模擬しており、過渡応答を模擬することができるため、被制御装置30の模擬を正確に行うことができる。また、上記の設定ファイルFは、作業者が自ら被制御装置30のモデルを簡単に作成できる表形式のファイルであるため、被制御装置30の模擬が実行可能になるまでに要する時間を短縮することができる。
【0069】
以上、本発明の一実施形態によるシミュレーション装置について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、制御装置10とシミュレーション装置20とが2種類のネットワーク(イーサネット(登録商標)及びFL−net)によって接続される例について説明したが、1種類のネットワークで接続される構成であっても良い。また、設定ファイルFの記述方法は、図5〜図8に例示するものに限らず、被制御対象に合わせた記述方法を用いることができる。つまり、設定ファイルFは、表形式で記述されていさえすれば、その記述方法は任意の方法を用いることができる。
【符号の説明】
【0070】
10 制御装置
20 シミュレーション装置
21 シミュレーションPLC
22 シミュレーションPC
30 被制御装置
46 設定ファイル読込部
C3 ケーブル
F 設定ファイル
F1 初期状態設定ファイル
F2 アクチュエータ設定ファイル
F3 自動シナリオ設定ファイル
F4 動作チェック設定ファイル

【特許請求の範囲】
【請求項1】
制御装置の制御対象である被制御装置を模擬するシミュレーション装置において、
前記被制御装置を構成する機器毎の特性を示す情報が格納された設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が予め設定された基準速度よりも速い機器を模擬する第1模擬装置と、
前記設定ファイルの内容に基づいて、前記被制御装置を構成する機器のうち応答速度が前記基準速度よりも遅い機器を模擬する第2模擬装置と
を備えることを特徴とするシミュレーション装置。
【請求項2】
前記第1,第2模擬装置は、通信線を介して通信可能に構成されており、
前記第1模擬装置は、前記設定ファイルの読み込みを行って模擬すべき機器の設定を行うとともに、前記通信線を介して前記第2模擬装置が模擬すべき機器の設定を指示する読込部を備えることを特徴とする請求項1記載のシミュレーション装置。
【請求項3】
前記設定ファイルは、前記第1模擬装置で模擬される機器を定義する第1ファイル、及び前記第2模擬装置で模擬される機器を定義する第2ファイルを含むことを特徴とする請求項2記載のシミュレーション装置。
【請求項4】
前記第1ファイル及び前記第2ファイルは、前記制御装置から出力される指令値に対する前記機器毎の応答特性を定義した表形式のファイルであることを特徴とする請求項3記載のシミュレーション装置。
【請求項5】
前記設定ファイルは、前記被制御装置を構成する機器毎の動作順を規定する第3ファイル、及び前記被制御装置を構成する機器の動作が正常動作であるか否かの検証に用いられる第4ファイルを更に含むことを特徴とする請求項3又は請求項4記載のシミュレーション装置。
【請求項6】
前記第3ファイルは、前記被制御装置を構成する機器毎の応答条件と当該応答条件が成立した場合の応答とを示す情報が前記被制御装置の動作順に並べられた表形式のファイルであり、
前記第4ファイルは、前記被制御装置を構成する機器毎の状態遷移を示す情報が前記被制御装置の動作順に並べられた表形式のファイルである
ことを特徴とする請求項5記載のシミュレーション装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−3489(P2012−3489A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−137452(P2010−137452)
【出願日】平成22年6月16日(2010.6.16)
【出願人】(000000099)株式会社IHI (5,014)
【Fターム(参考)】