JP3331357B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JP3331357B2
JP3331357B2 JP20780492A JP20780492A JP3331357B2 JP 3331357 B2 JP3331357 B2 JP 3331357B2 JP 20780492 A JP20780492 A JP 20780492A JP 20780492 A JP20780492 A JP 20780492A JP 3331357 B2 JP3331357 B2 JP 3331357B2
Authority
JP
Japan
Prior art keywords
program
execution
processing
transition condition
user 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.)
Expired - Lifetime
Application number
JP20780492A
Other languages
English (en)
Other versions
JPH0651818A (ja
Inventor
公博 藤井
俊司 桑
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
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 filed Critical Omron Corp
Priority to JP20780492A priority Critical patent/JP3331357B2/ja
Publication of JPH0651818A publication Critical patent/JPH0651818A/ja
Application granted granted Critical
Publication of JP3331357B2 publication Critical patent/JP3331357B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、工程歩進型言語(S
FC言語)により記述されたユーザプログラムに基づき
各工程に対応する処理を順次実行するプログラマブルコ
ントローラに関し、特に各工程の活性/非活性状態と各
処理の実行/非実行の関係を表わす条件シンボルの付加
情報に、対応する処理の実行回数の記述できるように
するとともに、該処理のインターロック条件を記述でき
るようにしたプログラマブルコントローラに関する。
【0002】
【従来の技術】近年、プログラマブルコントローラが普
及し、現在ではこのプログラマブルコントローラは複雑
高度な制御分野まで利用されるようになってきている。
そして、これにともないプログラマブルコントローラ自
体も多機能化、大型化し、ユーザプログラムに用いられ
るプログラミング言語も様々な形式の言語が使用されて
いる。
【0003】しかし、従来のプログラマブルコントロー
ラにあっては、プログラミング言語として、ロジック制
御を主対象とした様々な形式の言語が使用されているも
のの、最近のシステムの大型化、複雑高度化に対しては
十分対応できているとはいい難く、また、プログラミン
グ言語の品質管理や再利用等の観点から一般的ソフトウ
エア工学の考え方にも追従できないという問題があっ
た。
【0004】そこで、IEC(International Electrot
echnical Commissin)はプログラマブルコントローラの
プログラミング言語の見直しを行い、従来のラダー言語
による記述形式に工程歩進動作が表現でき、構造化プロ
グラミングが可能な工程歩進型言語(Sequential Funct
ion Chart)(以下これをSFC言語という)を提唱し、
その規格案をまとめた。
【0005】このSFC言語は、プログラマブルコント
ローラのプログラムを、多数の「工程」に分割し、さら
にこの各「工程」に1つまたは複数の「処理」を関係付
けてプラミングする一種のグラフィック言語であり、工
程歩進型の制御を基本とするものである。このSFC言
語によるプログラムは、各「工程」間に挿入される「遷
移条件」と、各「工程」に関係付けられた「処理」とを
組み合わせていくことによりプログラムを記述する。
【0006】また、このSFC言語においては、各「工
程」の活性/非活性状態と「処理」の実行/非実行の関
連を定義する手段として、AQ(Action Qualifier) が
数種類提案されている。このAQは各「処理」に対応し
て設定される条件シンボルで、このAQにより、各「工
程」の活性/非活性状態に対応する「処理(アクショ
ン)」の実行/非実行のタイミングが定義される。
【0007】ここで、IECにより提唱されているAQ
には 1)「工程」が活性状態になると対応する処理を1回だ
け実行する。
【0008】2)「工程」が活性状態になると対応する
処理をセットまたはリセットする。
【0009】3)「工程」が活性状態になるとユーザが
指定した一定時間だけ対応する処理を実行する。
【0010】などの機能が定義できる。
【0011】
【発明が解決しようとする課題】ところで、一般のシー
ケンス制御においては、「処理」の実行回数、すなわち
シーケンスプログラムの実行回数を設定する必要がある
場合がある。しかし、従来提案されている各種のAQ
(条件シンボル)においては、いずれも単純な条件設定
しかできないものであり、シーケンスプログラムの実行
回数を設定することはできなかった。このため、従来の
プログラマブルコントローラにおいてはシーケンスプロ
グラムの実行回数をシーケンスプログラム内においてプ
ログラムで設定しなければならない。
【0012】しかし、シーケンスプログラムの実行回数
をシーケンスプログラム内においてプログラムで設定す
る構成をとると、 1)繰り返し演算条件(回数設定)のシーケンスプログ
ラムを生成するための工数が必要となる。
【0013】2)繰り返し演算条件(回数設定)のシー
ケンスプログラムのためにユーザプログラムの容量が増
加する。
【0014】3)アプリケーションに依存する設定条件
を表わすロジックを、I/O制御およびデータ処理のた
めのシーケンスプログラムから抽出して、シーケンスプ
ログラム外に定義することによりシーケンスプログラム
を純粋な制御、演算処理から構成することによりモジュ
ール再利用性を図ることができるというSFC言語のメ
リットが損なわれる。
【0015】などの問題点が生じる。
【0016】また、SFC言語によるプログラムにおい
て、プログラム全体として、ある部分の「処理」と別の
ある部分の「処理」とを排他的に実行させたい場合は、
「工程」間の遷移条件を選択分岐型にプログラムするこ
とにより実現している。しかし、この方法はあくまでも
「工程」の流れという形で表現、処理されるため、単純
な排他制御においてもその「処理」を各々に「工程」と
して独立させ、その遷移条件を選択分岐型に記述しなけ
ればならない。
【0017】しかしながら、このような構成によると、
従来、プログラマブルコントローラのユーザプログラム
の記述方法として採用されていたラダーダイアグラムに
おいて頻繁に使用されるインターロック回路を用いた排
他制御と比較すると、表現の冗長性およびリアルタイム
性において劣ってしまうという問題点がある。
【0018】そこで、この発明は、処理の実行回数を簡
単な構成により設定でき、さらに処理のインターロック
条件を簡単な構成により設定できるようにしたプログラ
マブルコントローラを提供することを目的とする。
【0019】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、プログラムを複数の工程に分割
し、分割された各工程に1つまたは複数の処理を関係付
けてプログラミングするSFC言語により記述されたユ
ーザプログラムに基づき各工程に対応する上記処理を
順次実行するプログラマブルコントローラにおいて、上
記ユーザプログラムは、各工程の活性状態または非活性
状態と上記処理の実行または非実行の関係を表わし各処
理に対応して設定される条件シンボルの記述を含み、上
条件シンボルその付加情報として上記処理の実行
回数を記述でき、上記条件シンボルの評価によりその付
加情報に基づき上記処理の実行回数を制御することを特
徴とする。
【0020】また、請求項2の発明は、プログラムを複
数の工程に分割し、分割された各工程に1つまたは複数
の処理を関係付けてプログラミングするSFC言語によ
り記述されたユーザプログラムに基づき各工程に対応
する上記処理を順次実行するプログラマブルコントロー
ラにおいて、上記ユーザプログラムは、各工程の活性状
態または非活性状態と上記処理の実行または非実行の関
係を表わす条件シンボルの記述を含み、上記条件シンボ
はその付加情報として上記処理の実行に対するインタ
ーロック条件を記述でき、上記条件シンボルの評価によ
り上記フラグに応じて上記処理の実行/非実行を制御す
ることを特徴とする。
【0021】
【作用】請求項1の発明においては、条件シンボルの付
加情報として処理の実行回数を記述し、この条件シンボ
の評価によりその付加情報に基づき処理の実行回数を
制御する。
【0022】また、請求項2の発明においては、条件シ
ンボルの付加情報としてインターロック条件を記述で
き、この条件シンボルの評価により上記フラグに応じて
上記処理の実行/非実行を制御する。
【0023】
【実施例】以下、図面を参照してこの発明に係わるプロ
グラマブルコントローラの実施例を詳細に説明する。
【0024】図1は、この発明に係わるプログラマブル
コントローラの一実施例を示したものである。図1に示
すプログラマブルコントローラ100は、バス10にC
PU(中央演算処理装置)11、4つのユーザプログラ
ムメモリ1〜4、I/Oメモリ(入出力メモリ)12、
システムプログラムメモリ13、ワークメモリ14を接
続して構成され、バス10はi/f(インターフェー
ス)16を介してI/O(入出力回路)17に接続され
ている。
【0025】ここで、ユーザプログラムメモリ1〜4は
ユーザプログラム情報(1)〜(4)を格納するもの
で、ユーザプログラムメモリ1に格納されるユーザプロ
グラム情報(1)は、各工程に対応した複数の工程情報
テーブルおよび各工程情報テーブルの先頭アドレス(工
程情報テーブルベクタ)を含み、ユーザプログラムメモ
リ2に格納されるユーザプログラム情報(2)は、各遷
移条件に対応した複数の遷移条件テーブルおよび各遷移
条件テーブルの先頭アドレス(遷移条件テーブルベク
タ)を含み、ユーザプログラムメモリ3に格納されるユ
ーザプログラム情報(3)は、各工程の処理に対応した
複数の処理プログラムおよび各処理プログラムの先頭ア
ドレス(処理プログラムベクタ)を含み、ユーザプログ
ラムメモリ4に格納されるユーザプログラム情報(4)
は、各遷移条件に対応した複数の遷移条件プログラムお
よび各遷移条件プログラムの先頭アドレス(遷移条件プ
ログラムベクタ)を含んでいる。
【0026】また、I/Oメモリ12はi/f16を介
して入力もしくは出力されたI/O17の状態を記憶し
ており、システムプログラムメモリ13は、CPU11
を制御するためのシステムプログラムを格納しており、
ワークメモリ14は、このプログラマブルコントローラ
100全体の制御を行うためのワークエリアとして用い
られるものである。
【0027】CPU11は、マイクロプロセッサより構
成され、ユーザプログラムメモリ1〜4に記憶されたユ
ーザプログラム情報(1)〜(4)およびI/Oメモリ
12に記憶されたI/O17の状態を参照し、システム
プログラムメモリ13に格納されたシステムプログラム
に基づきワークメモリ14のワークエリアを用いて所望
のプログラマブル制御を実行する。
【0028】なお、図1に示した構成においては、ユー
ザプログラムメモリとして4つのメモリ1〜4を設けて
いるが、これを1つにまとめてもよい。
【0029】次に、図1に示した実施例の詳細構成につ
いて説明するが、この図1に示した実施例の詳細構成の
説明の前に、この実施例のプログラマブルコントローラ
100で用いられる工程歩進型言語(SFC)による工
程歩進型プログラムの概要について簡単に説明する。
【0030】図2から図7は工程歩進型言語(SFC)
による工程歩進型プログラムの一例を示すものである。
図2はこの工程歩進型プログラムの全体チャートを示
し、図3から図7はこの工程歩進型プログラムの全体チ
ャートの部分詳細チャートを示す。
【0031】工程歩進型言語(SFC)は、プログラム
全体を多数の「工程」(図2においてこれをAで示す)
に分割するとともに、1つの「工程」を1つまたは複数
の「処理」に分割した形でプログラムしていくグラフィ
ック言語で、工程歩進型の制御を基本とする。すなわ
ち、図2に示すように、各「工程」間に挿入される「遷
移条件」(図2においてこれをCで示す)と各「工程」
に付随する「処理」とを組み合わせていくことでプログ
ラムを記述する。なお、図2において「工程」および
「処理」はそれぞれ箱状の形でグラフィック表示し、
「遷移条件」は横線でグラフィック表示している。
【0032】箱状の形でグラフィック表示する「工程」
は、アクティブ(活性)またはインアクティブ(不活
性)の論理状態を有している。「工程」がアクティブ状
態のときは、その「工程」に関連する「処理」を順に実
行していく。これに対し、「工程」がインアクティブ状
態のときはその「工程」に関連する「処理」を実行しな
い。また、その「工程」に関連する「処理」が存在しな
い場合は、その「工程」に関連する「遷移条件」が成立
するまで「待ち」の状態となる。ここで、「工程」はそ
れぞれ固有の「工程番号」を有し、同じ「工程番号」を
有する「工程」を複数設けることはできない。また、
「工程番号」のない「工程」も存在しない。「処理」は
「工程」に関連し、「処理」が1つも関連していない
「工程」は、アクティブ状態になっても何も動作しない
「ダミー工程」として使用できる。「処理」は、その
「処理」が関連する「工程」のアクティブ状態またはイ
ンアクティブ状態に応じてオンオフされる。この「処
理」も固有の「処理番号」を有し、同じ「処理番号」を
有する「処理」を複数設けることはできない。また、
「処理番号」のない「処理」も存在しない。
【0033】「遷移条件」は、「工程」と「工程」との
間に1つだけ存在し、「工程」と「工程」との間の「接
続条件」を表わす。そして、アクティブ状態にある「工
程」の下の「遷移条件」が満たされたとき、このアクテ
ィブ状態にある「工程」はインアクティブ状態となり、
次の「工程」がアクティブ状態となる。このように「遷
移条件」は「工程」から「工程」への制御の流れをコン
トロールする役割を果たす。この「遷移条件」も固有の
「遷移条件番号」を有し、同じ「遷移条件番号」を有す
る「遷移条件」を複数設けることはできない。また、
「遷移条件番号」のない「遷移条件」も存在しない。
【0034】ところで、図2に示す全体チャートは「工
程」として工程1から工程10までを含み、「処理」と
して処理1から処理11までを含んでおり、図2におい
て(a)〜(e)に示すように「工程歩進動作」、「選
択分岐動作」、「並列分岐動作」、「並列合流動作」、
「選択分岐からの合流動作」を含んでいる。
【0035】次に、上記各動作を図3から図7に示す部
分チャートを参照して説明する。
【0036】図3は、図2に(a)で示される「工程歩
進動作」の詳細を示したものである。図3において、
「工程1」がアクティブ状態にあり、「処理1」および
「処理2」が実行されているとき、「工程1」から「工
程2」への遷移条件である「遷移条件1」が成立する
と、「工程1」から「工程2」へ工程歩進する。すなわ
ち、「工程1」はインアクティブ状態になり、代わりに
「工程2」がアクティブ状態になる。これにより、「工
程1」に関連する「処理1」および「処理2」の実行は
中断され、代わりに「工程2」に関連する「処理3」の
実行が開始される。そして、この「処理3」は「工程
2」がインアクティブ状態になるまで繰り返される。
【0037】図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」がインアクティブ
状態になるまで繰り返される。
【0038】図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」がインアクティブ状態になるまで繰り返される。
【0039】図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」の実行が開始される。
【0040】「工程7」および「工程8」がアクティブ
状態にあり、「処理8」および「処理9」が実行されて
いるとき、「工程7」および「工程8」から「工程9」
への遷移条件である「遷移条件8」が成立すると、「工
程7」および「工程8」から「工程9」へ並列合流す
る。すなわち、「遷移条件8」が成立すると、「工程
7」および「工程8」はインアクティブ状態になり、代
わりに「工程9」がアクティブ状態になり、「工程7」
に関連する「処理8」および「工程8」に関連する「処
理9」の実行は中断され、代わりに「工程9」に関連す
る「処理10」の実行が開始される。この「処理10」
の実行は、「遷移条件9」が成立し、「工程9」がイン
アクティブ状態になるまで繰り返される。
【0041】図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」がインアクティブ状態になるまで繰
り返される。
【0042】以上がこの実施例で採用する工程歩進型言
語(SFC)による工程歩進型プログラムの概要である
が、次に、この工程歩進型言語(SFC)による工程歩
進型プログラムを実行する図1に示したプログラマブル
コントローラ100の詳細構成について説明する。
【0043】図8は、図1に示したユーザプログラムメ
モリ1内に格納されるユーザプログラム情報(1)の内
容を示したものである。図8に示すように、このユーザ
プログラム情報(1)には、工程情報テーブルベクタ2
0を格納する工程情報テーブルベクタ格納エリア200
と、各工程に対応する(n+1)個の工程情報テーブル
23を格納する工程情報テーブル格納エリア230から
構成されている。
【0044】図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工程情報テーブル単位で読み出されて処
理される。
【0045】この実施例においては、上記AQコード、
AQ付加情報を利用して各処理の実行回数およびインタ
ーロック条件が制御される。このAQコード、AQ付加
情報を利用した各処理の実行回数およびインターロック
条件の制御に関しては後に詳述する。
【0046】図10は、図8に示した工程情報テーブル
ベクタ20の詳細を示したものである。図10におい
て、この工程情報テーブルベクタ20には、(n+1)
個の工程情報テーブル23のそれぞれの先頭アドレス2
1が書き込まれており、プログラム実行時には、この工
程情報テーブルベクタ20に書き込まれた各工程情報テ
ーブルの先頭アドレス21を参照しながら、対応する工
程情報テーブル23を読み出す。
【0047】図11は、図1に示したユーザプログラム
メモリ2内に格納されるユーザプログラム情報(2)の
内容を示したものである。図11に示すように、このユ
ーザプログラム情報(2)には、遷移条件情報テーブル
ベクタ30を格納する遷移条件情報テーブルベクタ格納
エリア300と、各遷移条件に対応する(m+1)個の
遷移条件情報テーブル33を格納する遷移条件情報テー
ブル格納エリア330から構成されている。
【0048】図12は、図11に示した遷移条件情報テ
ーブル33の詳細を示したものである。図12におい
て、遷移条件情報テーブル33には、この「遷移条件」
の遷移条件番号34、この「遷移条件」の前に繋がる前
接工程数35、各前接工程に対応する前接工程番号3
6、この「遷移条件」の後に繋がる後接工程数37、各
後接工程に対応する後接工程番号38が書き込まれてい
る。この遷移条件情報テーブル33は、プログラム実行
時、必要に応じて1遷移条件情報テーブル単位で読み出
されて処理される。
【0049】図13は、図11に示した遷移条件情報テ
ーブルベクタ30の詳細を示したものである。図13に
おいて、この遷移条件情報テーブルベクタ30には、
(m+1)個の遷移条件情報テーブル33のそれぞれの
先頭アドレス31が書き込まれており、プログラム実行
時には、この遷移条件情報テーブルベクタ30に書き込
まれた各遷移条件情報テーブルの先頭アドレス31を参
照しながら、対応する遷移条件情報テーブル33を読み
出す。
【0050】図14は、図1に示したユーザプログラム
メモリ3内に格納されるユーザプログラム情報(3)の
内容を示したものである。図14に示すように、このユ
ーザプログラム情報(3)には、処理プログラムベクタ
40を格納する処理プログラムベクタ格納エリア400
と、各処理に対応する(p+1)個の処理プログラム4
3を格納する処理プログラム格納エリア430から構成
されている。
【0051】図15は、図14に示した処理プログラム
43の一例を示したものである。図15において、各処
理に対応する処理プログラム43は、ラダーチャート等
で記述される。
【0052】図16は、図14に示した処理プロラグラ
ムベクタ40の詳細を示したものである。図16におい
て、この処理プログラムベクタ40には、(p+1)個
の処理プログラム43のそれぞれの先頭アドレス41が
書き込まれており、プログラム実行時には、この処理プ
ログラムベクタ40に書き込まれた各処理プログラムの
先頭アドレス41を参照しながら、対応する処理プログ
ラムを読み出す。
【0053】図17は、図1に示したユーザプログラム
メモリ4内に格納されるユーザプログラム情報(4)の
内容を示したものである。図17に示すように、このユ
ーザプログラム情報(4)には、遷移条件プログラムベ
クタ50を格納する遷移条件プログラムベクタ格納エリ
ア500と、各遷移条件に対応する(m+1)個の遷移
条件プログラム53を格納する遷移条件プログラム格納
エリア530から構成されている。
【0054】図18は、図17に示した遷移条件プログ
ラム53の詳細を示したものである。図18において、
各遷移条件に対応する遷移条件プログラム53はラダー
チャート等で記述される。
【0055】図19は、図17に示した遷移条件プログ
ラムベクタ50の詳細を示したものである。図19にお
いて、この遷移条件プログラムベクタ50には、(m+
1)個の遷移条件プログラム53のそれぞれの先頭アド
レス51が書き込まれており、プログラム実行時には、
この遷移条件プログラムベクタ50に書き込まれた各遷
移条件プログラムの先頭アドレス51を参照しながら、
対応する遷移条件プログラムを読み出す。
【0056】図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)の内容と同様である。
【0057】すなわち、図20に示すユーザプログラム
情報(1)は、工程1から工程10に対応する10個の
工程情報テーブルと、各工程情報テーブルの先頭アドレ
スを格納する工程情報テーブルベクタ20から構成され
ている。
【0058】また、図21に示すユーザプログラム情報
(2)は、遷移条件1から遷移条件10に対応する10
個の遷移条件情報テーブルと、各遷移条件情報テーブル
の先頭アドレスを格納する遷移条件情報テーブルベクタ
30から構成されている。
【0059】また、図22に示すユーザプログラム情報
(3)は、処理1から処理11に対応する11個の処理
プログラムと、各処理プログラムの先頭アドレスを格納
する処理プログラムベクタ40から構成されている。
【0060】また、図23に示すユーザプログラム情報
(4)は、各「遷移条件」に対応する10個の遷移条件
プログラムと、各遷移条件プログラムの先頭アドレスを
格納する遷移条件プログラムベクタ50から構成されて
いる。
【0061】次に、この実施例で採用するAQコード、
AQ付加情報を利用した各処理の実行回数およびインタ
ーロック条件の制御について具体例をあげて説明する。
【0062】この実施例においては、AQコード、AQ
付加情報を利用して各処理の実行回数が設定される。
【0063】図24は、AQコード、AQ付加情報を利
用した各処理の実行回数の設定の具体例を示したもので
ある。図24において、AQはAQコードを示し、処理
AはAQ付加情報を示し、処理Bは、AQコードにより
実行/非実行が決定される処理プログラムを指定する。
この具体例においては、処理ステップ指定により実行す
る「工程」を指定し、AQコードにより処理したいAQ
の種類を指定する。ここで、処理AすなわちAQ付加情
報に処理Bで指定される処理プログラムの実行回数が記
述される。この具体例においては、処理Aに“#001
0”と記述されており、これは処理プログラムの実行回
数が10回であることを示している。
【0064】すなわち、この例においては、工程番号S
T0001の「工程」が活性状態の時に、処理Bで指定
される処理番号AC0001の処理プログラムが10回
実行されることを示している。
【0065】図25は、この実施例のプログラマブルコ
ントローラ100の全体的な処理手順をフローチャート
で示したものである。プログラムがスタートされると、
まず、電源オンの初期処理を実行し(ステップ80)、
続いて所定の共通処理を実行する(ステップ82)。そ
して、ユーザプログラムの運転が可能であり(ステップ
84)、初回運転であるならば(ステップ86)、ユー
ザプログラム運転初期処理を実行し(ステップ88)、
続いてユーザプログラム運転処理を実行する(ステップ
90)。そして、入出力回路17のリフレッシュを行い
(ステップ92)、共通処理(ステップ82)に戻る。
【0066】図26は、工程歩進型言語(SFC)によ
る工程歩進型プログラムの1工程の実行処理を示したも
のである。この1工程の実行処理においては、まず、A
Qの評価を行い(ステップ101)、このAQの評価が
アクション、すなわち「処理」の実行を指示するもので
あると、このAQに対応するアクションの実行を行う
(ステップ102)。AQの評価において、このAQが
アクションの実行を指示するものでない場合、またはス
テップ102のアクションの実行が終了すると、次にス
テップの遷移評価、すなわち次の「工程」へ遷移するた
めの遷移条件の評価を行う(ステップ103)。この遷
移条件の評価により次の「工程」へ遷移する条件が成立
している場合は、次の「工程」へのステップの遷移を行
う(ステップ104)。すなわち、実行処理状態にあっ
た活性状態の「工程」を非活性にし、次の「工程」を活
性状態にする。ただし、ステップ103における遷移条
件の評価により次の「工程」へ遷移する遷移条件が成立
していない場合は、この遷移は行わない。すなわち、実
行処理状態にあった活性状態の「工程」を活性状態に維
持する。
【0067】図27は、図26におけるステップ101
の「AQの評価」の詳細構成を示したものである。「A
Qの評価」においては、まず、AQの種類の判別を行
う。ところで、この実施例においては、AQの種類の中
にアクションの実行回数、すなわち処理プログラムの実
行回数をAQ付加情報により設定するAQが含まれてい
る。この実施例においては、AQとして、次の3種類が
用意されている。
【0068】1)ステップ(工程)が活性状態になって
から1サイクル目だけアクション(処理)を実行する
(パルス)。
【0069】2)ステップ(工程)が活性状態になって
から設定した時間だけアクション(処理)を実行する
(時間設定)。
【0070】3)ステップ(工程)が活性状態になって
から設定した回数だけアクション(処理)を実行する
(回数設定)。
【0071】さて、ステップ111のAQの評価によ
り、AQが上記「パルス」を意味するものであると、ス
テップが活性状態になってから1サイクル目かの判断を
行い(ステップ112)、ステップが活性状態になって
から1サイクル目であると、対応するアクションを実行
し(ステップ115)、1サイクル目でないと、対応す
るアクションの実行を行わない(ステップ116)。
【0072】また、ステップ111のAQの評価によ
り、AQが上記「時間設定」を意味するものであると、
ステップが活性状態になってから設定した時間を経過し
たかの判断を行い(ステップ113)、ステップが活性
状態になってから設定した時間を経過していないと、対
応するアクションを実行し(ステップ118)、設定し
た時間を経過すると、対応するアクションの実行を行わ
ない(ステップ117)。ここで、上記時間の設定はA
Q付加情報にこの時間を記述することにより行われる。
【0073】また、ステップ111のAQの評価によ
り、AQが上記「回数設定」を意味するものであると、
ステップが活性状態になってから設定した回数アクショ
ンを実行したかの判断を行い(ステップ114)、ステ
ップが活性状態になってから設定した回数実行していな
いと、対応するアクションを実行し(ステップ12
0)、設定した回数実行すると、対応するアクションの
実行を行わない(ステップ119)。ここで、上記回数
の設定はAQ付加情報にこの回数を記述することにより
行われる。
【0074】また、この実施例においては、AQコー
ド、AQ付加情報を利用してインターロック条件の制御
が行われる。この実施例においては、インターロック条
件の制御を行うために、ユーザプログラムメモリ1内に
格納されるユーザプログラム情報(1)の工程情報テー
ブル23に記述するAQコードとして「A」と「B」の
2つの新たなAQコードを導入する。
【0075】図28は、この新たな2つのAQコード
「A」、「B」と、このAQコード「A」、「B」によ
り実行/非実行が決定される処理プログラムの実行/非
実行との関係を示したものである。すなわち、AQコー
ド「A」は、指定接点(AQ付加情報により指定され
る)がオンで、処理プログラムを実行し、オフで非実行
にする。また、AQコード「B」は、指定接点(AQ付
加情報により指定される)がオフで、処理プログラムを
実行し、オンで非実行にする。
【0076】図29は、このAQコード「A」、「B」
の具体的使用例を示したものである。図29において
は、工程1に関連して記述された処理1および処理2が
示されている。図29に示すように、工程1に関連して
記述された処理1にはAQコードとして「A」が記述さ
れ、そのAQ付加情報として接点番号“02000”が
記述され、工程1に関連して記述された処理2にはAQ
コードとして「B」が記述され、そのAQ付加情報とし
て接点番号“15012”が記述されている。この場
合、工程1がアクティブ状態にあり、処理1を実行する
場合は、この処理1に対応してAQコード「A」が記述
されているので、そのAQ付加情報として記述される接
点番号“02000”の接点がオンであれば処理1に対
応する処理プログラムを実行し、接点番号“0200
0”の接点がオフであれば処理1に対応する処理プログ
ラムを非実行にする。
【0077】また、工程1がアクティブ状態にあり、処
理2を実行する場合は、この処理2に対応してAQコー
ド「B」が記述されているので、そのAQ付加情報とし
て記述される接点番号“15012”の接点がオフであ
れば処理2に対応する処理プログラムを実行し、接点番
号“15012”の接点がオンであれば処理2に対応す
る処理プログラムを非実行にする。
【0078】このように構成することにより、SFCの
AQにインターロック条件を組み込むことが可能にな
る。なお、このAQの処理は活性状態の「工程」の「処
理」から各処理プログラムがコールされる直前に行われ
る。
【0079】
【発明の効果】以上説明したように請求項1の発明によ
れば、条件シンボル(アクションクオリファイア)の付
加情報として処理の実行回数を記述し、この条件シンボ
の評価によりその付加情報に基づき処理の実行回数を
制御するように構成したため、以下に示すような種々の
効果が得られる。
【0080】1)繰り返し演算条件(回数設定)のシー
ケンスプログラム生成のための工数の軽減が図れる。
【0081】2)繰り返し演算条件(回数設定)のシー
ケンスプログラムの作成が必要なくなるためユーザプロ
グラムの容量が軽減される。
【0082】3)繰り返し演算条件(回数設定)をシー
ケンスプログラム内に入れないことにより、モジュール
再利用性が向上し、ユーザプログラム開発効率が向上す
る。また、請求項2の発明においては、条件シンボル
付加情報としてインターロックの対象となる処理の状態
を示すフラグを記述し、この条件シンボルの評価により
上記フラグに応じて上記処理の実行/非実行を制御する
ように構成したため、以下に示すような種々の効果が得
られる。
【0083】1)ラダーダイアグラムにおいて一般的な
プログラム手法であるインターロックの考え方をSFC
言語において同等に表現可能となる。
【0084】2)従来、工程間の遷移条件を利用して選
択分岐として表現されてきた排他制御を接点のオン/オ
フによる排他制御を条件シンボルとしてプログラムする
ことで、SFCチャートの冗長性を防ぎ、その可視性を
向上させ、プログラム設計時およびデバック時の作業時
間の短縮を図ることができ、同時にリアルタイム性も向
上させることができる。
【0085】3)従来、I/O制御およびデータ処理の
ためのプログラム中に排他条件として組み込まれてしま
っていた回路を物理的に抽出し、I/O制御およびデー
タ処理のためのプログラムの外部に定義可能となるの
で、I/O制御およびデータ処理のためのプログラムは
純粋な制御ロジックのみで表現でき、そのプログラムロ
ジックの再利用性を高め、プログラム設計、保守効率を
向上させることができる。
【図面の簡単な説明】
【図1】この発明に係わるプログラマブルコントローラ
の一実施例の全体構成を示すブロック図。
【図2】図1に示した実施例で採用する工程歩進型言語
(SFC)による工程歩進型プログラムの全体チャート
の一例を示す図。
【図3】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「工程歩進動
作」を説明するための図。
【図4】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「選択分岐動
作」を説明するための図。
【図5】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「並列分岐動
作」を説明するための図。
【図6】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「並列合流動
作」を説明するための図。
【図7】図2に示した工程歩進型プログラムの全体チャ
ートの部分詳細チャートを示すもので、「選択分岐から
の合流動作」を説明するための図。
【図8】図1に示したユーザプログラムメモリ内に格納
されるユーザプログラム情報(1)の内容を示した図。
【図9】図8に示した工程情報テーブルの詳細を示した
図。
【図10】図8に示した工程情報テーブルベクタの詳細
を示した図。
【図11】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(2)の内容を示した
図。
【図12】図11に示した遷移条件情報テーブルの詳細
を示した図。
【図13】図11に示した遷移条件情報テーブルベクタ
の詳細を示した図。
【図14】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(3)の内容を示した
図。
【図15】図14に示した処理プログラムの詳細を示し
た図。
【図16】図14に示した処理プログラムベクタの詳細
を示した図。
【図17】図1に示したユーザプログラムメモリ内に格
納されるユーザプログラム情報(4)の内容を示した
図。
【図18】図17に示した遷移条件プログラムの詳細を
示した図。
【図19】図17に示した遷移条件プログラムベクタの
詳細を示した図。
【図20】図8から図10に示したユーザプログラム情
報(1)の具体例を示した図。
【図21】図11から図13に示したユーザプログラム
情報(2)の具体例を示した図。
【図22】図14から図16に示したユーザプログラム
情報(3)の具体例を示した図。
【図23】図17から図19に示したユーザプログラム
情報(4)の具体例を示した図。
【図24】AQコード、AQ付加情報を利用した各処理
の実行回数の設定の具体例を示した図。
【図25】図1に示した実施例の全体的な処理手順を示
したフローチャート。
【図26】工程歩進型言語(SFC)による工程歩進型
プログラムの1工程の実行処理を示したフローチャー
ト。
【図27】図26における「AQの評価」ステップの詳
細構成を示したフローチャート。
【図28】この実施例で導入された新たな2つのAQコ
ード「A」、「B」と、このAQコード「A」、「B」
により実行/非実行が決定される処理プログラムの実行
/非実行との関係を示した図。
【図29】図28に示したAQコード「A」、「B」の
具体的使用例を示した図。
【符号の説明】
1、2、3、4 ユーザプログラムメモリ 10 バス 11 CPU(中央演算処理装置) 12 I/Oメモリ 13 システムプログラムメモリ 14 ワークメモリ 16 インターフェース(i/f) 17 入出力回路(I/O回路)
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−149706(JP,A) 特開 平3−248203(JP,A) 実開 昭60−166007(JP,U) (58)調査した分野(Int.Cl.7,DB名) G05B 19/04 - 19/05

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムを複数の工程に分割し、分割
    された各工程に1つまたは複数の処理を関係付けてプロ
    グラミングするSFC言語により記述されたユーザプロ
    グラムに基づき各工程に対応する上記処理を順次実行
    するプログラマブルコントローラにおいて、 上記ユーザプログラムは、各工程の活性状態または非活
    性状態と上記処理の実行または非実行の関係を表わし各
    処理に対応して設定される条件シンボルの記述を含み、 上記条件シンボルその付加情報として上記処理の実
    行回数を記述でき、 上記条件シンボルの評価によりその付加情報に基づき上
    記処理の実行回数を制御することを特徴とするプログラ
    マブルコントローラ。
  2. 【請求項2】 プログラムを複数の工程に分割し、分割
    された各工程に1つまたは複数の処理を関係付けてプロ
    グラミングするSFC言語により記述されたユーザプロ
    グラムに基づき各工程に対応する上記処理を順次実行
    するプログラマブルコントローラにおいて、 上記ユーザプログラムは、各工程の活性状態または非活
    性状態と上記処理の実行または非実行の関係を表わす
    件シンボルの記述を含み、 上記条件シンボルはその付加情報として上記処理の実行
    に対するインターロック条件を記述でき、 上記条件シンボルの評価により上記フラグに応じて上記
    処理の実行/非実行を制御することを特徴とするプログ
    ラマブルコントローラ。
  3. 【請求項3】 上記インターロック条件を記述すると
    は、 フラグのオンまたはオフを上記処理実行の排他条件とす
    ることができる該フラグの識別子を記述することである
    ことを特徴とする請求項2記載のプログラマブルコント
    ローラ。
