JPH10293604A - Fast sequence control method, device therefor, and program production method - Google Patents

Fast sequence control method, device therefor, and program production method

Info

Publication number
JPH10293604A
JPH10293604A JP10375997A JP10375997A JPH10293604A JP H10293604 A JPH10293604 A JP H10293604A JP 10375997 A JP10375997 A JP 10375997A JP 10375997 A JP10375997 A JP 10375997A JP H10293604 A JPH10293604 A JP H10293604A
Authority
JP
Japan
Prior art keywords
speed
sequence control
normal
execution program
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.)
Granted
Application number
JP10375997A
Other languages
Japanese (ja)
Other versions
JP3554651B2 (en
Inventor
Masahiro Koyama
昌宏 小山
Norihisa Miyake
徳久 三宅
Kenjiro Fujii
健二郎 藤井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10375997A priority Critical patent/JP3554651B2/en
Publication of JPH10293604A publication Critical patent/JPH10293604A/en
Application granted granted Critical
Publication of JP3554651B2 publication Critical patent/JP3554651B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily describe a sequence including a process that requires a fast response without deteriorating the viewing easiness of the sequence as a series of sequences and also to attain the fast response. SOLUTION: This method consists of a sequence control program editing means 101 which produces a sequence control program 102 that designates a step requiring a fast response with a mark, a sequence control program conversion means 103 which separates and converts the program 102 into a normal sequence control internal code 104 and a fast sequence control table 105, a normal sequence control internal code execution means 106 which executes the code 104, and a fast sequence control table processing means 107 which processes the table 105.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、高速シーケンス制
御方法とその装置、及びプログラム作成方法に係わり、
特に、一連のシーケンス中で高速な応答を要するステッ
プをマークで指定するだけで、高速シーケンス制御テー
ブルを自動的に生成し、この制御テーブルを用いて高速
シーケンス制御を行うようにした高速シーケンス制御方
法とその装置、及びそのためのプログラム作成方法に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-speed sequence control method and apparatus, and a program creation method.
In particular, a high-speed sequence control method in which a high-speed sequence control table is automatically generated simply by designating a step requiring a high-speed response in a series of sequences with a mark, and high-speed sequence control is performed using the control table. And a device for the same, and a program creating method therefor.

【0002】[0002]

【従来の技術】従来のシーケンス制御方法に於て、多く
の場合、プログラマブルコントローラと称される機器制
御専用のコンピュータが用いられ、これに制御対象の動
作仕様に応じた専用の制御プログラムを入力して、機器
のシーケンス制御を行っていた。上記制御プログラム
は、ラダー図やSFC(Seqential Function Chart)な
どによって記述されるが、特に高速応答を要する処理
は、通常のプログラムとは別の割込みプログラムとして
記述する必要があった。この割込みプログラムを用いた
シーケンス制御方法に関する公知例としては、「日立プ
ログラマブルコントローラ HIDIC Hシリーズ CPUモジュ
ール取扱説明書(ソフトウェア編)NB323C」(日立製作
所、1995年)のPP.15-30に記載されているシーケンス制
御方法が挙げられる。以下、この割り込みプログラムを
用いたときの動作例を説明する。
2. Description of the Related Art In a conventional sequence control method, a computer dedicated to device control called a programmable controller is used in many cases, and a dedicated control program corresponding to an operation specification of a control target is input to the computer. Thus, the sequence control of the device was performed. The above control program is described by a ladder diagram, an SFC (Seqential Function Chart), or the like. In particular, processing requiring a high-speed response needs to be described as an interrupt program different from a normal program. A well-known example of a sequence control method using this interrupt program is described in PP.15-30 of "Hitachi Programmable Controller HIDIC H Series CPU Module Instruction Manual (Software) NB323C" (Hitachi, 1995). Sequence control method. Hereinafter, an operation example when this interrupt program is used will be described.

【0003】図2は、プログラマブルコントローラにお
けるスキャン処理のサイクルと入力信号の状態変化のサ
イクルの関係を示すタイミングチャートであり、入力信
号の状態変化のサイクルが、スキャン処理の1サイク
ル、すなわちスキャンタイムに比べて長い場合を示す。
ここで、スキャン処理202で処理されるプログラム中
には、入力信号201がOFFからONになる事象、い
わゆる立ち上がりを検出する処理が記述されており、1
サイクルのスキャン処理中に、この処理が実行されるタ
イミング203を上向き矢印で示した。図2では、入力
信号201の立ち上がりを完全に捕らえていることが分
かる。
FIG. 2 is a timing chart showing a relationship between a cycle of a scan process and a cycle of a state change of an input signal in a programmable controller. A cycle of a state change of an input signal corresponds to one cycle of the scan process, that is, a scan time. This shows a case where the length is longer.
Here, in the program processed in the scan process 202, a process of detecting an event that the input signal 201 changes from OFF to ON, that is, a process of detecting a rising edge, is described.
During the scan process of the cycle, the timing 203 at which this process is executed is indicated by an upward arrow. FIG. 2 shows that the rising edge of the input signal 201 is completely captured.

【0004】一方、図3は、入力信号の状態変化のサイ
クルがスキャンタイムに比べて短い場合を示している。
スキャン処理されるプログラムは、図2と同じとする。
図3では、入力信号301の変化が高速なために、スキ
ャン処理302がこれに追従できず、入力信号301の
立ち上がりの検出もれ304が発生している。
On the other hand, FIG. 3 shows a case where the cycle of the state change of the input signal is shorter than the scan time.
The program to be scanned is the same as in FIG.
In FIG. 3, since the change of the input signal 301 is fast, the scan process 302 cannot follow the change, and a missing detection 304 of the rising edge of the input signal 301 occurs.

【0005】図4は、このようにスキャン処理では追従
が困難となる高速な状態変化に対応するため、割込み処
理を併用した場合を示す。割込み処理402は、一定周
期で割込みを入れるタイマなどをきっかけに起動される
処理であり、割込みの周期は入力信号401の変化に追
従できるものとする。割込み処理402で処理されるプ
ログラムの中には、入力信号401の立ち上がりを検出
する処理が記述されており、この処理のタイミング40
3を上向き矢印で示した。図4では、入力信号401の
立ち上がりをもれなく捕らえている。なお、割込み処理
402の1サイクルは、割込み周期そのものよりも短い
ものとする。また、通常のスキャン処理404で処理さ
れるプログラムには、割込み処理402で処理されるプ
ログラムに記述される処理を除いた、その他の処理が記
述される。ここで、スキャン処理404自体は、割込み
処理402に割込まれるために、断続的となり、スキャ
ンタイムは図2や図3のときよりも長くなるが、システ
ムのトータル性能を考えると、入力信号401への応答
性は向上する。
FIG. 4 shows a case in which an interrupt process is used together in order to cope with a high-speed state change in which it is difficult to follow the scan process. The interrupt process 402 is a process that is started by a timer or the like that interrupts at a constant cycle. The interrupt cycle can follow a change in the input signal 401. In the program processed in the interrupt processing 402, processing for detecting the rising of the input signal 401 is described.
3 is indicated by an upward arrow. In FIG. 4, the rising of the input signal 401 is completely captured. Note that one cycle of the interrupt processing 402 is shorter than the interrupt cycle itself. In the program processed in the normal scan process 404, other processes are described, excluding the processes described in the program processed in the interrupt process 402. Here, the scan process 404 itself is intermittent because it is interrupted by the interrupt process 402, and the scan time is longer than in FIGS. 2 and 3. However, considering the total performance of the system, the input signal 401 Responsiveness to is improved.

【0006】[0006]

【発明が解決しようとする課題】上記した従来技術で
は、高速応答を要する処理を、通常シーケンスとは別の
割込みプログラムとして記述しているが、このような高
速応答を要する処理でも、他の通常シーケンスの処理と
頻繁に同期をとる必要があり、一連のシーケンスとして
見ると、高速応答を要する処理は、実質的に通常シーケ
ンスの中に混在していることが多い。このため、従来の
ように通常シーケンスと高速応答を要する処理とを初め
から分離して記述する方法では、プログラムの記述自体
が複雑になり、その結果として、一連のシーケンスとし
ての見易さが損なわれ、シーケンスの変更も困難になる
という問題があった。
In the above-described prior art, the processing requiring a high-speed response is described as an interrupt program different from the normal sequence. It is necessary to frequently synchronize with the processing of the sequence, and when viewed as a series of sequences, the processing requiring a high-speed response is often substantially mixed in the normal sequence. For this reason, in the conventional method in which the normal sequence and the processing requiring high-speed response are described separately from the beginning, the description of the program itself becomes complicated, and as a result, the visibility as a series of sequences is impaired. This makes it difficult to change the sequence.

【0007】そこで、本発明では、一連のシーケンスを
記述する際、特に高速応答を要するステップを高速処理
を示すマークで指定しておき、通常シーケンスと高速シ
ーケンスがステップのレベルで混在したシーケンス制御
プログラムから、高速シーケンス制御テーブルを自動的
に生成し、この高速シーケンス制御テーブルを用いて、
高速シーケンスを制御するようにした高速シーケンス制
御方法とその装置、及びそのためのプログラム作成方法
を提供することを目的とする。
Therefore, according to the present invention, when describing a series of sequences, a step requiring a high-speed response is designated by a mark indicating high-speed processing, and a sequence control program in which a normal sequence and a high-speed sequence are mixed at the step level is specified. , A high-speed sequence control table is automatically generated, and using this high-speed sequence control table,
It is an object of the present invention to provide a high-speed sequence control method and device for controlling a high-speed sequence, and a program creation method therefor.

【0008】[0008]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、シーケンス制御プログラムの各ステッ
プのうち、高速処理を必要とするステップにマークを付
加し、前記マークが付加された高速ステップと前記マー
クが付加されていない通常ステップを分離して高速及び
通常中間コードを生成し、さらに前記各中間コードから
高速実行プログラム及び通常実行プログラムを生成し、
前記高速実行プログラムと通常実行プログラムとの間で
実行中ステップの同期をとりながら前記高速実行プログ
ラムを実行するようにしたことを特徴とする高速シーケ
ンス制御方法を開示する。
In order to achieve the above object, according to the present invention, a mark is added to a step requiring high-speed processing among the steps of a sequence control program, and the mark is added. Generating high-speed and normal intermediate codes by separating high-speed steps and normal steps to which the mark is not added, further generating a high-speed execution program and a normal execution program from each of the intermediate codes,
A high-speed sequence control method characterized in that the high-speed execution program is executed while synchronizing the steps being executed between the high-speed execution program and the normal execution program.

【0009】また、本発明は、前記高速実行プログラム
が、前記高速ステップのコマンド列を格納するためのコ
マンドリストと、現在のステップの終了条件、次に実行
するステップの番号、及び前記コマンドリストの次に実
行されるコマンド列のエントリアドレスを格納するため
の制御テーブルと、各ステップの前記制御テーブルのエ
ントリアドレスを格納するためのエントリテーブルとか
ら構成された高速シーケンス制御テーブルであることを
特徴とする高速シーケンス制御方法を開示する。
Further, the present invention provides the high-speed execution program, wherein a command list for storing the command sequence of the high-speed step, an end condition of a current step, a number of a next step to be executed, and A high-speed sequence control table comprising a control table for storing an entry address of a command string to be executed next, and an entry table for storing an entry address of the control table in each step. A high-speed sequence control method is disclosed.

【0010】また、本発明は、シーケンス制御プログラ
ムの作成方法であって、シーケンス制御プログラムの各
ステップのうち、高速処理を必要とするステップマーク
を付加することを特徴とするシーケンス制御プログラム
の作成方法を開示する。
The present invention also relates to a method for creating a sequence control program, wherein a step mark requiring high-speed processing is added to each step of the sequence control program. Is disclosed.

【0011】さらに、本発明は、上記のシーケンス制御
プログラムの作成方法により作成されたシーケンス制御
プログラムを用いて高速シーケンス制御を行うための高
速シーケンス制御装置であって、前記マークが付加され
た高速ステップと前記マークが付加されていない通常ス
テップを分離して高速及び通常中間コードを生成するた
めの中間コード生成手段と、前記各中間コードから高速
実行プログラム及び通常実行プログラムを生成するため
の実行プログラム生成手段と、前記高速実行プログラム
と通常実行プログラムとの間で実行中ステップの同期を
とりながら前記高速実行プログラムを実行するためのプ
ロセッサと、を備えたことを特徴とする高速シーケンス
制御装置を開示する。
Further, the present invention provides a high-speed sequence control device for performing high-speed sequence control using a sequence control program created by the above-described method for creating a sequence control program, wherein the high-speed step Intermediate code generating means for generating a high-speed and normal intermediate code by separating normal steps to which the mark is not added, and generating an execution program for generating a high-speed execution program and a normal execution program from each intermediate code And a processor for executing the high-speed execution program while synchronizing the steps being executed between the high-speed execution program and the normal execution program. .

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図1は、本発明に係る、高速シーケンス制
御方法に於ける処理の流れを模式的に示すブロック図で
ある。まず、シーケンス制御プログラム編集手段101
によって、一連のシーケンス制御プログラム102を作
成するとともに、特に高速応答を要するステップには、
高速処理を意味するマークをつけておく。こうして作成
したシーケンス制御プログラム102は、シーケンス制
御プログラム変換手段103によって、通常シーケンス
制御内部コード104と、高速シーケンス制御テーブル
105に分離、変換される。高速シーケンス制御テーブ
ル105には、マークで指定した高速応答を要する処
理、すなわち高速シーケンスを制御するためのデータが
高速処理に適したテーブル形式で格納される。一方、通
常シーケンス制御内部コード104には、高速シーケン
ス制御テーブル105に割り振られた高速シーケンス以
外の処理、すなわち通常シーケンスの内部コード列(実
行形式プログラム)が格納される。ここで、通常シーケ
ンス制御内部コード実行手段106によって、通常シー
ケンス制御内部コード104は、解釈、実行される。さ
らに、これと並行して、高速シーケンス制御テーブル処
理手段107によって、高速シーケンス制御テーブル1
05は処理される。このように、シーケンス制御プログ
ラム102を作成する際、高速応答を要するステップを
マークで指定しておくだけで、高速シーケンス制御テー
ブル105を自動的に生成することができるようにする
ことによって、高速応答を要する処理が混在したシーケ
ンスを、一連のシーケンスとしての見易さを損なうこと
のない自然な形で、容易に記述できる。すなわち、従来
よりもシーケンスの作成と変更が容易になるため、プロ
グラムの開発効率と保守性が向上する。
Embodiments of the present invention will be described below in detail. FIG. 1 is a block diagram schematically showing a processing flow in a high-speed sequence control method according to the present invention. First, sequence control program editing means 101
In this way, a series of sequence control programs 102 are created, and the steps requiring high-speed response include:
Add a mark for high-speed processing. The sequence control program 102 thus created is separated and converted into a normal sequence control internal code 104 and a high-speed sequence control table 105 by the sequence control program conversion means 103. In the high-speed sequence control table 105, processing that requires high-speed response specified by a mark, that is, data for controlling a high-speed sequence is stored in a table format suitable for high-speed processing. On the other hand, the normal sequence control internal code 104 stores processing other than the high-speed sequence allocated to the high-speed sequence control table 105, that is, the internal code sequence (executable program) of the normal sequence. Here, the normal sequence control internal code 104 is interpreted and executed by the normal sequence control internal code execution means 106. In parallel with this, the high-speed sequence control table processing means 107
05 is processed. As described above, when the sequence control program 102 is created, the high-speed sequence control table 105 can be automatically generated only by designating the steps that require the high-speed response by the mark. Can be easily described in a natural form without impairing the visibility as a series of sequences. That is, since the sequence can be created and changed more easily than in the past, program development efficiency and maintainability are improved.

【0013】図5は、図1のシーケンス制御プログラム
編集手段101によって記述されるシーケンス制御プロ
グラム102の一例を示す。図5では、一連のシーケン
スをペトリネットの形式で表現する、グラフィック型の
プログラミング言語を用いており、このような言語に関
する公知例としては、特開平7−72920号公報に記
載されているセル制御言語が挙げられる。このセル制御
言語では、ペトリネットのプレース(図中、○で表記す
る)を、FA(ファクトリー・オートメーション)シス
テムのセルを構成する機器(以下、ユニットとする)の
1ステップあたりの動作と定義して、各プレースをステ
ップの整理番号であるステップNO.(例えば、S10
0)により区別する。また、トランジション(図中、
で表記する)を次ステップへの遷移条件と定義する。さ
らに、トークン(図中、表記せず)のあるプレースを実
行中のステップとし、各プレースには高々一個のトーク
ンしか入らない、いわゆるセーフペトリネットを考え
る。
FIG. 5 shows an example of the sequence control program 102 described by the sequence control program editing means 101 of FIG. In FIG. 5, a graphic type programming language for expressing a series of sequences in the form of a Petri net is used. A known example of such a language is a cell control described in Japanese Patent Application Laid-Open No. 7-72920. Language. In this cell control language, a place of a Petri net (denoted by a circle in the figure) is defined as an operation per step of a device (hereinafter, referred to as a unit) constituting a cell of a factory automation (FA) system. Then, each place is assigned a step number, which is the reference number of the step. (For example, S10
0). In addition, transition (in the figure,
Is defined as a transition condition to the next step. Further, a so-called safe Petri net, in which a place having a token (not shown in the figure) is set as an executing step, and each place includes at most one token, is considered.

【0014】図5のプレース501のステップNO.は
S102であり、そのステップでのユニットの動作は、
図1のシーケンス制御プログラム編集手段101を用い
て、コマンド列として記述される。また、プレース50
1の出力側のトランジション502、503、504
は、それぞれステップS102の終了条件OK1、OK
2、OK3を遷移条件とし、各終了条件OK1、OK
2、OK3は、シーケンス制御プログラム編集手段10
1を用いて、入出力信号などに関する条件式として記述
される。なお、図5は、シーケンス表記のみを示し、こ
れらのコマンド列、条件式は表記されていない(コマン
ド列、条件式の例は後述する)。
Step NO. Of place 501 in FIG. Is S102, and the operation of the unit in that step is:
It is described as a command string using the sequence control program editing means 101 of FIG. Also, place 50
Transitions 502, 503, 504 on the output side of No. 1
Are the end conditions OK1 and OK in step S102, respectively.
2 and OK3 as transition conditions, and end conditions OK1 and OK
2, OK3 is a sequence control program editing means 10
1 is described as a conditional expression relating to input / output signals and the like. FIG. 5 shows only the sequence notation, and does not show these command strings and conditional expressions (examples of command strings and conditional expressions will be described later).

【0015】本発明では、上記のようなセル制御言語の
使用を少し拡張し、高速処理を要するプレースにマーク
を付ける。例えばプレース505は、プレース501の
ような通常のプレース記号(図中、○で表記する)の右
上に角型のマークを付けたものであり、このプレースの
入力側のトランジション(プレース505の場合、トラ
ンジション503)の状態遷移に対し、高速に応答する
必要があることを意味する。このマークをプレースの高
速オプションと呼ぶことにする。このように、一連のシ
ーケンスのうち、部分的に高速な応答が必要なところが
ある場合、この高速オプションをプレースに付けるだけ
で、そのステップは高速シーケンスとして処理されるこ
とになる。例えば上記プレース505では、その入力側
トランジション503の遷移条件、すなわちステップS
102の終了条件OK2が成立するかどうかの監視を、
図4の割込み処理402の中で行い、もし終了条件OK
2が成立していれば、ステップS105の動作を定義す
るコマンド列を実行するようになっており、状態変化に
対する高速応答が可能となる。また、高速オプションの
付かない通常のプレースのステップは、通常のスキャン
処理の中で実行されることになる。
In the present invention, the use of the cell control language as described above is slightly extended to mark places requiring high-speed processing. For example, the place 505 has a square mark at the upper right of a normal place symbol (represented by a circle in the figure) such as the place 501, and a transition on the input side of the place (in the case of the place 505, This means that it is necessary to respond at high speed to the state transition of the transition 503). Let's call this mark the fast option for the place. As described above, when a part of the sequence requires a high-speed response, simply adding the high-speed option to a place will cause the step to be processed as a high-speed sequence. For example, in the place 505, the transition condition of the input transition 503, that is, step S
Monitoring whether the termination condition OK2 of 102 is satisfied,
This is performed in the interrupt processing 402 of FIG.
If 2 is satisfied, a command sequence that defines the operation in step S105 is executed, and a high-speed response to a state change is possible. In addition, a normal place step without the high-speed option is executed in a normal scan process.

【0016】このように一連のシーケンス中で、特に高
速応答を要するステップにマークを付加して区別する表
記方法は、SFCのような従来技術にも用意されていな
い。そこで、SFC表記に同様の拡張を行った例を図6
に示す。図6では、SFCのステップ要素(図中、□で
表記する)の右上の角を三角形状に塗りつぶすことによ
り、図5の高速オプションと同じ意味を持たせた。例え
ば、ステップ601(S105)は高速オプション付き
であり、その入力側のトランジション(t1022)で
記述された条件の監視は割込み処理の中で行う。なお、
SFCはペトリネットを起源とする表記であり、以下の
ペトリネットを例とした説明は、SFCを用いた場合に
も同様に成り立つものである。
Such a notation method in which a mark is added to a step requiring a high-speed response in a series of sequences to distinguish the steps is not prepared even in a conventional technique such as SFC. Therefore, an example of a similar extension to the SFC notation is shown in FIG.
Shown in In FIG. 6, the upper right corner of the SFC step element (denoted by □ in the figure) is painted in a triangular shape to give the same meaning as the high-speed option in FIG. For example, the step 601 (S105) has the high-speed option, and the monitoring of the condition described in the transition (t1022) on the input side is performed in the interrupt processing. In addition,
SFC is a notation that originates from Petri nets, and the following description using Petri nets as an example is also valid when SFC is used.

【0017】また、図5のようなペトリネットを記述す
る際、シーケンス制御プログラム編集手段101では、
各ステップにおける動作をコマンド列で、各トランジシ
ョンの遷移条件を条件式で記述することを前提としてい
るが、仮にこれらを従来のラダー図、ファンクションブ
ロックダイヤグラムなどで記述する場合でも、以下に述
べる高速シーケンス制御方法は同様に実現可能である。
When describing a Petri net as shown in FIG. 5, the sequence control program editing means 101
It is assumed that the operation in each step is described by a command sequence and the transition condition of each transition is described by a conditional expression.Even if these are described by a conventional ladder diagram, function block diagram, etc., the high-speed sequence described below is used. The control method is likewise feasible.

【0018】図7は、図5のシーケンス制御プログラム
102をコード化したものを示し、図5のペトリネット
表記と一対一に対応した構造を持つ。図1のシーケンス
制御プログラム編集手段101では、シーケンス制御プ
ログラム102を図5のペトリネット形式で編集し、最
終的には図7のようにコード形式で保存するものとす
る。ここで、ペトリネット形式からコード形式への変換
は、シーケンス制御プログラム編集手段101の処理で
自動的に行われる。さらに、シーケンス制御プログラム
変換手段103では、図7のようなコード形式のシーケ
ンス制御プログラム102を入力として処理するものと
する。
FIG. 7 shows a coded version of the sequence control program 102 of FIG. 5, which has a structure corresponding one-to-one with the Petri net notation of FIG. The sequence control program editing means 101 shown in FIG. 1 edits the sequence control program 102 in the Petri net format shown in FIG. 5 and finally saves it in a code format as shown in FIG. Here, the conversion from the Petri net format to the code format is automatically performed by the processing of the sequence control program editing means 101. Further, it is assumed that the sequence control program conversion means 103 processes the sequence control program 102 in a code format as shown in FIG. 7 as an input.

【0019】図7のシーケンス制御プログラムは、大き
く分けると二つのブロックで構成される。一つは通常シ
ーケンスブロック701で、もう一つは#INTERRUPT文7
03で始まる高速シーケンスブロック702である。高
速シーケンスブロック702は、図5のペトリネットの
プレースのうち、高速オプションの付いているプレース
に関する記述を集めたものであり、通常シーケンスブロ
ック701は、それ以外のプレースに関する記述を集め
たものである。さらに、通常シーケンスブロック701
と高速シーケンスブロック702は、それぞれ"cell"文
706で始まるcellブロック704と、"def" 文7
07で始まるdefブロック705で構成される。ce
llブロック704には、プレースとトランジションの
接続関係、すなわちペトリネットの構造と、各プレース
での処理が含まれている。cellラベル708には、
各プレースのステップNO.(S101)と、そのステ
ップの動作主体のユニットNO.(UNIT1)が記述
される。遷移条件式709には、そのプレースの入力側
のトランジションに入力として接続されるプレースのス
テップNO.(S100)と終了条件名称(OK1)が
記述される。なお、図5のS108のように、入力側の
トランジションが複数ある場合、そのトランジションに
入力として接続されるプレースのステップNO.と終了
条件名称が、ORを意味する記号 "|"の後に記述され
る。コマンド列710には、1ステップあたりの処理を
定義するコマンドが記述される。defブロック705
には、各プレースのステップの終了条件を定義する条件
式が含まれている。defラベル711には、各プレー
スのステップNO.(S101)が記述される。終了条
件式712には、各ステップの終了条件名称(OK1)
と、それを定義する条件式が記述される。また、図5の
S102のように、終了条件が何通りかあるステップの
場合、複数の終了条件名称と条件式が記述されることに
なる。なお、高速シーケンスブロック702の記述も、
以上に述べた通常シーケンスブロック701と同様であ
る。
The sequence control program shown in FIG. 7 is roughly composed of two blocks. One is a normal sequence block 701 and the other is an #INTERRUPT statement 7
It is a high-speed sequence block 702 that starts with 03. The high-speed sequence block 702 is a collection of descriptions of places with the high-speed option among the places of the Petri net in FIG. 5, and the normal sequence block 701 is a collection of descriptions of other places. . Further, a normal sequence block 701
The high-speed sequence block 702 includes a cell block 704 starting with a “cell” statement 706 and a “def” statement 7
It consists of a def block 705 starting with 07. ce
The 11 block 704 includes the connection relationship between places and transitions, that is, the structure of Petri nets, and the processing in each place. The cell label 708 includes
Step No. of each place. (S101) and the unit NO. (UNIT1) is described. The transition condition expression 709 includes the step number of the place connected as an input to the transition on the input side of the place. (S100) and the end condition name (OK1) are described. When there are a plurality of transitions on the input side as in S108 of FIG. 5, step NO. Of the place connected as an input to the transition is performed. And the end condition name are described after the symbol "|" meaning OR. In the command column 710, a command defining a process per step is described. def block 705
Contains a conditional expression that defines the end condition of the step of each place. A def label 711 has a step No. of each place. (S101) is described. In the end condition expression 712, the end condition name of each step (OK1)
And a conditional expression that defines it. In the case of a step having several termination conditions as in S102 of FIG. 5, a plurality of termination condition names and conditional expressions are described. Note that the description of the high-speed sequence block 702 is also
This is the same as the normal sequence block 701 described above.

【0020】また、図7(すなわち図5)のシーケンス
制御プログラムは、そのシーケンスの動作主体であるユ
ニット毎にモジュール化されている。例えば、図7はU
NIT1のモジュールを示す。このようにシーケンス制
御プログラム102の各モジュールは、ユニットNO.
により区別される。
The sequence control program shown in FIG. 7 (that is, FIG. 5) is modularized for each unit that is the subject of the sequence. For example, FIG.
3 shows a module of NIT1. As described above, each module of the sequence control program 102 has the unit No.
Are distinguished by

【0021】図8は、図1のシーケンス制御プログラム
変換手段103の処理を示すフローチャートである。シ
ーケンス制御プログラム変換手段103では、まず、入
力されたシーケンス制御プログラム102を解析し(処
理801)、この解析で得られた情報に基づいて、シー
ケンス制御中間コードを生成する(処理802)。次
に、このシーケンス制御中間コードから、通常シーケン
ス制御内部コード104と、高速シーケンス制御テーブ
ル105を生成する(処理803、804)。
FIG. 8 is a flowchart showing the processing of the sequence control program conversion means 103 of FIG. The sequence control program conversion means 103 first analyzes the input sequence control program 102 (process 801), and generates a sequence control intermediate code based on the information obtained by this analysis (process 802). Next, the normal sequence control internal code 104 and the high-speed sequence control table 105 are generated from the sequence control intermediate code (steps 803 and 804).

【0022】図9は、シーケンス制御プログラム解析の
処理801の詳細なフローチャートである。今、図7の
シーケンス制御プログラムが入力されたとすると、ま
ず、通常シーケンスブロック701のペトリネット構
造、コマンド列、終了条件を格納するデータ領域を確保
する(処理901)。次に、通常シーケンスブロック7
01のcellブロック704、defブロック705
を順に解析する。cellブロック704の解析では、
未処理のプレースを1つ取り出し(処理909)、その
プレースのペトリネット構造を解析し(処理902)、
さらにコマンド列710等を解析する(処理903)。
このような解析を次のプレースの記述がなくなるまで繰
り返す(処理904)。次のdefブロック705の解
析では、未処理のプレースを1つ取り出し(処理91
0)、そのプレースの終了条件式712等を解析し(処
理905)、これを次のプレースの記述がなくなるまで
繰り返す(処理906)。以上の処理で、通常シーケン
スブロック701の解析は終了するが、続いて#INTERRU
PT文703が記述されていれば(処理907)、高速シ
ーケンスブロック702があることが分かるので、その
解析のためのデータ領域を確保し(処理908)、以
下、通常シーケンスブロック701と同様の処理を行
う。
FIG. 9 is a detailed flowchart of the sequence control program analysis processing 801. Assuming that the sequence control program of FIG. 7 has been input, first, a data area for storing the Petri net structure, the command sequence, and the end condition of the normal sequence block 701 is secured (process 901). Next, the normal sequence block 7
01 cell block 704, def block 705
Are analyzed in order. In the analysis of the cell block 704,
One unprocessed place is taken out (process 909), and the Petri net structure of the place is analyzed (process 902).
Further, the command sequence 710 and the like are analyzed (process 903).
Such an analysis is repeated until there is no description of the next place (process 904). In the analysis of the next def block 705, one unprocessed place is extracted (step 91).
0), the end condition expression 712 of the place is analyzed (step 905), and this is repeated until there is no description of the next place (step 906). With the above processing, the analysis of the normal sequence block 701 is completed.
If the PT statement 703 is described (processing 907), it is known that there is a high-speed sequence block 702. Therefore, a data area for the analysis is secured (processing 908), and thereafter, the same processing as the normal sequence block 701 is performed. I do.

【0023】図10は、図9に於ける1プレース毎のネ
ット構造解析の処理902の詳細なフローチャートであ
る。このネット構造解析は、cellラベル708等と
遷移条件式709等の解析を行う。cellラベル70
8等の解析では、現在処理中のプレース(以下、現プレ
ース)のステップNO.を抽出し(処理1001)、さ
らに現プレースのユニットNO.を抽出する(処理10
02)。遷移条件式709の解析では、未処理の遷移条
件式を1つ取り出し(処理1006)、現プレースの入
力側のトランジションに、入力として接続されるプレー
ス、すなわち一つ前のプレース(以下、前プレース)の
ステップNO.を抽出し(処理1003)、さらに前プ
レースの終了条件名称を抽出する(処理1004)。さ
らに現プレースに他の遷移条件式709があれば、処理
1003、1004を繰り返す(処理1005)。な
お、現プレースに遷移条件式709が複数あるというこ
とは、現プレースの入力側のトランジションが複数ある
ということに相当する。
FIG. 10 is a detailed flowchart of the net structure analysis processing 902 for each place in FIG. In this net structure analysis, the cell label 708 and the like and the transition condition expression 709 and the like are analyzed. cell label 70
In the analysis of the place No. 8 or the like, the step NO. Is extracted (process 1001), and the unit NO. (Process 10
02). In the analysis of the transition condition expression 709, one unprocessed transition condition expression is extracted (process 1006), and the transition connected as an input to the transition on the input side of the current place, that is, the immediately preceding place (hereinafter, the previous place) Step NO.) Is extracted (step 1003), and the end condition name of the previous place is extracted (step 1004). If there is another transition condition expression 709 in the current place, the processes 1003 and 1004 are repeated (process 1005). Note that the presence of a plurality of transition condition expressions 709 in the current place corresponds to the presence of a plurality of transitions on the input side of the current place.

