JPH0319563B2 - - Google Patents

Info

Publication number
JPH0319563B2
JPH0319563B2 JP57040454A JP4045482A JPH0319563B2 JP H0319563 B2 JPH0319563 B2 JP H0319563B2 JP 57040454 A JP57040454 A JP 57040454A JP 4045482 A JP4045482 A JP 4045482A JP H0319563 B2 JPH0319563 B2 JP H0319563B2
Authority
JP
Japan
Prior art keywords
transition
box
firing
transitions
marks
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.)
Expired - Lifetime
Application number
JP57040454A
Other languages
Japanese (ja)
Other versions
JPS58158709A (en
Inventor
Kensuke Hasegawa
Koji Takahashi
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP4045482A priority Critical patent/JPS58158709A/en
Publication of JPS58158709A publication Critical patent/JPS58158709A/en
Publication of JPH0319563B2 publication Critical patent/JPH0319563B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1169Activating output if input changes, transition input and output not yet on
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1188Detection of inserted boards, inserting extra memory, availability of boards

Description

【発明の詳細な説明】[Detailed description of the invention]

この発明は、マークフローグラフを用いたプロ
グラマブルコントローラ(シーケンスコントロー
ラ)に関する。 機械生産システムはしばしば不連続生産システ
ムと呼ばれるが、このように不連続の名があるの
は被加工品が生産工程の各段階を順に進みながら
各段階固有の操作(加工、搬送、検査、組立て
等)を受けるが、その際必らず各工程の切れ目を
通過し、次の工程に移るという不連続性が本質的
にあるからである。このようなシステムの中で
は、たとえばある工程で加工中という状況にある
として、これは加工終了という事象の発生によつ
て途切れ、続いてアンローデイングという新しい
状況に移る。このように、状況と事象の交互の接
続で活動しているシステムを不連続システムと呼
ぶ。かかる不連続システムは社会の営みの中にも
多く存在するが、生産システムでは特にシーケン
ス制御が関与する部分が不連続システムというこ
とができる。すなわち、不連続システムの中では
制御の流れ、データの流れ及び物の流れが存在す
るが、シーケンス制御は制御の流れに対応するも
のであるといえる。 上述の如きシーケンス制御においては、従来よ
りドラム形シーケンサが用いられてきたが耐久性
やプログラムの変更などで多くの問題があり、純
プログラム制御形のシーケンス制御しか実現でき
ない等といつた欠点があつた。また、ピンボード
形シーケンサも従来より広く用いられてきたが、
ハードウエア的に冗長な部分が多く、ハードウエ
アとしては規模が大きくなると共に、複雑な論理
や内部メモリなどを表現するのには適していない
などといつた欠点があつた。さらに、コンピユー
タによる汎用シーケンス制御も出現しているが、
プログラムが複雑であり、高価であるといつた欠
点がある。 このような状況から提案されてきたのがプログ
ラマブルコントローラである。このプログラマブ
ルコントローラは、コンピユータ技術を導入して
シーケンス制御の問題点であつたシーケンス制御
の汎用化を実現し、さらにはもつと便利なシーケ
ンス制御装置を提供しようというものであり、ソ
フトウエア及びハードウエア面に工夫をこらし
て、コンピユータの知識に乏しい人でも手軽に取
扱えるようにしたものである。しかして、従来の
プログラマブルコントローラは、プログラムの変
更を容易にするためにインタプリタ形式を用いて
いるが、その翻訳作業のために処理速度が遅いと
いつた欠点がある。また、処理を高速にするため
にコンパイル形式を用いると、プログラムの変更
が煩雑になるといつた欠点がある。 よつて、この発明の目的は上述の如き問題点、
欠点のないプログラマブルコントローラを提供す
ることにあり、この発明ではマークフローグラフ
を用いてコントローラ構成及びプログラム入力の
簡易化を図つている。 以下にこの発明を説明する。 先ず、この発明が前提としているマークフロー
グラフについて説明する。 不連続システムとしての生産システムを設計し
て合目的的に制御するには、システムを表現する
手段あるいは道具が非常に重要になるが、その手
段としては、 (1) 不連続システムの性質を全て表現できるもの
であること。 (2) 概念的なレベルから詳細なレベルまで、その
表現が対応できること。 (3) 当事者間の情報交換に有効であること。 (4) システムの解析、設計に有効であること。 の条件が望まれる。マークフローグラフはこれら
条件(1)〜(4)を満足するものであり、次の要素から
構成されている。すなわち、状況を表現するもの
として第1図のb1〜b6に示すようなボツクスを用
い、事象を表現するものとして同図t1〜t5に示す
ようなトランジシヨンを用いる。また、状況b1
b6と事象t1〜t5の接続関係を示すものとして第1
図のd1〜d12に示すような方向枝を用い、現在保
持されている状況bを示すものとしてマークmを
用いる。なお、第1図に示すようにボツクスbと
トランジシヨンtとは必らず交互に方向枝dで接
続され、ボツクスb及びトランジシヨンtに出入
する方向枝dの数には制限はない。また、第2図
は“コンフリクト”を含むマークフローグラフの
例を示すものであるが、“コンフリクト”はある
状況の移り変わりが複数個の事象に関係し、これ
らの発生の早遅によつて異なる状況になることを
いう。 次に、事象(トランジシヨン)の発生と状況
(ボツクス)の移り変わりに対応するマークフロ
ーグラフ上の規則を説明する。 あるトランジシヨンの入力側にマークの入らな
いボツクスがなく、かつ出力側にマークの入つた
ボツクスがない場合、そのトランジシヨンを可点
弧と言い、可点弧であるトランジシヨンに外部か
ら点弧の許可が加わり、かつ点弧の抑止が解除さ
れればそのトランジシヨンに点弧が発生するとす
る。これは事象の発生に相当するものである。な
お、点弧は無限小時間内で発生するので、複数の
トランジシヨンが同時に点弧することはない。ま
た、点弧によりそのトランジシヨンの入力側の全
てのボツクスのマークは消滅し、出力側の全ての
ボツクスにマークが発生する。すなわち、第1図
では現在トランジシヨンt1が可点弧であるが、ト
ランジシヨンt1,t2の順で点弧した後、トランジ
シヨンt3,t4はそれぞれ独立に点弧するので、こ
の間に優先の順序はない。つまり、トランジシヨ
ンt3,t4で並行動作が行なわれていることを示し
ており、トランジシヨンt3及びt4の点弧の後はト
ランジシヨンt5が可点弧となり、この点弧でもと
のボツクスb6にマークmが戻る。また、第2図で
はトランジシヨンt1の点弧の後、ボツクスb1にマ
ークmが入るとトランジシヨンt2〜t4はいずれも
可点弧となる。トランジシヨンは同時に点弧出来
ないので、トランジシヨンt2またはt4のいずれか
が点弧することになる。このように、一方の点弧
によつて他方が非可点弧となる関係にあるトラン
ジシヨンを互いにコンフリクトであるといい、ボ
ツクスb1またはb4のように、複数の入力側または
出力側の方向枝を持つものをコンフリクトボツク
スという。 このコンフリクトボツクスに接続さたトランジ
シヨンのうち、複数のトランジシヨンが可点弧な
場合、可点弧なトランジシヨンのうちの1つのみ
が点弧することが出来、1つが点弧すれば他のト
ランジシヨンは非可点弧となる。 また、マークフローグラフにおいては、点弧に
よるマークの遷移が起つてもボツクス内のマーク
の数はたかだか1個である。これはマークフロー
グラフが本質的にセーフであることを示すもので
あり、マークの数が「0」か「1」であるので論
理的取扱いに有利である。このことから、マーク
フローグラフはシーケンス制御に有効であること
がわかる。 実際のシーケンス制御においては、点弧につき
具体的な点弧許可、点弧抑止を考慮慮する必要が
あり、これはたとえば第3図に示すように許可ゲ
ートx1,x3及び抑止ゲートx2を付加すれば良い。
これらゲートにはコントローラの外部からの信
号、すなわちコントローラへの入力信号あるいは
ボツクス変数が印加されることになる。また、ボ
ツクスは外部への出力あるいはコントローラの内
部の状況を示すものとなる。この場合、ボツクス
Biについてのボツクス変数bi、トランジシヨンTj
についてのトランジシヨン変数をtj、抑止ゲート
または許可ゲートのゲート信号をxkで表わし、マ
ークがある場合、bi=“1”、存在しない場合を
“0”とし、点弧の場合をti=“1”とする。これ
によるとたとえば第3図でのトランジシヨンt1
t2の点弧を示す点弧条件は t1=(b1・b23)・x12 t2=(b34)・3 ……(1) で表わすことができ、条件が“1”となつたとき
点弧が起こるとする。 さて、上述のようなマークフローグラフを、マ
ークフローグラフの原理を応用したプログラマブ
ルコントローラのプログラムに適用するに当り、
第4図に示すようなマークフローグラフを次の表
1〜表3に示すような接続関係表、ゲート条件
表、アービタ表で記述する。
The present invention relates to a programmable controller (sequence controller) using a mark flow graph. Mechanical production systems are often referred to as discontinuous production systems, but the term "discontinuous" means that the workpiece progresses through each stage of the production process in sequence, with operations specific to each stage (processing, transportation, inspection, assembly, etc.). etc.), but in doing so, there is essentially a discontinuity in that each process passes through a gap and moves on to the next process. In such a system, for example, if a process is in progress, this state is interrupted by the occurrence of an event called finishing of processing, and then a new situation of unloading occurs. A system that operates through an alternating connection of situations and events in this way is called a discontinuous system. Many such discontinuous systems exist in the activities of society, but in production systems, the parts in particular that involve sequence control can be said to be discontinuous systems. In other words, in a discontinuous system, there is a flow of control, a flow of data, and a flow of objects, and it can be said that sequence control corresponds to the flow of control. Drum-type sequencers have traditionally been used for sequence control as described above, but they have many problems such as durability and program changes, and they have drawbacks such as being able to only implement pure program control type sequence control. Ta. In addition, pinboard type sequencers have also been widely used, but
There were many redundant hardware parts, the scale of the hardware was large, and it had drawbacks such as being unsuitable for expressing complex logic and internal memory. Furthermore, general-purpose sequence control using computers has also appeared;
The drawbacks are that the program is complex and expensive. Programmable controllers have been proposed in response to this situation. This programmable controller introduces computer technology to realize the generalization of sequence control, which has been a problem in sequence control, and also provides a convenient sequence control device, and is designed to incorporate software and hardware. It has been designed with a lot of innovation so that even people with little computer knowledge can easily use it. Conventional programmable controllers use an interpreter format to facilitate program changes, but have the drawback of slow processing speed due to translation work. Furthermore, when a compiled format is used to speed up processing, there is a drawback that program changes become complicated. Therefore, the purpose of this invention is to solve the above-mentioned problems.
An object of the present invention is to provide a programmable controller without any drawbacks, and the present invention uses a mark flow graph to simplify the controller configuration and program input. This invention will be explained below. First, the mark flow graph on which this invention is based will be explained. In order to design and purposefully control a production system as a discontinuous system, a means or tool to express the system is very important. It must be something that can be expressed. (2) The expression can be applied from the conceptual level to the detailed level. (3) Be effective in exchanging information between the parties. (4) Be effective in system analysis and design. The following conditions are desired. The mark flow graph satisfies these conditions (1) to (4) and is composed of the following elements. That is, boxes as shown in b1 to b6 in FIG. 1 are used to represent situations, and transitions as shown in t1 to t5 in the same figure are used to represent events. Also, situation b 1 ~
The first example shows the connection between b 6 and events t 1 to t 5 .
Directional branches as shown in d 1 to d 12 in the figure are used, and a mark m is used to indicate the currently held situation b. Note that, as shown in FIG. 1, box b and transition t are always connected alternately by directional branches d, and there is no limit to the number of directional branches d that enter and exit box b and transition t. In addition, Figure 2 shows an example of a mark flow graph that includes "conflicts", but "conflicts" involve changes in a certain situation related to multiple events, and differ depending on how early or late these events occur. It means to be in a situation. Next, rules on the mark flow graph corresponding to the occurrence of events (transitions) and changes in situations (boxes) will be explained. If there is no unmarked box on the input side of a transition and no marked box on the output side, that transition is said to be fireable, and the transition that is fireable can be fired externally. If permission is added and suppression of firing is released, firing will occur at that transition. This corresponds to the occurrence of an event. Note that since firing occurs within an infinitesimal time, multiple transitions will not fire at the same time. Further, by firing, marks in all boxes on the input side of the transition disappear, and marks are generated in all boxes on the output side. That is, in FIG. 1, transition t 1 is currently firing, but after transitions t 1 and t 2 are fired in that order, transitions t 3 and t 4 are fired independently. There is no order of priority between them. In other words, it shows that parallel operations are performed at transitions t 3 and t 4 , and after transitions t 3 and t 4 are fired, transition t 5 can be fired, and even with this firing. Mark m returns to box b 6 . Further, in FIG. 2, after the firing of the transition t1 , when the mark m enters the box b1 , all of the transitions t2 to t4 become firing possible. Since the transitions cannot fire at the same time, either transition t 2 or t 4 will fire. In this way, transitions in which the firing of one makes the other non-firing are said to be in conflict with each other . A box with directional branches is called a conflict box. If multiple transitions among the transitions connected to this conflict box are fireable, only one of the fireable transitions can fire, and if one fires, the others The transition is non-firing. Furthermore, in the mark flow graph, even if a mark transition occurs due to firing, the number of marks in a box is at most one. This shows that the markflow graph is essentially safe, and since the number of marks is "0" or "1", it is advantageous for logical handling. This shows that the markflow graph is effective for sequence control. In actual sequence control, it is necessary to take specific ignition permission and ignition inhibition into account, and this is accomplished by, for example, permitting gates x 1 and x 3 and inhibiting gate x 2 as shown in Figure 3. All you have to do is add .
Signals from outside the controller, ie input signals to the controller or box variables, will be applied to these gates. Furthermore, the box indicates the output to the outside or the internal status of the controller. In this case, the box
Box variable b i for B i , transition T j
The transition variable for tj is represented by tj , the gate signal of the inhibition gate or permission gate is represented by xk , and if there is a mark, b i = “1”, if there is no mark, it is “0”, and if it is fired, it is t Let i = “1”. According to this, for example, the transition t 1 in Fig. 3,
The ignition condition indicating the ignition at t 2 can be expressed as t 1 = (b 1・ b 23 )・x 12 t 2 = (b 34 )・3 ... (1), It is assumed that ignition occurs when the condition becomes "1". Now, when applying the markflow graph as described above to a programmable controller program that applies the principle of markflow graph,
A mark flow graph as shown in FIG. 4 is described using a connection relation table, a gate condition table, and an arbiter table as shown in Tables 1 to 3 below.

