JP2004005431A - Simulation model creating method, simulation method and device, and monitor/control method and system - Google Patents
Simulation model creating method, simulation method and device, and monitor/control method and system Download PDFInfo
- Publication number
- JP2004005431A JP2004005431A JP2003035640A JP2003035640A JP2004005431A JP 2004005431 A JP2004005431 A JP 2004005431A JP 2003035640 A JP2003035640 A JP 2003035640A JP 2003035640 A JP2003035640 A JP 2003035640A JP 2004005431 A JP2004005431 A JP 2004005431A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- resource
- task
- simulation
- work
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract 21
- 238000000034 method Methods 0.000 title claims abstract 16
- 238000012545 processing Methods 0.000 claims 17
- 238000001514 detection method Methods 0.000 claims 3
- 238000012544 monitoring process Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001502 supplementing effect Effects 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Numerical Control (AREA)
- Programmable Controllers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、製品の製造工程などのシーケンシャルプロセスを、コンピュータによって模擬的に再現するシミュレーションモデルの作成方法並びにシミュレーション方法および装置に関する。また、シーケンシャルプロセスを監視・制御する方法および装置に関する。
【0002】
【従来の技術】
図18は、生産工場等におけるシーケンシャルプロセスの概念図である。シーケンシャルプロセスでは、ワーク(図示せず)が処理工程に従って物理実体である機器に代表される複数のリソース1、2、3、………により搬送、仕分け、変形加工、組立て、分割、化学処理等のオペレーション(操作)による処理を受け、目的とするワーク(製品)に変身していく。この際、一つのリソースが行なうワークに対する処理(オペレーション)は普通、ワークの処理工程全体における処理のごく一部である。そして、ワークは、数多くのリソースをある順序で渡り歩くだけでなく、リソース自体も対象ワークの種類や、ワークがどの処理段階にあるか等によって様々なオペレーションパターンで稼働しワークに作用する。このため、シーケンシャルプロセスでは、ワークに対するリソースによるオペレーションの順序、ある処理まで済んだ他のワークとのタイミングのいい出合いが本質的に重要であり、多数のワークおよびリソースの複雑な状況管理と交通整理が必要不可欠である。この交通整理は、シーケンスコントローラ4が各リソースからの状態情報(広い意味でのセンサ情報)をもとに行なう。
【0003】
すなわち、シーケンスコントローラ4は、一般にPLC(Programmable Logic Controller)によって形成され、データ入出力部に各リソース1、2、3に設けてあるセンサ5から入力した信号に基づいて、シーケンシャルプロセスの全体を把握し、優先的に処理するワークや起動すべきリソースを決定し、リソースに対して必要なオペレーションを行なわせる。
【0004】
このようなシーケンシャルプロセスを模したラインシミュレータ(シミュレーション装置)は、工場等における処理工程に基づいたワークの流れをコンピュータによって模擬的に再現し、ワークのスループットの検討等に供される。そして、従来のラインシミュレータは、目的とするワークの流れが得られれば十分であるとして、シミュレーションのための仮想ワークや装置(仮想リソース)などの動きをつくるロジックが、実際のプロセスのロジックとかけ離れていても問題にしていなかった。
【0005】
すなわち、従来のラインシミュレータにおいては、「もの」をモデル化する場合、「もの」がどのようにシステム内を移動するかを記述し、「事象」をモデル化する場合、システム内の事象がいかに変化するかを記述するだけであった。そして、「もの」を加工するシミュレーションの記述は、もの(Entity)が事象(Node)と挙動(Activity)とで表されたネットワークの中を流れるように記述していた。
【0006】
さらに、従来、シミュレーションモデルを構築する場合、図19に示したように、シンボルによってネットワークを記述している。同図(1)に示したネットワークは、待機エリアまたは各機械の後バッファ内にある製品(ワーク)を、次の機械または搬送口に搬送する工程を示している。また、同図(2)に示したネットワークは、搬送車によって搬送されてきた製品を加工、組立処理をする工程を示している。そして、このようにシンボルによって記述したシミュレーションモデルをプログラミングする場合、各シンボルに対応したモジュールごとにプログラミングを行なうようにしている。
【0007】
このような従来のラインシミュレータは、ワークの流れを簡易的に表現する仕組みとなっているため、対象が単純な場合には、簡易かつ迅速にシミュレーションモデルを構築することができるメリットがある。
【0008】
【発明が解決しようとする課題】
ところが、従来の上記のようにして構築するラインシミュレータにおいては、多品種少量生産のようにワークが複雑に流れるラインの場合、事象などが簡素に表現されているために、正確に再現して諸特性を詳細に推定しようとすると、一般に困難で時間がかかったり、あるいは分析が不可能であることも多い。さらに、近年は、ワークの流れを再現するだけでなく、ワークを加工、ハンドリングするリソースである設備自体の挙動部分をもシミュレーションで検討する需要が増えており、これに対応することができない。
【0009】
この対策として、最初からコンピュータの中に現実の機器に近い形状、動きをする機器モデルを作り、機器モデルを現実のシーケンスコントロールと相似のロジックで働かせて仮想ワークを加工、ハンドリングするようにしておけば、シミュレーションを行なったときに、正確な動きとして視覚的に再現できるだけでなく、シミュレーションの構築そのものが実システムのシステム設計および制御設計そのものであるようにでき、トータルとして、ラインシステム構築のコスト節約、品質の向上、ラインシステムを構築する工期短縮に大いに寄与すると期待できる。しかし、このようなメリットがあるものの、従来は、実際に仮想空間の中でセンサ系を系統的に表現し、そのデータをもとに機器モデルの挙動をコントロールするという仕組みがなかった。また、従来は、ラインシミュレーションモデルを構築する場合、特有のシンボルを用いてネットワークを記述し、シンボルに対応したモジュールのプログラミングをGPSSやSIMSCRIPTなどのシミュレーション言語によって記述しており、複雑なシーケンスコントロールをエンジニアが厳密に、しかも容易に理解できる形で記述し、その記述に従って効率よくシミュレーション装置にシミュレーションモデルを実装できるようなよい方法がなかったため、シミュレーションモデルを作成する効率の向上に対する大きな成果をあげることができなかった。
【0010】
本発明は、前記従来技術の欠点を解消するためになされたもので、シミュレーションモデルの構築を容易にすることを目的としている。
また、本発明は、現実とよく対応のとれたシミュレーションを可能にすることを目的としている。
また、本発明は、シーケンシャルプロセスの監視・制御システムの構築を容易にすることを目的としている。
【0011】
【課題を解決するための手段】
本発明に係るシミュレーションモデルの作成方法は、忠実にモデル化した仮想ワークに対して操作を行なう忠実にモデル化した複数の仮想リソースと、これら各仮想リソースのそれぞれが前記仮想ワークに対してなす複数の操作とを記憶させ、前記仮想ワークについて与えられた処理工程における各処理を、記憶させた前記仮想リソースと前記操作とから選択した仮想リソースと操作とにより行なわせ、前記処理工程を実行するシミュレーションモデルの作成方法であって、前記仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した前記操作を、自動的、連続的に実行するモジュールにすることを特徴としている。モジュールの内容および複数のモジュール間の関係、並びに目的をもった個々のロジックは、スプレッドシートにして記載するとよい。
【0012】
本発明に係る第1のシミュレーション方法は、忠実にモデル化した仮想ワークと忠実にモデル化した仮想リソースとを画面に表示するとともに、前記仮想ワークについて与えられた処理工程と前記仮想リソースによる前記仮想ワークに対する操作の状態とに基づいて、複数の仮想リソースと、各仮想リソースが前記仮想ワークに対してなす複数の操作とから、前記仮想ワークに対して次になす操作と仮想リソースとを選択し、選択した仮想リソースが前記仮想ワークに対してなす選択された操作の状態を画面に表示することを特徴としている。
【0013】
また、本発明に係る第2のシミュレーション方法は、モデル化した仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した操作を、自動的、連続的に実行するモジュールとし、このモジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートにし、このスプレッドシートとして与えられた仕様に基づいて、前記仮想ワークとモデル化した仮想リソースとを画面に表示するとともに、前記仮想ワークについて与えられた処理工程と前記仮想リソースによる前記仮想ワークに対する操作の状態とに基づいて、複数の仮想リソースと、各仮想リソースが前記仮想ワークに対してなす複数の操作とから、前記仮想ワークに対して次になす操作と仮想リソースとを選択し、選択した仮想リソースが前記仮想ワークに対してなす選択された操作の状態を画面に表示し、さらに実現手段に対する具体的イメージのない概念検討段階の前記スプレッドシートより実行したシミュレーションに基づいて前記スプレッドシートを更新し、新たなスプレッドシートに基づくシミュレーションとスプレッドシートの更新とを繰り返すことにより、詳細で忠実にモデル化したシミュレーションを実行する、ことを特徴としている。
【0014】
実現手段の概略仕様段階のシミュレーションモデルと、より詳細で忠実にモデル化した段階のシミュレーションモデルとを相互に補いつつシミュレーションモデルを作成することが望ましい。
【0015】
そして、上記のシミュレーション方法を実施するための本発明に係る第1のシミュレーション装置は、忠実にモデル化した仮想ワークに対する操作を行なう忠実にモデル化した複数の仮想リソースと、これら各仮想リソースのそれぞれが前記仮想ワークに対してなす複数の操作とを記憶したタスク記憶部と、前記仮想リソースが前記仮想ワークに対してなす操作の状態を検知する状態検出手段と、前記仮想ワークについて予め与えられた処理工程と前記状態検出手段の出力信号とに基づいて、前記処理工程に従って前記タスク記憶手段から前記仮想リソースと前記操作とを選択し、選択した仮想リソースにより前記仮想ワークに対して選択した操作を行なわせる制御手段と、前記仮想ワークと前記仮想リソースとを表示するとともに、前記仮想リソースが前記仮想ワークに対してなす前記操作の状態を表示する表示手段と、を有することを特徴としている。
【0016】
さらに、本発明に係る第2のシミュレーション装置は、モデル化した仮想ワークに対する操作を行なうモデル化した複数の仮想リソースと、これら各仮想リソースのそれぞれが前記仮想ワークに対してなす複数の操作とを記憶したタスク記憶部と、前記仮想リソースが前記仮想ワークに対してなす操作の状態を検知する状態検出手段と、前記仮想ワークについて予め与えられた処理工程と前記状態検出手段の出力信号とに基づいて、前記処理工程に従って前記タスク記憶手段から前記仮想リソースと前記操作とを選択し、選択した仮想リソースにより前記仮想ワークに対して選択した操作を行なわせる制御手段と、前記仮想ワークと前記仮想リソースとを表示するとともに、前記仮想リソースが前記仮想ワークに対してなす前記操作の状態を表示する表示手段とを有し、前記制御手段は、前記仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した前記操作を、自動的、連続的に実行するモジュールとされ、このモジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートとして与えられた仕様に基づいて、前記タスク記憶部に記憶させた仮想ワーク、仮想リソースと前記状態検知手段とを用いてシミュレーションを自動的に作成する、ことを特徴ととしている。
【0017】
そして、本発明に係る監視・制御方法は、ワークに対して行なわれる処理工程において、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した各操作をリソースにより自動的、連続的に実行させるモジュールとし、このモジュールおよび複数のモジュール間の関係並びに目的をもった個々のロジックを制御手段に入力し、前記制御手段により、前記モジュール内の操作に対応したリソースを起動してワークに対する操作を実行させるとともに、前記リソースから出力される操作の状態情報に基づいて、前記モジュールの内容をリソースに順次実行させる、ことを特徴としている。
【0018】
また、本発明に係る監視・制御システムは、ワークに対して行なう処理に対応した操作を実行するリソースと、前記ワークに対して行なわれる処理工程において、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した各操作をリソースにより自動的、連続的に実行させるために作成したモジュールおよび複数のモジュール間の関係並びに目的をもった個々のロジックを入力可能な入力手段と、この入力手段により入力された前記モジュールを記憶する実行タスク記憶部と、この実行タスク記憶部に記憶されている前記モジュール内の操作とリソースとを読み出し、送受信部を介して対応するリソースを起動して前記ワークに対する前記操作を実行させるとともに、前記リソースが送信した操作の状態情報に基づいて、前記実行タスク記憶部に記憶されている前記モジュールをリソースに順次実行させる制御部と、を有することを特徴としている。モジュールの内容および複数のモジュール間の関係、並びに目的をもった個々のロジックは、スプレッドシートとして作成され、入力手段によって読み込まれる。
【0019】
【作用】
上記のようになっている本発明のシミュレーションモデルの作成方法によれば、密接に関連した複数の一続きの処理を、モジュールとしてまとめることにより、複雑な制御内容をわかりやすく簡素にすることが可能となり、シミュレーションモデルの構築を容易、迅速に行なうことができる。そして、モジュールの内容および各モジュール間における関係をスプレッドシートとして記載することにより、シミュレーションの内容を厳密でわかりやすいものとすることができ、エンジニア間や顧客の理解を容易にすることができるとともに、シミュレーションモデルの作成作業を直接かつ円滑に行なえる。 そして、モジュールの内容およびモジュール相互の関係をスプレッドシートとして記述することにより、シミュレーションの内容の理解が容易となり、シミュレーションモデルを作成するための工数の削減が図れ、高品質なシミュレーションを構築できるとともに、作成したシミュレーションモデルの高品質な維持、管理、変更などを容易に行なうことができる。
【0020】
そして、上記のようになっている本発明は、画面に表示する仮想ワークや仮想リソースを、実際のワーク、実際のリソース(機器など)の形状や寸法、配置ばかりでなく、動作やワークに対する操作なども忠実にモデル化して画像として再現する。そして、モデル化した仮想ワークについての処理工程と、この仮想ワークに対するモデル化した仮想リソースの操作の状態とに基づいて、処理工程に従った仮想リソースと操作とを選択して仮想ワークに対する操作を行なうことにより、実際のシーケンシャルプロセスを視覚的に忠実に再現することができ、現実とよく対応のとれたシミュレーションが可能となる。このため、多品種少量生産などのように、ワークの複雑な流れをも再現することができ、実際の生産設備の設計などが容易に行なえてシステムの構築、コスト節減、工期の短縮、品質の向上などを図ることができる。
【0021】
特に、模擬センサともいうべき状態検出手段を設け、工程制御部がこの状態検出手段の出力信号により仮想リソースが仮想ワークに対してなしている操作の状態を判断し、処理工程に従って仮想ワークに対してなす操作を選択して仮想ワークの処理を行なうため、実際のシーケンスコントローラの動作を再現することができ、制御設計を容易に行なうことが可能となる。
【0022】
本発明に係る監視・制御方法は、まず対象となる処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した操作を自動的、連続的に実行するモジュールとし、このモジュールの内容および複数のモジュール間の関係、並びに目的をもった個々のロジックをスプレッドシート上に表現する。ここで、1つの「操作」とは、シミュレーションモデル化された操作を自身が実行するのではなく、実機リソースに対して実際の操作を指示し、その操作が終了したという信号を実機リソースから受け取ることによって完了する処理であることを意味している。このスプレッドシートとして与えられた仕様に基づいて、リソースに対して逐次操作を指示し、またリソースからその操作が終了したという情報を逐次入手する。スプレッドシートの定義するロジックに基づいてリソースに対し次の操作を指示するので正確に制御できる。また、リソースに対する操作の指示に対する完了情報をリソースから受け取るので、全体の工程が完全に捕捉できる。
【0023】
また、本発明に係る監視・制御装置は、監視・制御の対象となる処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した操作を、自動的、連続的に実行するモジュールとし、このモジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートと表す。ここで、1つの「操作」とは、シミュレーションモデル化された操作を自身が実行するのではなく、実機リソースに対して実際の操作を指示し、その操作が終了したという信号を実機リソースから受け取ることによって完了する処理であることを意味している。監視・制御装置は、このスプレッドシートとして与えられた仕様に基づいて構成され、実機リソースへの操作指示発信機能および実機リソースからの操作終了信号受信機能が備わっている。スプレッドシートのロジックに従って実機リソースに対して逐次操作を指示し、またリソースからその操作が終了したという情報を逐次入手し、スプレッドシートの定義するロジックに基づいてリソースに対し次の操作を指示する。このことによって実機リソースを制御する。また、リソースに対する操作の指示とその完了情報とを完全に捕捉するので、監視・制御対象がどの工程状態にあるかが把握でき、その状態を画面に表示する。
【0024】
また、上記のようになっている監視・制御方法および監視・制御システムでは、モジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートとして表すことにより、スプレッドシートで定義されたロジックに従って実際のリソースにタイミングよく操作指示を出し、またその完了信号によって状態を完全に補足できるため、対象を監視制御できる
【0025】
【発明の実施の形態】
本発明に係るシミュレーションモデルの作成方法並びにシミュレーション方法および装置、並びに監視・制御方法およびシステムの好ましい実施の形態を、添付図面に従って詳細に説明する。
図1は、本発明の実施の形態に係るシミュレーション装置の一例であるラインシミュレーション装置の概略ブロック図である。図1において、シミュレーション装置10は、入力手段12、工程制御手段14、タスク状態情報手段16、タスク記憶手段18、実行タスク記憶・実行手段20、表示手段22を有している。
【0026】
入力手段12は、通常のキーボードやマウス、外部記憶装置などから構成してあって、実際のワークを忠実にモデル化するための実際のワークに関する形状や寸法、材質などの情報を入力できるとともに、モデル化した仮想ワーク(図示せず)に対する処理工程(どのような処理をどのような順序ですべきか)などを入力できるようになっている。
【0027】
工程制御手段14は、入力手段12に接続してあって、入力手段12を介して入力されたワークに関する情報や処理工程の情報などが入力する。また、工程制御手段14は、タスク状態情報手段16とタスク記憶手段18と実行タスク記憶・実行手段20とに接続してあって、詳細を後述するように、入力手段12から入力された処理工程の情報に基づいて、モデル化した仮想ワークに対して実行すべきタスクをタスク記憶手段18から選択し、タスク状態情報手段16と組み合わせて実行タスク記憶・実行手段20に書き込む。そして、工程制御手段14は、シーケンシャルプロセスにおけるシーケンスコントローラの役割をなすようになっていて、データ入力/論理演算部24を有しており、実行タスク記憶・実行手段20の実行するタスクの状態を監視し、入力手段12から入力された処理工程に従ってタスクを起動させる。
【0028】
タスク記憶手段18は、ソースタスク記憶部26とリソースタスク記憶部28とを有している。ソースタスク記憶部26は、コンピュータプログラムからなる複数のワークタスクa〜nを記憶していて、実際のワークを忠実に画像として再現したワークモデル(仮想ワーク)を形成できるようになっている。すなわち、モデル化した仮想ワークは、IDを付された三次元形状を有する物体(オブジェクト)、例えば半導体基板や鋼板などのほか、組立工程における各種部品やねじなどをモデル化したものであって、一つ一つが相互に識別できるようになっている。ただし、仮想ワークが、樹脂ペレットや溶湯などの原材料である場合、所定の形になったときにIDが付される。ワークモデルは、ソースタスクによって形成される以外に、シミュレーションの開始時点で既に存在していてもよい。また、図には示していないが、ワークモデルを消滅させるシンク機能は、必要に応じて配置できる。
【0029】
また、リソースタスク記憶部28は、物理実体である実際の機器などの資源(リソース)をモデル化した複数の仮想リソース(リソース)A〜Nと、これらのリソースA〜Nがモデル化した仮想ワークに対して行なう複数のタスクとを記憶している。そして、モデル化した仮想リソース(以下、単にリソースということがある)は、受け入れたモデル化した仮想ワークの形状、組成、性状を変化させたり、複数仮想ワークを結合したり、分割して新しい仮想ワークを形成したりする。また、ある仮想リソースからある仮想リソースまで仮想ワークを移動させるための搬送特化型仮想リソースもある。仮想リソースは、例えば工作機械等の機械加工装置、組立ロボット等の組立装置、コンベア等の据置き型搬送機器、天井クレーン等の自走型搬送機器、熱処理などを行なうプロセス装置等の他、広範囲の業務を柔軟にカバーできる作業員も含む。
【0030】
そして、タスク記憶手段18に記憶させたリソース(仮想リソース)A〜Nは、現実のリソース(機器)の三次元形状、寸法、機構、動作特性(速度等)を忠実に真似たモデルであり、実際のリソース(複数)のレイアウトも正確に反映されるようにしてある。また、タスクは、実際のリソース(実機リソース)がリソースとしての目的をもって、実際のワークに対してなす具体的な動き(オペレーション)の内容をコンピュータプログラムによって忠実にモデル化したものである。タスクは仮想ワークに作用し、必要に応じてモデル化した仮想リソースを動かしモデル化した仮想ワークを移動したり、ハンドリングしたりする。このリソースタスク記憶部28に記憶させたタスク群は、丁度実際の工場内の機器が並行して稼動できるように、コンピュータの中で同時並行的に稼動できるようにしてある。これらタスクは、後述するように、ソース(仮想ワークの発生機能)、他のタスク、工程制御手段14のいずれかで起動される。
【0031】
タスクとしてモデル化される仮想リソースが仮想ワークに対してなすオペレーション(操作)の代表的な例としては、次のようなものがある。
(1)仮想リソースが工作機械の場合
入力した仮想ワークを加工して出力する。どういう加工(オペレーション)をするかは、入ってきた仮想ワークに応じて仮想リソース自身が判断したり、あるいは上位のシーケンスコントローラに相当する工程制御部14からの指示によって決まる。
【0032】
(2)仮想リソースが組立機械の場合
部品供給装置から部品(複数)を取り、それをコンベアによって搬送されてきた中間製品に組み付ける。オペレーションとしては、ワークの違い等によって組立手順を変えるなど、さまざまな内容をとり得る。
【0033】
(3)仮想リソースがコンベアの場合
決まった位置に入力した仮想ワークを決まった位置まで移動させる。動くのは仮想ワークだけであり、コンベア自体は同じ場所に据付けられて位置を変えない。もっとも単純なオペレーションの一つである。
【0034】
(4)仮想リソースが天井クレーンの場合
天井クレーンは、仮想ワークを移動させるという意味ではコンベアに似ているが、自身が仮想ワークとともに(ある制限内ではあるが)任意の場所に動けるため、コンベアに比べて大きな柔軟性を持つ搬送リソースである。似た機能をもったリソースにフォークリフト、AGVなどがある。オペレーションとしては、何を、どこから、どこまで、といったパラメータを持つ柔軟なオペレーションである。高度なシステムでは、これらパラメータは上位の工程制御手段14から渡される。
【0035】
(5)仮想リソースがプロセス制御の場合
入力した仮想ワークに対して、熱処理とか電解とかの熱的、化学的作用を加える。出力仮想ワーク(処理終了後の仮想ワーク)は、入力仮想ワーク(処理前の仮想ワーク)と形状、性状ともに全く違う場合もあり得る。上位コントローラから見た場合、オペレーションの違いは仮想ワークの違いによる処理時間の違いとして現れることが多い。
【0036】
(6)仮想リソースが作業員の場合
仮想ワークを移動するとか、組み立てるとか、他の仮想リソースのスイッチを入れるとか、マニュアル加工をするとか非常に柔軟なオペレーションをする。
【0037】
タスク状態情報手段16は、実施形態の場合、複数の状態レジスタによって構成してあって、起動スイッチやセンサの役目などをなす。そして、タスク状態情報手段16を構成する状態レジスタは、通常、図2に示したように、タスクの前後に配置されて実行タスク記憶・実行手段20に書き込まれる。状態レジスタは、記憶機能のついた一種の関数(通常、時間要素はもたないが、時間遅延のような例外もある)であり、タスク起動の仲介や仮想リソースによる操作の状態の情報収集を行なう。
【0038】
タスクの前側に配置された状態レジスタ(例えば、図2の状態レジスタa2−1、a3−1、c1−1など)は、タスク起動のための状態レジスタであって、実線に示したように、工程制御手段14からの起動信号によって起動され、起動すると設定に従って関連フラグのリセット、カウンタのカウントアップ、リセットなどを行ない、最後に次段のタスクを起動する。また、タスクの後段につけられた状態レジスタ(例えば、状態レジスタa2−3、a3−3、c1−2など)は、仮想リソースの状態情報を収集するための状態レジスタであって、タスクの終了時、タスクによって起動される。そして、起動された状態レジスタは、タスク終了を示すイベントフラグを立てたり、カウンタをカウントアップしたりして必要情報を破線に示したように工程制御手段14に伝える。
【0039】
なお、タスクの実行中の状態を工程制御手段14に伝える必要がある場合には、例えばタスクa2をタスクa2−1とタスクa2−2とのように分割し、分割したタスク間に状態レジスタ(例えば、状態レジスタa2−2)を挿入して、必要なタイミングでのデータを出力するようにする。この際、最初のタスク(例えば、タスクa2−1)が終了する時に、挿入された状態レジスタ(状態レジスタa2−2)を起動し、起動された状態レジスタがその動作の終了時に2番目のタスク(タスクa2−2)を起動するのは言うまでもない。
【0040】
このように状態レジスタを使うことにより、イベントフラグを立てて終了情報を伝える以外に、カウンタ的な使い方をしてタスクにループ処理をさせたり、分岐処理のための分岐識別子として使ったりといった高度な処理が可能となる。また、タスク記憶手段18に記憶させる仮想リソースやタスクの内容、タスク状態情報手段16の有する状態情報の種類などは、適宜に追加、変更、削除をすることができるようにしてある。
【0041】
実行タスク記憶・実行手段20は、図2に示したような各仮想リソースに対応した実行タスク記憶部30a、30b、30c、………を有していて、各仮想リソースが仮想ワークに対してなす操作であるタスクが書き込まれる。例えば、実行タスク記憶部30aに書き込まれた「タスクa1/リソースA」は、仮想ワークに対するタスクa1という処理(オペレーション)がリソース(仮想リソース)Aによって行なわれることを示している。また、各タスクの後段または、分割したタスク間に配置した状態レジスタの横に角カッコによって示した数字は、状態レジスタの取りうる状態の数を示している。すなわち、例えば状態レジスタa1−1の横に示されている[0,1]は、状態レジスタa1−1が「0」または「1」の2通りの状態を取りうることを示している。また、状態レジスタa2−2は、「0」の状態と、整数で「1」〜「9」までの状態とをとりうることを示している。
【0042】
なお、図2においては、ソースタスクaが実行タスク記憶部30aに書き込まれていて、シミュレーションの開始時に、仮想ワークがリソースAに与えられる(リソースAから出現する)ことを示しているが、これに限定されるものではなく、必要に応じてリソース(仮想リソース)Bやリソース(仮想リソース)Cなどから仮想ワークが出現する。
【0043】
このようになっている実施形態に係るシミュレーション装置10の作用は、次のとおりである。まず、入力手段12によって実際のワークの仕様、例えば、形状、寸法、材質、さらにはワークの数量などを入力するとともに、ワークを処理する工程を入力する。ワークの処理のシミュレーションは、実機リソースとこの実機リソースがワークに対して行なう作用(オペレーション)の内容をモデル化したタスクを指定して行なう。このとき、各タスクは、図2に示したように、タスクの前段に配置したタスク起動型状態レジスタ(例えば、状態レジスタa2−1、a3−1、b1−1、c3−1等)と、タスクの後段に配置したシーケンシャルプロセスにおけるセンサに対応した情報収集型状態レジスタ(例えば、a2−3、a3−3、b1−2、c3−2等)とによって挟んだ状態で入力される。
【0044】
ただし、最初に行なわれるタスク(この実施形態の場合、図2の左上に示したリソースAによるタスクa1)は、タスク起動型状態レジスタの代わりにソースタスクaが指定され、ソースタスクaの終了とともに最初のタスクa1が自動的に起動される。また、タスクの実行途中において実行中の状態を伝える必要がある場合には、タスクを2つ(3つ以上であってもよい)に分割し、その間に実行中のタスクの状態を出力する状態レジスタを挿入する(例えば、リソースAのタスクa2−1、タスクa2−2および状態レジスタa2−2)。
【0045】
これらの状態レジスタは、実施形態の場合、状態値と演算内容とから構成してある。ただし、タスクの前段に配置するタスク起動型状態レジスタは、状態値をもたない場合もある。このタスク起動型状態レジスタは、通常、工程制御手段14により起動される。そして、タスク起動型状態レジスタの演算内容としては、関連フラグのリセット、カウンタのカウントアップ、リセットなどを行なう。また、タスクの後段に配置された情報収集型状態レジスタは、通常、前段のタスクが終了する前は状態値が「0」、前段のタスクが終了するとイベントフラグを立て、状態値が「1」に変わる。そして、情報収集型状態レジスタの演算内容としては、カウンタをカウントアップしたりする。また、タスクの中間に配置される状態レジスタは、通常、状態値の初期値が「0」であって、前段のタスクが終了するごとに状態値を1ずつ増加するなどの演算を行なう。
【0046】
入力手段12から入力された仮想ワークを処理するためのタスクは、工程制御手段14によってタスク記憶手段18とタスク状態情報手段16とから選択され、実行タスク記憶・実行手段20の記憶部に、図2に示したようにタスク展開型で書き込まれる。また、工程制御手段14のデータ入力/論理演算部24には、仮想ワークを所定の順序によって処理するための制御ロジックが与えられる。このデータ入力/論理演算部24に与えられるロジックの一例は、次のようなものである。
【数1】
【数2】
【数3】
などである。そして、データ入力/論理演算部24は、上記のような論理演算が「真」であるときに、次のタスクを実行させるタスク起動型状態レジスタを起動する。
【0047】
このようにして、入力手段12を介してワークの仕様とワークに対する処理工程とが入力されたのち、工程制御手段14にシミュレーションの開始命令が与えられると、工程制御手段14は、この実施形態の場合、実行タスク記憶・実行手段20のタスク実行部(図示せず)を介して実行タスク記憶・実行手段20に書き込んだソースタスクaを起動する。これにより、実行タスク記憶・実行手段20のタスク実行部は、ソースタスクaの内容を実行し、表示手段22に画像として再現したリソース(仮想リソース)Aの所定位置に、実際のワークを再現した仮想ワークを生成し、さらにリソースAによる仮想ワークに対するタスクa1(処理)を実行する。このタスクの内容は、実際のリソースによる実際のワークに対する操作の内容、動作が忠実に画像として再現されるようになっている。そして、リソースAによるタスクa1が終了すると、タスクa1の後段の状態レジスタa1−1がタスクa1の終了によって起動され、イベントフラグを立てて状態値が「1」となる。この状態レジスタa1−1の状態値の情報は、図示2の破線に示したように、タスク実行部を介して工程制御手段14のデータ入力/論理演算部24に入力される。
【0048】
データ入力/論理演算部24は、予め与えられている制御ロジックに従って、次のタスクを起動する。すなわち、データ入力/論理演算部24は、例えば前記した数式1のロジックが与えられている場合、状態レジスタa1−1の状態値が「1」になると、図2の実線に示したように、実行タスク記憶・実行手段20のタスク実行部を介して状態レジスタc1−1に起動信号を出力する。状態レジスタc1−1は、工程制御手段14から起動信号が入力すると、状態レジスタa1−1のイベントフラグをリセット(状態値を「0」に)し、その後タスクc1起動する。以下同様にして、仮想ワークに対する仮想リソースによる処理(オペレーション)が画像として表示手段22に再現される。
【0049】
このようにして、実際のワークを忠実にモデル化した仮想ワークに対して、実際のリソースを忠実にモデル化した仮想リソースによって、表示手段22の画面上で実際にハンドリングなどの処理を行なうため、実際のシーケンシャルプロセスを忠実に再現することができ、現実とよく対応のとれたシミュレーションが可能となる。このため、シミュレーションを行なったときに、正確な動きとして視覚的に再現できるだけでなく、シミュレーションの構築そのものが実システムのシステム設計および制御設計そのものであるようにでき、トータルとして、システム構築のコスト節約、品質の向上、工期短縮に大いに寄与することができる。
【0050】
そして、タスク展開型バーチャルシミュレーション(バーチャルシミュレーションインフラ)の各機器(仮想リソース)のオペレーションを、時間ファクタを含むタスクプログラムで表現することによって、自律的かつ並列的稼動という実機器と類似の特性を持たせ、模擬センサ/入出力IOとも言うべき状態レジスタをタスクの前後に付加してリソース状態情報を制御手段14に入力でき、また仮想リソースを自在に稼働させられるようにし、また時々刻々の状態情報に制御手段14によって論理演算をすることで、実際のPLCシーケンスコントロールを模擬するという仕組みによって、仮想リソース対機器、オペレーション対タスク、PLCコントロール工程制御部14という、現実対仮想がシミュレーションの条件内で同一視できるスキームが作れる。これによって首尾一貫した発展性に富む、高度なバーチャルなシミュレーションが可能になる。
【0051】
図3は、本発明に係る他の実施形態の要部を示したものであって、実行タスク記憶・実行手段の説明図である。この実施形態に係る実行タスク記憶・実行手段50は、タスク実行部となるシステムコントローラ52と実行タスク記憶部54とからなっている。システムコントローラ52は、詳細を後述する自律的タスク順次起動機能部56と、リソースコンフリクト調停機能部58と、リソース予約/予約解除機能部59と、タスク優先度基準記憶部60とを有している。
【0052】
実行タスク記憶部54は、仮想ワークに対して実行する処理工程における各処理をするための操作をモデル化したタスクを書き込むようになっている。この実施形態においては、密接に関連して一続きとして行なわれる複数のタスクを、自動的に連続的に実行するモジュールとして一まとめにしている。すなわち、図2に示した前記実施形態においては、各タスクの前段にタスク起動型状態レジスタを配置するとともに、各タスクの後段に情報収集型状態レジスタを配置し、各タスクの終了ごとに工程制御手段14のデータ入力/論理演算部24が論理演算を行ない、その論理演算の結果が「真」であるときに、タスク起動型状態レジスタを介して次のタスクを起動していたのに対して、図3に示した実施形態の場合、モジュールとしてまとめられた一連の複数のタスクは、最初のタスクが起動されると、そのモジュールに属する最後のタスクまでが自動的に順次起動するようになっている。
【0053】
これらのモジュールは、実現したいシミュレーションの目的に沿って、ばらばらに選択されるタスク群を、シミュレーションのシナリオ(処理工程)の要請する因果関係、前後関係を考慮して決定される。このモジュールを構成するタスク群は、それに含まれるタスクが何らかの原因で起動されたら、そのタスク実行後、次段のタスクを自動的に起動し、1つのモジュールに含まれる最後のタスクまで順次起動されていくようになっている。
【0054】
図3の実施形態の場合、第1の一意シナリオモジュール62、第2の一意シナリオモジュール64、第3の一意シナリオモジュール66がそれぞれ一連の操作のモジュールとなっている。そして、第1の一意シナリオモジュール62は、実施形態の場合、ソースタスクa、リソースAによるタスクa1、リソースCによるタスクc1、リソースCによるタスクc2、リソースAによるタスクa2、リソースAによるタスクa3から構成してあって、タスクa3の後段に前記実施形態と同様の情報収集型状態レジスタz1が配置してある。
【0055】
また、第2の一意シナリオモジュール64は、先頭に前記したと同様のタスク起動型状態レジスタx1が配置してあって、この状態レジスタx1に続けてリソースAによるタスクa2、リソースBによるタスクb2、リソースCによるタスクc1、タスクc1の実行中の状態を伝達するための状態レジスタy2、リソースAによるタスクa1、リソースCによるタスクc3、タスクc3の後段に配置した情報収集型状態レジスタz2とからなっている。
【0056】
さらに、第3の一意シナリオモジュール66は、タスク起動型状態レジスタx2、リソースAによるタスクa2、リソースBによるタスクb2、リソースCによるタスクc1、タスクc1の後段に設けた情報収集型状態レジスタz3とから構成してある。
【0057】
これらの一意シナリオモジュール62、64、66を作成するルールは、次の(1)〜(5)のようになっている。
(1)各タスクをどういう前後関係、どういう因果関係で起動するかによってシナリオ(タスクの実施順序)を構築できるが、タスクの接続としてあるタスクが終わったら必ずこのタスクが開始する、という関係を持ち、その前後関係と接続関係がシミュレーションの進行の変化手順に拘わらず不変であるものを最長になるまで繋げることができる。そして、シミュレーションのあらゆる局面が必ずどれかの一意シナリオモジュールに属するように、言い換えれば複数の一意シナリオモジュールの集合がシミュレーションの全シナリオをカバーできるようになるまで一意シナリオモジュールを作る。勿論、シナリオシーン(処理工程)の重複があってはならない。タスクが1つしかない一意シナリオモジュールもありうる。一意シナリオモジュールにおいて本質的なことは、前段タスクに対する後継タスクの前後関係の絶対性であり、間に関連しない別のタスクを挟むことはない、ということである。しかしながら、時間的には、前段が終了したら直ぐに後継タスクが開始しなければいけないというものではない。例えばその時、後継タスクが以前に起動された分のオペレーション(タスク)をまだ続行中ならば、それが終わるまで待たなければならないし、後継タスクの仮想リソースが他の一意シナリオモジュール内のあるタスクで既に使われている場合は、それが終わるまで待たなければならない。
【0058】
(2)一意シナリオモジュールを作成する場合、あるタスクからシミュレーションの変化手順に応じて択一の形で複数のタスクに枝分かれ(選択分岐)が存在するとき、一意シナリオモジュールはそこで終わる。
【0059】
(3)一意シナリオモジュールの作成においては、あるタスク終了によって後継のタスクを起動する場合に、複数のタスクが一斉(並列分岐)に起動するときは、一番関連が強いタスクを後継として一意シナリオモジュールの作成を続けてもよい(勿論、分岐する前のところで終わってもよいが、続けた方が一般にシナリオが簡明になる)。このように複数に分岐するときは、後述するように、その部分に状態レジスタを挿入して、そこから同時に起動したい他の一意シナリオモジュールを起動することになる。
【0060】
(4)できた一意シナリオモジュールが全てのシナリオシーン(シミュレーションのすべての処理工程)をカバーするまで一意シナリオモジュールを新たに追加して行く。
【0061】
(5)一意シナリオモジュールの中で、さらには一意シナリオモジュール間で、同じタスクが何回現れても構わない。重複してならないのはシナリオシーンである。
【0062】
なお、実施形態においては、便宜上、上記のようにして作成される一意シナリオモジュールの先頭、末尾、場合によっては中間に付加した状態レジスタを含めて、特に混乱を生じるおそれのないときは一意シナリオモジュールと呼ぶ。
【0063】
このような一意シナリオモジュールを用いたこの実施形態においても、シーケンシャルプロセスにおけるセンサ/制御系に相当するものは、前記実施形態と同様に、タスクとの接点である状態レジスタ群と、状態レジスタから得られた状態データを用いて意思決定を行なう工程制御手段14によって実現している。
【0064】
状態レジスタは、前記実施形態と同様に、記憶機能を有する一種の関数(通常は時間要素をもたないが、時間遅延のような例外もある)であり、タスク起動の仲介や仮想リソースの状態情報収集を行なう。そして、タスク起動のための状態レジスタ(例えば、状態レジスタx1、x2)は、各一意シナリオモジュールの冒頭に置かれ、工程制御手段14のデータ入力/論理演算部24の指令によって起動されると、設定に従って関連フラグのリセット、カウンタのリセット等を行なったのち、次段のタスクを起動する。
【0065】
仮想リソースの情報収集を行なう状態レジスタ(例えば、状態レジスタz1、z2、z3)は、通常、各一意シナリオモジュールの末尾につけられ、一意シナリオモジュールの最後のタスクによって起動される。起動された情報収集型状態レジスタは、その設定に従ってイベントフラグ等を立て、一意シナリオモジュールの情報をデータ入力/論理演算部24に伝える。
【0066】
また、一意シナリオモジュールの途中の状態を伝える必要がある場合は、第2の一意シナリオモジュール64中に示した状態レジスタy2のように、状態レジスタを適切なタスクの後ろに挿入し、そのタスクの終了タイミングで挿入した状態レジスタが起動される。ただし、途中に挿入された状態レジスタは、データ入力/論理演算部24からの指令によって起動してもよい。この場合は、このレジスタ位置から一意シナリオモジュールの最後までのタスクが順次起動されることになる。なお、前記実施形態のように、一意シナリオモジュール中の1つのタスクを複数に分割し、その間に状態レジスタを挿入してもよい。
【0067】
このように、状態レジスタの記憶機能をイベントフラグだけでなくカウンタや識別番号の記憶機能として使用し、タスクにループ処理をさせたり、一意シナリオモジュールに分岐識別子に基づく分岐をさせることもできる。
【0068】
工程制御手段14のデータ入力/論理演算部24は、前記実施形態と同様であって、状態レジスタからフラグ等の状態データを読み、それに論理演算や遅延等の時間演算を施し、結果が「真」になったら適切な一意シナリオモジュールを、状態レジスタを介して起動する。データ入力/論理演算部24の行なう演算は、例えば、
【数4】
【数5】
【数6】
などである。
【0069】
各一意シナリオモジュール62、64、66は、先頭のタスクがタスク実行部であるシステムコントローラ52を介して工程制御手段14によって起動され、先頭のタスクが起動されると、一連のタスクがシステムコントローラ52の自律的タスク順次起動機能部56によって、図3の上から順に自動的に起動される。
【0070】
すなわち、自律的タスク順次起動機能部56は、一意シナリオモジュールの冒頭の状態レジスタがデータ入力/論理演算部24からの指示によって起動され、あるいは冒頭のソースタスクが動き始め、そのレジスタやソースタスクが終了するとこれを検知して次段のタスクを起動し、この起動されたタスクが終了すると、さらに次のタスクを起動する、という具合に一意シナリオモジュールの末端のタスクまで各タスクの起動を順順にリレーする。そして、タスクが仮想ワークを扱っていれば仮想ワークもリレーされる。また、一意シナリオモジュールの中では、一意シナリオモジュールを構成している複数のタスクが同時に実行状態を取り得る。これが普通のフローチャートで表現されるプログラムと異なる点である。ただし、一意シナリオモジュールにおいて、後継(後段側)タスクが稼動中であれば、前段のタスクはそれが空くまで待つ。
【0071】
そして、各一意シナリオモジュールは、最後のタスクによる仮想ワークに対する処理が終了すると、一意シナリオモジュールの末尾に配置してある情報収集型状態レジスタ(例えば、状態レジスタz1)が最後のタスクによって起動される。この状態レジスタは、起動されるとイベントフラグを立てて状態値が「1」となる。状態レジスタの状態値は、システムコントローラを介して工程制御手段14のデータ入力/論理演算部24に入力される。データ入力/論理演算部24は、所定の論理演算を行ない、この演算が「真」であると、次の一意シナリオモジュールを起動する信号を出力する。
【0072】
例えば、データ入力/論理演算部24は、数式4に示したロジックが与えられている場合、一意シナリオモジュール62の状態レジスタz1の状態値が「1」となると、「状態レジスタx2を2秒後に起動せよ」との信号をシステムコントローラ52に出力する。これにより、システムコントローラ52は、2秒後に状態レジスタx2を起動する。状態レジスタx2は、起動されると状態レジスタz1のイベントフラグをリセット(状態値を「0」にリセット)する。そして、システムコントローラ52の自律的タスク順次起動機能部56は、状態レジスタx2が状態レジスタz1のイベントフラグをリセットすると、状態レジスタx2の後段に位置するタスクa2以下のタスクを順次起動する。以下同様にして各一意シナリオモジュールが起動され、タスクが実行される。
【0073】
リソースコンフリクト調停機能部58は、同一の仮想リソースに対して同時に複数のタスクが要求されたときに、どのタスクを優先させて実行するかを調節するようになっている。すなわち、一意シナリオモジュールは、一般に同時並行的に複数が稼動する。各一意シナリオモジュールは、タスクから構成されているので、並行して稼動している複数の一意シナリオモジュール内のタスクが同時に同一の仮想リソースを要求することがありうる。この場合、その仮想リソースのあるタスクが既に走っているときは、それが終了するまで待つ必要があるが、次に動かすタスクとしては、実行を要求された複数のタスクからある基準でひとつのタスクを選択する必要がある。リソースコンフリクト調停機能部58は、このようなリソースコンフリクトが起こった場合に、タスク優先度記憶部60に格納してある優先度の基準に従ってタスク間の折り合いをつけ、仮想リソースに属するタスクが同時に2つ以上起動しないようにする。コンフリクト克服の基準としては、タスクごとに予め優先順位を設定する方法、早く要求したタスクを先に実行する方法、さらに別の状態レジスタデータを参照して起動タスクを決定する方法等がある。
【0074】
リソース予約/予約解除機能部59は、一意シナリオモジュール内で、近い将来ある仮想リソースを使用することが確実な場合、その仮想リソースを予約することを可能にし、また使用後、仮想リソースの予約を解除することを可能にするようになっている。すなわち、その一意シナリオモジュール内のあるタスクa2の後ろにいくつかのタスクを挟んでリソース(仮想リソース)Cを使用するタスクc1がある場合、タスクa2の直後でリソースCを予約して他のタスクに使われないようにし、c1の順番がきてリソースCを使用し終え、さらにリソースCから仮想ワークを搬出する等、リソースCを他で使える状態にしたらリソースCを開放するのである。リソースコンフリクト調停機能が実際に仮想リソースを利用する時点になって働くのに対し、リソース予約/予約解除機能は、将来の利用を見越して働く。
【0075】
例えば、一意シナリオモジュールで仮想ワークを加工するタスクa2、その仮想ワークをリソースCに搬送する天井クレーン(仮想リソース)Bのタスクb2、リソースCで仮想ワークを加工するc1、リソースCから仮想ワークを搬出するタスクb3の順で並んでいるとする。もしも、リソース予約/予約解除機能がないと、タスクa2が仮想ワークの加工を終えると直ぐに(リソースBが空いていれば)リソースBがリソースCに仮想ワークを搬送しようとするが、そのときリソースCが別の仮想ワークで塞がっていれば、リソースBはそこでリソースCが空くのを待つ。もしも、リソースCから仮想ワークを搬出させるタスクがリソースBに割り当てられているとすると、天井クレーンBは永遠にリソースCの前で待つことになる。このようなデッドクロスは、タスクa2の直後にリソースCの予約を入れ、タスクb3の直後にリソースCの予約解除を入れれば回避できる。
【0076】
リソース予約およびリソース予約解除は、「リソース予約」、「リソース予約解除」命令で行ない、一意シナリオモジュールに一種のタスクとして自在に挿入できる。「リソース予約」、「リソース予約解除」命令の因数は、リソース名である。一意シナリオモジュールで上から順にタスクが起動され、「リソース予約」に到達したら、リソース予約/予約解除機能部59は、その仮想リソースの予約状況を見、先約がなければ予約を登録するとともに、次のタスクを起動するし、もしも既に他の予約が入っていて、仮想リソースが直ぐに使用できない状況であれば、その仮想リソースの待ち行列に予約を加え、自分の番がくるまで待たせるのである。
【0077】
予約解除命令は、リソースCの利用後、リソースCを他のタスクに提供できるようになるところに挿入するが、その挿入場所はシナリオの流れによって決まり、リソース予約の挿入された一意シナリオモジュールと異なるモジュールの場合もありうる。
【0078】
図4は、一意シナリオモジュールを用いたシミュレーションの仕様記述法(一意シナリオモジュールの連結法)の一例を示したものである。図4に示したように、各一意シナリオモジュール62、64、66は、相互に他と区別のできる塊として記述する。各一意シナリオモジュールは、それぞれタスク欄70、内容記述欄72、優先度欄74を有する。そして、各一意シナリオモジュール62、64、66に属する各タスクは、タスク欄70に起動する順序に上から下へと書く。また、タスクの属するリソース名もタスク欄70に明記する。
【0079】
タスク欄70に記述した各タスクに対応した内容記述欄72には、タスクの内容、すなわち仮想リソースによる仮想ワークに対するオペレーションの内容を記述する。ただし、内容記述欄72に記載される各タスクの内容の詳細は、別シートとしてもよい。さらに、各タスクに対応した優先度欄74には、そのタスクの優先度情報を記載する。また、適宜、リソース予約、リソース予約解除命令を挿入している。これにより、システムコントローラ52の自律的タスク順次起動機能部56およびリソースコンフリクト調停機能部58およびリソース予約/予約解除機能部59への必要データが与えられたことになる。
【0080】
状態レジスタの名称や番号などは、タスク欄70に記載される。そして、状態レジスタの状態値、演算内容は、内容記述欄72、優先度欄74と対応した部分に記述してよい。状態レジスタの状態値は、状態レジスタが取りうる値であって、例えば状態レジスタz1の場合、「0」または「1」であり、状態レジスタy2の場合、「0」または「1」〜「5」までの整数である。また、状態レジスタの演算内容は、「フラグをリセットする」とか「カウンタをカウントアップする」とかである。
【0081】
この仕様記述法においては、符号80に示したように、論理演算部80を設けて工程制御手段14のデータ入力/論理演算部24が行なう演算内容を記述する。この論理演算部80には、各状態レジスタの起動条件が演算を実行する順に上から下に記述される。勿論、論理演算部は、一箇所にまとめて記述する必要はなく、分かり易さを増すために関係する一意シナリオモジュールに隣接するように分散して記述してもよいし、チャートによる図示を図ってもよい。
【0082】
このようにして複数の一意シナリオモジュールを作成し、これらを相互に連結してシミュレーションの内容を構築するシミュレーションアーキテクチャによれば、複雑で一見無秩序なシーケンスコントロールの対象を、システムコントローラ52の自律的タスク順次起動機能部56とリソースコンフリクト調停機能部58およびリソース予約/予約解除機能部59によって、自律的に稼働する複数のタスクからなる一意シナリオモジュールの集まりとして再編成し、一意シナリオモジュール同士の前後関係、因果関係を考えればよいようにできる。従って、シミュレーションの内容(シナリオ)を容易に理解できるようになり、一般性を失うことなくシミュレーション構築作業を簡単化できる。
【0083】
すなわち、シミュレーションモデルの設計者は、実際のワークの処理工程に沿って複数の一意シナリオモジュールを作成し、これらを図4に示した連結法によって各一意シナリオモジュールを相互に連結した仕様書を作成して、シミュレーションを構築する人に渡すことにより、設計者の意図、シミュレーションの内容を容易に理解でき、正確なシミュレーションを容易に構築することができる。また、タスク展開型の本アーキテクチャとよく整合する図4に示したシミュレーション仕様記述法を採用することにより、エンジニア間、顧客と請負者間で容易かつ厳密なコミュニケーションが可能となるだけでなく、その仕様書からのシミュレーションモデルの作成作業が直接的かつ円滑となり、工数の削減、手戻りの減少が図られる。また、厳密かつ分かりやすい仕様書を作成できるため、作成したシミュレーションモデルの高品質な維持、変更、管理が可能となる。
【0084】
また、上記のタスク展開型バーチャルシミュレーションアーキテクチャと一意シナリオモジュール連結法の考えを適用してシミュレーションを構築し、その結果得られる一意シナリオモジュール間のシーケンスコントロールと、一意シナリオモジュールに内蔵した自律的順次タスク起動とリソースコンフリクトロジックとリソース予約/リソース予約解除とを顕示化したコントロールとを組み合わせることによって、効率的な実システムのシーケンスコントロール装置を設計することができる。
【0085】
図5〜図7は、本発明による「効率的シーケンスコントロール実現法およびシミュレーション仕様記述法」に対応した具体的インターフェースの例を示したものである。これらの図は、スプレッドシートに一意シナリオモジュールを縦に配列したもので、論理演算も一意シナリオモジュールの中に記述してある。そして、スプレッドシートの記載内容を明確にするために、6つの一意シナリオモジュールを図5〜図7に分割して示してあるが、1つのスプレッドシートに記載してよいことは勿論である。なお、この実施例は、原石から3つの玉を削りだす処理工程を示している。処理工程の概念図を図8に示す。
【0086】
各一意シナリオモジュール内では、タスクを実行する順に上から下に並べて記述してある。また、状態レジスタ(状態Noレジスタ)は、仮想リソースと同等に扱い、1つの状態データと複数の関数を持ちうる。状態レジスタの状態データとしては、整数(状態No)を扱えるものとしている。このスプレッドシートの1列目にはタスク名を示すオペレーションタスクIDが記載され、2列目にはリソース名が記載される。また、スプレッドシートの3列〜7列には、状態レジスタの扱う状態No(実施例の場合、整数をとる変数名がレジスタ名と同じ名にしてある)の変域、状態レジスタがとる状態Noの初期値、状態レジスタが行なう論理演算の際に必要とするINPUT変数名、状態レジスタが行なった論理演算の結果として出力するOUTPUT変数名、状態レジスタが行なった論理演算の出力値(OUTPUT値)が記述される。
【0087】
すなわち、図5の一意シナリオモジュールIの状態NoレジスタR101は、変域が「0」と「1」との2つであって、初期値が「0」であることを示している。また、状態NoレジスタR101は、論理演算の結果として出力(OUTPUT)する変数がR101であり、論理演算の結果、変数R101が「1」になることを示している。
【0088】
また、図6の一意シナリオモジュールIVにおける状態レジスタR401は、変域が「0」と「1」〜「5」の整数とであって、初期値がデフォルト値として「0」が与えられ、論理演算の入力(INPUT)に変数R401を必要とし、論理演算結果の出力の変数がR401とR302とであることを示している。まら、状態レジスタR401は、論理演算することにより、変数R401を1ずつカウントアップし、変数R302をリセットして「0」にする。そして、状態NoレジスタR401は、変数R302が「1」となったときに起動されることを示している。
【0089】
そして、スプレッドシートの8、9列には、状態レジスタの起動条件を定義するためINPUT変数名とその条件が記述される。この条件が成立した瞬間に、そのレジスタの関数が起動(状態Noレジスタ値の演算)されるのである。
【0090】
このような起動条件の記述は、一般に一意シナリオモジュールにまたがるため、シミュレーションの規模が大きくなるにつれて分かりにくくなる傾向がある。しかしながら、一つひとつのロジックは比較的単純である。そのため、「この一意シナリオモジュールが終わったら、あの一意シナリオモジュールを起動する」とか、「この一意シナリオモジュールのこのタスクからそのタスクまでを10回繰り返す」といった特定の目的をもったロジック(以下、機能ロジックと称する)に対し、それぞれの機能ロジックに係わる状態レジスタ名と変数名等とをそのロジック特有の識別しやすい記号を用いて統一的に記述し、さらにその機能ロジックを抜き出して別々のシートに記述して管理し、あるいはデータベースに記述して管理し、一意シナリオモジュール中の記述には、それをコピーするという手法をとることによって、ロジックを見やすくし、デバッグを容易にし、ロジックの再利用を可能にし、またロジックの維持・管理を容易にできる。
【0091】
前記の玉削り出し工程に対してその方法を適用した例を図9に示す。図9で左半に一意シナリオモジュール、右半に機能ロジックを数例示している。一意シナリオモジュールは、図5〜図7の列の順序を入れ換えたり、一部省略しているが、基本は図5〜図7と同等である。図5〜図7の統一性のないレジスタ名称R401などの代わりに、例えばR5−01、S5−04のように、1つの機能ロジック中の変数名等を5−xxという記号で統一することによって視認性、検索性を高め、管理しやすくしている。
【0092】
スプレッドシートの10列目には、一意シナリオモジュール間のリソースコンフリクト解決のための優先度(プライオリティ)が整数によって記載される(図5〜図7参照)。実施例の場合、整数の値が大きいほど優先度が高くなっている。さらに、スプレッドシートの11列目には、タスク内容、その他の摘要を記述する。このシートは、単に仕様記述書として使うことができることは勿論、このスプレッドシートとシミュレーションの間にインターフェースをとることにより、この仕様に定義されたとおりのシミュレーションを実行させることもできる。
【0093】
以上に述べたように、自律的タスク順次起動機能、リソースコンフリクト調停機能、リソース予約/予約解除機能を同時に用いて現実の世界を忠実に再現するシミュレーションを構築できるが、これは詳細なリソースモデル、レイアウト、運用方針等が既にあることを前提としている。しかしながら、最初からこれらが揃っていることは稀であり、本当はむしろ何も決まっていないところから出発して、これらを順次明確化、具体化していきたいのである。
【0094】
実は、自律的タスク順次起動機能、リソースコンフリクト調停機能、リソース予約/予約解除機能をオン、オフできる機能を装備したシミュレーション装置と、それに対応した方法論によって、漠然としたミッション概念だけがあり、実現手段である機器の具体的イメージは勿論、運用についてもノーアイディアの段階から、必要な機器の台数、機能・性能、形状寸法、全体のレイアウトを、根拠をもって具体化することはもとより、運用についても実際上、実物と同等と考えられるレベルまで詳細に検討することができる。しかも、前段階の成果の上に立って連続的に検討していくとこができるのである。この過程で仕様書も連続的に深化し、概念検討段階の要求書レベルのラフなものから出発して、徐々に具体化、詳細化、厳密化されていく。そのシミュレーションシステムおよび方法の実施例を、図10ないし図17に基づいて説明する。
【0095】
図10において、符号100は、一般的なシステム構築のフェーズとフェーズに応じた検討項目を列挙しており、実体の裏づけのない抽象的システム要求を出発点として、最終的にそれを実現する物理的手段を具体化する流れを示している。符号110は、シミュレーション装置であって、前記実施形態と同様にタスク記憶部、状態検出手段、制御手段(工程制御手段)、表示手段等を有しており、また自律的タスク順次起動機能、リソースコンフリクト調停機能、リソース予約/予約解除機能をオン、オフできる機能を装備している。さらに、このシミュレーション装置110は、前述した仕様記述を入力として、シミュレーションを自動生成する機能を有する。
【0096】
シミュレーションは、例えば図11に示す書式の形で仕様が記述されていれば曖昧なく自動生成できる。すなわち、シーケンスは厳密に定義されており、タスクは単なる時間経過なので、仮想リソース(またはタスク)の形状、レイアウトを予め決めておけばシミュレーションに必要なすべての条件が与えられたことになるからである。図11および図12の書式からシミュレーションを自動生成するフローを、図1を参照しながら図16に基づいて、より詳細に説明する。また、図17には、図12の書式から自動生成されたシミュレーションのイメージを示す。
【0097】
図11は、リソース欄が空白のシミュレーション仕様である。第2列のタスク名は漏れなく記載されており、その目安時間は第6列に記入されている。第1列と第4列の状態レジスタ関連情報も漏れなく記入されている。図12は、図11で空白であったリソース名を埋めたものである。シミュレーション自動生成は、これらの仕様から一意的にシミュレーションを作ることを意図している。図11からは、仮想リソースからの制約のないシミュレーション(以下、抽象プロセスシミュレーションと称する)を作り、図12からは仮想リソースによる制約を踏まえたシミュレーション(以下、概略実体シミュレーションと称する)を作る(図11および図12の例は、たまリソース予約/予約解除命令が含まれていないが、図16のフローチャートは、リソース予約/予約解除も考慮している)。
【0098】
シミュレーション自動作成のためには、まず仕様(スプレッドシート)を読み込み(ステップ150)、一意シナリオモジュールの数を数える(ステップ152)。その数をNとする。次に、第3列が空白であるかどうかによって、抽象プロセスシミュレーションか概略実体シミュレーションであるかを判断する(ステップ154)。
【0099】
抽象プロセスシミュレーションと判断したときは、ステップ156においてM=1として、最初の一意シナリオモジュールにつき、上から順にタスク(図11の第2列)を抽出し、図1のタスク記憶手段18にタスク名とタスクを記憶する。タスクの内容は、状態レジスタの場合は図11の第4列のレジスタ演算内容であり、ソースの場合は図11の第6列の発生時間間隔等を踏まえたソースタスクであり、その他の場合は図11の第6列の時間を採用した単純時間経過タスクである。また、各タスクに対応してタスク名と同名のブロックモデルを生成する(ステップ158)。続いて、その一意シナリオモジュールの各タスクが上から順に自律的に起動されるよう、自律的タスク順次起動機能部を設定する(ステップ160)。そして、Mに1を加算してM>Nを判断し(ステップ162、164)、M>Nでない場合、ステップ158の戻ってステップ158からステップ164までの以上の処理を、残りのすべての一意シナリオモジュールに対しても行う。
【0100】
それが終わったら、抽象プロセスシミュレーションの場合は、全部の一意シナリオモジュールから、図11の第1列の起動条件を抽出し、図1のデータ入力/論理演算部24に記憶する(ステップ166)。このようにして過不足のない抽象プロセスシミュレーションが得られる。
【0101】
ステップ154において抽象プロセスシミュレーションでないと判断した場合、ステップ154からステップ170に進んで概略実体シミュレーションであるかを判断し、概略実体シミュレーションと判断した場合には、やはりM=1として(ステップ172)、最初の一意シナリオモジュールにつき、図12からタスクを抽出して、図1のタスク記憶手段18にタスク名とタスク内容とを記憶する。これは、抽象プロセスシミュレーションの場合と同様である。概略実体シミュレーションでは、それに加えてソース名も記憶する。モデルは、仮想リソースに対応してリソース名と同じ名前のブロックを生成する。ただし、最初から同名のモデル(詳細モデル)が存在するときは生成せず、そのモデルを使用する(ステップ174)。続いて、その一意シナリオモジュールの各タスクが上から順に自律的に起動されるよう、自律的タスク順次起動機能部を設定する(ステップ176)。その後、Mに1を加算してM>Nを判断し(ステップ178、180)、M>Nでないときにはステップ174に戻リ、ステップ174ないしステップ180の以上の処理を、残りのすべての一意シナリオモジュールに対しても行う。図17に一意シナリオモジュールと自律的タスク順次起動機能部との関係を図示する。
【0102】
それが終わったら、概略実体シミュレーションの場合は、全部の一意シナリオモジュールに対して、同一の仮想リソースに属するタスクを括りだし、仮想リソースのコンフリクトが起こった場合にそれが調停されるように、リソースコンフリクト調停機能部を設定する(ステップ182)。また、一意シナリオモジュール全体から、同一の仮想リソースに属するリソース予約/予約解除命令を抽出し、その命令のところで仮想リソースが予約あるいは解除されるようにリソース予約/予約解除機能部を設定する(ステップ184)。最後に、全部の一意シナリオモジュールから、図12の第1列に記載された起動条件を抽出し、図1のデータ入力/論理演算部24に記憶する(ステップ186)。このようにして過不足のない概略実体シミュレーションが得られる。図17にリソースコンフリクト調停機能部と仮想リソースとの関係、データ入力/論理演算部と状態レジスタとの関係を示す。
【0103】
また、シミュレーションをユーザが作成し、編集するのを支援するシミュレーション作成・編集機能、シミュレーション実行機能を有する。また、実行しているシミュレーションから各タスクのシミュレーションにおける稼働時間を抽出し、平均値などの統計処理を行なうタスク時間抽出・処理機能を有する。
【0104】
図10の符号120は、シミュレーション仕様書であって、その更新の流れを示す。仕様書120は、フェーズが進むにつれて次に示すシミュレーションと歩調を合わせて詳細、厳密化される。同図符号130は、シミュレーション装置110とシミュレーション仕様書120とを活用して実施できるシミュレーションであって、シミュレーションの特徴および検討の流れを示している。
【0105】
概念の初期段階では、抽象プロセスシミュレーション131を実施する。これは、実体のない抽象プロセスをシミュレーションするもので、シミュレーション装置110のリソースコンフリクト調停機能およびリソース予約/予約解除機能はオフする。準備としてまず仕様書120を作成する必要があるが、これは要求分析を踏まえて機能を洗い出し、システム要求を満たすように機能(プロセス)の流れを考え、全体仕様を図11のように記述するのである。仕様書120を入力として、シミュレーション装置110は、本図に図示しない工程制御手段が仕様書120に記載された仕様に基づいて、タスク記憶部とタスク状態情報手段を利用して自動で抽象プロセスシミュレーション131を生成する。仮想リソースの制約を度外視してプロセスのみに着目し、各プロセスをプロセスに必要な時間経過タスクとして表現する。要求機能レベルの検討を幅広く迅速に実行できるので、全体のプロセスのあるべき流れについての考えをまとめ、仮想リソースの制約を考慮するに当たっての出発点および方針を整理することができる。
【0106】
実体のない抽象プロセスを視覚化するため、各タスクに対応してタスクと同じ名前をした簡単な形状も自動生成する。これらの形状のレイアウトは、手動で編集でき、相互に関連の強いプロセスを近くに置くなど、プロセスの直感的把握に役立てることができる。また、シミュレーション中、各タスクが動いているとき、それを表す形状の色を変化させるとともに、仕様記述の備考欄の文章が、画面上にタスクの形状に付随して表示され、抽象プロセスシミュレーション131の内容把握が容易になるようにする。そのイメージを図14に示す。時間経過を記録するためガントチャートも出力する。
【0107】
抽象プロセスシミュレーション131でプロセスの流れが固まると、次にどのプロセスをどのような実体に割り当てるか、いわゆる機能配分の検討が必要になる。これは、概略実体シミュレーション132で行なう。これは、仮想リソースを意識したシミュレーションであり、より現実に近づく。シミュレーション装置110は、自律的タスク順次起動機能、概略実体シミュレーションリソースコンフリクト調停機能、リソース予約/予約解除機能をすべてオンにする。
【0108】
抽象プロセスシミュレーション131でそれぞれ独立としたタスクを、実体であるリソースに割り当てるのであり、1つのリソースが複数のタスクを受け持つことを意味する。抽象プロセスシミュレーション131から概略実体シミュレーション132に移るにあたって、同じ仮想リソースに属するタスクが同時に稼動できなくなるだけでなく、実体としてのリソースを考慮するためのプロセス追加、例えば段取り替えの追加などの必要性も出てくる。最初は、リソース予約/予約解除機能を使わず、検討が進むにつれて考慮に入れていく。仕様書120は図12のように記述する。
【0109】
すなわち、タスクの記述は、抽象プロセスシミュレーション131と同様、単純時間経過で表現するが、リソース名としては、リソース欄に実体名を入れる。シミュレーションは、仕様書120からシミュレーション装置110が前記と同様に自動生成する。リソースモデルは、仕様書のリソース欄に書かれた名称と一致する形状データが存在し、シミュレーションの中に既に定義されている場合は、その形状を使用し、位置情報も踏襲するが、形状データのないリソースについては、簡単なブロック等の形状を自動生成し、配置も自動で行なう。検討の中で、リソースをより現実的な仮想リソースの形状に置き換え、またレイアウトも手動で編集することによって、徐々に現実世界に近づけていくことができる。また、シミュレーション中、タスクが動いているとき、タスクの属する仮想リソースを表す形状の色を変化させるとともに、仕様記述の備考欄の文章が画面に、仮想リソースの形状に付随して表示され、概略実体シミュレーション132の内容把握が容易にできるようにしている。そのイメージを図15に示す。時間経過を記録するためガントチャートも出力する。これによって迅速にプロセスおよび機器への機能配分、レイアウトの大まかな検討をすることができ、代替案を絞り込み、例えば基本設計のための要求仕様として整理することができる。
【0110】
概略実体シミュレーション132で機器の識別、台数、ラフなレイアウト、ラフな工程時間、運用が得られたら、次はモザイク状シミュレーション133を行なう。これは、前記の概略実体シミュレーション132の成果をベースにして、シミュレーション装置110のシミュレーション作成・編集機能を用いて仮想リソースの形状・構成、タスク、シーケンスコントロールを洗練していく。
【0111】
図13に示すように、仕様書120の記述も概略実体シミュレーションのものを継続的に洗練していく。タスクの仕様が備考欄に書ききれないときは、詳細仕様を呼び出す形にする。この洗練化は、全体を一律に行なうのではなく、目的に応じ、一番効果のあるものから実施する。すなわち、概略実体シミュレーション132という全体的に木目の粗いシミュレーションから出発し、必要な時、必要なところから詳細化することによって迅速で高い費用対効果を享受できる。
【0112】
優先付けの観点は、シミュレーションの時間推定精度の向上とか、プレゼンテーションに重要な視覚効果などであるが、時間推定精度の向上が目的であれば、固定した時間経過では精度よく近似できないタスク/リソースを洗い出し、それを詳細化するだけで、全体の精度向上に大きく貢献できる。例えば、その時々の経路の長短によって所要時間が大きく変動する天井クレーンのオペレーション等がその典型である。
【0113】
詳細シミュレーション134は、モザイク状シミュレーション133の洗練化が究極まで進んだイメージであり、いわゆるバーチャルシミュレーションである。
【0114】
概略実体シミュレーション132とモザイク状シミュレーション133、詳細シミュレーション134とは、相補的に使うのが効果的である。概略実体シミュレーション132とモザイク状シミュレーション133、詳細シミュレーション134との間で、シーケンスコントロールは容易に共通化できる。するとその間の違いは、モデルの形状とタスク挙動の詳細度の違いだけである。概略実体シミュレーション132は、各プロセスを表すタスクを単純時間経過としているので、作成の容易で計算時間も速いが、タスクの時間の根拠・信頼性という点で難点がある。
【0115】
一方、モザイク状シミュレーション133、詳細シミュレーション134では、時間の精度は、非常に高く見栄えもよいが、一般に作成に時間がかかるし、実行にも多大の時間がかかる。そこで、モザイク状シミュレーション133、詳細シミュレーション134で得られた各タスクの所要時間を、シミュレーション装置110のタスク時間抽出・処理機能部で抽出・記録しておき、平均値を概略実体シミュレーション132のタスクの経過時間として戻せば、概略実体シミュレーション132は、精度のよい、かつ迅速なシミュレーションを提供できる。
【0116】
以上の考えを応用して、監視・制御システムを構成することができる。シミュレーションの場合には、スプレッドシートに前後関係、因果関係を定義された一意シナリオモジュール内のタスクを、その起動タイミングで起動するが、代わりにそのタスクに対応する実機リソースのオペレーションを起動すれば監視・制御システムとして働く。図20は、監視・制御システムの概略を示すブロック図である。なお、監視・制御システム150の説明においては、前記したシミュレーション装置と対応する部分については、同一の符号を付している。
【0117】
図20において、監視・制御システム150は、制御装置152と、実際の複数のリソース(実機リソース)160(160A〜160N)とから構成される。制御装置152は、前記のシミュレーション装置とほぼ同様に構成してあり、入力手段12、工程制御手段14、タスク状態情報手段16、実行タスク記憶・実行手段50、表示手段22を有する。ただし、この制御装置152は、タスク記憶部18を有しておらず、送受信手段154を備えている。また、実機リソース160は、制御装置152により制御され、監視される。
【0118】
各実機リソース160は、それぞれ送受信部162とリソースコントローラ164とオペレーション記憶部166(図21参照)とを有する。実機リソース160は、送受信部162が通信回線170に接続してあるとともに、リソースコントローラ164に接続してある。一方、制御装置152の送受信手段154は、工程制御手段14と通信回線170に接続してある。制御装置152は、図21に示したように、実行タスク記憶・実行手段50にシステムコントローラ52と実行タスク記憶部54とを備える。なお、図21の場合、制御装置152は工程制御手段14と実行タスク記憶・実行手段50のみが示してあり、また実機リソース160の送受信部162が省略してある。
【0119】
システムコントローラ52は、自律的タスク順次起動機能部56、リソースコンフリクト調停機能部58、タスク優先度60、リソース予約/予約解除機能部59を有する。そして、実行タスク記憶部54は、スプレッドシートとして作成され、入力された一意シナリオモジュール62、64、66などが記憶される。これらの働きは、図3のそれぞれに対応する機能と同一である。異なるのは、一意シナリオ中のタスク処理である。図3では、一意シナリオ内のタスクが起動されると、シミュレーションモデルとしてのタスクが実行される。これは、図1に示されるタスク記憶手段から当該タスクが選択され、実行タスク記憶・実行手段50で実行されることを意味する。そして、そのタスクが終了したら自律的タスク順次起動機能部56に伝えられる。これに対し、図21では、一意シナリオ内のタスクが起動されると、通信回線170を通じて、実機リソース160の当該オペレーションの起動要求信号を送信する。そして、実機リソース160から、そのオペレーションが完了したという信号を受信して、それを自律的タスク順次起動機能部56に伝えるのである。自律タスク順次起動機能部56は、オペレーション完了信号(操作の状態情報)を受けると、次のタスクを起動する。
【0120】
すなわち、制御装置152は、自律タスク順次起動機能部56がタスクを起動すると、工程制御手段14がそのタスクに対応したリソース名と操作(オペレーション)名とをシステムコントローラ52から受け取る。工程制御手段14は、オペレーション指示として送受信手段154に送信させる。各実機リソース160の送受信部162は、自分に宛てられたオペレーション指示を受信してリソースコントローラ164に転送する。リソースコントローラ164は、オペレーション指示の内容を解読し、オペレーション記憶部166を検索して対応するオペレーションのプログラムを読み出し、図示しないワークに対する操作を実行する。そして、リソースコントローラ164は、ワークに対する操作が終了するとオペレーション完了信号を出力する。このオペレーション完了信号は、送受信部162を介して制御装置152の送受信手段154に送られる。送受信手段154が受信したオペレーション完了信号は、工程制御手段14を介して実行タスク記憶・実行手段50のシステムコントローラ52に入力される。これにより、自律的タスク順次起動機能部56は、タスクの完了を検知し、次のタスクを起動する。
【0121】
なお、各実機リソース160のリソースコントローラ164は、送受信部162を介してワークに対する操作の状態を時々刻々制御装置152に出力する。制御装置152は、工程制御手段14が送受信手段154を介してそれを受信し、実行タスク記憶・実行手段50のシステムコントローラ52に転送する。システムコントローラ52は、その操作情報を実機リソース160の動作として表示手段22に表示する。
【0122】
図3と図21とにおけるタスク(操作)の違いを明示するため、図21では、図3の対応するタスク名の前にIOという文字を付加している。図21では、IOタスクa2/リソースAとリソースaとの通信以外は省略しているが、他のタスク、他のリソースについても同様な通信があることは勿論である。このようにして、図21では、タイミングよくしかるべきリソースにオペレーションを指示し、また、リソースからそのオペレーションについての完了信号を受け取ることによって、常時工程の全容を把握できるので、過不足のない監視・制御系を構成できる。なお、通信機能の実現は、1対1のワイヤリングでもよいし、LAN等のネットワーク構成でもよい。
【0123】
【発明の効果】
以上に説明したように、本発明によれば、画面に表示する仮想ワークや仮想リソースを、実際のワーク、実際のリソース(機器など)の形状や寸法、配置ばかりでなく、動作やワークに対する操作なども忠実にモデル化して画像として再現し、モデル化した仮想ワークについての処理工程と、この仮想ワークに対するモデル化した仮想リソースの操作の状態とに基づいて、処理工程に従った仮想リソースと操作とを選択して仮想ワークに対する操作を行なうことにより、実際のシーケンシャルプロセスを視覚的に忠実に再現することができ、現実とよく対応のとれたシミュレーションが可能となる。このため、多品種少量生産などのように、ワークの複雑な流れをも再現することができ、実際の生産設備の設計などが容易に行なえてシステムの構築、コスト節減、工期の短縮、品質の向上などを図ることができる。
【0124】
特に、模擬センサともいうべき状態検出手段を設け、工程制御部がこの状態検出手段の出力信号により仮想リソースが仮想ワークに対してないしている操作の状態を判断し、処理工程に従って仮想ワークに対してなす操作を選択して仮想ワークの処理を行なうため、実際のシーケンスコントローラの動作を再現することができ、制御設計を容易に行なうことが可能となる。
【0125】
また、本発明のシミュレーションモデルの作成方法によれば、密接に関連した複数の一続きの処理を、モジュールとしてまとめることにより、複雑な制御内容をわかりやすく簡素にすることが可能となり、シミュレーションモデルの構築を容易、迅速に行なうことができる。そして、モジュールの内容および各モジュール間における関係をスプレッドシートとして記載することにより、シミュレーションの内容を厳密でわかりやすいものとすることができ、エンジニア間や顧客の理解を容易にすることができるとともに、シミュレーションモデルの作成作業を直接かつ円滑に行なえる。 そして、モジュールの内容およびモジュール相互の関係をスプレッドシートとして記述することにより、シミュレーションモデルを作成するための工数の削減が図れ、高品質なシミュレーションを構築できるとともに、作成したシミュレーションモデルの高品質な維持、管理、変更などを容易に行なうことができる。
【0126】
また、前記のシミュレーション装置の基本機能とシミュレーションモデル作成方法を組み合わせて段階的なシミュレーションを行なうことにより、概念検討段階の迅速な概略シミュレーションから詳細設計、運用段階の忠実な詳細シミュレーションまで連続的に効率よく作成することができる。また、詳細シミュレーションで得られた高信頼性データを概略シミュレーションに戻すことにより、高信頼度の迅速なシミュレーションを得ることができる。また、効率的に実システムの監視・制御システムを構築できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る−装置の概略ブロック図である。
【図2】実施の形態に係る実行タスク記憶・実行手段に記憶させたタスクの説明図である。
【図3】他の実施の形態に係る実行タスク記憶・実行手段の説明図である。
【図4】実施の形態に係る一意シナリオモジュールの連結方法を説明する図である。
【図5】実施の形態に係る一意シナリオモジュールを記述したスプレッドシートの一例を示す図である。
【図6】実施の形態に係る一意シナリオモジュールを記述したスプレッドシートの一例を示す図であって、図5に続く一意シナリオモジュールの記載例を示す図である。
【図7】実施の形態に係る一意シナリオモジュールを記述したスプレッドシートの一例を示す図であって、図6に続く一意シナリオモジュールの記載例を示す図である。
【図8】実施の形態に係る玉削り出し処理工程の概念図である。
【図9】一意シナリオモジュールから抜き出した機能ロジックの例を示した図である。
【図10】実施の形態に係る漠然とした概念からシステムを具体化するシミュレーションシステムの説明図である。
【図11】実施の形態に係る抽象プロセスシミュレーションを作成する仕様書の記述例を示す図である。
【図12】実施の形態に係る概略実体シミュレーションの仕様書の記述例を示す図である。
【図13】実施の形態に係るモザイク状シミュレーションの仕様書の記述例を示す図である。
【図14】実施の形態に係る抽象プロセスシミュレーションの説明図である。
【図15】実施の形態に係る概略実体シミュレーションの説明図である。
【図16】実施の形態に係る仕様書からシミュレーションを自動生成する方法を説明するフローチャートである。
【図17】実施の形態に係る自動生成されたシミュレーションのイメージを示す図である。
【図18】シーケンシャルプロセスを説明する概念図である。
【図19】従来のシミュレーションモデルを作成する方法の一例を示す図である。
【図20】実施の形態に係る監視・制御システムの概略ブロック図である。
【図21】実施の形態に係る監視・制御システムの作用の説明図である。
【符号の説明】
10………シミュレーション装置、12………入力手段、14………制御手段(工程制御手段)、16………状態検出手段(タスク状態情報手段)、18………タスク記憶手段、20、50………実行タスク記憶・実行手段、22………表示手段、26………ソースタスク記憶部、28………リソースタスク記憶部、30a〜30c、54………実行タスク記憶部、52………システムコントローラ、62、64、66………モジュール(第1の一意シナリオモジュール、第2の一意シナリオモジュール、第3の一意シナリオモジュール)、150………監視・制御システム、152………制御装置、160A、160B、160C、160N………実機リソース、164………リソースコントローラ、166………オペレーション記憶部。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a simulation model creation method, a simulation method, and an apparatus for simulating a sequential process such as a product manufacturing process by a computer. The present invention also relates to a method and an apparatus for monitoring and controlling a sequential process.
[0002]
[Prior art]
FIG. 18 is a conceptual diagram of a sequential process in a production factory or the like. In the sequential process, a work (not shown) is transported, sorted, deformed, assembled, divided, chemically treated, etc. by a plurality of
[0003]
That is, the
[0004]
A line simulator (simulation apparatus) that simulates such a sequential process reproduces the flow of a work based on a processing step in a factory or the like by a computer in a simulated manner, and is used for examining the throughput of the work. The conventional line simulator considers that it is sufficient to obtain the flow of the target work, and considers that the logic for creating the movement of a virtual work or a device (virtual resource) for simulation is far from the logic of the actual process. Was not a problem.
[0005]
That is, in a conventional line simulator, when modeling a "thing", how the "thing" moves in the system is described. It just described what changed. Then, the description of the simulation for processing the "thing" describes that the thing (Entity) flows through the network represented by the event (Node) and the behavior (Activity).
[0006]
Further, conventionally, when constructing a simulation model, a network is described by symbols as shown in FIG. The network shown in FIG. 1A shows a process of transporting a product (work) in a waiting area or a rear buffer of each machine to the next machine or transport port. Further, the network shown in FIG. 2B shows a process of processing and assembling a product transported by the transport vehicle. When programming the simulation model described by the symbols, the programming is performed for each module corresponding to each symbol.
[0007]
Since such a conventional line simulator has a mechanism for simply expressing the flow of a work, there is an advantage that a simple model can be easily and quickly constructed when an object is simple.
[0008]
[Problems to be solved by the invention]
However, in the conventional line simulator constructed as described above, in the case of a line in which a workpiece flows in a complicated manner, such as in the case of small-lot production of many kinds, events and the like are simply represented, so that the lines can be accurately reproduced and reproduced. Estimating the properties in detail is generally difficult, time-consuming, or often impossible to analyze. Furthermore, in recent years, there has been an increasing demand not only for reproducing the flow of a work but also for examining, by simulation, a behavioral portion of the equipment itself, which is a resource for processing and handling the work.
[0009]
As a countermeasure, create a device model that has a shape and movement close to the real device in the computer from the beginning, and process and handle the virtual workpiece by using the device model with logic similar to real sequence control. For example, when a simulation is performed, not only can it be visually reproduced as accurate movements, but also the construction of the simulation itself can be the system design and control design of the actual system. It can be expected to greatly contribute to improving the quality and shortening the construction period for building the line system. However, in spite of such advantages, there has been no mechanism for systematically expressing a sensor system in a virtual space and controlling the behavior of a device model based on the data. Conventionally, when constructing a line simulation model, a network is described using a specific symbol, and programming of a module corresponding to the symbol is described using a simulation language such as GPSS or SIMSCRIPT. Significant results in improving the efficiency of creating simulation models because there was no good way for engineers to write simulation models in a rigorous and easy-to-understand format and to efficiently implement simulation models according to the descriptions. Could not.
[0010]
The present invention has been made to solve the above-mentioned disadvantages of the related art, and has as its object to facilitate the construction of a simulation model.
It is another object of the present invention to enable a simulation that is well compatible with reality.
Another object of the present invention is to facilitate construction of a monitoring / control system for a sequential process.
[0011]
[Means for Solving the Problems]
The method for creating a simulation model according to the present invention includes a plurality of faithfully modeled virtual resources that operate on a faithfully modeled virtual work, and a plurality of virtual resources that each of these virtual resources makes with respect to the virtual work. Simulation in which each operation in a processing step given for the virtual work is performed by a virtual resource and an operation selected from the stored virtual resource and the operation, and the processing step is executed. A method of creating a model, wherein, among the processing steps given to the virtual work, the operations corresponding to each of a plurality of processings performed in a series in a closely related manner are automatically and continuously performed. It is characterized by being a module to be executed. The contents of the module, the relationships between the modules, and the individual logics for the purpose may be described in a spreadsheet.
[0012]
In a first simulation method according to the present invention, a faithfully modeled virtual work and a faithfully modeled virtual resource are displayed on a screen, and a processing step given to the virtual work and the virtual process by the virtual resource are performed. Based on the state of the operation on the work, a plurality of virtual resources and, from the plurality of operations performed by the virtual resources on the virtual work, a next operation and a virtual resource on the virtual work are selected. The state of the selected operation performed on the virtual work by the selected virtual resource is displayed on a screen.
[0013]
The second simulation method according to the present invention includes, among processing steps given to a modeled virtual work, an operation corresponding to each of a plurality of processings performed in a series in a closely related manner. A module that executes automatically and continuously, a content of this module, a relationship between a plurality of modules, and individual logic having a purpose are formed into a spreadsheet, and the virtual work is performed based on the specification given as the spreadsheet. And a virtual resource modeled on the screen, and based on the processing steps given for the virtual work and the state of operation on the virtual work by the virtual resource, a plurality of virtual resources and each virtual resource From the plurality of operations performed on the virtual work, the next Operation and a virtual resource, the selected virtual resource displays the state of the selected operation performed on the virtual work on a screen, and further, from the spreadsheet in the concept study stage without a specific image for the realizing means. The spreadsheet is updated based on the executed simulation, and the simulation based on the new spreadsheet and the update of the spreadsheet are repeated to execute a detailed and faithfully modeled simulation.
[0014]
It is desirable to create a simulation model while mutually supplementing a simulation model at the stage of schematic specification of the realization means and a simulation model at a stage of more detailed and faithful modeling.
[0015]
The first simulation apparatus according to the present invention for performing the above-described simulation method includes a plurality of faithfully modeled virtual resources for performing operations on the faithfully modeled virtual work, and A task storage unit that stores a plurality of operations performed on the virtual work, state detection means for detecting a state of the operation performed on the virtual work by the virtual resource, and a task storage unit that is provided in advance for the virtual work. Based on the processing step and the output signal of the state detection means, the virtual resource and the operation are selected from the task storage means according to the processing step, and the operation selected for the virtual work is selected by the selected virtual resource. Control means for performing the virtual work and the virtual resources, Resources are characterized by having a display means for displaying the operation state makes with the virtual workpiece.
[0016]
Further, the second simulation apparatus according to the present invention includes a plurality of modeled virtual resources for performing an operation on the modeled virtual work, and a plurality of operations each of the virtual resources performs on the virtual work. A stored task storage unit, state detection means for detecting a state of an operation performed by the virtual resource on the virtual work, and a processing step given in advance for the virtual work and an output signal of the state detection means. Control means for selecting the virtual resource and the operation from the task storage means in accordance with the processing step, and performing the selected operation on the virtual work by the selected virtual resource; and controlling the virtual work and the virtual resource. And the state of the operation performed by the virtual resource on the virtual work. Display means for indicating, the control means, among the processing steps given to the virtual work, the operation corresponding to each of a plurality of processes that are performed in a series of closely related, It is a module that is executed automatically and continuously, and the contents of this module, the relationships among the plurality of modules, and individual logics having a purpose are stored in the task storage unit based on specifications given as a spreadsheet. A simulation is automatically created using the virtual work, virtual resource, and the state detection means.
[0017]
In the monitoring / control method according to the present invention, in a process performed on a workpiece, each operation corresponding to each of a plurality of processes performed in a series in close relation is automatically and continuously performed by a resource. And a logic having a relationship between the module and the plurality of modules and an individual logic having a purpose is input to the control means, and the control means activates resources corresponding to the operation in the module, and The operation is executed, and the contents of the module are sequentially executed by the resource based on the operation state information output from the resource.
[0018]
In addition, the monitoring / control system according to the present invention includes a resource for executing an operation corresponding to a process to be performed on a work, and a plurality of resources to be performed in a series of processes closely related to the work. Input means capable of inputting a module created for automatically and continuously executing each operation corresponding to each of the processes by the resource, a relationship between the plurality of modules, and individual logic having a purpose, An execution task storage unit that stores the module input by the means, and reads out the operations and resources in the module stored in the execution task storage unit, activates the corresponding resource via a transmission / reception unit, and While performing the operation on the work, based on the state information of the operation transmitted by the resource, It is characterized by having a control unit for sequentially executing the module stored in the line task storage unit resources. The contents of the modules and the relationships between the modules, and individual logics having a purpose are created as spreadsheets and read by input means.
[0019]
[Action]
According to the method for creating a simulation model of the present invention as described above, a series of closely related processes can be combined into a module to simplify complicated control contents in an easy-to-understand manner. Thus, it is possible to easily and quickly construct a simulation model. By describing the contents of the modules and the relationship between the modules as a spreadsheet, the contents of the simulation can be made strict and easy to understand. Model creation work can be performed directly and smoothly. By describing the contents of the modules and the relationship between the modules as a spreadsheet, it is easy to understand the contents of the simulation, the man-hours for creating the simulation model can be reduced, and a high-quality simulation can be constructed. High-quality maintenance, management, and modification of the created simulation model can be easily performed.
[0020]
According to the present invention as described above, the virtual work and the virtual resource displayed on the screen can be used not only for the shape, dimensions, and arrangement of the actual work and the actual resource (e.g., device), but also for the operation and operation of the work. Etc. are faithfully modeled and reproduced as images. Then, based on the processing step for the modeled virtual work and the operation state of the modeled virtual resource for the virtual work, the virtual resource and the operation according to the processing step are selected to perform the operation on the virtual work. By doing so, the actual sequential process can be visually faithfully reproduced, and a simulation that is well compatible with reality can be performed. As a result, complex flows of workpieces can be reproduced, as in the case of high-mix low-volume production, and the design of actual production equipment can be easily performed to build systems, reduce costs, shorten construction periods, and improve quality. Improvement can be achieved.
[0021]
In particular, a state detecting means, which can be called a simulation sensor, is provided, and the process control unit determines the state of the operation performed by the virtual resource on the virtual work based on the output signal of the state detecting means, and performs processing on the virtual work according to the processing steps. Since the virtual work is processed by selecting the operation to be performed, the operation of the actual sequence controller can be reproduced, and the control design can be easily performed.
[0022]
The monitoring and control method according to the present invention is a module that automatically and continuously executes an operation corresponding to each of a plurality of processes that are performed in a closely related sequence, among the target process steps, The contents of this module, the relationships between the modules, and the individual logic with the purpose are expressed on a spreadsheet. Here, one “operation” does not execute the simulation-modeled operation itself, but instructs an actual operation to the real device resource, and receives a signal indicating that the operation has been completed from the real device resource. This means that the process is completed. Based on the specification given as the spreadsheet, a sequential operation is instructed for the resource, and information that the operation has been completed is sequentially obtained from the resource. The next operation is instructed to the resource based on the logic defined by the spreadsheet, so that it can be controlled accurately. Further, since the completion information for the operation instruction for the resource is received from the resource, the entire process can be completely captured.
[0023]
In addition, the monitoring / control device according to the present invention automatically and continuously performs an operation corresponding to each of a plurality of processes performed in a series in a closely related manner among the processing steps to be monitored / controlled. The contents of this module, the relationships among the plurality of modules, and individual logics having a purpose are represented as spreadsheets. Here, one “operation” does not execute the simulation-modeled operation itself, but instructs an actual operation to the real device resource, and receives a signal indicating that the operation has been completed from the real device resource. This means that the process is completed. The monitoring / control device is configured based on the specifications given as the spreadsheet, and has a function of transmitting an operation instruction to an actual device resource and a function of receiving an operation end signal from the actual device resource. In accordance with the logic of the spreadsheet, a sequential operation is instructed to the real machine resources, information that the operation has been completed is sequentially obtained from the resource, and the next operation is instructed to the resource based on the logic defined by the spreadsheet. This controls the real device resources. Further, since the operation instruction for the resource and the completion information thereof are completely captured, it is possible to grasp which process state the monitoring / control target is in, and display the state on the screen.
[0024]
Further, in the monitoring / control method and the monitoring / control system as described above, the contents of the module, the relation between the plurality of modules, and the individual logic having the purpose are represented as a spreadsheet, so that the definition is defined in the spreadsheet. Operational instructions can be issued to the actual resources in a timely manner according to the logic that has been performed, and the status can be completely complemented by the completion signal, so that the target can be monitored and controlled.
[0025]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a simulation model creation method, a simulation method and an apparatus, and a monitoring / control method and a system according to the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1 is a schematic block diagram of a line simulation device which is an example of a simulation device according to an embodiment of the present invention. 1, the simulation apparatus 10 includes an
[0026]
The input means 12 includes a normal keyboard, a mouse, an external storage device, and the like, and can input information such as a shape, a dimension, and a material related to the actual work for faithfully modeling the actual work. A processing step (what processing should be performed in what order) for a modeled virtual work (not shown) can be input.
[0027]
The process control means 14 is connected to the input means 12, and inputs information on the work, information on the processing steps, and the like input via the input means 12. The process control means 14 is connected to the task status information means 16, the task storage means 18, and the execution task storage / execution means 20, and as described in detail later, the processing step input from the input means 12 Based on this information, a task to be executed on the modeled virtual work is selected from the task storage means 18 and written to the executed task storage / execution means 20 in combination with the task state information means 16. The process control means 14 plays a role of a sequence controller in the sequential process, has a data input /
[0028]
The task storage unit 18 has a source
[0029]
Further, the resource
[0030]
The resources (virtual resources) A to N stored in the task storage unit 18 are models that faithfully imitate the three-dimensional shapes, dimensions, mechanisms, operation characteristics (speeds, and the like) of real resources (devices), The layout of the actual resource (s) is also accurately reflected. The task is a model in which the contents of specific movements (operations) that an actual resource (real machine resource) makes with respect to an actual work with the purpose of the resource are faithfully modeled by a computer program. The task acts on the virtual work, moves the modeled virtual resource as needed, and moves and handles the modeled virtual work. The task group stored in the resource
[0031]
Representative examples of operations (operations) performed by virtual resources modeled as tasks on virtual work are as follows.
(1) When the virtual resource is a machine tool
Process and output the input virtual work. What kind of processing (operation) is performed is determined by the virtual resource itself according to the incoming virtual work, or determined by an instruction from the
[0032]
(2) When the virtual resource is an assembly machine
The parts (plural parts) are taken from the parts supply device and assembled into the intermediate product conveyed by the conveyor. The operation can take various contents, such as changing an assembly procedure depending on a difference in work.
[0033]
(3) When the virtual resource is a conveyor
The virtual work input to the determined position is moved to the determined position. Only the virtual work moves, and the conveyor itself is installed in the same place and does not change its position. This is one of the simplest operations.
[0034]
(4) When the virtual resource is an overhead crane
Overhead cranes are similar to conveyors in the sense that they move virtual workpieces, but because they can move anywhere (with certain restrictions) with virtual workpieces, they have greater flexibility in transport resources than conveyors. It is. Resources with similar functions include forklifts and AGVs. The operation is a flexible operation having parameters such as what, where, and where. In an advanced system, these parameters are passed from the upper process control means 14.
[0035]
(5) When the virtual resource is process control
Thermal and chemical actions such as heat treatment and electrolysis are applied to the input virtual work. The output virtual work (the virtual work after the processing is completed) may be completely different in shape and properties from the input virtual work (the virtual work before the processing). When viewed from the host controller, the difference in operation often appears as a difference in processing time due to a difference in virtual work.
[0036]
(6) When the virtual resource is a worker
Very flexible operations such as moving virtual work, assembling, switching on other virtual resources, and manual processing.
[0037]
In the case of the embodiment, the task status information means 16 is constituted by a plurality of status registers, and serves as a start switch, a sensor, and the like. Then, the status registers constituting the task status information means 16 are usually arranged before and after the task and written into the execution task storage / execution means 20, as shown in FIG. The status register is a type of function with a storage function (usually, there is no time element, but there are exceptions such as time delay), and it is used to mediate task activation and collect information on the status of operations by virtual resources. Do.
[0038]
The status registers (for example, the status registers a2-1, a3-1, and c1-1 in FIG. 2) arranged on the front side of the task are status registers for starting the task, and as shown by a solid line, It is activated by an activation signal from the process control means 14, and when activated, resets the related flag, counts up and resets the counter according to the settings, and finally activates the next task. A status register (for example, status registers a2-3, a3-3, c1-2, etc.) attached to the latter stage of the task is a status register for collecting status information of virtual resources, and is used when the task ends. , Launched by the task. Then, the activated status register sets an event flag indicating the end of the task, or counts up a counter, and transmits necessary information to the process control means 14 as indicated by a broken line.
[0039]
When it is necessary to inform the
[0040]
By using the status register in this way, in addition to setting the event flag to convey the end information, advanced tasks such as using the counter as a counter and using it as a loop identifier or using it as a branch identifier for branch processing Processing becomes possible. Further, the contents of the virtual resources and tasks to be stored in the task storage unit 18 and the types of status information of the task
[0041]
The execution task storage / execution means 20 has execution
[0042]
In FIG. 2, the source task a is written in the execution
[0043]
The operation of the simulation apparatus 10 according to the embodiment configured as described above is as follows. First, the specifications of the actual work, for example, the shape, dimensions, material, and the number of the works are input by the input means 12, and the process of processing the work is input. The simulation of the processing of the work is performed by designating a task that models the actual machine resource and the contents of the operation (operation) performed on the work by the actual machine resource. At this time, each task includes, as shown in FIG. 2, a task activation type status register (for example, status registers a2-1, a3-1, b1-1, c3-1, etc.) arranged at the preceding stage of the task, It is input in a state sandwiched by information collecting type status registers (for example, a2-3, a3-3, b1-2, c3-2, etc.) corresponding to the sensors in the sequential process arranged at the subsequent stage of the task.
[0044]
However, for the task to be performed first (in this embodiment, the task a1 based on the resource A shown in the upper left of FIG. 2), the source task a is specified instead of the task activation type status register, The first task a1 is automatically started. When it is necessary to report the state of execution during the execution of a task, the task is divided into two (or three or more), and the state of the task being executed is output during that time. Insert a register (for example, task a2-1, task a2-2, and status register a2-2 of resource A).
[0045]
In the case of the embodiment, these status registers are composed of status values and operation contents. However, the task activation type status register arranged before the task may not have a status value in some cases. This task activation type status register is normally activated by the process control means 14. The contents of the operation of the task activation type status register include resetting of a related flag, counting up and resetting of a counter, and the like. Also, in the information collection type status register arranged at the latter stage of the task, the status value is usually “0” before the previous stage task is completed, an event flag is set when the previous stage task is completed, and the status value is “1”. Changes to Then, a counter is counted up as the operation content of the information collection type status register. In addition, the status register arranged in the middle of the task usually performs an operation such that the initial value of the status value is “0” and the status value is incremented by one each time the preceding task ends.
[0046]
The task for processing the virtual work input from the
(Equation 1)
(Equation 2)
[Equation 3]
And so on. Then, when the above logical operation is “true”, the data input /
[0047]
After the specification of the work and the processing step for the work are input through the
[0048]
The data input /
[0049]
In this way, processing such as handling is actually performed on the screen of the
[0050]
Then, by expressing the operation of each device (virtual resource) of the task deployment type virtual simulation (virtual simulation infrastructure) by a task program including a time factor, the device has characteristics similar to real devices that operate autonomously and in parallel. A state register, which can be called a simulated sensor / input / output IO, can be added before and after a task so that resource state information can be input to the control means 14 and virtual resources can be operated freely. By performing a logical operation by the control means 14 to simulate the actual PLC sequence control, the real versus virtual of the virtual resource-to-equipment, operation-to-task, and PLC control
[0051]
FIG. 3 shows a main part of another embodiment according to the present invention, and is an explanatory diagram of an execution task storage / execution means. The execution task storage /
[0052]
The execution
[0053]
These modules are determined according to the purpose of the simulation to be realized, in consideration of a causal relationship and a context required by a simulation scenario (processing step). If the tasks included in this module are activated for some reason, the task at the next stage is automatically activated after the execution of the task, and the tasks are sequentially activated up to the last task included in one module. It is going to go.
[0054]
In the case of the embodiment of FIG. 3, the first
[0055]
In the second
[0056]
Further, the third
[0057]
The rules for creating these
(1) Scenarios (task execution order) can be constructed depending on the context and causal relationship of each task, but this task always starts when a task ends as a task connection. Those whose in-context and connection are invariant regardless of the change procedure of the progress of the simulation can be connected until the longest. Then, a unique scenario module is created so that every aspect of the simulation always belongs to one of the unique scenario modules, in other words, until a set of a plurality of unique scenario modules can cover all the scenarios of the simulation. Of course, there must be no overlapping of scenario scenes (processing steps). There may be a unique scenario module with only one task. What is essential in the unique scenario module is the absoluteness of the context of the successor task with respect to the preceding task, and does not sandwich another task that is not related therebetween. However, in terms of time, the successor task does not have to start as soon as the previous stage ends. For example, at that time, if the successor task is still continuing the operation (task) for the previously started, it must wait until it finishes, and the virtual resource of the successor task is a task in another unique scenario module. If it has already been used, you must wait until it is done.
[0058]
(2) When creating a unique scenario module, when there is a branch (selection branch) from a certain task to a plurality of tasks according to a change procedure of the simulation, the unique scenario module ends there.
[0059]
(3) In the creation of a unique scenario module, when a successor task is started upon completion of a certain task, and when a plurality of tasks are started simultaneously (parallel branch), the unique scenario is set with the task with the highest relation as the successor. The module creation may be continued (of course, it may be completed before branching, but the scenario is generally clearer if continued). When branching into a plurality of such cases, as will be described later, a status register is inserted into that portion, and another unique scenario module that is desired to be started simultaneously is started therefrom.
[0060]
(4) Unique scenario modules are newly added until the created unique scenario module covers all scenario scenes (all processing steps of the simulation).
[0061]
(5) The same task may appear any number of times within a unique scenario module or between unique scenario modules. What does not overlap is the scenario scene.
[0062]
In the embodiment, for the sake of convenience, the unique scenario module including the status register added at the beginning, end, and sometimes in the middle of the unique scenario module created as described above is used when there is no particular risk of confusion. Call.
[0063]
In this embodiment using such a unique scenario module as well, what corresponds to the sensor / control system in the sequential process is obtained from the status register group which is the contact point with the task and the status register, as in the above embodiment. This is realized by the process control means 14 for making a decision using the obtained state data.
[0064]
The status register is a kind of function having a storage function (usually not having a time element, but there are exceptions such as a time delay), as in the above-described embodiment. Collect information. Then, a status register (for example, status registers x1 and x2) for starting a task is placed at the beginning of each unique scenario module, and when started by a command from the data input /
[0065]
Status registers (eg, status registers z1, z2, z3) that collect information on virtual resources are usually appended to the end of each unique scenario module and are activated by the last task of the unique scenario module. The activated information collection type status register raises an event flag or the like according to the setting, and transmits the information of the unique scenario module to the data input /
[0066]
When it is necessary to report the state in the middle of the unique scenario module, the state register is inserted after the appropriate task, as in the state register y2 shown in the second
[0067]
In this way, the storage function of the status register can be used not only as an event flag but also as a storage function for a counter and an identification number, and can cause a task to perform a loop process or cause a unique scenario module to branch based on a branch identifier.
[0068]
The data input /
(Equation 4)
(Equation 5)
(Equation 6)
And so on.
[0069]
Each of the
[0070]
That is, the autonomous task sequential
[0071]
When the processing of the virtual task by the last task ends for each unique scenario module, the information collection type status register (for example, the status register z1) arranged at the end of the unique scenario module is activated by the last task. . When the status register is started, an event flag is set and the status value becomes "1". The status value of the status register is input to the data input /
[0072]
For example, when the logic shown in
[0073]
The resource conflict
[0074]
The resource reservation / reservation
[0075]
For example, a task a2 for processing a virtual work by the unique scenario module, a task b2 for an overhead crane (virtual resource) B for transporting the virtual work to the resource C, a task c1 for processing the virtual work with the resource C, and a virtual work from the resource C It is assumed that tasks b3 to be carried out are arranged in order. If there is no resource reservation / reservation release function, the resource B attempts to transport the virtual work to the resource C as soon as the task a2 finishes processing the virtual work (if the resource B is vacant). If C is blocked by another virtual work, resource B waits for resource C to be free there. If the task of unloading the virtual work from the resource C is assigned to the resource B, the overhead crane B will wait forever in front of the resource C. Such a dead cross can be avoided by placing a reservation for resource C immediately after task a2 and releasing the reservation for resource C immediately after task b3.
[0076]
The resource reservation and the resource reservation cancellation are performed by the "resource reservation" and "resource reservation cancellation" commands, and can be freely inserted as a kind of task in the unique scenario module. The factors of the “resource reservation” and “resource reservation release” instructions are resource names. The tasks are started from the top in the unique scenario module in order from the top, and when the “resource reservation” is reached, the resource reservation / reservation
[0077]
The reservation release instruction inserts the resource C where it can be provided to another task after using the resource C. The insertion place is determined by the flow of the scenario, and is different from the unique scenario module in which the resource reservation is inserted. It could be a module.
[0078]
FIG. 4 shows an example of a specification specification method for simulation using a unique scenario module (a method of connecting unique scenario modules). As shown in FIG. 4, each
[0079]
In the
[0080]
The name and number of the status register are described in the
[0081]
In this specification description method, as indicated by
[0082]
According to the simulation architecture in which a plurality of unique scenario modules are created in this way, and these are interconnected to construct the contents of the simulation, the target of the complex and seemingly disordered sequence control is determined by the autonomous task of the
[0083]
In other words, the designer of the simulation model creates a plurality of unique scenario modules along the processing steps of the actual work, and creates a specification in which these unique scenario modules are interconnected by the connection method shown in FIG. Then, by giving the simulation to a person who constructs the simulation, the intention of the designer and the contents of the simulation can be easily understood, and an accurate simulation can be easily constructed. In addition, by adopting the simulation specification description method shown in FIG. 4, which is well compatible with the task development type architecture, not only easy and rigorous communication between engineers, but also between customers and contractors is possible. The work of creating the simulation model from the specification is made direct and smooth, and the man-hours and rework are reduced. In addition, since a strict and easy-to-understand specification can be created, it is possible to maintain, change, and manage the created simulation model with high quality.
[0084]
In addition, a simulation is constructed by applying the task expansion type virtual simulation architecture and the idea of the unique scenario module connection method described above, and the sequence control between the unique scenario modules obtained as a result and the autonomous sequential task built in the unique scenario module are performed. By combining the activation, the resource conflict logic, and the control that reveals the resource reservation / resource reservation cancellation, it is possible to design an efficient actual system sequence control device.
[0085]
FIGS. 5 to 7 show examples of specific interfaces corresponding to the "efficient sequence control realizing method and simulation specification description method" according to the present invention. In these figures, unique scenario modules are vertically arranged in a spreadsheet, and logical operations are also described in the unique scenario modules. Then, in order to clarify the description contents of the spreadsheet, the six unique scenario modules are divided and shown in FIGS. 5 to 7, but it is needless to say that they may be described in one spreadsheet. This embodiment shows a processing step of shaving three balls from a rough stone. FIG. 8 shows a conceptual diagram of the processing steps.
[0086]
In each unique scenario module, the tasks are described in order of task execution from top to bottom. Further, the status register (status No register) can be treated in the same way as a virtual resource and have one status data and a plurality of functions. As the status data of the status register, an integer (status No.) can be handled. An operation task ID indicating a task name is described in the first column of the spreadsheet, and a resource name is described in the second column. Also, in the third to seventh columns of the spreadsheet, the domain No. of the status No. handled by the status register (in the embodiment, the variable name taking an integer is the same as the register name), the status No. taken by the status register Initial value, INPUT variable name required for the logical operation performed by the status register, OUTPUT variable name output as a result of the logical operation performed by the status register, output value of the logical operation performed by the status register (OUTPUT value) Is described.
[0087]
That is, the status No register R101 of the unique scenario module I in FIG. 5 indicates that the range is two, “0” and “1”, and the initial value is “0”. The state No register R101 indicates that the variable to be output (OUTPUT) as the result of the logical operation is R101, and that the variable R101 becomes "1" as a result of the logical operation.
[0088]
In the status register R401 in the unique scenario module IV in FIG. 6, the domain is “0” and an integer from “1” to “5”, and “0” is given as an initial value as a default value, and This shows that the variable R401 is required for the input (INPUT) of the operation, and the variables of the output of the logical operation result are R401 and R302. Further, the state register R401 performs a logical operation to count up the variable R401 by one, and resets the variable R302 to “0”. Then, the state No register R401 indicates that it is started when the variable R302 becomes “1”.
[0089]
In
[0090]
Since the description of such a start condition generally spans a unique scenario module, it tends to be difficult to understand as the scale of the simulation increases. However, each logic is relatively simple. For this reason, logic with a specific purpose such as "Start the unique scenario module after this unique scenario module is completed" or "Repeat this task of this unique scenario module from this task ten times" (hereinafter referred to as function Logic)), state registers and variable names related to each functional logic are described in a unified manner using easy-to-identify symbols specific to the logic, and the functional logic is extracted and placed on separate sheets. Write and manage, or write and manage in a database, and copy the description in the unique scenario module to make the logic easier to see, debug, and reuse logic. Enabled, and easy maintenance and management of logic.
[0091]
FIG. 9 shows an example in which the method is applied to the above-described ball cutting process. In FIG. 9, the unique scenario module is illustrated in the left half and the functional logic is illustrated in the right half. Although the order of the columns in FIGS. 5 to 7 is changed or a part of the unique scenario module is omitted, the unique scenario module is basically the same as FIGS. 5 to 7. Instead of the unregistered register name R401 in FIGS. 5 to 7, for example, variable names in one functional logic are unified with the symbol 5-xx, such as R5-01 and S5-04. It improves visibility and searchability, making it easier to manage.
[0092]
In the tenth column of the spreadsheet, a priority (priority) for solving a resource conflict between unique scenario modules is described by an integer (see FIGS. 5 to 7). In the case of the embodiment, the higher the value of the integer, the higher the priority. Further, in the eleventh column of the spreadsheet, task contents and other remarks are described. This sheet can be used not only as a specification, but also by executing an simulation as defined in this specification by interfacing between the spreadsheet and the simulation.
[0093]
As described above, it is possible to construct a simulation that faithfully reproduces the real world by simultaneously using the autonomous task sequential activation function, the resource conflict arbitration function, and the resource reservation / reservation release function. It is assumed that layout, operation policy, etc. already exist. However, it is rare that they are available from the beginning. In fact, I would like to start from where nothing has been decided and clarify and embody them in order.
[0094]
In fact, there is only a vague mission concept with a simulation device equipped with a function that can turn on and off the autonomous task sequential activation function, resource conflict arbitration function, and resource reservation / reservation release function, and a methodology corresponding to it. Not only the specific image of a device, but also the operation, from the no idea stage, the actual number of necessary devices, functions / performance, shape and dimensions, and the overall layout, as well as the actual operation , It can be considered in detail to the level considered to be equivalent to the real thing. In addition, it is possible to continuously study based on the results of the previous stage. In this process, the specifications are continuously deepened, starting from the rough requirement level at the concept study stage, and gradually becoming more concrete, detailed, and strict. An embodiment of the simulation system and method will be described with reference to FIGS.
[0095]
In FIG. 10,
[0096]
The simulation can be automatically generated without any ambiguity as long as the specification is described in the format shown in FIG. In other words, the sequence is strictly defined, and the task is only a lapse of time. Therefore, if the shape and layout of the virtual resource (or task) are determined in advance, all conditions necessary for the simulation have been given. is there. The flow of automatically generating a simulation from the formats of FIGS. 11 and 12 will be described in more detail with reference to FIG. 1 and based on FIG. FIG. 17 shows an image of a simulation automatically generated from the format shown in FIG.
[0097]
FIG. 11 shows a simulation specification in which the resource column is blank. The task names in the second column are described without omission, and the estimated times are entered in the sixth column. The status register related information in the first and fourth columns is also entered without omission. FIG. 12 is a diagram in which the blank resource names in FIG. 11 are filled. The simulation automatic generation intends to create a simulation uniquely from these specifications. From FIG. 11, a simulation without restrictions from virtual resources (hereinafter, referred to as an abstract process simulation) is created, and from FIG. 12, a simulation based on restrictions from virtual resources (hereinafter, referred to as a general entity simulation) is created (FIG. 11 and 12 do not occasionally include a resource reservation / reservation release instruction, but the flowchart of FIG. 16 also considers resource reservation / reservation release).
[0098]
For automatic simulation creation, first, the specifications (spreadsheet) are read (step 150), and the number of unique scenario modules is counted (step 152). Let that number be N. Next, it is determined whether the process is an abstract process simulation or a general entity simulation based on whether the third column is blank (step 154).
[0099]
If it is determined that the process is an abstract process simulation, M = 1 in
[0100]
After that, in the case of the abstract process simulation, the activation condition in the first column in FIG. 11 is extracted from all the unique scenario modules and stored in the data input /
[0101]
If it is determined in
[0102]
After that, in the case of the rough entity simulation, the tasks belonging to the same virtual resource are categorized for all unique scenario modules, and the resources are arbitrated so that if a virtual resource conflict occurs, it is arbitrated. The conflict arbitration function unit is set (step 182). Further, a resource reservation / reservation release instruction belonging to the same virtual resource is extracted from the entire unique scenario module, and a resource reservation / reservation release function unit is set so that the virtual resource is reserved or released at the instruction (step S1). 184). Finally, the activation conditions described in the first column of FIG. 12 are extracted from all the unique scenario modules and stored in the data input /
[0103]
It also has a simulation creation / editing function and a simulation execution function that assist a user in creating and editing a simulation. It also has a task time extraction and processing function for extracting the operating time in the simulation of each task from the simulation being executed and performing statistical processing such as an average value.
[0104]
[0105]
In the initial stage of the concept, an
[0106]
In order to visualize the abstract process without substance, a simple shape with the same name as the task is automatically generated for each task. The layout of these shapes can be edited manually and can be used for intuitive understanding of processes, such as placing closely related processes close together. During the simulation, when each task is moving, the color of the shape representing the task is changed, and the text in the remarks column of the specification description is displayed on the screen along with the shape of the task. Make it easy to grasp the contents of The image is shown in FIG. It also outputs a Gantt chart to record the passage of time.
[0107]
When the process flow is solidified in the
[0108]
Tasks that are independent from each other in the
[0109]
That is, the description of the task is expressed by simple time lapse as in the case of the
[0110]
When the device identification, the number of devices, the rough layout, the rough process time, and the operation are obtained by the
[0111]
As shown in FIG. 13, the description of the
[0112]
The prioritization point is to improve the accuracy of simulation time estimation or visual effects that are important for presentation. However, if the purpose is to improve the accuracy of time estimation, tasks / resources that cannot be accurately approximated with a fixed time lapse will be considered. Just washing out and refining it can greatly contribute to improving the overall accuracy. For example, an operation of an overhead crane whose required time greatly varies depending on the length of a route at each time is a typical example.
[0113]
The
[0114]
It is effective to use the
[0115]
On the other hand, in the mosaic simulation 133 and the
[0116]
The monitoring and control system can be configured by applying the above idea. In the case of a simulation, a task in a unique scenario module in which the context and causal relationship are defined in a spreadsheet is started at the start timing, but is monitored if the operation of the real machine resource corresponding to the task is started instead.・ Work as a control system. FIG. 20 is a block diagram schematically showing the monitoring / control system. In the description of the monitoring and
[0117]
In FIG. 20, the monitoring /
[0118]
Each real device resource 160 has a transmission /
[0119]
The
[0120]
That is, in the
[0121]
The
[0122]
In order to clarify the difference between tasks (operations) in FIG. 3 and FIG. 21, in FIG. 21, the character “IO” is added before the corresponding task name in FIG. FIG. 21 omits the communication other than the communication between the IO task a2 / resource A and the resource a, but it goes without saying that similar communication is also performed for other tasks and other resources. In this way, in FIG. 21, the operation is instructed to the appropriate resource in a timely manner, and by receiving the completion signal for the operation from the resource, the entire process can be grasped at all times. A control system can be configured. The communication function may be implemented by one-to-one wiring or a network configuration such as a LAN.
[0123]
【The invention's effect】
As described above, according to the present invention, the virtual work or virtual resource displayed on the screen can be used not only for the shape, dimensions, and arrangement of the actual work and the actual resource (e.g., device), but also for the operation and operation of the work. And the like are faithfully modeled and reproduced as images, and based on the processing steps for the modeled virtual work and the state of operation of the modeled virtual resources for this virtual work, virtual resources and operations according to the processing steps By performing the operation on the virtual work by selecting the above, the actual sequential process can be visually faithfully reproduced, and a simulation that is well compatible with reality can be performed. As a result, complex flows of workpieces can be reproduced, as in the case of high-mix low-volume production, and the design of actual production equipment can be easily performed to build systems, reduce costs, shorten construction periods, and improve quality. Improvement can be achieved.
[0124]
In particular, a state detection means, which may be called a simulation sensor, is provided, and the process control unit determines the state of the operation performed by the virtual resource on the virtual work based on the output signal of the state detection means, and performs processing on the virtual work in accordance with the processing steps. Since the virtual work is processed by selecting the operation to be performed, the operation of the actual sequence controller can be reproduced, and the control design can be easily performed.
[0125]
Further, according to the simulation model creating method of the present invention, a series of closely related processes can be grouped as a module, so that complicated control contents can be easily understood and simplified. Construction can be performed easily and quickly. By describing the contents of the modules and the relationship between the modules as a spreadsheet, the contents of the simulation can be made strict and easy to understand. Model creation work can be performed directly and smoothly. By describing the contents of the modules and the relationship between the modules as a spreadsheet, the man-hours for creating the simulation model can be reduced, a high-quality simulation can be constructed, and the created simulation model can be maintained at a high quality. , Management, change, etc., can be easily performed.
[0126]
In addition, by performing the stepwise simulation by combining the basic functions of the above-described simulation apparatus and the method of creating the simulation model, the efficiency is continuously improved from the quick outline simulation in the concept study stage to the detailed design and the faithful detailed simulation in the operation stage. Can be well created. In addition, by returning the high reliability data obtained by the detailed simulation to the general simulation, a high reliability quick simulation can be obtained. In addition, a monitoring / control system for an actual system can be efficiently constructed.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram of a device according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram of a task stored in an execution task storage / execution unit according to the embodiment.
FIG. 3 is an explanatory diagram of an execution task storage / execution unit according to another embodiment.
FIG. 4 is a diagram illustrating a method of connecting unique scenario modules according to the embodiment.
FIG. 5 is a diagram showing an example of a spreadsheet describing a unique scenario module according to the embodiment.
6 is a diagram illustrating an example of a spreadsheet describing a unique scenario module according to the embodiment, and is a diagram illustrating a description example of the unique scenario module subsequent to FIG. 5; FIG.
7 is a diagram illustrating an example of a spreadsheet describing a unique scenario module according to the embodiment, and is a diagram illustrating a description example of the unique scenario module following FIG. 6; FIG.
FIG. 8 is a conceptual diagram of a ball cutting processing step according to the embodiment.
FIG. 9 is a diagram showing an example of functional logic extracted from a unique scenario module.
FIG. 10 is an explanatory diagram of a simulation system that embodies the system from vague concepts according to the embodiment.
FIG. 11 is a diagram showing a description example of a specification for creating an abstract process simulation according to the embodiment;
FIG. 12 is a diagram showing a description example of a specification of a schematic substance simulation according to the embodiment;
FIG. 13 is a diagram showing a description example of a specification of a mosaic simulation according to the embodiment.
FIG. 14 is an explanatory diagram of an abstract process simulation according to the embodiment.
FIG. 15 is an explanatory diagram of a schematic substance simulation according to the embodiment;
FIG. 16 is a flowchart illustrating a method for automatically generating a simulation from a specification according to the embodiment.
FIG. 17 is a diagram showing an image of a simulation automatically generated according to the embodiment;
FIG. 18 is a conceptual diagram illustrating a sequential process.
FIG. 19 is a diagram illustrating an example of a conventional method for creating a simulation model.
FIG. 20 is a schematic block diagram of a monitoring / control system according to the embodiment.
FIG. 21 is an explanatory diagram of an operation of the monitoring and control system according to the embodiment.
[Explanation of symbols]
10 simulation device, 12 input means, 14 control means (process control means), 16 state detection means (task state information means), 18 task storage means, 20, 50 execution task storage and execution means, 22 display means, 26 source task storage section, 28 resource task storage section, 30a to 30c, 54 execution task storage section, 52 ...... System controller, 62, 64, 66 ... modules (first unique scenario module, second unique scenario module, third unique scenario module), 150 ... monitoring / control system, 152 ... ... Control devices, 160A, 160B, 160C, 160N ... Real device resources, 164 ... Resource controllers, 166 ... Operation storage unit.
Claims (9)
前記仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した前記操作を、自動的、連続的に実行するモジュールにすることを特徴とするシミュレーションモデルの作成方法。A plurality of faithfully modeled virtual resources for performing operations on the faithfully modeled virtual work, and a plurality of operations performed by each of these virtual resources on the virtual work are stored. A method of creating a simulation model for performing each processing in a given processing step by a virtual resource and an operation selected from the stored virtual resources and the operation, and executing the processing step,
A module for automatically and continuously executing the operations corresponding to each of a plurality of processes that are performed in a closely related sequence among the processing steps given to the virtual work. How to create a simulation model.
前記モジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートにして記載することを特徴とするシミュレーションモデルの作成方法。The method for creating a simulation model according to claim 1,
A method of creating a simulation model, wherein the contents of the modules, the relationships among the plurality of modules, and individual logics having a purpose are described in a spreadsheet.
このモジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートにし、
このスプレッドシートとして与えられた仕様に基づいて、前記仮想ワークとモデル化した仮想リソースとを画面に表示するとともに、
前記仮想ワークについて与えられた処理工程と前記仮想リソースによる前記仮想ワークに対する操作の状態とに基づいて、複数の仮想リソースと、各仮想リソースが前記仮想ワークに対してなす複数の操作とから、前記仮想ワークに対して次になす操作と仮想リソースとを選択し、
選択した仮想リソースが前記仮想ワークに対してなす選択された操作の状態を画面に表示し、
さらに実現手段に対する具体的イメージのない概念検討段階の前記スプレッドシートより実行したシミュレーションに基づいて前記スプレッドシートを更新し、
新たなスプレッドシートに基づくシミュレーションとスプレッドシートの更新とを繰り返すことにより、詳細で忠実にモデル化したシミュレーションを実行する、
ことを特徴とするシミュレーション方法。Among the processing steps given to the modeled virtual work, a module that automatically and continuously executes an operation corresponding to each of a plurality of processings performed in a series in a closely related manner,
Spreadsheet the contents of this module, the relationships between the modules and the individual logic with the purpose,
Based on the specifications given as the spreadsheet, the virtual work and the modeled virtual resources are displayed on a screen,
From a plurality of virtual resources and a plurality of operations performed by each virtual resource on the virtual work, based on a processing step given for the virtual work and a state of an operation on the virtual work by the virtual resource, the Select the next operation and virtual resource for the virtual work,
Displaying on the screen the state of the selected operation performed by the selected virtual resource on the virtual work;
Further updating the spreadsheet based on a simulation performed from the spreadsheet at the concept study stage without a specific image for the realization means,
Perform detailed and faithful modeled simulations by repeating the simulation based on the new spreadsheet and updating the spreadsheet,
A simulation method characterized by the above-mentioned.
前記実現手段の概略仕様段階のシミュレーションモデルと、より詳細で忠実にモデル化した段階のシミュレーションモデルとを相互に補いつつシミュレーションモデルを作成することを特徴とするシミュレーション方法。The simulation method according to claim 4,
A simulation method, wherein a simulation model is created while mutually supplementing a simulation model in a schematic specification stage of the realizing means and a simulation model in a more detailed and faithful modeling stage.
前記仮想リソースが前記仮想ワークに対してなす操作の状態を検知する状態検出手段と、
前記仮想ワークについて予め与えられた処理工程と前記状態検出手段の出力信号とに基づいて、前記処理工程に従って前記タスク記憶手段から前記仮想リソースと前記操作とを選択し、選択した仮想リソースにより前記仮想ワークに対して選択した操作を行なわせる制御手段と、
前記仮想ワークと前記仮想リソースとを表示するとともに、前記仮想リソースが前記仮想ワークに対してなす前記操作の状態を表示する表示手段と、
を有することを特徴とするシミュレーション装置。A plurality of faithfully modeled virtual resources that perform operations on the faithfully modeled virtual work, and a task storage unit that stores a plurality of operations each of the virtual resources performs on the virtual work.
State detecting means for detecting a state of an operation performed on the virtual work by the virtual resource,
The virtual resource and the operation are selected from the task storage unit according to the processing step based on the processing step given in advance for the virtual work and the output signal of the state detection unit, and the virtual resource is selected by the selected virtual resource. Control means for performing a selected operation on the workpiece;
Display means for displaying the virtual work and the virtual resource, and displaying a state of the operation performed on the virtual work by the virtual resource,
A simulation device comprising:
前記仮想リソースが前記仮想ワークに対してなす操作の状態を検知する状態検出手段と、
前記仮想ワークについて予め与えられた処理工程と前記状態検出手段の出力信号とに基づいて、前記処理工程に従って前記タスク記憶手段から前記仮想リソースと前記操作とを選択し、選択した仮想リソースにより前記仮想ワークに対して選択した操作を行なわせる制御手段と、
前記仮想ワークと前記仮想リソースとを表示するとともに、前記仮想リソースが前記仮想ワークに対してなす前記操作の状態を表示する表示手段とを有し、
前記制御手段は、前記仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した前記操作を、自動的、連続的に実行するモジュールとされ、このモジュールの内容および複数のモジュール間の関係並びに目的をもった個々のロジックをスプレッドシートとして与えられた仕様に基づいて、前記タスク記憶部に記憶させた仮想ワーク、仮想リソースと前記状態検知手段とを用いてシミュレーションを自動的に作成する、
ことを特徴とするシミュレーション装置。A plurality of modeled virtual resources that perform operations on the modeled virtual work, and a task storage unit that stores a plurality of operations that each of these virtual resources performs on the virtual work.
State detecting means for detecting a state of an operation performed on the virtual work by the virtual resource,
The virtual resource and the operation are selected from the task storage unit according to the processing step based on the processing step given in advance for the virtual work and the output signal of the state detection unit, and the virtual resource is selected by the selected virtual resource. Control means for performing a selected operation on the workpiece;
Display means for displaying the virtual work and the virtual resource, and displaying a state of the operation performed on the virtual work by the virtual resource,
A module configured to automatically and continuously execute the operation corresponding to each of a plurality of processes performed in a closely related manner in a series of processing steps given to the virtual work. The virtual work, virtual resources and the state are stored in the task storage unit based on the specification given as a spreadsheet, with the contents of the module, the relationship between the plurality of modules, and the individual logic having the purpose as a spreadsheet. Automatically create a simulation using detection means,
A simulation device characterized by the above-mentioned.
このモジュールおよび複数のモジュール間の関係並びに目的をもった個々のロジックを制御手段に入力し、
前記制御手段により、前記モジュール内の操作に対応したリソースを起動してワークに対する操作を実行させるとともに、前記リソースから出力される操作の状態情報に基づいて、前記モジュールの内容をリソースに順次実行させる、
ことを特徴とする監視・制御方法。In a processing step performed on the work, a module for automatically and continuously executing each operation corresponding to each of a plurality of processings performed in a series in a closely related manner by a resource,
This module and the relation between the plurality of modules and individual logic having a purpose are input to the control means,
The control unit activates a resource corresponding to an operation in the module to execute an operation on a work, and causes the resource to sequentially execute the contents of the module based on operation state information output from the resource. ,
A monitoring and control method characterized by the above-mentioned.
前記ワークに対して行なわれる処理工程において、密接に関連して一続きとして行なわれる複数の処理のそれぞれに対応した各操作をリソースにより自動的、連続的に実行させるために作成したモジュールおよび複数のモジュール間の関係並びに目的をもった個々のロジックを入力可能な入力手段と、
この入力手段により入力された前記モジュールを記憶する実行タスク記憶部と、
この実行タスク記憶部に記憶されている前記モジュール内の操作とリソースとを読み出し、送受信部を介して対応するリソースを起動して前記ワークに対する前記操作を実行させるとともに、前記リソースが送信した操作の状態情報に基づいて、前記実行タスク記憶部に記憶されている前記モジュールをリソースに順次実行させる制御部と、
を有することを特徴とする監視・制御システム。A resource for executing an operation corresponding to a process to be performed on the work,
In a processing step performed on the work, a module and a plurality of modules created for automatically and continuously executing each operation corresponding to each of a plurality of processings performed in a series in a closely related manner by a resource. An input means capable of inputting individual logic having a relationship between modules and a purpose,
An execution task storage unit that stores the module input by the input unit;
The operation and the resource in the module stored in the execution task storage unit are read, and the corresponding resource is activated via the transmission / reception unit to execute the operation on the work. Based on the state information, a control unit that sequentially executes the module stored in the execution task storage unit to resources,
A monitoring and control system comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003035640A JP2004005431A (en) | 2002-03-26 | 2003-02-13 | Simulation model creating method, simulation method and device, and monitor/control method and system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002085896 | 2002-03-26 | ||
| JP2003035640A JP2004005431A (en) | 2002-03-26 | 2003-02-13 | Simulation model creating method, simulation method and device, and monitor/control method and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004005431A true JP2004005431A (en) | 2004-01-08 |
Family
ID=30446002
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003035640A Pending JP2004005431A (en) | 2002-03-26 | 2003-02-13 | Simulation model creating method, simulation method and device, and monitor/control method and system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004005431A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100410825C (en) * | 2004-04-22 | 2008-08-13 | 横河电机株式会社 | Plant Operation Support System |
| CN114065485A (en) * | 2021-11-01 | 2022-02-18 | 广东嘉腾机器人自动化有限公司 | AGV three-dimensional simulation system and use method thereof |
| CN114229302A (en) * | 2021-12-28 | 2022-03-25 | 江苏智库智能科技有限公司 | Simulation method for three-dimensional warehouse management system of four-way shuttle |
| US20220342398A1 (en) * | 2019-09-19 | 2022-10-27 | Siemens Aktiengesellschaft | Method for self-learning manufacturing scheduling for a flexible manufacturing system by using a state matrix and device |
| CN118551555A (en) * | 2024-05-24 | 2024-08-27 | 中国科学院软件研究所 | Graphical modeling method and device based on discrete event simulation engine |
-
2003
- 2003-02-13 JP JP2003035640A patent/JP2004005431A/en active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100410825C (en) * | 2004-04-22 | 2008-08-13 | 横河电机株式会社 | Plant Operation Support System |
| US20220342398A1 (en) * | 2019-09-19 | 2022-10-27 | Siemens Aktiengesellschaft | Method for self-learning manufacturing scheduling for a flexible manufacturing system by using a state matrix and device |
| JP2022548836A (en) * | 2019-09-19 | 2022-11-22 | シーメンス アクチエンゲゼルシヤフト | Self-learning Manufacturing Scheduling Method for Flexible Manufacturing System and Equipment Using State Matrix |
| CN114065485A (en) * | 2021-11-01 | 2022-02-18 | 广东嘉腾机器人自动化有限公司 | AGV three-dimensional simulation system and use method thereof |
| CN114229302A (en) * | 2021-12-28 | 2022-03-25 | 江苏智库智能科技有限公司 | Simulation method for three-dimensional warehouse management system of four-way shuttle |
| CN118551555A (en) * | 2024-05-24 | 2024-08-27 | 中国科学院软件研究所 | Graphical modeling method and device based on discrete event simulation engine |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Maciejewski | Dynamic transport services | |
| JPH09153090A (en) | Processing process production planning method and device | |
| CN102246109B (en) | Dynamic Views in Automation System Modeling | |
| US9383747B2 (en) | Production installation with time-indexed historical display | |
| CN112068522A (en) | Reconfigurable production line manufacturing control system, method, and medium | |
| EP1310843A2 (en) | Simulation device | |
| JP2003044115A (en) | Method and device for designing manufacture line, and process designing method | |
| JPS6123003A (en) | Schedule drawing method | |
| CN101652727A (en) | Work instruction system, work instruction method, work instruction program, computer-readable storage medium storing work instruction program, and work instruction device | |
| Sáez Más et al. | Using 4-layer architecture to simulate product and information flows in manufacturing systems | |
| JP2004005431A (en) | Simulation model creating method, simulation method and device, and monitor/control method and system | |
| Gilman et al. | A Tutorial on See Why and Witness | |
| JPS59214964A (en) | Conversational scheduling system | |
| CN120579786A (en) | Multi-tower collaborative scheduling method, collaborative server and multi-tower collaborative scheduling system | |
| Srisuwanrat | The Sequence Step Algorithm: A simulation-based scheduling algorithm for repetitive projects with probabilistic activity durations | |
| Ottjes et al. | Design and control of multi-AGV systems: reuse of simulation software | |
| Priggemeyer et al. | Simulation-based control of reconfigurable robotic Workcells: interactive planning and execution of processes in cyber-physical systems | |
| KR101134823B1 (en) | Cae analysis progress management system | |
| Abidi et al. | How to create a new generation of industrial processes simulation by coupling simulation tools with VR platforms | |
| JP2721561B2 (en) | Production progress prediction method and production progress prediction simulator | |
| Teufl et al. | OPTIMISED-Developing a State of the Art System for Production Planning for Industry 4.0 in the Construction Industry Using Simulation-Based Optimisation. | |
| Santana et al. | A collaborative cpn− fuzzy modelling strategy for conflict solution in flexible manufacturing systems | |
| JP2008059321A (en) | Process simulation system | |
| Wynn et al. | Approaches for Modelling and Improving Design and Development Processes | |
| Wilczynski et al. | OOPS in real-time control applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050630 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071112 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080513 |