【0024】図11は、図9に於ける1プレース毎のコ
マンド列解析の処理903の詳細なフローチャートであ
る。このコマンド列解析では、現プレースのコマンド列
710等から、コマンドを一つずつ抽出し(処理110
1)、これを次のコマンドがなくなるまで繰り返す(処
理1102)。
FIG. 11 is a detailed flowchart of the command line analysis process 903 for each place in FIG. In this command string analysis, commands are extracted one by one from the command string 710 of the current place (step 110).
1) This is repeated until there is no next command (process 1102).

【0025】図12は、図9に於ける1プレース毎の終
了条件解析の処理905の詳細なフローチャートであ
る。この終了条件解析では、defラベル711等から
現プレースのステップNO.を抽出し(処理120
1)、未処理のOK条件を1つ取り出し(処理120
6)、さらに終了条件式712等の抽出を行う(処理1
202)。この処理を当該プレースのOK条件がなくな
るまで繰り返す(処理1203)。なお、終了条件式7
12等は、正常終了を示すOKnの終了条件を定義する
条件式(以下、OK条件式)だけでなく、異常終了を示
すNGnの終了条件を定義する条件式(以下、NG条件
式)の場合もあり、この場合が処理1207、120
4、1205で同様に解析される。なお、以上のシーケ
ンス制御プログラム解析処理801で抽出された各デー
タは、ステップNO.及び終了条件名称で検索できる構
造化されたデータとして記憶されるものとする。
FIG. 12 is a detailed flowchart of the processing 905 of end condition analysis for each place in FIG. In this end condition analysis, the step number of the current place is determined based on the def label 711 and the like. Is extracted (processing 120
1) Take out one unprocessed OK condition (process 120
6) Further, an end condition expression 712 and the like are extracted (Process 1).
202). This process is repeated until the OK condition for the place disappears (process 1203). Note that the end condition expression 7
12 and the like are not only conditional expressions defining OKn termination conditions indicating normal termination (hereinafter referred to as OK conditional expressions), but also conditional expressions defining NGn termination conditions indicative of abnormal termination (hereinafter referred to as NG conditional expressions). In this case, processing 1207, 120
4, 1205, it is similarly analyzed. Each data extracted in the above sequence control program analysis processing 801 is stored in step NO. And stored as structured data that can be searched by the end condition name.