【表】【table】

【表】【table】

【表】【table】

【表】 ここに、接続関係表(表1)はトランジシヨン
を中心に考え、そのトランジシヨンに接続されて
いるボツクス番号を入力側、出力側の区別をつけ
て表にしたものである。番号が正の場合は、その
ボツクスがそのトランジシヨンの出力側に接続さ
れていることを表わし、負の場合は入力側に接続
されていることを表わしている。ゲート条件も同
様にして、ゲート条件表(表2)で表現する。こ
れもトランジシヨン中心に考え、そのトランジシ
ヨンへのゲート枝の番号を表にしたものである。
ただし、内部ゲートの場合はB、外部ゲートはE
を番号の前につけ、更に抑止ゲートの場合は負号
をつける。また、コンフリクトボツクスではアー
ビタ(調整機能)の調整が必要である。アービタ
が調停すべきトランジシヨンの番号、すなわち互
いに競合するトランジシヨンの番号を表にしたア
ービタ表(表3)を作る。このような形式をとる
と、グラフとの対応も良く、人間が取扱う場合で
も分り易いので、入力や変更が容易である。 上述のようなマークフローグラフの原理を応用
したプログラマブルコントローラの処理動作は、
第5図のフローチヤートのようになる。すなわ
ち、先ず各トランジシヨンの点弧条件をテストし
(ステツプS10)、次いでアービタによる調停を
行ない(スチツプS30)、最後に点弧条件が
“1”のトランジシヨンの点弧を行なつてマーク
の遷移を実行する(ステツプS40)。しかして、
この発明では処理を高速に行なうために、内部で
の情報は次のような形としている。すなわち、接
続関係表及びゲート条件表においてはボツクス番
号や外部ゲート番号ではなく、それぞれに対応す
るラツチの番号を表にして格納するようにしてお
り、アービタ表においても同様であり、トランジ
シヨン番号ではなくトランジシヨンの可点弧また
は非可点弧の情報を記憶するメモリの番地を表と
して用いる。 以下、詳細な説明を具体的な例によつて行な
う。接続表およびゲート表は第6図に示すよう
に、1つのトランジシヨンに対して48バイトのメ
モリエリアを確保している。このうち先頭の1バ
イトは、そのトランジシヨンが使用されているか
否かを示すもので、未使用ならば“0”を書込む
ようにする。そして、これ以降2バイトずつボツ
クス番号や外部ゲート番号に対応するラツチの番
号を格納し、その順番は入力側ボツクス、出力側
ボツクス、許可ゲート、抑止ゲートの順である。
この例では入力側ボツクスに8バイト、出力側ボ
ツクスに4バイト、許可ゲートに6バイト、抑止
ゲートに6バイトを予定し、各ブロツクの区切り
部分には2バイトの“0”を書込んでブロツクの
識別を行なうようにしている。また、アービタ表
は1つのアービタ当り16バイトを確保しており、
このうちの先頭の1バイトはポインタで、今回何
番目のトランジシヨンから割当てるかを記憶させ
るようにしている。そして、これ以降2バイトず
つトランジシヨン情報を記憶しているメモリの番
地を格納するようにし、最後のトランジシヨンの
後には“0”を2バイト書込んで終了を示すよう
にしている。この様子を第7図に示す。 さらに、第8図に示すトランジシヨン情報記憶
表はトランジシヨン(T1〜T32)が可点弧か非可
点弧かを記憶する表で、1つのトランジシヨンに
1バイトずつかつ番地は1つおきに確保するよう
にしている。しかして、可点弧な時はビツト7=
“1”、非可点弧な時はビツト7=“0”を格納す
るようにし、ビツト6〜ビツト0は“1”として
おく。さらに、この発明では処理の高速化のた
め、接続表の各トランジシヨンの先頭番地および
アービタ表の各アービタの先頭番地を表にしてお
く。そして、各番地は2バイトずつでT1,T2,
T3,……T32,A1,A2,……A16の順番に並べ
ている。なお、この先頭番地の表はトランジシヨ
ン情報記憶表の直後に置くようにしている。ま
た、接続表、ゲート表の区切りとアービタ表の終
了検出のために0000番地に(00)16を格納し、マ
ークフローグラフで使用しているトランジシヨン
番号の最大値の記憶に1バイト、アービタ番号の
最大値の記憶に1バイトを使用するようにしてい
る。 点弧条件のテストに先立ち、先ず外部ゲート信
号をラツチし、一走査内でゲート条件が変化して
も誤動作を生じないようにする。そして、この後
に接続関係表及びゲート条件表を用いて点弧条件
が成立しているか否かをテストするが、この詳細
を第9図に示して説明する。すなわち、各トラン
ジシヨンの点弧条件のテストは先ずトランジシヨ
ンが使用されているか否かを判断し(ステツプS
11)、使用されている場合には入力側ボツクス
が有るか否かを判断する(ステツプS12)。そ
して、入力側ボツクスがある場合には入力側ボツ
クスの全てにマークがあるか否かを判断し(ステ
ツプS13)、全てにマークがある場合には出力
側ボツクスが有るか否かを判断し(ステツプS1
4)、出力側ボツクスが有る場合には出力側ボツ
クスの全てにマークが無いか否かを判断する(ス
テツプS15)。しかして、出力側ボツクスの全
てにマークが無い場合には、許可ゲートがあるか
否かを判断し(ステツプS16)、許可ゲートが
ある場合には許可ゲートが全て“1”であるか否
かを判断する(ステツプS17)。許可ゲートが
全て“1”である場合にはさらに抑止ゲートがあ
るか否かを判断し(ステツプS18)、抑止ゲー
トがある場合にはその抑止ゲートの全てが“0”
であるか否かを判断する(ステツプS19)。し
かして、抑止ゲートの全てが“0”である場合に
はこのトランジシヨンは可点弧であるので、次の
トランジシヨンのテストへ進むことになる(スチ
ツプS20)。なお、上記各処理ステツプにおい
て、トランジシヨンが使用されていない場合、入
力側にマークのないボツクスがある場合、出力側
にマークのあるボツクスのある場合など可点弧条
件が揃わない場合、許可ゲートに“1”でないも
のがある場合、抑止ゲートに“0”でないものが
ある場合にはいずれもこのトランジシヨンは可点
弧でないと判断する(ステツプS21)。また、
入力側ボツクスがない場合、出力側ボツクスがな
い場合、許可ゲートがない場合、抑止ゲートがな
い場合にはいずれも次のステツプへ進むようにな
つている。この第9図のトランジシヨンのテスト
の様子を更に詳細に示すと第10図のようなフロ
チヤートとなる。 上述の如く各トランジシヨンの点弧条件が全て
テストされると、次のアービタによる調停処理に
移るが、このアービタによる調停の処理は第11
図に示すようになつている。すなわち、互いにコ
ンフリクトであるトランジシヨンのうち可点弧な
ものがあるか否かを判断し(ステツプS31)、
可点弧なトランジシヨンがある場合にはポインタ
で指示されたトランジシヨンが可点弧であるか否
かを判断する(ステツプS32)。そして、この
トランジシヨンが可点弧である場合にはポインタ
で示されたトランジシヨン以外のトランジシヨン
を非可点弧とすると共に(ステツプS34)、次
のコンフリクトボツクスの調停へ進む。しかし
て、互いにコンフリクトであるトランジシヨンの
うち可点弧のものがない場合には次のコンフリク
トボツクスの調停を行ない、ポインタで指示され
たトランジシヨンが可点弧でない場合にはポイン
タを次のトランジシヨンへ進め(ステツプS3
3)、このボインタで指示されたトランジシヨン
が可点弧であるか否かを判断することになる。 このようにして全てのコンフリクトボツクスの
調停をアービタによつて調停した後、可点弧トラ
ンジシヨンの点弧を行なうが(ステツプS40)、
この詳細を第12図に示して説明する。 すなわち、先ずこのトランジシヨンが可点弧で
あるか否かを判断し(ステツプS41)、可点弧
である場合には入力側の全てのボツクスのマーク
を消去し(ステツプS42)、出力側の全てのボ
ツクスにマークを生起させ(ステツプS43)、
次のトランジシヨンの点弧動作に進む。しかし
て、該当のトランジシヨンが可点弧でない場合に
は、次のトランジシヨンの可点弧動作に進むこと
になる。 以上のようにこの発明のプログラマブルコント
ローラによれば、接続関係やゲート条件をボツク
スやゲートに対応する番地の表にしてあることか
ら、8ビツトマイクロブロセツサM068609(2M
Hz)を使用した場合、条件の1つのテストに要す
る時間は8.0μ秒、マークの生起又は消滅に要する
時間はボツクス1つ当り9.0μ秒となる。また、条
件が1つでも不成立となると、直ちに非可点弧と
判断するようにしているので、全部の条件をテス
トするのは可点弧の場合のみとなる。このため、
処理速度が一段と高速化されることになる。一
方、プログラムの変更はマークフローグラフの変
更に基づいて、表の一部を書き変えればよいので
極めて簡単であり、アービタ機能を有するため、
コンフリクトボツクスにおいても誤動作がなく、
点弧権も平等に分配されることになる。
[Table] Here, the connection relationship table (Table 1) focuses on transitions and lists the box numbers connected to the transitions, distinguishing between input and output sides. A positive number indicates that the box is connected to the output side of the transition, and a negative number indicates that the box is connected to the input side. The gate conditions are similarly expressed in the gate condition table (Table 2). This also focuses on transitions and lists the gate branch numbers to those transitions.
However, B for internal gates and E for external gates.
Add in front of the number, and if it is a deterrent gate, add a negative sign. In addition, the conflict box requires adjustment of the arbiter (adjustment function). An arbiter table (Table 3) is created that lists the numbers of transitions to be arbitrated by the arbiter, that is, the numbers of transitions that conflict with each other. If such a format is adopted, it corresponds well to the graph and is easy to understand even when handled by a human, so inputting and changing is easy. The processing operation of a programmable controller that applies the principle of mark flow graph as described above is as follows.
The flowchart will be as shown in Figure 5. That is, first, the firing condition of each transition is tested (step S10), then arbitration is performed by the arbiter (step S30), and finally, the transition with the firing condition of "1" is fired and the mark is set. The transition is executed (step S40). However,
In this invention, in order to perform processing at high speed, internal information is in the following format. In other words, in the connection relationship table and gate condition table, the corresponding latch numbers are stored in the table instead of the box number or external gate number, and the same is true for the arbiter table. Instead, the memory addresses that store information on whether a transition can be fired or not can be used as a table. A detailed explanation will be given below using a specific example. As shown in FIG. 6, the connection table and gate table secure a 48-byte memory area for one transition. The first byte of these indicates whether the transition is used or not, and if it is not used, "0" is written. Thereafter, the latch numbers corresponding to the box numbers and external gate numbers are stored in 2-byte units in the order of input-side box, output-side box, permission gate, and inhibition gate.
In this example, 8 bytes are planned for the input side box, 4 bytes for the output side box, 6 bytes for the enable gate, and 6 bytes for the inhibit gate, and 2 bytes of "0" are written in the delimiter between each block to block. We are trying to identify the In addition, the arbiter table reserves 16 bytes for each arbiter.
The first byte of these is a pointer, which is used to store the number of transitions to be allocated this time. From then on, the memory address storing the transition information is stored 2 bytes at a time, and after the last transition, 2 bytes of "0" are written to indicate the end. This situation is shown in FIG. Furthermore, the transition information storage table shown in FIG. 8 is a table that stores whether a transition (T 1 to T 32 ) is a fireable or non-fireable transition, and each transition has one byte and an address of 1. I try to secure it every few days. However, when the ignition is possible, bit 7 =
"1", and when it is not possible to fire, bit 7 = "0" is stored, and bits 6 to 0 are set to "1". Further, in this invention, in order to speed up processing, the starting address of each transition in the connection table and the starting address of each arbiter in the arbiter table are tabulated. Then, each address is 2 bytes each, T1, T2,
They are arranged in the order of T3, ...T32, A1, A2, ...A16. Note that the table at this first address is placed immediately after the transition information storage table. In addition, (00) 16 is stored at address 0000 to separate the connection table and gate table and to detect the end of the arbiter table, and 1 byte is used to store the maximum value of the transition number used in the mark flow graph. One byte is used to store the maximum value of the number. Prior to testing the ignition conditions, the external gate signal is first latched to prevent malfunctions even if the gate conditions change within one scan. Thereafter, a test is carried out to determine whether the ignition conditions are satisfied using the connection relation table and the gate condition table, the details of which will be explained with reference to FIG. That is, to test the firing conditions of each transition, first determine whether the transition is being used (step S).
11) If it is used, it is determined whether there is an input side box (step S12). Then, if there are input-side boxes, it is determined whether or not there are marks in all the input-side boxes (step S13), and if there are marks in all the input-side boxes, it is determined whether there are output-side boxes (step S13). Step S1
4) If there are output boxes, it is determined whether or not there are no marks in all the output boxes (step S15). If there are no marks in any of the output boxes, it is determined whether or not there is a permission gate (step S16), and if there is a permission gate, it is determined whether or not all the permission gates are "1". (step S17). If all the permission gates are "1", it is determined whether there are any further inhibition gates (step S18), and if there are inhibition gates, all of the inhibition gates are "0".
It is determined whether or not (step S19). If all of the inhibition gates are "0", this transition is ignitable, so the process proceeds to the next transition test (step S20). In addition, in each of the above processing steps, if the enabling conditions are not met, such as when a transition is not used, when there is a box without a mark on the input side, or when there is a box with a mark on the output side, the permission gate is If there is a value other than "1" in the transition gate, or if there is a value other than "0" in the inhibition gate, it is determined that this transition is not ignitable (step S21). Also,
If there is no input box, no output box, no permission gate, or no inhibition gate, the process advances to the next step. If the state of the test of the transition shown in FIG. 9 is shown in more detail, a flowchart as shown in FIG. 10 will be obtained. As mentioned above, once all the firing conditions for each transition have been tested, the next arbiter will move on to the arbitration process.
It is as shown in the figure. That is, it is determined whether or not there are transitions that can be fired among the transitions that conflict with each other (step S31);
If there is a fireable transition, it is determined whether the transition indicated by the pointer is a fireable transition (step S32). If this transition is fireable, transitions other than the transition indicated by the pointer are set as non-fireable (step S34), and the process proceeds to arbitration for the next conflict box. If there is no fireable transition among transitions that conflict with each other, the next conflict box is arbitrated, and if the transition pointed to by the pointer is not a fireable transition, the pointer is moved to the next transition. Proceed to step S3
3) It is determined whether the transition indicated by this pointer is a ignable transition. After all the conflict boxes have been arbitrated by the arbiter in this way, the ignitable transition is fired (step S40).
The details will be explained with reference to FIG. 12. That is, first, it is determined whether or not this transition can be fired (step S41), and if it is, all the marks in the boxes on the input side are erased (step S42), and the marks on the output side are Generate marks in all boxes (step S43),
Proceed to the next transition firing operation. If the corresponding transition is not fireable, the process proceeds to the fireable operation of the next transition. As described above, according to the programmable controller of the present invention, since the connection relationships and gate conditions are listed in the table of addresses corresponding to the boxes and gates, the 8-bit microprocessor M068609 (2M
Hz), the time required to test one condition is 8.0 microseconds, and the time required for a mark to appear or disappear is 9.0 microseconds per box. Furthermore, if even one condition is not met, it is immediately determined that the arc cannot be fired, so all conditions are tested only in the case that the arc can be fired. For this reason,
The processing speed will be further increased. On the other hand, changing the program is extremely easy as all you have to do is rewrite part of the table based on changes in the mark flow graph, and since it has an arbiter function,
There is no malfunction in the conflict box,
Firing rights will also be distributed equally.

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

