JPH0651816A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JPH0651816A
JPH0651816A JP20780292A JP20780292A JPH0651816A JP H0651816 A JPH0651816 A JP H0651816A JP 20780292 A JP20780292 A JP 20780292A JP 20780292 A JP20780292 A JP 20780292A JP H0651816 A JPH0651816 A JP H0651816A
Authority
JP
Japan
Prior art keywords
reset
transition condition
program
user program
chart
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
JP20780292A
Other languages
Japanese (ja)
Other versions
JP3328686B2 (en
Inventor
Shunji Kuwa
俊司 桑
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP20780292A priority Critical patent/JP3328686B2/en
Publication of JPH0651816A publication Critical patent/JPH0651816A/en
Application granted granted Critical
Publication of JP3328686B2 publication Critical patent/JP3328686B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To perform stop and reset processing for any arbitrary process part easily for a user by designating one reset object process among processes at least and executing the reset processing to the designated reset object process. CONSTITUTION:A reset object process table to store the process number of the reset object process is stored in a memory to be read/written by the user. The leading address of that table is designated by an operand, and how many process numbers of the reset object process stored in the table are reset is designated by the other operand. Namely, when the contact of a contact number 00012 is turned on, processes corresponding to process numbers 0010, 0015 and 0068 stored for 3H from 1000CH in the reset object process table, namely, processes 10, 15 and 60 are stopped and reset. Thus, a processing program is reset from a process information table corresponding to the process number.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、工程歩進型言語(S
FC言語)により記述されたユーザプログラムに基づき
各工程に対応する処理を順次実行するプログラマブルコ
ントローラに関し、特に指定された複数の工程もしくは
指定されたチャートに対して選択的にリセット処理を実
行できるようにしたプログラマブルコントローラに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention
A programmable controller for sequentially executing processing corresponding to each process based on a user program described in the FC language), and particularly for enabling a reset process to be selectively executed for a plurality of designated processes or a designated chart. Programmable controller.

【0002】[0002]

【従来の技術】近年、プログラマブルコントローラが普
及し、現在ではこのプログラマブルコントローラは複雑
高度な制御分野まで利用されるようになってきている。
そして、これにともないプログラマブルコントローラ自
体も多機能化、大型化し、ユーザプログラムに用いられ
るプログラミング言語も様々な形式の言語が使用されて
いる。
2. Description of the Related Art In recent years, programmable controllers have come into widespread use, and these programmable controllers are now being used in complicated and sophisticated control fields.
Along with this, the programmable controller itself has become multifunctional and large in size, and various programming languages have been used for user programs.

【0003】しかし、従来のプログラマブルコントロー
ラにあっては、プログラミング言語として、ロジック制
御を主対象とした様々な形式の言語が使用されているも
のの、最近のシステムの大型化、複雑高度化に対しては
十分対応できているとはいい難く、また、プログラミン
グ言語の品質管理や再利用等の観点から一般的ソフトウ
エア工学の考え方にも追従できないという問題があっ
た。
However, in the conventional programmable controller, although various types of languages mainly used for logic control are used as programming languages, in response to the recent increase in size and complexity of the system. It is hard to say that is sufficiently compatible, and there is a problem that it cannot follow the general idea of software engineering from the viewpoint of quality control and reuse of programming languages.

【0004】そこで、IEC(International Electrot
echnical Commissin)はプログラマブルコントローラの
プログラミング言語の見直しを行い、従来のラダー言語
による記述形式に工程歩進動作が表現でき、構造化プロ
グラミングが可能な工程歩進型言語(Sequential Funct
ion Chart)(以下これをSFC言語という)を提唱し、
その規格案をまとめた。
Therefore, the IEC (International Electrot
echnical Commissin) has reviewed the programming language of the programmable controller and can express the process step motion in the description format of the conventional ladder language, and it is a process step language (Sequential Funct) that enables structured programming.
Ion Chart) (hereinafter referred to as SFC language),
The standard draft is summarized.

【0005】このSFC言語は、プログラマブルコント
ローラのプログラムを、多数の「工程」に分割し、さら
にこの各「工程」に1つまたは複数の「処理」を関係付
けてプラミングする一種のグラフィック言語であり、工
程歩進型の制御を基本とするものである。このSFC言
語によるプログラムは、各「工程」間に挿入される「遷
移条件」と、各「工程」に関係付けられた「処理」とを
組み合わせていくことによりプログラムを記述する。
The SFC language is a kind of graphic language in which a program of a programmable controller is divided into a number of "processes", and one or more "processes" are associated with each "process" and plumbed. It is based on step-step control. The program in the SFC language is described by combining a "transition condition" inserted between each "process" and a "process" associated with each "process".

【0006】ところで、この種の工程歩進型言語(SF
C言語)により記述されたユーザプログラムを採用する
プログラマブルコントローラにおいては、システムの大
型化、複雑化が進むにつれて、フェールセーフの重要性
が注目され、アプリケーション自身も大型化、複雑化す
るほど、それに付随する非常停止等の自己診断動作をユ
ーザプログラム内に組み込む場合が多くなっている。
[0006] By the way, this kind of process-progressive language (SF
In a programmable controller that employs a user program written in C), the importance of fail-safe is paid attention as the system becomes larger and more complicated, and as the application itself becomes larger and more complicated, it accompanies it. In many cases, a self-diagnosis operation such as emergency stop is incorporated in the user program.

【0007】[0007]

【発明が解決しようとする課題】ところで、工程歩進型
言語(SFC言語)により記述されたユーザプログラム
においては、プログラム全体を工程単位で分割かつ体系
化でき、設計および保守作業において効率化は図れるも
のの、工程単位で分割できるがゆえに、ある事象に合わ
せて独立して実行処理されている複数の工程に対して任
意のタイミングで停止をかけるようなアプリケーション
が必要となっている。
By the way, in the user program written in the step-progressive language (SFC language), the entire program can be divided and systematized in process steps, and efficiency can be improved in design and maintenance work. However, since the process can be divided into process units, an application that suspends a plurality of processes that are independently executed according to a certain event at an arbitrary timing is required.

【0008】また、1つのプログラムで複数の独立した
プロセスを並列処理するようなアプリケーションを設計
する場合、このプロセスを独立したチャートとしてプロ
グラムする方法が提案されている。この場合、I/O制
御およびデータ処理のためのプログラムの実行/非実行
を規制するこのプログラムに関連する工程の活性/非活
性をユーザプログラムにおいて制御する方法がとられ、
これは工程間遷移条件を操作(成立/不成立)すること
により可能となる。
Further, when designing an application in which a plurality of independent processes are processed in parallel by one program, a method of programming these processes as independent charts has been proposed. In this case, a method of controlling in a user program the activation / deactivation of a process related to this program that regulates the execution / non-execution of the program for I / O control and data processing,
This is possible by operating (establishing / not establishing) the transition condition between steps.

【0009】ただし、従来のSFC言語により記述され
たユーザプログラムにおいてそのような動作を実現する
ためには、独立して記述されている工程をリセット動作
のためにチャートとしてつなぎ、かつ非常停止の監視結
果を遷移条件として組み込まねばならない。この種類の
言語は正常動作フローの記述がいかにグラフィカルに表
現されるかで、わかりやすさや効率面でのメリットが生
まれる。ところが、この正常動作のフローに先にのべた
方法で正常動作とは直接関係ない工程をつなぐことによ
り非常停止のための動作を付加していくことは、実現面
としても非常に困難なことであり、現実的には不可能に
近い。その上、チャートの組み方だけでは厳密にみて複
数工程に対する同時の停止、リセットも同様の理由で実
現困難である。
However, in order to realize such an operation in the user program described in the conventional SFC language, the steps described independently are connected as a chart for the reset operation, and the emergency stop is monitored. The result must be included as a transition condition. This kind of language has advantages in terms of intelligibility and efficiency depending on how the description of the normal operation flow is graphically expressed. However, it is very difficult to add an operation for an emergency stop by connecting the steps that are not directly related to the normal operation to the normal operation flow by the method described above. Yes, it is almost impossible. Moreover, strictly speaking, it is difficult to realize simultaneous stopping and resetting for a plurality of processes for the same reason, only by assembling the chart.

【0010】さらに、上記従来の方法によると、 1)プログラムの全体の実行を停止させることなく、い
ずれかのプロセスのみを停止およびリセットさせること
ができない。
Further, according to the above-mentioned conventional method, 1) it is not possible to stop and reset only one of the processes without stopping the entire execution of the program.

【0011】2)ある外部要因によりI/O制御および
データ処理のためのプログラムを停止させるためには、
工程自身を非活性にさせなければならない。つまり、そ
の工程を次工程に遷移させなければならないということ
である。例えば、非常停止の場合、上記従来の方法はそ
の工程自身の停止という意味からは外れる。
2) In order to stop the programs for I / O control and data processing due to some external factor,
The process itself must be deactivated. In other words, that process must be transitioned to the next process. For example, in the case of an emergency stop, the above conventional method does not mean that the process itself is stopped.