【0026】図13は、図8のシーケンス制御中間コー
ド生成処理802の詳細を示すフローチャートである。
シーケンス制御中間コード生成では、まず未処理のユニ
ットを1つ取り出し(処理1311)、通常シーケンス
と高速シーケンスのネット構造、コマンド列、終了条件
のデータをロードする(処理1301、1302)。次
に当該ユニットの中のステップNO.の小さいプレース
のデータを1つ取り出し(処理1312)、これが高速
オプション付きのプレースであれば(処理1303)、
高速シーケンス中間コードバッファを選択し(処理13
05)、高速オプションなしであれば(処理130
3)、通常シーケンス中間コードバッファを選択する
(処理1304)。ここで、中間コードバッファは、ユ
ニット毎に通常シーケンスと高速シーケンスの二つ分用
意されるものとする。次に、1プレース毎の中間コード
を生成し、これをバッファに出力する(処理130
6)。さらに、現プレースよりもステップNO.の大き
いプレースがあれば、処理1312に戻り、同様の処理
を繰り返す(処理1307)。次のプレースがないと
き、現ユニットよりもユニットNO.の大きいユニット
のモジュールがあれば、処理1311に戻り、同様の処
理を繰り返す(処理1308)。以上のように、すべて
のユニットのモジュールについて中間コードを生成した
後、まず、通常シーケンスの中間コードバッファを結合
し、保存する(処理1309)。さらに、高速シーケン
スの中間コードバッファを結合し、保存する(処理13
10)。
FIG. 13 is a flowchart showing details of the sequence control intermediate code generation processing 802 in FIG.
In the sequence control intermediate code generation, one unprocessed unit is first taken out (process 1311), and the data of the net structure, the command sequence, and the end condition of the normal sequence and the high-speed sequence are loaded (processes 1301, 1302). Next, step NO. One of the data of the place with the smaller value (processing 1312), and if this is a place with the high-speed option (processing 1303),
Select the high-speed sequence intermediate code buffer (Process 13
05), if there is no high-speed option (processing 130
3) Select a normal sequence intermediate code buffer (process 1304). Here, it is assumed that two intermediate code buffers are prepared for each unit: a normal sequence and a high-speed sequence. Next, an intermediate code for each place is generated and output to a buffer (processing 130
6). Further, step NO. If there is a place having a larger value, the process returns to step 1312 and the same process is repeated (step 1307). When there is no next place, the unit number is higher than the current unit. If there is a module of a larger unit, the process returns to step 1311 and the same processing is repeated (step 1308). As described above, after generating the intermediate codes for the modules of all the units, first, the intermediate code buffers of the normal sequence are combined and stored (process 1309). Further, the intermediate code buffers of the high-speed sequence are combined and saved (process 13).
10).