第1図〜第4図はそれぞれこの発明の前提とな
るマークフローグラフを説明するための図、第5
図はこの発明の処理ステツプを示すフローチヤー
ト、第6図〜第8図はそれぞれこの発明のメモリ
ーの状態を示す図、第9図〜第12図はそれぞれ
第5図のフローチヤートの詳細な処理ステツプを
示す図である。 t1〜t6……トランジシヨン、b1〜b6……ボツク
ス、d1〜d12……方向枝、m……マーク。
Figures 1 to 4 are diagrams for explaining the mark flow graph that is the premise of this invention, and Figure 5
The figure is a flowchart showing the processing steps of the present invention, Figures 6 to 8 are diagrams each showing the state of the memory of the invention, and Figures 9 to 12 are detailed processing steps of the flowchart in Figure 5. It is a diagram showing steps. t1 to t6 ...transition, b1 to b6 ...box, d1 to d12 ...direction branch, m...mark.

Claims (1)

【特許請求の範囲】 1 (a) シーケンス制御系を、状況を表現するボ
ツクスと、事象を表現するトランジシヨンと、
前記状況及び事象の接続関係を表現する方向枝
と、現在保持されている状況を示すマークを用
いたマークフローグラフで記述し、 (b) 前記トランジシヨンの入力側にマークの入ら
ないボツクスがなく、かつ出力側にマークの入
つたボツクスがない場合を可点弧と定義し、可
点弧であるトランジシヨンに外部から点弧の許
可が加わり、かつ点弧の抑止が解除されれば点
弧が発生すると共に、前記点弧により当該トラ
ンジシヨンの入力側全てのボツクスのマークは
消滅し、かつ出力側の全てのボツクスにマーク
が発生すると定義し、 (c) 同一のボツクスの出力側に接続されるトラン
ジシヨン群もしくは同一ボツクスの入力側に接
続されるトランジシヨン群を互いにコンフリク
トと定義し、 (d) ボツクスにはたかだかマークが1個しか入ら
ないことから、マークの“有”を内部メモリ又
は出力信号用メモリで“1”、“無”を“0”に
対応させ、さらに許可ゲート、抑止ゲートのた
めの信号を入力信号用一時メモリ、あるいはボ
ツクスに対応する前記メモリからの“0”,
“1”の信号とし、 (e) 前記(a)〜(c)の前提条件をもとに、 (i) トランジシヨンの使用の有無、使用トラン
ジシヨンについては当該トランジシヨンの入
力側ボツクスの有無、入力側ボツクス内のマ
ークの有無、出力側ボツクスの有無、出力側
ボツクス内のマークの有無、許可ゲートの有
無及び条件、抑止ゲートの有無及び条件より
前記各トランジシヨンの点弧発生の可否をテ
ストし、 (ii) 特に互いにコンフリクトであるトランジシ
ヨン群については当該トランジシヨン群中、
可点弧なものが有る場合にはポインタで指示
されたトランジシヨンの点弧発生の可否を判
断し、それが可である場合には前記ポインタ
で示されれたトランジシヨン以外のトランジ
シヨンを非可点弧とし、それが否である場合
には前記ポインタを次の可点弧なトランジシ
ヨンに移し、上述と同様な点弧発生の可否の
判断と処理を行なう調停を調停機能により行
ない、 (iii) 上述の判定の結果、点弧発生可のトランジ
シヨン全てについて、その入力側の全てのボ
ツクスのマークを消去し、出力側の全てのボ
ツクスにマークを発生させ、 (f) 前記ステツプ(a)によりシーケンス制御系をプ
ログラムし、前記処理ステツプ(i)〜(iii)とステツ
プ(d)による入出力信号形式によつて機器の制御
を行なうようにしたことを特徴とするプログラ
マブルコントローラ。
[Scope of Claims] 1 (a) A sequence control system that includes a box that expresses a situation, a transition that expresses an event,
It is described using a mark flow graph that uses directional branches that express the connections between the situations and events, and marks that indicate the currently held situations, and (b) there is no box in which no marks can be placed on the input side of the transition. , and there is no box with a mark on the output side, it is defined as a firing possible transition, and if a firing permission is added from the outside to a transition that is a firing possible transition, and the firing suppression is released, the firing is possible. occurs, and the marks in all boxes on the input side of the transition disappear due to the firing, and marks are generated in all boxes on the output side. (c) Connection to the output side of the same box A group of transitions connected to the input side of the same box or a group of transitions connected to the input side of the same box are defined as conflicts with each other. Or, in the output signal memory, "1" and "absence" correspond to "0", and furthermore, the signals for the enable gate and inhibit gate are stored in the input signal temporary memory, or "0" from the memory corresponding to the box. ,
(e) Based on the preconditions in (a) to (c) above, (i) Whether or not a transition is used, and for the transition used, whether or not there is an input box for the transition. , the presence or absence of a mark in the input side box, the presence or absence of an output side box, the presence or absence of a mark in the output side box, the presence or absence of an enable gate and the conditions, and the presence or absence of an inhibition gate and the conditions to determine whether or not each of the above transitions can be fired. (ii) particularly for transitions that are in conflict with each other,
If there is a transition that can be fired, it is determined whether or not the transition indicated by the pointer can be fired, and if it is possible, the transition other than the transition indicated by the pointer is disabled. If it is not possible, the pointer is moved to the next transition that can be fired, and the arbitration function performs the same judgment and processing as to whether or not firing occurs, ( iii) As a result of the above judgment, for all the transitions in which ignition can occur, the marks in all the boxes on the input side are erased and the marks are generated in all the boxes on the output side, (f) Step (a) 1.) A programmable controller characterized in that a sequence control system is programmed according to steps (i) to (iii) and step (d), and equipment is controlled by input/output signal formats according to the processing steps (i) to (iii) and step (d).
JP4045482A 1982-03-15 1982-03-15 Programmable controller Granted JPS58158709A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4045482A JPS58158709A (en) 1982-03-15 1982-03-15 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4045482A JPS58158709A (en) 1982-03-15 1982-03-15 Programmable controller

