(57)【要約】【課題】  搬送装置を自動制御するための制御装置から直接制御信号を入力し、この制御信号に基づいてシミュレーションを実行できるシミュレーション装置を提供する。【解決手段】  制御装置２からの制御信号を入力するとともに、当該制御信号をシミュレーション実行部５０が認識できる信号に変換する制御信号入力変換部１１０と、シミュレーション実行部５０によって実行される装置モデルの動作を監視し、制御装置２からの制御信号を変更する必要のある動作状態を検出する仮想検出部１２０と、この仮想検出部１２０から出力された検出信号を制御装置２に出力する検出信号出力部１３０とを備える。【選択図】      図１
2005202737.tif 000002
【特許請求の範囲】
【請求項１】
制御装置からの制御信号により自動制御される搬送装置をシミュレーション対象として、当該搬送装置の各種動作をシミュレーションするシミュレーション装置において、
シミュレーション対象となる搬送装置に対応した仮想の装置モデルを生成し、この装置モデルによるシミュレーション動作を実行するシミュレーション実行部と、
前記制御装置からの制御信号を入力するとともに、当該制御信号を前記シミュレーション実行部が認識できる信号に変換する制御信号入力変換部と、
前記シミュレーション実行部によって実行される前記装置モデルの動作を監視し、前記制御装置からの制御信号を変更する必要のある動作状態を検出する仮想検出部と、
この仮想検出部から出力された検出信号を前記制御装置に出力する検出信号出力部と、
を備えたことを特徴とするシミュレーション装置。
【請求項２】
前記制御装置から入力される制御信号の変更を監視する制御信号監視部を備え、
前記制御信号入力変換部は、前記制御信号監視部が制御信号の変更を検出したとき、当該変更された制御信号を前記シミュレーション実行部により実行される前記装置モデルの動作タイミングに同期して、前記シミュレーション実行部へ入力する構成であることを特徴とする請求項１のシミュレーション装置。
【請求項３】
前記制御装置から入力される制御信号と同等の制御信号を格納する制御信号格納部と、
この制御信号格納部から任意の制御信号を選択して前記シミュレーション実行部へ入力する制御信号直接入力手段と、を備えたことを特徴とする請求項１又は２のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ワーク（製品）や包材の搬送装置を自動制御する制御装置や制御部に格納された制御プログラムを検証するためのシミュレーション装置に関する。
【背景技術】
【０００２】
包装システム等に組み込まれているワーク（製品）や包材の搬送装置は、エレベータと称する昇降機、プッシャと称する押出し機、コンベヤ、吸着搬送ベルトなど、複数の装置要素の組合せをもって構成されている。各装置要素は、例えば、プログラマブルコントローラ（以下、ＰＬＣと称する）の制御下でシーケンス動作する。
一般に、このような搬送装置のシステム設計は、機械技術者と電気技術者とが連係して行っている。例えば、機械技術者が設計した機械仕様や動作仕様に基づいて、両技術者が情報交換を行い制御仕様が決定され、電気技術者はその制御仕様に基づき制御プログラムを設計する。
【０００３】
電気技術者が製作した制御プログラムには、バグが存在することがあり、よって正常な制御を実現するまでには、繰り返しのデバック作業が欠かせない。このデバック作業を容易化するために、従来から種々のシミュレーション装置が開発されており、本出願人も先に特許文献１に記載のシミュレータを提案している。
【０００４】
しかしながら、本出願人が先に提案した特許文献１記載のシミュレータは、シミュレータの内部に制御ロジック格納メモリを備え、当該メモリに格納された制御プラグラムを読み出してシミュレーションを続行する構成であったので、制御プログラムの検証が終了した後、制御ロジック格納メモリから搬送装置の制御装置（実機）へ、当該制御プログラムを移し替える作業が必要なため煩雑であった。
しかも、実際の制御装置に搭載された制御回路の配線ミス等は、上記従来のシミュレータでは見つけることができず、よって検証済みの制御プログラムを制御装置へ移し替えても、正常に動作しないおそれがあった。
【０００５】
一方、特許文献２には、入出力Ｉ／Ｏポートを経由してシミュレーション装置に直接制御装置（実機）を接続し、制御装置からの制御信号をシミュレーション装置へ入力してシミュレーションを実行する着想が開示されているものの、その具体的構成はきわめて曖昧であり、特にシミュレーション装置で実行される仮想装置の動作と制御装置が行う制御動作との間のマッチングについては、何ら記載されていない。よって、かかる特許文献２に記載のシミュレーション装置は、実現性に乏しいと言わざるを得ないものであった。
【特許文献１】特開２００２−６８４１６号公報
【特許文献２】特開平７−３６５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述した事情に鑑みてなされたもので、搬送装置を自動制御するための制御装置から直接制御信号を入力し、この制御信号に基づいてシミュレーションを実行できるシミュレーション装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、制御装置からの制御信号により自動制御される搬送装置をシミュレーション対象として、当該搬送装置の各種動作をシミュレーションするシミュレーション装置において、
シミュレーション対象となる搬送装置に対応した仮想の装置モデルを生成し、この装置モデルによるシミュレーション動作を実行するシミュレーション実行部と、
制御装置からの制御信号を入力するとともに、当該制御信号をシミュレーション実行部が認識できる信号に変換する制御信号入力変換部と、
シミュレーション実行部によって実行される装置モデルの動作を監視し、制御装置からの制御信号を変更する必要のある動作状態を検出する仮想検出部と、
この仮想検出部から出力された検出信号を制御装置に出力する検出信号出力部と、
を備えたことを特徴とする。
【０００８】
上記構成の本発明によれば、制御信号入力変換部を経由して制御装置から制御信号を直接入力し、この制御信号に基づいてシミュレーション実行部にて仮想の装置モデルのシミュレーション動作が実行される。
そして、仮想の装置モデルが、制御信号を変更する必要のある動作状態となった場合には、これを仮想検出部が検出し、検出信号を出力する。この検出信号は、検出信号出力部から制御装置へ送られる。制御装置は、当該検出信号に基づいて、仮想装置モデルの動作状態に対応した制御信号を変更出力する。
これにより、シミュレーション装置で実行される仮想装置の動作と制御装置が行う制御動作との間のマッチングが図られ、現実の搬送装置を制御する場合と同様に、装置要素の動作状態に応じた制御信号の出力が可能となる。
【０００９】
ここで、本発明は、制御装置から入力される制御信号の変更を監視する制御信号監視部を備えた構成とすることが好ましい。制御信号入力変換部は、この制御信号監視部が制御信号の変更を検出したとき、当該変更された制御信号をシミュレーション実行部により実行される装置モデルの動作タイミングに同期して、シミュレーション実行部へ入力する構成とする。
【００１０】
シミュレーション実行部は、例えば、Ｃ言語やＢＡＳＩＣ言語で作成されたシミュレーションプログラムにしたがって仮想装置モデルのシミュレーションを実行する。一般に、シミュレーション制御においては、装置の動作タイミングと制御信号の変更とが同期している。そこで、シミュレーション装置におけるシミュレーションの実行に際しても、仮想装置モデルの動作タイミングと制御信号の変更とを同期させることが、より現実に近いシミュレーションを実行する上で好ましい。上記のように本発明を構成することで、仮想装置モデルの動作タイミングと制御信号の変更とを同期させることができ、より現実に近いシミュレーションの実行が可能となる。
【００１１】
また、本発明は、制御装置から入力される制御信号と同等の制御信号を格納する制御信号格納部と、
この制御信号格納部から任意の制御信号を選択してシミュレーション実行部へ入力する制御信号直接入力手段と、を備えた構成とすることもできる。
【００１２】
この構成により、制御信号直接入力手段から適当な制御信号をシミュレーション実行部へ送って、仮想装置モデルに所望のシミュレーション動作を個別的に実行させることもでき、いっそう多面的な検証が可能となる。
【発明の効果】
【００１３】
本発明によれば、搬送装置を自動制御するための制御装置から直接制御信号を入力し、この制御信号に基づいてシミュレーションが実行できるので、効率的に制御プログラムのデバック作業が行えるとともに、制御装置に搭載された制御回路の配線ミス等も検出することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態について図面を参照して詳細に説明する。
〔シミュレーション装置の全体構成〕
本実施形態のシミュレーション装置は、例えば、各種プログラムを内蔵したコンピュータにより構成され、これらのプログラムは下記の各種機能部の機能を奏するものとなっている。なお、コンピュータは、シミュレーションに係る演算や論理判断を行う中央処理装置、データ格納用の記憶装置、画像や文字を表示する表示装置またはプリンタ、オペレータによるデータ入力などに供されるキーボード、マウスなどの入力装置を有している。
【００１５】
図１に示すように、シミュレーション装置は、シミュレーションに必要なデータを外部から入力または編集（以下、単に入力という）するためのデータ入力部１０と、入力データを格納するデータ格納メモリ２０と、格納データからシミュレーションに使用するデータを適宜選択したりシミュレーション条件（例えば、シミュレーション実行速度や疑似イベントの発生（例えば、任意のワークの停止）に関する条件）を設定するためのシミュレーション制御入力部３０と、データやシミュレーション条件などを記憶するシミュレーション制御条件格納メモリ４０とを備えている。
【００１６】
さらに、シミュレーション装置は、シミュレーションを実施するシミュレーション実行部５０と、シミュレーション結果を表すデータを格納するシミュレーション結果格納メモリ６０と、シミュレーション結果データに基づきシミュレーション結果を記録、表示するシミュレーション結果確認部７０とを備えている。
【００１７】
加えて、本実施形態のシミュレーション装置は、シミュレーション対象となる搬送装置１を自動制御する制御装置２からの制御信号を入力するとともに、その制御信号をシミュレーション実行部５０が認識できる信号に変換する制御信号入力変換部１１０と、シミュレーション実行部５０によって実行される装置モデルの動作を監視し、制御装置２からの制御信号を変更する必要のある動作状態を検出する仮想検出部１２０と、この仮想検出部１２０から出力された検出信号を制御装置２に出力する検出信号出力部１３０とを備えている。
【００１８】
さらに、本実施形態のシミュレーション装置は、制御装置から出力される制御信号の変更を監視する制御信号監視部１５０と、制御装置から出力される制御信号と同等の制御信号を格納する制御信号格納部１６０と、この制御信号格納部から任意の制御信号を選択してシミュレーション実行部へ入力する制御信号直接入力手段１７０と、制御信号入力切替部１８０とを備えている。
【００１９】
〔シミュレーション装置の各部構成〕
以下、シミュレーション装置の上記各部の構成について詳述する。
データ入力部１０は、搬送装置１を構成する各装置要素の形状寸法等を表すモデルデータを入力する装置モデル入力部１１と、各装置要素の挙動（動作仕様）を表す挙動データを入力する挙動入力部１２とから構成される。
【００２０】
装置モデル入力部１１には、典型的な装置モデルやこれを構成する装置要素モデルがライブラリに予め登録され、また、機械仕様データに従って作成された装置モデルや装置要素モデルの形状寸法がライブラリに登録されている。
【００２１】
装置モデル入力部１１は、図２に例示する装置モデル入力ルーチンを実行する。この装置モデル入力ルーチンにおいて、装置モデル入力部１１は、コンピュータの画像装置（例えば、ＣＲＴ）の画面上に、装置モデルや装置要素モデルのライブラリとともに、装置種類の選択を促すメッセージを表示する。この選択要求に対して、オペレータは、図面やこれに基づいて作成された機械仕様書を参照しつつ、画面に表示されたライブラリから、シミュレーション対象の搬送装置１を構成する装置要素のうちの所要の一つをマウス操作などにより選択する（ステップＳ１）。また、選択したい装置モデルがライブラリに登録されていない場合には、ライブラリの装置要素モデルを組み合わせるなどして装置モデルを新たに生成し、この新たな装置モデルをライブラリに登録するとともに、装置種類として選択する。
【００２２】
このようにして装置の種類が選択されると、装置モデル入力部１１は、装置の形状寸法の入力を要求するメッセージを画面表示するとともに、これと併せて、ライブラリに登録済みの装置モデルデータに基づいて作成され且つ設定項目毎に数値を記述してなる表や、ライブラリに登録済みの装置モデルデータから生成した３Ｄ画像を画面表示する。また、形状寸法データがすでに入力済みである場合には、データ編集の要否を問うメッセージとともに、既存データを記述した表や３Ｄ画像が画面表示される。上記形状寸法データの入力要求は、選択された装置を構成する装置要素の全てについて順次発せられる。
【００２３】
そして、形状寸法の入力・編集要求に応じて、オペレータがキーボードやマウスを操作し、装置および装置要素についての形状寸法データの入力あるいは編集（ステップＳ２）を完了すると、装置モデル入力部１１は、選択された装置の基本仕様の入力を要求するメッセージを、仕様入力用の表とともに画面表示する。この仕様入力要求は、選択された装置を構成する装置要素の全てについて順次発せられる。
ここで、基本仕様は、主に装置可動部に関して設定されるものであって、ストローク長、速度、動作時間、初期位置などの設定項目を含む。また、入力済みの基本仕様データがある場合にはデータ編集の要否を問うメッセージと既存データを記述した仕様編集用の表を画面表示する。
【００２４】
次に、基本仕様の入力または編集作業（ステップＳ３）が終了すると、装置モデル入力部１１は、この装置に係る入力データに基づいて、装置の３Ｄモデルを画面表示する（ステップＳ４）。３Ｄモデルでは、装置および装置内にあるセンサやワークなどが表現される。このように、モデル形状はモデルビュア（画面）上に３次元の編集可能に表示される。オペレータは、必要に応じてマウス操作を行うことにより、ダイレクトな装置要素モデルの指定や属性を修正したり、装置オブジェクト間の親子関係を修正することができる。
【００２５】
次に、装置モデル入力部１１は、搬送システムの全装置についてのデータ入力が完了したか否かを問うメッセージを画面表示する（ステップＳ５）。そして、このメッセージに対してオペレータが選択肢「入力未了」をマウス操作により選択すると、装置モデル入力部１１による処理はステップＳ１に戻って装置種類の選択を要求するメッセージを表示し、ステップＳ１以降のデータ入力処理を繰り返す。一方、入力完了を問うメッセージに対して選択肢「入力完了」が選択されると、図２の装置モデル入力ルーチンを終了する。
【００２６】
次に、データ入力部１０の挙動入力部１２について説明する。
この挙動入力部１２は、装置要素とくに装置可動部の挙動とワーク発生消滅・引継条件を入力するべく、図３に示す挙動入力ルーチンを実行する。この挙動入力ルーチンにおいて、挙動入力部は、ワークの発生位置の設定を要求するメッセージを、装置モデル入力ルーチンで選択された装置種類の全てを画面表示する。この要求に応じて、ワーク発生に係る装置がマウス操作により選択されると、挙動入力部１２は、装置モデル入力ルーチンで作成済みのモデルのうち対応する装置モデルを画面表示し、オペレータのマウス操作に待機する。そして、オペレータが３Ｄモデル上の所要位置にカーソルを合わせてマウスをクリック操作すると、挙動入力部は、ワーク発生位置を判別してメモリ内に記憶する。ワーク消滅位置についても同様である（ステップＳ１１）。
【００２７】
ワーク発生および消滅位置の設定が完了すると、挙動入力部１２は、ワーク発生頻度の設定を要求するメッセージを設定欄とともに画面表示し、オペレータがキーボードを介して、ワーク発生頻度を表す数値を設定欄に入力すると、このワーク発生頻度をメモリ内に記憶する（ステップＳ１２）。
次に、挙動入力部１２は、装置の選択を要求するメッセージを画面表示し、この要求に応じてオペレータがマウス操作により装置リストから装置を選択すると（ステップＳ１３）、この装置の上流側装置（ワークの引継元）の設定を要求するメッセージを画面表示する。そして、マウス操作により上流側装置が選択されると、この上流側装置をワーク引継元の装置としてメモリ内に記憶し、次に、下流側装置（ワークの引継先）の設定を要求するメッセージを画面表示する。下流側装置が選択されると、挙動入力部１２は、この下流側装置をワーク引継先装置として記憶する（ステップＳ１４）。ワークの引継元・引継先は、ワークの所属する装置を特定するなどの目的をもってシミュレーション実行中に補助情報として利用され、これにより、ワークを次の装置やツールに確実に引継可能になる。
【００２８】
次に、挙動入力部１２は、装置の種類毎に例えば装置の動作仕様に基づいて作成済みの挙動データ群から、挙動設定対象として選択済みの装置についての挙動データを選択し、挙動データの編集の要否を問うメッセージとともに、この挙動データを画面表示する。
本実施形態では、挙動データは挙動コマンド列の形式で記述され、挙動コマンドは、選択済み装置の可動部の動作方向、動作軌跡、動作距離、動作時間などを引数とする関数形式で表される。
なお、装置モデル入力ルーチンで入力済みの装置基本仕様が挙動コマンドの引数として設定される場合がある。
【００２９】
オペレータは、挙動データの編集が不要であれば選択肢「編集不要」にカーソルを合わせた状態でマウスをクリック操作し、一方、挙動データを編集する場合には選択肢「編集必要」をマウス操作により選択した後で挙動コマンドの引数を修正する。
以上のようにして、挙動入力対象として選択された装置についての挙動データの入力が完了すると（ステップＳ１５）、挙動入力部１２は、機械すなわち搬送システムを構成する装置の全てについての挙動データの入力が完了したか否かを判別し（ステップＳ１６）、この判別結果が否定であれば、挙動設定対象装置の選択を要求するメッセージを画面表示する。一方、全装置についての挙動データの入力完了を判別すると、挙動入力ルーチンを終了する。なお、説明を一部省略したが、モデルデータ編集の場合と同様に挙動データは編集可能である。
【００３０】
すでに述べたように、シミュレーション装置は、データ入力部１０へ入力されたデータを格納するデータ格納メモリ２０を有している。なお、データ入力部からデータ格納メモリへのデータ格納に際して、データ入力部１０はデータ形式をシミュレーション装置での内部処理に適合するものに変換可能である。このデータ格納メモリ２０は、装置モデル入力部１１から入力されたデータを格納するための装置モデル格納メモリ２１と、挙動入力部１２から入力されたデータを格納するための挙動格納メモリ２２とを含んでいる。
【００３１】
次に、シミュレーション実行部５０と制御装置２との間の信号入出力に関する構成部について説明する。
本実施形態のシミュレーション装置は、シミュレーション対象となる搬送装置１を自動制御する制御装置２から直接制御信号を入力し、この制御信号に基づいてシミュレーション実行部５０が仮想の装置モデルを動かし、シミュレーションを実行する構成となっている。
このため、本実施形態のシミュレーション装置には、図１に示すように、シミュレーション実行部５０と制御装置２との間に、信号入出力に関する構成部として、制御信号入力変換部１１０、仮想検出部１２０、検出信号出力部１３０、制御信号監視部１５０を備えている。
【００３２】
まず、シミュレーション装置には、制御装置２と信号ケーブルを介して接続される入出力コネクタ１４０が設けてあり、この入出力コネクタ１４０から制御装置２の制御信号が入力される。ここで、入出力コネクタ１４０は、搬送装置１に設けられた制御装置２との接続用入出力コネクタ１ａと同一規格のものとすることが好ましい。この種の接続に一般に使用されているコネクタとしては、例えば、ＲＳ−２３２Ｃコネクタがある。
このように規格を統一すれば、シミュレーション装置によるシミュレーションが完了した後、入出力コネクタ１４０から信号ケーブルを取り外し、そのまま搬送装置１の接続用入出力コネクタ１ａに信号ケーブルを接続するだけで、制御装置２と搬送装置１との間の接続作業が完了し、制御装置２による搬送装置１の自動制御が実行可能となる。
【００３３】
なお、搬送装置２の入出力機器からの配線が多く、端子台が大きくなって搬送装置１内に配置しにくい場合には、接続用入出力コネクタ１ａを制御装置２内に設けることも可能である。
【００３４】
また、一般に、シミュレーション実行部５０と制御装置２内の演算処理とは、実行するプラットフォームが異なっているため、制御装置２から出力された制御信号をそのままシミュレーション実行部５０へ入力しても認識することができない。
そこで、制御信号入力変換部１１０は、制御装置２から入力した制御信号をシミュレーション実行部５０が認識できる信号に変換する機能を有している。これにより、制御装置２から入力された制御信号が、シミュレーション実行部５０で実行されるシミュレーションプログラムにより認識できる種類に変換される。
【００３５】
ところで、シミュレーション実行部５０は、シミュレーションプログラムにしたがって仮想の装置モデルに対しシミュレーションを実行する。一般に、シミュレーション制御においては、装置の動作タイミングと制御信号の変更とが同期している。そこで、シミュレーション装置におけるシミュレーションの実行に際しても、仮想装置モデルの動作タイミングと制御信号の変更とを同期させることが、より現実に近いシミュレーションを実行する上で好ましい。
そこで、本実施形態では、制御信号監視部１５０を設け、この制御信号監視部１５０によって制御装置２から入力される制御信号の変更を監視している。制御信号入力変換部１１０は、この制御信号監視部１５０が制御信号の変更を検出したとき、当該変更された制御信号をシミュレーション実行部５０により実行される装置モデルの動作タイミングに同期して、シミュレーション実行部５０へ入力する。
【００３６】
また、シミュレーション実行部５０によって実行される装置モデルやワークの動作状態に応じて、制御装置２は制御信号を変更する必要がある。
このため、本実施形態のシミュレーション装置には、仮想検出部１２０、検出信号出力部１３０の各構成部が備わっている。仮想検出部１２０は、シミュレーション実行部５０によって実行される装置モデルやワークの動作を監視する構成要素であり、具体的には、装置モデルの制御変更が必要になる個々の装置要素やワークの位置、ワークや各装置要素の干渉等を監視する仮想のセンサ等で構成されている。
この仮想検出部１２０が、シミュレーション実行部５０によって実行される装置モデルやワークの動作を監視し、制御装置２からの制御信号を変更する必要のある動作状態を検出したとき、検出信号を出力する。この検出信号は、検出信号出力部１３０を経由して制御装置２に出力される。
【００３７】
制御装置２は、この検出信号に基づいて制御信号を変更して出力する。制御信号の変更は、上述したとおり制御信号監視部１５０が監視しており、制御信号監視部１５０が制御信号の変更を検出したとき、当該変更された制御信号をシミュレーション実行部５０により実行される装置モデルの動作タイミングに同期して、シミュレーション実行部５０へ入力する。
【００３８】
また、本実施形態のシミュレーション装置は、図１に示すように、制御信号格納部１６０、制御信号直接入力手段１７０、制御信号入力切替部１８０を備えている。制御信号格納部１６０は、制御装置２から出力される制御信号と同等の制御信号を格納する構成部であり、制御信号直接入力手段１７０は、この制御信号格納部１６０から任意の制御信号を選択してシミュレーション実行部５０へ入力する構成部である。
これらの構成部は、シミュレーション実行部５０によって構成される装置モデルを、制御装置２からの制御信号によらず、個別的に作動させるために設けられている。制御装置２からの制御信号と、制御信号直接入力手段１７０からの制御信号とは、制御信号入力切替部１８０の操作によって切り替えてシミュレーション実行部５０へ出力することができる。
【００３９】
図４は本実施形態のシミュレーション装置を構成するコンピュータの操作画面を示す図である。本実施形態では、この操作画面上に表示された「制御装置との通信」の欄２０１が、制御信号入力切替部１８０を構成している。すなわち、当該欄２０１内の表示「連動」または「非連動」の横に設けられた四角いチェックボックス２０１ａ，２０１ｂのいずれかを、マウスによりクリックすることで、制御装置２との通信が接続または遮断される。
【００４０】
図４に示す操作画面上の左寄りには、上段の枠２０２内に、シミュレーション実行部５０で実行される装置モデルの動作状態が、各装置要素ごとに表示されており、さらに下段の枠２０３内に、制御装置２からシミュレーション実行部５０へ入力される制御信号の内容が表示されている。
【００４１】
シミュレーション実行部５０で装置モデルの動作をシミュレーションしているときは、現在の装置モデルの各動作状態や、制御装置２から入力された制御信号に対応する表示の横に設けられた四角いチェックボックスに、チェックマークが表示されることで、オペレータが確認できるようになっている。
【００４２】
さらに、これらの装置モデルの動作状態を示す表示（特に、下段枠２０３内の表示）は、上述した制御信号直接入力手段１７０を構成している。すなわち、下段の枠２０３内に表された制御信号の内容表示の横にある四角いチェックボックスに、チェックマークを入れることで、制御信号格納部１６０から対応する制御信号を呼び出し、シミュレーション実行部５０へ入力することができるようになっている。この操作をもって、シミュレーション実行部５０に擬似的な制御信号を送り、当該制御信号に対応した動作を装置モデルに行わせることが可能となる。
また、上段の枠２０２内に表示されたチェックボックスにチェックマークを入れることで、仮想検出部１２０から任意の検出信号を出力させてシミュレーションを実行することもできる。
勿論、これらの操作を実行する前提として、「制御装置との通信」の欄２０１（制御信号入力切替部１８０）内の「非連動」をあらかじめ選択しておく必要がある。なお、デフォルトは「連動」となっている。
【００４３】
次に、本実施形態のシミュレーション装置によるシミュレーション処理について説明する。
図５に示すシミュレーション実行ルーチンにおいて、シミュレーション実行部５０は、ステップＳ２１の初期化処理でシミュレーション時計のリセット、共有メモリのリセットなどを行った後、シミュレーション制御条件格納メモリ４０から読み出した制御条件にしたがって、シミュレーション対象となる装置モデルデータを装置モデル格納メモリ２１からローディングし、この装置モデルデータに基づいて３次元モデルを形成するとともに、動作可能な装置要素に関する挙動データを挙動格納メモリ２２から読み出す（ステップＳ２２）。
このようにしてシミュレーション開始前のスタンバイ状態が確立されると、シミュレーション実行部５０は、図４に示した操作画面上にある「実行」の操作ボタン２０４をクリック操作可能な状態とする。
【００４４】
オペレータにより「実行」の操作ボタン２０４がクリック操作されると、シミュレーション実行部５０は、シミュレーションクロックに基づき制御シミュレーションを単位時間進行方式で且つ指定された期間にわたり実行する（ステップＳ２３、Ｓ２４）。
【００４５】
制御信号監視部１５０は、制御装置２から入力される制御信号が変更されたか否かを監視しており（ステップＳ２５）、制御信号が変更された場合は、シミュレーションクロックに同期させて、制御装置２からの制御信号を入力する（ステップＳ２６）。
【００４６】
そして、シミュレーション実行部５０は、入力された制御信号を装置要素に関する挙動データにリンクさせて、装置モデルの装置要素を作動させる（ステップＳ２７）。ワークは、図４に示した操作画面に表された「ワーク発生」の操作ボタン２０５のクリック操作によって、仮想の装置モデルに供給される。
シミュレーション処理においては、装置要素間の相互作用の有無と、あらかじめ定めた判別則とに基づいて、ワークが、自由状態、制約状態、固定状態または干渉状態のいずれの作用状態にあるのかが判別される。装置要素間の相互作用（物理的接触）の有無は、ワークと装置要素の位置情報などからシミュレーション実行部５０により判別される。
【００４７】
装置要素の動作状態は、仮想検出部１２０によって監視されており（ステップＳ２８）、装置要素の動作状態が、制御装置２からの制御信号を変更する必要のある動作状態となったとき、検出信号が出力される。この検出信号は、検出信号出力部１３０を経由して制御装置２に出力される（ステップＳ２９）。
そして、制御装置２から変更された制御信号が入力されると（ステップＳ３０）、ステップＳ２５に移行して、制御信号監視部１５０がこれを検出し、シミュレーションクロックに同期させて、制御装置２からの制御信号を入力する（ステップＳ２６）。
なお、ステップＳ２５〜Ｓ２６の処理と、ステップＳ２８〜Ｓ３０までの処理は並行して実行され、検出信号を検出した瞬間にステップＳ２９，Ｓ３０の割り込み処理が行われて、装置モデルの動作状態の変更がすぐに制御変更に反映される。
このようにしてすべてのシミュレーション動作が実行されたとき、シミュレーション処理が終了する（ステップＳ３１）。
【００４８】
以上の処理ステップをもって、制御装置２からの制御信号に基づき装置モデルを作動させ、シミュレーションが実行される。シミュレーションの実行データは、シミュレーション結果格納メモリ６０に格納され、必要に応じてディスプレイに表示されるシミュレーション結果確認部７０で確認することが可能である。
【００４９】
シミュレーション実行部５０によるシミュレーションは、概略上記のように実施されるが、このシミュレーションの実施に際して、本実施形態では、シミュレーション対象である搬送装置１の装置要素間の相互作用の有無、特に、センサ、ツール、ワーク間の相互作用の有無と、あらかじめ定めた判別則とに基づいてワーク作用状態（ワークの受動的動作を含む）を判別し、このワーク作用状態を勘案して、シミュレーションを実機相当レベルで実施している。
【００５０】
具体的には、本実施形態では、ワーク作用状態を自由状態、制約状態、固定状態および干渉状態の４つに区分するようにしている。
ここで、「自由状態」とは、ワークが装置要素などにより制約されていない作用状態を指す。「制約状態」とは、ワークがこれを駆動する装置要素の動作にしたがって動作しているものの、別の装置要素からも制約を受けるような作用状態を指す。この場合、ワークは、最も強い制約を及ぼす装置要素にしたがって動作することになる。
次に、「固定状態」とは、ワークが装置要素または別のワークにより駆動されるようなワーク作用状態を指す。固定状態では、他の装置要素の制約があったとしても、ワークはこれを駆動する装置要素によって優先的に駆動され、ワークの動作は、この優先装置要素の動作にしたがう。
「干渉状態」とは、ワークと装置要素間、またはワーク相互間での作用状態であって、相互に作用し合う装置要素とワーク（またはワークどうし）が物理的に互いに接触または重なり合う場合のうち、検出された相手先が動作不能であって、対象となる装置要素またはワークを停止せざるを得ない状態を指す。
【００５１】
既述のとおり、上記シミュレーション実行ルーチン（図５）では、装置要素間の相互作用の有無とあらかじめ定めた判別則とに基づいて、ワークが、自由状態、制約状態、固定状態または干渉状態のいずれの作用状態にあるのかが判別される。装置要素間の相互作用（物理的接触）の有無は、ワークと装置要素の位置情報などからシミュレーション実行部５０により判別される。
【００５２】
本実施形態では、装置要素間の相互作用の有無は、装置要素とワークの双方から判別される。なお、ワーク作用状態判別のための判別則を下記に例示する。
［判別則１］ ワークがワーク動作方向下流側の装置要素と相互作用し且つこの装置要素が別のワークでなければ、ワークは干渉状態にあると判別する。
［判別則２］ ワークが、動作可能であるとともに、ワーク動作方向上流側の装置要素と相互作用すれば、ワークは固定状態にあると判別する。
［判別則３］ 装置要素がワークと相互作用し且つワークが固定状態になければ、ワークは制約状態にあると判別する。
［判別則４］ ワークが固定状態、干渉状態または制約状態になければ、ワークは自由状態にあると判別する。
【００５３】
図６乃至図１４は、シミュレーション処理の具体例を示す図である。
ここでは、「シミュレーション内容のイメージ」に表すとおり、搬送プッシャとエレベータとを装置要素とする装置モデルを想定して、製品（ワーク）の搬送作業をシミュレーションしている。具体的には、製品が右端（始端）から搬送プッシャに押されて左端（終端）まで水平移動してエレベータに製品を載置し、その後、エレベータが下降端（始端）から上昇して製品を上昇端（終端）まで持ち上げる。
シミュレーション画像には、供給位置への製品の供給を感知する製品供給感知センサ、およびエレベータへの製品の載置を感知するエレベータ内製品感知センサが生成されている。
【００５４】
なお、各装置要素と製品の位置は、次のように定義してある。
［搬送プッシャの位置］
左右方向の始端位置＝Ｐｘ０
左右方向の中間位置＝Ｐｘ１
左右方向の中間位置（Ｐｘ１より左方）＝Ｐｘ２
左右方向の終端位置＝Ｐｘ３
［エレベータの位置］
上下方向の始端位置＝Ｅｙ０
上下方向の中間位置＝Ｅｙ１
上下方向の終端位置＝Ｅｙ２
製品との干渉位置＝Ｅｙｉ
［製品の位置］
ワーク発生位置＝Ｗｘ１，Ｗｙ１
搬送プッシャによる左方向への搬送中間位置＝Ｗｘ２，Ｗｙ１
エレベータへの載置位置＝Ｗｘ３，Ｗｙ１
エレベータによる上昇位置＝Ｗｘ３，Ｗｙ２
【００５５】
まず、図６に示す初期状態においては、搬送プッシャ３０１が始端位置（Ｐｘ０）に、エレベータ３０２が始端位置（Ｅｙ０）に停止している。次に、図４に示した操作画面上の「ワーク発生」の操作ボタン２０５がクリック操作されると、図７に示すように、供給位置（Ｗｘ１，Ｗｙ１）に製品Ｗが現れる。
このとき、シミュレーション実行部５０では、仮想検出部１２０の一つである製品供給感知センサ３０３が製品Ｗを感知してＯＮとなる。この検出信号は、制御装置２へ出力される。
この検出信号を受け、制御装置２は、搬送プッシャ３０１を始端位置（Ｐｘ０）から終端位置（Ｐｘ３）へ移動させる旨の制御信号を出力する。
シミュレーション実行部５０では、この変更された制御信号を入力したとき、装置要素の挙動を示す搬送プッシャ３０１の状態が左移動に変わる。この挙動データの変更に伴い、搬送プッシャ３０１が左方向へ移動する。
【００５６】
次に、搬送プッシャ３０１が供給位置にある製品Ｗと接触すると（図８参照）、シミュレーション実行部５０では、装置要素の挙動を示す搬送プッシャ３０１の位置がＰｘ１に変わるとともに、製品Ｗの挙動を示す製品作用状態が自由から搬送プッシャ３０１による固定へ変わる。
搬送プッシャ３０１による製品Ｗの搬送動作が進行するにつれ（図９参照）、シミュレーション実行部５０では、装置要素の挙動を示す搬送プッシャ３０１の位置がＰｘ２に変わるとともに、製品Ｗの挙動を示す製品水平位置がＷｘ２に変わる。
【００５７】
そして、搬送プッシャ３０１が終端（製品上昇位置）に到達すると（図１０参照）、動作状態を示す搬送プッシャ３０１の終端位置情報Ｐｘ３（仮想検出部１２０からの検出信号の一つである）がＯＮとなり、さらにエレベータ内製品感知センサ３０４（仮想検出部１２０の一つである）が製品Ｗを感知してＯＮとなる。この検出信号が制御装置２へ出力される。
この検出信号を受け、制御装置２は、搬送プッシャ３０１を終端位置（Ｐｘ３）から始端位置（Ｐｘ０）へ移動させるとともに、エレベータ３０２を終端位置Ｅｙ２へ移動させる旨の制御信号を出力する。
シミュレーション実行部５０では、この変更された制御信号を入力したとき、装置要素の挙動を示す搬送プッシャ３０１の状態が右移動に変わり、搬送プッシャ３０１が右方向へ移動するとともに、同じく装置要素の挙動を示すエレベータ３０２の状態が上昇に変わり、エレベータ３０２が上昇を開始する。
【００５８】
次に、エレベータ３０２が製品上昇位置にある製品Ｗと接触すると（図１１参照）、シミュレーション実行部５０では、装置要素の挙動を示すエレベータ３０２の位置がＥｙ１に変わるとともに、製品Ｗの挙動を示す製品作用状態がエレベータ３０２による固定へ変わる。
【００５９】
そして、エレベータ３０２が終端に到達すると（図１２参照）、エレベータ３０２の動作状態を示す終端位置情報Ｅｙ２（仮想検出部１２０からの検出信号の一つである）がＯＮとなり、さらにエレベータ内製品感知センサ３０４による製品感知データがＯＦＦとなる。またこのとき、搬送プッシャ３０１の動作状態を示す始端位置情報Ｐｘ０（仮想検出部１２０からの検出信号の一つである）がＯＮとなる。この検出信号が制御装置２へ出力される。
この検出信号を受け、制御装置２は、搬送プッシャ３０１を停止させるとともに、エレベータ３０２を始端位置Ｅｙ０へ下降させる旨の制御信号を出力する。
シミュレーション実行部５０では、この変更された制御信号を入力したとき、装置要素の挙動を示す搬送プッシャ３０１の状態が停止に変わり、搬送プッシャ３０１が停止するとともに、同じく装置要素の挙動を示すエレベータ３０２の状態が下降に変わり、エレベータ３０２が下降を開始する。
【００６０】
その後、エレベータ３０２が始端に到達すると（図１３参照）、エレベータ３０２の動作状態を示す始端位置情報Ｅｙ０（仮想検出部１２０からの検出信号の一つである）がＯＮとなる。この検出信号が制御装置２へ出力される。
この検出信号を受け、制御装置２は、エレベータ３０２を停止させる旨の制御信号を出力する。
シミュレーション実行部５０では、この変更された制御信号を入力したとき、装置要素の挙動を示すエレベータ３０２の状態が停止に変わり、エレベータ３０２が停止する。これにより１サイクルの動作シミュレーションが完了する。
【００６１】
次に、搬送プッシャ３０１によって製品Ｗを左方向へ搬送していく過程で、製品Ｗとエレベータ３０２とが干渉した場合は、図１４に示すように、シミュレーション実行部５０が既述した判別則にしたがい当該動作状態を干渉と判別する。この状態変化を仮想検出部１２０が検出して、制御装置２へ検出信号が出力される。
この検出信号を受け、制御装置２は、搬送プッシャ３０１とエレベータ３０２を停止させる旨の制御信号を出力する。シミュレーション実行部５０では、この変更された制御信号を入力したとき、装置要素の挙動を示す搬送プッシャ３０１とエレベータ３０２の状態が停止に変わり、これらの装置要素が停止する。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態に係るシミュレーション装置の構成を示すブロック図である。
【図２】装置モデル入力部における装置モデル入力ルーチンを示すフローチャートである。
【図３】挙動入力部における挙動入力ルーチンを示すフローチャートである。
【図４】シミュレーション装置を構成するコンピュータの操作画面を示す図である。
【図５】シミュレーション装置によるシミュレーション実行ルーチンを示すフローチャートである。
【図６】シミュレーション処理の具体例を示す図である。
【図７】図６に続く、シミュレーション処理の具体例を示す図である。
【図８】図７に続く、シミュレーション処理の具体例を示す図である。
【図９】図８に続く、シミュレーション処理の具体例を示す図である。
【図１０】図９に続く、シミュレーション処理の具体例を示す図である。
【図１１】図１０に続く、シミュレーション処理の具体例を示す図である。
【図１２】図１１に続く、シミュレーション処理の具体例を示す図である。
【図１３】図１２に続く、シミュレーション処理の具体例を示す図である。
【図１４】干渉状態でのシミュレーション処理の具体例を示す図である。
【符号の説明】
【００６３】
１：搬送装置、２：制御装置、１０：データ入力部、１１：装置モデル入力部、１２：挙動入力部、２０：データ格納メモリ、２１：装置モデル格納メモリ、２２：挙動格納メモリ、３０：シミュレーション制御入力部、４０：シミュレーション制御条件格納メモリ、５０：シミュレーション実行部、６０：シミュレーション結果格納メモリ、７０：シミュレーション結果確認部、１１０：制御信号入力変換部、１２０：仮想検出部、１３０：検出信号出力部、１４０：入出力コネクタ、１５０：制御信号監視部、１６０：制御信号格納部、１７０：制御信号直接入力手段
【図１】
2005202737.tif 000003
【図２】
2005202737.tif 000004
【図３】
2005202737.tif 000005
【図４】
2005202737.tif 000006
【図５】
2005202737.tif 000007
【図６】
2005202737.tif 000008
【図７】
2005202737.tif 000009
【図８】
2005202737.tif 000010
【図９】
2005202737.tif 000011
【図１０】
2005202737.tif 000012
【図１１】
2005202737.tif 000013
【図１２】
2005202737.tif 000014
【図１３】
2005202737.tif 000015
【図１４】
2005202737.tif 000016