JP20780492A 1992-08-04 1992-08-04 プログラマブルコントローラ Expired - Lifetime JP3331357B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20780492A JP3331357B2 (ja) 1992-08-04 1992-08-04 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20780492A JP3331357B2 (ja) 1992-08-04 1992-08-04 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH0651818A JPH0651818A (ja) 1994-02-25
JP3331357B2 true JP3331357B2 (ja) 2002-10-07

Family

ID=16545775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20780492A Expired - Lifetime JP3331357B2 (ja) 1992-08-04 1992-08-04 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP3331357B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241434A (ja) * 2006-03-06 2007-09-20 Mitsubishi Electric Corp シーケンス処理実行装置

Also Published As

Publication number Publication date
JPH0651818A (ja) 1994-02-25

Similar Documents

Publication Publication Date Title
JP3331357B2 (ja) プログラマブルコントローラ
JPH0766286B2 (ja) Nc装置の処理方法
JP3328714B2 (ja) プログラマブルコントローラ
JP3328686B2 (ja) プログラマブルコントローラ
JP2621631B2 (ja) プログラマブルコントローラ
JP2658578B2 (ja) プログラマブルコントローラ
JPS63214804A (ja) Plc用プロセツサ及びplc
US7069418B2 (en) Method and arrangement for instruction word generation in the controlling of functional units in a processor
JPH01195505A (ja) 数値制御装置
JP3460747B2 (ja) 数値制御装置
JP3207333B2 (ja) プログラマブルコントロ−ラ
JP2503634B2 (ja) マイクロプログラム制御装置
JPH11259308A (ja) プログラマブルコントローラ
JP4479738B2 (ja) プログラマブルコントローラ
JPH09160611A (ja) プログラマブルコントローラ
JP2581214B2 (ja) 論理シミュレータ
JP2708983B2 (ja) プログラムの表示装置
JPS6048770B2 (ja) 情報処理方式
JPH0883188A (ja) マルチタスク処理を行う計算機
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH05297913A (ja) プログラマブルコントロ−ラ
JPS6010337A (ja) マイクロ命令制御装置
JPS60120437A (ja) ロボット言語実行方法
JPH0682321B2 (ja) マイクロ制御装置
JPH0353348A (ja) マイクロプログラムのデバッグ方式

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: 20020605

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

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130726

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: 20130726

Year of fee payment: 11