JP2019185361A - 制御装置及び編集装置 - Google Patents
制御装置及び編集装置 Download PDFInfo
- Publication number
- JP2019185361A JP2019185361A JP2018075022A JP2018075022A JP2019185361A JP 2019185361 A JP2019185361 A JP 2019185361A JP 2018075022 A JP2018075022 A JP 2018075022A JP 2018075022 A JP2018075022 A JP 2018075022A JP 2019185361 A JP2019185361 A JP 2019185361A
- Authority
- JP
- Japan
- Prior art keywords
- infinite loop
- loop
- control device
- infinite
- information table
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36588—Endless loop
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Numerical Control (AREA)
Abstract
Description
本発明の一実施形態にかかる制御装置において、前記無限ループ脱出手段は、前記ループ処理の正常終了時の起動条件信号の状態を少なくとも記録した無限ループ発生条件情報テーブルを参照し、現在の前記起動条件信号を、前記正常終了時の起動条件信号に強制的に書き換えることにより、前記無限ループから脱出することを特徴とする。
本発明の一実施形態にかかる制御装置において、前記無限ループ脱出手段は、前記ジャンプ命令内に設けられた閉接点の信号状態を強制的に書き換えることにより、前記無限ループから脱出することを特徴とする。
本発明の一実施形態にかかる制御装置において、前記無限ループの原因となりうる前記ループ処理の前記起動条件信号を前記無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する。
本発明の一実施形態にかかる制御装置において、前記ラダープログラムの実行中に、前記ループ処理の正常終了時の起動条件信号の状態を前記無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する。
本発明の一実施形態にかかる編集装置は、ラダープログラムを編集するための編集装置であって、無限ループの原因となりうるループ処理の起動条件信号を無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する。
図4のフローチャート及び図5のチャートを用いて、無限ループの原因となりうるジャンプ命令の検出処理について説明する。
S101:ラダープログラム(ソースコード)内の全てのネットについて、それぞれ、以下のS102乃至S104の処理を実行する。すなわち先頭ネットから順に最後のネットに至るまで、以下のS102乃至S104の処理を繰り返し実行する。
図5の例では、ネット番号0110にジャンプ命令が存在する。
図5の例では、ジャンプ命令が存在するネット番号0110と、このジャンプ命令のジャンプ先であるラベル1が存在するネット番号0100と、を比較する。0110>0100であるから、このジャンプ命令はループ処理を定義している、すなわち無限ループの原因ともなりうるものと判断される。一般化すれば、ラダーの処理方向とは逆方向(ネット番号が小さくなる方向)へジャンプしている場合、ループ処理が存在するものと判断できる。図5の例では、ジャンプ命令の直前には起動条件が定義されており(破線囲み部)、起動条件が不成立となるまでループ処理が継続する。
S104における無限ループ条件検出処理について、図6のフローチャート、図5及び図7のチャートを用いて詳細に説明する。
S201: 無限ループ検出手段201は、ジャンプ命令のネット番号と、ジャンプ命令の起動条件と、を記録する。例えば、起動条件に含まれる1以上の起動条件信号と、起動条件信号が複数である場合はそれらの関係を示す論理式等と、を起動条件として記録できる。典型的にはRAM23にこれらの情報を一時的に格納する。
図5の例では、破線で囲んだ回路が起動条件である。この起動条件には、起動条件信号としてR0001.0,F0000.5,X0000.0が含まれる。これらの起動条件信号間の関係は数1(上述)のとおりである。
図7の例では、ネット番号0110で評価されている起動条件信号R0001.0(破線囲み部)は、ループ内のネット番号0101で値が制御されている。ネット番号0101では、D0000>100であればR0001.0がONとなる制御が行われている。
図7の例では、起動条件信号R0001.0を制御しているネット番号0101が記録される。
図7の例において、F0000.5は自動運転起動中のステータスを示す信号(制御装置1がラダープログラム外から取得できる)、X0000.0は操作盤60からの入力信号であるものとする。この場合、F0000.5,X0000.0はいずれもループ内で制御されていないことが記録される。
図4のフローチャートに戻り、ラダープログラム(ソースコード)内の全てのネットについてそれぞれS102乃至S104の処理を実行した後に行われる処理について説明する。
図8に、無限ループ発生条件情報テーブル301の一例を示す。図8の例では、無限ループの発生原因となりうるジャンプ命令それぞれについて、ジャンプ命令のネット番号、1以上の起動条件信号、無限ループの発生原因(すなわち起動条件。本例では起動条件信号間の関係を示す論理式が記録される)、1以上の起動条件それぞれを制御しているネット番号(ループ内に制御箇所がない場合は「ループ内での書き換えなし」と記載される)が対応付けられている。
制御装置1は、無限ループ発生条件情報テーブル301が埋め込まれたオブジェクトコードをインタフェース19を介して受信し、不揮発性メモリ14に格納する。
制御装置1は、オブジェクトコードをインタフェース19を介して受信し、不揮発性メモリ14に格納する。
<無限ループの判定>
図9のフローチャート及び図7のチャートを用いて、無限ループの検出処理について説明する。
ラダープログラム実行部101が、S108で編集装置2から受信した、無限ループ発生条件情報テーブル301が埋め込まれたオブジェクトコードを、不揮発性メモリ14から読み出して実行する。無限ループ脱出手段102は、オブジェクトコードの実行状態を監視し、命令が実行される度にS301以下の処理を実行する。
図10に、起動条件信号の状態を記録した無限ループ発生条件情報テーブル301の例を示す。「正常終了時の信号状態」として起動条件信号の状態が記録される。
図10に、起動条件信号の状態を記録した無限ループ発生条件情報テーブル301の例を示す。「ループ中の信号状態」として起動条件信号の状態が記録される。
・S304で検出した無限ループの発生箇所。
・無限ループ発生条件情報テーブル301の内容。例えば
−ジャンプ命令の起動条件信号の制御箇所
−起動条件信号の信号状態(正常終了時の信号状態、無限ループ時の信号状態)
S307の脱出処理について具体的に説明する。
図11を用いて、第1の脱出処理について説明する。
無限ループ脱出手段102は、無限ループ発生条件情報テーブル301を参照し、正常終了時の信号状態と、無限ループ時の信号状態と、を比較する。これによりどの信号が原因で無限ループに陥っているかが判明する(破線囲み部)。
本例では、ジャンプ命令の内部に閉接点が予め組み込まれているものとする(破線囲み部)。無限ループ脱出手段102は、このジャンプ命令内部の閉接点を強制的にONに書き換える。これによりジャンプ命令の起動条件が不成立となり、無限ループから脱出することが可能となる。
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18,19 インタフェース
10 バス
16 軸制御回路
17 サーボアンプ
50 サーボモータ
60 操作盤
2 編集装置
21 CPU
22 ROM
23 RAM
24 不揮発性メモリ
28,29 インタフェース
20 バス
70 入出力装置
101 ラダープログラム実行部
102 無限ループ脱出手段
201 無限ループ検出手段
301 無限ループ発生条件情報テーブル
302 記録テーブル
Claims (6)
- ラダープログラムの実行中に、ループ処理が無限ループに陥ったことを検出することが可能な制御装置であって、
前記無限ループの発生時に、前記ループ処理を構成するジャンプ命令の起動条件を強制的に不成立とすることにより、前記無限ループから脱出する無限ループ脱出手段を有することを特徴とする
制御装置。 - 前記無限ループ脱出手段は、前記ループ処理の正常終了時の起動条件信号の状態を少なくとも記録した無限ループ発生条件情報テーブルを参照し、現在の前記起動条件信号を、前記正常終了時の起動条件信号に強制的に書き換えることにより、前記無限ループから脱出することを特徴とする
請求項1記載の制御装置。 - 前記無限ループ脱出手段は、前記ジャンプ命令内に設けられた閉接点の信号状態を強制的に書き換えることにより、前記無限ループから脱出することを特徴とする
請求項1記載の制御装置。 - 前記無限ループの原因となりうる前記ループ処理の前記起動条件信号を前記無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する
請求項2記載の制御装置。 - 前記ラダープログラムの実行中に、前記ループ処理の正常終了時の起動条件信号の状態を前記無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する
請求項2記載の制御装置。 - ラダープログラムを編集するための編集装置であって、
無限ループの原因となりうるループ処理の起動条件信号を無限ループ発生条件情報テーブルに記録する無限ループ検出手段を有する
編集装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018075022A JP6901430B2 (ja) | 2018-04-09 | 2018-04-09 | 制御装置及び編集装置 |
US16/371,228 US10664274B2 (en) | 2018-04-09 | 2019-04-01 | Controller and editor |
DE102019002413.3A DE102019002413A1 (de) | 2018-04-09 | 2019-04-02 | Steuerung und Editor |
CN201910281028.XA CN110362028A (zh) | 2018-04-09 | 2019-04-09 | 控制装置以及编辑装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018075022A JP6901430B2 (ja) | 2018-04-09 | 2018-04-09 | 制御装置及び編集装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185361A true JP2019185361A (ja) | 2019-10-24 |
JP6901430B2 JP6901430B2 (ja) | 2021-07-14 |
Family
ID=67992055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018075022A Active JP6901430B2 (ja) | 2018-04-09 | 2018-04-09 | 制御装置及び編集装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10664274B2 (ja) |
JP (1) | JP6901430B2 (ja) |
CN (1) | CN110362028A (ja) |
DE (1) | DE102019002413A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210218A (ja) * | 1994-01-19 | 1995-08-11 | Fanuc Ltd | シーケンス・プログラムの異常検出方式 |
JP2012248055A (ja) * | 2011-05-30 | 2012-12-13 | Hitachi Advanced Digital Inc | シミュレーション装置及びシミュレーション方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ218742A (en) * | 1986-06-03 | 1990-09-26 | Fisher & Paykel | Programmed logic controller |
US5285376A (en) * | 1991-10-24 | 1994-02-08 | Allen-Bradley Company, Inc. | Fuzzy logic ladder diagram program for a machine or process controller |
JP2902888B2 (ja) * | 1993-01-20 | 1999-06-07 | 三菱電機株式会社 | プログラマブルコントローラ |
US5690656A (en) | 1995-06-27 | 1997-11-25 | Cook Incorporated | Method and apparatus for creating abdominal visceral anastomoses |
JP2000194569A (ja) * | 1998-12-25 | 2000-07-14 | Toshiba Corp | コンパイル装置、コンパイル方法、コンパイルプログラムを格納したコンピュ―タ読み取り可能な記録媒体および目的プログラムを格納したコンピュ―タ読み取り可能な記録媒体 |
US7272815B1 (en) * | 1999-05-17 | 2007-09-18 | Invensys Systems, Inc. | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
AU5025600A (en) * | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
US20050028036A1 (en) * | 2003-07-30 | 2005-02-03 | Kohsaku Shibata | Program debug apparatus, program debug method and program |
EP1703348B1 (en) * | 2005-03-14 | 2010-10-13 | Omron Corporation | Programmable controller system |
JP4491439B2 (ja) * | 2006-06-30 | 2010-06-30 | 株式会社日立製作所 | 制御装置及び制御方法 |
US7827022B2 (en) * | 2006-09-27 | 2010-11-02 | Rockwell Automation Technologies, Inc. | Sequential function chart validation tool |
JP4967939B2 (ja) * | 2007-09-07 | 2012-07-04 | 横河電機株式会社 | デジタル指示調節計 |
CN101504615A (zh) * | 2009-03-24 | 2009-08-12 | 杭州华三通信技术有限公司 | 为任务死循环提供定位信息的方法和装置 |
CN101537622B (zh) * | 2009-04-24 | 2011-12-14 | 东莞艾尔发自动化机械有限公司 | 一种操作多轴机械手臂的控制方法及全伺服控制系统 |
JP4752984B1 (ja) * | 2011-03-15 | 2011-08-17 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
JP5916677B2 (ja) * | 2013-09-20 | 2016-05-11 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
CN105630680B (zh) * | 2015-12-28 | 2018-12-18 | 中国科学院微电子研究所 | 一种随机测试程序生成方法 |
-
2018
- 2018-04-09 JP JP2018075022A patent/JP6901430B2/ja active Active
-
2019
- 2019-04-01 US US16/371,228 patent/US10664274B2/en active Active
- 2019-04-02 DE DE102019002413.3A patent/DE102019002413A1/de active Pending
- 2019-04-09 CN CN201910281028.XA patent/CN110362028A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210218A (ja) * | 1994-01-19 | 1995-08-11 | Fanuc Ltd | シーケンス・プログラムの異常検出方式 |
JP2012248055A (ja) * | 2011-05-30 | 2012-12-13 | Hitachi Advanced Digital Inc | シミュレーション装置及びシミュレーション方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110362028A (zh) | 2019-10-22 |
US10664274B2 (en) | 2020-05-26 |
US20190310850A1 (en) | 2019-10-10 |
DE102019002413A1 (de) | 2019-10-10 |
JP6901430B2 (ja) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10295985B2 (en) | Program processing apparatus and program | |
CN107885305B (zh) | 控制装置、控制方法以及记录介质 | |
EP3035139A2 (en) | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution | |
CN101669077A (zh) | 可编程控制器的线图的调试系统、其编程装置及其程序 | |
JP2017187992A (ja) | 制御装置、制御方法およびプログラム | |
KR102063966B1 (ko) | Plc 명령어 컴파일 최적화 방법 | |
JP6901430B2 (ja) | 制御装置及び編集装置 | |
JP2008059573A (ja) | 多重バイナリ入力を使用したロボットプログラミング制御 | |
JP5365875B2 (ja) | 産業用コントローラ | |
JP6469330B1 (ja) | モニタ支援装置、モニタ支援方法およびモニタ支援プログラム | |
CN105320030A (zh) | 工程装置、工程系统以及下载处理方法 | |
CN110506242B (zh) | 程序开发支持装置、系统、方法以及记录媒体 | |
JPH0410081B2 (ja) | ||
JP2021039568A (ja) | 情報処理システム、プログラマブル表示器および情報処理装置 | |
JP3764436B2 (ja) | 機械の制御装置 | |
US20190212708A1 (en) | Safety control unit, safety control method, and safety control program | |
JP4387288B2 (ja) | 制御用表示装置、エディタ装置、プログラムおよび記録媒体 | |
JP6748146B2 (ja) | 制御装置、制御方法及び制御プログラム | |
WO1988006751A1 (en) | Processor for plc and plc | |
KR20060061001A (ko) | 단일씨피유를 이용한 씨앤씨시스템 | |
JP2009009314A (ja) | エディタ装置、エディタプログラムおよびそれを記録した記録媒体 | |
JP3400920B2 (ja) | プログラム読み出し装置 | |
JP2005301334A (ja) | モーションコントローラ | |
JP2011183498A (ja) | ロボットのコントローラ | |
JP2020027347A (ja) | 制御プログラム管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190911 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191217 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210305 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6901430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |