JPH042961B2 - - Google Patents
Info
- Publication number
- JPH042961B2 JPH042961B2 JP57027788A JP2778882A JPH042961B2 JP H042961 B2 JPH042961 B2 JP H042961B2 JP 57027788 A JP57027788 A JP 57027788A JP 2778882 A JP2778882 A JP 2778882A JP H042961 B2 JPH042961 B2 JP H042961B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- accumulator
- stack
- 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
Links
- 238000010586 diagram Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13151—Correction of program using grammatical error detection
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Digital Computer Display Output (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
【発明の詳細な説明】
この発明は、プログラマブル・コントローラに
おける機械語のユーザプログラムをそれと同等の
シーケンス制御機能を有する継電器ラダー回路図
に変換して表示装置に出力し、該出力結果に基い
てプログラマブル・コントローラにおけるシーケ
ンス制御を実現するプログラマブル・コントロー
ラにおけるユーザプログラムの回路図化出力装置
に関する。
おける機械語のユーザプログラムをそれと同等の
シーケンス制御機能を有する継電器ラダー回路図
に変換して表示装置に出力し、該出力結果に基い
てプログラマブル・コントローラにおけるシーケ
ンス制御を実現するプログラマブル・コントロー
ラにおけるユーザプログラムの回路図化出力装置
に関する。
従来のこの種プログラマブル・コントローラに
おけるユーザプログラムの回路図化出力装置は、
回路図への変換に先だつて機械語のユーザプログ
ラムの文法エラーをチエツクし、継電器ラダー回
路図に変換できない文法エラーを含んだ部分につ
いては、『文法エラー有り』といつた趣旨のメツ
セージ表示をするだけで、その部分の未完成ラダ
ー回路図を表示するようにはなつていなかつた。
おけるユーザプログラムの回路図化出力装置は、
回路図への変換に先だつて機械語のユーザプログ
ラムの文法エラーをチエツクし、継電器ラダー回
路図に変換できない文法エラーを含んだ部分につ
いては、『文法エラー有り』といつた趣旨のメツ
セージ表示をするだけで、その部分の未完成ラダ
ー回路図を表示するようにはなつていなかつた。
そのため、そのようなエラーメツセージを含ん
だ継電気ラダー回路図の表示からは、どのように
文法エラーを犯しているのか、およびその文法エ
ラーに対して目的とする正しいユーザプログラム
とするにはどのように修正を加えたらよいのか、
といつた点が非常に分り難いという欠点があつ
た。
だ継電気ラダー回路図の表示からは、どのように
文法エラーを犯しているのか、およびその文法エ
ラーに対して目的とする正しいユーザプログラム
とするにはどのように修正を加えたらよいのか、
といつた点が非常に分り難いという欠点があつ
た。
この発明は上述した従来の問題点に鑑みなされ
たものであり、その目的は、文法エラーを含んだ
機械語のユーザプログラムを自動的にかつ合理的
に修正し、その修正したユーザプログラムを継電
気ラダー回路図の形で表示装置に出力し、しかも
修正のために追加した命令を他の命令とは区別で
きる形で表示し、これによりユーザプログラムの
どの部分がどのように誤つており、その修正にど
のような例があるか簡単に分るようにしたプログ
ラマブル・コントローラにおけるユーザプログラ
ムの回路図化出力装置を提供することにある。
たものであり、その目的は、文法エラーを含んだ
機械語のユーザプログラムを自動的にかつ合理的
に修正し、その修正したユーザプログラムを継電
気ラダー回路図の形で表示装置に出力し、しかも
修正のために追加した命令を他の命令とは区別で
きる形で表示し、これによりユーザプログラムの
どの部分がどのように誤つており、その修正にど
のような例があるか簡単に分るようにしたプログ
ラマブル・コントローラにおけるユーザプログラ
ムの回路図化出力装置を提供することにある。
以下、この発明の実施例を図面に基づいて詳細
に説明する。
に説明する。
まず最初に、以下に説明する回路図化出力装置
の一実施例が対象とするプログラマブル・コント
ローラのユーザプログラムは次のような命令によ
つて構成される。
の一実施例が対象とするプログラマブル・コント
ローラのユーザプログラムは次のような命令によ
つて構成される。
(1) データ読込命令…1ビツトアキユームレータ
のデータをスタツクレジスタにプツシユダウン
し、かつ指定番号の1ビツトデータをアキユー
ムレータに読込む。以下このデータ読込命令を
LD命令と称す。
のデータをスタツクレジスタにプツシユダウン
し、かつ指定番号の1ビツトデータをアキユー
ムレータに読込む。以下このデータ読込命令を
LD命令と称す。
(2) 論理演算命令…指定番号の1ビツトデータと
アキユームレータのデータとの論理演算をし、
その結果をアキユームレータにストアする。こ
の論理演算命令の中には、論理積をとるAND
命令と、論理和をとるOR命令が含まれる。
アキユームレータのデータとの論理演算をし、
その結果をアキユームレータにストアする。こ
の論理演算命令の中には、論理積をとるAND
命令と、論理和をとるOR命令が含まれる。
(3) スタツク演算命令…スタツクレジスタをプル
アツプして得られる1ビツトデータとアキユー
ムレータのデータとの論理演算をし、その結果
をアキユームレータにストアする。このスタツ
ク演算命令の中には、論理積をとるANDLD命
令と、論理和をとるORLD命令とが含まれる。
アツプして得られる1ビツトデータとアキユー
ムレータのデータとの論理演算をし、その結果
をアキユームレータにストアする。このスタツ
ク演算命令の中には、論理積をとるANDLD命
令と、論理和をとるORLD命令とが含まれる。
(4) データ出力命令…アキユームレータのデータ
を指定番号のデータエリアに転送し、かつスタ
ツクレジスタからアキユームレータにデータを
プルアツプする。以下このデータ出力命令を
OUT命令と称す。
を指定番号のデータエリアに転送し、かつスタ
ツクレジスタからアキユームレータにデータを
プルアツプする。以下このデータ出力命令を
OUT命令と称す。
以上の各命令の組合せからなる機械語のユーザ
プログラムでもつて任意の継電器ラダー回路図と
同等のシーケンス制御機能を表現し、プログラマ
ブル・コントローラはそのユーザプログラムを高
速に繰り返し実行することにより上記シーケンス
制御を実現するものである。
プログラムでもつて任意の継電器ラダー回路図と
同等のシーケンス制御機能を表現し、プログラマ
ブル・コントローラはそのユーザプログラムを高
速に繰り返し実行することにより上記シーケンス
制御を実現するものである。
この発明の回路図化出力装置は、上述の機械語
で構成されるユーザプログラムを、それと同等の
シーケンス制御機能を有する継電器ラダー回路図
に変換してCRT表示装置等に出力するものであ
る。この回路図化出力装置の電気的構成の概略を
第1図に示す。この回路図化出力装置は、マイク
ロコンピユータからなる中央処理装置1と、
RAM3と、中央処理装置1に対して各種の入力
を与えるキーボード等よりなる操作装置4と、
CRT等に継電気ラダー回路図を表示する表示装
置5とを備える。プログラマブル・コントローラ
2は上記中央処理装置1に接続される。中央処理
装置1はプログラマブル・コントローラ2から機
械語のユーザプログラムを読取つてRAM3の入
力テーブル31に格納する。この入力テーブル3
1に格納されたユーザプログラムを編集テーブル
32、LDスタツク34、ワークエリア35を使
つて文法エラーのチエツクと、その修正を行な
い、修正された機械語のユーザプログラムを出力
テーブル33に格納する。そして、出力テーブル
33に格納された修正後のユーザプログラムを継
電器ラダー回路図の回路図データに変換し、それ
を表示装置5に表示させる。そのとき、修正のた
めに加えた命令の他の命令と異なる表示形態で表
示させる。
で構成されるユーザプログラムを、それと同等の
シーケンス制御機能を有する継電器ラダー回路図
に変換してCRT表示装置等に出力するものであ
る。この回路図化出力装置の電気的構成の概略を
第1図に示す。この回路図化出力装置は、マイク
ロコンピユータからなる中央処理装置1と、
RAM3と、中央処理装置1に対して各種の入力
を与えるキーボード等よりなる操作装置4と、
CRT等に継電気ラダー回路図を表示する表示装
置5とを備える。プログラマブル・コントローラ
2は上記中央処理装置1に接続される。中央処理
装置1はプログラマブル・コントローラ2から機
械語のユーザプログラムを読取つてRAM3の入
力テーブル31に格納する。この入力テーブル3
1に格納されたユーザプログラムを編集テーブル
32、LDスタツク34、ワークエリア35を使
つて文法エラーのチエツクと、その修正を行な
い、修正された機械語のユーザプログラムを出力
テーブル33に格納する。そして、出力テーブル
33に格納された修正後のユーザプログラムを継
電器ラダー回路図の回路図データに変換し、それ
を表示装置5に表示させる。そのとき、修正のた
めに加えた命令の他の命令と異なる表示形態で表
示させる。
第2A図〜第2D図は中央処理装置1によつて
実行される文法エラーのチエツクおよびその修正
のための処理プログラムの構成を示すフローチヤ
ートである。このフローチヤートの詳細な説明に
先だつて、本発明の文法エラーのチエツクおよび
その修正の手法について要点を説明する。
実行される文法エラーのチエツクおよびその修正
のための処理プログラムの構成を示すフローチヤ
ートである。このフローチヤートの詳細な説明に
先だつて、本発明の文法エラーのチエツクおよび
その修正の手法について要点を説明する。
上記LD命令がプログラマブル・コントローラ
2にて実行されると、ある意味のあるデータがア
キユームレータに取込まれ、アキユームレータに
あつたデータはスタツクにプツシユダウンされ
る。従つて、例えばLD命令が2回続いたとする
と、意味のあるデータはスタツクに1ビツトとア
キユームレータに1ビツトの合計2つになる。
2にて実行されると、ある意味のあるデータがア
キユームレータに取込まれ、アキユームレータに
あつたデータはスタツクにプツシユダウンされ
る。従つて、例えばLD命令が2回続いたとする
と、意味のあるデータはスタツクに1ビツトとア
キユームレータに1ビツトの合計2つになる。
上記スタツク演算命令がプログラマブル・コン
トローラ2にて実行されると、スタツクレジスタ
の最初の1ビツトがプルアツプされ、アキユーム
レータのデータと論理演算され、その結果がアキ
ユームレータに格納される。従つて、スタツク演
算命令によつてスタツクレジスタに格納されてい
た意味のあるデータが1ビツタ減少することにな
る。
トローラ2にて実行されると、スタツクレジスタ
の最初の1ビツトがプルアツプされ、アキユーム
レータのデータと論理演算され、その結果がアキ
ユームレータに格納される。従つて、スタツク演
算命令によつてスタツクレジスタに格納されてい
た意味のあるデータが1ビツタ減少することにな
る。
上記OUT命令がプログラマブル・コントロー
ラ2にて実行されると、アキユームレータのデー
タが他のエリアに転送され、スタツクレジスタか
らアキユームレータにデータがプルアツプされ
る。従つて、OUT命令によりアキユームレータ
に格納されていた意味のあるデータが1つ減少し
たことになる。
ラ2にて実行されると、アキユームレータのデー
タが他のエリアに転送され、スタツクレジスタか
らアキユームレータにデータがプルアツプされ
る。従つて、OUT命令によりアキユームレータ
に格納されていた意味のあるデータが1つ減少し
たことになる。
上記論理演算命令がプログラマブル・コントロ
ーラ2で実行されると、アキユームレータのデー
タと他のエリアからのデータとの論理演算が取ら
れ、その結果がアキユームレータに格納される。
従つて、論理演算命令ではアキユームレータの意
味のあるデータの数は増加も減少もしない。
ーラ2で実行されると、アキユームレータのデー
タと他のエリアからのデータとの論理演算が取ら
れ、その結果がアキユームレータに格納される。
従つて、論理演算命令ではアキユームレータの意
味のあるデータの数は増加も減少もしない。
以上の如く、LD命令によつて増加するととも
にスタツク演算命令およびOUT命令によつて減
少する上記アキユームレータおよびスタツクに格
納される意味あるデータのことを、以下の説明で
は有意データと称する。
にスタツク演算命令およびOUT命令によつて減
少する上記アキユームレータおよびスタツクに格
納される意味あるデータのことを、以下の説明で
は有意データと称する。
上記論理演算命令を実行するには、アキユーム
レータに有意データがなければならない。つま
り、論理演算命令は有意データを少なくとも1つ
必要とする。
レータに有意データがなければならない。つま
り、論理演算命令は有意データを少なくとも1つ
必要とする。
上記スタツク演算命令を実行するには、スタツ
クとアキユームレータにそれぞれ有意データがな
ければならない。つまり、スタツク演算命令は有
意データを少なくとも2ビツト必要とする。
クとアキユームレータにそれぞれ有意データがな
ければならない。つまり、スタツク演算命令は有
意データを少なくとも2ビツト必要とする。
上記OUT命令を実行するには、アキユームレ
ータに有意データが格納されていなければならな
い。つまり、OUT命令は有意データを少なくと
も1ビツト必要とする。
ータに有意データが格納されていなければならな
い。つまり、OUT命令は有意データを少なくと
も1ビツト必要とする。
この実施例においては、機械語のユーザプログ
ラムについて以下に説明する状態を生ずるとき、
これを文法エラーであると規定する。
ラムについて以下に説明する状態を生ずるとき、
これを文法エラーであると規定する。
(a)…論理演算命令が実行に供されるときに有意デ
ータの数が0になつている場合 (b)…OUT命令が実行に供されるときに有意デー
タの数が0になつている場合 (c)…スタツク演算命令が実行に供されるときに有
意データの数が2に充たない場合 (d)…OUT命令を実行した結果有意データの数が
0にならない場合 (e)…プログラムの最後の命令がOUT命令でない
場合 この発明の装置では、機械語のユーザプログラ
ムを先頭から順番にチエツクし、上述の(a)〜(e)の
文法エラーが検出されると、以下に説明するよう
にして、LD命令またはOUT命令を適宜に追加す
ることによつてそのエラーを修正する。
ータの数が0になつている場合 (b)…OUT命令が実行に供されるときに有意デー
タの数が0になつている場合 (c)…スタツク演算命令が実行に供されるときに有
意データの数が2に充たない場合 (d)…OUT命令を実行した結果有意データの数が
0にならない場合 (e)…プログラムの最後の命令がOUT命令でない
場合 この発明の装置では、機械語のユーザプログラ
ムを先頭から順番にチエツクし、上述の(a)〜(e)の
文法エラーが検出されると、以下に説明するよう
にして、LD命令またはOUT命令を適宜に追加す
ることによつてそのエラーを修正する。
(A)…上記(a)の文法エラーが検出されたとき、その
論理演算命令の直前にLD命令を挿入する。
論理演算命令の直前にLD命令を挿入する。
(B)…上記(b)の文法エラーが検出されたとき、その
OUT命令の直前にLD命令を挿入する。
OUT命令の直前にLD命令を挿入する。
(C)…上記(c)の文法エラーが検出されたとき、その
スタツク演算命令の直前にLD命令を1または
2命令挿入する。
スタツク演算命令の直前にLD命令を1または
2命令挿入する。
(A)…上記(d)の文法エラーが検出されたとき、その
OUT命令の前段のLD命令の直前にOUT命令
を挿入する。1つのOUT命令の追加だけでは
まだ有意データが0にならない場合、更に前段
のLD命令の直前にOUT命令を挿入する。
OUT命令の前段のLD命令の直前にOUT命令
を挿入する。1つのOUT命令の追加だけでは
まだ有意データが0にならない場合、更に前段
のLD命令の直前にOUT命令を挿入する。
(E)…上記(e)の文法エラーが検出されたとき、プロ
グラムの最後にOUT命令を追加し、その追加
によつて有意データの数が0にならない場合
は、上記(D)と同じ処理によつて更にOUT命令
を追加する。
グラムの最後にOUT命令を追加し、その追加
によつて有意データの数が0にならない場合
は、上記(D)と同じ処理によつて更にOUT命令
を追加する。
この実施例においては、上述したように機械語
のユーザプログラムの文法エラーを定義し、かつ
検出された文法エラーに対して上述したように規
定されたエラーの修正を行なうものである。
のユーザプログラムの文法エラーを定義し、かつ
検出された文法エラーに対して上述したように規
定されたエラーの修正を行なうものである。
次に、上記文法エラーとその修正について1例
をあげる。第3A図は文法エラーを含んだ機械語
のユーザプログラムの一例であり、第3B図はそ
の文法エラーを修正した機械語のユーザプログラ
ムである。なお以下の説明では、文法エラーの修
正のために挿入したLD命令またはOUT命令をダ
ミーのLD命令またはダミーのOUT命令と称し、
これらダミーの命令についてはそのオペランドの
エリアにXと記している。
をあげる。第3A図は文法エラーを含んだ機械語
のユーザプログラムの一例であり、第3B図はそ
の文法エラーを修正した機械語のユーザプログラ
ムである。なお以下の説明では、文法エラーの修
正のために挿入したLD命令またはOUT命令をダ
ミーのLD命令またはダミーのOUT命令と称し、
これらダミーの命令についてはそのオペランドの
エリアにXと記している。
第3A図のプログラム例において、アドレス1
およびアドレス2の2つのLD命令により有意デ
ータの数は2となり、アドレス3のOUT命令に
より有意データの数が1つ減るが、それでもまだ
1つの有意データが残る。つまりアドレス3の
OUT命令をチエツクした時点で上記(d)の文法エ
ラーが検出される。これを修正するために上記(D)
の処理がなされると、第3B図示されるように、
「LD26」命令の直前にダミーのOUT命令
「OUT・X」が挿入される。これにより、
「OUT27」命令の実行によつて有意データの数が
0となるように修正される。
およびアドレス2の2つのLD命令により有意デ
ータの数は2となり、アドレス3のOUT命令に
より有意データの数が1つ減るが、それでもまだ
1つの有意データが残る。つまりアドレス3の
OUT命令をチエツクした時点で上記(d)の文法エ
ラーが検出される。これを修正するために上記(D)
の処理がなされると、第3B図示されるように、
「LD26」命令の直前にダミーのOUT命令
「OUT・X」が挿入される。これにより、
「OUT27」命令の実行によつて有意データの数が
0となるように修正される。
また第3A図において、アドレス4の
「AND28」命令の実行には有意データを1つ必要
とするが、その有意データは既になく、従つて上
記(a)の文法エラーが検出される。この文法エラー
は上記(A)の処理によつて修正される。つまり第3
B図に示すように「AND28」命令の直前にダミ
ーのLD命令「LD・X」命令が挿入される。これ
により有意データの数は1となる。
「AND28」命令の実行には有意データを1つ必要
とするが、その有意データは既になく、従つて上
記(a)の文法エラーが検出される。この文法エラー
は上記(A)の処理によつて修正される。つまり第3
B図に示すように「AND28」命令の直前にダミ
ーのLD命令「LD・X」命令が挿入される。これ
により有意データの数は1となる。
また第3A図におけるアドレス5の「ORLD」
命令を実行するには、有意データを2つ必要とす
る。しかしこのとき有意データの数は1つであつ
て、従つて上記(c)文法エラーが検出される。この
文法エラーは上記(C)の処理によつて修正される。
つまり第3B図に示すように、「ORLD」命令の
直前にダミーのLD命令「LD・X」命令が挿入さ
れる。またこの修正を加えることにより、
「ORLD」命令の実行後に有意データは1となる。
命令を実行するには、有意データを2つ必要とす
る。しかしこのとき有意データの数は1つであつ
て、従つて上記(c)文法エラーが検出される。この
文法エラーは上記(C)の処理によつて修正される。
つまり第3B図に示すように、「ORLD」命令の
直前にダミーのLD命令「LD・X」命令が挿入さ
れる。またこの修正を加えることにより、
「ORLD」命令の実行後に有意データは1となる。
また第3A図に示すように、このプログラムの
最後がOUT命令で終わつていないため、上記(e)
の文法エラーが検出される。この文法エラーは上
記(E)の処理によつて修正される。つまり第3B図
に示すように、プログラムの最後にダミーの
OUT命令「OUT・X」命令が追加される。この
修正により最後のOUT命令の実行後に有意デー
タの数は0となるので、これ以上のOUT命令の
追加はない。
最後がOUT命令で終わつていないため、上記(e)
の文法エラーが検出される。この文法エラーは上
記(E)の処理によつて修正される。つまり第3B図
に示すように、プログラムの最後にダミーの
OUT命令「OUT・X」命令が追加される。この
修正により最後のOUT命令の実行後に有意デー
タの数は0となるので、これ以上のOUT命令の
追加はない。
そして、第3B図に示すように修正された機械
語のユーザプログラムは、周知の逆アセンブル処
理によつてそのプログラムと同等のシーケンス制
御機能を有する継電器ラダー回路図に変換され、
上記表示装置5の表示画面に表示される。その継
電器ラダー回路図を第3C図に示している。この
第3C図の回路図において、Xと付記しているの
はダミーのLD命令またはOUT命令に対応する回
路素子である。このように文法エラー修正のため
に追加したダミーのLD命令またはOUT命令は他
の命令と区別ができるような形で表示する。
語のユーザプログラムは、周知の逆アセンブル処
理によつてそのプログラムと同等のシーケンス制
御機能を有する継電器ラダー回路図に変換され、
上記表示装置5の表示画面に表示される。その継
電器ラダー回路図を第3C図に示している。この
第3C図の回路図において、Xと付記しているの
はダミーのLD命令またはOUT命令に対応する回
路素子である。このように文法エラー修正のため
に追加したダミーのLD命令またはOUT命令は他
の命令と区別ができるような形で表示する。
このように、第3A図のような文法エラーを含
んだユーザプログラムは周知の逆アセンブル処理
では継電気ラダー回路図の形に変換できないが、
第3B図のように文法エラーを修正した後は周知
の逆アセンブル処理によつて第3C図のような継
電器ラダー回路図として表示することができる。
これによりユーザは、単に「文法エラー有り」と
だけ知らされるよりも、第3C図のようなラダー
回路図の形で表示された方が、文法エラーの認知
とその修正のための手助けとなつて非常に便利な
訳である。
んだユーザプログラムは周知の逆アセンブル処理
では継電気ラダー回路図の形に変換できないが、
第3B図のように文法エラーを修正した後は周知
の逆アセンブル処理によつて第3C図のような継
電器ラダー回路図として表示することができる。
これによりユーザは、単に「文法エラー有り」と
だけ知らされるよりも、第3C図のようなラダー
回路図の形で表示された方が、文法エラーの認知
とその修正のための手助けとなつて非常に便利な
訳である。
次に、上述した各処理を行なうためのシステム
プログラムを示す第2A図〜第2B図のフローチ
ヤートにおける各ステツプの処理内容を説明す
る。
プログラムを示す第2A図〜第2B図のフローチ
ヤートにおける各ステツプの処理内容を説明す
る。
第2A図は上記システムプログラムの全体の概
略を示すフローチヤートであり、第2B図は第2
A図のステツプ110のダミーのLD命令作成ルーチ
ンの詳細を示すフローチヤート、第2C図は第2
A図におけるステツプ115と107に示すダミーの
OUT命令作成ルーチンの詳細なフローチヤート、
第2D図は第2A図のステツプ108に示す修正プ
ログラム編集ルーチンの詳細なフローチヤートで
ある。
略を示すフローチヤートであり、第2B図は第2
A図のステツプ110のダミーのLD命令作成ルーチ
ンの詳細を示すフローチヤート、第2C図は第2
A図におけるステツプ115と107に示すダミーの
OUT命令作成ルーチンの詳細なフローチヤート、
第2D図は第2A図のステツプ108に示す修正プ
ログラム編集ルーチンの詳細なフローチヤートで
ある。
ステツプ100…上記入力テーブル31に転送さ
れた機械語のユーザプログラムをアドレツシング
するためのプログラムカウンタPCをクリアし、
ユーザプログラムの先頭の命令を定する。
れた機械語のユーザプログラムをアドレツシング
するためのプログラムカウンタPCをクリアし、
ユーザプログラムの先頭の命令を定する。
ステツプ101…プログラムカウンタPCで指定さ
れる命令を入力テーブル31から読出し編集テー
ブル32にストアする。以下、このステツプ101
で読出した命令を本命令と称す。
れる命令を入力テーブル31から読出し編集テー
ブル32にストアする。以下、このステツプ101
で読出した命令を本命令と称す。
ステツプ102…本命令がLD命令か否かを判断す
る。
る。
ステツプ111…本命令が論理演算命令か否かを
判断する。
判断する。
ステツプ114、205…本命令がスタツク演算命令
か否かを判断する。
か否かを判断する。
ステツプ103、201、207…本命令を含む1レコ
ードをLDスタツク34にプツシユする。
ードをLDスタツク34にプツシユする。
ステツプ113、303…LDスタツク34から1レ
コードをプルする。
コードをプルする。
ステツプ104、203、209…LDスタツク34の最
新レコードのOUT命令追加ポインタに、そのレ
コードに含まれる命令の編集テーブル32におけ
る格納アドレスをポインタとしてセツトする。
新レコードのOUT命令追加ポインタに、そのレ
コードに含まれる命令の編集テーブル32におけ
る格納アドレスをポインタとしてセツトする。
ステツプ202、208…LDスタツク34の最新レ
コードのLD命令追加ポインタに、そのレコード
に含まれる命令の編集テーブル32における格納
アドレスをポインタとしてセツトする。
コードのLD命令追加ポインタに、そのレコード
に含まれる命令の編集テーブル32における格納
アドレスをポインタとしてセツトする。
ステツプ112…LDスタツク34の最新レコード
のOUT命令追加ポインタを、そのレコードに含
まれる命令に続く命令(ユーザプログラム上)の
編集テーブル32における格納アドレスに更新す
る。
のOUT命令追加ポインタを、そのレコードに含
まれる命令に続く命令(ユーザプログラム上)の
編集テーブル32における格納アドレスに更新す
る。
ステツプ105…プログラムカウンタPCを+1す
る。
る。
ステツプ106…プログラムカウンタPCで指定さ
れる入力テーブル31のデータがユーザプログラ
ムの最終命令以降のものであるか否か、すなわち
ユーザプログラムの最後まで処理したか否かを判
断する。
れる入力テーブル31のデータがユーザプログラ
ムの最終命令以降のものであるか否か、すなわち
ユーザプログラムの最後まで処理したか否かを判
断する。
ステツプ200、301…LDスタツク34が空か否
かを判断する。
かを判断する。
ステツプ206…LDスタツク34に1レコー
ドのみストアされているか否かを判断する。
ドのみストアされているか否かを判断する。
ステツプ204、210…LDスタツク34の最新レ
コードのLD命令追加ポインタで指定される編集
テーブル32の命令に付加されているLD命令追
加カウンタを+1する。
コードのLD命令追加ポインタで指定される編集
テーブル32の命令に付加されているLD命令追
加カウンタを+1する。
ステツプ302…LDスタツク34の最新レコード
のOUT命令追加ポインタで指定される編集テー
ブル32の命令に付加されているOUT命令追加
カウンタを+1する。
のOUT命令追加ポインタで指定される編集テー
ブル32の命令に付加されているOUT命令追加
カウンタを+1する。
ステツプ400…編集テーブル32の最初のレコ
ードを指定し、これを読取る。この指定されたレ
コードを以下の説明では本レコードと称す。
ードを指定し、これを読取る。この指定されたレ
コードを以下の説明では本レコードと称す。
ステツプ401…本レコードのLD命令追加カウン
タが0か否かを判断する。
タが0か否かを判断する。
ステツプ402…ダミーのLD命令を出力テーブル
33にセツトする。
33にセツトする。
ステツプ403…本レコードのLD命令追加カウン
タを−1する。
タを−1する。
ステツプ404…本レコードの命令を出力テーブ
ル33にセツトする ステツプ405…本レコードのOUT命令追加カウ
ンタが0か否かを判断する ステツプ406…ダミーのOUT命令を出力テーブ
ル33にセツトする。
ル33にセツトする ステツプ405…本レコードのOUT命令追加カウ
ンタが0か否かを判断する ステツプ406…ダミーのOUT命令を出力テーブ
ル33にセツトする。
ステツプ407…本レコードのOUT命令追加カウ
ンタを−1する。
ンタを−1する。
ステツプ408…編集テーブル32の次のレコー
ドを指定する。
ドを指定する。
ステツプ409…編集テーブル32の全てのレコ
ードを読取つたか否かを判断する。
ードを読取つたか否かを判断する。
ステツプ109…出力テーブル33に格納された
修正後のユーザプログラムを継電器ラダー回路図
の表示データに変換し、かつその回路図を表示装
置5に表示する。そのとき、ダミーのLD命令と
ダミーのOUT命令は他の命令と区別がつくよう
にして表示する。
修正後のユーザプログラムを継電器ラダー回路図
の表示データに変換し、かつその回路図を表示装
置5に表示する。そのとき、ダミーのLD命令と
ダミーのOUT命令は他の命令と区別がつくよう
にして表示する。
以上本発明の一実施例について詳細に説明した
が、この発明は上記実施例に限定されるものでは
なく、対象となるプログラマブル・コントローラ
のアーキテクチヤや命令体系、およびユーザプロ
グラムの文法エラーの定義の仕方に応じて、文法
エラーの検出方式や文法エラーの修正方式は様々
に実施することができるものである。また、修正
のために追加したダミーのLD命令やOUT命令の
表示を他の命令と異ならせる方式も、様々に実施
することができるものである。
が、この発明は上記実施例に限定されるものでは
なく、対象となるプログラマブル・コントローラ
のアーキテクチヤや命令体系、およびユーザプロ
グラムの文法エラーの定義の仕方に応じて、文法
エラーの検出方式や文法エラーの修正方式は様々
に実施することができるものである。また、修正
のために追加したダミーのLD命令やOUT命令の
表示を他の命令と異ならせる方式も、様々に実施
することができるものである。
以上の如く、この発明に係るプログラマブル・
コントローラにおけるユーザプログラムの回路図
化出力装置によれば、機械語のユーザプログラム
に文法エラーが含まれている場合、その文法エラ
ーがある規則に従つて自動的に修正され、その修
正されたユーザプログラムが継電器ラダー回路図
の形で表示器に表示され、かつ修正のために加え
たデータ読込命令およびデータ出力命令が他の命
令と区別できる形で表示されるため、プログラム
のエラーに対する認知は容易であるとともに、そ
の修正のための指針が示されることになるので、
修正を行なうのに便利である。
コントローラにおけるユーザプログラムの回路図
化出力装置によれば、機械語のユーザプログラム
に文法エラーが含まれている場合、その文法エラ
ーがある規則に従つて自動的に修正され、その修
正されたユーザプログラムが継電器ラダー回路図
の形で表示器に表示され、かつ修正のために加え
たデータ読込命令およびデータ出力命令が他の命
令と区別できる形で表示されるため、プログラム
のエラーに対する認知は容易であるとともに、そ
の修正のための指針が示されることになるので、
修正を行なうのに便利である。
第1図はこの発明に係る回路図化出力装置の概
略ブロツク図、第2図は機械語のユーザプログラ
ムの文法エラーのチエツク、文法エラーの修正、
継電器ラダー回路図データへの変換および表示を
行なうためのシステムプログラムのフローチヤー
ト、第3A図は文法エラーを含んだ機械語のユー
ザプログラムの一例を示す図、第3B図は第3A
図のプログラムに修正が加えられた後のプログラ
ムを示す図、第3C図は第3B図の修正後のプロ
グラムから変換された継電器ラダー回路図を示す
図である。 1……中央処理装置、2……プログラマブル・
コントローラ、3……RAM、4……操作装置、
5……表示装置。
略ブロツク図、第2図は機械語のユーザプログラ
ムの文法エラーのチエツク、文法エラーの修正、
継電器ラダー回路図データへの変換および表示を
行なうためのシステムプログラムのフローチヤー
ト、第3A図は文法エラーを含んだ機械語のユー
ザプログラムの一例を示す図、第3B図は第3A
図のプログラムに修正が加えられた後のプログラ
ムを示す図、第3C図は第3B図の修正後のプロ
グラムから変換された継電器ラダー回路図を示す
図である。 1……中央処理装置、2……プログラマブル・
コントローラ、3……RAM、4……操作装置、
5……表示装置。
Claims (1)
- 【特許請求の範囲】 1 機械語のユーザプログラムをそれと同等のシ
ーケンス制御機能を有する継電気ラダー回路図に
変換して表示装置に出力するプログラマブル・コ
ントローラにおけるユーザプログラムの回路図化
出力装置において、 1ビツトアキユームレータのデータをスタツク
レジスタにプツシユダウンし、かつ指定番号の1
ビツトデータをアキユームレータに読込むLD命
令と、 指定番号の1ビツトデータとアキユームレータ
のデータとの論理演算をし、その結果をアキユー
ムレータにストアする論理演算命令と、 スタツクレジスタをプルアツプして得られる1
ビツトデータとアキユームレータのデータとの論
理演算をし、その結果をアキユームレータにスト
アするスタツク演算命令と、 アキユームレータのデータを指定番号のデータ
エリアに転送し、かつスタツクレジスタからアキ
ユームレータにデータをプルアツプするOUT命
令と、 から構成される機械語のユーザプログラムをその
先頭から順番にチエツクし、 LD命令で増加するとともに、OUT命令および
スタツク演算命令によつて減少する上記アキユー
ムレータおよびスタツクに格納される有意データ
の数を順次求める計数手段と、 論理演算命令が実行に供されるとき、前記計数
手段の計数値が0になつている場合、その論理演
算命令の直前にLD命令を挿入する手段と、 OUT命令が実行に供されるとき、前記計数手
段の計数値が0になつている場合、そのOUT命
令の直前にLD命令を挿入する手段と、 スタツク演算命令が実行に供されるとき、前記
計数手段の計数値が2に満たない場合、そのスタ
ツク演算命令の直前にLD命令を1または2命令
挿入する手段と、 OUT命令を実行した結果、前記計数手段の計
数値が0にならない場合、そのOUT命令の直前
のLD命令の前にOUT命令を挿入し、1つの
OUT命令の追加だけではまだ前記計数手段の計
数値が0にならない場合、さらにその前のLD命
令の直前にOUT命令を挿入する手段と、 プログラムの最後の命令がOUT命令でない場
合、プログラムの最後にOUT命令を追加し、そ
の追加によつて前記計数手段の計数値が0になら
ない場合、さらにOUT命令を追加する手段と、 を有し、 前記挿入手段および追加手段によつて挿入、追
加された命令をその他の命令と区別できる表示形
態で表示装置に出力することを特徴とするプログ
ラマブル・コントローラにおけるユーザプログラ
ムの回路図化出力装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57027788A JPS58144913A (ja) | 1982-02-23 | 1982-02-23 | プログラマブル・コントロ−ラにおけるユ−ザプログラムの回路図化出力装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57027788A JPS58144913A (ja) | 1982-02-23 | 1982-02-23 | プログラマブル・コントロ−ラにおけるユ−ザプログラムの回路図化出力装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58144913A JPS58144913A (ja) | 1983-08-29 |
| JPH042961B2 true JPH042961B2 (ja) | 1992-01-21 |
Family
ID=12230708
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57027788A Granted JPS58144913A (ja) | 1982-02-23 | 1982-02-23 | プログラマブル・コントロ−ラにおけるユ−ザプログラムの回路図化出力装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58144913A (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62254205A (ja) * | 1986-04-28 | 1987-11-06 | Mitsubishi Electric Corp | デバツグ装置 |
| JPH0353303A (ja) * | 1989-07-21 | 1991-03-07 | Fuji Electric Co Ltd | プログラマブルコントローラのプログラム入力装置 |
| US5058052A (en) * | 1989-10-16 | 1991-10-15 | Ge Fanuc Automation North America, Inc. | Method for checking the syntax of an instruction list program to determine if the program is expressible as a relay ladder diagram by a programmable logic controller |
| DE10035896A1 (de) * | 2000-07-21 | 2002-01-31 | Siemens Ag | Datenverarbeitungsanlage und ein Verfahren zur Eingabe von Daten in die Datenverarbeitungsanlage |
-
1982
- 1982-02-23 JP JP57027788A patent/JPS58144913A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58144913A (ja) | 1983-08-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| GB2077966A (en) | Programming equipment | |
| JPH02109127A (ja) | 仕様処理方法 | |
| JPH042961B2 (ja) | ||
| JP2601451B2 (ja) | テキストフアイル修正方式 | |
| CN111708572B (zh) | 一种基于Clang程序结构的控制流程图自动生成方法 | |
| JP2604066B2 (ja) | テキストファイル修正格納方法 | |
| JP3034527B2 (ja) | エディタ装置 | |
| JPS5969831A (ja) | 文書作成装置 | |
| JP2940394B2 (ja) | 原始プログラム修正装置 | |
| JPH02165341A (ja) | 入力データのエラー検出処理方式 | |
| JP3305858B2 (ja) | 自動図形作成装置および自動図形作成方法 | |
| JP3270777B2 (ja) | 論理図プログラム用エディタ | |
| JPS6051950A (ja) | プログラム出力方式 | |
| JPH05307475A (ja) | プロセス制御処理方法 | |
| JPH04248624A (ja) | プログラム変換処理装置 | |
| JPH05257658A (ja) | データ自動生成システム | |
| JPH05233553A (ja) | データ編集方式 | |
| CN111190872A (zh) | 一种可继承可扩展的数据处理方法及其对解析日志的应用 | |
| JPH0685169B2 (ja) | 文書処理方式 | |
| JPH1063746A (ja) | 表データ自動生成装置 | |
| JPH08212188A (ja) | 原因・結果グラフ作成装置及び文種分類装置 | |
| JPS62203245A (ja) | エラ−メツセ−ジ出力方式 | |
| JPH0581316A (ja) | 自然言語文の意味抽出方法及び装置 | |
| JPH04245335A (ja) | 知識表現方式 | |
| JP2001076023A (ja) | 言語変換装置、方法、及び記憶媒体 |