【0027】図14は、図13に於ける1プレース毎の
中間コードの生成処理1306の詳細を示すフローチャ
ートである。この処理では、まず1つの前プレースを取
り出し(処理1406)、ネット構造データから現プレ
ースのステップNO.(=i)を獲得する(処理140
1)。次に、ネット構造データから前プレースのステッ
プNO.と終了条件を獲得し、さらに、終了条件データ
から前プレースの終了条件の条件式を獲得する(処理1
402)。つづいてこれらのデータから、まず、中間コ
ードの基本形であるIF文の前半部を生成し、バッファ
に出力する(処理1403)。ここで、"IF Sj == Exec
uting & 条件式 ->"は、「ステップjを実行後、その終
了条件の条件式が成立すれば」を意味する。また、コマ
ンド"TERM Sj" は「ステップSjを終了する」、"EXEC
Si" は「ステップSiを実行する」を意味する。次に、
現プレースSiのコマンド列を、バッファに続けて出力
する(処理1404)。これで前プレース1つについて
の処理を終わり、他にも前プレースがあれば、すなわ
ち、ステップSiの入力側のトランジションが他にもあ
れば、処理1406に戻り、同様の処理を繰り返す(処
理1405)。
FIG. 14 is a flowchart showing details of the intermediate code generation processing 1306 for each place in FIG. In this process, first, one previous place is taken out (process 1406), and the step NO. (= I) (process 140)
1). Next, the step NO. And an end condition, and a conditional expression of the end condition of the previous place is obtained from the end condition data (Process 1).
402). Next, the first half of the IF statement, which is the basic form of the intermediate code, is generated from these data and output to the buffer (process 1403). Where "IF Sj == Exec
"uting & conditional expression->" means "if the conditional expression of the end condition is satisfied after execution of step j". Also, the command "TERM Sj" is "end step Sj", "EXEC
"Si" means "execute step Si". next,
The command string of the current place Si is output to the buffer continuously (process 1404). This completes the processing for one previous place, and if there is another previous place, that is, if there is another transition on the input side of step Si, the process returns to step 1406 and the same processing is repeated (step 1405). ).