Publications (2)

Publication Number Publication Date
JPS58158709A JPS58158709A (en) 1983-09-21
JPH0319563B2 true JPH0319563B2 (en) 1991-03-15

Family

ID=12581080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4045482A Granted JPS58158709A (en) 1982-03-15 1982-03-15 Programmable controller

Country Status (1)

Country Link
JP (1) JPS58158709A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619647B2 (en) * 1985-04-09 1994-03-16 株式会社日立製作所 Programmable controller
JPH0731527B2 (en) * 1986-10-16 1995-04-10 株式会社東芝 Programmable controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5264580A (en) * 1975-11-21 1977-05-28 Toshiba Corp Sequence controller
JPS52127575A (en) * 1976-04-19 1977-10-26 Meidensha Electric Mfg Co Ltd Asynchronous sequence circuit
JPS52131082A (en) * 1976-04-27 1977-11-02 Toyoda Mach Works Ltd Sequence controller
JPS5386136A (en) * 1977-01-06 1978-07-29 Nec Corp Control circuit
JPS55115104A (en) * 1979-02-27 1980-09-04 Fuji Electric Co Ltd Step sequence control system
JPS56143009A (en) * 1980-04-08 1981-11-07 Fujitsu Ltd Sequence control system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5264580A (en) * 1975-11-21 1977-05-28 Toshiba Corp Sequence controller
JPS52127575A (en) * 1976-04-19 1977-10-26 Meidensha Electric Mfg Co Ltd Asynchronous sequence circuit
JPS52131082A (en) * 1976-04-27 1977-11-02 Toyoda Mach Works Ltd Sequence controller
JPS5386136A (en) * 1977-01-06 1978-07-29 Nec Corp Control circuit
JPS55115104A (en) * 1979-02-27 1980-09-04 Fuji Electric Co Ltd Step sequence control system
JPS56143009A (en) * 1980-04-08 1981-11-07 Fujitsu Ltd Sequence control system

