JPH0736510A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH0736510A JPH0736510A JP18160693A JP18160693A JPH0736510A JP H0736510 A JPH0736510 A JP H0736510A JP 18160693 A JP18160693 A JP 18160693A JP 18160693 A JP18160693 A JP 18160693A JP H0736510 A JPH0736510 A JP H0736510A
- Authority
- JP
- Japan
- Prior art keywords
- label
- execution
- sequence program
- executed
- instruction
- 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
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【目的】 シーケンスプログラムの実行範囲と非実行範
囲を明確に区別可能にして、デバックやプログラミング
の作業効率を向上させる。 【構成】 シーケンスプログラムに基づいて外部機器と
の間にて情報の授受を実行するプログラマブルコントロ
ーラにおいて、前記シーケンスプログラムに実行開始ラ
ベルと実行終了ラベルを付加し、実行開始ラベルであれ
ば実行フラグをONし、実行終了ラベルであれば実行フ
ラグをOFFするラベル処理(S24)と、該ラベル処
理による実行フラグに基づいて、シーケンス命令や応用
命令を実行する前に命令の実行判断を行う実行判断処理
(S25)とを実行する。
囲を明確に区別可能にして、デバックやプログラミング
の作業効率を向上させる。 【構成】 シーケンスプログラムに基づいて外部機器と
の間にて情報の授受を実行するプログラマブルコントロ
ーラにおいて、前記シーケンスプログラムに実行開始ラ
ベルと実行終了ラベルを付加し、実行開始ラベルであれ
ば実行フラグをONし、実行終了ラベルであれば実行フ
ラグをOFFするラベル処理(S24)と、該ラベル処
理による実行フラグに基づいて、シーケンス命令や応用
命令を実行する前に命令の実行判断を行う実行判断処理
(S25)とを実行する。
Description
【0001】
【産業上の利用分野】この発明は、シーケンスプログラ
ムに基づいて外部機器との間にて情報の授受を実行する
プログラマブルコントローラに関し、特に、シーケンス
プログラムのデバック作業を向上させるプログラマブル
コントローラに関するものである。
ムに基づいて外部機器との間にて情報の授受を実行する
プログラマブルコントローラに関し、特に、シーケンス
プログラムのデバック作業を向上させるプログラマブル
コントローラに関するものである。
【0002】
【従来の技術】図6は、一般的なプログラマブルコント
ローラおよびプログラマブルコントローラに接続された
プログラミング装置のシステム構成を示すブロック図で
ある。図において、本システムは、大きくプログラマブ
ルコントローラ1と、該プログラマブルコントローラ1
を動作させるためのシーケンスプログラムを作成するプ
ログラミング装置2とから構成され、プログラマブルコ
ントローラ1とプログラミング装置2とは接続ケーブル
9を介して相互にデータの送受信が可能になるように接
続されている。
ローラおよびプログラマブルコントローラに接続された
プログラミング装置のシステム構成を示すブロック図で
ある。図において、本システムは、大きくプログラマブ
ルコントローラ1と、該プログラマブルコントローラ1
を動作させるためのシーケンスプログラムを作成するプ
ログラミング装置2とから構成され、プログラマブルコ
ントローラ1とプログラミング装置2とは接続ケーブル
9を介して相互にデータの送受信が可能になるように接
続されている。
【0003】プログラマブルコントローラ1は、該プロ
グラマブルコントローラ1用のCPU3と、該CPU3
と共にプログラマブルコントローラ1の機能を実現する
ためのシステムプログラムが格納されているシステムプ
ログラムメモリ4と、システムプログラムが使用する作
業領域メモリ5と、シーケンスプログラムが格納されて
いるシーケンスプログラムメモリ6と、コメントデータ
等のユーザデータを格納するユーザデータメモリ7と、
プログラマブルコントローラ1により制御される被制御
装置(図示せず)と、プログラマブルコントローラ1と
内部信号線との間に介在する入出力インターフェイス回
路8と、プログラマブルコントローラ1の内部信号と接
続ケーブル9の間に介在するインターフェイス回路10
とから構成されている。
グラマブルコントローラ1用のCPU3と、該CPU3
と共にプログラマブルコントローラ1の機能を実現する
ためのシステムプログラムが格納されているシステムプ
ログラムメモリ4と、システムプログラムが使用する作
業領域メモリ5と、シーケンスプログラムが格納されて
いるシーケンスプログラムメモリ6と、コメントデータ
等のユーザデータを格納するユーザデータメモリ7と、
プログラマブルコントローラ1により制御される被制御
装置(図示せず)と、プログラマブルコントローラ1と
内部信号線との間に介在する入出力インターフェイス回
路8と、プログラマブルコントローラ1の内部信号と接
続ケーブル9の間に介在するインターフェイス回路10
とから構成されている。
【0004】また、プログラミング装置2は、該プログ
ラミング装置2用のCPU11と、情報入力手段として
のキーボード12と、情報表示手段としてのディスプレ
イ装置13と、フロッピーディスクドライブ14と、C
PU11と共にプログラミング装置2の機能を実現する
システムプログラムが格納されているシステムプログラ
ムメモリ15と、システムプログラムが使用する作業領
域メモリ16と、シーケンスプログラムが格納されてい
るシーケンスプログラムメモリ17と、コメントデータ
等のユーザデータを格納するユーザデータメモリ18
と、プログラミング装置2の内部信号と接続ケーブル9
の間に介在するインターフェイス回路19とから構成さ
れている。
ラミング装置2用のCPU11と、情報入力手段として
のキーボード12と、情報表示手段としてのディスプレ
イ装置13と、フロッピーディスクドライブ14と、C
PU11と共にプログラミング装置2の機能を実現する
システムプログラムが格納されているシステムプログラ
ムメモリ15と、システムプログラムが使用する作業領
域メモリ16と、シーケンスプログラムが格納されてい
るシーケンスプログラムメモリ17と、コメントデータ
等のユーザデータを格納するユーザデータメモリ18
と、プログラミング装置2の内部信号と接続ケーブル9
の間に介在するインターフェイス回路19とから構成さ
れている。
【0005】次に、動作について説明する。図7は、従
来におけるプログラマブルコントローラのシーケンスプ
ログラム実行処理の動作を示すフローチャートである。
また、図8は、従来におけるプログラマブルコントロー
ラのシーケンスプログラムの実行状態をイメージした説
明図である。図7において、プログラマブルコントロー
ラ1は、シーケンスプログラムを実行する前にイニシャ
ル処理を実行する(S71)。次に、シーケンスプログ
ラムステップ算出処理ににより実行するステップを算出
する(S72)。その後、該算出したステップに基づい
てシーケンスプログラムメモリ6からシーケンス命令を
取り出し、命令の解析を行うシーケンスプログラム命令
解析処理を開始する(S73)。
来におけるプログラマブルコントローラのシーケンスプ
ログラム実行処理の動作を示すフローチャートである。
また、図8は、従来におけるプログラマブルコントロー
ラのシーケンスプログラムの実行状態をイメージした説
明図である。図7において、プログラマブルコントロー
ラ1は、シーケンスプログラムを実行する前にイニシャ
ル処理を実行する(S71)。次に、シーケンスプログ
ラムステップ算出処理ににより実行するステップを算出
する(S72)。その後、該算出したステップに基づい
てシーケンスプログラムメモリ6からシーケンス命令を
取り出し、命令の解析を行うシーケンスプログラム命令
解析処理を開始する(S73)。
【0006】すなわち、上記シーケンスプログラム命令
解析処理において、シーケンス命令、応用命令、END
命令のいずれであるかを判断し(S73a)、それぞれ
の処理を実行する。すなわち、シーケンス命令であると
判断した場合には、シーケンス命令実行処理を実行し
(S74)、応用命令であると判断した場合には、応用
命令実行処理を実行し(S75)、あるいは、END命
令であると判断した場合には、END命令実行処理を実
行する(S76)。上記各処理を実行した後、再度、上
記ステップS72のシーケンスプログラムステップ算出
処理に戻って、同様の処理を繰り返し実行する。なお、
シーケンスプログラムの実行ステップは、END命令を
実行すると、シーケンスプログラムの0ステップ(最初
のステップ)に戻り、同様の処理を繰り返し実行する。
解析処理において、シーケンス命令、応用命令、END
命令のいずれであるかを判断し(S73a)、それぞれ
の処理を実行する。すなわち、シーケンス命令であると
判断した場合には、シーケンス命令実行処理を実行し
(S74)、応用命令であると判断した場合には、応用
命令実行処理を実行し(S75)、あるいは、END命
令であると判断した場合には、END命令実行処理を実
行する(S76)。上記各処理を実行した後、再度、上
記ステップS72のシーケンスプログラムステップ算出
処理に戻って、同様の処理を繰り返し実行する。なお、
シーケンスプログラムの実行ステップは、END命令を
実行すると、シーケンスプログラムの0ステップ(最初
のステップ)に戻り、同様の処理を繰り返し実行する。
【0007】次に、図8を用いて、従来におけるプログ
ラマブルコントローラのシーケンスプログラムの実行例
について説明する。図において、JMP命令はオペラン
ドに示されるラベルのステップへジャンプする命令であ
る。まず、0ステップからシーケンスプログラムを実行
し、JMP命令があるまで次の命令を実行する。“JM
P P0”の命令を実行すると、ラベルP0が示すステ
ップへジャンプする。そして、ジャンプしたステップP
0からシーケンスプログラムを実行する。また、“JM
P P1”の命令を実行すると、ラベルP1が示すステ
ップへジャンプする。そして、ジャンプしたステップP
1からシーケンスプログラムを実行する。また、END
命令を実行するとステップ0へ戻る。そして、従来にお
いては、JMP命令で実行させない部分を把握し易くす
るため、プログラミング装置2によりラベルP0等にコ
メントを付けるようにしていた。
ラマブルコントローラのシーケンスプログラムの実行例
について説明する。図において、JMP命令はオペラン
ドに示されるラベルのステップへジャンプする命令であ
る。まず、0ステップからシーケンスプログラムを実行
し、JMP命令があるまで次の命令を実行する。“JM
P P0”の命令を実行すると、ラベルP0が示すステ
ップへジャンプする。そして、ジャンプしたステップP
0からシーケンスプログラムを実行する。また、“JM
P P1”の命令を実行すると、ラベルP1が示すステ
ップへジャンプする。そして、ジャンプしたステップP
1からシーケンスプログラムを実行する。また、END
命令を実行するとステップ0へ戻る。そして、従来にお
いては、JMP命令で実行させない部分を把握し易くす
るため、プログラミング装置2によりラベルP0等にコ
メントを付けるようにしていた。
【0008】その他、この発明に関連する参考技術文献
として、特開昭58−158742号公報に開示されて
いる「区間実行機能付プログラマブル・コントロー
ラ」、特開平2−41504号公報に開示されている
「パートプログラム実行方法」がある。
として、特開昭58−158742号公報に開示されて
いる「区間実行機能付プログラマブル・コントロー
ラ」、特開平2−41504号公報に開示されている
「パートプログラム実行方法」がある。
【0009】
【発明が解決しようとする課題】しかしながら、上記に
示されるような従来におけるプログラマブルコントロー
ラにあっては、シーケンスプログラムに対してデバック
作業を行っているとき、実行させてはいけないプログラ
ム部分をJMP命令で実行しないようにしなければなら
ず、また、デバック時に実行させてはいけない部分の範
囲を把握するためにコメントを作成する等、その操作が
煩雑となり、作業効率が低下するという問題点があっ
た。
示されるような従来におけるプログラマブルコントロー
ラにあっては、シーケンスプログラムに対してデバック
作業を行っているとき、実行させてはいけないプログラ
ム部分をJMP命令で実行しないようにしなければなら
ず、また、デバック時に実行させてはいけない部分の範
囲を把握するためにコメントを作成する等、その操作が
煩雑となり、作業効率が低下するという問題点があっ
た。
【0010】この発明は、上記に鑑みてなされたもので
あって、シーケンスプログラムの実行範囲と非実行範囲
を明確に区別可能にして、デバックやプログラミングの
作業効率を向上させることができるプログラマブルコン
トローラを得ることを目的とする。
あって、シーケンスプログラムの実行範囲と非実行範囲
を明確に区別可能にして、デバックやプログラミングの
作業効率を向上させることができるプログラマブルコン
トローラを得ることを目的とする。
【0011】
【課題を解決するための手段】この発明に係るプログラ
マブルコントローラは、上記の目的を達成するために、
シーケンスプログラムに基づいて外部機器との間にて情
報の授受を実行するプログラマブルコントローラにおい
て、前記シーケンスプログラムに実行開始ラベルと実行
終了ラベルを付加し、実行開始ラベルであれば実行フラ
グをONし、実行終了ラベルであれば実行フラグをOF
Fするラベル処理手段と、前記ラベル処理手段による実
行フラグに基づいて、シーケンス命令や応用命令を実行
する前に命令の実行判断処理を行う実行判断処理手段と
を具備するものである。
マブルコントローラは、上記の目的を達成するために、
シーケンスプログラムに基づいて外部機器との間にて情
報の授受を実行するプログラマブルコントローラにおい
て、前記シーケンスプログラムに実行開始ラベルと実行
終了ラベルを付加し、実行開始ラベルであれば実行フラ
グをONし、実行終了ラベルであれば実行フラグをOF
Fするラベル処理手段と、前記ラベル処理手段による実
行フラグに基づいて、シーケンス命令や応用命令を実行
する前に命令の実行判断処理を行う実行判断処理手段と
を具備するものである。
【0012】また、シーケンスプログラムに基づいて外
部機器との間にて情報の授受を実行するプログラマブル
コントローラにおいて、前記シーケンスプログラムに、
実行開始ラベルと実行終了ラベルを付加し、実行開始ラ
ベルであれば実行フラグをONし、実行終了ラベルであ
れば実行フラグをOFFするラベル処理手段と、予め命
令開始ステップから命令終了ステップ間の実行開始ラベ
ルを検索し、その実行開始ラベルのステップをテーブル
化して格納するラベル飛び先テーブル作成処理手段とを
設け、該テーブルに基づいて非実行部分のプログラムを
飛ばし、実行部分のみを実行するものである。
部機器との間にて情報の授受を実行するプログラマブル
コントローラにおいて、前記シーケンスプログラムに、
実行開始ラベルと実行終了ラベルを付加し、実行開始ラ
ベルであれば実行フラグをONし、実行終了ラベルであ
れば実行フラグをOFFするラベル処理手段と、予め命
令開始ステップから命令終了ステップ間の実行開始ラベ
ルを検索し、その実行開始ラベルのステップをテーブル
化して格納するラベル飛び先テーブル作成処理手段とを
設け、該テーブルに基づいて非実行部分のプログラムを
飛ばし、実行部分のみを実行するものである。
【0013】また、前記ラベル処理手段による実行開始
ラベルと実行終了ラベルの処理は、有効/無効のオペラ
ンドを付加して選択するものである。
ラベルと実行終了ラベルの処理は、有効/無効のオペラ
ンドを付加して選択するものである。
【0014】
【作用】この発明に係るプログラマブルコントローラ
は、シーケンスプログラムに、実行開始ラベルと実行終
了ラベルを付加し、シーケンスプログラムを1命令毎に
実行する前に、実行対象のシーケンスプログラムが実行
開始ラベルと実行終了ラベルに含まれているか否かを判
断し、その判断に基づいて実行開始ラベルと実行終了ラ
ベル間におけるシーケンスプログラムを実行する。
は、シーケンスプログラムに、実行開始ラベルと実行終
了ラベルを付加し、シーケンスプログラムを1命令毎に
実行する前に、実行対象のシーケンスプログラムが実行
開始ラベルと実行終了ラベルに含まれているか否かを判
断し、その判断に基づいて実行開始ラベルと実行終了ラ
ベル間におけるシーケンスプログラムを実行する。
【0015】また、予め命令開始ステップから命令終了
ステップの間における実行開始ラベルを検索し、該実行
開始ラベルのステップをテーブル化して実行したい部分
を指定し、必要部分のプログラムを実行する。
ステップの間における実行開始ラベルを検索し、該実行
開始ラベルのステップをテーブル化して実行したい部分
を指定し、必要部分のプログラムを実行する。
【0016】さらに、実行開始ラベルと実行終了ラベル
の処理は、有効/無効のオペランドを付加して選択す
る。
の処理は、有効/無効のオペランドを付加して選択す
る。
【0017】
〔実施例1〕以下、この発明に係るプログラマブルコン
トローラの実施例を図面を参照して説明する。なお、こ
の発明に係るハードウェア構成は、図6に示したシステ
ム構成と同一のものを用いる。
トローラの実施例を図面を参照して説明する。なお、こ
の発明に係るハードウェア構成は、図6に示したシステ
ム構成と同一のものを用いる。
【0018】図1は、この発明に係るプログラマブルコ
ントローラのシーケンスプログラムの実行状態をイメー
ジした説明図である。図2は、この発明に係るプログラ
マブルコントローラのシーケンスプログラム実行処理の
動作を示すフローチャートである。
ントローラのシーケンスプログラムの実行状態をイメー
ジした説明図である。図2は、この発明に係るプログラ
マブルコントローラのシーケンスプログラム実行処理の
動作を示すフローチャートである。
【0019】まず、図1を用いて、ラベルについて説明
する。ラベルは実行開始ラベルとしてSTARTn、実
行終了ラベルとしてENDn(nは数値)で表される。
そして、STARTnとENDnとの範囲におけるシー
ケンスプログラムが実行される。
する。ラベルは実行開始ラベルとしてSTARTn、実
行終了ラベルとしてENDn(nは数値)で表される。
そして、STARTnとENDnとの範囲におけるシー
ケンスプログラムが実行される。
【0020】次に、動作について説明する。図2に示す
フローチャートにおいて、シーケンスプログラム実行処
理の開始命令があると、まず、プログラマブルコントロ
ーラ1は、シーケンスプログラムを実行する前にイニシ
ャル処理を実行する(S21)。次に、シーケンスプロ
グラム算出処理にて実行するステップを算出し(S2
2)、該算出したステップに基づいてシーケンスプログ
ラムメモリ5からシーケンス命令を取り出し、該命令の
解析を行うシーケンスプログラム命令解析処理を実行す
る(S23)。上記シーケンスプログラム命令解析処理
において、ラベル、シーケンス命令、応用命令、あるい
は、END命令であるか否かを判断する。
フローチャートにおいて、シーケンスプログラム実行処
理の開始命令があると、まず、プログラマブルコントロ
ーラ1は、シーケンスプログラムを実行する前にイニシ
ャル処理を実行する(S21)。次に、シーケンスプロ
グラム算出処理にて実行するステップを算出し(S2
2)、該算出したステップに基づいてシーケンスプログ
ラムメモリ5からシーケンス命令を取り出し、該命令の
解析を行うシーケンスプログラム命令解析処理を実行す
る(S23)。上記シーケンスプログラム命令解析処理
において、ラベル、シーケンス命令、応用命令、あるい
は、END命令であるか否かを判断する。
【0021】すなわち、ラベルか否かを判断し(S23
a)、ラベルであると判断した場合には、ラベル処理を
実行する(S24)。すなわち、このラベル処理では、
STARTnのときSTARTNフラグをONし、EN
DnのときSTARTNフラグをOFFにする。反対
に、ラベル処理ではないと判断した場合には、次に、シ
ーケンス命令か否かを判断する(S23b)。その結
果、シーケンス命令であると判断した場合には、実行判
断処理、すなわち、STARTNフラグのON/OFF
を判断し(S25a)、STARTNフラグがONであ
ると判断した場合には、シーケンス命令実行処理を行う
(S26)。
a)、ラベルであると判断した場合には、ラベル処理を
実行する(S24)。すなわち、このラベル処理では、
STARTnのときSTARTNフラグをONし、EN
DnのときSTARTNフラグをOFFにする。反対
に、ラベル処理ではないと判断した場合には、次に、シ
ーケンス命令か否かを判断する(S23b)。その結
果、シーケンス命令であると判断した場合には、実行判
断処理、すなわち、STARTNフラグのON/OFF
を判断し(S25a)、STARTNフラグがONであ
ると判断した場合には、シーケンス命令実行処理を行う
(S26)。
【0022】上記ステップS23bにおいて、シーケン
ス命令ではないと判断した場合には、次に、応用命令か
否かを判断する(S23c)。その結果、応用命令であ
ると判断した場合には、実行判断処理、すなわち、ST
ARTNフラグのON/OFFを判断し(S25b)、
STARTNフラグがONであると判断した場合には、
応用命令実行処理を行う(S27)。上記ステップS2
3cにおいて、応用命令ではないと判断した場合には、
次に、END命令か否かを判断する(S23d)。その
結果、END命令であると判断した場合には、END命
令実行処理を行う(S28)。すなわち、このEND命
令実行処理では、STARTNフラグをOFFする。
ス命令ではないと判断した場合には、次に、応用命令か
否かを判断する(S23c)。その結果、応用命令であ
ると判断した場合には、実行判断処理、すなわち、ST
ARTNフラグのON/OFFを判断し(S25b)、
STARTNフラグがONであると判断した場合には、
応用命令実行処理を行う(S27)。上記ステップS2
3cにおいて、応用命令ではないと判断した場合には、
次に、END命令か否かを判断する(S23d)。その
結果、END命令であると判断した場合には、END命
令実行処理を行う(S28)。すなわち、このEND命
令実行処理では、STARTNフラグをOFFする。
【0023】そして、上記の各処理を実行した後、再
度、上記ステップS22のシーケンスプログラム算出処
理に戻って、同様の処理を繰り返し実行する。また、シ
ーケンスプログラムの実行ステップは、END命令を実
行する0ステップ(最初のステップ)に戻って、同様の
処理を繰り返し実行する。なお、実行開始ラベルと実行
終了ラベルとの間に実行対象のシーケンスプログラムが
含まれているか否かの判断は、上記ステップS24のラ
ベル処理とステップS25a/bの実行判断処理により
行われる。
度、上記ステップS22のシーケンスプログラム算出処
理に戻って、同様の処理を繰り返し実行する。また、シ
ーケンスプログラムの実行ステップは、END命令を実
行する0ステップ(最初のステップ)に戻って、同様の
処理を繰り返し実行する。なお、実行開始ラベルと実行
終了ラベルとの間に実行対象のシーケンスプログラムが
含まれているか否かの判断は、上記ステップS24のラ
ベル処理とステップS25a/bの実行判断処理により
行われる。
【0024】次に、図1に示したプログラマブルコント
ローラのシーケンスプログラムの実行例について説明す
る。図において、0ステップからSTART1の間は、
STARTNフラグがOFFし、START1からEN
D1の間は、STARTNフラグがONし、END1か
らSTART2の間は、STARTNフラグがOFFす
る。START2からEND2の間は、STARTNフ
ラグがONし、END2からSTART3の間は、ST
ARTNフラグがOFFし、START3からEND3
の間は、STARTNフラグがONになり、END3か
らENDまでは、STARTNフラグがOFFになる。
すなわち、START1からEND1の間、START
2からEND2の間、START3からEND3の間の
シーケンスプログラムを実行するものである。
ローラのシーケンスプログラムの実行例について説明す
る。図において、0ステップからSTART1の間は、
STARTNフラグがOFFし、START1からEN
D1の間は、STARTNフラグがONし、END1か
らSTART2の間は、STARTNフラグがOFFす
る。START2からEND2の間は、STARTNフ
ラグがONし、END2からSTART3の間は、ST
ARTNフラグがOFFし、START3からEND3
の間は、STARTNフラグがONになり、END3か
らENDまでは、STARTNフラグがOFFになる。
すなわち、START1からEND1の間、START
2からEND2の間、START3からEND3の間の
シーケンスプログラムを実行するものである。
【0025】以上の実施例によれば、シーケンスプログ
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によって実行させてはいけない部分が
発生した場合に、その実行させたくない部分を削除する
ことなく必要部分のみを実行することができる。
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によって実行させてはいけない部分が
発生した場合に、その実行させたくない部分を削除する
ことなく必要部分のみを実行することができる。
【0026】〔実施例2〕次に、第2の実施例について
説明する。上記第1の実施例にあって、シーケンスプロ
グラムを1命令毎に、該命令を解析しながら実行/非実
行の判断を行っているが、この方法の他に、シーケンス
プログラムを実行すべきラベル間をチェックしておき、
ラベル飛び先ステップをテーブル化して、非実行部分を
飛ばすように制御することもできる。本実施例では、こ
の方法について詳細に説明する。
説明する。上記第1の実施例にあって、シーケンスプロ
グラムを1命令毎に、該命令を解析しながら実行/非実
行の判断を行っているが、この方法の他に、シーケンス
プログラムを実行すべきラベル間をチェックしておき、
ラベル飛び先ステップをテーブル化して、非実行部分を
飛ばすように制御することもできる。本実施例では、こ
の方法について詳細に説明する。
【0027】図3は、ラベル飛び先ステップをテーブル
化して実施するシーケンスプログラム実行処理を示すフ
ローチャートである。また、図4は、ラベル飛び先ステ
ップテーブルの内容を示す説明図であり、図において、
51はラベル飛び先ステップテーブルであり、飛び先ス
テップが格納される。なお、上記図4におけるラベル飛
び先ステップテーブル51の内容は、上記第1の実施例
において説明した図1に示すようなステップにラベルが
ある場合の値を示している。
化して実施するシーケンスプログラム実行処理を示すフ
ローチャートである。また、図4は、ラベル飛び先ステ
ップテーブルの内容を示す説明図であり、図において、
51はラベル飛び先ステップテーブルであり、飛び先ス
テップが格納される。なお、上記図4におけるラベル飛
び先ステップテーブル51の内容は、上記第1の実施例
において説明した図1に示すようなステップにラベルが
ある場合の値を示している。
【0028】次に、図3に示すフローチャートの処理に
ついて説明する。図において、プログラマブルコントロ
ーラ1は、シーケンスプログラムを実行する前に、イニ
シャル処理を実行する(S41)。すなわち、イニシャ
ル処理では、ラベルフラグをONし、ラベルカウンタを
0にする。次に、ラベル飛び先テーブル作成処理を実行
する(S42)。このラベル飛び先テーブル作成処理は
ステップ0からEND命令までのSTARTラベルを検
索し、該STARTラベルを順次、ラベル飛び先ステッ
プテーブル51に格納する。
ついて説明する。図において、プログラマブルコントロ
ーラ1は、シーケンスプログラムを実行する前に、イニ
シャル処理を実行する(S41)。すなわち、イニシャ
ル処理では、ラベルフラグをONし、ラベルカウンタを
0にする。次に、ラベル飛び先テーブル作成処理を実行
する(S42)。このラベル飛び先テーブル作成処理は
ステップ0からEND命令までのSTARTラベルを検
索し、該STARTラベルを順次、ラベル飛び先ステッ
プテーブル51に格納する。
【0029】その後、シーケンスプログラム算出処理に
おいて実行するステップを算出する(S43)。ここ
で、ラベルフラグがONのとき、ラベルカウンタが示す
ラベル飛び先ステップテーブル位置から、次のステップ
を取り出す。ラベルフラグがOFFのときは、従来通り
の方法により実行するステップを算出する。
おいて実行するステップを算出する(S43)。ここ
で、ラベルフラグがONのとき、ラベルカウンタが示す
ラベル飛び先ステップテーブル位置から、次のステップ
を取り出す。ラベルフラグがOFFのときは、従来通り
の方法により実行するステップを算出する。
【0030】次に、算出したステップに基づいて、シー
ケンスプログラムメモリ5からシーケンス命令を取り出
し、命令の解析を行うシーケンスプログラム命令解析処
理を開始する(S44)。すなわち、ラベルか否かを判
断し(S44a)、ラベルであると判断した場合には、
ラベル処理を実行する(S45)。このラベル処理で
は、STARTnのときラベルフラグをOFFし、EN
DnのときラベルフラグをONし、ラベルカウンタを1
つ進める。反対に、上記ステップS44aにおいて、ラ
ベル処理ではないと判断した場合には、次に、シーケン
ス命令か否かを判断する(S44b)。その結果、シー
ケンス命令であると判断した場合には、シーケンス命令
実行処理を行う(S46)。
ケンスプログラムメモリ5からシーケンス命令を取り出
し、命令の解析を行うシーケンスプログラム命令解析処
理を開始する(S44)。すなわち、ラベルか否かを判
断し(S44a)、ラベルであると判断した場合には、
ラベル処理を実行する(S45)。このラベル処理で
は、STARTnのときラベルフラグをOFFし、EN
DnのときラベルフラグをONし、ラベルカウンタを1
つ進める。反対に、上記ステップS44aにおいて、ラ
ベル処理ではないと判断した場合には、次に、シーケン
ス命令か否かを判断する(S44b)。その結果、シー
ケンス命令であると判断した場合には、シーケンス命令
実行処理を行う(S46)。
【0031】上記ステップS44bにおいて、シーケン
ス命令ではないと判断した場合には、次に、応用命令か
否かを判断する(S44c)。その結果、応用命令であ
ると判断した場合には、応用命令実行処理を行う(S4
7)。上記ステップS44cにおいて、応用命令ではな
いと判断した場合には、次に、END命令か否かを判断
し(S44d)、その結果、END命令であると判断し
た場合には、END命令実行処理を行う(S48)。こ
のとき、ラベルフラグをONにし、ラベルカウンタを0
にする。
ス命令ではないと判断した場合には、次に、応用命令か
否かを判断する(S44c)。その結果、応用命令であ
ると判断した場合には、応用命令実行処理を行う(S4
7)。上記ステップS44cにおいて、応用命令ではな
いと判断した場合には、次に、END命令か否かを判断
し(S44d)、その結果、END命令であると判断し
た場合には、END命令実行処理を行う(S48)。こ
のとき、ラベルフラグをONにし、ラベルカウンタを0
にする。
【0032】上記各処理を実行した後、再度、シーケン
スプログラム算出処理に戻って、同様の処理を繰り返し
実行する。また、シーケンスプログラムの実行ステップ
は、END命令を実行すると0ステップ(最初のステッ
プ)に戻り、同様の処理を繰り返し実行する。
スプログラム算出処理に戻って、同様の処理を繰り返し
実行する。また、シーケンスプログラムの実行ステップ
は、END命令を実行すると0ステップ(最初のステッ
プ)に戻り、同様の処理を繰り返し実行する。
【0033】なお、上記にて、実行開始ラベルのステッ
プの把握は、ステップS42のラベル飛び先テーブル作
成処理により実行される。また、把握したステップを使
用するか否かの判断は、ステップS45のラベル処理に
より実行される。
プの把握は、ステップS42のラベル飛び先テーブル作
成処理により実行される。また、把握したステップを使
用するか否かの判断は、ステップS45のラベル処理に
より実行される。
【0034】次に、上記処理における図1に示したシー
ケンスプログラムの具体的な実施例について説明する。
0ステップを実行しようとしたとき、ラベルフラグがO
Nしており、ラベルカウンタが0であるため、ラベル飛
び先ステップテーブル51(図4参照)により、次の実
行ステップが20ステップとなる。20ステップのST
ART1を実行すると、ラベルフラグがOFFになり、
50ステップのEND1まで順次実行する。END1を
実行するとラベルフラグがONになり、ラベルカウンタ
が1となる。次の実行ステップはラベル飛び先ステップ
テーブル51より70ステップになる。
ケンスプログラムの具体的な実施例について説明する。
0ステップを実行しようとしたとき、ラベルフラグがO
Nしており、ラベルカウンタが0であるため、ラベル飛
び先ステップテーブル51(図4参照)により、次の実
行ステップが20ステップとなる。20ステップのST
ART1を実行すると、ラベルフラグがOFFになり、
50ステップのEND1まで順次実行する。END1を
実行するとラベルフラグがONになり、ラベルカウンタ
が1となる。次の実行ステップはラベル飛び先ステップ
テーブル51より70ステップになる。
【0035】上記70ステップのSTART2を実行す
るとラベルフラグがOFFになり、80ステップのEN
D2まで順次実行する。END2を実行するとラベルフ
ラグがONになり、ラベルカウンタが2になる。次の実
行ステップは、ラベル飛び先ステップテーブル51によ
り100ステップとなる。
るとラベルフラグがOFFになり、80ステップのEN
D2まで順次実行する。END2を実行するとラベルフ
ラグがONになり、ラベルカウンタが2になる。次の実
行ステップは、ラベル飛び先ステップテーブル51によ
り100ステップとなる。
【0036】上記100ステップのSTART3を実行
すると、ラベルフラグがOFFになり、130ステップ
のEND3まで順次実行する。END3を実行するとラ
ベルフラグがONになり、ラベルカウンタが3になる。
次の実行ステップは、ラベル飛び先ステップテーブル5
1により150になる。そして、150ステップのEN
Dを実行するとラベルフラグがONし、ラベルカウンタ
を0にする。すなわち、START1からEND1の
間、START2からEND2の間、START3から
END3の間を実行する。
すると、ラベルフラグがOFFになり、130ステップ
のEND3まで順次実行する。END3を実行するとラ
ベルフラグがONになり、ラベルカウンタが3になる。
次の実行ステップは、ラベル飛び先ステップテーブル5
1により150になる。そして、150ステップのEN
Dを実行するとラベルフラグがONし、ラベルカウンタ
を0にする。すなわち、START1からEND1の
間、START2からEND2の間、START3から
END3の間を実行する。
【0037】以上の実施例によれば、シーケンスプログ
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によっては実行させてはいけない部分
が発生した場合に、その実行させたくない部分を削除す
ることなく必要部分のみを指定し、かつ、その部分を把
握して的確に実行することができる。
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によっては実行させてはいけない部分
が発生した場合に、その実行させたくない部分を削除す
ることなく必要部分のみを指定し、かつ、その部分を把
握して的確に実行することができる。
【0038】〔実施例3〕本実施例では、実行開始ラベ
ルと実行終了ラベルの処理についてオペランドを付加し
て有効/無効を選択可能にする場合について説明する。
図5は、ラベルの処理についてオペランドにより有効/
無効を選択する場合におけるシーケンスプログラムの実
行をイメージした説明図である。図において、K0は定
数、D0はワードデバイスであり、その値は1とする。
ルと実行終了ラベルの処理についてオペランドを付加し
て有効/無効を選択可能にする場合について説明する。
図5は、ラベルの処理についてオペランドにより有効/
無効を選択する場合におけるシーケンスプログラムの実
行をイメージした説明図である。図において、K0は定
数、D0はワードデバイスであり、その値は1とする。
【0039】実行開始ラベルにオペランドを追加するこ
とにより、ラベル処理の有効/無効を選択する。ただ
し、オペランドがない場合には、ラベルの処理が有効と
なる。例えば、“START2 K0”(K0がオペラ
ンド)とした場合、処理が無効となり、“START2
K1”とした場合は処理が有効となる。また、オペラ
ンドに、デバイスを指定することができる。ビットデバ
イスでは、そのデバイスがOFFのとき有効であり、O
Nのとき無効となる。ワードデバイスでは、そのデバイ
スが0のとき有効であり、0以外のとき無効となる。上
記の動作は、図2のフローチャートに示す通りである。
ただし、上記ステップS24のラベル処理において、オ
ペランドの条件を追加したものである。
とにより、ラベル処理の有効/無効を選択する。ただ
し、オペランドがない場合には、ラベルの処理が有効と
なる。例えば、“START2 K0”(K0がオペラ
ンド)とした場合、処理が無効となり、“START2
K1”とした場合は処理が有効となる。また、オペラ
ンドに、デバイスを指定することができる。ビットデバ
イスでは、そのデバイスがOFFのとき有効であり、O
Nのとき無効となる。ワードデバイスでは、そのデバイ
スが0のとき有効であり、0以外のとき無効となる。上
記の動作は、図2のフローチャートに示す通りである。
ただし、上記ステップS24のラベル処理において、オ
ペランドの条件を追加したものである。
【0040】次に、図5に示すラベル処理にオペランド
を付加して有効/無効を選択する場合のシーケンスプロ
グラムの実行例を説明する。0ステップからSTART
1の間は、STARTNフラグがOFFである。STA
RT1からEND1の間は、STARTNフラグがON
である。END1から“START2 K0”の間は、
STARTNフラグがOFFのままである。“STAR
T2 K0”からEND2の間は、オペランド部分のK
0により、STARTNフラグがOFFのままである。
END2から“START3 D0”の間は、STAR
TNフラグがOFFのままである。また、“START
3 D0”からEND3の間は、オペランドにワードデ
バイスであるD0が指定されており、D0の値は1であ
るため、STARTNフラグはONになる。END3か
らENDまでは、STARTNフラグがOFFになる。
すなわち、START1からEND1の間、および“S
TART3 D0”からEND3の間におけるシーケン
スプログラムが実行される。
を付加して有効/無効を選択する場合のシーケンスプロ
グラムの実行例を説明する。0ステップからSTART
1の間は、STARTNフラグがOFFである。STA
RT1からEND1の間は、STARTNフラグがON
である。END1から“START2 K0”の間は、
STARTNフラグがOFFのままである。“STAR
T2 K0”からEND2の間は、オペランド部分のK
0により、STARTNフラグがOFFのままである。
END2から“START3 D0”の間は、STAR
TNフラグがOFFのままである。また、“START
3 D0”からEND3の間は、オペランドにワードデ
バイスであるD0が指定されており、D0の値は1であ
るため、STARTNフラグはONになる。END3か
らENDまでは、STARTNフラグがOFFになる。
すなわち、START1からEND1の間、および“S
TART3 D0”からEND3の間におけるシーケン
スプログラムが実行される。
【0041】上記実施例の如く、実行開始ラベルと実行
終了ラベルの処理について、有効/無効を選択できるよ
うにしたことで、ラベルを削除する手間を省くことがで
き、作業効率を向上させることができる。
終了ラベルの処理について、有効/無効を選択できるよ
うにしたことで、ラベルを削除する手間を省くことがで
き、作業効率を向上させることができる。
【0042】
【発明の効果】以上説明したように、この発明に係るプ
ログラマブルコントローラによれば、シーケンスプログ
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によって実行させてはいけない部分が
発生した場合に、その実行させたくない部分を削除する
ことなく必要部分のみを実行させることができる。
ログラマブルコントローラによれば、シーケンスプログ
ラムをデバックするとき、予め仕様を満足するようなシ
ーケンスプログラムを作成し、被制御機器(外部機器)
の未接続等の状況によって実行させてはいけない部分が
発生した場合に、その実行させたくない部分を削除する
ことなく必要部分のみを実行させることができる。
【0043】また、シーケンスプログラムをデバックす
るとき、予め仕様を満足するようなシーケンスプログラ
ムを作成し、被制御機器(外部機器)の未接続等の状況
によっては実行させてはいけない部分が発生した場合
に、その実行させたくない部分を削除することなく必要
部分のみを指定し、かつ、その部分を把握して的確に実
行することができる。
るとき、予め仕様を満足するようなシーケンスプログラ
ムを作成し、被制御機器(外部機器)の未接続等の状況
によっては実行させてはいけない部分が発生した場合
に、その実行させたくない部分を削除することなく必要
部分のみを指定し、かつ、その部分を把握して的確に実
行することができる。
【0044】また、実行開始ラベルと実行終了ラベルの
処理について、有効/無効を選択できるようにしたこと
で、ラベルを削除する手間を省くことができ、作業効率
を向上させることができる。
処理について、有効/無効を選択できるようにしたこと
で、ラベルを削除する手間を省くことができ、作業効率
を向上させることができる。
【0045】その結果、この発明に係るプログラマブル
コントローラにあっては、シーケンスプログラムの実行
範囲と非実行範囲を明確に区別可能となり、デバックや
プログラミングの作業効率を飛躍的に向上させることが
できる。
コントローラにあっては、シーケンスプログラムの実行
範囲と非実行範囲を明確に区別可能となり、デバックや
プログラミングの作業効率を飛躍的に向上させることが
できる。
【図1】この発明に係るプログラマブルコントローラの
シーケンスプログラムの実行例を示す説明図である。
シーケンスプログラムの実行例を示す説明図である。
【図2】この発明に係るプログラマブルコントローラの
シーケンスプログラム実行処理の動作を示すフローチャ
ートである。
シーケンスプログラム実行処理の動作を示すフローチャ
ートである。
【図3】この発明に係るラベル飛び先ステップをテーブ
ル化して実施するシーケンスプログラム実行処理の動作
を示すフローチャートである。
ル化して実施するシーケンスプログラム実行処理の動作
を示すフローチャートである。
【図4】この発明に係るラベル飛び先ステップテーブル
の内容を示す説明図である。
の内容を示す説明図である。
【図5】この発明に係るラベル処理にオペランドを付加
して有効/無効を選択する場合におけるシーケンスプロ
グラムの実行例を示す説明図である。
して有効/無効を選択する場合におけるシーケンスプロ
グラムの実行例を示す説明図である。
【図6】プログラマブルコントローラおよびプログラマ
ブルコントローラのプログラミング装置の一般的なシス
テム構成を示すブロック図である。
ブルコントローラのプログラミング装置の一般的なシス
テム構成を示すブロック図である。
【図7】従来におけるプログラマブルコントローラのシ
ーケンスプログラム実行処理の動作を示すフローチャー
トである。
ーケンスプログラム実行処理の動作を示すフローチャー
トである。
【図8】従来におけるプログラマブルコントローラのシ
ーケンスプログラムの実行例を示す説明図である。
ーケンスプログラムの実行例を示す説明図である。
1 プログラマブルコントローラ 2 プログラミング装置 51 ラベル飛び先ステップテーブル S24 ラベル処理 S25 実行判断処理 S42 ラベル飛び先テーブル作成処理 S45 ラベル処理
Claims (3)
- 【請求項1】 シーケンスプログラムに基づいて外部機
器との間にて情報の授受を実行するプログラマブルコン
トローラにおいて、前記シーケンスプログラムに実行開
始ラベルと実行終了ラベルを付加し、実行開始ラベルで
あれば実行フラグをONし、実行終了ラベルであれば実
行フラグをOFFするラベル処理手段と、前記ラベル処
理手段による実行フラグに基づいて、シーケンス命令や
応用命令を実行する前に命令の実行判断処理を行う実行
判断処理手段とを具備することを特徴とするプログラマ
ブルコントローラ。 - 【請求項2】 シーケンスプログラムに基づいて外部機
器との間にて情報の授受を実行するプログラマブルコン
トローラにおいて、前記シーケンスプログラムに、実行
開始ラベルと実行終了ラベルを付加し、実行開始ラベル
であれば実行フラグをONし、実行終了ラベルであれば
実行フラグをOFFするラベル処理手段と、予め命令開
始ステップから命令終了ステップ間の実行開始ラベルを
検索し、その実行開始ラベルのステップをテーブル化し
て格納するラベル飛び先テーブル作成処理手段とを設
け、該テーブルに基づいて非実行部分のプログラムを飛
ばし、実行部分のみを実行することを特徴とするプログ
ラマブルコントローラ。 - 【請求項3】 前記ラベル処理手段による実行開始ラベ
ルと実行終了ラベルの処理は、有効/無効のオペランド
を付加して選択することを特徴とする請求項1または2
記載のプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18160693A JPH0736510A (ja) | 1993-07-22 | 1993-07-22 | プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18160693A JPH0736510A (ja) | 1993-07-22 | 1993-07-22 | プログラマブルコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0736510A true JPH0736510A (ja) | 1995-02-07 |
Family
ID=16103754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18160693A Pending JPH0736510A (ja) | 1993-07-22 | 1993-07-22 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0736510A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850993B2 (en) * | 1999-01-25 | 2005-02-01 | Mitsubishi Denki Kabushiki Kaisha | Peripheral device for programmable controller |
WO2010137139A1 (ja) * | 2009-05-27 | 2010-12-02 | 三菱電機株式会社 | シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム |
JP2014052673A (ja) * | 2012-09-04 | 2014-03-20 | Keyence Corp | プログラマブルコントローラ、プログラム作成支援装置及びプログラム |
-
1993
- 1993-07-22 JP JP18160693A patent/JPH0736510A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850993B2 (en) * | 1999-01-25 | 2005-02-01 | Mitsubishi Denki Kabushiki Kaisha | Peripheral device for programmable controller |
US6948005B2 (en) * | 1999-01-25 | 2005-09-20 | Mitsubishi Denki Kabushiki Kaisha | Peripheral device for programmable controller |
WO2010137139A1 (ja) * | 2009-05-27 | 2010-12-02 | 三菱電機株式会社 | シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム |
US20120072777A1 (en) * | 2009-05-27 | 2012-03-22 | Mitsubishi Electric Corporation | Debugging device, debugging method, and computer program for sequence program |
JP5279901B2 (ja) * | 2009-05-27 | 2013-09-04 | 三菱電機株式会社 | シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム |
KR101324370B1 (ko) * | 2009-05-27 | 2013-11-01 | 미쓰비시덴키 가부시키가이샤 | 시퀀스 프로그램의 디버그 장치, 디버그 방법, 및 프로그램 |
JP2014052673A (ja) * | 2012-09-04 | 2014-03-20 | Keyence Corp | プログラマブルコントローラ、プログラム作成支援装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4718901B2 (ja) | 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム | |
JPH06161822A (ja) | マイクロプロセッサ | |
EP0447685B1 (en) | Programmable controller | |
JPS63250702A (ja) | シ−ケンスコントロ−ラ | |
JPH0736510A (ja) | プログラマブルコントローラ | |
KR100330504B1 (ko) | 위치 지시자 자동 이동 제어 방법 | |
JP3130421B2 (ja) | プログラム解析方法および装置 | |
JP3441262B2 (ja) | データ処理装置 | |
JP3716635B2 (ja) | 情報処理装置、及びその割込み制御方法 | |
JP3260788B2 (ja) | ロボット制御装置及び方法 | |
JPS625439A (ja) | 命令コ−ド拡張方式 | |
JPH1165881A (ja) | Cpuの拡張割込み制御方式及びそのcpuで使用するデバッガ | |
JP2643839B2 (ja) | コマンド入力時の補完方式 | |
JPS625466A (ja) | 補助プロセツサ制御方式 | |
JP3098501B2 (ja) | ソースステップ実行方法およびその装置 | |
KR950005523B1 (ko) | 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 | |
JPH05173832A (ja) | トレース制御機構 | |
JPH09128223A (ja) | マルチタスク制御プログラムの開発支援システムおよび方法 | |
JPH09265413A (ja) | プログラマブルコントローラのデバッグシステム | |
JPS61267137A (ja) | 割込み動作制御方式 | |
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JPS6249502A (ja) | プログラマブルコントロ−ラ | |
JPS6258339A (ja) | 命令先取り制御装置 | |
JPH06176024A (ja) | データ処理方式及び装置 | |
JP2004005302A (ja) | モーションプログラムの実行装置およびデバック装置 |