JPH04137102A - Program simulation method - Google Patents

Program simulation method

Info

Publication number
JPH04137102A
JPH04137102A JP2260143A JP26014390A JPH04137102A JP H04137102 A JPH04137102 A JP H04137102A JP 2260143 A JP2260143 A JP 2260143A JP 26014390 A JP26014390 A JP 26014390A JP H04137102 A JPH04137102 A JP H04137102A
Authority
JP
Japan
Prior art keywords
block
motion
simulation
blocks
program
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
Application number
JP2260143A
Other languages
Japanese (ja)
Inventor
Toshihiko Hoshino
星野 俊彦
Toshiharu Sakamoto
俊治 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mazda Motor Corp
Original Assignee
Mazda Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mazda Motor Corp filed Critical Mazda Motor Corp
Priority to JP2260143A priority Critical patent/JPH04137102A/en
Priority to US07/629,964 priority patent/US5173869A/en
Priority to EP90125220A priority patent/EP0435215A1/en
Priority to KR9021659A priority patent/KR940001088B1/en
Publication of JPH04137102A publication Critical patent/JPH04137102A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To perform the parallel simulation of operation steps by allowing a simulation program, which is generated in the simulation ladder program element generating process, to simulate the operation of operation steps in one operation block. CONSTITUTION:A control program recognizes how many operation blocks should be operated in parallel. Numbers n1, n2...nm are given to (m) blocks, which should be operated in parallel, to denote these blocks as BB1, BB2...BBm, and corresponding operation step maps are rearranged in a memory. An operation block to be subjected to parallel operation is extracted. It is checked whether an execution elapsed time register Tni of the block Bni designated by a variable (i) is equal to a minimum value of elapsed times Tnx (x=1 to m) of all blocks or not. When it is equal to this minimum value, a ladder program element kni is extracted to recognize the interlock condition, and corresponding SSP(n1, kn1) is started. Next, the elapsed time register Tni is updated. Thus, the block Bni is simulated upto the operation step kni.

Description

【発明の詳細な説明】[Detailed description of the invention] 【産業上の利用分野】[Industrial application field]

本発明は、生産ライン等における設備にシーケンス動作
を行なわせるためのシーケンス動作制御プログラムが設
定通りに作動するか否かを、模擬的に確認するためのプ
ログラムのシュミレーション方法に関し、特に、上記制
御プログラムが並列動作を含む場合に関する。
The present invention relates to a method for simulating a program for confirming in a simulated manner whether or not a sequence operation control program for causing equipment in a production line to perform sequence operations operates as set, and in particular, the present invention relates to a method for simulating a program for confirming whether or not a sequence operation control program for causing equipment in a production line or the like to perform sequence operations, and in particular, to Contains parallel operations.

【従来の技術】[Conventional technology]

自動車の組立ラインの如(の生産ラインにおいて、設置
された種々の設備に対してコンピュータを内蔵したシー
ケンス制御部を設け、かかるシーケンス制御部により各
設備が順次行なうべき動作についてのシーケンス制御を
行なうようにすることが知られている。かかるシーケン
ス制御が行なわれる際には、シーケンス制御部に内蔵さ
れたコンピュータに制御プログラムがロードされ、シー
ケンス制御部が生産ラインに設置された種々の設備の夫
々に対する動作制御の各段階をシーケンス動作制御プロ
グラムに従って順次進めていく。 このようなシーケンス制御プログラムに対しては、実際
のシーケンス制御の実行に先立って、設計通りに作動す
るか否かを模擬的に確認するシュミレーションが行なわ
れる。このようなシュミレーションにおいては、従来、
設備の実際の動作に対応する模擬的な入出力信号が外部
から加えられ、それによりシュミレーションが行なわれ
るのが一般である。
In a production line such as an automobile assembly line, a sequence control unit with a built-in computer is provided for the various installed equipment, and the sequence control unit performs sequence control of the operations that each equipment should perform sequentially. When such sequence control is performed, a control program is loaded into a computer built into the sequence control unit, and the sequence control unit controls each of the various equipment installed on the production line. Each stage of operation control is progressed sequentially according to the sequence operation control program.For such a sequence control program, before executing the actual sequence control, a simulation is performed to check whether it operates as designed or not. In such simulations, conventionally,
Generally, simulations are performed by applying simulated input/output signals from the outside that correspond to the actual operation of the equipment.

【発明が解決しようとする課題] ところが、実際の設備では、複数の設備が互いに並列的
に動作する場合が多い。従来では、このような並列的な
動作を行なう設備に対するシーケンス制御プログラムを
シュミレーションする場合には、並列的なブロックの動
作をシリアルなブロックの動作に変更し、各設備に対し
て順にシュミレーション動作を行なうようにしている。 しかしながら、このような従来のシュミレーション手法
では、並列動作がシリアル動作に変換されてシュミレー
ションされるために、当然のことながら、そのシュミレ
ーション動作は実際の動作とは異なるものであり、これ
ではプログラムの検証を正確に行なったということはで
きない。また、並列動作をシリアル動作に変換している
ために、同時に行なわれるべき動作が時を変えて連続し
て行なわれるために、シュミレーシロン動作の実行に多
くの時間を要する。 そこで、本発明は上述従来例の欠点を除去するために提
案されたものでその目的は、動作ブロック間の動作にお
いて並行動作を含むような設備にためのプログラムをシ
ュミレーションするのに、実際の並行動作シーケンスに
近い動作でもってシュミレーションすることが可能なプ
ログラムのシュミレーション方法を提案するところにあ
る。 【課題を達成するための手段及び作用】上記課題を達成
するための本発明の構成は、各設備の単位動作が動作ス
テップにより表現され、この動作ステップの集合からな
る動作ブロックはその開始から終了まで他の動作ブロッ
クから独立して動作し、この動作ブロックの集合により
全体の設備のシーケンス動作を記述するプログラムのシ
ュミレーション方法において、 上記各動作ブロックの各動作ステップについての動作時
間を、全体設備の動作につい・て、ある動作ブロックが
単体動作を行なうことを、あるいは他の動作ブロックに
対して並行動作を行なうことを記述する動作ブロックマ
ツプを作成し、各動作ブロックの各々の動作ステップに
ついて、その動作ステップの実行シーケンスと各動作ス
テップの実行予測時間とを記述する動作ステップマツプ
を作成し、 前記動作ブロックマツプ及び動作ステップマツプから各
動作ブロック内の動作ステップをシュミレーションする
シュミレーションラダープログラム要素を作成し、 上記シュミレーションラダープログラム要素の実行時に
、前記動作ブロックマツプ及び動作ステップマツプを参
照しながら、動作ステップの実行順に従って、前記シュ
ミレーションラダープログラム要素を実行することを特
徴とする。 前記実行過程では、動作ブロックマツプや動作ステップ
マツプに基づいて動作ブロック間の並行動作を認識しな
がら、各動作ブロックの各々の動作ステップのシュミレ
ーション実行順序を制御する。従って、シュミレーショ
ンラダープログラム要素作成工程で作成されたシュミレ
ーションプログラムが1つの動作ブロック内の動作ステ
ップの動作をシュミレーションするものであっても、動
作ステップの並行シュミレーションが可能となる。
[Problems to be Solved by the Invention] However, in actual equipment, a plurality of equipment often operate in parallel with each other. Conventionally, when simulating a sequence control program for equipment that performs such parallel operations, the parallel block operations are changed to serial block operations, and the simulation operation is performed for each piece of equipment in turn. That's what I do. However, in such conventional simulation methods, parallel operation is converted to serial operation and simulated, so the simulated operation is naturally different from the actual operation, and this makes it difficult to verify the program. I cannot say that I have done it correctly. Further, since parallel operations are converted to serial operations, operations that should be performed simultaneously are performed successively at different times, and therefore it takes a long time to execute the simulation operation. Therefore, the present invention was proposed in order to eliminate the drawbacks of the above-mentioned conventional examples, and its purpose is to simulate programs for equipment that include parallel operations in operations between operation blocks. The purpose of this invention is to propose a method for simulating a program that can be simulated with actions close to the action sequence. [Means and operations for achieving the object] The structure of the present invention for achieving the above object is such that the unit operation of each piece of equipment is expressed by an operation step, and an operation block consisting of a set of operation steps is defined from the start to the end. In a simulation method of a program that operates independently from other operation blocks up to Regarding motion, create a motion block map that describes that a motion block performs a single motion or performs a parallel motion with respect to another motion block, and for each motion step of each motion block, Create a motion step map that describes the execution sequence of motion steps and the predicted execution time of each motion step, and create a simulation ladder program element for simulating the motion steps in each motion block from the motion block map and motion step map. , when executing the simulation ladder program element, the simulation ladder program element is executed according to the execution order of the operation steps while referring to the operation block map and the operation step map. In the execution process, the simulation execution order of each action step of each action block is controlled while recognizing parallel actions between action blocks based on the action block map and the action step map. Therefore, even if the simulation program created in the simulation ladder program element creation step simulates the actions of the action steps within one action block, the action steps can be simulated in parallel.

【実施例】【Example】

以下添付図面を参照して、本発明を自動車の生産ライン
のためのシーケンス制御に適用した場合の実施例を説明
する。 この実施例システムは、シーケンス制御プログラムの自
動生成部分とシュミレーションプログラムの生成部分と
を有する。そこで、先ず、シーケンス制御プログラムの
制御対象となる車両組立ラインについて説明する。次に
、シーケンス制御プログラムの自動生成部分を説明する
ことにより、本実施例のシュミレーションに重要な概念
である動作ブロックと動作ステップについて言及する。 そして、本実施例の特徴部分であるシュミレーションプ
ログラムの生成及び実行制御について説明する。 紙工]ト立2 先ず、生成されるべきシーケンス制御プログラムの制御
対象となる車両組立ラインの一例について、第2図及び
第3図を参照して述べる。 第2図及び第3図に示される車両組立ラインは、例示的
に、3つのステーションSTL、ST2、ST3からな
る。位置決めステーションST1は、車両のボディ11
を受台12上に受け、受台12の位置を制御して受台1
2上におけるボディ11との位置決めを行う。ドツキン
グステーションST2は、パレット13上における所定
の位置に載置されたエンジン14とフロントサスペンシ
ョンアッセンブリ(不図示)とリアサスペンションアッ
センブリ15とボディ11とを組み合わせる。締結ステ
ーションST3は、ボディ11に対して、これにSTに
て組み合わされたエンジン14とフロントサスペンショ
ン組立15とを、螺子を用いて締結固定留する。また、
位置決めステーションST1とドツキングステーション
ST2との間には、ボディ11を保持して搬送するオー
バーヘッド式の移載位置16が設けられている。 ドツキングステーションST2と締結ステーションST
3との間には、パレット13を搬送するパレット搬送位
置17が設けられている。 位置決めステーションSTIにおける受台12は、レー
ル18に沿って往復走行移動する。位置決めステーショ
ンSTIには、受台12をレール18に直交する方向(
車幅方向)に移動させることにより、受台12上に載置
されたボディ11を、その前部の車幅方向についての位
置決めを行う位置決め手段(BF)並びにその後部の車
幅方向の位置決めを行う位置決め手段(BR)と、受台
12をレール18に沿う方向(前後方向)に移動させる
ことにより、その前後方向における位置決めを行う位置
決め手段(TL)とが設けられている。さらに、STI
には、ボディ11における前方左右部及び後方左右部に
係合することにより、ボディ11の、受台12に対する
位置決めを行う昇降基準ビン(FL、FR,RL、RR
)が設けられている。そして、これらの位置決め手段及
び昇降基準ビンによって、位置決めステーションSTI
における位置決め装置19が構成されている。即ち、こ
れらの位置決め手段及び昇降基準ビンが、シーケンス制
御プログラムの位置決め装置19についての制御対象と
なる。 移載装置16は、位置決めステーションSTIとドツキ
ングステーションST2との上方において両者間に掛は
渡されて配されたガイドレール20と、ガイドレール2
0に沿って移動するキャリア21とから成る。キャリア
21には、昇降ハンガーフレーム21Bが取り付けられ
ていて、ボディ11は昇降ハンガーフレーム22により
支持される。昇降ハンガーフレーム22には、第4図に
示されるように、左前方支持アーム22FL、右前方支
持アーム22FRが夫々一対の前方アームクランプ部2
2Aを介して取付けられている共に、左後方支持アーム
22RL、右後方支持アーム22RR(不図示)が夫々
一対の前方アームクランプ部22Bを介して取付けられ
ている。左前方支持アーム22FL、右前方支持アーム
22FRの夫々は、前方アームアームクランプ部22A
を回動中心として回動し、前方アームクランプ22Aに
よるクランプが解除された状態においては、ガイドレー
ル20に沿って伸びる位置を取り、また、前方アームク
ランプ部22Aによるクランプがなされるときには、第
4図に示される如く、ガイドレール20に直交する方向
に伸びる位置をとる。同様に、左後方支持アーム22R
L。 右後方支持アーム22RRの夫々も、後方アームクラン
プ部22Bを回動中心として回動し、後方アームクラン
プ部22Aによるクランプが解除された状態においては
、ガイド20に沿って伸びる位置をとり、また、後方ア
ームクランプ部22Bによるクランプがなされるときに
は、ガイドレール20に直交する方向に伸びる位置をと
る。 移載装置16にボディ11が移載されるにあたっては、
移載装置16が、第2図において一点鎖線により示され
るように、レール18の前端部上方の位置(原位置)に
、左前方支持アーム22FL、右前方支持アーム22F
Hの夫々が前方アームクランプ部22Aによるクランプ
が解除されてガイドレール20に沿って伸びる。また、
左後方支持アーム22RL、右後方支持アーム22RR
の夫々が後方アームクランプ部22Bによるクランプが
解除されてガイドレール20に沿って伸びて、その後、
昇降ハンガーフレーム21Bが下降せしめられる。かか
る状態で、ボディ11が載置された受台12が、レール
18に沿ってその前端部にまで移動せしめられ、降下さ
れていた移載装置16の昇降ハンガーフレーム21Bに
対応する位置を取るようにされる。そして、左前方支持
アーム22FL、右前方支持アーム22FHの夫々が、
回動されてボディ11の前部の下方においてガイドレー
ル20に直交する方向に伸びる位置をとって、前方アー
ムクランプ部22Aによるクランプがなされた状態とな
る。また、左後方支持アーム22RL、右後方支持アー
ム22RRの夫々が、回動されてボディ11の後部の下
方においてガイドレール20に直交する方向に伸びる位
置をとって、後方アームクランプ部22Bによるクラン
プがなされた状態となる。その後、昇降ハンガーフレー
ム21Bが上昇させられて、第4図に示されるように、
ボディ11が、移載装置16の昇降ハンガーフレーム2
1Bに取付けられた左前方支持アーム22FL、右前方
支持アーム22FRと左後方支持アーム22RL、右後
方支持アーム22RRとにより支持される。 また、パレット搬送装置17は、夫々パレット13の下
面を受ける多数の支持ローラ23が設けられた一対のガ
イド部24L及び24Rと、このガイド部24L及び2
4Hに夫々並行に延設された一対の搬送レール25L及
び25Rと、各々がパレット13を係止するパレット係
止部26を有し、夫々搬送レール25L及び25Hに沿
って移動するものとされたパレット搬送台27L及び2
7Rと、これらのパレット搬送台27L及び27Rを駆
動するりニアモータ機構(図示は省略されている)とを
備える。 ドツキングステーションST2には、フロントサスペン
ションアセンブリ及びリアサスペンションアッセンブリ
15の夫々の組み付は時においてフロントサスペンショ
ンアッセンブリのストラット及びリアサスペンションア
ッセンブリ15のストラット15Aを夫々支持して組付
姿勢をとらせる一対の左右前方クランプアーム30L及
び30Rと、及び、一対の左右後方クランプアーム31
L及び31Rとが設けられている。この左右前方クラン
プアーム30L及び30Rは、夫々、搬送レール25L
及び25Hに直交する方向に進退動可能に、取付板部3
2L及び32Hに取り付けられるとともに、左右後方ク
ランプアーム31L及び31Rは、夫々、取付板部33
L及び33Rに、搬送レール25L及び25Hに直交す
る方向に進退動可能に取り付けられている。左右前方ク
ランプアーム30L及び30Rの相互対向先端部と、左
右後方クランプアーム31L及び31Rの相互対向先端
部とは、夫々、フロントサスペンションアッセンブリの
ストラットもしくはリアサスペンションアッセンブリ1
5のストラット15Aに係合する係合部を有する。そし
て、前記取付板部32Lは、アームスライド34Lによ
り固定基台35Lに対して、搬送レール25L及び25
Rに沿う方向に移動可能とされる。取付板部32Rはア
ームスライド34Rにより固定基台35Rに対して、搬
送レール25L及び25Rに沿う方向に移動可能とされ
る。取付板部33Lは、アームスライド36Lにより固
定基台37Lに対して、搬送レール25L及び25Rに
沿う方向に移動可能とされる。さらに、取付板部33R
は、アームスライド36Rにより固定基台37Rに対し
て、搬送レール25L及び25Hに沿う方向に移動可能
とされている。従って、左右前方クランプアーム30L
及び30Rは、それらの先端部がフロントサスペンショ
ンアッセンブリのストラットに係合した状態のもとで、
前後左右に移動可能となる。また、左右後方クランプア
ーム31L及び31Rは、それらの先端部がリアサスペ
ンションアッセンブリ15のストラット15Aに係合し
た状態のもとで、前後左右に移動可能となる。また、こ
れらの左右前方クランプアーム30L及び30R,アー
ムスライド34L及び34R1左右後方クランプアーム
31L及び31R1及びアームスライド36L及び36
Rが、ドツキング装置40を構成している。 さらに、ドツキングステーションST2には、搬送レー
ル25L及び25Hに夫々平行に伸びるように設置され
た一対のスライドレール41L及び41Rと、このスラ
イドレール41L及び41Rに沿ってスライドするもの
とされた可動部材42、可動部材42を駆動するモータ
43等から成るスライド装置45とが設けられている。 このスライド装置45における可動部材42には、パレ
ット13上に設けられた可動エンジン支持部材(図示は
省略されている)に係合する係合手段46と、パレット
13を所定の位置に位置決めするだめの2個の昇降パレ
ット基準ビン47とが設けられている。スライド装置4
5においては、移載装置16における昇降ハンガーフレ
ーム22により支持されたボディ11に、パレット13
上に配されたエンジン14.フロントサスペンションア
ッセンブリ及びリアサスペンションアッセンブリ15と
を組み合わせる際に、その係合手段46が昇降パレット
基準ビン47により位置決めされたパレット13上の可
動エンジン支持部材に係合した状態で前後動せしめられ
、それにより、ボディ11に対してエンジン14を前後
動させて、ボディ11とエンジン14との干渉を回避す
るようになっている。 締結ステーションST3には、ボディ11に、これに組
み合わされたエンジン14及びフロントサスペンション
アッセンブリを締結するための螺子締め作業を行うため
のロボット48Aと、ボディ11に、これに組み合わさ
れたリアサスペンションアッセンブリ15を締結するた
めの螺子締め作業を行うためのロボット48Bとが配置
されている。さらに、締結ステーションST3において
は、パレット13を所定の位置に位置決めするための2
個の昇降パレット基準ピン47が設けられている。 第2図乃至第4図により説明した車両組立ラインにおい
て、位置決めステーションSTIにおける位置決め装置
19.移載装置16、そして、ドツキングステーション
ST2におけるドツキング装置40及びスライド装置4
5.パレット搬送装置17、そして、締結ステーション
ST3におけるロボット48A及び48Bは、それらに
接続されたシーケンス制御部により、本実施例のプログ
ラム生成装置によって生成されたシーケンス制御プログ
ラムに基づいてシーケンス制御が行われる。即ち、これ
らの上記位置決め装置19.移載装置16等は、シーケ
ンス制御対象の“設備”とされる。 シーケンス  プログラムの 第2図の生産ラインにおける組立動作は、即ち、上記の
シーケンス制御対象の“設備”の全てが行う動作は複数
の“動作ブロック”に分解することができる。ここで“
動作ブロック”とは、■:複数の単位動作の集合である と定義することができる。動作ブロックの最も重要な性
質は、 ■:ある動作ブロックの開始から終了に至るまでの中間
過程で、他の動作ブロックから独立して干渉を受けるこ
となく、動作を完結することができるということである
。 この■、■の性質のために、動作ブロックを1つのブロ
ック(かたまり)として表記することが可能となる。換
言すれば、動作ブロックは、動作ブロックのレベルにお
いてのみ、他の動作ブロックと関係する。動作ブロック
が動作を開始できるためには、他の動作ブロックにおけ
る動作の終了が必要となる。この他の動作ブロックは、
1つの場合もあれば、複数の場合もあろう。即ち、1つ
の動作ブロックの動作終了がそれに連結する別の動作ブ
ロック(1つまたは複数の動作ブロック)の起動条件に
なったり、複数の動作ブロックの動作終了が起動条件に
なったりするということである。 また、上記性質によれば、1つの動作ブロックにおける
動作の中間段階で、他の動作ブロックに対して起動をか
けるということはない。また、1つの動作ブロックの中
間段階で、他の動作ブロックからの起動を待つというこ
ともない。 上記■、■の動作ブロックの定義から、次の付随的な動
作ブロックの性質■を導(ことができる。 ■:動作ブロックは、上記■、■の性質を満足する単位
動作の集合のなかで、最大のものであることが望ましい
。 この■の性質は絶対的に必要なものではない。 しかし、■を満足すると、生産ラインを記述する動作ブ
ロックの数が減り、工程全体の記述が単純化され、大変
見易いものとなる。 第2図、第3図に示した生産ラインを、■乃至■の条件
を満足する動作ブロックにより記述すると、以下の如く
に、AO−A4と、BO〜Bllの17個の動作ブロッ
クが得られる。 上記17個の動作ブロックのうち、BO〜B11の12
個の動作ブロックについて夫々説明する。 ブロックBO:受台12とその上のボディ11の、位置
決め装置19による位置決めを行う動作ブロック。この
動作ブロックを受台位置決めブロックと呼ぶ。 ブロックB1:移載位置16による、ボディ11の移載
のための準備を行う動作ブロック。この動作ブロックを
移載装置準備ブロックと呼ぶ。 ブロックB2:ドツキング装置40が、左右前方クラン
プアーム30L、30Rでもってフロントサスペンショ
ンアッセンブリのストラットをクランプし、また、左右
後方クランプアーム31L。 31Rでもってリアサスペンションアッセンブリ15の
ストラット15Aをクランプするための準備を行う動作
ブロック。この動作ブロックをストラットクランプ準備
ブロックと呼ぶ。 ブロックB3:位置決め装置19による位置決めがなさ
れた受台12上のボディ11が、移載装置16における
昇降ハンガーフレーム22へと移載され、搬送される状
態とされる動作ブロック。この動作ブロックな移載装置
受取りブロックと呼ぶ。 ブロックB4ニスライド装置45による、その可動部材
42に設けられた係合手段46をパレット13上の可動
エンジン支持部材に係合させるための準備を行う動作ブ
ロック。この動作ブロックをスライド装置準備ブロック
と呼ぶ。 ブロックB5:位置決め装ff119により、受台12
を原位置に戻す動作ブロック。この動作ブロックを受台
原位置戻しブロックと呼ぶ。 ブロックB6:移載装置16の昇降ハンガーフレーム2
2により支持されたボディ11に対して、パレット13
上に配されたエンジン14と、パレット13上に配され
左右前方クランプアーム30L、30Rによりクランプ
されたフロントサスペンションアッセンブリのストラッ
トと、左右後方クランプアーム31L、31Rによりク
ランプされたリアサスペンションアッセンブリ15のス
トラット15Aとを組み合わせる動作ブロック。この動
作ブロックをエンジン/サスペンション・ドツキングブ
ロックと呼ぶ。 ブロックB7:移載装置16が原位置に戻る動作ブロッ
ク。この動作ブロックを移載装置原位置戻りブロックと
呼ぶ。 ブロックB8:ドッキング装置40による、左右前方ク
ランプアーム30L、30Rと、左右後方クランプアー
ム31L、31Rとの夫々を原位置に戻す動作ブロック
。この動作ブロックをクランプアーム原位置戻しブロッ
クと呼ぶ。 ブロックB9:パレット搬送装置17がリニアモータを
動作させて、エンジン14.フロントサスペンションア
ッセンブリ、リアサスペンションアッセンブリ15が組
み合わされたボディ11が載置されたパレット13を締
結ステーションST3へ搬送する動作ブロック。この動
作ブロックをリニアモータ推進ブロックと呼ぶ。 ブロックB10:ロボット48Aによる、ボディ11に
組み合わされたエンジン14とフロントサスペンション
アッセンブリとをボディ11に締結するための螺子締め
作業を行う動作ブロック。この動作ブロックを螺子締め
第1動作ブロックと呼ぶ。 ブロックB11:ロボット48Bによる、ボディ11に
組み合わされたリアサスペンションアッセンブリ15を
ボディ11に締結するための螺子締め作業を行う動作ブ
ロック。この動作ブロックを螺子締め第2ブロツクと呼
ぶ。 第5図は、第2図〜第4図に示された生産ラインにおけ
る、AO〜A4とBO〜Bllの17個の動作ブロック
間の関連を示したものである。この第5図は、第2図〜
第4図に示された生産ラインのシーケンス制御プログラ
ムを作成しようとするプログラマが、この生産ラインに
おける動作を分析した上で作成したものである。 第5図において、移載装置16のブロックB3は、位置
決め装M19の動作ブロックBOと移載装置16の動作
ブロックB1とから2つのラインが引かれている。この
線は、ブロックB3が、位置決め装置19にて、受台1
2とその上のボディ11の位置決め動作(動作ブロック
BO)が終了し、移載位置16にて、ボディ11の移載
準備(動作ブロックBl)が終了してから起動されると
いうことである。換言すれば、動作ブロックBOとB1
とは並列動作を行なう。 上述の動作ブロックBO−Bllの夫々は、夫々が圧力
動作を伴う複数の動作ステップに区分される。ここで、
動作ステップとは、出力動作を伴なうことを要件とする
。但し、動作ステップは動作ブロックの構成要素である
から、1つの動作ブロック内の動作ステップは、他の動
作ブロックの動作ステップに対して出力動作を行なうこ
とはない。 例えば、受台位置決め動作ブロックBOについては、以
下の如くにBOSO−BOS9の10個の動作ステップ
に区分される。 BO30: 動作ブロックBOが起動されるための各種条件を確認す
る動作ステップ(条件確認動作ステップと呼ぶ)。 BOSI : 位置決め手段BFにより受台12が移動されて、ボディ
11の前部の車両方向における位置決めが行われる動作
ステップ(BF位置決め動作ステップ)。 BOS2 : 位置決め手段BRにより受台12が移動されて、ボディ
11の後部の車幅方向における位置決めが行われる動作
ステップ(BR位置決め動作ステップ)。 BOS3 : 位置決め手段TLにより受台12が移動されて、ボディ
11のレール18に沿う方向(前後方向)における位置
決めが行われる動作ステップ(TL位置決め動作ステッ
プ)。 BOS4 : 昇降基準ビンFLがボディ11の前方左側部に係合する
動作ステップ(FL係合動作ステップ)。 BO35: 昇降基準ビンFRがボディ11の前方右側部に係合する
動作ステップ(FR係合動作ステップ)。 BO36: 昇降基準ビンRLがボディ11の後方左側部に係合する
動作ステップ(RL係合動作ステップ)。 BOS7 : 昇降基準ビンRRがボディ11の後方右側部に係合する
動作ステップ(RR係合動作ステップ)。 BOS8 : 位置決め手段BFがボディ11の前部の車幅方向におけ
る位置決めをした後に、原位置に戻る動作ステップ(B
F原位置戻り動作ステップ)。 BO39: 位置決め手段BRがボディ11の後部の車幅方向におけ
る位置決めをした後に、原位置に戻る動作ステップ(B
R原位置戻り動作ステップ)。 第2図の生産ラインの動作ステップの一例を第8図に示
す。 第9A図は、第2図の生産ラインの例えば昇降基準ビン
等を駆動する動作回路素子を表わす。このような素子に
おける入力は、この素子の機械要素としてのソレノイド
を駆動するための入力信号Y0であり、このYoはシー
ケンスラダープログラム要素からの出力である。また、
この素子からの出力として、素子の作動状態を確認する
ために、駆動された事を確認するためのリミットスイッ
チからの出力(出力確認L/S)と、原位置に戻された
ことを確認するためのリミットスイッチからの圧力(戻
り確認L/S)がある。 第9B図は、第9A図の素子の出力駆動動作の論理を説
明する図である。ソレノイドがオンするためには、イン
ターロック条件ILCが満足されることである。インタ
ーロック条件ILCは、般に、その動作ステップに特有
の種々の起動条件を含む。 第9C図は全体シーケンスを自動生成する際に用いる定
型的な動作回路の一例を示す。第9C図において、条件
M、は自動モード(生産ラインがシーケンス制御プログ
ラムに従って動作するモードである)でこの動作回路が
動作しているときは閉じられる。条件Msは手動モード
でこの動作回路が動作しているときに閉じられる。Ms
は通常閉じられている。従って、通常の自動モードでは
、インターロック条件ILC,とX、が満足されれば、
出力Y0が出力される。一方、I LC。 は手動モードにおける動作条件の論理を記述する。手動
モードでは、接点M、が開(ので、条件X、、ILC+
が同時に満足するか、条件X k。 Xxが同時に満足すれば、Yoは出力される。 般に、X、は、手動動作のインターロック条件工LC,
を殺すための論理である。 以上のことから明らかなように、接点条件MA、Ms 
、X I等はいかなる生産ラインにも共通なものである
ので、システムがプログラマの手を煩わすことなく定型
的に設定できるものである。 シュミレーションシステムは、第1図に示すように、シ
ーケンス制御対象設備50に接続されてそれに対するシ
ーケンス動作制御を行うシーケンス制御部51と、シュ
ミレーションを行なうシュミレーション部90と、故障
診断を行なう診断部52と、CRT (陰極線管)操作
盤部53とから成る。 シーケンス制御部51は、シーケンス動作制御ラダープ
ログラム(第11図)とそれに接続されたシュミレーシ
ョンプログラム(第12図)とが格納されるプログラム
メモリ55、及び、送受信インターフェース54を備え
るコンピュータを内蔵する。故障診断部52は、パスラ
イン61を通じて接続された中央処理ユニット(CPt
J) 62、メモリ63.入出力インターフェースCl
10インターフエース)64及び送受信インターフェー
ス65を有しており、さらに、I10インターフェース
64に接続されたキーボード66、デイスプレィ用のC
RT67及びプリンタ68が備えられている。また、C
RT操作盤部53は、パスライン71を通じて接続され
たCPU72.メモリ73.送受信インターフェース7
4及び75、及び、I10インターフェース76を有し
ており、さらに、I10インターフェース76に接続さ
れた補助メモリとしてのハードディスク装置77、デイ
スプレィ用のCRT78及びデータ及び制御コード入力
用のキーボード79、及び、送受信インターフェース7
4に接続されたタッチパネル80が備えられている。タ
ッチパネル80はCRT78のフェースプレート部外面
に取り付けられている。 シーケンス制御部51が内蔵するコンピュータに備えら
れた送受信インターフェース54と、故障診断部52に
設けられた送受信インターフェース65と、シュミレー
ション部90のインターフェース97及びCRT操作盤
部53に設けられた送受信インターフェース75の夫々
とが相互接続されている。 また、故障診断部52は、シーケンス制御部51から送
受信インターフェース54及び65を通じて、シーケン
ス制御部51におけるシーケンス動作制御ラダープログ
ラム及びシュミレーションプログラムの作動状態をあら
れすプログラム処理データを受は取り、それをCPU6
2により処理して、プログラム処理データに基づく表示
信号及び出力信号を得、I10インターフェース64を
通じて、表示信号をCRT67に、また、出力信号をプ
リンタ68に夫々供給する。 続いて、上述の如くの車両組立ラインの各設備の動作に
対してシーケンス制御を行なうためのシーケンス制御プ
ログラムを自動作成するための手順を概略的に説明する
。 かかる制御プログラムの自動生成に必要なデータは、定
型のステップラダーパターンと入出カマツブと前述の動
作ブロックマツプ、動作ステップマツプである。定型ス
テップラダーパターンとは、生産ラインの制御プログラ
ムに必要な全ての動作を表記する動作回路のシンボルを
記憶するデータベースである。このような定型パターン
の例は前述の第9C図のようなものである。 入出カマツブとは、一般的に生産ラインに使われる可能
性のある多(の動作回路についての、その各々の入力出
力関係を記述したデータベースである。この入出カマツ
ブデータベースの一例を第7図に示す。上記の定型ステ
ップラダーパターンデータベースと入出カマツブデータ
ベースは、生産ラインに共通なデータであり、ある特定
の生産ラインに固有なデータではない。 固有なデータは動作ブロックマツプデータと動作ステッ
プマツプデータの2つである。動作ブロックマツプとは
、前述の動作ブロックの個々を記述し、且つ、これらの
動作ブロック間の連係関係を記述するデータである。第
2図の生産ラインについて固有な動作ブロックマツプデ
ータの例を第6図に示す。動作ステップマツプとは、あ
る特定の生産ラインに固有な動作ブロックの各々に含ま
れる動作ステップを記述する固有なデータである。第2
図の生産ラインについて固有な動作ステツブマツプの一
例を第8図に示す。 かかる2つの定型データベースと2つの固有なデータと
に基づいてシーケンス制御プログラムが生成される。 先ず、定型のステップラダーパターンデータベースにつ
いて第10図に従って説明する。第10A図は、動作ブ
ロックの開始と停止を定型的に記述するパターンである
。第10B図は、第9C図に関連して説明したパターン
と同じである。第10C図は、第10B図のパターンに
更に1つの接点条件を付加したものである。 次に、入出カマツブについて説明する。この入出カマツ
ブは、予め生産ラインに使用される全ての設備について
、その入出力の態様をテーブルとして記述したものであ
る。第7図の入出カマツブは、第2図の位置決め装置1
9についてのものである。この入出カマツブにおいて、
“コメント”は、入出力動作の内容をあられす。また“
NO3゜は自動作成される。また、“コメント”、“動
作”及び“原位置”についてのデータはキーボード67
が操作されることにより入力される。“出力コイルデイ
バイス”、“確認入力接点デイバイス°°及び“手動入
力接点デイバイス”は自動設定される。 例えば、AoaのBF(位置決め)という動作回路は、
動作タイプが“出力”であり、出力コイルの端子はYl
である。出力されたときの確認入力接点名は“X、”で
ある。また、手動入力の接点名は“X、”である。 次に、動作ブロックマツプについて説明する。 このマツプのデータは、対象の生産ラインの動作を分析
し、前述の定義に従った動作ブロックにより、その生産
ラインの工程を表現することにより得られる。第5図の
動作ブロックのマツプは、第2図の生産ラインについて
分析した結果、第5図に示したような動作ブロックチャ
ートが得られた場合に、そのチャートを表現するテーブ
ルである。換言すれば、この第6図のテーブル(マツプ
)は第5図のチャートと略等価である。 第6図において、“5C−REG”は、16ビツトのレ
ジスタをあられし、動作ブロックBO〜Bllの夫々に
1個づつ設けられたものである。 このレジスタは、対応する動作ブロック内で、現在、ど
の動作ステップが実行されているのかを表わす。例えば
、動作ブロックB0で現在B。So(第8図参照)の動
作ステップが実行されているのであれば、動作ブロック
B0の5CREGには“B、S、°°が格納される。 動作ブロックマツプの“FROM”は、当該動作ブロッ
クの動作が開始される条件となる直前の動作ブロックを
あられす。例えば、動作ブロックB、は動作ブロックB
0.B+の終了が起動条件となる。また、“TO”は当
該動作ブロックの動作完了によって動作を開始せしめら
れるところの、当該動作ブロックの直後につながる動作
ブロックをあられす。例えば、動作ブロックB、の終了
は、動作ブロックB、、B、の起動を意味する。“クリ
ア条件”は、当該動作ブロックに関わる設備が原状に戻
る動作ブロックをあられす。さらに、“設備”は、当該
動作ブロックに関わるシーケンス制御対象設備をあられ
す。 “NO”及び“5C−REG”の内容は自動作成される
。一方、“ブロック名称”、“FROM”To”クリア
条件”及び“設備”の内容は、プログラマがキーボード
67を操作して入力する。 次に、第8図の動作ステップマツプについて説明する。 前述したように、動作ステップは、各動作ブロック内の
具体的な動作の内容を記述する。 換言すれば、入出カマツブ(第7図)は、動作のシーケ
ンスを表わしてはいない。しかし、動作ステップマツプ
の個々の設備の動作シーケンスをも表現する。第8図は
、動作ブロックB0の動作ステップマツプの例を示した
ものである。第8図において、“NO”はシステムが自
動的に付与する。即ち、動作ステップ順序を表わす“N
o”は例えば動作ブロックB0については“Boa。 から始まって、“B、S、  〜“BoS・”まで、プ
ログラマが“コメント”をキーボード67から入力する
毎にシステムが生成する。尚、“Bo。。”は当該動作
ブロックの準備を意味する動作ステップであり、ラダー
プログラムにおいて各動作ブロックの先頭に置かれる。 また、“B□9”は当該動作ブロックの完了を意味する
動作ステップであり、ラダープログラムにおいて各動作
ブロックの最後尾に置かれる。 動作ステップマツプの生成で最低限必要なものは、ステ
ップのシーケンス類に入力する“コメント”の情報であ
る。例えば、ステップ番号“BoSo”において、プロ
グラマが“条件確認”を入力すれば、入出カマツブの先
頭にある“ワーク有”のコメント名を有する番号“A 
o +”のデータを読出す。入出カマツブの“Ao+”
のデータは確認入力接点が“XO、手動入力接点が“X
Aであるので、これらのデータを第8図の対応位置に書
込む。ステップB、S、”の出力コイルの“Yo”は、
動作ブロックの先頭動作ステップに与えられる出力名で
ある。続いて、プログラマが動作ステップ“B、S、”
においてコメント“BF(位置決め)”と入力し、動作
タイプを“出力”と入力すれば、このタイトルから人8
カマツブを索引して、番号”Aoz”のデータを得る。 番号“Ao2”のデータは、“出力コイル”が“Yl”
確認入力接点”が“Xl”手動入力接点”が“X、”で
あるので、第8図の動作ステップB、S、”に対応する
データを書込む。 このように、動作ステップマツプ(第8図)は、プログ
ラマが入力した“コメント”と“動作タイプとに基づい
て、対応するデータを入出カマツブ(第7図)内に検索
し、作成してい(。また、このような動作ステップマツ
プを各動作ブロックについて作成する。 尚、第8図の動作ステップマツプにおいて、香石側のデ
ータでは、各動作ステップの作動予測時間である。この
データではシュミレーションプログラムを生成するのに
重要なデータである。 第11図はこのようにして生成されたブロックBoにつ
いてのシーケンスラダープログラムである。第11図の
ラダープログラムと第8図の動作ステップマツプとを対
比すると、ラダープログラムの構成がよ(理解できる。 例えば、動作ステップB。Soにおいては、接点MAが
閉じている自動動作モードにおいては、接点デバイスX
0は閉じているので出力Y1が出力される。Ylが出力
されると、Bo Stにおいてその確認入力接点X0は
閉じるのでYlが出力される。 以上が本実施例システムにおけるシーケンス制御ラダー
プログラムの自動生成に関する説明であり、この説明に
より、動作ブロックマツプ(第6図)により、各動作ブ
ロック間の相互動作が理解されたであろう。また、動作
ステップマツプ及び入出カマツブ(第7図)により、制
御プログラムの自動生成がいかに効率良(行なわれるの
かが理解できたであろう。 シュミレーションプログラムの 本実施例の特徴は、このようにして生成された第11図
のようなシーケンス制御ラダープログラムをシュミレー
ションするためのプログラムを自動生成するものである
。 先ず、第1図により、シーケンス制御プログラム/シュ
ミレーションプログラムを生成するシステムの構成につ
いて説明する。 同図において、シーケンス制御プログラムの制御対象で
ある設備50は、位置決め装置19.移載装置16.ド
ツキング装置40.スライド装置45、パレット搬送装
置17及びロボット48A、48Bから成る。 以千余伯 本実施例に従ったシュミレーションプログラムの作成に
おいては、動作ブロック毎にシュミレーションプログラ
ム要素を作成する。ここで、シュミレーションプログラ
ム要素とは、1つの動作ステップの動作をシュミレーシ
ョンするためのラダープログラム要素であり、例えば、
第12図の5SPO等により示されるように、タイマ要
素等により構成される。 第12図のシュミレーションプログラムSIMPの各々
の要素SSPおけ第11図のシーケンス制御ラダープロ
グラムBRPの各々のラダー要素SR,,をシュミレー
ションするものである。 第12図において、Oの付いたシンボルTnはタイマ要
素であり、接点シンボルT0はタイマT、の接点である
。シュミレーションラダー要素5SPI、は、動作ステ
ップラダー要素5Rrlの出力Y。の発生に必要な条件
(インターロック条件)により起動され、各ステップに
おけるアクチュエータの実際の作動時間に相当する時間
(=T、、)の経過後に次段の動作ステップラダー要素
SR,,,に対する起動出力Xnを発生する。 5spoを例に挙げて具体的に説明する。出力Y0を満
足する条件が与えられると、タイマ要素Toが起動され
ると共に、出力RESET  X。 も出力される。この出力Y0を満足する条件とは、SR
,のインターロック条件ILC,に相当する。このRE
SET  X、により第11図のSR1の確認入力接点
Xlがリセットされる。即ち、設備側の確認入力接点X
。かりセットされるようにシュミレーションされる。そ
して、時間T0が経過すると出力SET  X、が出力
される。この時間の経過によりSR,のシュミレーショ
ンが行なわれたことになる。SET  X、によりSR
,の接点X0が閉じる。これにより、第11図のSR,
におけるY、が出力される条件が■LC,を除いて揃っ
た。次に、SSP+により、出力Y+が満足する条件¥
1が入力される。このYlによりssp、のタイマT、
が起動されると共に、RE S E T  X zが出
力される。・・・このような動作を連続して行なうこと
により、シュミレーションプログラムSIMPはブロッ
クラダープログラムBRPをシュミレーションしてい(
。 さて、第12図のシュミレーションプログラムは、ブロ
ックB0の動作をそれ単独のものとしてシュミレーショ
ンするものである。換言すれば、このブロックB0のシ
ュミレーションプログラムは他のブロックの動作状態と
は関係無(行なわれる。これは、前述の定義でも述べた
ように、動作ブロックは他の動作ブロックとは独立して
動作するものであるからである。従って、この「独立性
」はシュミレーションプログラムにおいても保持されな
ければならないので、第12図のシュミレーションプロ
グラム要素も、他の動作ブロックのそれから独立したも
のとなっている。 ところがこのような「独立性」を保持すると、例えば、
第5図のようなブロック間の結合関係を有する場合には
、先ず、ブロックA0の動作ステップを実行し、次にブ
ロックA1の動作ステップを実行し、次にブロックB0
の動作ステップを実行するというように、各動作ブロッ
クの実行が本来は並行動作部分を有する(例えば、Bo
とB1とは並行動作である)ものであっても、シーケン
シャルなものになってしまい、これでは、実際の並行動
作とシュミレーションによる動作とに食い違いが発生し
てしまう。 そこで、本実施例のシュミレーションプログラムの自動
生成装置では、 ■:先ず、各動作ブロックについてのステップラダープ
ログラム(BRP)と、これに対応するシュミレーショ
ンプログラムSIMPを動作ブロック毎に作成する。こ
のSIMPの作成は、動作ブロック自体が他の動作ブロ
ックとは独立したものであることから、第12図に関連
して説明した手法によりできる。第12図に関連して説
明したSIMPを生成するプログラムをシュミレーショ
ンラダー要素生成プログラムと称すれば、この生成プロ
グラムは、第13図に示すように、動作ブロックマツプ
(第6図)と動作ステップマツプ(第8図)とを入力し
てSIMPを生成することとなる。 ■:このように生成されたSIMPの各動作ブロックの
各SSP、、の実行順序は、第13図の実行順序制御プ
ログラムにより制御される。この制御プログラムは、動
作ブロックマツプと動作ステップマツプと上記SIMP
とを入力して各ssp、。 の実行を制御する。 第14図、第15図は、この実行順序制御プログラムの
動作を概略的に説明するものである。この制御プログラ
ムは先ず、並行して動作すべきブロックがいくつあるか
を動作ブロックマツプから認識する。この認識は動作ブ
ロックマツプが、ブロック間の起動関係を記述するデー
タ(第6図のFROMとTo)を有しているので容易に
できる。このようにして認識された並行動作を行なうブ
ロックがm個あったとし、それらのブロックの各々が番
号n+、nl・・・n、を有するブロックB nl。 B nl、・・・Boであったとする。そして、これら
のブロックに対応する動作ステップマツプを第14図の
ようにメモリ内に再配置する。この再配置により、並列
動作を行なうブロックの動作ステップだけが抽出された
ことになるので、実行順序制御プログラムによるシュミ
レーション動作が効率的なものとなり、シュミレーショ
ン結果が実際に近いものとなるという副次的な効果があ
る。 第14図において、理解を深める関係上、各動作ステッ
プの動作に要する時間τを動作ステップを表わす矩形の
縦方向の幅で表記する。第14図において、 1: (n + + k nl) とは、ブロックn1のステップ番号k nlの動作時間
を意味する。このように各動作ステップの動作時間τを
表すと、並列動作を行なう複数の動作ブロックの動作ス
テップをタイミングチャートで表わせば、第15図のよ
うになる。第15図は便宜上、動作ブロックnlと02
に関連するタイミングチャートのみを示している。この
タイミングチャートから明らかなように、先ず、動作ス
テップ(n、 、  icn+)を実行し、次に、(n
、 、  1nns)を実行し、次に(n + 、 k
 +++ + 1 )を実行し、(n 2 、  k 
na+ 1 )を実行し、次に(n、、kn+2)を実
行し・・・というように、実行順序制御プログラムが順
序を制御すればよい。 実行順序制御プログラムは、この実行順序を制御するた
めに、各動作ブロック毎に、現在どの動作ステップまで
を実行したかを経過時間でもって記憶する変数レジスタ
を有する。このレジスタを動作ブロックB1.に対して
T n lと表わす。 第16図は、実行順序制御プログラムの手順を表わすフ
ローチャートである。このフローチャートに従って、実
行順序制御プログラムの動作を詳細に説明する。 ステップS2は、並列動作を行なう関係にある全ての動
作ブロックを動作ブロックマツプ(第6図)から抽出す
る。これらの動作ブロックの番号をm個のnl、nz・
・・n、とする。ステップS4では、各動作ブロックに
ついての実行経過時間レジスタT nil T nl・
・・をOにクリアする。並列関係にある動作ブロックに
おいては、スタート時点にある動作ステップは番号Oの
動作ステップであり、従ってその経過時間はゼロだから
である。ステップS6では、ブロック番号を指定する変
数iを1に初期化する。また、ステップS8では、動作
ステップ番号を指定する変数kを1に初期化する。 ステップS10の判断は、変数iにより指定されたブロ
ックB、、、の実行経過時間レジスタT。lが、他のブ
ロックを含む全てのブロックの経過時間Tn、(X=1
〜m)の最小値に等しいかを調べるものである。この判
断により、iで示される動作ブロックB 、、1の動作
ステップk。1は現時点でシュミレーション動作させる
べきものであるか、それとも、他のブロック内に先にシ
ュミレーション実行されるべき別の動作ステップがある
かを判断できる。 ステップS10の判断がYESであるならば、ステップ
S12に進んで、このkn、の動作ステップのラダープ
ログラム要素を抽出してインターロック条件を認識する
。そして、ステップS14で、対応する5SP(nl、
kni)を起動する。 ステップS16では経過時間レジスタT nlを更新す
る。即ち、 T 、、、= T nl+で(nl + kn+)とす
る。これにより、ブロックB nlは動作ステップkn
lまでシュミレーションされたことになる。 ステップS18では、動作ステップを表わすカウンタk
 nlを1つインクリメントする。ステップS20では
、この動作ブロックB0の全動作ステップについてシュ
ミレーションを行なったかを判断する。当該動作ブロッ
クのシュミレーションが終了していなければステップS
IOに戻る。終了していれば、当該ブロックのシュミレ
ーションは終了したとマークする。このマークにより、
以降、ブロックB、、、の検素は行なわれなくなり処理
速度が向上する。 ステップSIOでNoと判断された場合について説明す
る。かかる場合は、 TIl、>M I N (T 1.) である。この式を満足するようなブロックB、、、は他
のブロックのシュミレーションよりも先に進んでいるの
であるから、ステップS24に進んで、別のブロックを
スキャンするために、変数iをインクリメントする。 以上の操作を行なうと、レジスタT。lの値が最も少な
いものである動作ブロックの動作ステップのシュミレー
ションが優先され、結果的に、並列的に動作する動作ス
テップのシュミレーションが実際に近い並列性でもって
行なわれる。 ステップ$26.ステップS28は、動作ブロックをi
=1からmまでスキャンしたときは、変数iを1に戻す
る操作である。 このようにして、シーケンス制御部51に内蔵されたコ
ンピュータに備えられるメモリ55に、シーケンス制御
ラダープログラムとそれを構成するブロックラダープロ
グラムBRPの夫々に接続されたシュミレーションプロ
グラムSIMPとが格納されたもとで、CRT操作盤5
3に備えられたタッチパネル80においてシーケンス制
御ラダープログラムの起動用のものに対応する位置にタ
ッチすることにより、シーケンス制御ラダープログラム
が起動される。また、この起動により、BRPを構成す
るステップラダー要素とSIMPを構成するシュミレー
ションラダー要素の夫々が順次作動されることとなり、
これにより、BRPに接続されたシュミレーションプロ
グラムSIMPが継続的に進行していく。 尚、モニタ部52においては、BRPとSIMPの夫々
の進行状況が表示され、またはプリンタに出力される。 1五1 本発明はその主旨を逸脱しない範囲で種々変形が可能で
ある。例えば、上記実施例は本発明を自動車の生産ライ
ンに適用したものであったが、当然ながら本発明はその
ような適用分野に限定されるものではない。少な(とも
シーケンス制御を行なうものであれば適用可能である。 また上記実施例では、前もって設定された実行予測時間
τに基づいて、互いに並行動作をする関係にある動作ブ
ロック内の動作ステップ間の順序を判断していたが、こ
の順序の判断はこれに限定されるものではない。 【発明の効果] 以上説明したように本発明のプログラムのシュミレーシ
ョン方法は、各設備の単位動作が動作ステップにより表
現され、この動作ステップの集合からなる動作ブロック
はその開始から終了まで他の動作ブロックから独立して
動作し、この動作ブロックの集合により全体の設備のシ
ーケンス動作を記述するプログラムのシュミレーション
方法において、 上記各動作ブロックの各動作ステップについての動作時
間を、全体設備の動作について、ある動作ブロックが単
体動作を行なうことを、あるいは他の動作ブロックに対
して並行動作を行なうことを記述する動作ブロックマツ
プを作成し、各動作ブロックの各々の動作ステップにつ
いて、その動作ステップの実行シーケンスと各動作ステ
ップの実行予測時間とを記述する動作ステップマツプを
作成し、 前記動作ブロックマツプ及び動作ステップマッブから各
動作ブロック内の動作ステップをシュミレーションする
シュミレーションラダープログラム要素を作成し、 上記シュミレーションラダープログラム要素の実行時に
、前記動作ブロックマツプ及び動作ステップマツプを参
照しながら、動作ステップの実行順に従って、前記シュ
ミレーションラダープログラム要素を実行することを特
徴とする。 従って、前記実行過程では、動作ブロックマツプや動作
ステップマツプに基づいて動作ブロック間の並行動作を
認識しながら、各動作ブロックの各々の動作ステップの
シュミレーション実行順序を制御する。従って、シュミ
レーションラダープログラム要素作成工程で作成された
シュミレーションプログラムが1つの動作ブロック内の
動作ステップの動作をシュミレーションするものであっ
ても、動作ステップの並行シュミレーションが可能とな
る。 即ち、動作ブロック間の動作において並行動作を含むよ
うな設備のためのプログラムをシュミレーションするの
に、実際の並行動作シーケンスに近い動作でもってシュ
ミレーションすることが可能となった。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment in which the present invention is applied to sequence control for an automobile production line will be described below with reference to the accompanying drawings. This embodiment system has a sequence control program automatic generation section and a simulation program generation section. Therefore, first, a vehicle assembly line to be controlled by the sequence control program will be described. Next, by explaining the automatic generation part of the sequence control program, reference will be made to operation blocks and operation steps, which are important concepts for the simulation of this embodiment. Next, generation and execution control of a simulation program, which is a feature of this embodiment, will be explained. Paper Industry] Totate 2 First, an example of a vehicle assembly line to be controlled by a sequence control program to be generated will be described with reference to FIGS. 2 and 3. The vehicle assembly line shown in FIGS. 2 and 3 exemplarily consists of three stations STL, ST2, and ST3. The positioning station ST1 is a vehicle body 11.
is received on the pedestal 12, and the position of the pedestal 12 is controlled.
2 and the body 11 is positioned. The docking station ST2 combines the engine 14, the front suspension assembly (not shown), the rear suspension assembly 15, and the body 11 placed at a predetermined position on the pallet 13. The fastening station ST3 fastens and fixes the engine 14 and front suspension assembly 15, which are combined at ST, to the body 11 using screws. Also,
An overhead transfer position 16 for holding and transporting the body 11 is provided between the positioning station ST1 and the docking station ST2. Docking station ST2 and fastening station ST
A pallet conveyance position 17 for conveying the pallet 13 is provided between the pallet 3 and the pallet 13. The pedestal 12 at the positioning station STI reciprocates along the rail 18. In the positioning station STI, the pedestal 12 is placed in a direction perpendicular to the rail 18 (
By moving the body 11 placed on the pedestal 12 in the vehicle width direction, the positioning means (BF) positions the front part of the body 11 in the vehicle width direction, and also positions the rear part of the body 11 in the vehicle width direction. and a positioning means (TL) that positions the pedestal 12 in the front-rear direction by moving it in the direction along the rail 18 (back-and-forth direction). Furthermore, STI
, there are lift reference bins (FL, FR, RL, RR) that position the body 11 relative to the pedestal 12 by engaging with the front left and right parts and the rear left and right parts of the body 11.
) is provided. Then, by these positioning means and the lifting reference bin, the positioning station STI
A positioning device 19 is configured. That is, these positioning means and the lifting reference bin become the control targets of the positioning device 19 in the sequence control program. The transfer device 16 includes a guide rail 20 disposed above the positioning station STI and the docking station ST2 with a hook passing between them;
0, and a carrier 21 that moves along 0. An elevating hanger frame 21B is attached to the carrier 21, and the body 11 is supported by the elevating hanger frame 22. As shown in FIG. 4, the lift hanger frame 22 includes a left front support arm 22FL and a right front support arm 22FR, each of which has a pair of front arm clamp parts 2.
2A, and a left rear support arm 22RL and a right rear support arm 22RR (not shown) are each attached via a pair of front arm clamp parts 22B. Each of the left front support arm 22FL and the right front support arm 22FR has a front arm clamp portion 22A.
When the front arm clamp 22A is released from the clamp, it assumes a position extending along the guide rail 20, and when the front arm clamp 22A is clamped, the fourth As shown in the figure, it takes a position extending in a direction perpendicular to the guide rail 20. Similarly, left rear support arm 22R
L. Each of the right rear support arms 22RR also rotates around the rear arm clamp part 22B, and assumes a position extending along the guide 20 when the clamp by the rear arm clamp part 22A is released. When clamping is performed by the rear arm clamp section 22B, the rear arm clamp section 22B assumes a position extending in a direction perpendicular to the guide rail 20. When the body 11 is transferred to the transfer device 16,
As shown by the dashed line in FIG. 2, the transfer device 16 has a left front support arm 22FL and a right front support arm 22F at a position above the front end of the rail 18 (original position).
Each of H extends along the guide rail 20 after being unclamped by the front arm clamp portion 22A. Also,
Left rear support arm 22RL, right rear support arm 22RR
Each of them is unclamped by the rear arm clamp part 22B and extends along the guide rail 20, and then,
The elevating hanger frame 21B is lowered. In this state, the pedestal 12 on which the body 11 is placed is moved along the rail 18 to its front end, and takes a position corresponding to the lifting hanger frame 21B of the transfer device 16 that has been lowered. be made into Each of the left front support arm 22FL and the right front support arm 22FH is
It is rotated to a position extending in a direction perpendicular to the guide rail 20 below the front part of the body 11, and is in a state where it is clamped by the front arm clamp part 22A. Further, each of the left rear support arm 22RL and the right rear support arm 22RR is rotated and takes a position extending in a direction perpendicular to the guide rail 20 below the rear part of the body 11, so that the rear arm clamp section 22B can clamp the left rear support arm 22RL and the right rear support arm 22RR. It becomes a state of being done. Thereafter, the lift hanger frame 21B is raised, and as shown in FIG.
The body 11 is the lifting hanger frame 2 of the transfer device 16
It is supported by a left front support arm 22FL, a right front support arm 22FR, a left rear support arm 22RL, and a right rear support arm 22RR attached to 1B. Further, the pallet conveying device 17 includes a pair of guide portions 24L and 24R each provided with a large number of support rollers 23 for receiving the lower surface of the pallet 13, and a pair of guide portions 24L and 24R.
A pair of conveyor rails 25L and 25R extending in parallel to each other in 4H, each having a pallet locking part 26 for locking a pallet 13, and moving along the conveyor rails 25L and 25H, respectively. Pallet transport platform 27L and 2
7R, and a near motor mechanism (not shown) for driving these pallet conveyance tables 27L and 27R. At the docking station ST2, when assembling each of the front suspension assembly and the rear suspension assembly 15, there is a pair of left and right parts that support the struts of the front suspension assembly and the struts 15A of the rear suspension assembly 15, respectively, to take an assembly posture. Front clamp arms 30L and 30R, and a pair of left and right rear clamp arms 31
L and 31R are provided. These left and right front clamp arms 30L and 30R are connected to the transport rail 25L, respectively.
The mounting plate portion 3 can be moved forward and backward in the direction orthogonal to 25H.
2L and 32H, and the left and right rear clamp arms 31L and 31R are attached to the mounting plate portion 33, respectively.
It is attached to L and 33R so that it can move forward and backward in a direction orthogonal to the transport rails 25L and 25H. The mutually opposing tips of the left and right front clamp arms 30L and 30R and the mutually opposing tips of the left and right rear clamp arms 31L and 31R are the struts of the front suspension assembly or the rear suspension assembly 1, respectively.
It has an engaging portion that engages with the strut 15A of No. 5. The mounting plate portion 32L is mounted on the transport rails 25L and 25 with respect to the fixed base 35L by the arm slide 34L.
It is possible to move in the direction along R. The mounting plate portion 32R is movable in the direction along the transport rails 25L and 25R with respect to the fixed base 35R by the arm slide 34R. The mounting plate portion 33L is movable in the direction along the transport rails 25L and 25R with respect to the fixed base 37L by the arm slide 36L. Furthermore, the mounting plate part 33R
is movable in the direction along the transport rails 25L and 25H with respect to the fixed base 37R by the arm slide 36R. Therefore, the left and right front clamp arms 30L
and 30R, with their tips engaged with the struts of the front suspension assembly,
It can be moved forward, backward, left and right. Further, the left and right rear clamp arms 31L and 31R are movable back and forth and left and right while their tips are engaged with the struts 15A of the rear suspension assembly 15. In addition, these left and right front clamp arms 30L and 30R, arm slides 34L and 34R1, left and right rear clamp arms 31L and 31R1, and arm slides 36L and 36
R constitutes the docking device 40. Furthermore, the docking station ST2 includes a pair of slide rails 41L and 41R installed to extend parallel to the transport rails 25L and 25H, respectively, and a movable member that slides along the slide rails 41L and 41R. 42, and a slide device 45 consisting of a motor 43 and the like that drive the movable member 42. The movable member 42 of this slide device 45 includes an engaging means 46 that engages with a movable engine support member (not shown) provided on the pallet 13, and a groove that positions the pallet 13 at a predetermined position. Two elevating pallet reference bins 47 are provided. Slide device 4
5, a pallet 13 is attached to a body 11 supported by an elevating hanger frame 22 in a transfer device 16.
Engine 14 placed above. When the front suspension assembly and the rear suspension assembly 15 are assembled, the engaging means 46 thereof is moved back and forth while being engaged with the movable engine support member on the pallet 13 positioned by the lifting pallet reference bin 47. The engine 14 is moved back and forth with respect to the body 11 to avoid interference between the body 11 and the engine 14. The fastening station ST3 includes a robot 48A for tightening screws to fasten the engine 14 and front suspension assembly combined to the body 11, and a robot 48A for fastening screws to the body 11 and the rear suspension assembly 15 combined thereto. A robot 48B is arranged to perform screw tightening work for fastening the parts. Furthermore, at the fastening station ST3, two
Elevating pallet reference pins 47 are provided. In the vehicle assembly line illustrated in FIGS. 2 to 4, the positioning device 19 at the positioning station STI. Transfer device 16, and docking device 40 and slide device 4 in docking station ST2
5. The pallet transport device 17 and the robots 48A and 48B in the fastening station ST3 are subjected to sequence control by a sequence control unit connected thereto based on a sequence control program generated by the program generation device of this embodiment. That is, these positioning devices 19. The transfer device 16 and the like are regarded as "equipment" to be subjected to sequence control. The assembly operation of the sequence program on the production line shown in FIG. 2, that is, the operation performed by all of the above-mentioned "equipment" subject to sequence control, can be broken down into a plurality of "operation blocks."here"
``Action block'' can be defined as ■: a set of multiple unit actions. The most important property of a movement block is: This means that the motion can be completed independently from the motion block of In other words, an action block is related to other action blocks only at the level of the action block.The completion of the action in the other action block is necessary for the action block to be able to start its action. Other operating blocks are
There may be one case, or there may be multiple cases. In other words, the completion of the operation of one action block becomes the start condition for another action block (one or more action blocks) connected to it, or the end of the action of multiple action blocks becomes the start condition. be. Further, according to the above property, there is no need to activate another motion block at an intermediate stage of the motion in one motion block. Further, there is no need to wait for activation from another action block at an intermediate stage of one action block. From the definition of the action block in ■ and ■ above, it is possible to derive the following properties of the incidental action block. ■: An action block is a set of unit actions that satisfy the properties of , is preferably the largest. This property (■) is not absolutely necessary. However, satisfying (■) reduces the number of movement blocks that describe the production line and simplifies the description of the entire process. If the production line shown in Figures 2 and 3 is described using operation blocks that satisfy conditions 17 motion blocks are obtained. Among the above 17 motion blocks, 12 from BO to B11
Each operation block will be explained. Block BO: An operation block for positioning the pedestal 12 and the body 11 thereon by the positioning device 19. This operation block is called a pedestal positioning block. Block B1: An operation block for making preparations for transferring the body 11 to the transfer position 16. This operation block is called a transfer device preparation block. Block B2: The docking device 40 clamps the struts of the front suspension assembly with the left and right front clamp arms 30L and 30R, and the left and right rear clamp arms 31L. 31R is an operation block for preparing to clamp the strut 15A of the rear suspension assembly 15. This operation block is called a strut clamp preparation block. Block B3: An operation block in which the body 11 on the pedestal 12, which has been positioned by the positioning device 19, is transferred to the lifting hanger frame 22 in the transfer device 16 and transported. This operation block is called the transfer device receiving block. Block B4 An operational block for preparing the sliding device 45 for engaging the engaging means 46 provided on its movable member 42 with the movable engine support member on the pallet 13. This operation block is called a slide device preparation block. Block B5: The positioning device ff119 moves the pedestal 12
An action block that returns the object to its original position. This operation block is called the pedestal original position return block. Block B6: Lifting hanger frame 2 of transfer device 16
Pallet 13
The engine 14 placed above, the struts of the front suspension assembly placed on the pallet 13 and clamped by left and right front clamp arms 30L and 30R, and the struts of the rear suspension assembly 15 clamped by left and right rear clamp arms 31L and 31R. Operation block that combines with 15A. This operating block is called the engine/suspension docking block. Block B7: An operation block in which the transfer device 16 returns to its original position. This operation block is called a transfer device original position return block. Block B8: An operation block in which the docking device 40 returns the left and right front clamp arms 30L, 30R and the left and right rear clamp arms 31L, 31R to their original positions. This operation block is called a clamp arm original position return block. Block B9: The pallet transport device 17 operates the linear motor, and the engine 14. An operation block that transports a pallet 13 on which a body 11 on which a front suspension assembly and a rear suspension assembly 15 are combined is placed to a fastening station ST3. This operation block is called a linear motor propulsion block. Block B10: An operation block in which the robot 48A performs screw tightening work for fastening the engine 14 and front suspension assembly combined to the body 11 to the body 11. This action block is called a screw tightening first action block. Block B11: An operation block in which the robot 48B performs screw tightening work for fastening the rear suspension assembly 15 combined with the body 11 to the body 11. This action block is called the second screw tightening block. FIG. 5 shows the relationship between 17 operation blocks, AO to A4 and BO to Bll, in the production line shown in FIGS. 2 to 4. This figure 5 is similar to figures 2~
A programmer who intended to create a sequence control program for the production line shown in FIG. 4 analyzed the operations on this production line and created it. In FIG. 5, the block B3 of the transfer device 16 has two lines drawn from the operation block BO of the positioning device M19 and the operation block B1 of the transfer device 16. This line is connected to the block B3 by the positioning device 19.
2 and the body 11 thereon (action block BO) are completed, and the preparation for transferring the body 11 at the transfer position 16 (action block Bl) is completed, and then the operation is started. In other words, operation blocks BO and B1
and perform parallel operations. Each of the operation blocks BO-Bll described above is divided into a plurality of operation steps, each of which involves a pressure operation. here,
The operation step is required to be accompanied by an output operation. However, since the action steps are constituent elements of action blocks, the action steps within one action block do not perform an output action with respect to the action steps of other action blocks. For example, the pedestal positioning operation block BO is divided into 10 operation steps BOSO-BOS9 as follows. BO30: Operation step for checking various conditions for activating the operation block BO (referred to as condition confirmation operation step). BOSI: Operation step (BF positioning operation step) in which the pedestal 12 is moved by the positioning means BF to position the front part of the body 11 in the vehicle direction. BOS2: Operation step (BR positioning operation step) in which the pedestal 12 is moved by the positioning means BR to position the rear part of the body 11 in the vehicle width direction. BOS3: An operation step (TL positioning operation step) in which the pedestal 12 is moved by the positioning means TL and the body 11 is positioned in the direction along the rail 18 (front-back direction). BOS4: Operation step in which the lift reference bin FL engages with the front left side of the body 11 (FL engagement operation step). BO35: Operation step in which the lifting reference bin FR engages with the front right side of the body 11 (FR engagement operation step). BO36: Operation step in which the lifting reference bin RL engages with the rear left side of the body 11 (RL engagement operation step). BOS7: Operation step in which the lifting reference bin RR engages with the rear right side of the body 11 (RR engagement operation step). BOS8: After the positioning means BF positions the front part of the body 11 in the vehicle width direction, an operation step (B
F original position return operation step). BO39: Operation step (B
R original position return operation step). FIG. 8 shows an example of the operational steps of the production line shown in FIG. 2. FIG. 9A represents operating circuit elements for driving, for example, the lifting reference bins, etc. of the production line of FIG. 2. FIG. The input in such an element is the input signal Y0 for driving the solenoid as the mechanical element of this element, which Yo is the output from the sequence ladder program element. Also,
As an output from this element, in order to confirm the operating state of the element, there is an output from the limit switch (output confirmation L/S) to confirm that it has been driven and to confirm that it has been returned to the original position. There is pressure from the limit switch (return confirmation L/S) for this purpose. FIG. 9B is a diagram illustrating the logic of the output drive operation of the element in FIG. 9A. In order for the solenoid to turn on, interlock condition ILC must be satisfied. Interlock conditions ILC generally include various activation conditions specific to that operating step. FIG. 9C shows an example of a typical operating circuit used when automatically generating the entire sequence. In FIG. 9C, condition M is closed when this operating circuit is operating in automatic mode (a mode in which the production line operates according to a sequence control program). Condition Ms is closed when this operating circuit is operating in manual mode. Ms
is normally closed. Therefore, in normal automatic mode, if interlock conditions ILC, and X are satisfied,
Output Y0 is output. On the other hand, ILC. describes the logic of operating conditions in manual mode. In manual mode, contact M is open (so condition X, ILC+
are simultaneously satisfied or the condition X k. If Xx is satisfied at the same time, Yo is output. In general, X is a manual operation interlock condition LC,
It is a logic to kill. As is clear from the above, contact conditions MA, Ms
. As shown in FIG. 1, the simulation system includes a sequence control section 51 that is connected to a sequence control target equipment 50 and performs sequence operation control on it, a simulation section 90 that performs simulation, and a diagnosis section 52 that performs failure diagnosis. , and a CRT (cathode ray tube) operation panel section 53. The sequence control unit 51 includes a computer including a program memory 55 in which a sequence operation control ladder program (FIG. 11) and a simulation program (FIG. 12) connected thereto are stored, and a transmission/reception interface 54. The failure diagnosis section 52 is connected to a central processing unit (CPt) through a path line 61.
J) 62, memory 63. Input/output interface Cl
10 interface) 64 and a sending/receiving interface 65, and furthermore, a keyboard 66 connected to the I10 interface 64, and a C for display.
An RT 67 and a printer 68 are provided. Also, C
The RT operation panel section 53 is connected to the CPU 72 . Memory 73. Transmission/reception interface 7
4 and 75, and an I10 interface 76, and further includes a hard disk device 77 as an auxiliary memory connected to the I10 interface 76, a CRT 78 for display, a keyboard 79 for inputting data and control codes, and a transmitter/receiver. Interface 7
A touch panel 80 connected to 4 is provided. The touch panel 80 is attached to the outer surface of the face plate portion of the CRT 78. A transmitting/receiving interface 54 provided in the computer built in the sequence control section 51, a transmitting/receiving interface 65 provided in the failure diagnosis section 52, an interface 97 of the simulation section 90, and a transmitting/receiving interface 75 provided in the CRT operation panel section 53. Each is interconnected. Furthermore, the fault diagnosis section 52 receives and receives program processing data indicating the operating status of the sequence operation control ladder program and simulation program in the sequence control section 51 through the transmission/reception interfaces 54 and 65, and transmits it to the CPU 6.
2 to obtain a display signal and an output signal based on the program processing data, and supply the display signal to the CRT 67 and the output signal to the printer 68 through the I10 interface 64, respectively. Next, a procedure for automatically creating a sequence control program for sequentially controlling the operation of each facility on the vehicle assembly line as described above will be schematically explained. The data required for automatic generation of such a control program are a standard step ladder pattern, input/output ramps, the aforementioned motion block map, and motion step map. The standard step ladder pattern is a database that stores symbols of operation circuits that describe all operations necessary for a production line control program. An example of such a regular pattern is the one shown in FIG. 9C described above. An input/output kamatub is a database that describes the input/output relationship for each of the multiple operating circuits that may be used in a production line. An example of this input/output kamatub database is shown in Figure 7. The above-mentioned standard step ladder pattern database and input/output step map database are data common to production lines, and are not unique to a particular production line.The unique data is motion block map data and motion step map data. The motion block map is data that describes each of the above-mentioned motion blocks and describes the relationship between these motion blocks.The motion block map is unique to the production line in Figure 2. An example of map data is shown in Fig. 6.A motion step map is unique data that describes motion steps included in each motion block unique to a certain production line.
An example of an operational step map specific to the production line shown in FIG. 8 is shown in FIG. A sequence control program is generated based on these two standard databases and two unique data. First, the standard step ladder pattern database will be explained according to FIG. FIG. 10A is a pattern that typically describes the start and stop of an action block. Figure 10B is the same pattern as described in connection with Figure 9C. FIG. 10C shows one contact condition added to the pattern of FIG. 10B. Next, the input and output will be explained. This input/output guide is a table in which the input/output modes of all equipment used in the production line are described in advance. The input/output hook in Figure 7 is the positioning device 1 in Figure 2.
It is about 9. In this input and output,
“Comments” indicate the contents of input/output operations. Also"
NO3° is automatically created. Also, data regarding “comment”, “movement” and “original position” can be obtained from the keyboard 67.
is input by being operated. “Output coil device”, “confirmation input contact device °°” and “manual input contact device” are automatically set. For example, the operation circuit called BF (positioning) of Aoa is
The operation type is "output" and the output coil terminal is Yl.
It is. The confirmation input contact name when output is "X,". Further, the contact name for manual input is "X,". Next, the motion block map will be explained. The data of this map is obtained by analyzing the operation of the target production line and expressing the process of the production line using operation blocks according to the above definition. The operational block map shown in FIG. 5 is a table that represents the operational block chart shown in FIG. 5 when it is obtained as a result of analyzing the production line shown in FIG. In other words, the table (map) of FIG. 6 is approximately equivalent to the chart of FIG. 5. In FIG. 6, "5C-REG" is a 16-bit register, one of which is provided for each of operation blocks BO to Bll. This register indicates which operational step is currently being executed within the corresponding operational block. For example, current B in action block B0. If the action step So (see Figure 8) is being executed, "B, S, °°" are stored in 5CREG of action block B0. The action block immediately before is the condition for starting the action.For example, action block B is the action block B.
0. The termination of B+ is the activation condition. Furthermore, "TO" indicates an action block immediately following the action block whose action is started upon completion of the action of the action block. For example, the end of action block B, means the activation of action blocks B, , B,. The "clear condition" is a motion block in which the equipment related to the motion block returns to its original state. Furthermore, "equipment" refers to the sequence control target equipment related to the relevant operation block. The contents of "NO" and "5C-REG" are automatically created. On the other hand, the programmer operates the keyboard 67 to input the contents of "block name", "FROM" to "clear condition" and "equipment". Next, the operation step map shown in FIG. 8 will be explained. As described above, the action step describes the content of the specific action within each action block. In other words, the input/output switch (FIG. 7) does not represent a sequence of operations. However, the operation step map also represents the operation sequence of individual equipment. FIG. 8 shows an example of an operation step map of operation block B0. In FIG. 8, "NO" is automatically assigned by the system. That is, "N" representing the operation step order
o” is, for example, “Boa” for operation block B0. Starting from , the system generates a comment every time the programmer inputs a comment from the keyboard 67, from "B, S, to "BoS." . " is an action step that means preparation for the relevant action block, and is placed at the beginning of each action block in the ladder program. Also, "B□9" is an action step that means the completion of the relevant action block, and is placed at the beginning of each action block in the ladder program. It is placed at the end of each motion block in .The minimum requirement for generating a motion step map is "comment" information input to the step sequence.For example, in step number "BoSo", the programmer If you enter “Condition Confirmation”, the number “A” with the comment name “Work present” at the beginning of the input/output
Read the data of “Ao+” of input and output.
The data for the confirmation input contact is “XO” and the manual input contact is “XO”.
A, these data are written in the corresponding positions in FIG. "Yo" of the output coil of "steps B, S," is
This is the output name given to the first action step of the action block. Next, the programmer performs operation steps “B, S,”
If you input the comment “BF (positioning)” and the operation type “output”, you can select the person 8 from this title.
Index the kamatsubu and obtain the data of the number "Aoz". The data for number “Ao2” indicates that the “output coil” is “Yl”.
Since the "confirmation input contact" is "Xl" and the "manual input contact" is "X,", write the data corresponding to "operation steps B, S," in FIG. 8. In this way, the operation step map ( (Fig. 7) searches for the corresponding data in the input/output map (Fig. 7) based on the "comment" and "movement type" input by the programmer and creates such a motion step map. It is created for each motion block.In addition, in the motion step map shown in Fig. 8, the data on the Koseki side is the predicted operation time of each motion step.This data is important data for generating the simulation program. Figure 11 shows the sequence ladder program for block Bo generated in this way.Comparing the ladder program in Figure 11 with the operation step map in Figure 8, the structure of the ladder program is easier to understand. For example, in operation step B.So, in automatic operation mode with contact MA closed, contact device
Since 0 is closed, output Y1 is output. When Yl is output, the confirmation input contact X0 is closed at Bo St, so Yl is output. The above is a description of the automatic generation of the sequence control ladder program in the system of this embodiment, and through this explanation, the mutual operations between the respective operation blocks will be understood using the operation block map (FIG. 6). In addition, by using the operation step map and the input/output map (Fig. 7), you should have understood how efficiently the control program is automatically generated.The feature of this embodiment of the simulation program is that This program automatically generates a program for simulating the generated sequence control ladder program as shown in FIG. 11. First, the configuration of a system for generating a sequence control program/simulation program will be explained with reference to FIG. In the same figure, the equipment 50 that is controlled by the sequence control program includes a positioning device 19, a transfer device 16, a docking device 40, a slide device 45, a pallet transport device 17, and robots 48A and 48B. In creating a simulation program according to the embodiment, a simulation program element is created for each motion block. Here, a simulation program element is a ladder program element for simulating the motion of one motion step, for example. ,
As shown by 5SPO etc. in FIG. 12, it is composed of timer elements and the like. Each element SSP of the simulation program SIMP of FIG. 12 simulates each ladder element SR of the sequence control ladder program BRP of FIG. 11. In FIG. 12, a symbol Tn with an O is a timer element, and a contact symbol T0 is a contact of the timer T. The simulation ladder element 5SPI is the output Y of the motion step ladder element 5Rrl. is activated according to the conditions necessary for the occurrence of (interlock condition), and after a time (=T, ,) corresponding to the actual actuation time of the actuator in each step has elapsed, activation is performed for the next operating step ladder element SR,,,. Generates output Xn. This will be specifically explained using 5spo as an example. When the condition for satisfying the output Y0 is given, the timer element To is activated and the output RESET X. is also output. The conditions for satisfying this output Y0 are SR
, corresponds to the interlock condition ILC. This RE
SET X resets the confirmation input contact Xl of SR1 in FIG. In other words, confirmation input contact X on the equipment side
. It is simulated that the key is set. Then, when the time T0 has elapsed, the output SET X is output. As this time elapses, a simulation of SR has been performed. SR by SET
, contact X0 closes. As a result, SR in Fig. 11,
The conditions for outputting Y in are complete except for ■LC. Next, with SSP+, the condition that the output Y+ satisfies¥
1 is input. Due to this Yl, the timer T of ssp,
is activated, and RE SE T X z is output. ... By performing these operations continuously, the simulation program SIMP simulates the block ladder program BRP (
. Now, the simulation program shown in FIG. 12 simulates the operation of block B0 as an independent operation. In other words, the simulation program of this block B0 is performed regardless of the operating state of other blocks. This is because, as stated in the definition above, an operating block operates independently of other operating blocks. Therefore, this "independence" must be maintained in the simulation program as well, so the simulation program elements in FIG. 12 are also independent from those of other operation blocks. However, maintaining this kind of "independence" means that, for example,
When the blocks have a connection relationship as shown in FIG. 5, first the operation step of block A0 is executed, then the operation step of block A1 is executed, and then the operation step of block B0 is executed.
The execution of each operation block inherently has parallel operation parts, such as executing the operation steps of Bo
and B1 are parallel operations), they become sequential operations, and this causes a discrepancy between the actual parallel operations and the simulated operations. Therefore, in the automatic simulation program generation apparatus of this embodiment, (1): First, a step ladder program (BRP) for each motion block and a corresponding simulation program SIMP are created for each motion block. This SIMP can be created by the method described in connection with FIG. 12, since the action block itself is independent of other action blocks. If the program that generates SIMP explained in relation to FIG. 12 is called a simulation ladder element generation program, this generation program will generate a motion block map (FIG. 6) and a motion step map, as shown in FIG. (Fig. 8) is input to generate SIMP. (2): The execution order of each SSP of each operation block of SIMP generated in this way is controlled by the execution order control program shown in FIG. This control program consists of an operation block map, an operation step map, and the above SIMP.
and each ssp. control the execution of FIGS. 14 and 15 schematically explain the operation of this execution order control program. This control program first recognizes from the operation block map how many blocks are to be operated in parallel. This recognition can be easily done because the action block map has data (FROM and To in FIG. 6) that describes the starting relationship between blocks. Assume that there are m blocks performing parallel operations recognized in this way, and each of these blocks has a number n+, nl...n, block B nl. Suppose that B nl, . . . Bo. Then, the operation step maps corresponding to these blocks are rearranged in the memory as shown in FIG. As a result of this rearrangement, only the operation steps of the blocks that perform parallel operations are extracted, so the simulation operation by the execution order control program becomes efficient, and the simulation results are close to the actual results. There is an effect. In FIG. 14, for better understanding, the time τ required for each operation step is expressed by the width in the vertical direction of a rectangle representing the operation step. In FIG. 14, 1: (n + + k nl) means the operation time of step number k nl of block n1. When the operation time τ of each operation step is expressed in this manner, the operation steps of a plurality of operation blocks that perform parallel operations can be expressed as a timing chart as shown in FIG. 15. For convenience, FIG. 15 shows operation blocks nl and 02.
Only timing charts related to are shown. As is clear from this timing chart, first, operation steps (n, , icn+) are executed, and then (n
, , 1nns), then (n + , k
+++ + 1) and (n 2 , k
The execution order control program may control the order, such as executing (na+1), then executing (n,, kn+2), and so on. In order to control the execution order, the execution order control program has a variable register that stores up to which operation steps have been currently executed for each operation block based on the elapsed time. This register is stored in operation block B1. is expressed as T n l. FIG. 16 is a flowchart showing the procedure of the execution order control program. The operation of the execution order control program will be explained in detail according to this flowchart. Step S2 extracts from the motion block map (FIG. 6) all motion blocks that perform parallel operations. Let the numbers of these operation blocks be m nl, nz・
...n. In step S4, the execution elapsed time register T nil T nl for each operation block is set.
Clear ... to O. This is because in the parallel action blocks, the action step at the start point is the action step number O, and therefore its elapsed time is zero. In step S6, a variable i specifying a block number is initialized to 1. Further, in step S8, a variable k specifying an operation step number is initialized to 1. The determination in step S10 is based on the execution elapsed time register T of the block B specified by the variable i. l is the elapsed time Tn of all blocks including other blocks, (X=1
~m) is equal to the minimum value. As a result of this determination, the operation step k of the operation block B, 1, denoted by i. 1 should be simulated at this moment, or whether there is another operation step in another block that should be simulated first. If the determination in step S10 is YES, the process proceeds to step S12, where the ladder program element of the operation step kn is extracted and the interlock condition is recognized. Then, in step S14, the corresponding 5SP (nl,
Start kni). In step S16, the elapsed time register Tnl is updated. That is, T , , = T nl+ and (nl + kn+). As a result, block B nl moves to operation step kn
This means that up to l was simulated. In step S18, the counter k representing the operation step is
Increment nl by one. In step S20, it is determined whether all the operation steps of this operation block B0 have been simulated. If the simulation of the relevant motion block has not been completed, proceed to step S.
Return to IO. If it has ended, the simulation of the block is marked as having ended. With this mark,
Thereafter, the testing of blocks B, . . . is no longer performed, and the processing speed is improved. A case where it is determined No in step SIO will be explained. In such a case, TIl,>M I N (T 1.). Since block B, . After performing the above operations, register T. Preference is given to simulating the action steps of the action block with the smallest value of l, and as a result, the simulation of action steps that operate in parallel is performed with parallelism close to reality. Step $26. Step S28 selects the operation block i.
When scanning from =1 to m, the operation is to return the variable i to 1. In this way, the sequence control ladder program and the simulation program SIMP connected to each of the block ladder programs BRP constituting the sequence control ladder program are stored in the memory 55 provided in the computer built in the sequence control unit 51. CRT operation panel 5
The sequence control ladder program is started by touching the position corresponding to the one for starting the sequence control ladder program on the touch panel 80 provided in the computer 3. Furthermore, with this activation, each of the step ladder elements that make up BRP and the simulation ladder elements that make up SIMP are activated in sequence.
As a result, the simulation program SIMP connected to the BRP continues to progress. Note that the progress status of BRP and SIMP is displayed on the monitor unit 52 or output to a printer. 151 The present invention can be modified in various ways without departing from the spirit thereof. For example, in the above embodiment, the present invention was applied to an automobile production line, but the present invention is of course not limited to such an application field. In the above embodiment, based on the previously set predicted execution time However, the order is not limited to this. [Effects of the Invention] As explained above, the program simulation method of the present invention allows unit operations of each equipment to be performed by operation steps. In a method for simulating a program in which a motion block consisting of a set of motion steps is expressed and is operated independently from other motion blocks from its start to its end, and the sequence motion of the entire equipment is described by the set of motion blocks, An operation block map that describes the operation time for each operation step of each operation block above, and describes whether a certain operation block performs a single operation or performs a parallel operation with another operation block regarding the operation of the entire equipment. create a motion step map that describes the execution sequence of the motion step and the predicted execution time of each motion step for each motion step of each motion block, and Create a simulation ladder program element that simulates the operation steps in the block, and when executing the simulation ladder program element, refer to the operation block map and the operation step map, and execute the simulation ladder program element according to the execution order of the operation steps. Therefore, in the execution process, the simulation execution order of each motion step of each motion block is determined while recognizing parallel motions between motion blocks based on the motion block map and motion step map. Therefore, even if the simulation program created in the simulation ladder program element creation step simulates the motion of the motion steps within one motion block, the motion steps can be simulated in parallel. When simulating a program for equipment that includes parallel operations between blocks, it is now possible to simulate operations that are close to the actual parallel operation sequence.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の好適な実施例のシュミレーションシス
テムのハードウェア構成図、 第2図乃至第4図は本発明を自動車の組立ラインに適用
した場合の、その組立ラインの構成を説明する図、 第5図は上記組立ラインを動作ブロックに分解した場合
における、それらの動作ブロック間の接続関係を説明す
る図、 第6図は動作ブロックマツプの構造を説明する図、 第7図は入出カマツブの構造を説明する図、第8図は動
作ステップマツプの構造を説明する図、 第9A図は設備をアクチュエータによりシンボル化した
場合の表記を説明する図、 第9B図は1つのアクチュエータの論理を説明する図、 第9C図はステップラダーパターンの1つの例を示す図
、 第10A図乃至第10C図はステップラダーパターンの
他の例を示す図、 第11図は第5図に示した例の動作ブロック0について
のラダープログラム要素を示す図、第12図は第5図に
示した例の動作ブロックOについてのシュミレーション
ラダープログラム要素を示す図、 第13図は本実施例のシュミレーションの実行を説明す
る図、 第14図、第15図は、本実施例のシュミレーションに
おいて、並列動作関係にある動作ブロック間での動作ス
テップの実行順序制御を説明する図、 第16図は実行順序制御プログラムの制御手順を示すフ
ローチャートである。
FIG. 1 is a hardware configuration diagram of a simulation system according to a preferred embodiment of the present invention. FIGS. 2 to 4 are diagrams illustrating the configuration of an automobile assembly line when the present invention is applied to the assembly line. , Fig. 5 is a diagram explaining the connection relationship between the movement blocks when the above assembly line is disassembled into movement blocks, Fig. 6 is a diagram explaining the structure of the movement block map, and Fig. 7 is a diagram showing the input and output blocks. Figure 8 is a diagram explaining the structure of an operation step map, Figure 9A is a diagram explaining the notation when equipment is symbolized by actuators, and Figure 9B is a diagram explaining the logic of one actuator. Figure 9C is a diagram showing one example of the step ladder pattern, Figures 10A to 10C are diagrams showing other examples of the step ladder pattern, and Figure 11 is the example shown in Figure 5. FIG. 12 is a diagram showing the ladder program elements for operation block 0, FIG. 12 is a diagram showing simulation ladder program elements for operation block O in the example shown in FIG. 5, and FIG. Figures 14 and 15 are diagrams for explaining the execution order control of operation steps between operation blocks that have a parallel operation relationship in the simulation of this embodiment, and Figure 16 is a diagram for explaining the control of the execution order control program. It is a flowchart showing a procedure.

Claims (4)

【特許請求の範囲】[Claims] (1)各設備の単位動作が動作ステップにより表現され
、この動作ステップの集合からなる動作ブロックはその
開始から終了まで他の動作ブロックから独立して動作し
、この動作ブロックの集合により全体の設備のシーケン
ス動作を記述するプログラムのシュミレーション方法に
おいて、 上記各動作ブロックの各動作ステップについての動作時
間を、全体設備の動作について、ある動作ブロックが単
体動作を行なうことを、あるいは他の動作ブロックに対
して並行動作を行なうことを記述する動作ブロックマッ
プを作成し、 各動作ブロックの各々の動作ステップについて、その動
作ステップの実行シーケンスと各動作ステップの実行予
測時間とを記述する動作ステップマップを作成し、 前記動作ブロックマップ及び動作ステップマップから各
動作ブロック内の動作ステップをシュミレーションする
シュミレーションラダープログラム要素を作成し、 上記シュミレーションラダープログラム要素の実行時に
、前記動作ブロックマップ及び動作ステップマップを参
照しながら、動作ステップの実行順に従って、前記シュ
ミレーションラダープログラム要素を実行することを特
徴とするプログラムのシュミレーション方法。
(1) A unit operation of each piece of equipment is expressed by an operation step, and an operation block consisting of a set of operation steps operates independently from other operation blocks from start to finish. In the simulation method of a program that describes the sequence operation of A motion block map is created that describes the execution of parallel motions, and a motion step map is created that describes the execution sequence of the motion steps and the predicted execution time of each motion step for each motion step of each motion block. , creating a simulation ladder program element for simulating the movement steps in each movement block from the movement block map and movement step map, and referring to the movement block map and movement step map when executing the simulation ladder program element; A method for simulating a program, characterized in that the simulation ladder program elements are executed according to the order of execution of operation steps.
(2)前記実行工程は、前記動作ブロックマップに記述
された動作ブロック間のリンク関係と、動作ブロック内
における動作ステップ間の動作順序と、各動作ステップ
の前記予測時間とに基づいて、互いに並行動作を行なう
関係にある動作ブロックの動作ステップのシュミレーシ
ョン実行を制御することを特徴とする請求項の第1項に
記載のプログラムのシュミレーション方法。
(2) The execution steps are performed in parallel with each other based on the link relationship between the motion blocks described in the motion block map, the motion order between motion steps within the motion block, and the predicted time of each motion step. 2. The method for simulating a program according to claim 1, further comprising controlling the simulation execution of operation steps of operation blocks that are in a relationship of performing operations.
(3)前記動作ブロックの各々は開始から終了まで互い
に独立して動作すると共に、 前記互いに並行動作を行なう複数の動作ブロックが同期
してスタートすることを前提とし、その各動作ブロック
の動作ステップについて、動作順序及び動作時間に従っ
たタイミングチャートを作成し、 各動作ブロックについて作成された上記タイミングチャ
ートに示された各動作ステップの実行順序に従って、時
間の経過監視を行なうシュミレーション要素を作成する
ことを特徴とする請求項の第1項に記載のプログラムの
シュミレーション方法。
(3) Each of the operation blocks operates independently from start to finish, and the operation steps of each operation block are based on the premise that the plurality of operation blocks that operate in parallel to each other start synchronously. , create a timing chart according to the operation order and operation time, and create a simulation element that monitors the passage of time according to the execution order of each operation step shown in the above timing chart created for each operation block. A method for simulating a program according to claim 1.
(4)前記シュミレーションラダープログラム要素の作
成工程は、前記動作ステップの予測時間に基づいてシュ
ミレーションラダープログラム要素を作成することを特
徴とする請求項の第1項に記載のプログラムのシュミレ
ーション方法。
(4) The method for simulating a program according to claim 1, wherein in the step of creating the simulation ladder program element, the simulation ladder program element is created based on the predicted time of the operation step.
JP2260143A 1989-12-25 1990-09-28 Program simulation method Pending JPH04137102A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2260143A JPH04137102A (en) 1990-09-28 1990-09-28 Program simulation method
US07/629,964 US5173869A (en) 1989-12-25 1990-12-21 Method of simulating a sequential control for analyzing a production line in a production system
EP90125220A EP0435215A1 (en) 1989-12-25 1990-12-21 Method of simulating a sequential control program
KR9021659A KR940001088B1 (en) 1989-12-25 1990-12-24 Method of simulating a sequential control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2260143A JPH04137102A (en) 1990-09-28 1990-09-28 Program simulation method

Publications (1)

Publication Number Publication Date
JPH04137102A true JPH04137102A (en) 1992-05-12

Family

ID=17343905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2260143A Pending JPH04137102A (en) 1989-12-25 1990-09-28 Program simulation method

Country Status (1)

Country Link
JP (1) JPH04137102A (en)

Similar Documents

Publication Publication Date Title
JP3142595B2 (en) Production system control system design support and failure diagnosis method
US5173869A (en) Method of simulating a sequential control for analyzing a production line in a production system
US9632493B2 (en) Method of controlling a robotic work station, as a function of synchronization states, and a corresponding robotic work station
US20060152533A1 (en) Program robots with off-line design
EP1310843B1 (en) Simulation device
JPH02100704A (en) Robot programming check system
KR950001413B1 (en) Diagnostic method for production line
JP2000081906A (en) Virtual plant simulation device and its method
JPH04137102A (en) Program simulation method
EP0331478A2 (en) A manufacturing interface system
CN109803774A (en) Simulation device, simulation method, and simulation program
JP2918709B2 (en) Automatic generation of sequence program
JP3305745B2 (en) Equipment operation flow display device
JPH03196202A (en) Program simulation method
JP3200113B2 (en) Operation simulation apparatus and method
JP2002169604A (en) Operation instruction system
JPH02219179A (en) Method and device for evaluating interactive parts arrangement
JPH04303208A (en) Simulation method for equipment operation
JP2019101757A (en) Production system verification method, production system verification device, and production system
JPH04303206A (en) Automatic generating method for sequence program
JP3096056B2 (en) Fault diagnosis method for production line
JPH08115110A (en) Program preparing device
JP3004331B2 (en) Production line failure analysis method
JPH04303207A (en) Data setting method for crt control panel
JPH0714767B2 (en) Loading design support device