(57)【要約】      （修正有）【課題】制御プログラムに基づく制御対象機器の挙動を具体的かつ全体的に確認することができるシミュレーション装置を提供する。【解決手段】表示手段４に表示される仮想空間に制御対象機器の挙動を模擬可能な要素を仮想的に配置して仮想配置モデルを作成する仮想配置モデル作成手段５４２と、仮想配置モデル上の要素の属性を設定する要素属性設定手段５４３と、制御プログラムの実行に伴う出力信号と要素に入力される仮想配置モデル上の仮想入力信号とを関連付けると共に、要素の挙動により出力される仮想配置モデル上の仮想出力信号と制御プログラムが受ける入力信号とを関連付ける関連手段５４４と、を備え、関連手段５４４により制御プログラムと関連付けられた要素が制御プログラムの実行に伴い仮想配置モデル上を挙動する様子が表示手段４に表示される。【選択図】図１
2009289156.tif 000002
【特許請求の範囲】
【請求項１】
入力手段と、表示手段と、外部の制御対象機器を制御するための制御プログラムを実行する制御プログラム実行手段とを備え、前記制御対象機器と接続可能なコンピュータからなる制御シミュレーション装置であって、
さらに、
前記表示手段に表示される仮想空間に前記制御対象機器の挙動を模擬可能な要素を仮想的に配置して仮想配置モデルを作成する仮想配置モデル作成手段と、
前記仮想配置モデル上の前記要素の属性を設定する要素属性設定手段と、
前記制御プログラムの実行に伴う出力信号と前記要素に入力される前記仮想配置モデル上の仮想入力信号とを関連付けると共に、前記要素の挙動により出力される前記仮想配置モデル上の仮想出力信号と前記制御プログラムが受ける入力信号とを関連付ける関連手段と、
を備え、
前記関連手段により前記制御プログラムと関連付けられた前記要素が前記制御プログラムの実行に伴い前記仮想配置モデル上を挙動する様子が前記表示手段に表示されることを特徴とするシミュレーション装置。
【請求項２】
さらに、前記仮想配置モデル上で制御の対象でない前記制御対象機器以外を模擬表示した非制御要素を制御する非制御対象用プログラムを記憶する非制御対象用プログラム記憶手段を備え、
前記仮想配置モデル作成手段は、前記仮想空間に前記非制御要素を仮想的に配置し、
前記要素属性設定手段は、前記仮想配置モデル上の前記非制御要素の属性を設定し、
前記制御プログラム実行手段は、前記制御プログラムと共に前記非制御対象用プログラムを実行する請求項１に記載のシミュレーション装置。
【請求項３】
さらに、前記制御プログラムおよび前記非制御対象用プログラムを作成または編集するプログラム設計手段を備える請求項２に記載のシミュレーション装置。
【請求項４】
前記制御プログラムおよび前記非制御対象用プログラムは、ペトリネットによるペトリネットモデルである請求項３に記載のシミュレーション装置。
【請求項５】
前記制御プログラム実行手段により前記制御プログラムが実行されたとき、外部の前記制御対象機器が前記制御プログラムに基づき制御されると共に、前記制御プログラムに基づき前記仮想配置モデル上の前記要素の挙動が前記表示手段に表示される請求項１〜４の何れか一項に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
制御プログラムによる制御対象機器の制御をシミュレーションするシミュレーション装置に関するものである。
【背景技術】
【０００２】
生産、物流等のシステムは、例えば特開平１０−１２４１１０号公報（特許文献１）に記載されているように、シーケンス制御のプログラム（制御プログラム）によって制御される複数の制御対象機器で構成されている。
【０００３】
ここで、制御プログラムのチェックは、一般に、仮想的に入力信号を与えて部分的に制御プログラムを実行するなどにより行っている。そして、正しく信号が出力されているかを専用のモニタツールやオシロスコープでチェックする方法が採用されている。
【特許文献１】特開平１０−１２４１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の方法では、上記表示手段により、入出力信号のタイミングは目で見て確認することができるが、その信号によって制御対象機器がどのように挙動するかは目で見て確認することができない。そして当然、制御対象機器が制御プログラムに基づく信号を受けて移動した際の当該移動距離や、複数の制御対象機器を同時に制御して動かした際の干渉の有無などは確認することができない。
【０００５】
このように従来の方法は、制御プログラムのテスト等（シミュレーション）において、制御対象機器の具体的かつ全体的な挙動の確認が困難であった。従って、具体的かつ全体的な挙動の確認を行うには、実際の制御対象機器でテストすることになり、誤作動によって機器が破損してしまう虞もあった。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、制御プログラムに基づく制御対象機器の挙動を具体的かつ全体的に確認することができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のシミュレーション装置は、入力手段と、表示手段と、外部の制御対象機器を制御するための制御プログラムを実行する制御プログラム実行手段とを備え、制御対象機器と接続可能なコンピュータからなる制御シミュレーション装置であって、さらに、表示手段に表示される仮想空間に制御対象機器の挙動を模擬可能な要素を仮想的に配置して仮想配置モデルを作成する仮想配置モデル作成手段と、仮想配置モデル上の要素の属性を設定する要素属性設定手段と、制御プログラムの実行に伴う出力信号と要素に入力される仮想配置モデル上の仮想入力信号とを関連付けると共に、要素の挙動により出力される仮想配置モデル上の仮想出力信号と制御プログラムが受ける入力信号とを関連付ける関連手段と、  を備え、関連手段により制御プログラムと関連付けられた要素が制御プログラムの実行に伴い仮想配置モデル上を挙動する様子が表示手段に表示されることを特徴とする。入力手段は、キーボード、および、マウス等のポインティングデバイスなどである。
【０００８】
これにより、ユーザーは、実際に制御対象機器を動かすことなく、制御プログラムに基づいた制御対象機器の挙動を仮想空間上で確認することができる。つまり、誤動作があった場合でも、実際の制御対象機器を破損させることはない。ユーザーは、制御対象機器が移動した際の移動距離や、複数の制御対象機器を同時に動かした際の干渉の有無などを、表示手段上で確認することができる。つまり、ユーザーは、仮想配置モデルにより、設計図面全体の挙動が容易に確認できる。本発明によれば、制御対象機器の挙動を具体的かつ全体的に表現しシミュレーションすることができる。
【０００９】
ここで、本発明のシミュレーション装置は、さらに、仮想配置モデル上で制御の対象でない制御対象機器以外を模擬表示した非制御要素を制御する非制御対象用プログラムを記憶する非制御対象用プログラム記憶手段を備え、仮想配置モデル作成手段は、仮想空間に非制御要素を仮想的に配置し、要素属性設定手段は、仮想配置モデル上の非制御要素の属性を設定し、制御プログラム実行手段は、制御プログラムと共に非制御対象用プログラムを実行することが好ましい。
【００１０】
これによれば、制御対象でないもの（非制御要素）も表示画面に表される。この非制御要素は、制御プログラムと共に実行される非制御対象用プログラムによって、制御対象機器の挙動に合わせて挙動する。非制御要素は、例えば、ワーク、作業者、および、輸送車など、制御プログラムで制御されないものである。非制御要素の挙動が制御対象機器の挙動と共に表示されることで、より現実に即したリアルなシミュレーションが可能となる。
【００１１】
ここで、本発明のシミュレーション装置は、さらに、制御プログラムおよび非制御対象用プログラムを作成または編集するプログラム設計手段を備えることが好ましい。これにより、シミュレーションの結果に応じて、プログラムを修正することが可能となる。
【００１２】
また、制御プログラムおよび非制御対象用プログラムは、ペトリネットによるペトリネットモデルであってもよい。なお、ペトリネットは、１９６２年ドイツのCarl Adam Petriによって提案され、平行的、非同期的、並列的、分散的、非決定的、確立的な動作を特徴とする生産システムや、情報システム、物流システムなどを表現する有力な手段である。ペトリネットの定義自体は、オートマトンなどと同様に単純なものであり、その理解には特別な数学の知識を必要としない。特に、図としての表現が可能であることがペトリネットの大きな特徴である。
【００１３】
ここで、本発明のシミュレーション装置は、制御プログラム実行手段により制御プログラムが実行されたとき、外部の制御対象機器が制御プログラムに基づき制御されると共に、制御プログラムに基づき仮想配置モデル上の要素の挙動が表示手段に表示されるようにしてもよい。これにより、ユーザーは、実際の稼働している制御の様子を、表示手段で擬似的に監視することができる。
【発明の効果】
【００１４】
本発明のシミュレーション装置によれば、制御プログラムに基づく制御対象機器の挙動を具体的かつ全体的に確認することができる。
【発明を実施するための最良の形態】
【００１５】
次に、実施形態を挙げ、本発明をより詳しく説明する。
【００１６】
本実施形態について図１〜図９を参照して説明する。図１は、シミュレーション装置の構成図である。図２は、ペトリネット理論のモデルを示す図である。図３は、編集シートを示す図である。図４は、要素の配置例を示す図である。図５は、要素の配置例を示す図である。図６は、仮想配置モデルの例を示す図である。図７は、属性設定画面の例を示す図である。図８は、全体の処理フローを示す図である。図９は、シミュレーションの処理フローを示す図である。
【００１７】
図１に示すように、シミュレーション装置１は、キーボード２（入力手段）と、マウス３（入力手段）と、ディスプレイ４（表示手段）と、コンピュータ本体５と、を備えている。コンピュータ本体５は、ＣＰＵ５１と、メインメモリ５２と、コントローラ部５３と、シミュレーション部５４とを有している。
【００１８】
コントローラ部５３は、ペトリネットモデル記憶手段５３１と、ペトリネットモデル実行手段５３２と、ペトリネットモデル設計手段５３３とを有している。ここで、まず、ペトリネットについて簡単に説明する。
（ペトリネット）
ペトリネットは有向グラフの１つであり初期マーキングと呼ばれる初期状態をもつ。ペトリネットをつくる基本的なグラフは、重みつき有向２部グラフであって、プレースとトランジションの２種類のノードからなる。アークは、プレースからトランジションに接続するもの、または、トランジションからプレースに接続するもののいずれかである。
【００１９】
条件と事象の概念を用いるモデル化においては、プレースが条件を表し、トランジションが事象を表す。トランジションはそれぞれの事象の前提条件と後提条件としているいくつかの入力プレースと出力プレースを持つ。
【００２０】
ペトリネットモデルについて図２を参照して説明する。トランジション２０８の前提条件となる入力プレース２０１と入力プレース２０４、後提条件となる出力プレース２０９をそれぞれのアークで接続している。入力プレース２０１内のトークン２０２およびトークン２０３と、入力プレース２０４内のトークン２０５とは、初期マーキングを表す。
【００２１】
トランジション２０８が発火可能となる条件は、入力プレース２０１からトランジション２０８に接続しているアーク２０６の重み２１１以上のトークンが入力プレース２０１にあり、かつ、入力プレース２０４からトランジション２０８に接続しているアーク２０７の重み以上のトークンが入力プレース２０４にある場合である。この場合、入力プレース２０１に接続しているアークの重み２１１は２で入力プレース２０１内のトークンも２つある。また、入力プレース２０４に接続しているアークの重みは、アークに数値が記述されていない場合は１であり、入力プレース２０４のトークン数は１である。よって、前提条件を満たしているため、トランジション２０８は発火する。
【００２２】
トランジション２０８が発火した状態を図２（２）に示す。発火後の前提条件では、入力プレース３０１から接続するアークの重み３０９分のトークンを取り除く。入力プレース３０２も同様に接続するアーク３０４の重み分のトークンを取り除く。
【００２３】
発火後の後提条件では、出力プレース３０７に接続するアーク３０６の重み分のトークンを出力プレース３０７内にマーキングする。この場合は、アークの重みが１であるため、出力プレース３０７には１つのトークンがマーキングされる。
【００２４】
図２のトランジション２０８の発火遅れ２１２について説明する。上記のペトリネット理論に時間的概念を加えたものが時間ペトリネットである。この発火遅れ２１２は、発火可能な状態から５ステップ分の発火時間を遅らせる働きがある。１ステップ時間を１秒とした場合、発火可能なトランジション２０８が発火するのは、５秒後となる。このように、時間ペトリネットを用いれば、システムの挙動を時間的に表現することが可能となる。
【００２５】
カラーペトリネットでは、トークンに属性を持たせることが可能である。トランジションでは、トークン属性を用いて発火規則（firing rule）を論理式などで表すことができる。
（コントローラ部）
ペトリネットモデル記憶手段５３１（本発明における「非制御対象プログラム記憶手段」を含む）は、ペトリネットにより作成されたペトリネットモデルである制御プログラムおよび後述する非制御対象用プログラムを記憶している。
【００２６】
ペトリネットモデル実行手段５３２（本発明における「制御プログラム実行手段」に相当する）は、ペトリネットモデル記憶手段５３１に記憶されたペトリネットモデルを実行する。
【００２７】
ペトリネットモデル設計手段５３３（本発明における「プログラム設計手段」に相当する）は、ユーザーの入力に従って、ペトリネットモデルを作成、あるいは、ペトリネットモデル記憶手段５３１に記憶されたペトリネットモデルを編集する。ペトリネットモデル設計手段５３３では、制御対象機器を制御するための制御プログラム以外に、シミュレーション上における制御対象機器以外のものを制御する非制御対象用プログラムを作成することができる。非制御対象用プログラムについては後述する。なお、本実施形態のコントローラ部５３で用いられるペトリネットは、特開２００７−５８４４７号公報に開示されているような、拡張ペトリネットである。
（シミュレーション部）
シミュレーション部５４は、編集シートＥ表示手段５４１と、仮想配置モデル作成手段５４２と、要素属性設定手段５４３と、関連手段５４４と、仮想モデル記憶手段５４５と、モード切替手段５４６と、を備えている。
【００２８】
編集シートＥ表示手段５４１は、図２に示すように、ディスプレイ４に編集シートＥ（仮想空間）を表示させる。仮想配置モデル作成手段５４２は、ユーザーの入力に従って、編集シートＥに要素を配置する。具体的な操作においては、ユーザーは、まず、図４に示すように、配置する要素を所定の選択画面から選択し、あるいは、画像を別の記憶手段から読み込んで作成して編集シートＥ上に要素を表示させる。
【００２９】
選択できる要素は、例えば、移動線、移動物、センサ、近接センサ用対象物、押しボタン、セレクトスイッチ、ランプ、モニタ、作業エリア、直線、四角形、および、円などである。そして、ユーザーは、選択した要素（または作成した要素）を、マウスにより、編集シートＥ上の任意の位置に配置する。また、要素として、予め作成されたもの（例えば、コンベア、エアロボ等）が記憶されており、それを選択することもできる。
【００３０】
移動線は、移動物の移動経路を示す。移動線の分岐等も設定により可能である。移動物は、設定した移動線上を移動する。センサは、感知エリア内の物体の検出や、移動物に付与した情報を読み取る機能を有する。感知エリアは、設定可能である。近接センサ用対象物は、センサの1種である近接センサにのみ検出されるものである。
【００３１】
押しボタンは、制御対象機器の押しボタンを表す。セレクトスイッチは、制御対象機器のセレクトスイッチを表す。押しボタンおよびセレクトスイッチについては、例えば図５に示すように表される。ランプは、制御対象機器のランプを表す。モニタは、数値や文字情報を表示するモニタを表す。エリアは、視覚的に強調を行うエリアを表す。直線、四角形、および、円などの図形も編集シートＥ上に表すことができる。なお、テキストを選択して、機器の名前等を編集シートＥ上に表すことも可能である。
【００３２】
これら各要素は、編集シートＥ上に自由に配置される。各要素を実際に配置される外部の制御対象機器の構成に合わせて配置することで、例えば図６に示すように、仮想配置モデルが作成される。
【００３３】
要素属性設定手段５４３は、ユーザーの入力に応じて、仮想配置モデルを構成する各要素の属性を設定する。具体的な操作においては、ユーザーは、設定したい要素を選択してプロパティ画面を開く。ユーザーは、プロパティにおいて要素の属性を設定する。属性とは、例えば、移動線の場合、移動線上に配置される移動物の速度である。本実施形態において、移動線の属性として設定された速度は、その移動線上の移動物すべてに反映される。
【００３４】
また、移動物の場合、属性は、例えば、図７に示すように、移動方向や移動速度などである。移動物は、移動線上に限らず、属性を設定することで編集シートＥ上を移動することができる。センサの場合、属性は、例えば、感知エリアの範囲、センサの種類などである。なお、センサの種類は、通常の対象物の有無を検出するエリアセンサと、近接センサ用対象物のみを検出する近接センサと、感知エリア内の要素の情報を読み取るリーダーとがある。押しボタンやセレクトスイッチの場合、属性として、自己保持回路の有無などがある。
【００３５】
関連手段５４４は、ユーザーの入力に従い、制御プログラムと仮想配置モデルの入出力とを関連付ける。つまり、関連手段５４４は、「制御プログラムに基づく出力信号」と「要素に入力される仮想配置モデル上の仮想入力信号」とを関連付け、且つ、「要素の挙動により出力される仮想配置モデル上の仮想出力信号」と「制御プログラムが受ける入力信号」とを関連付ける。
【００３６】
実際の制御においては、ペトリネットモデル実行手段５３２により制御プログラム（ペトリネットモデル）が実行されると、制御プログラムに基づく出力信号（命令）が対応する制御対象機器に対して出力される。シミュレーション装置１では、その出力信号を受ける対象を仮想配置モデル上の要素としている。従って、要素は、仮想配置モデルにおいて、仮想の仮想入力信号を入力する。関連手段５４４は、制御プログラムからの出力信号と要素が受ける仮想入力信号とを関連付ける。
【００３７】
具体的に、例えば、制御プログラムの第一の出力信号が「信号線Ａのコンベアを動かせ（信号線ＡにＯＮまたはＯＦＦを送信）」であり、当該コンベアを示す要素の接点番号が仮想配置モデル上で「０１」であった場合、信号線Ａと接点０１とが関連付けられる。仮想モデルにおいて、コンベアは、制御プログラムからのＯＮ、ＯＦＦ等の出力信号を受けて、それに従って駆動する。
【００３８】
また、コンベアが駆動することで、コンベア上のワークが移動する。そして、ワークがセンサの感知エリア内に進入すると、センサが検出し、その情報（ＯＮ、ＯＦＦ等）が制御プログラム実行手段に対して出力される。つまり、仮想の出力である仮想出力信号がセンサ（要素）により出力される。例えば、センサの接点番号が０２で、制御プログラムの第二の出力信号が「信号線ＢからＯＮを受信したらコンベアを停止する」であった場合、接点０２と信号線Ｂとが関連付けられる。このように、制御プログラムは、受信した仮想出力信号に応じて実行される。
【００３９】
仮想モデル記憶手段５４５は、作成された仮想配置モデルを記憶する。モード切替手段５４６は、ユーザーの選択した実行モードにモードを切り替える。本実施形態において、実行モードとしては、模擬モードと、監視モードと、検証モードとがある。
【００４０】
模擬モードは、ペトリネットモデル実行手段５３２がペトリネットモデルを実行し、仮想配置モデル上の要素を挙動させるモードである。ディスプレイ４には、仮想配置モデルの各要素の挙動が表示される。つまり、制御対象機器が配置された物流等のシステムにおいて、機器を動かすことなく、挙動全体を目視でチェックすることができる。
【００４１】
監視モードは、実際の制御中において、制御対象機器の状況を仮想配置モデル上で表現するモードである。つまり、ペトリネットモデル実行手段５３２は、ペトリネットモデルを実行して制御対象機器を制御すると共に、仮想配置モデルとも通信して要素を挙動させる。このモードでは、シミュレーション装置１が実際の制御とシミュレーションとを同時に行って、実際の制御対象機器を擬似的にモニタする。
【００４２】
また、監視モードでは、仮想配置モデル上での操作を実際の制御対象機器の動作に反映させることも可能である。例えば、制御中、仮想配置モデル上の押しボタン（例えば停止ボタン）を押すと、それに反応して実際の制御対象機器が挙動（停止）する。本実施形態において、ペトリネットモデル実行手段５３２は、制御対象機器に加え、シミュレーション部５４との通信が可能となっている。これにより、作業現場全体の挙動が監視でき、さらには、制御対象機器の遠隔操作も可能となる。
【００４３】
検証モードは、コンピュータ本体５に外部接続したＰＬＣ（プログラマブルロジックコントローラ）等のコントローラでシミュレーションするモードである。つまり、検証モードでは、外部のコントローラに記憶された制御プログラムを仮想配置モデル上で実行する。ここでの制御プログラムは、ＬＤ（ラダー）や、ＳＦＣ（シーケンシャル・ファンクション・チャート）などで作成されていてもよい。つまり、シミュレーション装置１によれば、外部のコントローラであっても、コントローラ部５３同様にシミュレーションできる。
【００４４】
ユーザーは、上記モードでのシミュレーション状況をディスプレイ４で確認できる。そこで、制御プログラムの修正が必要であれば、制御プログラムがペトリネットモデルの場合ペトリネットモデル設計手段５３３で修正できる。ＰＬＣの場合、ＰＬＣの機能により制御プログラムは修正可能である。なお、監視モードでは、外部接続されたコントローラの制御プログラムに対しても実行可能である。例えば、ＰＬＣがシミュレーション装置１に接続された場合、ＰＬＣ内の制御プログラムによって制御対象機器および仮想配置モデルの要素を制御する。
（非制御対象用プログラム）
上記したように、コントローラ部５３において、ペトリネットモデル記憶手段５３１は、仮想配置モデル上で挙動させたい非制御要素（ワーク、作業者、輸送車など）用の制御プログラム（非制御対象用プログラム）を記憶している。つまり、ペトリネットモデル記憶手段５３１は、制御プログラムおよび非制御対象用プログラムを記憶している。この非制御対象用プログラムは、ペトリネットで作成されたペトリネットモデルである。
【００４５】
ペトリネットモデル実行手段５３２は、制御プログラムを実行すると共に、非制御対象用プログラムをシミュレーション部５４に対して実行する。これにより、仮想配置モデルにおいて、例えば、コンベア上に置かれたワークは、コンベアの駆動に合わせて移動する。また、例えば、ワークがコンベア等から落下する状況が表現される。同様に、作業者および輸送車の配置や動きも模擬的に表現される。これにより、よりリアリティのあるシミュレーションが可能となる。
【００４６】
この非制御対象用プログラムは、ペトリネットモデル設計手段５３３で修正等が可能である。また、非制御対象用プログラムは、外部のコントローラを用いてシミュレーションする場合でも、上記同様に実行可能である。つまり、外部の制御プラグラムが実行されると、それに連動して非制御対象用プログラムが実行される。これにより、外部のコントローラで制御する場合であっても、ディスプレイ４にワーク等の挙動が表示される。本実施形態によれば、よりリアルなシミュレーションが可能となる。
（シミュレーションのフロー）
ここで、シミュレーション装置１の処理フローについてまとめて説明する。
【００４７】
図８に示すように、まず、編集シートＥ上に仮想配置モデルを作成する（Ｓ１０１）。続いて、配置した要素の属性を設定する（Ｓ１０２）。続いて、制御プログラムと要素の入出力を関連させる（Ｓ１０３）。そして、制御プログラムを実行してシミュレーションを開始する（Ｓ１０４）。そして、シミュレーション結果が正しい場合（Ｓ１０５：Ｙｅｓ）、シミュレーションを終了する。一方、不具合の発見など、シミュレーション結果が正しくない場合（Ｓ１０５：Ｎｏ）、制御プログラムを修正し、再度シミュレーションを実行する（Ｓ１０４）。また、非制御対象用プログラムがある場合、シミュレーションの実行（Ｓ１０４）において同時に実行される。
【００４８】
図９に示すように、シミュレーション処理のフローでは、まず、非制御対象用プログラムの有無が確認される（Ｓ２０１）。非制御対象用プログラムがある場合（Ｓ２０１：Ｙｅｓ）、非制御対象用プログラムが実行される（Ｓ２０２）。続いて、制御プログラムを記憶するコントローラが外部接続か否かを確認する（Ｓ２０３）。
【００４９】
コントローラが外部接続の場合（Ｓ２０３：Ｙｅｓ）、仮想配置モデルにおいて、コントローラからの出力信号が仮想入力信号として対応する要素に入力される（Ｓ２０４）。そして、要素の挙動により出力される仮想出力信号がコントローラの入力信号としてコントローラに入力される（Ｓ２０５）。つまり、コントローラとシミュレーション部５４とが通信する。
【００５０】
一方、コントローラが外部接続でない場合（Ｓ２０３：Ｎｏ）、コントローラ部５３のペトリネットモデルが実行される。つまり、ペトリネットモデル実行手段５３２の出力信号が仮想入力信号として対応する要素に入力される（Ｓ２０６）。そして、要素の挙動により出力される仮想出力信号がコントローラ部５３の入力信号としてコントローラ部５３に入力される（Ｓ２０５）。つまり、この場合、コンピュータ本体５内のコントローラ部５３とシミュレーション部５４とが通信する。
【００５１】
そして、その後、実行が可能状態であるか否かが確認される（Ｓ２０８）。例えば、停止ボタンが押されていない場合、実行可能状態であり（Ｓ２０８：Ｙｅｓ）、繰り返しシミュレーションされる。停止ボタンが押されていれば、シミュレーションを終了する。
【００５２】
以上、シミュレーション装置１によれば、制御プログラムに基づく制御対象機器の挙動を具体的かつ全体的に確認することができる。
【図面の簡単な説明】
【００５３】
【図１】シミュレーション装置の構成図である。
【図２】ペトリネット理論のモデルを示す図である。
【図３】編集シートを示す図である。
【図４】要素の配置例を示す図である。
【図５】要素の配置例を示す図である。
【図６】仮想配置モデルの例を示す図である。
【図７】属性設定画面の例を示す図である。
【図８】全体の処理フローを示す図である。
【図９】シミュレーションの処理フローを示す図である。
【符号の説明】
【００５４】
１：シミュレーション装置、
２：キーボード、３：マウス、４：ディスプレイ、
５：コンピュータ本体、５１：ＣＰＵ、５２：メインメモリ、
５３：コントローラ部、
５３１：ペトリネットモデル記憶手段、
５３２：ペトリネットモデル実行手段（制御プログラム実行手段）、
５３３：ペトリネットモデル設計手段（プログラム設計手段）、
５４：シミュレーション部、
５４１：編集シート表示手段、５４２：仮想配置モデル作成手段、
５４３：要素属性設定手段、５４４：関連手段、
５４５：仮想モデル記憶手段、５４６：モード切替手段
【図１】
2009289156.tif 000003
【図２】
2009289156.tif 000004
【図８】
2009289156.tif 000005
【図９】
2009289156.tif 000006
【図３】
2009289156.tif 000007
【図４】
2009289156.tif 000008
【図５】
2009289156.tif 000009
【図６】
2009289156.tif 000010
【図７】
2009289156.tif 000011