【0012】3)繊細で、複雑な制御を表わすために
は、プログラムの冗長化がともない、工程歩進型言語の
メリットである可視性の高さを損なうことになる。つま
り、停止およびリセットが必要な工程すべてに対して非
常停止を監視するためのプログラムが必要となるという
ことである。また、プログラムの容量面からみてもその
冗長的な部分のプログラミングのための容量増加を生
み、そのための作業工数も余分に要することになる。ま
た、実行速度の面からみても同様の問題を生ずる。
3) In order to express delicate and complicated control, the redundancy of the program is accompanied, and the high visibility, which is an advantage of the step-progressive language, is impaired. In other words, a program is required to monitor the emergency stop for all processes that require stop and reset. Further, in terms of the capacity of the program, the capacity for programming the redundant portion is increased, and an extra man-hour is required for that purpose. Further, the same problem occurs in terms of execution speed.

【0013】そこで、この発明は、プログラム全体を停
止させることなく、並列して処理されている複数のプロ
セスの内の任意の工程部分に対する停止およびリセット
処理をユーザによって簡単に実現できるようにしたプロ
グラマブルコントローラを提供することを目的とする。
In view of this, the present invention is a programmable program that allows a user to easily implement stop and reset processing for an arbitrary process portion of a plurality of processes being processed in parallel without stopping the entire program. It is intended to provide a controller.

【0014】[0014]

【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、工程歩進型言語(SFC言語)
により記述されたユーザプログラムに基づき各工程に対
応する処理を順次実行するプログラマブルコントローラ
において、上記工程の内の少なくとも1つのリセット対
象工程を指定するリセット対象工程指定手段と、上記リ
セット対象工程指定手段により指定されたリセット対象
工程に対してリセット処理を実行するリセット手段と、
を具備したことを特徴とする。
In order to achieve the above-mentioned object, the invention of claim 1 is a step progress language (SFC language).
In a programmable controller that sequentially executes processing corresponding to each process based on the user program described by, the reset target process designating unit designating at least one reset target process among the processes, and the reset target process designating unit. Reset means for executing the reset process for the designated reset target process,
Is provided.

【0015】また、請求項2の発明は、工程歩進型言語
(SFC言語)により記述されたユーザプログラムに基
づき各工程に対応する処理を順次実行するプログラマブ
ルコントローラにおいて、上記ユーザプログラムをそれ
ぞれ独立した複数のチャートに分割する分割手段と、上
記分割手段により分割した複数のチャートの内の任意の
チャートを指定するチャート指定手段と、上記チャート
指定手段で指定されたチャートに対して選択的にリセッ
ト処理を実行するリセット手段と、を具備したことを特
徴とする。
According to a second aspect of the present invention, in the programmable controller that sequentially executes the process corresponding to each process based on the user program described in the process step language (SFC language), the user programs are independent of each other. Dividing means for dividing into a plurality of charts, chart specifying means for specifying an arbitrary chart among the plurality of charts divided by the dividing means, and selective reset processing for the chart specified by the chart specifying means And a resetting means for executing.

【0016】[0016]

【作用】請求項1の発明においては、リセット対象工程
指定手段により複数の工程の内の任意のリセット対象工
程を指定し、リセット手段によりリセット対象工程指定
手段により指定されたリセット対象工程に対してリセッ
ト処理を実行する。
According to the invention of claim 1, the reset target process designating means designates an arbitrary reset target process among a plurality of processes, and the reset target process designates the reset target process designated by the reset target process designating means. Perform reset processing.

【0017】また、請求項2の発明においては、ユーザ
プログラムをそれぞれ独立した複数のチャートに分割
し、チャート指定手段により上記分割した複数のチャー
トの内の任意のチャートを指定し、リセット手段によ
り、上記チャート指定手段で指定されたチャートに対し
て選択的にリセット処理を実行する。
In the invention of claim 2, the user program is divided into a plurality of independent charts, an arbitrary chart is designated by the chart designating means by the chart designating means, and the resetting means is constituted by the resetting means. The reset process is selectively executed on the chart designated by the chart designation means.

【0018】[0018]

【実施例】以下、図面を参照してこの発明に係わるプロ
グラマブルコントローラの実施例を詳細に説明する。
Embodiments of a programmable controller according to the present invention will be described in detail below with reference to the drawings.

【0019】図1は、この発明に係わるプログラマブル
コントローラの一実施例を示したものである。図1に示
すプログラマブルコントローラ100は、バス10にC
PU(中央演算処理装置)11、4つのユーザプログラ
ムメモリ1〜4、I/Oメモリ(入出力メモリ)12、
システムプログラムメモリ13、ワークメモリ14を接
続して構成され、バス10はi/f(インターフェー
ス)16を介してI/O(入出力回路)17に接続され
ている。
FIG. 1 shows an embodiment of a programmable controller according to the present invention. The programmable controller 100 shown in FIG.
PU (central processing unit) 11, four user program memories 1 to 4, I / O memory (input / output memory) 12,
The system program memory 13 and the work memory 14 are connected to each other, and the bus 10 is connected to an I / O (input / output circuit) 17 via an i / f (interface) 16.

【0020】ここで、ユーザプログラムメモリ1〜4は
ユーザプログラム情報(1)〜(4)を格納するもの
で、ユーザプログラムメモリ1に格納されるユーザプロ
グラム情報(1)は、各工程に対応した複数の工程情報
テーブルおよび各工程情報テーブルの先頭アドレス(工
程情報テーブルベクタ)を含み、ユーザプログラムメモ
リ2に格納されるユーザプログラム情報(2)は、各遷
移条件に対応した複数の遷移条件テーブルおよび各遷移
条件テーブルの先頭アドレス(遷移条件テーブルベク
タ)を含み、ユーザプログラムメモリ3に格納されるユ
ーザプログラム情報(3)は、各工程の処理に対応した
複数の処理プログラムおよび各処理プログラムの先頭ア
ドレス(処理プログラムベクタ)を含み、ユーザプログ
ラムメモリ4に格納されるユーザプログラム情報(4)
は、各遷移条件に対応した複数の遷移条件プログラムお
よび各遷移条件プログラムの先頭アドレス(遷移条件プ
ログラムベクタ)を含んでいる。
Here, the user program memories 1 to 4 store user program information (1) to (4), and the user program information (1) stored in the user program memory 1 corresponds to each process. The user program information (2) including a plurality of process information tables and the start address (process information table vector) of each process information table and stored in the user program memory 2 includes a plurality of transition condition tables corresponding to each transition condition and The user program information (3) including the start address of each transition condition table (transition condition table vector) and stored in the user program memory 3 is a plurality of processing programs corresponding to the processing of each process and the start address of each processing program. (Processing program vector) and stored in the user program memory 4. That the user program information (4)
Includes a plurality of transition condition programs corresponding to each transition condition and the start address (transition condition program vector) of each transition condition program.

【0021】また、I/Oメモリ12はi/f16を介
して入力もしくは出力されたI/O17の状態を記憶し
ており、システムプログラムメモリ13は、CPU11
を制御するためのシステムプログラムを格納しており、
ワークメモリ14は、このプログラマブルコントローラ
100全体の制御を行うためのワークエリアとして用い
られるものである。
The I / O memory 12 stores the state of the I / O 17 input or output via the i / f 16, and the system program memory 13 includes the CPU 11
It stores the system program for controlling
The work memory 14 is used as a work area for controlling the entire programmable controller 100.

【0022】CPU11は、マイクロプロセッサより構
成され、ユーザプログラムメモリ1〜4に記憶されたユ
ーザプログラム情報(1)〜(4)およびI/Oメモリ
12に記憶されたI/O17の状態を参照し、システム
プログラムメモリ13に格納されたシステムプログラム
に基づきワークメモリ14のワークエリアを用いて所望
のプログラマブル制御を実行する。
The CPU 11 is composed of a microprocessor and refers to the user program information (1) to (4) stored in the user program memories 1 to 4 and the state of the I / O 17 stored in the I / O memory 12. A desired programmable control is executed using the work area of the work memory 14 based on the system program stored in the system program memory 13.

【0023】なお、図1に示した構成においては、ユー
ザプログラムメモリとして4つのメモリ1〜4を設けて
いるが、これを1つにまとめてもよい。
Although the four memories 1 to 4 are provided as the user program memory in the configuration shown in FIG. 1, these may be combined into one.

