JPH09222907A - 制御演算装置用プログラム作成処理方法 - Google Patents

制御演算装置用プログラム作成処理方法

Info

Publication number
JPH09222907A
JPH09222907A JP3027896A JP3027896A JPH09222907A JP H09222907 A JPH09222907 A JP H09222907A JP 3027896 A JP3027896 A JP 3027896A JP 3027896 A JP3027896 A JP 3027896A JP H09222907 A JPH09222907 A JP H09222907A
Authority
JP
Japan
Prior art keywords
instruction
program
individual
type
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3027896A
Other languages
English (en)
Inventor
Masashi Yamada
正志 山田
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP3027896A priority Critical patent/JPH09222907A/ja
Publication of JPH09222907A publication Critical patent/JPH09222907A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】理解が容易な形式で作成されたソースプログラ
ムから、制御演算装置での処理を効率的に行うためのプ
ログラムの生成させ、実行させる方法を提供する。 【解決手段】ソースプログラムPROF10に含まれる第2種
命令であるフィルター命令FIL と、ソースプログラムの
フィルター命令FIL の端子WS,Z,Nで示されているフィル
ター命令FIL への入力を与え命令群と、端子Wdで示され
ているフィルター命令FIL の処理結果を出力する命令
と、フィルター命令FIL からなる個別プログラムPROG10
MAと、個別プログラムPROG10MAに続く命令群からなる個
別プログラムPROG10MBとからなる個別プログラムPROG10
M をサポートツール2Aに生成させ、制御演算装置1Aに、
個別プログラムPROG10MAはフィルター命令FIL の端子N
に示された固有周期数"1000"で決まる固有周期で処理さ
せ、個別プログラムPROG10MBは主サイクルで処理させ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、定周期でプログラ
ムを実行することによって機能を実現する装置である、
プログラマブルコントローラ(Programmable Controlle
r)等の制御演算装置用のプログラムを作成し、作成した
プログラムを制御演算装置に実行させる方法に関する。
【0002】
【従来の技術】図6に、一定周期でプログラムを実行す
ることによって機能を実現する制御演算装置の一例とし
てプログラマブルコントローラ1(以下の説明ではPC
1と略記する)とPC1用のプログラムを作成する機能
を含むPC1の支援装置であるサポートツール2のブロ
ック図を示す。PC1は、制御演算手段11、プログラム
記憶手段12、データ記憶手段13、操作信号用の入力装置
14、PC1の状態を表示する表示装置15、制御対象との
間の信号を入出力する回路である第1入出力部16、サポ
ートツール2との間の信号を入出力する回路である第2
入出力部17、割込み信号回路18からなる。PC1とサポ
ートツール2とは必要な場合にのみ信号線SLによって接
続される。制御演算手段11は、プログラム記憶手段12に
格納されているプログラムを実行してPC1の機能を実
現する。なお以下の説明では、制御演算手段11がプログ
ラムを実行して実現する機能をプログラムが実現するも
のとして説明する。プログラム記憶手段12には、入力装
置14から操作信号を入力したり、第1入出力部16、第2
入出力部17を経由する信号の入出力を制御したり、表示
装置15に所定のデータを表示する処理など、PC1の基
本的な機能を実現するプログラムである基本プログラム
P10 と、PC1が制御対象を制御するための応用プログ
ラムP13 と、応用プログラムP13 の処理を適切に行わせ
るためのプログラムである実行管理プログラムP12 が格
納されている。データ記憶手段13は、制御演算手段11が
命令の実行をするに当たって参照するデータや、制御演
算手段11が生成したデータを格納する領域を含むデータ
記憶手段である。
【0003】サポートツール2は、制御演算手段21、プ
ログラム記憶手段22、データ記憶手段23、操作信号用の
入力装置24、サポートツール2の状態などを表示する表
示装置25、PC1との間の信号を入出力する回路である
入出力部26からなる。制御演算手段21は、プログラム記
憶手段22に格納されているプログラムを実行してサポー
トツール2の機能を実現する。なお以下の説明では、制
御演算手段21がプログラムを実行して実現する機能をプ
ログラムが実現するものとして説明する。プログラム記
憶手段22には、入力装置24から操作信号を入力したり、
入出力部26を経由する信号の入出力を制御したり、表示
装置25に所定のデータを表示する処理など、サポートツ
ール2の基本的な機能を実現するプログラムである基本
プログラムP20 と、PC1用の応用プログラムの作成を
含むPC1の支援を行うプログラムであるサービスプロ
グラムP21 が格納されている。データ記憶手段23は、制
御演算手段21が命令の実行をするに当たって参照するデ
ータや、制御演算手段21が生成したデータを格納する領
域を含むデータ記憶手段である。
【0004】図7に、図6に示したPC1が実行する応
用プログラムP13 をラダー図形式で表現したソースプロ
グラムを示す。制御演算手段11(図6を参照)が実行す
る応用プログラムP13 は、機械語の命令群で構成されて
いるが、応用プログラムP13は、ラダー図で表現された
ソースプログラムから一義的な対応関係で作成され、応
用プログラムP13 の内容はラダー図で表現することがで
きるので、PC1の制御演算手段11が実行する応用プロ
グラムP13 もラダー図形式で表現して示す。なお、サポ
ートツール2は、制御演算装置1に格納された応用プロ
グラムP13 をサポートツール2に転送し、このプログラ
ムをソースプログラムに変換し、表示する機能も有す
る。
【0005】図において左端の列に並ぶ符号"L00,L01
〜" 等は線番号であり、それぞれの符号の行に書かれた
演算を代表する符号である。線番号L00 では、線番号L0
1 以下に続く命令群で構成されるプログラムの名称が"P
ROG0" であることを示し、個別プログラムPROG0 の個別
周期を":" の後に続く数値"0" によって示している。線
番L01 は、1ビットのデータaと、1ビットのデータb
を反転した値のデータのアンド演算を実行し、結果をデ
ータ領域M1に格納する処理をするプログラムを示してい
る。線番号L01 以下も1ビット単位の論理演算であるが
演算の内容についての説明は省略する。線番号LO7 の符
号"PEND"は、この線番号より前にある命令群で構成され
るプログラムが終了することを表し、図の例では線番号
L00 から始まる個別プログラムPROG0 は線番号L07 で終
わることが示されている。同様にして、線番号L10 〜L1
6 は、個別プログラムPR0G50であり、個別プログラムPR
OG50の個別周期を指示する数(以下の説明では個別周期
数と略記する)は"1000"であり、線番号L20 〜L29 は、
プログラムPR0G510 であり、個別プログラムPROG10の個
別周期数は"0" であることが表されている。線番号L30
には、応用プログラムP13 の最終であることを示す符
号"END" が書かれている。
【0006】制御演算手段11は、応用プログラムP13 の
実行を、このプログラムの先頭である線番号L00 から線
番号順に順次実行し、符号END の行まで実行すると再び
先頭の線番号L00 に戻り、以下線番号L00 〜線番号L30
までの命令の実行を繰り返す。図7に示した例の様に、
制御演算手段11が最初に実行する応用プログラムの命令
から最終符号までの命令の一連の命令群の連なりが主ル
ーチンであり、主ルーチンを構成する命令を補うサブル
ーチン群も用意されている。以下の説明では、主ルーチ
ンを一巡する周期を主サイクルと表記する。なお、個別
周期を表す数値については後に説明する。
【0007】応用プログラムP13 を構成する命令は、2
値のアンド演算とかオア演算などが大部分であり、これ
らの演算は演算を実行する時点において入力データが与
えられると直ちに結果を出力する。このように命令実行
時点で入力されるデータのみで演算結果を出力する命令
を以下の説明では第1種命令として区分する。ところが
応用プログラムP13 を構成する命令の中には、入力され
るデータの変化を検出し結果を出力する微分命令、所定
時間の間、次々に入力されるデータを積分し結果を出力
する積分命令、一定サイクルで入力される過去のデータ
と現在の入力データとを参照して演算し結果を出力する
フィルタ命令など、主サイクルとは異なる一定周期での
処理が必要な命令がある。このような命令を以下の説明
では第2種命令として区分する。
【0008】第2種命令を実行させるためには、過去の
データを演算結果が実用的に許容される範囲の確度で得
られるように一定の頻度でデータを入力する必要があ
る。例えば一定周期のクロックを計数するタイマの命令
は、第2種命令であるが、このタイマ命令の計測開始の
時点から計測終了までの時間が分単位の精度で要求され
るならば、時間を計数するための一定周期のクロックは
1秒の周期で入力しても要求の精度を十分満足すること
ができる。また、液温が所定の温度になるようにPID
制御をするためのPID演算をするフィルタ命令に入力
すべき温度の測定値は、制御対象の液が貯蔵されている
タンクの熱容量、要求される温度の精度、ヒータの出力
などに応じて定まる周期、例えば1分周期で入力すれば
要求の精度を満足することができる。そこで、第2種の
命令においては、主サイクルが循環する都度入力を与え
る必要はない。命令に要求される頻度以上で第2種命令
にデータを入力し、演算を実行させても得られる結果に
有意の差異がなく無駄な演算のために主サイクルが遅延
することになる。
【0009】次に上述したような必要以上に第2種命令
を実行させることによる処理の遅延を防止するための従
来から行われているいる方法を説明する。先ず、応用プ
ログラムを構成するプログラム群ごとに、図7に示した
個別プログラムPROGO 、個別プログラムPROG50のよう
に、プログラム名の後に個別周期数を指定する。また、
PC1の内部に一定周期で割込み信号を出力する割込み
信号回路を設け、この回路が出力する割り込み信号を制
御演算手段11が受け付けるごとに、プログラム群ごとに
指定されている個別周期数を参照して、割り込み信号が
入力された時点で実行すべきプログラムを選択させ実行
させる。例えば、図7に示した個別プログラムPROG0 で
指定している個別周期数 "0" は、このプログラムは割
り込み信号と無関係に主サイクルで実行させるプログラ
ムであることを表しているので個別プログラムPROG0 は
割り込み信号とは無関係に主サイクルで実行させる。0
以外の個別周期数は、1回の処理が実行されるまでの割
り込み回数を表した数である。例えば、個別プログラム
PROG50の指定している個別周期数は"1000"であるので、
個別プログラムPROG50は、1000回の割り込み信号につき
1回実行される。
【0010】図8に、第2種命令を含むプログラムの例
として、図6に示したサポートツール2の表示画面25に
表示された個別プログラムPROG50を示す。個別プログラ
ムPROG50は、線番号L10 の":" の後に個別周期数の1000
が表示されているので、割り込み信号が1000回受け付け
られるごとに1回処理されるプログラムである。個別プ
ログラムPROG50は、図示のとおり、フィルター命令FIL
とフィルター命令FILの後続処理プログラムBからな
る。フィルター命令FIL は、サポートツール2の表示画
面においては、図示のとおり認識し易い形状として表示
され、後続処理プログラムBを構成する命令についても
それぞれの命令の意味が直観的に分かる図形によって表
示される。なお図形中の端子の符号は、ハードとして実
在する端子を示した符号ではなく、プログラムの処理に
必要な入力データを端子で示した符号および処理結果の
出力データを端子で示した符号である。図形の左に配列
された端子は入力データを、右に配列された端子は出力
データを表す。以下の説明では、端子にデータが入力さ
れ、端子からデータが出力されるものとして説明する。
【0011】端子T の箇所に入力された数値1000は、フ
ィルター命令FIL の個別周期数であり、端子WSへの入力
データWB0 は、端子T で定義された個別周期数の1000に
従い、割り込み信号の1000回につき1回の割合で入力さ
れる変数であり、フィルター命令FIL は、端子T に与え
られた個別周期数1000の条件のもとに、端子Z,N に予め
与えられているデータをパラメータとし、入力データWB
0 を変数として所定の演算を行い、結果をデータWdとし
て出力する。データWdは複数ビットからなるデータであ
るが、図形としては単線で表示する。後続処理プログラ
ムBは、フィルター命令FIL の処理結果である端子Wdの
出力を、命令B1で10倍し、命令B2でデータOXによって
除算し、命令B1と命令B2との結果を命令B3で加算し結果
をデータWB1 として出力する。データOXは、外部からの
設定値として入力される数値であり、CP1の入力装置
14(図6を参照)から非同期的に入力される。
【0012】サポートツール2(図6を参照)は、ソー
スプログラムを図8に例示したラダー図形式で入力さ
れ、コンパイルを指示する信号を入力装置24(図6を参
照)から入力されると、ラダー図に示されている内容を
図9に示すアセンブリ語で記述された命令と、1対1で
対応する、PC1(図6を参照)が実行可能な機械語の
命令コードからなるプログラムに変換する。以下の説明
では、PC1用の機械語プログラムは、この機械語のア
センブリ語に対応するのでアセンブリ語の表現を使用す
る。図9において左端の数値は命令を明示するために実
行される命令の順序に従って命令ごとに付加した番号で
あり、機械語には変換されない。番号901の命令は、プ
ログラム名のPROG50と、個別周期を表す数値の10
00とからなるコードであり、PC1は、このコードによ
ってPROG50の開始番地を判別し、このプログラム
の個別周期を検出する。番号902 はデータWB0 をフィル
ター命令FIL に入力する命令であり、番号903,904 はパ
ラメータをフィルター命令FIL に与える命令群である。
番号905 はフィルター命令FIL を処理させる命令であ
り、番号906 の命令は、フィルター命令FIL の実行結果
をデータ領域の番地を表すラベルのAM19に格納する命令
である。番号902 〜906 の命令は、主サイクルとは別の
割込み信号を計数した個別周期で処理される命令である
第2種命令のフィルター命令FIL と、この命令に直接関
係する命令からなる命令群である。番号907 〜913 は後
続処理プログラムBの命令群であり、番号914 の命令に
よって個別プログラムPROG50の終わりが示される。
【0013】図10は、図6に示した実行管理プログラム
P12 による、第2種命令を実行させる方法の説明図であ
る。実行管理プログラムP12 は大別して2つの機能を有
する、第1の機能は、サポートシステム2(図6を参
照)において作成されたPC1(図6を参照)用の応用
プログラムP13 をPC1が第2入出力部6(図6を参
照)を経由して入力すると、個別プログラム別に、周期
設定テーブルPTと、時間現在値領域PDT と、先頭番地領
域TAとをデータ記憶手段13(図6を参照)に設定する機
能である。周期設定テーブルPTは、個別周期数が0であ
るプログラムを除くプログラム別に指定された実行周期
を登録する領域である。例えば図7に示した個別プログ
ラムPROG50の個別周期数1000、個別プログラムPROG51の
個別周期数20などがそれぞれの個別プログラムPROG50,P
ROG51 の実行周期を定める数として個別プログラム名か
ら検索可能な形式で格納される。時間現在値領域PTD
は、割り込み信号ISの割り込み回数を積算し、個別プロ
グラム別に格納する領域であり、この個別プログラム別
の領域は、この領域に対応する個別プログラムが処理さ
れる都度、0にクリアされ、処理すべき割り込み回数に
達しない間は、割り込み信号が制御演手段11(図6を参
照)に受け付けられる都度、割り込み回数の積算が行わ
れる。先頭番地領域TAは、各個別プログラムの実行開始
番地を格納する領域である。
【0014】実行管理プログラムP12 の第2の機能は、
応用プログラムP13 実行中の機能である。割り込み信号
ISによって実行管理プログラムP12 が起動すると、実行
管理プログラムP12 は先ず現在地領域の個別プログラム
ごとの領域の内容に1を加算する。次いで、各個別プロ
グラムごとに時間現在値領域PTD の内容と、周期設定テ
ーブルPTの内容とを比較し、時間現在値領域PTD の内容
が周期設定テーブルPTの内容と等しいか、周期設定テー
ブルPTの内容を上回っている場合には、この該当する個
別プログラムの時間現在値領域PTD の内容を0にクリア
し、この該当個別プログラムの先頭番地を先頭番地領域
TAから検索し、検索した先頭番地から始まる個別プログ
ラムに命令の実行を移し、このプログラムを処理をす
る。処理終了後は割り込み処理に続く主ルーチンの命令
に実行を戻し、主ルーチンの実行を継続する。例えば、
図8および図9に示した個別プログラムPROG50は、個別
周期数1000で指定されているので個別プログラムPROG50
の個別周期を表す数の1000が同期設定テーブルPTに、プ
ログラムPR0G50用の時間現在値カンウタ領域が時間現在
値領域PTD に、個別プログラムPROG50の先頭番地が先頭
番地領域TA中に設定される。割込み信号回路18(図6を
参照)から出力される割り込み信号ISによって実行管理
プログラムP12 が起動すると、実行管理プログラムP12
は、時間現在値領域PTD の個別プログラムPROG50の領域
の内容についても1を加算する。次に時間現在値領域PT
D の個別プログラムPROG50の領域の内容と、同期設定テ
ーブルPTの個別プログラムPROG50の内容とを比較し、時
間現在値領域PTD の個別プログラムPROG50の領域の内容
が同期設定テーブルPTの個別プログラムPROG50の内容に
等しいか上回っている場合には、時間現在値領域PTD の
個別プログラムPROG50の領域をクリアし、個別プログラ
ムPROG50の先頭番地を先頭番地領域TA中から検索し、個
別プログラムPROG50を実行する。上に述べた以外の場合
には個別プログラムPROG50は実行されず、時間現在値領
域PTD の個別プログラムPROG50の領域の内容の加算のみ
が行われる。
【0015】ところが、図8により説明した個別プログ
ラムPROG50において、入力データWB0 の変化に応ずるフ
ィルター命令FIL の実行が、定周期割り込み1000回につ
き1回の割合で行われて十分要求の精度が満足できたと
しても、後続処理プログラムBでの入力信号OXがより頻
繁な頻度での実行が要求される場合には、後続処理プロ
グラムBの実行を前のフィルター命令FIL の個別周期に
一致させることができない。例えば、入力データWB0 の
変化が非常に緩慢な温度であって、フィルターFIL の実
行を長い周期で行って要求が満足されるとしても、フィ
ルター命令FILの出力データWdを一つの入力データとす
る後続処理プログラムBにおいて操作入力データOXを他
の一つの入力データとしている場合には、操作入力につ
いては、変化に対応する敏速な出力の変化が求められる
場合が多いので、後続処理プログラムBをフィルター命
令FIL の実行を待たずに早い周期で実行させる必要があ
る。
【0016】上述の様に、一つのまとまった結果を与え
るプログラムであっても、前段の処理をするプログラム
と後続処理をするプログラムとの間で個別周期の要求が
異なる場合には、それぞれのプログラムを異なる周期で
処理させる必要がある。図11に、上述の様な総合して意
味を持つプログラムにおいて、このプログラムを構成す
るプログラム群に異なる実行周期が要求される場合のプ
ログラム方法を示す。図11に示すプログラム作成方法に
おいては、図8に示した個別プログラムPROG50を構成す
る第2種命令であるフィルター命令FIL と、第2種命令
を含まない後続処理命令群Bに分割し、フィルター命令
FIL のみをプログラムPR0G50として残し、後続処理プロ
グラムBを個別周期数が0の領域の個別プログラムPROG
10として作成する。この様にプログラムを分割した結
果、フィルター命令FIL は、定周期の割り込み回数、10
00回に付き1回実行されるが、個別プログラムPROG10は
主サイクルで処理され、入力OXの変化が迅速に反映され
る。
【0017】
【発明が解決しようとする課題】前述のとおり、一つの
まとまった機能を持つプログラムであっても、このプロ
グラムを構成する命令の中には、緩やかに変化するデー
タを入力とするフィルター命令のように頻繁に演算させ
る必要のない命令を含み、しかもこのプログラムを構成
する他のプログラム群は短い周期での処理が要求される
場合がある。長い周期の処理で十分な命令の演算を、短
い周期で行えば対象とする一つのまとまった意味を持つ
プログラムの機能が損なわれることはないが、全体のプ
ログラムを実行するサイクルが無意味に遅延する障害が
生ずる。一つのまとまった機能を持つプログラムを、長
い周期の処理で十分な命令のプログラムと、この命令に
後続するプログラム群とに分割し、後続する命令群の処
理を短い周期で実行するプログラムに含めれば、全体の
プログラムの実行サイクルの遅延を招くことなく、一つ
のまとまった機能を持つプログラムを機能させることが
できる。しかし、一つのまとまった機能を持つプログラ
ムを分割するために、従来の方法ではこのプログラムの
ソースプログラムも分割する必要があるので、ソースプ
ログラムにおいてプログラムが持つ機能を読み取ること
が困難になる。
【0018】上述の事情があることに鑑み、本発明は、
ソースプログラムを分割することなく容易に解読が可能
な形式で作成しても、制御演算装置が処理するプログラ
ムは、最適な実行周期区分に従って処理される、制御演
算装置用プログラム作成処理方法を提供することを目的
とする。
【0019】
【課題を解決するための手段】前述の目的を達成するた
め、請求項1に記載の発明によれば、主サイクルの1回
ごとに処理が一巡する主プログラムを周期的に処理する
ことによって、制御対象の制御や、制御対象の状態表示
等をリアルタイムに行う制御演算装置と、入力されたソ
ースプログラムを制御演算装置が処理可能なプログラム
に変換する機能を有するサポートツールとにおける制御
演算装置用プログラム作成処理方法において、主プログ
ラムを構成する、個別プログラムの命令群を、主サイク
ルの1回につき1回処理して結果を出力する形式の命令
である第1種の命令と、主サイクルとは別の個別プログ
ラムごとに決められた個別周期における処理によって結
果を出力する形式の命令である第2種の命令とに区分
し、サポートツールは個別プログラムを変換する過程
で、第2種命令と、この第2種命令の処理に直接必要と
される命令とからなる命令群の先頭に、この命令群の処
理の開始箇所を指定する命令である個別処理開始命令
と、この命令群の最後尾にこの命令群の処理の終了を表
す命令である個別処理終了命令とを付加し、制御演算装
置に、第2種命令語に付与された個別周期を示す数値が
表す周期に従って、個別処理開始命令から個別処理終了
命令までの処理をさせることを特徴とする。
【0020】従って、個別のソースプログラムが、理解
を優先した形式で作成され、このため第1種命令と第2
種命令とが混在したとしても、サポートツールは、この
個別ソースプログラムを構成する命令を第1種命令と第
2種命令に区分し、第2種命令とこの命令の処理に直接
必要とされる命令群の先頭に個別処理開始命令を付加
し、この命令群の最後に個別処理終了命令を付加してソ
ースプログラムを制御演算装置が処理可能な形式のプロ
グラムに変換する。制御演算装置は、個別処理開始命令
と個別処理終了命令とに囲まれた第2種命令を含むプロ
グラムを、第2種命令が示す個別周期を表すデータによ
って定まる周期に従って処理する。
【0021】また、請求項2に記載の発明によれば、主
サイクルの1回ごとに処理が一巡する主プログラムを周
期的に処理することによって、制御対象の制御や、制御
対象の状態表示等をリアルタイムに行う制御演算装置
と、入力されたソースプログラムを制御演算装置が処理
可能なプログラムに変換する機能を有するサポートツー
ルとにおける制御演算装置用プログラム作成処理方法に
おいて、主プログラムを構成する、個別プログラムの命
令群を、主サイクルの1回につき1回処理して結果を出
力する形式の命令である第1種の命令と、主サイクルと
は別の個別プログラムごとに決められた個別周期におけ
る処理によって結果を出力する形式の命令である第2種
の命令とに区分し、ソースプログラムの第2種命令は、
この命令が処理されるべき個別周期と、この命令の処理
に必要な命令とを表す形式とし、サポートツールは、ソ
ースプログラムの第2種命令の個別周期と、第2種命令
の処理に必要な命令とを制御演算装置が判別し、処理す
ることが可能な形式に変換し、制御演算装置は第2種命
令と、この第2種命令に直接関係する命令からなる命令
群をこの第2種命令が示す個別周期で処理することを特
徴とする。
【0022】即ち、請求項2の発明を適用した制御演算
装置とサポートツールにおいては、個別のソースプログ
ラムに第1種命令と第2種命令とが混在していても、サ
ポートツールは、ソースプログラムの第2種命令の表現
形式から第2種命令を選別し、この第2種命令の個別周
期と、第2種命令の処理に必要な命令とを判別し、制御
演算装置が個別周期と、この第2種命令の処理に必要な
命令とを判別できる形式で構成した機械語のプログラム
に変換する。そして、制御演算装置は、第2種命令とこ
の第2種命令に直接関係する命令からなる命令群を、こ
の第2種命令が示す個別周期で処理する。
【0023】また、請求項2に記載の発明において、サ
ポートツールは、ソースプログラムの第2種命令を、個
別周期を表す数値を付加した命令コードに変換し、ソー
スプログラム第2種命令に表示されているこの命令の処
理に必要な命令のうち、この第2種命令の処理に必要な
データを与える命令は、この第2種命令の前に連続して
配列された命令コードに変換し、この第2種命令の処理
結果を出力する命令は、この第2種命令の後に連続して
配列された命令コードとして変換し、制御演算装置のデ
ータ記憶手段に第2種命令の命令コードを登録し、制御
演算装置に、登録されている第2種命令コードを参照し
て第2種命令を判別し、この第2種命令と、この第2種
命令の前に連続して配列されたデータを与える命令と、
この第2種命令の後に連続して配列されたデータを出力
する命令とからなる命令群を、この第2種命令に付加さ
れた個別周期を表す数値に従って処理させるものとする
と好適である。
【0024】即ち、サポートツールは、ソースプログラ
ムの第2種命令を個別周期を表す数値を付加した命令コ
ードに変換する。さらに、この第2種命令に表示されて
いる処理に必要なデータを与える命令と、処理結果を出
力する命令とをそれぞれ、第2種命令の前に連続して配
列した命令コード、後に連続して配列した命令コードに
変換する。制御演算装置は、制御演算装置のデータ記憶
手段に登録された第2種命令コードを参照して第2種命
令を判別し、この第2種命令と、この第2種命令の前に
連続して配列されたこの第2種命令にデータを与える命
令と、この第2種命令の後に連続して配列されたデータ
出力の命令とからなる命令群を、この第2種命令に付加
された個別周期を表す数値に従って処理する。
【0025】さらに、請求項1ないし請求項3の発明に
おいて、制御演算装置の内部に、一定周期の割込み信号
を出力する割込み信号回路を設け、制御演算装置に、第
2種命令を含む命令群ごとの個別周期を表すデータから
なる周期設定テーブルと、第2種命令を含む命令群ごと
の時間現在値領域とを設定させ、割込み信号回路から割
込み信号が出力されるごとに時間現在値領域の命令群ご
との領域の内容に1を加算させ、時間現在値領域の内容
と周期設定テーブルの内容を対比させ、時間現在値領域
の内容が周期設定テーブルの内容に等しいか、上回った
個別プログラムの時間現在値領域の内容を0にクリアさ
せ、かつこの個別プログラムを処理させるものとすると
好適である。
【0026】即ち、制御演算装置は、制御演算装置の内
部に備えられた割込み信号回路から割込み信号が出力さ
れる都度、時間現在値領域の個別プログラムごとの領域
の内容に割込み信号の回数を積算する。さらに個別プロ
グラムごとの周期設定テーブルの内容と時間現在値領域
の内容とを対比し、時間現在値領域の内容が周期設定テ
ーブルの内容に達しているか上回っている個別プログラ
ムの時間現在値領域の内容を0にクリアし、この個別プ
ログラムを処理する。
【0027】
【発明の実施の形態】図1に請求項1の発明の実施の形
態の一例である、請求項1の発明の方法を適用した制御
演算装置の一つの種類であるプログラマブルコントロー
ラ1A(以下の説明ではPC1Aと略記する)とPC1A用の
プログラムを作成する機能を有するサポートツール2Aと
のブロック図を示す。
【0028】図示のとおりPC1Aは、制御演算手段11、
プログラム記憶手段12A 、データ記憶手段13、入力装置
14、表示装置15、第1入出力部16、第2入出力部17、割
込み信号回路18からなり、PC1Aの構成要素の内、図6
に示したPC1の構成要素と同符号を付して示したもの
は、PC1の構成要素と同一の機能を有する構成要素で
あるので説明を省略する。プログラム記憶手段12A に
は、基本プログラムP10、実行管理プログラムP12A、応
用プログラム13が格納されており、プログラム記憶手段
12A に格納されているプログラムの内、図6に示したP
C1のプログラム記憶手段12に格納されているプログラ
ムと同符号を付して示したプログラムは、プログラム記
憶手段12に格納されているプログラムと同一機能のプロ
グラムである。プログラム記憶手段12A は、実行管理プ
ログラムP12 に代わる実行管理プログラムP12Aを格納す
る点を除けば、プログラム記憶手段12と同一機能のプロ
グラム記憶手段である。
【0029】サポートツール2Aは、制御演算手段21、プ
ログラム記憶手段22A 、データ記憶手段23、入力装置2
4、表示装置25、入出力部26からなり、サポートツール2
Aの構成要素の内、図6に示したサポートツール2の構
成要素と同符号を付して示したものは、サポートツール
2の構成要素と同一の機能を有する構成要素であるので
説明を省略する。プログラム記憶手段22A には、基本プ
ログラムP20 とサービスプログラムP21Aが格納されてお
り、基本プログラムP20 は図6に示したPC1の基本プ
ログラムP20 と同一機能のプログラムであり、プログラ
ム記憶手段22A は、サービスプログラムP21 に代わるサ
ービスプログラムP21Aを格納する点を除けば、プログラ
ム記憶手段22と同一機能のプログラム記憶手段である。
【0030】図2に、図1に示したサポートツール2Aと
PC1Aとによる、プログラム作成と作成されたプログラ
ムの処理の説明図を示す。図2の(a) は、サポートツー
ル2Aの表示装置25に表示された個別プログラムPROG10の
ソースプログラムを示した図であり、個別プログラムPR
OG10は、第2種の命令であるフィルター命令FIL と後続
処理命令Bからなる。なお個別プログラムPROG10は、図
8に示した個別プログラムPROG50と同一の機能のプログ
ラムであるが、線番号L10 に示されている個別周期数が
主サイクルでの実行を意味する値の0になっている点が
異なる。図示のとおり、個別プログラムPROG10のソース
プログラムは、フィルター命令FIL が出力するデータWd
を一つの入力とする後続処理プログラムBまでを含めて
個別の機能を表すので、図示のとおり、フィルター命令
FIL とこの命令の後続処理プログラムBとを一つの画面
に表示することが望ましい。
【0031】図2の(b) は、図1の(a) に示したソース
プログラムから、サポートツール2Aの制御演算手段21が
サービスプログラムP21Aを(図1を参照)実行して生成
した、PC1Aが実行可能な形式の制御演算装置用の個別
プログラムPROG10M の構造を示した図である。なお、個
別プログラムPROG10M は機械語であるが、この図では便
宜上、機械語に1対1の対応関係にあるアセンブリ語で
表現して説明する。
【0032】サービスプログラムP21Aを実行する制御演
算手段21は、ラダー図形式で表現されたソースプログラ
ムを上段から下段に向かい、左から右に向かって順次機
械語に変換する。ソースプログラムPROG10の変換に達す
ると、制御演算手段21は、個別プログラムPROG10(図2
の(a) を参照)の個別周期数が0であるので、個別プロ
グラムPROG10M の個別周期を先ず主サイクルとするため
に、図の番号301 に示すとおりに、個別プログラムPROG
10M の先頭を示す命令 "PROG10M"のオペランドを個別プ
ログラムPROG10M の個別周期が主サイクルによることを
表す数値の0にする。次に変換する命令は、フィルター
命令FIL である。制御演算手段P21Aは、フィルター命令
FIL の端子T に示された個別周期数が1000であるので、
フィルター命令FIL を第2種命令と判定し、フィルター
命令FIL およびフィルター命令FIL の実行に直接関係す
る命令をフィルター命令FIL に示された個別周期数に一
致させるために、第2種命令の命令名である"FIL" と、
第2種命令を含む命令群の先頭を表すコードである"STA
RT" からなる、処理開始命令をフィルター命令FILとこ
の命令に直接関係する命令からなる命令群の先頭に挿入
する。第2種命令とこの命令に直接関係する命令は、ソ
ースプログラムにおける第2種命令の表示から判別され
る。即ち、フィルター命令FIL は個別周期数を表示する
端子T を備えることから第2種命令であることが判別さ
れ、フィルター命令FIL に直接関係する命令は、フィル
ター命令FIL のソースプログラムにおける表示(図2の
(a) を参照)から、端子WS、端子Z 、端子N 、へのデー
タを入力する命令と、端子Wdからデータを出力する命令
であると判断される。また、制御演算手段21は、第2種
命令とこの命令に直接関係する命令群の最後尾に、第2
種命令の命令名とプログラム群の最後尾を示すコードで
ある"END" からなる命令語を挿入する。即ち、図の番号
308 に示すとおりに、フィルター命令FIL の名称"FIL"
と"END" からなる命令語を、フィルター命令FIL とこの
命令に直接関係する命令群の最後尾に挿入する。
【0033】図2の(c) は、図1に示したPC1Aの実行
管理プログラムP12Aによる処理を示した説明図である。
実行管理プログラムP12Aは、サービスツール2Aから、制
御演算装置用プログラムがロードされると、ロードされ
たプログラムを主ルーチンとして格納し、主サイクルと
は異なる連続した周期での処理を必要とする第2種命令
を含む命令群を、主ルーチンとは別の領域に第2種命令
のプログラム群PR2 として格納する。
【0034】制御演算装置1Aが主ルーチンMPの実行を開
始し、割込み信号回路ISC (図1を参照)から割込み信
号ISが実行管理プログラムP12Aに入力されると、実行管
理プログラムP12Aは、割込み管理データ領域ICD の内容
を参照して、第2種命令プログラム群PR2 の中に処理す
べき命令が存在するか否かを判定し、存在する場合には
この該当する命令にタクスを切り換えて処理し、処理が
終了するとタスクを切り換えて再び主ルーチンの処理を
続行する。
【0035】図3の(a) に、図2の(a) に示したソース
プログラムPROG10の詳細を示した図を示す。ソースプロ
グラムPROG10は、図8に示したソースプログラムPROG50
と個別周期数の表示が異なる以外は、同一の機能を有し
同一の符号、同一図形によって表現されたプログラムで
あるので、説明を省略する。図3の(b) は、図3の(a)
に示したソースプログラムPROG10を、サービスプログラ
ムP21 によって変換した制御演算装置1A(図1を参照)
が実行可能な形式の機械語プログラムをアセンブリ語の
表現にした機械語プログラムと同等な個別プログラムPR
OG10M であり、個別プログラムPROG10M の左側の番号
は、個別プログラムPROG10M を構成する命令に説明の便
宜上付加した番号である。番号301 の命令は、図1の
(b) によって説明したとおりの個別プログラムPROG10M
を主ルーチンで実行させることを指定した命令である。
番号302 の命令は、フィルター命令FIL が第2種命令と
判定され、フィルター命令FIL とこの命令に直接関係す
る命令群の先頭を示すために挿入された命令である。番
号303 〜305 までの命令は、フィルター命令FIL のソー
スプログラムPROG10におけるフィルター命令FIL に示さ
れているフィルター命令FIL の実行に必要な入力データ
を与える命令であり、番号307 の命令はプログラム命令
FIL の実行結果を格納する命令であって、番号302 〜30
7 の命令群からなる個別プログラムPROG10MAは、フィル
ター命令FIL が示す個別周期と同一の周期で処理される
べきプログラムである。番号308 は、第2種命令である
フィルター命令FIL を含む個別プログラムPROG10MAの最
終を示す命令である。番号309 以後の個別プログラムPR
OG10MBは、図9に示した後続処理プログラムBと同一の
プログラムであるので説明を省略する。
【0036】図4に、図1および図2の(c) に示した実
行管理プログラムP12Aと同一の実行管理プログラムP12A
による、図2に示したフィルター命令FIL を含むプログ
ラムPR0G10M の処理の方法を示す。図において、PTは設
定周期テーブル、ITは時間現在値領域、ETはエントリー
テーブルであって、図10に示した同符号の領域と同一の
機能を有するデータ記憶手段13(図1を参照)に設定さ
れた領域であって、図2の(c) に示した割込み管理デー
タ領域ICD を構成する領域である。実行管理プログラム
P12Aは、個別プログラムPROG10M を含む応用プログラム
13(図1を参照)の実行を開始する時点での初期設定に
おいて、応用プログラム13を順次読出し、読みだした内
容に従って、設定周期テーブルPT、時間現在値領域IT、
エントリーテーブルETを生成し、それぞれの領域には、
図3に示した個別プログラムPROG10M を構成する個別プ
ログラムPROG10MAと個別プログラムPROG10MBの領域を設
定する。なお、時間現在値領域ITの内容は初期設定時に
は0である。
【0037】応用プログラムP13 の実行が開始され、割
込み信号回路18(図1を参照)から割込み信号が出力さ
れ制御演算手段11に受け付けられると、実行管理プログ
ラムISが起動する。実行管理プログラムISは、時間現在
値領域ITに設定された個別プログラムPROG10MA、個別プ
ログラムPROG10MBの領域の内容に、他の時間現在値領域
ITの内容と同様に1を加算する。次いで設定周期テーブ
ルPTの内容を参照し、時間現在値領域ITの内容が設定周
期テーブルの内容に等しいか上回っているプログラムの
領域がある場合には、該当するプログラムの先頭番地を
エントリーテーブルETから検索して該当プログラムを処
理し、時間現在値領域IT内の処理したプログラムの領域
の内容を0にクリアする。個別プログラムPROG10MBは、
図3によって説明したとおり、設定周期テーブルPTでの
設定値が0になっているので、処理対象のプログラムと
なり、割込み信号ISが実行管理プログラムP12Aに受け付
けられる都度、処理される。フィルター命令FIL を含む
個別プログラムPROG10MAは、設定周期テーブルPTでの設
定値が1000であるので、割込み信号ISが実行管理プログ
ラムP12Aに受け付けられる回数の1000回につき1回だけ
処理される。
【0038】図5に、請求項2の発明の実施の形態の一
例である、請求項2の発明の方法を適用したPC1Bと、
PC1B用のプログラムを作成する機能を有するサポート
ツール2Bとにおいて、サポートツール2Bが作成したPC
1B用のプログラムの一例と、サポートツール2Bが作成し
たプログラムを処理するPC1Bの動作を表したフローチ
ャートを示す。
【0039】PC1Bは、PC1Aの実行管理プログラムP1
2A(図4を参照)に代わる、実行管理プログラムP12Bを
有する点以外は、PC1Aと同一の構成のプログラマブル
コントローラである。実行管理プログラムP12Bは、実行
管理プログラムP12Aの機能を含み、図5のフローチャー
トで表される機能が付加されたプログラムである。サポ
ートツール2Bは、サービスプログラムP21Aに代わる、サ
ービスプログラムP21Bを有する点以外は、サポートツー
ル2Aと同一構成のものである。
【0040】図5の(a) に示すプログラムは、図2の
(a) および図3の(a) に示したソースプログラムと同一
形式で入力された、同一機能のプログラムがサービスプ
ログラムP21Bによって、PC1B用の機械語のプログラム
に変換されたプログラムであり、このプログラムをアセ
ンブリ語で表示したプログラムである。図示の例のとお
り、ソースプログラムはすべて主ルーチンに含まれる構
造で作成され、第2種命令については、命令コードに個
別周期数が付加される。例えば、フィルター命令FIL は
ソースプログラムで、この命令の端子T (図3の(a) を
参照)に個別周期数の1000が指定されているので 番号
405 に示すとおりに命令コードFIL に個別周期数の1000
が付加される。また、サービスプログラムP21Bは、フィ
ルター命令FIL の処理に必要なデータを与える命令が、
ソースプログラムのフィルター命令FIL (図3の(a) を
参照)の端子WS,Z,Nで示される入力であるので、この入
力の命令を番号402 〜404 にフィルター命令FIL の前に
隣接させて配列する。さらに、サービスプログラムP21B
は、フィルター命令FIL の処理の結果を出力する命令
が、ソースプログラムのフィルター命令FIL の端子Wdで
示される出力であるので、この出力命令を番号405 にフ
ィルター命令FIL の後に隣接させて配列する。
【0041】PC1Bの実行管理プログラムP12Bは、予め
PC1Bのデータ記憶手段中に登録されている第2種命令
コードから第2種命令を判別する機能と、第2種命令の
前後の命令コードから、この第2種命令に直接必要とす
る命令であるか否かを判別する機能が付与されている。
例えば、番号405 の命令FIL は、制御演算装置1Bのデー
タ記憶手段13に登録されているコードFIL から第2種命
令と判断し、この命令コードに付加された数値の"1000"
を個別周期数として扱う。また、フィルター命令FIL の
直前から連続して配列された命令コード"PPUSH" の命令
は、フィルター命令FIL にデータを与える命令であるの
で、フィルター命令FIL に直接関係する命令と判断す
る。さらに、フィルター命令FIL の直後の命令コード"S
TA" の命令は、フィルター命令FIL の後に隣接する処理
結果の出力命令であるのでフィルター命令FIL に直接関
係する命令と判断する。そこで、実行管理プログラム12
B は、番号402 から番号406 までの命令群を、個別プロ
グラムPROG10MAとし、番号407 〜415 までの命令を個別
プログラムPROG10MBとして区分し、個別プログラムPROG
10MAの設定周期テーブルPT、時間現在値領域IT、エント
リーテーブルETを生成する。
【0042】図5の(b) は、PC1Bの図5の(a) に示し
たプログラム10M をPC1Bが実行する場合の動作を表し
たフローチャートである。この図によってPC1Bの動作
を説明する。PC1Bは、プログラム10MAの処理に入る
と、処理F1においてこの処理が主ルーチン実行中での処
理であるか、割込み信号ISによって、エントリースーブ
ルETを参照して実行に入った処理であるかを判定する。
割込み信号ISによる処理の場合には処理F2に進み、時間
現在値領域ITの内容を参照し、個別プログラムPROG10MA
に該当する領域の内容が0であるか否かを判定する。0
であるならば、この命令の時間現在値領域ITの内容を設
定周期テーブルPTの内容と比較した結果、時間現在値領
域ITの該当命令領域の内容が設定周期テーブルPTの該当
命令領域の内容に等しいか上回っていて、時間現在値領
域ITのフィルター命令FIL に該当する領域の内容がクリ
アされたことを意味するので処理F3に進み、個別プログ
ラムPROG10MAを実行する。さらに処理F4においてタスク
復帰の処理を行い、処理F5に進んで個別プログラムPROG
10MBを処理する。処理F1において、割込みによる処理で
はないと判定されるか、処理F2において時間現在値領域
ITの個別プログラムPROG10MAに該当する領域の内容がク
リアされていない場合には、フィルター命令FIL のプロ
グラムPROG10MAを実行せずに処理F5に進み個別プログラ
ムPROG10MBを処理する。即ち、制御演算装置1Bは、実行
管理プログラムP12Bによって、第2種命令であるフィル
ター命令FIL とフィルター命令FIL の処理に直接関係す
る命令群を、フィルター命令FIL に示された個別周期数
に従って個別周期で処理し、フィルター命令FIL の後続
命令群を主サイクルで処理する。
【0043】
【発明の効果】以上に説明したとおり、請求項1の発明
方法を適用した、サポートツールと制御演算装置おいて
は、サポートツールは主プログラムを構成する、個別の
プログラムの命令群を、主サイクルの1回につき1回処
理して結果を出力する形式の命令である第1種の命令
と、主サイクルとは別の連続した周期である個別周期に
おける処理によって結果を出力する形式の命令である第
2種の命令とに区分する。そして、サポートツールは個
別プログラムを機械語に変換する過程で、第2種命令
と、この第2種命令の処理に直接必要とされる命令とか
らなる命令群の先頭に、この命令群の処理の開始箇所を
指定する命令である個別処理開始命令と、この命令群の
最後尾にこの命令群の処理の終了を表す命令である個別
処理終了命令とを付加する。サポートツールが生成した
プログラムを実行する制御演算装置は、第2種命令語に
付与された個別周期を示すデータが表す周期に従って、
個別処理開始命令から個別処理終了命令までの処理をす
る。
【0044】即ち、請求項1の発明を適用したサポート
ツールと制御演算装置においては、プログラム全体を構
成する個別のソースプログラムが機能の理解が容易な形
式で表現されていて、第1種命令と第2種命令とが混在
していても、サポートツールは、第2種命令とこの命令
の処理に直接関係する命令からなる命令群をのみを第2
種命令が指定する個別周期で処理する。従って、理解し
易い形式で作成された個別のソースプログラムから、主
サイクルを遅延させることなく、第2種命令を適切な個
別周期で実行させるプログラムを作成し、処理させるこ
とができる。
【0045】また、請求項2の発明の方法を適用したサ
ポートツールと制御演算装置おいては、ソースプログラ
ムの第2種命令を、この命令が処理されるべき個別の周
期と、この命令の処理に必要な命令とを表す形式として
表現するものとする。そして、サポートツールは、個別
のプログラムの命令群を、第1種の命令と第2種の命令
とに区分し、ソースプログラムの第2種命令の個別周期
と、第2種命令の処理に必要な命令とを制御演算装置が
判別し、処理することが可能な形式に変換する。この変
換されたプログラムを実行する制御演算装置は、第2種
命令と、この第2種命令に直接関係する命令からなる命
令群をこの第2種命令が示す個別周期で処理する。即
ち、個別プログラムに第1種命令と第2種命令とが混在
していても、制御演算装置において処理される場合に
は、第2種命令とこの命令に直接必要とされる命令から
なる命令群のみが第2種命令の個別周期で処理されるの
で、理解し易い形式で作成された個別のソースプログラ
ムから、主サイクルを遅延させることなく、第2種命令
を適切な個別周期で実行させるプログラムを作成し、処
理させることができる。
【0046】また、請求項3の発明の方法を適用したサ
ポートツールと制御演算装置おいては、サポートツール
は、ソースプログラムの第2種命令を、個別周期を表す
数値を付加した命令コードに変換し、ソースプログラム
第2種命令に表示されているこの命令の処理に必要な命
令のうち、この第2種命令の処理に必要なデータを与え
る命令は、この第2種命令の前に連続して配列された命
令コードに変換し、この第2種命令の処理結果を出力す
る命令は、この第2種命令の後に連続して配列された命
令コードとして変換する。そして、制御演算装置のデー
タ記憶手段に第2種命令の命令コードを登録する。制御
演算装置は、登録されている第2種命令コードを参照し
て第2種命令を判別し、この第2種命令と、この第2種
命令の前に連続して配列されたデータを与える命令と、
この第2種命令の後に連続して配列されたデータを出力
する命令とからなる命令群を、この第2種命令に付加さ
れた個別周期を表す数値に従って処理する。
【0047】従って、第2種命令とこの命令に直接必要
とされる命令からなる命令群のみが第2種命令の個別周
期で処理されるので、理解し易い形式で作成された個別
のソースプログラムから、主サイクルを遅延させること
なく、第2種命令を適切な個別周期で実行させるプログ
ラムを作成し、処理させることができる。さらに、請求
項4の発明の方法を適用したサポートツールと制御演算
装置においては、制御演算装置の内部に、一定周期の割
込み信号を出力する回路と、第2種命令を含む命令群の
個別周期の値を表すデータからなる周期設定テーブル
と、個別プログラムごとに割込み信号回数を積算する時
間現在値領域とを設ける。そして、制御演算装置は、割
込み信号回路から一定周期の信号が出力されるごとに時
間現在値領域の内容と周期設定テーブルの内容とを対比
して、個別周期に達した個別プログラムを抽出し、抽出
した個別プログラムに該当する時間現在値領域の内容を
0にクリアする。さらに制御演算装置は、個別周期に達
した個別プログラムを処理する。即ち、周期設定テーブ
ルに登録されたプログラムのみが個別周期で処理される
ので、周期設定テーブルに登録する個別プログラムを適
切に選定することによって、主ルーチンの処理を遅延さ
せることなく、第2種命令の処理を適切な個別周期で行
わせることができる。
【図面の簡単な説明】
【図1】請求項1に記載した発明の実施の形態である、
請求項1の発明の方法を適用した制御演算装置とサポー
トツールのブロック図
【図2】図1に示したサポートツールに入力される個別
ソースプログラムと、このプログラムから生成される制
御演算装置用プログラムと、このプログラムの制御演算
装置による処理との説明図
【図3】図1に示したサポートツールに入力されるソー
スプログラムの一例と、このプログラムから生成された
制御演算装置用プログラムを示した図
【図4】図1に示したサポートツールから生成された制
御演算装置用プログラムを実行管理プログラムが処理す
る動作の説明図
【図5】請求項2の発明の実施の形態のである、請求項
2の発明の方法を適用したサポートツールと制御演算装
置とにおける、プログラムの説明図とプログラムの処理
を表したフローチャート
【図6】従来の、サポートツールと制御演算装置の一例
のブロック図
【図7】図6に示したサポートツールの画面に表示され
るソースプログラムの説明図
【図8】第2種命令を含む個別プログラムのソースプロ
グラムの一例の説明図
【図9】図8に示したソースプログラムから変換した個
別プログラムの説明図
【図10】図9に示した個別プログラムを制御演算装置の
実行管理プログラムが処理する動作の説明図
【図11】第2種命令を含む個別プログラムのソースプロ
グラムの他の一例の説明図
【符号の説明】
1A プログラマブルコントローラ 2A サポートツール PROG10 ソースプログラム PROG10M 制御演算装置用個別プログラム P12A 実行管理プログラム MP 主ルーチン ICD 割込み管理データ PR2 プログラム群

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】主サイクルの1回ごとに処理が一巡する主
    プログラムを周期的に処理することによって、制御対象
    の制御や、制御対象の状態表示等をリアルタイムに行う
    制御演算装置と、入力されたソースプログラムを制御演
    算装置が処理可能なプログラムに変換する機能を有する
    サポートツールとにおける制御演算装置用プログラム作
    成処理方法において、 主プログラムを構成する、個別プログラムの命令群を、
    主サイクルの1回につき1回処理して結果を出力する形
    式の命令である第1種の命令と、主サイクルとは別の個
    別プログラムごとに決められた個別周期における処理に
    よって結果を出力する形式の命令である第2種の命令と
    に区分し、サポートツールは個別プログラムを変換する
    過程で、第2種命令と、この第2種命令の処理に直接必
    要とされる命令とからなる命令群の先頭に、この命令群
    の処理の開始箇所を指定する命令である個別処理開始命
    令と、この命令群の最後尾にこの命令群の処理の終了を
    表す命令である個別処理終了命令とを付加し、制御演算
    装置に、第2種命令語に付与された個別周期を示す数値
    が表す周期に従って、個別処理開始命令から個別処理終
    了命令までの処理をさせることを特徴とする制御演算装
    置用プログラム作成処理方法。
  2. 【請求項2】主サイクルの1回ごとに処理が一巡する主
    プログラムを周期的に処理することによって、制御対象
    の制御や、制御対象の状態表示等をリアルタイムに行う
    制御演算装置と、入力されたソースプログラムを制御演
    算装置が処理可能なプログラムに変換する機能を有する
    サポートツールとにおける制御演算装置用プログラム作
    成処理方法において、 主プログラムを構成する、個別プログラムの命令群を、
    主サイクルの1回につき1回処理して結果を出力する形
    式の命令である第1種の命令と、主サイクルとは別の個
    別プログラムごとに決められた個別周期における処理に
    よって結果を出力する形式の命令である第2種の命令と
    に区分し、ソースプログラムの第2種命令は、この命令
    が処理されるべき個別周期と、この命令の処理に必要な
    命令とを表す形式とし、サポートツールは、ソースプロ
    グラムの第2種命令の個別周期と、第2種命令の処理に
    必要な命令とを制御演算装置が判別し、処理することが
    可能な形式に変換し、制御演算装置は第2種命令と、こ
    の第2種命令に直接関係する命令からなる命令群をこの
    第2種命令が示す個別周期で処理することを特徴とする
    制御演算装置用プログラム作成処理方法。
  3. 【請求項3】請求項2に記載の制御演算装置用プログラ
    ム作成処理方法において、サポートツールは、ソースプ
    ログラムの第2種命令を、個別周期を表す数値を付加し
    た命令コードに変換し、ソースプログラム第2種命令に
    表示されているこの命令の処理に必要な命令のうち、こ
    の第2種命令の処理に必要なデータを与える命令は、こ
    の第2種命令の前に連続して配列された命令コードに変
    換し、この第2種命令の処理結果を出力する命令は、こ
    の第2種命令の後に連続して配列された命令コードとし
    て変換し、制御演算装置のデータ記憶手段に第2種命令
    の命令コードを登録し、制御演算装置に、登録されてい
    る第2種命令コードを参照して第2種命令を判別し、こ
    の第2種命令と、この第2種命令の前に連続して配列さ
    れたデータを与える命令と、この第2種命令の後に連続
    して配列されたデータを出力する命令とからなる命令群
    を、この第2種命令に付加された個別周期を表す数値に
    従って処理させることを特徴とする制御演算装置用プロ
    グラム作成処理方法。
  4. 【請求項4】請求項1ないし請求項3に記載の制御演算
    装置用プログラム作成処理方法において、制御演算装置
    の内部に、一定周期の割込み信号を出力する割込み信号
    回路を設け、制御演算装置に、第2種命令を含む命令群
    ごとの個別周期を表すデータからなる周期設定テーブル
    と、第2種命令を含む命令群ごとの時間現在値領域とを
    設定させ、割込み信号回路から割込み信号が出力される
    ごとに時間現在値領域の命令群ごとの領域の内容に1を
    加算させ、時間現在値領域の内容と周期設定テーブルの
    内容を対比させ、時間現在値領域の内容が周期設定テー
    ブルの内容に等しいか、上回った個別プログラムの時間
    現在値領域の内容を0にクリアさせ、かつこの個別プロ
    グラムを処理させることを特徴とする制御演算装置用プ
    ログラム作成処理方法。
JP3027896A 1996-02-19 1996-02-19 制御演算装置用プログラム作成処理方法 Pending JPH09222907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3027896A JPH09222907A (ja) 1996-02-19 1996-02-19 制御演算装置用プログラム作成処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3027896A JPH09222907A (ja) 1996-02-19 1996-02-19 制御演算装置用プログラム作成処理方法

Publications (1)

Publication Number Publication Date
JPH09222907A true JPH09222907A (ja) 1997-08-26

Family

ID=12299258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3027896A Pending JPH09222907A (ja) 1996-02-19 1996-02-19 制御演算装置用プログラム作成処理方法

Country Status (1)

Country Link
JP (1) JPH09222907A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009611A (ja) * 2008-10-07 2009-01-15 Toshiba Corp 制御プログラム生成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009611A (ja) * 2008-10-07 2009-01-15 Toshiba Corp 制御プログラム生成装置

Similar Documents

Publication Publication Date Title
US6173208B1 (en) Method for generating control codes for use in a process control system
US4783762A (en) Programmable controller
EP0753803B1 (en) Programmable controller and SFC program executing method using the programmable controller
EP0351768A2 (en) Menu selection
EP0222773A1 (en) Method for preparing a computer program for evaluating boolean and like expressions and computer for evaluating the rungs in a ladder structure
JPS59216256A (ja) マイクロプロセツサの動作解析装置
JPH09222907A (ja) 制御演算装置用プログラム作成処理方法
WO2015193973A1 (ja) 情報処理装置および情報処理方法
CN112198840B (zh) 一种机器人任务调度方法及装置
US12014156B2 (en) Program creation support program to provide log data on device values and dependency relationships between devices
JPH0743732B2 (ja) 収集データの格納方法
JP3541651B2 (ja) ジョブの起動日設定装置
BE1004928A3 (nl) Werkwijze voor het besturen van een systeem met behulp van een computer.
EP4224333A1 (en) Control system, information processing apparatus, and information processing program
JPH07141137A (ja) メニュー選択方法
JP3391808B2 (ja) 自然言語入力方法及び装置
JPS61279906A (ja) プログラマブルコントロ−ラ
JPH01169506A (ja) 数値制御装置
JPS63148373A (ja) 回路図デ−タの管理方式
JP3358800B2 (ja) ラダープログラムのモニター方法及びモニター用プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH03177956A (ja) 複数コマンドマクロファイルにおけるコマンド実行制御方式
JPH0477911A (ja) 入力デバイスの入力制御方式
JP3111496B2 (ja) 多分岐命令の処理方式
JPS62135958A (ja) シミユレ−シヨン方式
JPS6097437A (ja) 設定器