【0028】図15は、図7のシーケンス制御プログラ
ム102を中間コード化したものを示す。図7と同様
に、中間コードも通常シーケンスブロック1501と高
速シーケンスブロック1502の二つのブロックで構成
される。ここで、中間コードはIF文1503に示した
ようなIF文を基本形とし、これを集めたものがブロッ
クとなる。
FIG. 15 shows an intermediate code of the sequence control program 102 shown in FIG. Similarly to FIG. 7, the intermediate code is also composed of two blocks, a normal sequence block 1501 and a high-speed sequence block 1502. Here, the intermediate code has an IF sentence as shown in the IF sentence 1503 as a basic form, and a collection of these becomes a block.

【0029】図16は、通常シーケンス中間コードのI
F文から、通常シーケンス制御内部コード104を生成
した例を示す。内部コードは実際はバイナリ形式である
が、図16ではニーモニック形式で表記した。IF文1
601の条件部1602から内部コード1606が、コ
マンド列1603から内部コード1607が生成され
る。このようにIF文1601の内部コードは "STT i"
内部コード1605から始まるブロック1604とな
る。なお、この "STT i"内部コード1605は、内部コ
ードを実行する際に利用される。
FIG. 16 shows the sequence I code of the normal sequence intermediate code.
An example in which the normal sequence control internal code 104 is generated from the F statement is shown. The internal code is actually in a binary format, but is shown in a mnemonic format in FIG. IF statement 1
An internal code 1606 is generated from the condition part 1602 of 601, and an internal code 1607 is generated from the command sequence 1603. Thus, the internal code of IF statement 1601 is "STTi"
A block 1604 starts from the internal code 1605. The "STTi" internal code 1605 is used when executing the internal code.

【0030】図17は、図16に示したような通常シー
ケンス制御内部コード104を生成するための、図8の
処理803の詳細を示すフローチャートである。まず、
通常シーケンスの中間コードをロードし(処理170
1)、次に、中間コードの未処理のIF文を一つずつ取
り出して(処理1709)、条件部"IF Si == ..."から
ステップNO.(=i)を抽出する(処理1702)。
このステップNO.iが前のIF文の条件部と同じでな
ければ(処理1703)、"STT i" 内部コードを生成す
る(処理1704)。次に、条件式から内部コードを生
成し(処理1705)、さらにコマンド列から内部コー
ドを生成する(処理1706)。その後、次のIF文が
あれば、処理1709に戻り、同様の処理を繰り返す
(処理1707)。全てのIF文を処理した後、それぞ
れの"STT" 内部コードが通常シーケンス制御内部コード
104の中のどこにあるかを示すアドレステーブルを生
成する(処理1708)。図18は、図15の通常シー
ケンスブロック1501を内部コード化したものを示
す。IF文1503を内部コード化したものがブロック
1801である。
FIG. 17 is a flowchart showing details of the processing 803 in FIG. 8 for generating the normal sequence control internal code 104 as shown in FIG. First,
The intermediate code of the normal sequence is loaded (processing 170
1) Then, unprocessed IF statements of the intermediate code are extracted one by one (processing 1709), and the step NO. (= I) is extracted (processing 1702).
In this step NO. If i is not the same as the condition part of the previous IF sentence (processing 1703), an "STTi" internal code is generated (processing 1704). Next, an internal code is generated from the conditional expression (processing 1705), and an internal code is generated from the command sequence (processing 1706). Thereafter, if there is the next IF statement, the process returns to step 1709, and the same processing is repeated (step 1707). After processing all IF statements, an address table indicating where each "STT" internal code is in the normal sequence control internal code 104 is generated (processing 1708). FIG. 18 shows a case where the normal sequence block 1501 of FIG. 15 is internally coded. A block 1801 is obtained by internally coding the IF statement 1503.

【0031】図19は、高速シーケンス中間コードのI
F文から、高速シーケンス制御テーブル105を生成し
た例を示す。図19のように、高速シーケンス制御テー
ブル105は、エントリテーブル1906、制御テーブ
ル1907、コマンドリスト1908の三つのデータで
構成されている。エントリテーブル1906は、IF文
の内容を制御テーブル1907に登録する際、制御テー
ブル1907におけるエントリアドレスを記憶するため
のテーブルである。エントリテーブル1906は、ステ
ップNO.を添字とする1次元配列であり、現在のステ
ップNO.から一意に制御テーブル1907のエントリ
アドレスを特定できる。高速シーケンス中間コードに関
係のないステップNO.の場合、エントリテーブル19
06には未登録を意味する値(16進表記でFFFF)
が格納されている。制御テーブル1907には、IF文
の条件部とステップNO.更新に関する処理が格納され
ており、出力側のトランジション数(以下、分岐数)を
格納するフィールド、条件式を格納するフィールド、次
ステップNO.を格納するフィールド、コマンドリスト
1908へのエントリアドレスを格納するフィールドで
構成される。コマンドリスト1908は、IF文のコマ
ンド列を内部コード化して格納するエリアである。各コ
マンド列の終わりが分かるように、終了コード(CmdLis
tEndCode)を付加する。以上のような構成の高速シーケ
ンス制御テーブル105を用いることで、現在のステッ
プNO.に応じた処理を効率良く呼び分けることがで
き、処理時間を短縮することができる。前に述べたよう
に、高速シーケンス制御テーブル105は、割込み処理
によって実行されるが、この割込み処理に要する時間、
すなわち割込み処理時間は、高速シーケンス制御テーブ
ル105を処理する時間によって決定する。システムの
応答性を良くするためには、割込み処理時間を短くし、
さらに割込み周期を短くする必要がある。このため、本
実施例では、以上に述べたような高速シーケンス制御テ
ーブル105を用いた。
FIG. 19 is a diagram showing a high-speed sequence intermediate code I
An example in which the high-speed sequence control table 105 is generated from an F sentence is shown. As shown in FIG. 19, the high-speed sequence control table 105 includes three pieces of data: an entry table 1906, a control table 1907, and a command list 1908. The entry table 1906 is a table for storing an entry address in the control table 1907 when registering the content of the IF statement in the control table 1907. The entry table 1906 contains the step NO. Is a one-dimensional array subscripted with the current step NO. , The entry address of the control table 1907 can be uniquely specified. Step NO. Irrelevant to the high-speed sequence intermediate code , The entry table 19
In 06, a value meaning unregistered (FFFF in hexadecimal notation)
Is stored. In the control table 1907, the condition part of the IF statement and the step NO. A field for updating is stored, a field for storing the number of transitions on the output side (hereinafter, the number of branches), a field for storing a conditional expression, and a next step NO. And a field for storing an entry address to the command list 1908. The command list 1908 is an area in which a command string of an IF statement is internally coded and stored. The end code (CmdLis
tEndCode). By using the high-speed sequence control table 105 configured as described above, the current step NO. Can be called efficiently, and the processing time can be shortened. As described above, the high-speed sequence control table 105 is executed by interrupt processing.
That is, the interrupt processing time is determined by the time for processing the high-speed sequence control table 105. To improve the responsiveness of the system, shorten the interrupt processing time,
Further, it is necessary to shorten the interrupt cycle. Therefore, in the present embodiment, the high-speed sequence control table 105 as described above is used.