【0024】次に、図1に示した実施例の詳細構成につ
いて説明するが、この図1に示した実施例の詳細構成の
説明の前に、この実施例のプログラマブルコントローラ
100で用いられる工程歩進型言語(SFC)による工
程歩進型プログラムの概要について簡単に説明する。
Next, the detailed structure of the embodiment shown in FIG. 1 will be described. Before describing the detailed structure of the embodiment shown in FIG. 1, the process steps used in the programmable controller 100 of this embodiment will be described. A brief description will be given of an outline of the step-progressing program in the progressive language (SFC).

【0025】図2から図7は工程歩進型言語(SFC)
による工程歩進型プログラムの一例を示すものである。
図2はこの工程歩進型プログラムの全体チャートを示
し、図3から図7はこの工程歩進型プログラムの全体チ
ャートの部分詳細チャートを示す。
2 to 7 show a step progress language (SFC)
2 shows an example of a step progress type program according to the above.
FIG. 2 shows an overall chart of the step-progressing type program, and FIGS. 3 to 7 show partial detailed charts of the overall chart of the step-progressing type program.

【0026】工程歩進型言語(SFC)は、プログラム
全体を多数の「工程」(図2においてこれをAで示す)
に分割するとともに、1つの「工程」を1つまたは複数
の「処理」に分割した形でプログラムしていくグラフィ
ック言語で、工程歩進型の制御を基本とする。すなわ
ち、図2に示すように、各「工程」間に挿入される「遷
移条件」(図2においてこれをCで示す)と各「工程」
に付随する「処理」とを組み合わせていくことでプログ
ラムを記述する。なお、図2において「工程」および
「処理」はそれぞれ箱状の形でグラフィック表示し、
「遷移条件」は横線でグラフィック表示している。
A step-progressive language (SFC) is a program that has a number of "steps" (shown as A in FIG. 2) throughout the program.
Is a graphic language in which one "process" is divided into one or a plurality of "processes" and is programmed, and the process step control is basically used. That is, as shown in FIG. 2, a “transition condition” (which is indicated by C in FIG. 2) inserted between each “process” and each “process”.
A program is described by combining the "processing" associated with. In addition, in FIG. 2, “process” and “processing” are graphically displayed in a box shape,
The "transition condition" is graphically displayed by a horizontal line.

【0027】箱状の形でグラフィック表示する「工程」
は、アクティブ(活性)またはインアクティブ(不活
性)の論理状態を有している。「工程」がアクティブ状
態のときは、その「工程」に関連する「処理」を順に実
行していく。これに対し、「工程」がインアクティブ状
態のときはその「工程」に関連する「処理」を実行しな
い。また、その「工程」に関連する「処理」が存在しな
い場合は、その「工程」に関連する「遷移条件」が成立
するまで「待ち」の状態となる。ここで、「工程」はそ
れぞれ固有の「工程番号」を有し、同じ「工程番号」を
有する「工程」を複数設けることはできない。また、
「工程番号」のない「工程」も存在しない。
"Process" that graphically displays in the shape of a box
Has a logic state of active (active) or inactive (inactive). When the “process” is in the active state, the “processing” related to the “process” is sequentially executed. On the other hand, when the "process" is in the inactive state, the "processing" related to the "process" is not executed. If there is no "process" associated with the "process", the state is "waiting" until the "transition condition" associated with the "process" is established. Here, each “process” has a unique “process number”, and a plurality of “processes” having the same “process number” cannot be provided. Also,
There is no "process" without a "process number".

【0028】「処理」は「工程」に関連し、「処理」が
1つも関連していない「工程」は、アクティブ状態にな
っても何も動作しない「ダミー工程」として使用でき
る。「処理」は、その「処理」が関連する「工程」のア
クティブ状態またはインアクティブ状態に応じてオンオ
フされる。この「処理」も固有の「処理番号」を有し、
同じ「処理番号」を有する「処理」を複数設けることは
できない。また、「処理番号」のない「処理」も存在し
ない。
A "process" is related to a "process", and a "process" to which no "process" is related can be used as a "dummy process" in which no operation is performed even in the active state. The “process” is turned on / off according to the active state or inactive state of the “process” to which the “process” is related. This "process" also has a unique "process number",
Multiple "processes" having the same "process number" cannot be provided. Also, there is no "process" without a "process number".

【0029】「遷移条件」は、「工程」と「工程」との
間に1つだけ存在し、「工程」と「工程」との間の「接
続条件」を表わす。そして、アクティブ状態にある「工
程」の下の「遷移条件」が満たされたとき、このアクテ
ィブ状態にある「工程」はインアクティブ状態となり、
次の「工程」がアクティブ状態となる。このように「遷
移条件」は「工程」から「工程」への制御の流れをコン
トロールする役割を果たす。この「遷移条件」も固有の
「遷移条件番号」を有し、同じ「遷移条件番号」を有す
る「遷移条件」を複数設けることはできない。また、
「遷移条件番号」のない「遷移条件」も存在しない。
There is only one "transition condition" between "process" and "process", and represents "connection condition" between "process" and "process". When the "transition condition" under the "process" in the active state is satisfied, the "process" in the active state becomes the inactive state,
The next "process" becomes active. In this way, the “transition condition” plays a role of controlling the flow of control from the “process” to the “process”. This "transition condition" also has a unique "transition condition number", and a plurality of "transition conditions" having the same "transition condition number" cannot be provided. Also,
There is no "transition condition" without a "transition condition number".

【0030】ところで、図2に示す全体チャートは「工
程」として工程1から工程10までを含み、「処理」と
して処理1から処理11までを含んでおり、図2におい
て(a)〜(e)に示すように「工程歩進動作」、「選
択分岐動作」、「並列分岐動作」、「並列合流動作」、
「選択分岐からの合流動作」を含んでいる。
By the way, the entire chart shown in FIG. 2 includes steps 1 to 10 as "steps" and steps 1 to 11 as "processing". In FIG. 2, (a) to (e) As shown in "Process step operation", "Selective branch operation", "Parallel branch operation", "Parallel merge operation",
It includes "merging operation from selected branch".

【0031】次に、上記各動作を図3から図7に示す部
分チャートを参照して説明する。
Next, each of the above operations will be described with reference to the partial charts shown in FIGS.

【0032】図3は、図2に(a)で示される「工程歩
進動作」の詳細を示したものである。図3において、
「工程1」がアクティブ状態にあり、「処理1」および
「処理2」が実行されているとき、「工程1」から「工
程2」への遷移条件である「遷移条件1」が成立する
と、「工程1」から「工程2」へ工程歩進する。すなわ
ち、「工程1」はインアクティブ状態になり、代わりに
「工程2」がアクティブ状態になる。これにより、「工
程1」に関連する「処理1」および「処理2」の実行は
中断され、代わりに「工程2」に関連する「処理3」の
実行が開始される。そして、この「処理3」は「工程
2」がインアクティブ状態になるまで繰り返される。
FIG. 3 shows the details of the "step step operation" shown in FIG. 2 (a). In FIG.
When "process 1" is in the active state and "process 1" and "process 2" are being executed, if "transition condition 1" that is a transition condition from "process 1" to "process 2" is satisfied, Step progress from "step 1" to "step 2". That is, the "process 1" becomes inactive and the "process 2" becomes active instead. As a result, the execution of the "process 1" and the "process 2" related to the "process 1" is interrupted, and the execution of the "process 3" related to the "process 2" is started instead. Then, this "processing 3" is repeated until "step 2" becomes inactive.

【0033】図4は、図2に(b)で示される「選択分
岐動作」の詳細を示したものである。図4において、
「工程2」がアクティブ状態にあり、「処理3」が実行
されているとき、「工程2」から「工程3」への遷移条
件である「遷移条件2」または「工程2」から「工程
4」への遷移条件である「遷移条件3」が成立すると、
「工程2」から「工程3」または「工程4」へ選択分岐
する。すなわち、「遷移条件2」が成立すると、「工程
2」はインアクティブ状態になり、代わりに「工程3」
がアクティブ状態になり、「工程2」に関連する「処理
3」の実行は中断され、「工程3」に関連する「処理
4」の実行が開始される。この「処理4」は、「遷移条
件4」が成立し、「工程3」がインアクティブ状態にな
るまで繰り返される。また、「遷移条件3」が成立する
と、「工程2」はインアクティブ状態になり、代わりに
「工程4」はアクティブ状態になり、「工程2」に関連
する「処理3」の実行は中断され、「工程4」に関連す
る「処理5」の実行が開始される。この「処理5」は、
「遷移条件5」が成立し、「工程4」がインアクティブ
状態になるまで繰り返される。
FIG. 4 shows the details of the "selective branch operation" shown in FIG. 2 (b). In FIG.
When "process 2" is in the active state and "process 3" is being executed, "transition condition 2" or "process 2" to "process 4" which is a transition condition from "process 2" to "process 3" When the transition condition 3 which is the transition condition to
Selectively branch from "step 2" to "step 3" or "step 4". That is, when “transition condition 2” is satisfied, “step 2” becomes inactive, and instead “step 3”
Becomes active, execution of “Process 3” related to “Step 2” is interrupted, and execution of “Process 4” related to “Step 3” is started. This "processing 4" is repeated until "transition condition 4" is satisfied and "step 3" becomes inactive. When "transition condition 3" is satisfied, "step 2" becomes inactive, instead "step 4" becomes active, and execution of "process 3" related to "step 2" is interrupted. , "Process 5" related to "Process 4" is started to be executed. This "Process 5" is
This is repeated until the "transition condition 5" is satisfied and the "step 4" is in the inactive state.