Also Published As

Publication number Publication date
JPS58158709A (en) 1983-09-21

Similar Documents

Publication Publication Date Title
US4366551A (en) Associative memory search system
US3786432A (en) Push-pop memory stack having reach down mode and improved means for processing double-word items
JPS6298440A (en) Programmable access memory
US3976976A (en) Method and means to access and extended memory unit
US6898563B1 (en) System for aiding in the design of combinatorial logic and sequential state machines
Boone Word problems and recursively enumerable degrees of unsolvability. A first paper on Thue systems
JPH0319563B2 (en)
US4937782A (en) Counter control method
JPH03105467A (en) Retrieval logical arithmetic circuit
JPH03231345A (en) Cache device
JP2539079B2 (en) Column data selection processing circuit
JP2899438B2 (en) Jumper / lift device
JPS607539A (en) Predicate logical word processor
JPH03116277A (en) Simulation system and method of the same
JPS6271084A (en) Semiconductor integrated circuit
JP2575936B2 (en) Content search device
JPS58200343A (en) Matching device for character string pattern
JPS6222142A (en) Storage device
JPS6314201A (en) Deciding circuit for interlock condition
JPS58147790A (en) Graphic memory device
JPH03177976A (en) Logic simulator
JPS63195739A (en) Unification processor
JPS6358534A (en) Control system for final processing phase in key sort method
JPS61202239A (en) Information processor
JPS62219045A (en) Lru control circuit