JPH10260709A - プログラマブルコントローラのプログラミング装置 - Google Patents
プログラマブルコントローラのプログラミング装置Info
- Publication number
- JPH10260709A JPH10260709A JP9083415A JP8341597A JPH10260709A JP H10260709 A JPH10260709 A JP H10260709A JP 9083415 A JP9083415 A JP 9083415A JP 8341597 A JP8341597 A JP 8341597A JP H10260709 A JPH10260709 A JP H10260709A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- macro
- circuit pattern
- storing
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【課題】 同じ回路パターンを複数作成する上で、入力
時間の短縮を図るとともに、個別の回路パターン変更に
も柔軟に対応できるプログラミング装置を提供する。 【解決手段】 プログラマブルコントローラ11のプロ
グラムを作成するプログラミング装置22において、実
デバイスをラベルとして別名記憶するラベルテーブル記
憶手段14、識別名を持つ回路パターンを作成し記憶す
る回路パターン記憶手段15、回路パターン呼び出しマ
クロ命令、ループマクロ命令等を解析し、回路パターン
におけるラベルを実デバイスに変換し、プログラムコー
ドを生成するマクロ展開手段16、マクロプログラムを
作成し記憶するマクロプログラム作成手段17、変数を
記憶する変数記憶手段21、プログラムコードを記憶す
るプログラムコード記憶手段18、を備える。
時間の短縮を図るとともに、個別の回路パターン変更に
も柔軟に対応できるプログラミング装置を提供する。 【解決手段】 プログラマブルコントローラ11のプロ
グラムを作成するプログラミング装置22において、実
デバイスをラベルとして別名記憶するラベルテーブル記
憶手段14、識別名を持つ回路パターンを作成し記憶す
る回路パターン記憶手段15、回路パターン呼び出しマ
クロ命令、ループマクロ命令等を解析し、回路パターン
におけるラベルを実デバイスに変換し、プログラムコー
ドを生成するマクロ展開手段16、マクロプログラムを
作成し記憶するマクロプログラム作成手段17、変数を
記憶する変数記憶手段21、プログラムコードを記憶す
るプログラムコード記憶手段18、を備える。
Description
【0001】
【発明の属する技術分野】この発明はプログラマブルコ
ントローラ(以下PLCと略す)のプログラム作成装置
に関するものである。
ントローラ(以下PLCと略す)のプログラム作成装置
に関するものである。
【0002】
【従来の技術】従来、PLCのプログラム作成におけ
る、同一回路パターンから成る回路作成では、デバイス
名を指定せずに回路パターンのみを登録回路として記憶
し、その登録回路を呼び出し、実デバイスを入力してい
き回路を作成する登録回路による方法、実デバイスを含
むすでに作成した回路を複写して実デバイス名を書き替
えることで回路を作成する複写による方法、あるいは、
ループ処理をプログラムし、デバイスとして相対参照指
定することでPLCの処理として同一回路パターンを複
数デバイスに対して適用する、PLCのループ処理によ
る方法などが採られている。
る、同一回路パターンから成る回路作成では、デバイス
名を指定せずに回路パターンのみを登録回路として記憶
し、その登録回路を呼び出し、実デバイスを入力してい
き回路を作成する登録回路による方法、実デバイスを含
むすでに作成した回路を複写して実デバイス名を書き替
えることで回路を作成する複写による方法、あるいは、
ループ処理をプログラムし、デバイスとして相対参照指
定することでPLCの処理として同一回路パターンを複
数デバイスに対して適用する、PLCのループ処理によ
る方法などが採られている。
【0003】
【発明が解決しようとする課題】しかしながら、登録回
路による方法では、同じデバイスを指定すればよいもの
でも、登録回路で使用するデバイス全てを入力する必要
があり、入力に時間がかかってしまう。また、複写によ
る方法では、変更すべきデバイスに留意してデバイスを
変更するため、入力に時間がかかるとともに、変更忘れ
等の入力ミスが発生しやすい。また、PLCのループ処
理による方法では、あるデバイスに関係する回路パター
ンのみを変更することを考えると、ループ処理から個別
の処理へ変更する必要があり、変更の必要のないデバイ
スに関係する回路についても変更を余儀なくされる。
路による方法では、同じデバイスを指定すればよいもの
でも、登録回路で使用するデバイス全てを入力する必要
があり、入力に時間がかかってしまう。また、複写によ
る方法では、変更すべきデバイスに留意してデバイスを
変更するため、入力に時間がかかるとともに、変更忘れ
等の入力ミスが発生しやすい。また、PLCのループ処
理による方法では、あるデバイスに関係する回路パター
ンのみを変更することを考えると、ループ処理から個別
の処理へ変更する必要があり、変更の必要のないデバイ
スに関係する回路についても変更を余儀なくされる。
【0004】そこで本発明は、同じ回路パターンを複数
作成する上で、入力時間の短縮を図るとともに、個別の
回路パターン変更にも柔軟に対応できるプログラミング
装置を提供することを目的とする。
作成する上で、入力時間の短縮を図るとともに、個別の
回路パターン変更にも柔軟に対応できるプログラミング
装置を提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明においては、PLCのプログラムを作成する
プログラミング装置において、入力接点コイル等の実デ
バイスを配列指定可能なラベルとして別名記憶するラベ
ルテーブル記憶手段と、回路要素のデバイスを前記ラベ
ル名または実デバイス名で指定し、識別名を持つ回路パ
ターンを作成して記憶する回路パターン記憶手段と、前
記回路パターンを識別名で指定する回路パターン呼び出
しマクロ命令および複数の同一処理を指定するループマ
クロ命令等を解析し、前記回路パターンにおける前記ラ
ベルを実デバイスに変換し、プログラムコードを生成す
るマクロ展開手段と、前記マクロ命令を含むマクロプロ
グラムを作成して記憶するマクロプログラム作成手段
と、前記マクロ命令で使用する変数を記憶する変数記憶
手段と、前記プログラムコードを記憶するプログラムコ
ード記憶手段と、前記ラベル、前記回路パターンおよび
前記マクロプログラムを入力する入力装置からのデータ
を処理する入力解析手段と、表示装置に表示する画面表
示手段と、を備えたことを特徴とするものである。
に、本発明においては、PLCのプログラムを作成する
プログラミング装置において、入力接点コイル等の実デ
バイスを配列指定可能なラベルとして別名記憶するラベ
ルテーブル記憶手段と、回路要素のデバイスを前記ラベ
ル名または実デバイス名で指定し、識別名を持つ回路パ
ターンを作成して記憶する回路パターン記憶手段と、前
記回路パターンを識別名で指定する回路パターン呼び出
しマクロ命令および複数の同一処理を指定するループマ
クロ命令等を解析し、前記回路パターンにおける前記ラ
ベルを実デバイスに変換し、プログラムコードを生成す
るマクロ展開手段と、前記マクロ命令を含むマクロプロ
グラムを作成して記憶するマクロプログラム作成手段
と、前記マクロ命令で使用する変数を記憶する変数記憶
手段と、前記プログラムコードを記憶するプログラムコ
ード記憶手段と、前記ラベル、前記回路パターンおよび
前記マクロプログラムを入力する入力装置からのデータ
を処理する入力解析手段と、表示装置に表示する画面表
示手段と、を備えたことを特徴とするものである。
【0006】本発明によれば、入力装置から入力解析手
段を用いて、ラベル名とその実デバイス番号を入力し、
ラベルテーブル記憶手段により記憶しておき、また使用
デバイスをラベル名または実デバイス名で指定した回路
パターンを入力し、回路パターン記憶手段により作成し
て記録しておき、複数の同一処理を指定するループマク
ロ命令および回路パターンを識別名で指定する回路パタ
ーン呼び出しマクロ命令を含む、マクロプログラムをマ
クロプログラム作成手段により作成して記憶しておき、
プログラマのマクロ展開指示で、そのマクロプログラム
をマクロ展開手段および変数記憶手段により、ループマ
クロ命令では、指定された複数の同一処理を展開し、回
路パターン呼び出しマクロ命令では、指定された識別名
の回路パターンを回路パターン記憶手段により記憶され
ている回路パターンに展開し、その時、回路パターンで
使用されているラベル名をラベルテーブル記憶手段によ
り記憶されているラベルテーブルから実デバイス番号を
取得して実デバイスに置き換え、プログラムコードを生
成してプログラムコード記憶手段によりプログラムコー
ドを記憶する。
段を用いて、ラベル名とその実デバイス番号を入力し、
ラベルテーブル記憶手段により記憶しておき、また使用
デバイスをラベル名または実デバイス名で指定した回路
パターンを入力し、回路パターン記憶手段により作成し
て記録しておき、複数の同一処理を指定するループマク
ロ命令および回路パターンを識別名で指定する回路パタ
ーン呼び出しマクロ命令を含む、マクロプログラムをマ
クロプログラム作成手段により作成して記憶しておき、
プログラマのマクロ展開指示で、そのマクロプログラム
をマクロ展開手段および変数記憶手段により、ループマ
クロ命令では、指定された複数の同一処理を展開し、回
路パターン呼び出しマクロ命令では、指定された識別名
の回路パターンを回路パターン記憶手段により記憶され
ている回路パターンに展開し、その時、回路パターンで
使用されているラベル名をラベルテーブル記憶手段によ
り記憶されているラベルテーブルから実デバイス番号を
取得して実デバイスに置き換え、プログラムコードを生
成してプログラムコード記憶手段によりプログラムコー
ドを記憶する。
【0007】以上のように、複数の同一回路パターンを
必要とするPLCのプログラムでは、必要となる実デバ
イスをラベルテーブルとして入力することと、必要回路
数、必要回路パターン識別名を指定するマクロプログラ
ムを入力することで必要となる回路を生成でき、入力時
間の短縮を図ることができる。なお、生成されたプログ
ラムコードの個別の回路パターンの変更は従来の技術に
より可能である。
必要とするPLCのプログラムでは、必要となる実デバ
イスをラベルテーブルとして入力することと、必要回路
数、必要回路パターン識別名を指定するマクロプログラ
ムを入力することで必要となる回路を生成でき、入力時
間の短縮を図ることができる。なお、生成されたプログ
ラムコードの個別の回路パターンの変更は従来の技術に
より可能である。
【0008】
【発明の実施の形態】次に、図面を参照しつつ本発明の
実施の形態を説明する。図1は本発明のPLCのプログ
ラミング装置の実施の形態の一例を示す構成図であり、
プログラミング装置22は、プログラマブルコントロー
ラ11のプログラムを作成する装置であり、入力接点コ
イル等の実デバイスを配列指定可能なラベル名ととも
に、図2に一例を示すラベルテーブルとして別名記憶す
るラベルテーブル記憶手段14と、回路要素のデバイス
を前記ラベル名または実デバイス名で指定して識別名を
持つ、図3に一例を示す回路パターンを作成して記憶す
る回路パターン記憶手段15と、図4に一例を示すマク
ロ命令を含むマクロプログラムを作成して記憶するマク
ロプログラム作成手段17と、前記マクロプログラムの
マクロ命令等を解析し、前記回路パターンにおける前記
ラベル名を実デバイスとして、図5に一例を示す回路に
変換し、プログラムコードを生成するマクロ展開手段1
6と、前記マクロ命令で使用する変数を記憶する変数記
憶手段21と、前記プログラムコードを記憶するプログ
ラムコード記憶手段18と、前記ラベル、前記回路パタ
ーンおよび前記マクロプログラムを入力する入力装置1
3からのデータを処理する入力解析手段20と、表示装
置12に表示する画面表示手段19とを具備する。
実施の形態を説明する。図1は本発明のPLCのプログ
ラミング装置の実施の形態の一例を示す構成図であり、
プログラミング装置22は、プログラマブルコントロー
ラ11のプログラムを作成する装置であり、入力接点コ
イル等の実デバイスを配列指定可能なラベル名ととも
に、図2に一例を示すラベルテーブルとして別名記憶す
るラベルテーブル記憶手段14と、回路要素のデバイス
を前記ラベル名または実デバイス名で指定して識別名を
持つ、図3に一例を示す回路パターンを作成して記憶す
る回路パターン記憶手段15と、図4に一例を示すマク
ロ命令を含むマクロプログラムを作成して記憶するマク
ロプログラム作成手段17と、前記マクロプログラムの
マクロ命令等を解析し、前記回路パターンにおける前記
ラベル名を実デバイスとして、図5に一例を示す回路に
変換し、プログラムコードを生成するマクロ展開手段1
6と、前記マクロ命令で使用する変数を記憶する変数記
憶手段21と、前記プログラムコードを記憶するプログ
ラムコード記憶手段18と、前記ラベル、前記回路パタ
ーンおよび前記マクロプログラムを入力する入力装置1
3からのデータを処理する入力解析手段20と、表示装
置12に表示する画面表示手段19とを具備する。
【0009】次に、動作について図1〜図5を用いて説
明する。まず、使用する実デバイスをラベル名として別
名記憶するために、入力装置13により入力し、入力解
析手段20によって文字として図2に一例を示すラベル
テーブルを作成し、ラベルテーブル記憶手段14により
記憶する。次に、使用する回路パターンを記憶するため
に、入力装置13により入力し、入力解析手段20によ
って回路パターンとして図3に一例を示す回路を作成
し、回路パターン記憶手段15により識別名とともに記
憶する。ここで、回路を作成する具体的方法は規定しな
い。公知技術としては、命令語による作成方法、絵とし
て作成する方法がある。
明する。まず、使用する実デバイスをラベル名として別
名記憶するために、入力装置13により入力し、入力解
析手段20によって文字として図2に一例を示すラベル
テーブルを作成し、ラベルテーブル記憶手段14により
記憶する。次に、使用する回路パターンを記憶するため
に、入力装置13により入力し、入力解析手段20によ
って回路パターンとして図3に一例を示す回路を作成
し、回路パターン記憶手段15により識別名とともに記
憶する。ここで、回路を作成する具体的方法は規定しな
い。公知技術としては、命令語による作成方法、絵とし
て作成する方法がある。
【0010】次に、図4に一例を示すマクロプログラム
を入力装置13により入力し、入力解析手段20によっ
て回路として作成し、マクロプログラム作成手段17に
より記憶する。次に、入力装置13によりマクロ展開指
示を入力し、入力解析手段20によってマクロ展開指示
と判断し、マクロ展開手段16によって前記マクロプロ
グラムを一回路ずつ解析し、ラベル名を実デバイスへ変
換して、図5に一例を示すプログラムコードとしてプロ
グラムコード記憶手段18により記憶し、プログラムを
作成する。
を入力装置13により入力し、入力解析手段20によっ
て回路として作成し、マクロプログラム作成手段17に
より記憶する。次に、入力装置13によりマクロ展開指
示を入力し、入力解析手段20によってマクロ展開指示
と判断し、マクロ展開手段16によって前記マクロプロ
グラムを一回路ずつ解析し、ラベル名を実デバイスへ変
換して、図5に一例を示すプログラムコードとしてプロ
グラムコード記憶手段18により記憶し、プログラムを
作成する。
【0011】ここで、図4のマクロ命令について詳細に
説明する。図4の回路No1および回路No4のマクロ
命令#SETは、その後に指定している式を演算し、変
数記憶手段21により記憶することを示す命令であり、
図4の回路No1の例では、式I=0は左辺である変数
Iに右辺である0を代入し、回路No4の例では、式I
=I+1は左辺である変数Iに、右辺の値である、演算
前の変数Iの値に1を加算した値を代入し、変数記憶手
段21により記憶することになる。
説明する。図4の回路No1および回路No4のマクロ
命令#SETは、その後に指定している式を演算し、変
数記憶手段21により記憶することを示す命令であり、
図4の回路No1の例では、式I=0は左辺である変数
Iに右辺である0を代入し、回路No4の例では、式I
=I+1は左辺である変数Iに、右辺の値である、演算
前の変数Iの値に1を加算した値を代入し、変数記憶手
段21により記憶することになる。
【0012】次に、図4の回路No2のマクロ命令#L
OOPおよび回路No5のマクロ命令#END LOO
Pは、ループマクロ命令の例であり、対で使用し、マク
ロ命令#LOOPのその後に指定しているループ回数値
分、前記マクロ命令#LOOPの次の回路Noからマク
ロ命令#END LOOPの前の回路Noの回路を繰り
返し処理することを示す命令であり、図4の例では回路
No3、回路No4を3回繰り返すことになる。
OOPおよび回路No5のマクロ命令#END LOO
Pは、ループマクロ命令の例であり、対で使用し、マク
ロ命令#LOOPのその後に指定しているループ回数値
分、前記マクロ命令#LOOPの次の回路Noからマク
ロ命令#END LOOPの前の回路Noの回路を繰り
返し処理することを示す命令であり、図4の例では回路
No3、回路No4を3回繰り返すことになる。
【0013】次に、図4の回路No3のマクロ命令#P
ATは、その後に指定している識別名を持つ回路パター
ンを呼び出し、プログラムコードに変換することを示
す、回路パターン呼び出し命令の例であり、図4の例で
は前記マクロ命令#LOOPによる繰り返しの1回目が
図5の回路No1のプログラムコードに変換され、2回
目が図5の回路No2のプログラムコードに変換され、
3回目が図5の回路No3のプログラムコードに変換さ
れることになる。
ATは、その後に指定している識別名を持つ回路パター
ンを呼び出し、プログラムコードに変換することを示
す、回路パターン呼び出し命令の例であり、図4の例で
は前記マクロ命令#LOOPによる繰り返しの1回目が
図5の回路No1のプログラムコードに変換され、2回
目が図5の回路No2のプログラムコードに変換され、
3回目が図5の回路No3のプログラムコードに変換さ
れることになる。
【0014】ここで、図4で示した、ループマクロ命令
の一例であるマクロ命令#LOOPおよびマクロ命令#
END LOOPの動作を示すフローチャートである、
図6の説明を行う。図6のS61では、ループ回数を計
数する変数カウンタに0を代入し、変数記憶手段21に
より記憶しておく。続いて、S62では、繰り返し処理
を行うために、マクロ命令#LOOPの回路Noを変数
記憶手段21により記憶しておく。
の一例であるマクロ命令#LOOPおよびマクロ命令#
END LOOPの動作を示すフローチャートである、
図6の説明を行う。図6のS61では、ループ回数を計
数する変数カウンタに0を代入し、変数記憶手段21に
より記憶しておく。続いて、S62では、繰り返し処理
を行うために、マクロ命令#LOOPの回路Noを変数
記憶手段21により記憶しておく。
【0015】S63では、ループ終了判定として、記憶
している変数カウンタ値とループ回数値を比較し、変数
カウンタ値がループ回数値以上の値である場合は、処理
を終了し、マクロ命令#END LOOPの次の回路N
oの処理へ移る。変数カウンタ値がループ回数値以上の
値でない場合は、S64へ移る。S64では、次回路の
処理を行うため、処理している回路Noに1を加算す
る。
している変数カウンタ値とループ回数値を比較し、変数
カウンタ値がループ回数値以上の値である場合は、処理
を終了し、マクロ命令#END LOOPの次の回路N
oの処理へ移る。変数カウンタ値がループ回数値以上の
値でない場合は、S64へ移る。S64では、次回路の
処理を行うため、処理している回路Noに1を加算す
る。
【0016】続いて、S65では、その回路Noの回路
について解析を行う。続いて、S66では、その回路が
マクロ命令#END LOOPであるかの判定をし、マ
クロ命令#END LOOPでない場合は、S64へ移
り、マクロ命令#END LOOPである場合は、S6
7へ移る。S67では、変数カウンタに1を加算し、そ
の値を変数カウンタ値として、変数記憶手段21により
記憶する。続いて、S68では、処理する回路Noを、
記憶しているマクロ命令#LOOPの回路Noとし、変
数記憶手段21により記憶し、S63に移る。以上の動
作により、ループマクロ命令間の回路を指定回数分解析
することができる。
について解析を行う。続いて、S66では、その回路が
マクロ命令#END LOOPであるかの判定をし、マ
クロ命令#END LOOPでない場合は、S64へ移
り、マクロ命令#END LOOPである場合は、S6
7へ移る。S67では、変数カウンタに1を加算し、そ
の値を変数カウンタ値として、変数記憶手段21により
記憶する。続いて、S68では、処理する回路Noを、
記憶しているマクロ命令#LOOPの回路Noとし、変
数記憶手段21により記憶し、S63に移る。以上の動
作により、ループマクロ命令間の回路を指定回数分解析
することができる。
【0017】次に、図4で示した、回路パターン呼び出
し命令の一例であるマクロ命令#PATの動作を示すフ
ローチャートである、図7の説明を行う。図7のS71
では、回路パターン記憶手段15により記憶している回
路パターンから、マクロ命令#PATで指定した識別名
の回路を読み込む。S72では、読み込んだ回路の回路
要素を全て処理したか否かの判定を行う。ここで、回路
要素とは、図3の例で示す31、32、33、34の個
々の回路要素を指す。全て処理した場合は、処理を終了
する。まだ処理していない回路要素が有る場合は、S7
3へ移る。S73では、回路要素31〜34のデバイス
名を解析する。続いて、S74では、S73の解析の結
果、デバイス名がラベル名で指定されているか否かの判
定を行う。デバイス名がラベル名でない場合は、S76
へ移り、デバイス名がラベル名の場合は次のS75へ移
る。
し命令の一例であるマクロ命令#PATの動作を示すフ
ローチャートである、図7の説明を行う。図7のS71
では、回路パターン記憶手段15により記憶している回
路パターンから、マクロ命令#PATで指定した識別名
の回路を読み込む。S72では、読み込んだ回路の回路
要素を全て処理したか否かの判定を行う。ここで、回路
要素とは、図3の例で示す31、32、33、34の個
々の回路要素を指す。全て処理した場合は、処理を終了
する。まだ処理していない回路要素が有る場合は、S7
3へ移る。S73では、回路要素31〜34のデバイス
名を解析する。続いて、S74では、S73の解析の結
果、デバイス名がラベル名で指定されているか否かの判
定を行う。デバイス名がラベル名でない場合は、S76
へ移り、デバイス名がラベル名の場合は次のS75へ移
る。
【0018】S75では、そのラベル名をラベルテーブ
ル記憶手段14により記憶されているラベルテーブルか
ら検索し、該当するラベル名の実デバイスを取得する。
ここで、図3の例で示した回路要素31のデバイス名$
KOSHO(I)、回路要素34のデバイス名$HYO
JI(I)のように配列指定されている場合は、配列の
要素番号を示す変数Iの値となるラベル名を検索する。
例えば変数Iの値が1の場合は、ラベル名$KOSHO
(1)、ラベル名$HYOJI(1)を検索する。S7
6では、回路要素を実デバイスとともにプログラムコー
ドとして、プログラムコード記憶手段18により記憶す
る。続いて、S77では、次の回路要素へ処理を移し、
S72へ移る。以上の動作により、デバイス名としてラ
ベル名を指定している回路パターンを実デバイスに置き
替え、プログラムコードとして記憶することができる。
ル記憶手段14により記憶されているラベルテーブルか
ら検索し、該当するラベル名の実デバイスを取得する。
ここで、図3の例で示した回路要素31のデバイス名$
KOSHO(I)、回路要素34のデバイス名$HYO
JI(I)のように配列指定されている場合は、配列の
要素番号を示す変数Iの値となるラベル名を検索する。
例えば変数Iの値が1の場合は、ラベル名$KOSHO
(1)、ラベル名$HYOJI(1)を検索する。S7
6では、回路要素を実デバイスとともにプログラムコー
ドとして、プログラムコード記憶手段18により記憶す
る。続いて、S77では、次の回路要素へ処理を移し、
S72へ移る。以上の動作により、デバイス名としてラ
ベル名を指定している回路パターンを実デバイスに置き
替え、プログラムコードとして記憶することができる。
【0019】次に、図面を参照しつつマクロ展開手段1
6の実施例の動作を説明する。ここで、図2に示すラベ
ルテーブル、図3に示す回路パターン、図4に示すマク
ロプログラムは既に入力し、記憶されているものとす
る。今、図4のマクロプログラムをマクロ展開手段16
によりプログラムコードに展開する、マクロ展開指示が
なされたとする。
6の実施例の動作を説明する。ここで、図2に示すラベ
ルテーブル、図3に示す回路パターン、図4に示すマク
ロプログラムは既に入力し、記憶されているものとす
る。今、図4のマクロプログラムをマクロ展開手段16
によりプログラムコードに展開する、マクロ展開指示が
なされたとする。
【0020】まず、マクロ展開手段16は、図4のマク
ロプログラムの最初の回路である回路No1の命令を解
析し、マクロ命令#SETであることから、演算式I=
0を実施し、変数Iに値0を代入し、変数記憶手段21
により記憶しておく。次に、次の回路である図4の回路
No2の命令を解析し、マクロ命令#LOOPであるこ
とから、ループ回数値で示されている3回分、ループの
終了を示すマクロ命令#END LOOPの回路である
回路No5までの回路につき処理を行う。
ロプログラムの最初の回路である回路No1の命令を解
析し、マクロ命令#SETであることから、演算式I=
0を実施し、変数Iに値0を代入し、変数記憶手段21
により記憶しておく。次に、次の回路である図4の回路
No2の命令を解析し、マクロ命令#LOOPであるこ
とから、ループ回数値で示されている3回分、ループの
終了を示すマクロ命令#END LOOPの回路である
回路No5までの回路につき処理を行う。
【0021】ここで、図6のフローチャートを交えて説
明すると、S61で変数カウンタに値0を代入し、変数
記憶手段21により記憶しておく。次に、S62でマク
ロ命令#LOOPの回路Noである回路No2を、変数
記憶手段21により記憶しておく。次に、S63では、
変数カウンタの値0はループ回数値3以上ではないた
め、S64へ移る。
明すると、S61で変数カウンタに値0を代入し、変数
記憶手段21により記憶しておく。次に、S62でマク
ロ命令#LOOPの回路Noである回路No2を、変数
記憶手段21により記憶しておく。次に、S63では、
変数カウンタの値0はループ回数値3以上ではないた
め、S64へ移る。
【0022】1回目のループ処理として以下の動作を行
う。S64では、処理する回路Noを1加算し、回路N
o3とする。次のS65では、図4の回路No3の命令
を解析し、マクロ命令#PATであることから、識別名
KAIRO1の回路パターンを記憶されている回路パタ
ーンから検索し、図3に示されている識別名KAIRO
1の回路パターンを読み込み、一回路要素毎にデバイス
名の解析を行う。回路要素31では、デバイス名がラベ
ル名$KOSHO(I)であることから、変数Iの現在
の値である0として図2のラベルテーブルからラベル名
$KOSHO(0)の実デバイスX0000を取得し、
図5の回路要素51としてプログラムコードに変換され
る。図3の回路要素32では、デバイス名がラベル名$
LOCKであることから、図2のラベルテーブルからラ
ベル名$LOCKの実デバイスX0010を取得し、図
5の回路要素52としてプログラムコードに変換され
る。図3の回路要素33では、デバイス名がラベル名$
LAMPCであることから、図2のラベルテーブルから
実デバイスX0011を取得し、図5の回路要素53と
してプログラムコードに変換される。図3の回路要素3
4では、デバイス名が$HYOJI(I)であることか
ら、変数Iの現在の値である0として図2のラベルテー
ブルからラベル名$HYOJI(0)の実デバイスY0
100を取得し、図5の回路要素54としてプログラム
コードに変換される。もうそれ以上、識別名KAIRO
1の回路パターンの回路要素は無いため、図4の回路N
o3の処理は終了となり、図5の回路No1がプログラ
ムコード記憶手段18によって記憶される。
う。S64では、処理する回路Noを1加算し、回路N
o3とする。次のS65では、図4の回路No3の命令
を解析し、マクロ命令#PATであることから、識別名
KAIRO1の回路パターンを記憶されている回路パタ
ーンから検索し、図3に示されている識別名KAIRO
1の回路パターンを読み込み、一回路要素毎にデバイス
名の解析を行う。回路要素31では、デバイス名がラベ
ル名$KOSHO(I)であることから、変数Iの現在
の値である0として図2のラベルテーブルからラベル名
$KOSHO(0)の実デバイスX0000を取得し、
図5の回路要素51としてプログラムコードに変換され
る。図3の回路要素32では、デバイス名がラベル名$
LOCKであることから、図2のラベルテーブルからラ
ベル名$LOCKの実デバイスX0010を取得し、図
5の回路要素52としてプログラムコードに変換され
る。図3の回路要素33では、デバイス名がラベル名$
LAMPCであることから、図2のラベルテーブルから
実デバイスX0011を取得し、図5の回路要素53と
してプログラムコードに変換される。図3の回路要素3
4では、デバイス名が$HYOJI(I)であることか
ら、変数Iの現在の値である0として図2のラベルテー
ブルからラベル名$HYOJI(0)の実デバイスY0
100を取得し、図5の回路要素54としてプログラム
コードに変換される。もうそれ以上、識別名KAIRO
1の回路パターンの回路要素は無いため、図4の回路N
o3の処理は終了となり、図5の回路No1がプログラ
ムコード記憶手段18によって記憶される。
【0023】次に、図6のS66では、まだマクロ命令
#END LOOPではないため、S64へ移り、処理
する回路Noを1加算し、回路No4とする。次にS6
5では、図4の回路No4の命令を解析し、マクロ命令
#SETであることから、演算式I=I+1を実施し、
変数Iに、演算実行前の変数Iの値である値0に1を加
算した結果の値1を代入し、変数記憶手段21により記
憶しておく。次に、図6のS66では、まだマクロ命令
#END LOOPではないため、S64へ移り、処理
する回路Noを1加算し、回路No5とする。
#END LOOPではないため、S64へ移り、処理
する回路Noを1加算し、回路No4とする。次にS6
5では、図4の回路No4の命令を解析し、マクロ命令
#SETであることから、演算式I=I+1を実施し、
変数Iに、演算実行前の変数Iの値である値0に1を加
算した結果の値1を代入し、変数記憶手段21により記
憶しておく。次に、図6のS66では、まだマクロ命令
#END LOOPではないため、S64へ移り、処理
する回路Noを1加算し、回路No5とする。
【0024】次に、S65では、図4の回路No5の命
令を解析し、マクロ命令#ENDLOOPであることか
ら、ループの終了位置であると判断し、次のS66でS
67へ移り、S67では変数カウンタに演算前の変数カ
ウンタの値0に1を加算した値1を代入し、変数記憶手
段21により記憶しておく。次に、S68では、処理す
る回路Noを、記憶しているマクロ命令#LOOPの回
路の回路No2とし、1回目のループ処理を終了し、S
63へ移る。S63では、変数カウンタの値1はループ
回数値3以上ではないため、S64へ移る。
令を解析し、マクロ命令#ENDLOOPであることか
ら、ループの終了位置であると判断し、次のS66でS
67へ移り、S67では変数カウンタに演算前の変数カ
ウンタの値0に1を加算した値1を代入し、変数記憶手
段21により記憶しておく。次に、S68では、処理す
る回路Noを、記憶しているマクロ命令#LOOPの回
路の回路No2とし、1回目のループ処理を終了し、S
63へ移る。S63では、変数カウンタの値1はループ
回数値3以上ではないため、S64へ移る。
【0025】2回目のループ処理として、1回目のルー
プ処理と同様に、S64では処理する回路Noを回路N
o3とし、S64では図4の回路No3の処理として、
図5の回路No2のプログラムコードに変換され、プロ
グラムコード記憶手段18によって記憶される。次に、
S66では、まだマクロ命令#END LOOPではな
いため、S64へ移り、処理する回路Noを回路No4
とし、次のS65では、回路No4の処理として、変数
Iに、演算値2を代入し、変数記憶手段21により記憶
し、次のS66では、まだマクロ命令#END LOO
Pではないため、S64へ移り、処理する回路Noを回
路No5とし、次のS65では、図4の回路No5の命
令がマクロ命令#END LOOPであることから、ル
ープの終了位置であると判断し、次のS66でS67へ
移り、S67では変数カウンタに演算値2を代入し、変
数記憶手段21により記憶し、次のS68では、処理す
る回路Noを、記憶しているマクロ命令#LOOPの回
路の回路No2とし、2回目のループ処理を終了し、S
63へ移る。S63では、変数カウンタの値2はループ
回数値3以上ではないため、S64へ移る。
プ処理と同様に、S64では処理する回路Noを回路N
o3とし、S64では図4の回路No3の処理として、
図5の回路No2のプログラムコードに変換され、プロ
グラムコード記憶手段18によって記憶される。次に、
S66では、まだマクロ命令#END LOOPではな
いため、S64へ移り、処理する回路Noを回路No4
とし、次のS65では、回路No4の処理として、変数
Iに、演算値2を代入し、変数記憶手段21により記憶
し、次のS66では、まだマクロ命令#END LOO
Pではないため、S64へ移り、処理する回路Noを回
路No5とし、次のS65では、図4の回路No5の命
令がマクロ命令#END LOOPであることから、ル
ープの終了位置であると判断し、次のS66でS67へ
移り、S67では変数カウンタに演算値2を代入し、変
数記憶手段21により記憶し、次のS68では、処理す
る回路Noを、記憶しているマクロ命令#LOOPの回
路の回路No2とし、2回目のループ処理を終了し、S
63へ移る。S63では、変数カウンタの値2はループ
回数値3以上ではないため、S64へ移る。
【0026】3回目のループ処理も、1回目、2回目の
ループ処理と同様にして、S64、S65、S66、S
67、S68の処理を行い、図4の回路No3は、図5
の回路No3の回路として、プログラムコード記憶手段
18によって記憶され、変数Iは演算値3として、変数
カウンタは演算値3として、変数記憶手段21により記
憶され、S63の判断によって、変数カウンタの値3が
ループ回数値3以上であることから、ループ処理を終了
する。以上の動作により、図4のマクロプログラムが図
5のプログラムコードに変換される。
ループ処理と同様にして、S64、S65、S66、S
67、S68の処理を行い、図4の回路No3は、図5
の回路No3の回路として、プログラムコード記憶手段
18によって記憶され、変数Iは演算値3として、変数
カウンタは演算値3として、変数記憶手段21により記
憶され、S63の判断によって、変数カウンタの値3が
ループ回数値3以上であることから、ループ処理を終了
する。以上の動作により、図4のマクロプログラムが図
5のプログラムコードに変換される。
【0027】また、前記実施の形態では、変数は数値と
して取り扱ったが、変数の記憶方法として、実デバイス
の種別あるいは数値であることを示すデバイス種別、お
よびその番号あるいは数値を示す種別番号で記憶する方
法を取り、さらに変数の演算規則として、デバイス種別
が数値同士の演算では演算結果として、デバイス種別は
数値を示し、種別番号に両種別番号の数値演算の結果を
代入する規則、また、デバイス種別が実デバイスと数値
で有る場合の演算では演算結果として、デバイス種別は
実デバイスの種別を示し、種別番号には両種別番号の数
値演算の結果を代入する規則を設定すること、および、
変数をラベル名と同様に回路パターンのデバイス名とし
て使用可能とすることで、中間値として使用する、実デ
バイス番号にそれほど意味を持たない補助デバイスを変
数で指定しておき、ループ処理内で、その変数に対する
マクロ命令#SETをプログラムしておくこと、によっ
てラベルテーブルに前記補助デバイスを入力しなくて
も、実デバイスのプログラムコードへ展開できる波及効
果がある。
して取り扱ったが、変数の記憶方法として、実デバイス
の種別あるいは数値であることを示すデバイス種別、お
よびその番号あるいは数値を示す種別番号で記憶する方
法を取り、さらに変数の演算規則として、デバイス種別
が数値同士の演算では演算結果として、デバイス種別は
数値を示し、種別番号に両種別番号の数値演算の結果を
代入する規則、また、デバイス種別が実デバイスと数値
で有る場合の演算では演算結果として、デバイス種別は
実デバイスの種別を示し、種別番号には両種別番号の数
値演算の結果を代入する規則を設定すること、および、
変数をラベル名と同様に回路パターンのデバイス名とし
て使用可能とすることで、中間値として使用する、実デ
バイス番号にそれほど意味を持たない補助デバイスを変
数で指定しておき、ループ処理内で、その変数に対する
マクロ命令#SETをプログラムしておくこと、によっ
てラベルテーブルに前記補助デバイスを入力しなくて
も、実デバイスのプログラムコードへ展開できる波及効
果がある。
【0028】さらに、図4の例では、同一回路パターン
を持つ回路を3回路として示したが、必要となる同一回
路パターンの回路数が増えれば増えるほど、従来技術に
比較して、入力時間の短縮率が増加することは明白であ
る。
を持つ回路を3回路として示したが、必要となる同一回
路パターンの回路数が増えれば増えるほど、従来技術に
比較して、入力時間の短縮率が増加することは明白であ
る。
【0029】
【発明の効果】以上説明したように本発明によれば、プ
ログラマブルコントローラのプログラミング装置におい
て、複数の同一回路パターンを必要とするプログラムで
は、必要となる回路全てを入力あるいは複写して変更す
る必要がなく、必要となる実デバイスをラベルテーブル
として入力することと、必要回路パターンを識別名を付
け回路入力することと、必要回路数、必要回路パターン
識別名を指定するマクロプログラムを入力することで、
マクロプログラムをプログラムコードに展開し、必要と
なる回路を生成できるため、入力時間の短縮を図ること
ができる。
ログラマブルコントローラのプログラミング装置におい
て、複数の同一回路パターンを必要とするプログラムで
は、必要となる回路全てを入力あるいは複写して変更す
る必要がなく、必要となる実デバイスをラベルテーブル
として入力することと、必要回路パターンを識別名を付
け回路入力することと、必要回路数、必要回路パターン
識別名を指定するマクロプログラムを入力することで、
マクロプログラムをプログラムコードに展開し、必要と
なる回路を生成できるため、入力時間の短縮を図ること
ができる。
【図1】本発明のプログラマブルコントローラのプログ
ラミング装置の実施の形態の一例を示す構成図である。
ラミング装置の実施の形態の一例を示す構成図である。
【図2】図1のラベルテーブル記憶手段14により記憶
されるラベルテーブルの一例である。
されるラベルテーブルの一例である。
【図3】図1の回路パターン記憶手段15により記憶さ
れる回路パターンの一例である。
れる回路パターンの一例である。
【図4】図1のマクロプログラム作成手段17により記
憶されるマクロプログラムの一例である。
憶されるマクロプログラムの一例である。
【図5】図4のマクロプログラムを図2のラベルテーブ
ル、図3の回路パターンを使って、図1のマクロ展開手
段16により展開されたプログラムの一例である。
ル、図3の回路パターンを使って、図1のマクロ展開手
段16により展開されたプログラムの一例である。
【図6】本発明におけるマクロ命令の一例であるマクロ
命令#LOOPの動作を示すフローチャートである。
命令#LOOPの動作を示すフローチャートである。
【図7】本発明におけるマクロ命令の一例であるマクロ
命令#PATの動作を示すフローチャートである。
命令#PATの動作を示すフローチャートである。
11 プログラマブルコントローラ 12 表示装置 13 入力装置 14 ラベルテーブル記憶手段 15 回路パターン記憶手段 16 マクロ展開手段 17 マクロプログラム作成手段 18 プログラムコード記憶手段 19 画面表示手段 20 入力解析手段 21 変数記憶手段 22 プログラミング装置
Claims (1)
- 【請求項1】プログラマブルコントローラのプログラム
を作成するプログラミング装置において、 入力接点コイル等の実デバイスを配列指定可能なラベル
として別名記憶するラベルテーブル記憶手段と、 回路要素のデバイスを前記ラベル名または実デバイス名
で指定し、識別名を持つ回路パターンを作成して記憶す
る回路パターン記憶手段と、 前記回路パターンを識別名で指定する回路パターン呼び
出しマクロ命令および複数の同一処理を指定するループ
マクロ命令等を解析し、前記回路パターンにおける前記
ラベルを実デバイスに変換し、プログラムコードを生成
するマクロ展開手段と、 前記マクロ命令を含むマクロプログラムを作成して記憶
するマクロプログラム作成手段と、 前記マクロ命令で使用する変数を記憶する変数記憶手段
と、 前記プログラムコードを記憶するプログラムコード記憶
手段と、 前記ラベル、前記回路パターンおよび前記マクロプログ
ラムを入力する入力装置からのデータを処理する入力解
析手段と、 表示装置に表示する画面表示手段と、 を有することを特徴とするプログラマブルコントローラ
のプログラミング装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9083415A JPH10260709A (ja) | 1997-03-18 | 1997-03-18 | プログラマブルコントローラのプログラミング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9083415A JPH10260709A (ja) | 1997-03-18 | 1997-03-18 | プログラマブルコントローラのプログラミング装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10260709A true JPH10260709A (ja) | 1998-09-29 |
Family
ID=13801817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9083415A Pending JPH10260709A (ja) | 1997-03-18 | 1997-03-18 | プログラマブルコントローラのプログラミング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10260709A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6081041B1 (ja) * | 2016-03-29 | 2017-02-15 | 三菱電機株式会社 | プログラム作成装置、プログラム作成方法及びプログラム |
| WO2021200222A1 (ja) * | 2020-03-31 | 2021-10-07 | ダイキン工業株式会社 | 仕様記述プログラム及び仕様記述方法 |
-
1997
- 1997-03-18 JP JP9083415A patent/JPH10260709A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6081041B1 (ja) * | 2016-03-29 | 2017-02-15 | 三菱電機株式会社 | プログラム作成装置、プログラム作成方法及びプログラム |
| WO2017168564A1 (ja) * | 2016-03-29 | 2017-10-05 | 三菱電機株式会社 | プログラム作成装置、プログラム作成方法及びプログラム |
| WO2021200222A1 (ja) * | 2020-03-31 | 2021-10-07 | ダイキン工業株式会社 | 仕様記述プログラム及び仕様記述方法 |
| JP2021163058A (ja) * | 2020-03-31 | 2021-10-11 | ダイキン工業株式会社 | 仕様記述プログラム及び仕様記述方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5379373A (en) | Document layout processing method and device for carrying out the same | |
| US5287449A (en) | Automatic program generation method with a visual data structure display | |
| JPS63181033A (ja) | プログラム自動生成方式 | |
| JP2013222439A (ja) | プログラム生成装置 | |
| US6233703B1 (en) | Automatic generation of evaluation order for a function block diagram and detection of any associated errors | |
| JPH10260709A (ja) | プログラマブルコントローラのプログラミング装置 | |
| JPH0667871A (ja) | プログラム自動更新方式 | |
| JP2875135B2 (ja) | プログラマブルコントローラ用プログラム装置 | |
| EP0315172A2 (en) | Automatic program generation method with a visual data structure display | |
| JPH07281718A (ja) | シーケンスデータのクロスリファレンス作成方法 | |
| JPH117312A (ja) | Ncプログラム編集システム及びncプログラム編集用プログラムを記録した記録媒体 | |
| JP2001075831A (ja) | プログラム処理装置、ic試験システム、プログラム処理方法及び記憶媒体 | |
| JPH04160433A (ja) | 情報編集方式 | |
| JPH09204204A (ja) | ラダーシーケンス回路のチェック方法 | |
| JPH02268332A (ja) | メンバーシップ関数設定装置 | |
| JP2018151537A (ja) | 画面作成装置および画面作成プログラム | |
| JPH0793008A (ja) | シーケンスデータの生成方法 | |
| JP2831717B2 (ja) | データパス表示装置 | |
| JPH11272524A (ja) | データ変換装置および記憶媒体 | |
| JPH0895763A (ja) | オリジナルプログラムへの部品プログラム取り込み方法 | |
| JPH06161516A (ja) | シーケンスプログラムのチェック方法 | |
| JPH04148328A (ja) | 状態遷移変換装置 | |
| KR910006814A (ko) | 시퀀스 제어프로프램의 자동작성장치 | |
| JPH0357020A (ja) | システム処理プログラム作成装置 | |
| JPH03237562A (ja) | マイクロフィッシュ出力作成処理方法 |