【0034】図5は、図2に(c)で示される「並列分
岐動作」の詳細を示したものである。図5において、
「工程4」がアクティブ状態にあり、「処理5」が実行
されているとき、「工程4」から「工程5」および「工
程6」への遷移条件である「遷移条件5」が成立する
と、「工程4」から「工程5」および「工程6」へ並列
分岐する。すなわち、「遷移条件5」が成立すると、
「工程4」はインアクティブ状態になり、代わりに「工
程5」および「工程6」が同時にアクティブ状態にな
り、これにより、「工程4」に関連する「処理5」の実
行は中断され、「工程5」に関連する「処理6」および
「工程6」に関連する「処理7」の実行が開始される。
そして、「処理6」は、「遷移条件6」が成立し、「工
程5」がインアクティブ状態になるまで繰り返される。
また、「処理7」は、「遷移条件7」が成立し、「工程
6」がインアクティブ状態になるまで繰り返される。
FIG. 5 shows the details of the "parallel branch operation" shown in FIG. 2 (c). In FIG.
When “process 4” is in the active state and “process 5” is executed, when “transition condition 5” that is a transition condition from “process 4” to “process 5” and “process 6” is satisfied, Parallel branch from "step 4" to "step 5" and "step 6". That is, when “transition condition 5” is satisfied,
"Step 4" becomes inactive, and instead "Step 5" and "Step 6" become active at the same time, which interrupts execution of "Process 5" associated with "Step 4", Execution of “Process 6” related to “Process 5” and “Process 7” related to “Process 6” is started.
Then, the “process 6” is repeated until the “transition condition 6” is satisfied and the “step 5” is in the inactive state.
Further, the “process 7” is repeated until the “transition condition 7” is satisfied and the “process 6” is in the inactive state.

【0035】図6は、図2に(d)で示される「並列合
流動作」の詳細を示したものである。図6において、
「工程5」から「工程7」への遷移および「工程6」か
ら「工程8」への遷移は、図3に示した「工程1」から
「工程2」への遷移と同様である。すなわち、「工程
5」がアクティブ状態にあり、「処理6」が実行されて
いるとき、「工程5」から「工程7」への遷移条件であ
る「遷移条件6」が成立すると、「工程5」はインアク
ティブ状態になり、代わりに「工程7」がアクティブ状
態になり、「工程5」に関連する「処理6」の実行は中
断され、「工程7」に関連する「処理8」の実行が開始
される。また、「工程6」がアクティブ状態にあり、
「処理7」が実行されているとき、「工程6」から「工
程8」への遷移条件である「遷移条件7」が成立する
と、「工程6」はインアクティブ状態になり、代わりに
「工程8」がアクティブ状態になり、「工程6」に関連
する「処理7」の実行は中断され、「工程8」に関連す
る「処理9」の実行が開始される。
FIG. 6 shows the details of the "parallel merging operation" shown in FIG. 2 (d). In FIG.
The transition from “step 5” to “step 7” and the transition from “step 6” to “step 8” are the same as the transition from “step 1” to “step 2” shown in FIG. That is, when "process 5" is in the active state and "process 6" is being executed, if "transition condition 6", which is a transition condition from "process 5" to "process 7", is satisfied, "process 5" Becomes an inactive state, and instead the “process 7” becomes the active state, the execution of the “process 6” related to the “process 5” is interrupted, and the execution of the “process 8” related to the “process 7” is performed. Is started. Also, "Process 6" is in the active state,
When the "transition condition 7", which is the transition condition from the "process 6" to the "process 8", is satisfied while the "process 7" is being executed, the "process 6" becomes inactive, and instead the "process 7" is executed. 8 ”becomes active, execution of“ Process 7 ”related to“ Step 6 ”is interrupted, and execution of“ Process 9 ”related to“ Step 8 ”is started.

【0036】「工程7」および「工程8」がアクティブ
状態にあり、「処理8」および「処理9」が実行されて
いるとき、「工程7」および「工程8」から「工程9」
への遷移条件である「遷移条件8」が成立すると、「工
程7」および「工程8」から「工程9」へ並列合流す
る。すなわち、「遷移条件8」が成立すると、「工程
7」および「工程8」はインアクティブ状態になり、代
わりに「工程9」がアクティブ状態になり、「工程7」
に関連する「処理8」および「工程8」に関連する「処
理9」の実行は中断され、代わりに「工程9」に関連す
る「処理10」の実行が開始される。この「処理10」
の実行は、「遷移条件9」が成立し、「工程9」がイン
アクティブ状態になるまで繰り返される。
When "process 7" and "process 8" are in the active state and "process 8" and "process 9" are being executed, "process 7" and "process 8" to "process 9" are executed.
When the "transition condition 8" that is the transition condition to the step is satisfied, the "step 7" and the "step 8" are merged in parallel to the "step 9". That is, when the "transition condition 8" is satisfied, the "process 7" and the "process 8" are in the inactive state, and instead, the "process 9" is in the active state and the "process 7" is
Execution of “Process 8” related to “Process 8” and “Process 9” related to “Step 8” is interrupted, and execution of “Process 10” related to “Process 9” is started instead. This "Processing 10"
The execution of is repeated until the "transition condition 9" is satisfied and the "step 9" becomes inactive.

【0037】図7は、図2に(e)で示される「選択分
岐からの合流動作」の詳細を示したものである。図7に
おいて、「工程3」がアクティブ状態にあり、「処理
4」が実行され、また、「工程9」がアクティブ状態に
あり、「処理10」が実行されているとき、「工程3」
から「工程10」への遷移条件である「遷移条件4」が
成立するかまたは「工程9」から「工程10」への遷移
条件である「遷移条件9」が成立すると、「工程10」
に合流する。すなわち、「遷移条件4」が成立すると、
「工程3」はインアクティブ状態になり、代わりに「工
程10」がアクティブ状態になり、「工程3」に関連す
る「処理4」の実行は中断され、「工程10」に関連す
る「処理11」の実行が開始される。また、「遷移条件
9」が成立すると、「工程9」はインアクティブ状態に
なり、代わりに「工程10」がアクティブ状態になり、
「工程9」に関連する「処理10」の実行は中断され、
「工程10」に関連する「処理11」の実行が開始され
る。この「処理11」の実行は、「遷移条件10」が成
立し、「工程10」がインアクティブ状態になるまで繰
り返される。
FIG. 7 shows the details of the "merging operation from selected branch" shown in FIG. 2 (e). In FIG. 7, when “process 3” is in the active state and “process 4” is executed, and when “process 9” is in the active state and “process 10” is executed, “process 3” is executed.
When the transition condition “Transition condition 4” that is the transition condition from the step to the “step 10” is satisfied or the “transition condition 9” that is the transition condition from the “step 9” to the “step 10” is satisfied, the “step 10”
To join. That is, when “transition condition 4” is satisfied,
"Process 3" becomes inactive, instead "Process 10" becomes active, execution of "Process 4" related to "Process 3" is interrupted, and "Process 11" related to "Process 10" is interrupted. Is started. Further, when the "transition condition 9" is satisfied, the "step 9" becomes the inactive state, and instead the "step 10" becomes the active state,
Execution of “Process 10” related to “Process 9” is interrupted,
Execution of “Process 11” related to “Process 10” is started. The execution of the "process 11" is repeated until the "transition condition 10" is satisfied and the "step 10" is in the inactive state.

【0038】以上がこの実施例で採用する工程歩進型言
語(SFC)による工程歩進型プログラムの概要である
が、次に、この工程歩進型言語(SFC)による工程歩
進型プログラムを実行する図1に示したプログラマブル
コントローラ100の詳細構成について説明する。
The above is the outline of the step progress program in the step progress language (SFC) adopted in this embodiment. Next, the step progress program in the step progress language (SFC) will be described. A detailed configuration of the programmable controller 100 shown in FIG. 1 to be executed will be described.

【0039】図8は、図1に示したユーザプログラムメ
モリ1内に格納されるユーザプログラム情報(1)の内
容を示したものである。図8に示すように、このユーザ
プログラム情報(1)には、工程情報テーブルベクタ2
0を格納する工程情報テーブルベクタ格納エリア200
と、各工程に対応する(n+1)個の工程情報テーブル
23を格納する工程情報テーブル格納エリア230から
構成されている。
FIG. 8 shows the contents of the user program information (1) stored in the user program memory 1 shown in FIG. As shown in FIG. 8, the user program information (1) includes the process information table vector 2
Process information table vector storage area 200 for storing 0
And a process information table storage area 230 for storing (n + 1) process information tables 23 corresponding to the respective processes.

【0040】図9は、図8に示した工程情報テーブル2
3の詳細を示したものである。図9において、工程情報
テーブル23には、この「工程」の工程番号24、この
「工程」に関連付けられた工程内処理数25、それぞれ
処理番号、AQ(アクションクオリファイア)コード、
AQ付加情報の組み合わせからなる各「処理」に対応す
る複数の処理情報26、この「工程」に関連付けられた
遷移条件数27、各「遷移条件」に対応する複数の遷移
条件番号28が書き込まれている。また、図9におい
て、29は2値表示欄で、プログラム運転開始時にアク
ティブ状態となる工程の場合は、この2値表示欄29に
はあらかじめ“1”が書き込まれている。なお、図9に
おいては、各工程情報テーブル23に対応して2値表示
欄29を設けるように構成したが、プログラム運転開始
時にアクティブ状態となる工程だけを集めた別テーブル
を設けるように構成してもよい。この工程情報テーブル
23は、プログラム実行時、必要に応じて1工程情報テ
ーブル単位で読み出されて処理される。
FIG. 9 shows the process information table 2 shown in FIG.
3 shows details of No. 3. 9, in the process information table 23, the process number 24 of this “process”, the number of in-process processes 25 associated with this “process”, the process number, the AQ (action qualifier) code,
A plurality of pieces of processing information 26 corresponding to each “processing” including a combination of AQ additional information, the number of transition conditions 27 associated with this “step”, and a plurality of transition condition numbers 28 corresponding to each “transition condition” are written. ing. Further, in FIG. 9, numeral 29 is a binary display column, and in the case of a process which becomes active at the start of the program operation, "1" is written in advance in this binary display column 29. In addition, in FIG. 9, the binary display column 29 is provided corresponding to each process information table 23, but it is configured to provide another table in which only the processes that become active at the start of the program operation are collected. May be. The process information table 23 is read and processed in units of one process information table as needed when the program is executed.

【0041】図10は、図8に示した工程情報テーブル
ベクタ20の詳細を示したものである。図10におい
て、この工程情報テーブルベクタ20には、(n+1)
個の工程情報テーブル23のそれぞれの先頭アドレス2
1が書き込まれており、プログラム実行時には、この工
程情報テーブルベクタ20に書き込まれた各工程情報テ
ーブルの先頭アドレス21を参照しながら、対応する工
程情報テーブル23を読み出す。
FIG. 10 shows details of the process information table vector 20 shown in FIG. In FIG. 10, the process information table vector 20 contains (n + 1)
Start address 2 of each process information table 23
1 is written, and when the program is executed, the corresponding process information table 23 is read while referring to the start address 21 of each process information table written in this process information table vector 20.

【0042】図11は、図1に示したユーザプログラム
メモリ2内に格納されるユーザプログラム情報(2)の
内容を示したものである。図11に示すように、このユ
ーザプログラム情報(2)には、遷移条件情報テーブル
ベクタ30を格納する遷移条件情報テーブルベクタ格納
エリア300と、各遷移条件に対応する(m+1)個の
遷移条件情報テーブル33を格納する遷移条件情報テー
ブル格納エリア330から構成されている。
FIG. 11 shows the contents of the user program information (2) stored in the user program memory 2 shown in FIG. As shown in FIG. 11, the user program information (2) includes a transition condition information table vector storage area 300 for storing the transition condition information table vector 30 and (m + 1) pieces of transition condition information corresponding to each transition condition. It comprises a transition condition information table storage area 330 for storing the table 33.

【0043】図12は、図11に示した遷移条件情報テ
ーブル33の詳細を示したものである。図12におい
て、遷移条件情報テーブル33には、この「遷移条件」
の遷移条件番号34、この「遷移条件」の前に繋がる前
接工程数35、各前接工程に対応する前接工程番号3
6、この「遷移条件」の後に繋がる後接工程数37、各
後接工程に対応する後接工程番号38が書き込まれてい
る。この遷移条件情報テーブル33は、プログラム実行
時、必要に応じて1遷移条件情報テーブル単位で読み出
されて処理される。
FIG. 12 shows details of the transition condition information table 33 shown in FIG. In FIG. 12, the transition condition information table 33 includes this "transition condition".
Transition condition number 34, the number of preceding processes 35 connected before this "transition condition", and the preceding process number 3 corresponding to each preceding process
6, the number of post-connection processes 37 connected after this "transition condition", and the post-connection process number 38 corresponding to each post-connection process are written. The transition condition information table 33 is read and processed in units of one transition condition information table as needed when the program is executed.

【0044】図13は、図11に示した遷移条件情報テ
ーブルベクタ30の詳細を示したものである。図13に
おいて、この遷移条件情報テーブルベクタ30には、
(m+1)個の遷移条件情報テーブル33のそれぞれの
先頭アドレス31が書き込まれており、プログラム実行
時には、この遷移条件情報テーブルベクタ30に書き込
まれた各遷移条件情報テーブルの先頭アドレス31を参
照しながら、対応する遷移条件情報テーブル33を読み
出す。
FIG. 13 shows details of the transition condition information table vector 30 shown in FIG. In FIG. 13, the transition condition information table vector 30 includes
The start address 31 of each of the (m + 1) transition condition information tables 33 is written, and at the time of program execution, referring to the start address 31 of each transition condition information table written in the transition condition information table vector 30, , The corresponding transition condition information table 33 is read.

【0045】図14は、図1に示したユーザプログラム
メモリ3内に格納されるユーザプログラム情報(3)の
内容を示したものである。図14に示すように、このユ
ーザプログラム情報(3)には、処理プログラムベクタ
40を格納する処理プログラムベクタ格納エリア400
と、各処理に対応する(p+1)個の処理プログラム4
3を格納する処理プログラム格納エリア430から構成
されている。
FIG. 14 shows the contents of the user program information (3) stored in the user program memory 3 shown in FIG. As shown in FIG. 14, the processing program vector storage area 400 for storing the processing program vector 40 is included in the user program information (3).
And (p + 1) processing programs 4 corresponding to each processing
3 is stored in the processing program storage area 430.

【0046】図15は、図14に示した処理プログラム
43の一例を示したものである。図15において、各処
理に対応する処理プログラム43は、ラダーチャート等
で記述される。
FIG. 15 shows an example of the processing program 43 shown in FIG. In FIG. 15, the processing program 43 corresponding to each processing is described by a ladder chart or the like.

【0047】図16は、図14に示した処理プロラグラ
ムベクタ40の詳細を示したものである。図16におい
て、この処理プログラムベクタ40には、(p+1)個
の処理プログラム43のそれぞれの先頭アドレス41が
書き込まれており、プログラム実行時には、この処理プ
ログラムベクタ40に書き込まれた各処理プログラムの
先頭アドレス41を参照しながら、対応する処理プログ
ラムを読み出す。
FIG. 16 shows the details of the processing program vector 40 shown in FIG. In FIG. 16, the start address 41 of each of the (p + 1) process programs 43 is written in this process program vector 40, and at the time of program execution, the start address of each process program written in this process program vector 40 is written. The corresponding processing program is read while referring to the address 41.

【0048】図17は、図1に示したユーザプログラム
メモリ4内に格納されるユーザプログラム情報(4)の
内容を示したものである。図17に示すように、このユ
ーザプログラム情報(4)には、遷移条件プログラムベ
クタ50を格納する遷移条件プログラムベクタ格納エリ
ア500と、各遷移条件に対応する(m+1)個の遷移
条件プログラム53を格納する遷移条件プログラム格納
エリア530から構成されている。
FIG. 17 shows the contents of the user program information (4) stored in the user program memory 4 shown in FIG. As shown in FIG. 17, the user program information (4) includes a transition condition program vector storage area 500 for storing the transition condition program vector 50 and (m + 1) transition condition programs 53 corresponding to each transition condition. It is composed of a transition condition program storage area 530 to be stored.

【0049】図18は、図17に示した遷移条件プログ
ラム53の詳細を示したものである。図18において、
各遷移条件に対応する遷移条件プログラム53はラダー
チャート等で記述される。
FIG. 18 shows details of the transition condition program 53 shown in FIG. In FIG.
The transition condition program 53 corresponding to each transition condition is described in a ladder chart or the like.