【0032】図20は、図19に示したような高速シー
ケンス制御テーブル105を生成するための、図8の処
理804の詳細を示すフローチャートである。以下、図
19を参照しながら、フローチャートの説明を行う。ま
ず、高速シーケンス中間コードをロードし(処理200
1)、未処理のIF文を1つ取り出す(処理201
1)。次に、IF文の条件部の"IF Sj == ..."1902
等(図19)から前プレースのステップNO.(=j)
を抽出し(処理2002)、そのステップNO.jが前
に処理したIF文と同じ値でなければ(処理200
3)、エントリテーブル1906のj番目に、新しくデ
ータを登録する制御テーブル1907のエントリアドレ
スを格納する(処理2004)。ここで、プレース1個
あたりに割り当てられる制御テーブル1907のフィー
ルドの大きさは固定されており、既に登録されているプ
レースの数からエントリアドレスを一意に算出すること
ができるものとする。次に、制御テーブル1907の分
岐数をカウントアップする(処理2005)。分岐数は
新規登録時には0となっており、ある有限個数まで登録
可能なものとする。前述のように、分岐数とは、前プレ
ースの出力側のトランジションのうちで、高速オプショ
ン付きのプレースに入力として接続されるものの個数で
ある。次に、IF文のその他の条件式1903から制御
テーブル1907の条件部を生成する(処理200
6)。制御テーブル1907の条件部は、単純なマッチ
ング処理を用いて高速処理できるように、簡略化したデ
ータ形式(以下、略式コード)にする。このような略式
コード化を可能とするため、IF文の条件式にある程度
の記述上の制約を設けることもある。例えば、条件式の
各辺を単項式に限るなどの制約が考えられる。次に、I
F文のコマンド"EXEC Si" 1904等のステップNO.
iを抽出して、次ステップNO.のフィールドに格納す
る(処理2007)。さらに、残りのコマンド列190
5を格納するためのコマンドリスト1908のエントリ
アドレスを算出し、これを制御テーブル1907のコマ
ンドエントリのフィールドに格納する(処理200
8)。次に、このコマンド列を内部コード化し、コマン
ドリスト1908に格納する(処理2009)。なお、
各コマンド列の内部コードは固定長ではないため、コマ
ンド列の終わりが分かるように、CmdListEndCodeを付加
する。さらに、次のIF文があれば、処理2011に戻
り、同様の処理を繰り返す(処理2010)。
FIG. 20 is a flowchart showing details of the processing 804 of FIG. 8 for generating the high-speed sequence control table 105 as shown in FIG. Hereinafter, the flowchart will be described with reference to FIG. First, the high-speed sequence intermediate code is loaded (processing 200
1), fetch one unprocessed IF statement (Process 201)
1). Next, "IF Sj == ..." 1902 in the condition part of the IF statement
(FIG. 19), the step NO. (= J)
Is extracted (process 2002), and step NO. j is not the same value as the previously processed IF statement (processing 200
3) The entry address of the control table 1907 for newly registering data is stored at the j-th position in the entry table 1906 (process 2004). Here, it is assumed that the size of the field of the control table 1907 allocated per place is fixed, and the entry address can be uniquely calculated from the number of places already registered. Next, the number of branches in the control table 1907 is counted up (process 2005). The number of branches is 0 at the time of new registration, and it is assumed that a certain finite number can be registered. As described above, the number of branches is the number of transitions on the output side of the previous place that are connected as inputs to the place with the high-speed option. Next, a condition part of the control table 1907 is generated from other conditional expressions 1903 of the IF statement (processing 200).
6). The condition part of the control table 1907 has a simplified data format (hereinafter simply referred to as an abbreviated code) so that high-speed processing can be performed using a simple matching process. In order to enable such simplified coding, a conditional description of the IF statement may be restricted to some extent. For example, there may be restrictions such as limiting each side of the conditional expression to a monomial expression. Next, I
Step NO. Such as the command “EXEC Si” 1904 of the F statement.
i, and the next step NO. (Process 2007). Further, the remaining command sequence 190
5 is calculated, and the calculated entry address is stored in the command entry field of the control table 1907 (process 200).
8). Next, this command string is internally coded and stored in the command list 1908 (process 2009). In addition,
Since the internal code of each command sequence is not fixed length, CmdListEndCode is added so that the end of the command sequence can be recognized. Further, if there is a next IF statement, the process returns to the process 2011, and the same process is repeated (process 2010).

【0033】図21は、図15の高速シーケンスブロッ
ク1502から生成したテーブルを示す。ここで、エン
トリテーブル2101に示す通り、制御テーブル210
2に登録されるプレースは3個であり、その中のプレー
スS102の分岐数は2個となる。これは、図5のS1
02の3個の出力トランジションのうち、2個が高速オ
プション付きのプレースに入力として接続されているこ
とに相当する。
FIG. 21 shows a table generated from the high-speed sequence block 1502 in FIG. Here, as shown in the entry table 2101, the control table 210
The number of places registered in 2 is three, and the number of branches of the place S102 therein is two. This corresponds to S1 in FIG.
02 out of the three output transitions, two of which are connected as inputs to places with the high-speed option.

【0034】図22は、図1の通常シーケンス制御内部
コード実行手段106の処理を示すフローチャートであ
る。この通常シーケンス制御内部コード実行手段106
は、コントローラのファームウェアとして提供されるタ
スクの一つであり、コントローラ内にダウンロードされ
る通常シーケンス内部コード104を解釈、実行するこ
とによって、コントローラに接続される機器を制御す
る。
FIG. 22 is a flowchart showing the processing of the normal sequence control internal code execution means 106 of FIG. This normal sequence control internal code execution means 106
Is one of the tasks provided as firmware of the controller, and controls devices connected to the controller by interpreting and executing the normal sequence internal code 104 downloaded into the controller.

【0035】図22に於いてまず、通常シーケンス制御
内部コード実行手段106では、ユニット毎に内部コー
ドのスキャンを行うために、現在のユニットNO.(=
n)を初期化(n=0)する(処理2201)。次に、
nの値を1増加し、次のユニットNO.とする(処理2
202)。なお、ユニット毎に実行中のプレースを示す
現ステップNO.が管理されており、この情報を通常シ
ーケンス制御内部コード実行手段106から参照でき
る。そこで、UNITnの現ステップNO.(=i)を
取得し(処理2203)、"STT i" 内部コードにジャン
プする(処理2204)。このとき、通常シーケンス制
御内部コード104に付随する"STT i" 内部コードのア
ドレステーブルによりジャンプ先のアドレスを求める。
ジャンプ後は次の"STT" 内部コードが現れるまで、内部
コードを順次フェッチし、実行する(処理2205)。
さらに、nが所定の最大値でなく、次のユニットがあれ
ば、処理2202に戻り、同様の処理を繰り返す(処理
2206)。nが最大値、すなわち登録ユニット数に到
達し、次のユニットがなければ、処理2201に戻る
(処理2206)。以上のように、通常シーケンス制御
内部コード104の、ユニット毎の実行中ステップのブ
ロックのみを選択的にスキャンすることにより、スキャ
ンタイムを短縮することができる。
In FIG. 22, the normal sequence control internal code execution means 106 first scans the internal code for each unit. (=
n) is initialized (n = 0) (processing 2201). next,
n is increased by 1 and the next unit No. (Process 2
202). Note that the current step No. indicating the place being executed for each unit. This information can be referred to from the normal sequence control internal code execution means 106. Therefore, the current step NO. (= I) is acquired (process 2203), and the process jumps to the "STTi" internal code (process 2204). At this time, the jump destination address is obtained from the address table of the "STTi" internal code attached to the normal sequence control internal code 104.
After the jump, the internal codes are sequentially fetched and executed until the next "STT" internal code appears (process 2205).
Further, if n is not the predetermined maximum value and there is a next unit, the process returns to the process 2202, and the same process is repeated (process 2206). If n reaches the maximum value, that is, the number of registered units, and there is no next unit, the process returns to step 2201 (step 2206). As described above, the scan time can be reduced by selectively scanning only the block of the currently executing step of each unit of the normal sequence control internal code 104.

【0036】図23、24は、図1の高速シーケンス制
御テーブル処理手段107の処理を示すフローチャート
である。この2つの図は1つのフローチャートを構成
し、図中が2つの図の接続関係を示している。高
速シーケンス制御テーブル処理手段107は、コントロ
ーラのファームウェアとして提供される割込みタスクで
あり、コントローラ内にダウンロードされる高速シーケ
ンス制御テーブル105を処理することで、コントロー
ラに接続される機器を制御する。なお、割込みタスクと
は、一定周期で割込みを入れるタイマや外部入力信号を
きっかけとして起動されるタスクであり、通常シーケン
ス制御内部コード実行手段106のタスクが実行中に優
先的に割込んで実行される。図23、24に於いて、高
速シーケンス制御テーブル処理手段107でも、ユニッ
ト毎にテーブルの処理を行うため、まず、現在のユニッ
トNO.(=n)を初期化する(処理2301)。次
に、nの値を1増加し(処理2302)、UNITnの
現ステップNO.(=i)を取得する(処理230
3)。さらに、エントリテーブル2101のi番目のデ
ータから制御テーブル2102のエントリアドレスを取
得する(処理2304)。次に、制御テーブル2102
の該当アドレスのフィールドから分岐数を取得する(処
理2305)。各分岐毎にテーブルを処理するために、
現在の分岐NO.(=m)を初期化(m=0)する(処
理2306)。mの値を1増加し、次の分岐NO.とす
る(処理2307)。制御テーブル2102の該当フィ
ールドにあるm番目の分岐の条件部の略式コードを評価
し(処理2308)、条件成立ならば(処理230
9)、制御テーブル2102からコマンドリスト210
3のエントリアドレスを取得する(処理2401)。さ
らに、コマンドリスト2103の該当アドレスの内部コ
ードを、CmdListEndCodeが現れるまで順次フェッチし、
実行する(処理2402)。次に、制御テーブル210
2から次ステップNO.を取得し(処理2403)、U
NITnのステップNO.を次ステップNO.に更新す
る(処理2404)。なお、各ユニットの現在のステッ
プNO.は、通常シーケンス制御内部コード実行手段1
06と、高速シーケンス制御テーブル処理手段107の
両方で、参照、書き換えができる共有データとする。こ
のように、通常シーケンス制御内部コード実行手段10
6と、高速シーケンス制御テーブル処理手段107が、
現在実行中のステップNO.を共有することによって、
両者の間で互いにステップのレベルで同期をとることが
可能となる。また、条件不成立ならば(処理230
9)、分岐NO.が分岐数に達しているかどうか、すな
わち次の分岐があるかどうかをチェックし、次の分岐が
あれば、処理2307に戻って同様の処理を繰り返し、
次の分岐がなければ、次のユニットの処理に移る(処理
2310)。最後に、nが最大値でなく、次のユニット
があれば、処理2302に戻って同様の処理を繰り返
し、次のユニットがなければ、ここで割込み処理の1サ
イクルを完了する(処理2405)。
FIGS. 23 and 24 are flowcharts showing the processing of the high-speed sequence control table processing means 107 of FIG. These two figures constitute one flowchart, and the figures show the connection relationship between the two figures. The high-speed sequence control table processing unit 107 is an interrupt task provided as firmware of the controller, and controls devices connected to the controller by processing the high-speed sequence control table 105 downloaded into the controller. Note that the interrupt task is a task that is started by a timer for inputting an interrupt at a constant cycle or an external input signal, and is normally executed by the task of the sequence control internal code execution unit 106 with priority interrupted during execution. You. In FIGS. 23 and 24, the high-speed sequence control table processing means 107 also performs table processing for each unit. (= N) is initialized (step 2301). Next, the value of n is increased by 1 (process 2302), and the current step NO. (= I) is acquired (Step 230)
3). Further, the entry address of the control table 2102 is obtained from the i-th data of the entry table 2101 (processing 2304). Next, the control table 2102
Then, the number of branches is obtained from the field of the corresponding address (step 2305). To process the table for each branch,
Current branch NO. (= M) is initialized (m = 0) (processing 2306). m is increased by 1 and the next branch NO. (Step 2307). The simplified code of the condition part of the m-th branch in the corresponding field of the control table 2102 is evaluated (step 2308), and if the condition is satisfied (step 230)
9), the command list 210 from the control table 2102
3 is obtained (process 2401). Further, the internal code of the corresponding address of the command list 2103 is sequentially fetched until CmdListEndCode appears,
Execute (process 2402). Next, the control table 210
2 to the next step NO. (Process 2403), and U
Step NO. In the next step NO. (Step 2404). In addition, the current step No. of each unit is used. Is a normal sequence control internal code execution means 1
06 and the high-speed sequence control table processing unit 107 are shared data that can be referenced and rewritten. Thus, the normal sequence control internal code execution means 10
6 and the high-speed sequence control table processing means 107
The currently executed step No. By sharing
Both can be synchronized at the step level with each other. If the condition is not satisfied (step 230
9), branch NO. Has been reached, ie, whether there is a next branch. If there is a next branch, the process returns to step 2307 to repeat the same processing.
If there is no next branch, the process moves to the next unit (process 2310). Finally, if n is not the maximum value and there is a next unit, the flow returns to step 2302 to repeat the same processing. If there is no next unit, one cycle of interrupt processing is completed here (step 2405).