【0050】図19は、図17に示した遷移条件プログ
ラムベクタ50の詳細を示したものである。図19にお
いて、この遷移条件プログラムベクタ50には、(m+
1)個の遷移条件プログラム53のそれぞれの先頭アド
レス51が書き込まれており、プログラム実行時には、
この遷移条件プログラムベクタ50に書き込まれた各遷
移条件プログラムの先頭アドレス51を参照しながら、
対応する遷移条件プログラムを読み出す。
FIG. 19 shows details of the transition condition program vector 50 shown in FIG. In FIG. 19, the transition condition program vector 50 includes (m +
1) The start address 51 of each of the transition condition programs 53 is written, and during program execution,
While referring to the start address 51 of each transition condition program written in this transition condition program vector 50,
Read the corresponding transition condition program.

【0051】図20から図23は、上記図8から図19
で説明したユーザプログラム情報(1)〜(4)の具体
例を示したもので、この図20から図23に示すユーザ
プログラム情報(1)〜(4)は、図2から図7で説明
した工程歩進型言語(SFC)による具体的なプログラ
ムに対応するものである。ここで、図20はユーザプロ
グラム情報(1)の内容を示し、図21はユーザプログ
ラム情報(2)の内容を示し、図22はユーザプログラ
ム情報(3)の内容を示し、図23はユーザプログラム
情報(4)の内容を示している。なお、これらの内容は
図8から図19で説明したユーザプログラム情報(1)
〜(4)の内容と同様である。
20 to 23 are the same as FIGS. 8 to 19 described above.
20 shows a specific example of the user program information (1) to (4) described above, and the user program information (1) to (4) shown in FIGS. 20 to 23 has been described with reference to FIGS. 2 to 7. It corresponds to a concrete program in the step progress language (SFC). Here, FIG. 20 shows the contents of the user program information (1), FIG. 21 shows the contents of the user program information (2), FIG. 22 shows the contents of the user program information (3), and FIG. 23 is the user program. The content of the information (4) is shown. Note that these contents are the user program information (1) described with reference to FIGS. 8 to 19.
It is the same as the contents of (4).

【0052】すなわち、図20に示すユーザプログラム
情報(1)は、工程1から工程10に対応する10個の
工程情報テーブルと、各工程情報テーブルの先頭アドレ
スを格納する工程情報テーブルベクタ20から構成され
ている。
That is, the user program information (1) shown in FIG. 20 is composed of 10 process information tables corresponding to processes 1 to 10 and a process information table vector 20 storing the start address of each process information table. Has been done.

【0053】また、図21に示すユーザプログラム情報
(2)は、遷移条件1から遷移条件10に対応する10
個の遷移条件情報テーブルと、各遷移条件情報テーブル
の先頭アドレスを格納する遷移条件情報テーブルベクタ
30から構成されている。
The user program information (2) shown in FIG. 21 corresponds to transition conditions 1-10.
Each of the transition condition information tables and the transition condition information table vector 30 storing the start address of each transition condition information table.

【0054】また、図22に示すユーザプログラム情報
(3)は、処理1から処理11に対応する11個の処理
プログラムと、各処理プログラムの先頭アドレスを格納
する処理プログラムベクタ40から構成されている。
The user program information (3) shown in FIG. 22 is composed of 11 processing programs corresponding to processing 1 to processing 11 and a processing program vector 40 storing the start address of each processing program. .

【0055】また、図23に示すユーザプログラム情報
(4)は、各「遷移条件」に対応する10個の遷移条件
プログラムと、各遷移条件プログラムの先頭アドレスを
格納する遷移条件プログラムベクタ50から構成されて
いる。
The user program information (4) shown in FIG. 23 is composed of 10 transition condition programs corresponding to each "transition condition" and a transition condition program vector 50 storing the start address of each transition condition program. Has been done.

【0056】ところで、この実施例においては、ラダー
プログラムの特殊命令でSFCの「工程」を複数同時に
指定し、この命令の実行時の「処理」として上記指定さ
れた「工程」のすべてに対してリセットをかけるように
構成されている。
By the way, in this embodiment, a plurality of SFC "processes" are designated at the same time by the special instruction of the ladder program, and all the "processes" designated above as "processes" at the time of execution of this command are executed. It is configured to reset.

【0057】この命令仕様の一例を示すと以下のように
なる。 ニモニック(オペコード)・・・・・MRST(マルチリセット) オペランド1 ・・・・・リセット対象工程 オペランド2 ・・・・・リセット対象工程数 図24は、このラダープログラムの特殊命令の具体例を
示したものである。図24において、“MRST”はニ
モニック(オペコード)であり、“1000”はオペラ
ンド1に対応するもので、次に説明するリセット対象工
程の工程番号を記憶するリセット対象工程テーブルの先
頭アドレスを示し、“#0003”はオペランド2に対
応するもので、リセット対象工程数を示す。
An example of this instruction specification is as follows. Mnemonic (opcode) ・ ・ ・ ・ ・ MRST (Multi-reset) Operand 1 ・ ・ ・ Reset target process Operand 2 ・ ・ ・ Reset target number FIG. 24 shows a specific example of the special instruction of this ladder program. It is a thing. In FIG. 24, “MRST” is a mnemonic (opcode), “1000” corresponds to the operand 1, and indicates the top address of the reset target process table that stores the process number of the reset target process described next, “# 0003” corresponds to operand 2 and indicates the number of processes to be reset.

【0058】具体的には、図25に示すように、ユーザ
が読み出し/書込み可能なメモリ上に、リセット対象工
程の工程番号を記憶するリセット対象工程テーブルを記
憶しておく。そして、オペランド1で、そのリセット対
象工程テーブルの先頭アドレスを指定し、オペランド2
で、そのリセット対象工程テーブルに記憶されているリ
セット対象工程の工程番号の何番目までをリセットする
かを指定する。
Specifically, as shown in FIG. 25, a reset target process table for storing the process number of the reset target process is stored in the memory which can be read / written by the user. Then, the operand 1 specifies the start address of the reset target process table, and the operand 2
Then, the number of the process number of the reset target process stored in the reset target process table is specified.

【0059】図24および図25に示した例において
は、接点番号“00012”の接点がオンになると、図
24に示す特殊命令により、図24に示すリセット対象
工程テーブルの1000CHから3CH分に格納された
工程番号“0010”、“0015”、“0060”に
対応する工程、すなわち工程10、工程15、工程60
に停止、リセットがかけられる。
In the example shown in FIGS. 24 and 25, when the contact of the contact number "00012" is turned on, the special instruction shown in FIG. 24 causes the reset target process table shown in FIG. Corresponding to the designated process numbers “0010”, “0015”, and “0060”, that is, process 10, process 15, and process 60.
It can be stopped and reset.

【0060】この場合、図24に示す命令で指定された
図25に示すリセット対象工程テーブルのアドレスから
指定CH分のデータ(工程番号)を順次読み出し、この
工程番号に対応する「工程」を非活性状態にするととも
に、その工程番号に対応する工程情報テーブルを図1に
示したユーザプログラムメモリ1から読み出し、この工
程情報テーブルに示される処理プログラムに順次リセッ
トをかけていく。
In this case, the data (process number) for the designated CH is sequentially read from the address of the reset target process table shown in FIG. 25 designated by the command shown in FIG. 24, and the "process" corresponding to this process number is set to non- While being activated, the process information table corresponding to the process number is read from the user program memory 1 shown in FIG. 1, and the processing programs shown in this process information table are sequentially reset.

【0061】このような構成により、プログラム全体を
停止させることなく、並列して処理されている複数のプ
ロセスの内の任意の工程部分に対する停止およびリセッ
ト処理をユーザによって簡単に実現することが可能にな
る。
With such a configuration, it is possible for the user to easily realize the stop and reset processing for an arbitrary process part of a plurality of processes processed in parallel without stopping the entire program. Become.

【0062】また、この実施例においては、SFCのチ
ャートを「ページ」という概念を用いてそれぞれ独立し
た複数のチャートに分割し、この各ページ単位でリセッ
トがかけられるように構成されている。
Further, in this embodiment, the SFC chart is divided into a plurality of independent charts by using the concept of "page", and the chart is reset on a page-by-page basis.

【0063】図26は、この実施例で採用される「ペー
ジ」という概念を説明するためのもので、図26に示す
ように、SFCのチャートは「ページ」という仮想的な
括りに区別されるそれぞれ独立したチャートに区分され
る。このように「ページ」という概念でSFCのチャー
トを区分することで、複数の独立したSFCのチャート
の並列処理を記述することができる。
FIG. 26 is for explaining the concept of “page” adopted in this embodiment. As shown in FIG. 26, the SFC chart is distinguished by a virtual grouping of “page”. Each is divided into independent charts. By dividing the SFC chart by the concept of “page”, parallel processing of a plurality of independent SFC charts can be described.

【0064】このように、「ページ」という概念を導入
して、SFCのチャートをこの「ページ」単位で括った
場合は、図8に示したユーザプログラム情報(1)、す
なわち図1に示したユーザプログラムメモリ1の内容
は、図27に示すように変更される。
In this way, when the concept of "page" is introduced and the SFC chart is grouped in "page" units, the user program information (1) shown in FIG. 8, that is, shown in FIG. The contents of the user program memory 1 are changed as shown in FIG.

【0065】すなわち、図8に示した工程情報テーブル
は、図27に示すように「ページ」という概念で括ら
れ、工程情報テーブルベクタの他に、各ページの先頭と
終りのアドレスを示す工程情報テーブルページベクタが
設けられる。
That is, the process information table shown in FIG. 8 is summarized by the concept of "page" as shown in FIG. 27, and in addition to the process information table vector, process information indicating the start and end addresses of each page. A table page vector is provided.

【0066】なお、図示しないが、図11に示したユー
ザプログラム情報(2)、すなわち図1に示したユーザ
プログラムメモリ2の内容も、上記ユーザプログラム情
報(1)と同様に「ページ」という概念が導入さ、「ペ
ージ」単位で括られる。すなわち、図11に示した遷移
条件情報テーブルも、「ページ」という概念で括られ、
遷移条件情報テーブルベクタの他に、各ページの先頭と
終りのアドレスを示す遷移条件情報テーブルページベク
タが設けられる。
Although not shown, the user program information (2) shown in FIG. 11, that is, the contents of the user program memory 2 shown in FIG. 1 is also a concept called a "page" as in the user program information (1). Is introduced, and is grouped in "page" units. That is, the transition condition information table shown in FIG. 11 is also grouped under the concept of “page”,
In addition to the transition condition information table vector, a transition condition information table page vector indicating the start and end addresses of each page is provided.

【0067】ところで、この実施例において、各ページ
単位のリセットはラダープログラムの特殊命令の実行に
より行われる。
By the way, in this embodiment, the reset for each page is performed by executing the special instruction of the ladder program.

【0068】この命令仕様の一例を示すと以下のように
なる。 ニモニック(オペコード)・・・・・PRST(ページリセット) オペランド ・・・・・リセット対象ページ番号 図28は、このラダープログラムの特殊命令の具体例を
示したものである。図28において、“PRST”はニ
モニック(オペコード)であり、“10”はオペランド
に対応するもので、リセット対象のページ番号を示して
いる。
An example of this instruction specification is as follows. Mnemonic (opcode) ... PRST (page reset) Operand ... Page number to be reset FIG. 28 shows a specific example of the special instruction of this ladder program. In FIG. 28, “PRST” is a mnemonic (opcode), “10” corresponds to an operand, and indicates a page number to be reset.

【0069】この場合、オペランドにより指定されたペ
ージに含まれるすべての「工程」に対してリセットがか
けられる。すなわち、図28に示した例においては、接
点番号“00012”の接点がオンになると、図24に
示す特殊命令により、ページ10に含まれるすべての
「工程」がリセットされる。
In this case, all the "processes" included in the page designated by the operand are reset. That is, in the example shown in FIG. 28, when the contact with the contact number “00012” is turned on, all the “processes” included in the page 10 are reset by the special command shown in FIG.

【0070】すなわち、図28に示す命令により指定さ
れたページ番号のページベクタを用いて、該当するペー
ジに格納されている工程情報テーブルを読み出しなが
ら、ページベクタで表わされる該当ページの範囲内にお
いて、その「工程」を非活性状態にするとともに、その
工程情報テーブルに示される処理プログラムに対して順
次リセットをかけていく。
That is, while reading the process information table stored in the corresponding page using the page vector of the page number designated by the instruction shown in FIG. 28, within the range of the corresponding page represented by the page vector, The "process" is deactivated, and the processing programs shown in the process information table are sequentially reset.

【0071】このような構成により、プログラム全体を
停止させることなく、ページ単位でリセット処理を行う
ことができ、並列して処理されている複数のプロセスの
内の任意の工程部分に対する停止およびリセット処理を
ユーザによって簡単に実現することが可能になる。
With such a configuration, the reset process can be performed in page units without stopping the entire program, and the stop and reset processes for arbitrary process parts of a plurality of processes being processed in parallel. Can be easily realized by the user.

【0072】図29は、この実施例のプログラマブルコ
ントローラ100の全体的な処理手順をフローチャート
で示したものである。プログラムがスタートされると、
まず、電源オンの初期処理を実行し(ステップ80)、
続いて所定の共通処理を実行する(ステップ82)。そ
して、ユーザプログラムの運転が可能であり(ステップ
84)、初回運転であるならば(ステップ86)、ユー
ザプログラム運転初期処理を実行し(ステップ88)、
続いてユーザプログラム運転処理を実行する(ステップ
90)。そして、入出力回路17のリフレッシュを行い
(ステップ92)、共通処理(ステップ82)に戻る。
FIG. 29 is a flow chart showing the overall processing procedure of the programmable controller 100 of this embodiment. When the program starts,
First, the power-on initial processing is executed (step 80),
Then, a predetermined common process is executed (step 82). If the user program can be operated (step 84) and it is the first operation (step 86), the user program operation initial process is executed (step 88),
Then, a user program operation process is executed (step 90). Then, the input / output circuit 17 is refreshed (step 92) and the process returns to the common process (step 82).

【0073】[0073]

【発明の効果】以上説明したようにこの発明によれば、
任意の工程または任意のチャート単位でリセット処理を
実行することができるように構成したので、以下に示す
ような種々の効果を奏する。
As described above, according to the present invention,
Since the reset process can be executed in an arbitrary process or in an arbitrary chart unit, the following various effects can be obtained.

【0074】1)ユーザプログラム全体の実行を停止さ
れることなく、並列に処理されている複数のプロセスの
うち任意の工程または任意の独立したチャート部分に対
してのみ、任意のタイミングでリセットおよび停止をか
けることが可能になる。
1) Without stopping the execution of the entire user program, only the arbitrary steps or independent chart portions of a plurality of processes processed in parallel are reset and stopped at arbitrary timing. It becomes possible to apply.

【0075】2)工程の遷移が伴わないため、他の工程
には一切の影響を及ぼすことなく該当の工程のみを停止
させることが可能になる。
2) Since no process transition is involved, it is possible to stop only the relevant process without affecting the other processes.

【0076】3)チャートに含まれる工程の活性状態が
どのような状態にあろうとも、その停止およびリセット
はチャート全体に及ぶため、停止およびリセットをかけ
る工程の指定も容易となる。
3) Regardless of the active state of the steps included in the chart, the stop and reset are performed over the entire chart, so that it is easy to specify the step to be stopped and reset.

【0077】4)また、このリセット手段を、I/O制
御およびデータ処理のためのプログラム中の任意の位置
で実行することが可能な命令機能として設けた場合は、
各工程毎に非常停止用の監視プログラムを作成する必要
がなくなるため、工程歩進言語のメリットの1つである
可視性の良さを損なうことがない。その上、工程歩進言
語レベルでは表記が困難なプログラムを1つの命令語と
して表現できるので、ユーザプログラムの容量削減に有
効である。
4) Further, when the reset means is provided as an instruction function capable of being executed at an arbitrary position in the program for I / O control and data processing,
Since it is not necessary to create an emergency stop monitoring program for each process, the good visibility, which is one of the merits of the process step language, is not impaired. In addition, a program that is difficult to describe at the step progress language level can be expressed as one command word, which is effective in reducing the capacity of the user program.

【0078】5)4)に付随して、プログラムの冗長性
として生じる処理速度の低下を防止することができる。
5) It is possible to prevent a reduction in the processing speed which is caused by the redundancy of the program in association with 4).

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

【図1】この発明に係わるプログラマブルコントローラ
の一実施例の全体構成を示すブロック図。
FIG. 1 is a block diagram showing an overall configuration of an embodiment of a programmable controller according to the present invention.

【図2】図1に示した実施例で採用する工程歩進型言語
(SFC)による工程歩進型プログラムの全体チャート
の一例を示す図。
FIG. 2 is a diagram showing an example of an overall chart of a process step program in a process step language (SFC) adopted in the embodiment shown in FIG.

【図3】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「工程歩進動
作」を説明するための図。
FIG. 3 is a partial detailed chart of the overall chart of the step advance program shown in FIG. 2, and is a diagram for explaining a “step advance operation”.

【図4】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「選択分岐動
作」を説明するための図。
4 is a partial detailed chart of the overall chart of the step-progressing type program shown in FIG. 2, illustrating the "selective branch operation";

【図5】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「並列分岐動
作」を説明するための図。
FIG. 5 is a partial detailed chart of the overall chart of the step-progressing type program shown in FIG. 2, and is a view for explaining “parallel branch operation”.

【図6】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「並列合流動
作」を説明するための図。
FIG. 6 is a partial detailed chart of the overall chart of the step-progressing type program shown in FIG. 2, illustrating the “parallel merging operation”;

【図7】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「選択分岐から
の合流動作」を説明するための図。
FIG. 7 is a partial detailed chart of the overall chart of the step-progressing type program shown in FIG. 2, and is a view for explaining “merging operation from selected branch”.

【図8】図1に示したユーザプログラムメモリ内に格納
されるユーザプログラム情報(1)の内容を示した図。
8 is a diagram showing the contents of user program information (1) stored in the user program memory shown in FIG. 1. FIG.

【図9】図8に示した工程情報テーブルの詳細を示した
図。
9 is a diagram showing details of the process information table shown in FIG.

【図10】図8に示した工程情報テーブルベクタの詳細
を示した図。
10 is a diagram showing details of the process information table vector shown in FIG.

【図11】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(2)の内容を示した
図。
11 is a diagram showing the contents of user program information (2) stored in the user program memory shown in FIG. 1. FIG.

【図12】図11に示した遷移条件情報テーブルの詳細
を示した図。
12 is a diagram showing details of a transition condition information table shown in FIG.

【図13】図11に示した遷移条件情報テーブルベクタ
の詳細を示した図。
13 is a diagram showing details of a transition condition information table vector shown in FIG.

【図14】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(3)の内容を示した
図。
14 is a diagram showing the content of user program information (3) stored in the user program memory shown in FIG. 1. FIG.

【図15】図14に示した処理プログラムの詳細を示し
た図。
15 is a diagram showing details of the processing program shown in FIG.

【図16】図14に示した処理プログラムベクタの詳細
を示した図。
16 is a diagram showing details of the processing program vector shown in FIG.

【図17】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(4)の内容を示した
図。
17 is a diagram showing the contents of user program information (4) stored in the user program memory shown in FIG. 1. FIG.

【図18】図17に示した遷移条件プログラムの詳細を
示した図。
18 is a diagram showing details of the transition condition program shown in FIG.

【図19】図17に示した遷移条件プログラムベクタの
詳細を示した図。
19 is a diagram showing details of the transition condition program vector shown in FIG.

【図20】図8から図10に示したユーザプログラム情
報(1)の具体例を示した図。
20 is a diagram showing a specific example of the user program information (1) shown in FIGS. 8 to 10. FIG.

【図21】図11から図13に示したユーザプログラム
情報(2)の具体例を示した図。
FIG. 21 is a diagram showing a specific example of the user program information (2) shown in FIGS. 11 to 13.

【図22】図14から図16に示したユーザプログラム
情報(3)の具体例を示した図。
22 is a diagram showing a specific example of the user program information (3) shown in FIGS. 14 to 16. FIG.

【図23】図17から図19に示したユーザプログラム
情報(4)の具体例を示した図。
23 is a diagram showing a specific example of the user program information (4) shown in FIGS. 17 to 19. FIG.

【図24】「工程」単位でリセットをかける場合のラダ
ープログラムの特殊命令の具体例を示した図。
FIG. 24 is a diagram showing a specific example of a special instruction of a ladder program when resetting is performed in “process” units.

【図25】リセット対象工程テーブルの一例を示す図。FIG. 25 is a diagram showing an example of a reset target process table.

【図26】この実施例で採用される「ページ」という概
念を説明するための図。
FIG. 26 is a diagram for explaining the concept of “page” adopted in this embodiment.

【図27】「ページ」という概念の導入により変更され
るユーザプログラム情報(1)の内容を示す図。
FIG. 27 is a diagram showing the contents of user program information (1) changed by the introduction of the concept of “page”.

【図28】「ページ」単位にリセットをかける場合のラ
ダープログラムの特殊命令の具体例を示した図。
FIG. 28 is a diagram showing a specific example of a special instruction of a ladder program when resetting is performed in “page” units.

【図29】この実施例のプログラマブルコントローラの
全体的な処理手順を示すフローチャート。
FIG. 29 is a flowchart showing the overall processing procedure of the programmable controller of this embodiment.

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

1、2、3、4 ユーザプログラムメモリ 10 バス 11 CPU(中央演算処理装置) 12 I/Oメモリ 13 システムプログラムメモリ 14 ワークメモリ 16 インターフェース(i/f) 17 入出力回路(I/O回路) 1, 2, 3, 4 User program memory 10 Bus 11 CPU (central processing unit) 12 I / O memory 13 System program memory 14 Work memory 16 Interface (i / f) 17 Input / output circuit (I / O circuit)

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 工程歩進型言語(SFC言語)により記
述されたユーザプログラムに基づき各工程に対応する処
理を順次実行するプログラマブルコントローラにおい
て、 上記工程の内の少なくとも1つのリセット対象工程を指
定するリセット対象工程指定手段と、 上記リセット対象工程指定手段により指定されたリセッ
ト対象工程に対してリセット処理を実行するリセット手
段と、 を具備したことを特徴とするプログラマブルコントロー
ラ。
1. A programmable controller that sequentially executes processes corresponding to respective processes based on a user program written in a process step language (SFC language), and specifies at least one reset target process among the processes. A programmable controller comprising: reset target process designating means; and reset means for performing a reset process on the reset target process designated by the reset target process designating means.
【請求項2】 工程歩進型言語(SFC言語)により記
述されたユーザプログラムに基づき各工程に対応する処
理を順次実行するプログラマブルコントローラにおい
て、 上記ユーザプログラムをそれぞれ独立した複数のチャー
トに分割する分割手段と、 上記分割手段により分割した複数のチャートの内の任意
のチャートを指定するチャート指定手段と、 上記チャート指定手段で指定されたチャートに対して選
択的にリセット処理を実行するリセット手段と、 を具備したことを特徴とするプログラマブルコントロー
ラ。
2. A programmable controller for sequentially executing a process corresponding to each process based on a user program written in a process step language (SFC language), wherein the user program is divided into a plurality of independent charts. Means, a chart designating means for designating an arbitrary chart among a plurality of charts divided by the dividing means, and a resetting means for selectively performing a reset process on the chart designated by the chart specifying means, A programmable controller comprising:
JP20780292A 1992-08-04 1992-08-04 Programmable controller Expired - Lifetime JP3328686B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20780292A JP3328686B2 (en) 1992-08-04 1992-08-04 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20780292A JP3328686B2 (en) 1992-08-04 1992-08-04 Programmable controller

Publications (2)

Publication Number Publication Date
JPH0651816A true JPH0651816A (en) 1994-02-25
JP3328686B2 JP3328686B2 (en) 2002-09-30

Family

ID=16545742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20780292A Expired - Lifetime JP3328686B2 (en) 1992-08-04 1992-08-04 Programmable controller

Country Status (1)

Country Link
JP (1) JP3328686B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131013A (en) * 1992-10-16 1994-05-13 Tsubakimoto Chain Co Sequence control program generating method
WO1997017638A1 (en) * 1995-11-09 1997-05-15 Fanuc Ltd Execution control system of sequence program
JP2010266915A (en) * 2009-05-12 2010-11-25 Yamatake Corp Control program configuration display device and connection diagram generation method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131013A (en) * 1992-10-16 1994-05-13 Tsubakimoto Chain Co Sequence control program generating method
WO1997017638A1 (en) * 1995-11-09 1997-05-15 Fanuc Ltd Execution control system of sequence program
US6290403B1 (en) 1995-11-09 2001-09-18 Fanuc Ltd Sequence program execution control system
JP2010266915A (en) * 2009-05-12 2010-11-25 Yamatake Corp Control program configuration display device and connection diagram generation method

Also Published As

Publication number Publication date
JP3328686B2 (en) 2002-09-30

Similar Documents

Publication Publication Date Title
JPH0651816A (en) Programmable controller
JP3331357B2 (en) Programmable controller
JP3328714B2 (en) Programmable controller
JP2658578B2 (en) Programmable controller
JP4494701B2 (en) Method for generating an instruction word when controlling a functional unit in a processor
JPH02197924A (en) Central arithmetic processor
JPH06348503A (en) Device with master and slave control system and its control method
JPH02128266A (en) Register with protective function
JP2621631B2 (en) Programmable controller
JPH11259308A (en) Programmable controller
JP3147727B2 (en) Information processing apparatus and control method thereof
JP2503634B2 (en) Micro program controller
JPH0883188A (en) Multitask processing computer
JPS59119413A (en) Programmable controller
JP2004259010A (en) Multi-sequence type sequence control device
JPH0158522B2 (en)
JPH03292527A (en) Arithmetic unit
JPH01232446A (en) Program development assisting device for computer
JPS62162107A (en) Program changing method for programmable controller
JPS58107906A (en) Process step type programmable controller
JPS63159905A (en) Forcible on/off system for input/output of programmable controller
JPH05242050A (en) Processor device
JPH02150924A (en) Memory
JPH08297583A (en) Processor and method for interruption processing
JPH0991137A (en) Data processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020530

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 11