【0037】なお、以上の実施の形態では、本実施例で
は、高速シーケンス制御テーブル処理手段107を割込
みで実行される処理として説明したが、高速シーケンス
制御用の別のコントローラに設けて、割込み以外の方法
で処理する場合でも、本発明のシーケンス制御方法が同
様な効果を有することは明らかである。また、高速シー
ケンス制御テーブルに代わって、通常シーケンス制御内
部コード104と同じ形式の高速シーケンス制御内部コ
ードを生成し、これを十分な処理速度を持ったコントロ
ーラで処理するという方法でも、本発明の方法を実現で
きる。
In the above embodiment, the high-speed sequence control table processing means 107 has been described as a process executed by an interrupt in this embodiment. It is apparent that the sequence control method of the present invention has the same effect even when the processing is performed by the method described above. Also, in place of the high-speed sequence control table, a method of generating a high-speed sequence control internal code having the same format as that of the normal sequence control internal code 104 and processing the same by a controller having a sufficient processing speed may be used. Can be realized.

【0038】[0038]

【発明の効果】本発明によれば、一連のシーケンスを記
述する際、高速応答を要するステップをマークで指定す
るだけで、高速シーケンス制御テーブルを自動的に生成
できるので、高速応答を要する処理が混在したシーケン
スを、一連のシーケンスとしての見易さを損なうことな
く、容易に記述することができ、その結果、プログラム
開発効率と保守性を向上することができる効果がある。
According to the present invention, when describing a series of sequences, a high-speed sequence control table can be automatically generated only by designating a step requiring a high-speed response with a mark. A mixed sequence can be easily described without deteriorating the visibility as a series of sequences, and as a result, there is an effect that program development efficiency and maintainability can be improved.

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

【図1】本発明になる高速シーケンス制御方法の処理の
流れを模式的に示すブロック図である。
FIG. 1 is a block diagram schematically showing a processing flow of a high-speed sequence control method according to the present invention.

【図2】プログラマブルコントローラにおけるスキャン
処理のサイクルと、入力信号の状態変化のサイクルの関
係を示すタイミングチャートである。
FIG. 2 is a timing chart showing a relationship between a scan processing cycle and a cycle of a state change of an input signal in the programmable controller.

【図3】図2の入力信号の状態変化のサイクルがスキャ
ンタイムに比べて短い場合を示すタイミングチャートで
ある。
FIG. 3 is a timing chart showing a case where the cycle of the state change of the input signal in FIG. 2 is shorter than the scan time.

【図4】図3の入力信号の状態変化を捕らえるために割
込み処理を併用した場合を示すタイミングチャートであ
る。
FIG. 4 is a timing chart showing a case where an interrupt process is used in combination to capture a change in the state of the input signal of FIG. 3;

【図5】ペトリネット表記によるシーケンス制御プログ
ラムの一例を示す図である。
FIG. 5 is a diagram showing an example of a sequence control program in Petri net notation.

【図6】SFC表記によるシーケンス制御プログラムの
一例を示す図である
FIG. 6 is a diagram showing an example of a sequence control program in SFC notation.

【図7】図5のシーケンス制御プログラムをコード化し
たものを示す図である。
FIG. 7 is a diagram showing a code obtained by coding the sequence control program of FIG. 5;

【図8】シーケンス制御プログラム変換手段の処理を示
すフローチャートである。
FIG. 8 is a flowchart showing processing of a sequence control program conversion unit.

【図9】図8のシーケンス制御プログラム解析の処理を
示すフローチャートである。
FIG. 9 is a flowchart showing a sequence control program analysis process of FIG. 8;

【図10】図9の1プレース毎のネット構造解析の処理
を示すフローチャートである。
FIG. 10 is a flowchart showing a net structure analysis process for each place in FIG. 9;

【図11】図9の1プレース毎のコマンド列解析の処理
を示すフローチャートである。
11 is a flowchart showing a command sequence analysis process for each place in FIG. 9;

【図12】図9の1プレース毎の終了条件解析の処理を
示すフローチャートである。
12 is a flowchart showing a process of analyzing an end condition for each place in FIG. 9;

【図13】図8のシーケンス制御中間コード生成の処理
を示すフローチャートである。
FIG. 13 is a flowchart showing a sequence control intermediate code generation process of FIG. 8;

【図14】図13の1プレース毎の中間コード生成の処
理を示すフローチャートである。
FIG. 14 is a flowchart showing a process of generating an intermediate code for each place in FIG. 13;

【図15】図7のシーケンス制御プログラムから生成し
た中間コードを示す図である。
FIG. 15 is a diagram showing an intermediate code generated from the sequence control program of FIG. 7;

【図16】通常シーケンス中間コードから通常シーケン
ス制御内部コードを生成した例を示す図である。
FIG. 16 is a diagram illustrating an example in which a normal sequence control internal code is generated from a normal sequence intermediate code.

【図17】図8の通常シーケンス制御内部コード生成の
処理を示すフローチャートである。
FIG. 17 is a flowchart showing a process of generating a normal sequence control internal code in FIG. 8;

【図18】図15の通常シーケンスブロックから生成し
た内部コードを示す図である。
FIG. 18 is a diagram showing an internal code generated from the normal sequence block of FIG.

【図19】高速シーケンス中間コードから高速シーケン
ス制御テーブルを生成した例を示す図である。
FIG. 19 is a diagram illustrating an example in which a high-speed sequence control table is generated from a high-speed sequence intermediate code.

【図20】図8の高速シーケンス制御テーブル生成の処
理を示すフローチャートである。
FIG. 20 is a flowchart showing processing for generating a high-speed sequence control table in FIG. 8;

【図21】図15の高速シーケンスブロックから生成し
たテーブルを示す図である。
FIG. 21 is a diagram showing a table generated from the high-speed sequence block in FIG.

【図22】通常シーケンス制御内部コード実行手段の処
理を示すフローチャートである。
FIG. 22 is a flowchart showing processing of a normal sequence control internal code execution means.

【図23】高速シーケンス制御テーブル処理手段の処理
を示すフローチャートである。
FIG. 23 is a flowchart showing the processing of the high-speed sequence control table processing means.

【図24】図23のフローチャートの続きである。FIG. 24 is a continuation of the flowchart in FIG. 23;

【符号の説明】[Explanation of symbols]

101 シーケンス制御プログラム編集手段 102 シーケンス制御プログラム 103 シーケンス制御プログラム変換手段 104 通常シーケンス制御内部コード 105 高速シーケンス制御テーブル 106 通常シーケンス制御内部コード実行手段 107 高速シーケンス制御テーブル処理手段 501 プレース 502、503、504 トランジション 505 高速オプション付きのプレース 601 SFCにおける高速オプション付きのステップ
要素 701 通常シーケンスブロック 702 高速シーケンスブロック 703 #INTERRUPT文 704 cellブロック 705 defブロック 706 "cell"文 707 "def"文 708 cellラベル 709 遷移条件式 710 コマンド列 711 defラベル 712 終了条件式 1501 通常シーケンスブロック 1502 高速シーケンスブロック 1503 中間コードのIF文 1601 中間コードのIF文 1602 条件部 1603 コマンド列 1604 内部コードのブロック 1605、1606、1607 内部コード 1801 内部コードのブロック 1901 中間コードのIF文 1902、1903 条件部 1904、1905 コマンド列 1906 エントリテーブル 1907 制御テーブル 1908 コマンドリスト 2101 エントリテーブル 2102 制御テーブル 2103 コマンドリスト
101 Sequence control program editing means 102 Sequence control program 103 Sequence control program conversion means 104 Normal sequence control internal code 105 High-speed sequence control table 106 Normal sequence control internal code execution means 107 High-speed sequence control table processing means 501 Place 502, 503, 504 Transition 505 Place with high-speed option 601 Step element with high-speed option in SFC 701 Normal sequence block 702 High-speed sequence block 703 #INTERRUPT statement 704 cell block 705 def block 706 "cell" statement 707 "def" statement 708 cell label 709 Transition condition expression 710 Command sequence 711 def label 712 End condition expression 1501 Normal sequence Lock 1502 High-speed sequence block 1503 IF statement of intermediate code 1601 IF statement of intermediate code 1602 Condition part 1603 Command string 1604 Block of internal code 1605, 1606, 1607 Internal code 1801 Block of internal code 1901 IF statement of intermediate code 1902, 1903 Condition Part 1904, 1905 Command string 1906 Entry table 1907 Control table 1908 Command list 2101 Entry table 2102 Control table 2103 Command list

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 シーケンス制御プログラムの各ステップ
のうち、高速処理を必要とするステップにマークを付加
し、前記マークが付加された高速ステップと前記マーク
が付加されていない通常ステップを分離して高速及び通
常中間コードを生成し、さらに前記各中間コードから高
速実行プログラム及び通常実行プログラムを生成し、前
記高速実行プログラムと通常実行プログラムとの間で実
行中ステップの同期をとりながら前記高速実行プログラ
ムを実行するようにしたことを特徴とする高速シーケン
ス制御方法。
A mark is added to a step requiring high-speed processing among steps of a sequence control program, and a high-speed step to which the mark is added and a normal step to which the mark is not added are separated. And generating a normal intermediate code, further generating a high-speed execution program and a normal execution program from each of the intermediate codes, and synchronizing the steps during execution between the high-speed execution program and the normal execution program to execute the high-speed execution program. A high-speed sequence control method characterized by being executed.
【請求項2】 前記高速実行プログラムは、前記高速ス
テップのコマンド列を格納するためのコマンドリスト
と、現在のステップの終了条件、次に実行するステップ
の番号、及び前記コマンドリストの次に実行されるコマ
ンド列のエントリアドレスを格納するための制御テーブ
ルと、各ステップの前記制御テーブルのエントリアドレ
スを格納するためのエントリテーブルとから構成された
高速シーケンス制御テーブルであることを特徴とする請
求項1に記載の高速シーケンス制御方法。
2. The high-speed execution program includes a command list for storing a command sequence of the high-speed step, an end condition of a current step, a step number to be executed next, and a command list to be executed next to the command list. 2. A high-speed sequence control table comprising a control table for storing an entry address of a command string to be stored and an entry table for storing an entry address of the control table in each step. 2. The high-speed sequence control method according to 1.
【請求項3】 前記高速実行プログラムと通常実行プロ
グラムを同一のプロセッサにより処理するとともに、前
記高速実行プログラムは前記プロセッサへの割り込みに
より実行されることを特徴とする請求項1に記載の高速
シーケンス制御方法。
3. The high-speed sequence control according to claim 1, wherein the high-speed execution program and the normal execution program are processed by the same processor, and the high-speed execution program is executed by interruption to the processor. Method.
【請求項4】 シーケンス制御プログラムの作成方法で
あって、シーケンス制御プログラムの各ステップのう
ち、高速処理を必要とするステップマークを付加するこ
とを特徴とするシーケンス制御プログラムの作成方法。
4. A method for creating a sequence control program, wherein a step mark requiring high-speed processing is added to each step of the sequence control program.
【請求項5】 前記シーケンス制御プログラムはペトリ
ネットもしくはSFCによって記述され、前記マークは
ペトリネットのプレースもしくはSFCのステップ要素
に付加される記号であることを特徴とする請求項4に記
載の高速シーケンス作成方法。
5. The high-speed sequence according to claim 4, wherein the sequence control program is described by a Petri net or SFC, and the mark is a symbol added to a Petri net place or an SFC step element. How to make.
【請求項6】 請求項4に記載のシーケンス制御プログ
ラムの作成方法により作成されたシーケンス制御プログ
ラムを用いて高速シーケンス制御を行うための高速シー
ケンス制御装置であって、 前記マークが付加された高速ステップと前記マークが付
加されていない通常ステップを分離して高速及び通常中
間コードを生成するための中間コード生成手段と、 前記各中間コードから高速実行プログラム及び通常実行
プログラムを生成するための実行プログラム生成手段
と、 前記高速実行プログラムと通常実行プログラムとの間で
実行中ステップの同期をとりながら前記高速実行プログ
ラムを実行するためのプロセッサと、 を備えたことを特徴とする高速シーケンス制御装置。
6. A high-speed sequence control apparatus for performing high-speed sequence control using a sequence control program created by the method for creating a sequence control program according to claim 4, wherein the high-speed step to which the mark is added is provided. Intermediate code generating means for generating a high-speed and normal intermediate code by separating a normal step to which the mark is not added, and generating an execution program for generating a high-speed execution program and a normal execution program from each intermediate code And a processor for executing the high-speed execution program while synchronizing the steps being executed between the high-speed execution program and the normal execution program.
【請求項7】 前記プロセッサは前記高速実行プログラ
ムと合わせて前記通常実行部を実行するとともに、前記
高速実行プログラムを前記プロセッサへの割り込みによ
り起動するための割り込み手段を備えたことを特徴とす
る請求項6に記載の高速シーケンス制御装置。
7. The processor according to claim 1, wherein the processor executes the normal execution unit together with the high-speed execution program, and includes an interrupt unit for activating the high-speed execution program by interrupting the processor. Item 7. A high-speed sequence control device according to item 6.
【請求項8】 前記高速実行プログラムと通常実行プロ
グラムが実行中ステップの番号を共有するための記憶手
段を設けたことを特徴とする請求項6に記載の高速シー
ケンス制御装置。
8. The high-speed sequence control device according to claim 6, further comprising storage means for sharing the number of the step being executed by the high-speed execution program and the normal execution program.
JP10375997A 1997-04-22 1997-04-22 High-speed sequence control method and apparatus, program creation method Expired - Fee Related JP3554651B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10375997A JP3554651B2 (en) 1997-04-22 1997-04-22 High-speed sequence control method and apparatus, program creation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10375997A JP3554651B2 (en) 1997-04-22 1997-04-22 High-speed sequence control method and apparatus, program creation method

Publications (2)

Publication Number Publication Date
JPH10293604A true JPH10293604A (en) 1998-11-04
JP3554651B2 JP3554651B2 (en) 2004-08-18

Family

ID=14362459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10375997A Expired - Fee Related JP3554651B2 (en) 1997-04-22 1997-04-22 High-speed sequence control method and apparatus, program creation method

Country Status (1)

Country Link
JP (1) JP3554651B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058447A (en) * 2005-08-23 2007-03-08 Kimura Unity Co Ltd Modeling method of control target system based on extended petri net and controller based on extended petri net
JP2015187894A (en) * 2009-09-21 2015-10-29 フィッシャー−ローズマウント システムズ,インコーポレイテッド Methods and apparatus to manage module run sequences in process control environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058447A (en) * 2005-08-23 2007-03-08 Kimura Unity Co Ltd Modeling method of control target system based on extended petri net and controller based on extended petri net
JP2015187894A (en) * 2009-09-21 2015-10-29 フィッシャー−ローズマウント システムズ,インコーポレイテッド Methods and apparatus to manage module run sequences in process control environment

Also Published As

Publication number Publication date
JP3554651B2 (en) 2004-08-18

Similar Documents

Publication Publication Date Title
US9916145B2 (en) Utilizing special purpose elements to implement a FSM
JP2004341671A (en) Information processing system, control method, control program and recording medium
JP3554651B2 (en) High-speed sequence control method and apparatus, program creation method
US6086624A (en) Simulator and simulation method in each of which simulation can be carried out at a high-speed
JP5041990B2 (en) Software component extraction support device
JP7338922B2 (en) Method and apparatus for processing and executing heterogeneous embedded tabularized motion processes
JP7183877B2 (en) Graph display device, graph display method, and graph display program
JP2529429B2 (en) Programmable controller
JP3910831B2 (en) Program development support device, recording medium, and program
JP5253115B2 (en) Program conversion device, program analysis device, program conversion method, program analysis method, and program
JP3352871B2 (en) Programmable controller
Galinec et al. A mixed synchronous-asynchronous approach for digital signal processing
JP2765911B2 (en) Data driven control method and compiling device
JPH0667864A (en) Method for automatically preparing/updating manual or the like
JPH04248624A (en) Program conversion processor
JPH1078866A (en) System for automatically preparing program project book
EP0474725B1 (en) Process control
JP2005157827A (en) Method and device for creating program
JPH06332684A (en) Program correction supporting device
JPH09160611A (en) Programmable controller
JPH05158706A (en) Optimization processing system for intermediate language
JP2000339149A (en) State transition model preparation method and its device
JPH04116756A (en) Dynamic link system for user definition command in application
JPH0561687A (en) Processing system for compiler
JPH0575841U (en) Program converter

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Written amendment

Effective date: 20040323

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20040427

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040510

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080514

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees