[go: up one dir, main page]

JP6783034B1 - Programmable logic controllers, computers, methods, and programs - Google Patents

Programmable logic controllers, computers, methods, and programs Download PDF

Info

Publication number
JP6783034B1
JP6783034B1 JP2020506380A JP2020506380A JP6783034B1 JP 6783034 B1 JP6783034 B1 JP 6783034B1 JP 2020506380 A JP2020506380 A JP 2020506380A JP 2020506380 A JP2020506380 A JP 2020506380A JP 6783034 B1 JP6783034 B1 JP 6783034B1
Authority
JP
Japan
Prior art keywords
block
program
information
assigned
execution
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.)
Active
Application number
JP2020506380A
Other languages
Japanese (ja)
Other versions
JPWO2020235095A1 (en
Inventor
美泰 長友
美泰 長友
芽生 小川
芽生 小川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6783034B1 publication Critical patent/JP6783034B1/en
Publication of JPWO2020235095A1 publication Critical patent/JPWO2020235095A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラマブルロジックコントローラ(100)が備えるプログラム実行部(120)は、プログラマブルロジックコントローラ(100)用のプログラミング言語であるシーケンシャル・ファンクション・チャートを用いて作成されたプログラムを繰り返し実行する。インデックス情報記憶部(140)は、プログラムに含まれており、プログラマブルロジックコントローラ(100)が実行する処理を記述したステップを一意に特定するステップ情報を記憶する。トレース実行部(150)は、プログラム実行部(120)がステップを実行するたびに、ステップ情報と、プログラムの実行が繰り返された回数である実行サイクル数を特定する情報と、を含むログを記録する。The program execution unit (120) included in the programmable logic controller (100) repeatedly executes a program created by using a sequential function chart, which is a programming language for the programmable logic controller (100). The index information storage unit (140) is included in the program and stores step information that uniquely identifies the step that describes the process executed by the programmable logic controller (100). The trace execution unit (150) records a log including step information and information for specifying the number of execution cycles, which is the number of times the program execution is repeated, each time the program execution unit (120) executes a step. To do.

Description

本発明は、プログラマブルロジックコントローラ、コンピュータ、方法、及びプログラムに関する。 The present invention relates to programmable logic controllers, computers, methods, and programs.

プログラマブルロジックコントローラは、実行周期毎に制御プログラムの各命令を実行することにより、制御対象の機器を制御する。プログラマブルロジックコントローラが実行する制御プログラムを記載するプログラミング言語のひとつにSFC(Sequential Function Chart)がある。SFCで記載された制御プログラムには、プログラマブルロジックコントローラが実行する処理を記述したステップと、そのステップに移行するための移行条件とが記載されている。例えば、図11に示す例では、ステップ0を実行した後、移行条件1が成立する場合にはステップ1が実行され、移行条件2が成立する場合にはステップ2が実行される。ステップ1が実行された後は、移行条件3が成立するとステップ3が実行される。ステップ2が実行された後は、移行条件4が成立するとステップ3が実行される。 The programmable logic controller controls the device to be controlled by executing each instruction of the control program in each execution cycle. SFC (Sequential Function Chart) is one of the programming languages for describing the control program executed by the programmable logic controller. The control program described in the SFC describes a step that describes the process executed by the programmable logic controller, and a transition condition for shifting to the step. For example, in the example shown in FIG. 11, after step 0 is executed, step 1 is executed when the transition condition 1 is satisfied, and step 2 is executed when the transition condition 2 is satisfied. After the step 1 is executed, the step 3 is executed when the transition condition 3 is satisfied. After step 2 is executed, step 3 is executed when the transition condition 4 is satisfied.

SFCで記載された制御プログラムのデバッグのため、ステップの実行順序、各ステップの実行回数等をトレースする必要がある。 In order to debug the control program described in SFC, it is necessary to trace the execution order of steps, the number of executions of each step, and the like.

特許文献1には、SFCで記載された制御プログラムのトレースを行うため、プログラマブルロジックコントローラが、プログラム内のステップを実行するたびに、そのステップの番号を含むデータをトレースデータ蓄積部に蓄積し、周辺装置が、トレースデータ蓄積部から読み出し、実行経路及びトランジション・ステップの実行順序のタイムチャートを表示器に表示することが記載されている。 In Patent Document 1, in order to trace the control program described in SFC, every time the programmable logic controller executes a step in the program, data including the step number is accumulated in the trace data storage unit. It is described that the peripheral device reads from the trace data storage unit and displays the time chart of the execution route and the execution order of the transition step on the display.

特開2001−5504号公報Japanese Unexamined Patent Publication No. 2001-5504

特許文献1に記載された構成では、ステップの番号を含むデータを順次蓄積し、蓄積されたデータに基づいて、実行経路及びトランジション・ステップの実行順序のタイムチャートを表示器に表示するので、蓄積したデータから、例えば、トレースを開始してから終了するまでの間において、ステップの実行順序をトレースすることは可能である。しかし、特許文献1に記載された構成では、制御プログラムの実行回数とステップの番号とを紐付けて蓄積しておらず、実行されたステップがタイムチャート表示されるだけである。しかし、工場内で実際に使用される制御プログラムは、多くのトランジション、ステップを含む複雑な制御プログラムであり、特許文献1に記載された技術では、制御プログラムの実行周期単位で、その実行周期内に実行されたステップの実行順序及び実行回数を把握することは、制御プログラムのデバッグを行うユーザにとって非常に困難であった。 In the configuration described in Patent Document 1, data including step numbers are sequentially accumulated, and based on the accumulated data, a time chart of the execution route and the execution order of the transition step is displayed on the display. It is possible to trace the execution order of steps from the obtained data, for example, from the start to the end of the trace. However, in the configuration described in Patent Document 1, the number of times the control program is executed and the step number are not stored in association with each other, and the executed steps are only displayed in a time chart. However, the control program actually used in the factory is a complicated control program including many transitions and steps, and in the technique described in Patent Document 1, the execution cycle of the control program is within the execution cycle. It was very difficult for the user who debugs the control program to grasp the execution order and the number of executions of the steps executed in.

本発明は上記実情に鑑みてなされたものであり、SFCで記載されたプログラムのステップの実行経路及び実行回数を実行周期単位でトレースすることを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to trace the execution path and the number of executions of a step of a program described in SFC in units of execution cycles.

上記目的を達成するため、本発明のプログラマブルロジックコントローラが備える実行手段は、プログラマブルロジックコントローラ用のプログラミング言語であるシーケンシャル・ファンクション・チャートを用いて作成され、プログラマブルロジックコントローラが実行する処理を記述したステップを有する複数のブロックを含み、ステップがブロックをまたがって並行して実行されるプログラムを繰り返し実行する。割当手段は、実行手段がプログラムを実行するのに先立って、プログラム内においてステップを一意に特定する情報であるステップ情報を生成し、生成したステップ情報を、各ステップに割り当てる。ログ記録手段は、実行手段がプログラムを実行している間に、ステップの実行経路を示すトレースログとして、実行されたステップを特定するステップ情報をプログラムの実行が繰り返された回数である実行サイクル数と対応付けて記憶部に蓄積する。プログラムの作成時に、各ブロックにはブロックを識別するブロック識別情報が、各ステップにはブロック内においてステップを識別するブロック内ステップ識別情報がそれぞれ割り当てられており、各ステップに割り当てられたステップ情報は、そのステップに割り当てられているブロック内ステップ識別情報とは異なる情報である。同一のステップ情報が割当手段により割り当てられ、ブロックをまたがって並行して実行されるステップには、属するブロック毎に固有のブロック内ステップ識別情報が割り当てられている。 In order to achieve the above object, the execution means provided in the programmable logic controller of the present invention is created by using a sequential function chart which is a programming language for the programmable logic controller, and a step describing the processing executed by the programmable logic controller. look including a plurality of blocks having the steps are repeatedly executed a program to be executed in parallel across blocks. Prior to the execution means executing the program , the assigning means generates step information that is information that uniquely identifies a step in the program, and assigns the generated step information to each step. The logging means is the number of execution cycles, which is the number of times the program is repeatedly executed with step information that identifies the executed step as a trace log indicating the execution path of the step while the execution means is executing the program. It is stored in the storage unit in association with. When the program is created, each block is assigned block identification information that identifies the block, each step is assigned in-block step identification information that identifies the step in the block, and the step information assigned to each step is , Information different from the in-block step identification information assigned to the step. The same step information is assigned by the assigning means, and the step identification information in the block unique to each block is assigned to the steps executed in parallel across the blocks.

本発明のプログラマブルロジックコントローラは、ステップの実行経路を示すトレースログとして、実行されたステップを特定するステップ情報プログラムの実行が繰り返された回数である実行サイクル数と対応付けて記憶部に蓄積する。このような構成を備えることで、SFCで記載されたプログラムのステップの実行経路及び実行回数を実行周期単位でトレースすることができる。 Programmable logic controller of the present invention, stored as trace log indicating the execution path of the steps, the storage unit in association with the number of execution cycles the number of times that the step information identify the steps that have been executed execution program is repeated To do. By providing such a configuration, it is possible to trace the execution path and the number of executions of the steps of the program described in the SFC in units of execution cycles.

本発明の実施の形態に係るプログラマブルロジックコントローラと開発ツールの機能構成を示すブロック図A block diagram showing a functional configuration of a programmable logic controller and a development tool according to an embodiment of the present invention. 実施の形態に係るプログラマブルロジックコントローラと開発ツールのハードウェア構成を示すブロック図Block diagram showing the hardware configuration of the programmable logic controller and the development tool according to the embodiment 実施の形態に係る制御プログラムの一例を示す図The figure which shows an example of the control program which concerns on embodiment 実施の形態に係るインデックステーブルに格納されるデータの一例を示す図The figure which shows an example of the data stored in the index table which concerns on embodiment. 実施の形態に係るトレースログの一例を示す図The figure which shows an example of the trace log which concerns on embodiment 実施の形態に係るインデックス割り当て処理のフローチャートFlowchart of index allocation processing according to the embodiment 実施の形態に係るトレース処理のフローチャートFlowchart of trace processing according to the embodiment 実施の形態に係るトレースログの表示画面の例を示す図(その1)The figure which shows the example of the display screen of the trace log which concerns on embodiment (the 1) 実施の形態に係るトレースログの表示画面の例を示す図(その2)The figure which shows the example of the display screen of the trace log which concerns on embodiment (the 2) 実施の形態に係るトレースログの表示画面の例を示す図(その3)The figure which shows the example of the display screen of the trace log which concerns on embodiment (the 3) 実施の形態に係るトレースログの表示画面の例を示す図(その4)The figure which shows the example of the display screen of the trace log which concerns on embodiment (the 4) 実施の形態に係るトレースログの表示画面の例を示す図(その5)The figure which shows the example of the display screen of the trace log which concerns on embodiment (the 5) 実施の形態に係るトレースログの表示画面の他の例を示す図The figure which shows another example of the display screen of the trace log which concerns on embodiment. 実施の形態に係るトレースログのタイミングチャートを表示する画面の例を示す図The figure which shows the example of the screen which displays the timing chart of the trace log which concerns on embodiment. インデックステーブルに格納されるデータの他の例を示す図Diagram showing other examples of data stored in the index table SFCで記述されたプログラムの一例を示す図The figure which shows an example of the program written in SFC

以下、本発明の実施の形態に係るプログラマブルロジックコントローラ100について、図面を参照しつつ詳細に説明する。 Hereinafter, the programmable logic controller 100 according to the embodiment of the present invention will be described in detail with reference to the drawings.

(実施の形態)
図1に示す、プログラマブルロジックコントローラ100は、制御システム、生産システム等において、検出器から供給された入力信号に従って、制御プログラムの命令を実行し、出力信号を被制御機器に供給し、被制御機器を制御する。検出器は、例えば、センサ、スイッチである。被制御機器は、例えば、アクチュエータ、電磁弁、表示灯である。
(Embodiment)
The programmable logic controller 100 shown in FIG. 1 executes a control program instruction according to an input signal supplied from a detector in a control system, a production system, or the like, supplies an output signal to the controlled device, and supplies the controlled device. To control. The detector is, for example, a sensor or a switch. The controlled device is, for example, an actuator, a solenoid valve, or an indicator light.

プログラマブルロジックコントローラ100(以下、PLC100)は、制御プログラムの最初の命令から最後の命令まで、命令を順次実行し、最後の命令を実行すると、再び、最初の命令から、命令を順次実行する。PLC100が、制御プログラムの最初の命令から最後の命令までを実行することをスキャンということがある。PLC100が制御プログラムの命令の実行を一巡する時間をスキャンタイムということがある。 The programmable logic controller 100 (hereinafter referred to as PLC100) sequentially executes instructions from the first instruction to the last instruction of the control program, and when the last instruction is executed, the instructions are sequentially executed again from the first instruction. Executing the PLC100 from the first instruction to the last instruction of the control program is sometimes called scanning. The time during which the PLC 100 goes around the execution of the instruction of the control program is sometimes called the scan time.

実施の形態においては、PLC100は、シーケンシャル・ファンクション・チャート(以下、SFC)で記載された制御プログラムを実行する。PLC100は、制御プログラムの実行中に、ステップの実行経路をトレースする機能を備える。 In an embodiment, the PLC 100 executes a control program described in a sequential function chart (SFC). The PLC 100 has a function of tracing the execution path of a step during execution of a control program.

開発ツール500は、プログラムの作成機能を備える専用のアプリケーションプログラムをインストールしたパーソナルコンピュータである。開発ツール500は、プログラムの作成機能に加え、PLC100が記録したトレースログに基づき、ステップの実行経路を示す情報を表示する機能を有する。 The development tool 500 is a personal computer in which a dedicated application program having a program creation function is installed. In addition to the program creation function, the development tool 500 has a function of displaying information indicating a step execution route based on the trace log recorded by the PLC 100.

図2に示すように、PLC100はハードウェア構成として、各種のプログラム及びデータを記憶する不揮発性メモリ11と、トレースログを記憶する揮発性メモリ12と、検出器801及び被制御機器802とデータを授受する入出力インタフェース13と、開発ツール500と通信する接続インタフェース14と、PLC100全体を制御するMPU(Micro Processing Unit)15とを有する。不揮発性メモリ11と揮発性メモリ12と入出力インタフェース13と接続インタフェース14とはバス19を介してMPU15に接続されており、MPU15と通信する。 As shown in FIG. 2, the PLC 100 has a hardware configuration of a non-volatile memory 11 for storing various programs and data, a volatile memory 12 for storing trace logs, a detector 801 and a controlled device 802, and data. It has an input / output interface 13 for sending and receiving, a connection interface 14 for communicating with the development tool 500, and an MPU (Micro Processing Unit) 15 for controlling the entire PLC 100. The non-volatile memory 11, the volatile memory 12, the input / output interface 13, and the connection interface 14 are connected to the MPU 15 via the bus 19 and communicate with the MPU 15.

不揮発性メモリ11は、PLC100の各種機能を実現するためのプログラムと、プログラムの実行時に使用されるデータとを記憶する。例えば、不揮発性メモリ11は、MPU15を制御するファームウェアを記憶する。実施の形態においては、PLC100のファームウェアの機能として、トレースの実行に必要な前処理を実行する機能と、ユーザプログラム111のステップの実行をトレースする機能とが含まれている。さらに、不揮発性メモリ11は、アプリケーションプログラムを記憶する。実施の形態においては、不揮発性メモリ11には、ユーザプログラム111が格納されている。不揮発性メモリ11は、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ、ハードディスクドライブを含む。 The non-volatile memory 11 stores a program for realizing various functions of the PLC 100 and data used when the program is executed. For example, the non-volatile memory 11 stores the firmware that controls the MPU 15. In the embodiment, the functions of the firmware of the PLC 100 include a function of executing preprocessing necessary for executing the trace and a function of tracing the execution of the step of the user program 111. Further, the non-volatile memory 11 stores an application program. In the embodiment, the user program 111 is stored in the non-volatile memory 11. The non-volatile memory 11 includes, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory, and a hard disk drive.

ユーザプログラム111は、ユーザがSFCを使用して開発したプログラムであって、被制御機器を制御する機能をMPU15に実現させる制御プログラムである。ユーザは、例えば、PLC100の管理者である。 The user program 111 is a program developed by the user using SFC, and is a control program that enables the MPU 15 to realize a function of controlling a controlled device. The user is, for example, the administrator of PLC100.

揮発性メモリ12は、トレースログを格納するメモリとして用いられる。さらに、揮発性メモリ12は、MPU15のワークメモリとして用いられる。揮発性メモリ12は、例えば、RAM(Random Access Memory)を含む。 The volatile memory 12 is used as a memory for storing the trace log. Further, the volatile memory 12 is used as a work memory of the MPU 15. The volatile memory 12 includes, for example, a RAM (Random Access Memory).

入出力インタフェース13は、PLC100が検出器801及び被制御機器802と通信するための接続インタフェースである。入出力インタフェース13は、MPU15から供給されたデータを電気信号に変換し、接続ケーブル701を介して変換した信号を被制御機器802に送信する。また、入出力インタフェース13は、接続ケーブル701を介して検出器801から受信した電気信号をデータに復元してMPU15に出力する。 The input / output interface 13 is a connection interface for the PLC 100 to communicate with the detector 801 and the controlled device 802. The input / output interface 13 converts the data supplied from the MPU 15 into an electric signal, and transmits the converted signal to the controlled device 802 via the connection cable 701. Further, the input / output interface 13 restores the electric signal received from the detector 801 via the connection cable 701 into data and outputs the data to the MPU 15.

接続インタフェース14は、例えば、USBコントローラを含み、MPU15から供給されたデータを電気信号に変換し、接続ケーブル702を介して変換した信号を開発ツール500に送信する。また、接続インタフェース14は、接続ケーブル702を介して、開発ツール500が出力した電気信号を受信し、受信した電気信号をデータに復元してMPU15に出力する。接続ケーブル702は、例えば、USBケーブルである。 The connection interface 14, for example, includes a USB controller, converts the data supplied from the MPU 15 into an electric signal, and transmits the converted signal to the development tool 500 via the connection cable 702. Further, the connection interface 14 receives the electric signal output by the development tool 500 via the connection cable 702, restores the received electric signal to data, and outputs the received electric signal to the MPU 15. The connection cable 702 is, for example, a USB cable.

MPU15は、不揮発性メモリ11に記憶されている各種プログラムを実行して、PLC100の各種機能を実現する。例えば、MPU15は、不揮発性メモリ11に格納されているユーザプログラム111を実行することにより、検出器801から供給された入力信号が示す値を使用した演算を行い、演算結果を示す値に基づく出力信号を被制御機器802に供給する。 The MPU 15 executes various programs stored in the non-volatile memory 11 to realize various functions of the PLC 100. For example, the MPU 15 executes a user program 111 stored in the non-volatile memory 11 to perform an operation using the value indicated by the input signal supplied from the detector 801 and outputs an output based on the value indicating the operation result. The signal is supplied to the controlled device 802.

開発ツール500は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ51と、ユーザの入力操作を検出する入力装置52と、画像を表示する表示装置53と、PLC100と通信する接続インタフェース54と、開発ツール500全体を制御するCPU(Central Processing Unit)55とを有する。メモリ51と入力装置52と表示装置53と接続インタフェース54とは、バス59を介してCPU55に接続されており、CPU55と通信する。 As a hardware configuration, the development tool 500 includes a memory 51 that stores various programs and data, an input device 52 that detects an input operation of a user, a display device 53 that displays an image, and a connection interface 54 that communicates with the PLC 100. And a CPU (Central Processing Unit) 55 that controls the entire development tool 500. The memory 51, the input device 52, the display device 53, and the connection interface 54 are connected to the CPU 55 via the bus 59 and communicate with the CPU 55.

メモリ51は、揮発性メモリと不揮発性メモリとを含む。メモリ51は、開発ツール500の各種機能を実現するためのプログラムと、プログラムの実行時に使用されるデータとを記憶する。実施の形態においては、メモリ51は、ログ表示プログラム511を記憶する。ログ表示プログラム511は、トレースログを表示する機能をCPU55に実現させるプログラムである。さらに、メモリ51は、CPU55のワークメモリとして用いられる。 The memory 51 includes a volatile memory and a non-volatile memory. The memory 51 stores a program for realizing various functions of the development tool 500 and data used when the program is executed. In the embodiment, the memory 51 stores the log display program 511. The log display program 511 is a program that enables the CPU 55 to display a trace log. Further, the memory 51 is used as a work memory of the CPU 55.

入力装置52は、キーボード、マウス等の入力装置を含み、ユーザの入力操作を検出し、検出したユーザの入力操作を示す信号をCPU55に供給する。表示装置53は、ディスプレイを含み、CPU55から供給された信号に基づいた画像をディスプレイに表示する。 The input device 52 includes an input device such as a keyboard and a mouse, detects a user's input operation, and supplies a signal indicating the detected user's input operation to the CPU 55. The display device 53 includes a display and displays an image based on the signal supplied from the CPU 55 on the display.

接続インタフェース54は、例えば、USBコントローラを含み、CPU55から供給されたデータを電気信号に変換し、変換した信号を接続ケーブル702を介してPLC100に送信する。また、接続インタフェース54は、接続ケーブル702を介して、PLC100が出力した電気信号を受信し、受信した電気信号をデータに復元してCPU55に出力する。 The connection interface 54 includes, for example, a USB controller, converts data supplied from the CPU 55 into an electric signal, and transmits the converted signal to the PLC 100 via the connection cable 702. Further, the connection interface 54 receives the electric signal output by the PLC 100 via the connection cable 702, restores the received electric signal to data, and outputs the received electric signal to the CPU 55.

CPU55は、不揮発性メモリ11に記憶された各種プログラムを実行して、開発ツール500の各種機能を実現する。実施の形態においては、CPU55は、ログ表示プログラム511を実行して、PLC100が記録したトレースログを表示装置53に表示する。 The CPU 55 executes various programs stored in the non-volatile memory 11 to realize various functions of the development tool 500. In the embodiment, the CPU 55 executes the log display program 511 and displays the trace log recorded by the PLC 100 on the display device 53.

続いて、図1を参照しながら、PLC100の機能的な構成を説明する。PLC100は、機能的には、制御プログラムを記憶するプログラム記憶部110と、制御プログラムを実行するプログラム実行部120と、制御プログラムの各ステップにインデックスを割り当てるトレース前処理部130と、インデックスに関するデータを記憶するインデックス情報記憶部140と、ステップの実行をトレースするトレース実行部150と、トレースログを記憶するトレースログ記憶部160とを含む。 Subsequently, the functional configuration of the PLC 100 will be described with reference to FIG. Functionally, the PLC 100 stores a program storage unit 110 that stores a control program, a program execution unit 120 that executes a control program, a trace preprocessing unit 130 that assigns an index to each step of the control program, and data related to the index. It includes an index information storage unit 140 to store, a trace execution unit 150 to trace the execution of a step, and a trace log storage unit 160 to store the trace log.

プログラム記憶部110は、PLC100が被制御機器を制御するため実行する制御プログラムを記憶する。制御プログラムは、図2に示すユーザプログラム111に相当するものである。プログラム記憶部110の機能は、図2に示す不揮発性メモリ11により実現される。 The program storage unit 110 stores a control program executed by the PLC 100 to control the controlled device. The control program corresponds to the user program 111 shown in FIG. The function of the program storage unit 110 is realized by the non-volatile memory 11 shown in FIG.

図3に、ユーザプログラム111の一例を示す。図3に示す例では、ユーザプログラム111は、複数のブロックを含む。ブロックは、例えば、PLC100が実行する処理を機能単位に分けたものである。 FIG. 3 shows an example of the user program 111. In the example shown in FIG. 3, the user program 111 includes a plurality of blocks. The block is, for example, a block that divides the processing executed by the PLC 100 into functional units.

SFCで記載されたユーザプログラム111は、次のように実行される。ユーザプログラム111は、複数のブロックを含むため、ブロック番号の小さいブロックからブロック番号の大きいブロックの順に処理される。なお、そのスキャンにおいて非活性のブロックのステップは処理されない。活性状態のブロックの活性しているステップが順に処理される。 The user program 111 described in SFC is executed as follows. Since the user program 111 includes a plurality of blocks, the user program 111 is processed in order from the block having the smallest block number to the block having the largest block number. Note that the scan does not process the steps of the inactive block. The active steps of the active block are processed in sequence.

図3を参照しながら、ステップの処理の例を説明する。例えば、N(Nは正の整数)スキャン目にブロック0が活性状態であり、ブロック0のステップ0が活性しているとする。この場合、ブロック0のステップ0が実行される。ブロック0のステップ0が実行されたときに、ブロック0のステップ0とブロック0のステップ2との間の移行条件T02が成立しているとき、ブロック0のステップ0は非活性になり、ブロック0のステップ2が活性する。一方、移行条件T02が成立していないとき、ブロック0のステップ2は非活性状態のままであり、ブロック0のステップ0は活性状態のままである。例えば、ブロック0のステップ0とブロック0のステップ2との間の移行条件T02が成立しているとする。この場合、ブロック0のステップ0は非活性になり、ブロック0のステップ2が活性する。 An example of step processing will be described with reference to FIG. For example, assume that block 0 is active and step 0 of block 0 is active in the N (N is a positive integer) scan. In this case, step 0 of block 0 is executed. When step 0 of block 0 is executed, when the transition condition T02 between step 0 of block 0 and step 2 of block 0 is satisfied, step 0 of block 0 becomes inactive and block 0 Step 2 is activated. On the other hand, when the transition condition T02 is not satisfied, step 2 of block 0 remains in the inactive state, and step 0 of block 0 remains in the active state. For example, it is assumed that the transition condition T02 between step 0 of block 0 and step 2 of block 0 is satisfied. In this case, step 0 of block 0 becomes inactive and step 2 of block 0 becomes active.

続いて、ブロック1が活性状態であれば、ブロック1の活性しているステップが実行され、ブロック1が非活性状態であれば、ブロック1のいずれのステップも実行されない。例えば、ブロック1が活性状態であり、ブロック1のステップ1が活性しているとする。この場合、ブロック1のステップ1が実行される。ブロック1のステップ1が実行されたときに、ブロック1のステップ1とブロック1のステップ3との間の移行条件T12が成立しているとき、ブロック1のステップ1は非活性になり、ブロック1のステップ3が活性する。一方、移行条件T12が成立していないとき、ブロック1のステップ1は活性状態のままである。 Subsequently, if block 1 is in the active state, the active step of block 1 is executed, and if block 1 is in the inactive state, none of the steps of block 1 is executed. For example, assume that block 1 is in an active state and step 1 of block 1 is active. In this case, step 1 of block 1 is executed. When step 1 of block 1 is executed, when the transition condition T12 between step 1 of block 1 and step 3 of block 1 is satisfied, step 1 of block 1 becomes inactive and block 1 is executed. Step 3 is activated. On the other hand, when the transition condition T12 is not satisfied, step 1 of block 1 remains in the active state.

続いて、ブロック2が活性状態であれば、ブロック2の活性しているステップが実行され、ブロック2が非活性状態であれば、ブロック2のいずれのステップも実行されない。 Subsequently, if the block 2 is in the active state, the active step of the block 2 is executed, and if the block 2 is in the inactive state, none of the steps of the block 2 is executed.

N+1スキャン目では、ブロック0が活性状態である場合、ブロック0の活性状態のステップが実行される。例えば、ブロック0が活性状態であり、ブロック0のステップ2が活性しているとする。この場合、ブロック0のステップ2が実行される。ブロック0のステップ2が実行されたときに、例えば、ブロック0のステップ2とブロック0のステップ0との間の移行条件T04が成立しているとき、ブロック0のステップ2は非活性になり、ブロック0のステップ0が活性する。 In the N + 1 scan, if block 0 is in the active state, the step in the active state of block 0 is executed. For example, assume that block 0 is in the active state and step 2 of block 0 is active. In this case, step 2 of block 0 is executed. When step 2 of block 0 is executed, for example, when the transition condition T04 between step 2 of block 0 and step 0 of block 0 is satisfied, step 2 of block 0 becomes inactive. Step 0 of block 0 is activated.

続いて、ブロック1が活性状態であれば、ブロック1の活性しているステップが実行され、ブロック1が非活性状態であれば、ブロック1のいずれのステップも実行されない。さらに、ブロック2が活性状態であれば、ブロック1の活性しているステップが実行され、ブロック2が非活性状態であれば、ブロック1のいずれのステップも実行されない。 Subsequently, if block 1 is in the active state, the active step of block 1 is executed, and if block 1 is in the inactive state, none of the steps of block 1 is executed. Further, if the block 2 is in the active state, the active step of the block 1 is executed, and if the block 2 is in the inactive state, none of the steps of the block 1 is executed.

N+2スキャン目では、ブロック0が活性状態である場合、ブロック0の活性状態のステップが実行される。例えば、ブロック0が活性状態であり、ブロック0のステップ0が活性しているとする。この場合、ブロック0のステップ0が実行される。ブロック0のステップ0が実行されたときに、例えば、ブロック0のステップ0とブロック0のステップ2との間の移行条件T02が成立しているとき、ブロック0のステップ0は非活性になり、ブロック0のステップ2が活性する。 In the N + 2 scan, when block 0 is in the active state, the step in the active state of block 0 is executed. For example, assume that block 0 is in the active state and step 0 of block 0 is active. In this case, step 0 of block 0 is executed. When step 0 of block 0 is executed, for example, when the transition condition T02 between step 0 of block 0 and step 2 of block 0 is satisfied, step 0 of block 0 becomes inactive. Step 2 of block 0 is activated.

図1に示すプログラム実行部120は、実行周期毎に制御プログラムを実行する。プログラム実行部120の機能は、図2に示すMPU15により実現される。プログラム実行部120は、本発明の実行手段の一例である。 The program execution unit 120 shown in FIG. 1 executes the control program at each execution cycle. The function of the program execution unit 120 is realized by the MPU 15 shown in FIG. The program execution unit 120 is an example of the execution means of the present invention.

図1に示すトレース前処理部130は、プログラム記憶部110が記憶する制御プログラム中のステップに一意な番号を振り、ステップと番号との対応を示すデータをインデックス情報記憶部140に格納する。具体的には、トレース前処理部130は、図3に示すようなユーザプログラム111の各ステップに、ユーザプログラム111内において一意となるシリアル番号を割り当てる。このシリアル番号をインデックスと称する。ステップにインデックスを割り当てる処理をインデックス割り当て処理と称することがある。トレース前処理部130は、インデックス割り当て処理を、例えば、電源が投入後のイニシャル処理の一部として実行する。トレース前処理部130の機能は、図2に示すMPU15より実現される。トレース前処理部130は、本発明の割当手段の一例である。 The trace preprocessing unit 130 shown in FIG. 1 assigns a unique number to a step in the control program stored in the program storage unit 110, and stores data indicating the correspondence between the step and the number in the index information storage unit 140. Specifically, the trace preprocessing unit 130 assigns a serial number unique to the user program 111 to each step of the user program 111 as shown in FIG. This serial number is called an index. The process of assigning an index to a step is sometimes called an index allocation process. The trace preprocessing unit 130 executes the index allocation process, for example, as a part of the initial process after the power is turned on. The function of the trace preprocessing unit 130 is realized by the MPU 15 shown in FIG. The trace preprocessing unit 130 is an example of the allocation means of the present invention.

トレース前処理部130が、ステップにインデックスを割り当てるのは次のような理由による。上述のように、ユーザプログラム111の複数のブロックのステップは、同一スキャンにおいて並行して実行される。ステップは、ブロックをまたがって実行されるため、ユーザプログラム111の作成時に採番されたステップ番号だけを記録するのでは、ステップの実行経路と、ステップ毎の実行回数と、を特定することができない。 The trace preprocessing unit 130 assigns an index to a step for the following reasons. As described above, the steps of the plurality of blocks of the user program 111 are executed in parallel in the same scan. Since the steps are executed across blocks, it is not possible to specify the execution path of the steps and the number of executions for each step by recording only the step numbers assigned at the time of creating the user program 111. ..

さらに、ユーザプログラム111内には、例えば、機能毎に処理をひとまとめにしたブロックが複数存在する場合がある。ステップを示すステップ番号は、ブロック内において採番されているため、異なるブロックにおいて、同一のステップ番号を有するステップが存在することがある。この場合、トレース時に、ユーザプログラム111の作成時に採番されたステップ番号だけを記録するのでは、そのステップがどのブロックに属するものかを特定することができないからである。 Further, in the user program 111, for example, there may be a plurality of blocks in which processing is grouped for each function. Since the step numbers indicating the steps are numbered within the blocks, there may be steps having the same step numbers in different blocks. In this case, if only the step number assigned when the user program 111 is created is recorded at the time of tracing, it is not possible to specify which block the step belongs to.

インデックス情報記憶部140は、トレース前処理部130により割り当てられたインデックスのデータを記憶する。具体的には、インデックス情報記憶部140は、図4に示すようなインデックステーブル1401を有する。インデックステーブル1401には、ブロック番号とステップ番号とで特定されるステップに振られたインデックスが格納される。インデックス情報記憶部140の機能は、図2に示す不揮発性メモリ11により実現される。制御プログラム中のステップは、本発明のステップの一例である。インデックス情報記憶部140は、本発明のステップ情報記憶手段の一例である。インデックステーブル1401に格納されるデータは、本発明のステップ情報の一例である。ブロック番号は、本発明のブロックを識別する識別情報の一例である。ステップ番号は、本発明のブロック内においてステップを識別する識別情報の一例である。 The index information storage unit 140 stores the index data assigned by the trace preprocessing unit 130. Specifically, the index information storage unit 140 has an index table 1401 as shown in FIG. In the index table 1401, the index assigned to the step specified by the block number and the step number is stored. The function of the index information storage unit 140 is realized by the non-volatile memory 11 shown in FIG. The steps in the control program are examples of the steps of the present invention. The index information storage unit 140 is an example of the step information storage means of the present invention. The data stored in the index table 1401 is an example of the step information of the present invention. The block number is an example of identification information that identifies the block of the present invention. The step number is an example of identification information that identifies a step within the block of the present invention.

図1に示すトレース実行部150は、プログラム実行部120が実行するステップの実行をトレースし、トレースログをトレースログ記憶部160に格納する。トレース実行部150の機能は、図2に示すMPU15により実現される。トレース実行部150は、本発明のログ記録手段の一例である。 The trace execution unit 150 shown in FIG. 1 traces the execution of the steps executed by the program execution unit 120, and stores the trace log in the trace log storage unit 160. The function of the trace execution unit 150 is realized by the MPU 15 shown in FIG. The trace execution unit 150 is an example of the logging means of the present invention.

具体的には、トレース実行部150は、開発ツール500からトレースの実行の開始指示を受け付けると、トレースを開始する。トレース実行部150は、プログラム実行部120が制御プログラムをスキャンした回数をカウントするカウンタ(以下、スキャンカウンタ)を有しているものとする。以下、プログラム実行部120が制御プログラムをスキャンした回数をスキャン数ということがある。スキャンカウンタの初期値は、例えば“1”である。トレース実行部150は、トレースしたステップが最後のステップであると、スキャンカウンタの値を、例えば、1加算する。 Specifically, the trace execution unit 150 starts the trace when it receives the instruction to start the execution of the trace from the development tool 500. It is assumed that the trace execution unit 150 has a counter (hereinafter, scan counter) that counts the number of times the program execution unit 120 scans the control program. Hereinafter, the number of times the program execution unit 120 scans the control program may be referred to as the number of scans. The initial value of the scan counter is, for example, "1". When the traced step is the last step, the trace execution unit 150 adds, for example, 1 to the value of the scan counter.

トレース実行部150は、プログラム実行部120がステップを実行すると、図4に示すインデックステーブル1401から、そのステップに割り当てられたインデックスを読み出し、スキャンカウンタの値が示すスキャンにおいて、インデックスの値が示すステップが実行されたことを示すログを、トレースログ記憶部160に格納する。トレース実行部150は、プログラム実行部120がステップを実行するたびに、ログをトレースログ記憶部160に格納する。また、トレース実行部150は、プログラム実行部120が、制御プログラムの最後のステップを実行すると、スキャンカウンタの値を加算する。プログラム実行部120が制御プログラムの1回のスキャンを終えたからである。 When the program execution unit 120 executes a step, the trace execution unit 150 reads the index assigned to the step from the index table 1401 shown in FIG. 4, and in the scan indicated by the scan counter value, the step indicated by the index value. The log indicating that has been executed is stored in the trace log storage unit 160. The trace execution unit 150 stores the log in the trace log storage unit 160 each time the program execution unit 120 executes a step. Further, the trace execution unit 150 adds the value of the scan counter when the program execution unit 120 executes the last step of the control program. This is because the program execution unit 120 has completed one scan of the control program.

トレースログ記憶部160は、トレース実行部150が記録したトレースログを示すデータを記憶する。図5に、トレースログ記憶部160に格納されているトレースログの一例を示す。図示する例では、スキャン回数ごとに、実行されたステップのインデックスが順次記録されている。一番左に記載されているインデックスがそのスキャンで最初に実行されたステップを示し、一番右に記載されているインデックスがそのスキャンで最後に実行されたステップを示すものとする。トレースログ記憶部160の機能は、図2に示す揮発性メモリ12により実現される。トレースログに含まれるスキャン回数は、本発明の実行サイクル数を特定する情報の一例である。 The trace log storage unit 160 stores data indicating the trace log recorded by the trace execution unit 150. FIG. 5 shows an example of the trace log stored in the trace log storage unit 160. In the illustrated example, the index of the executed step is sequentially recorded for each number of scans. The index on the far left indicates the first step performed in the scan, and the index on the far right indicates the last step performed in the scan. The function of the trace log storage unit 160 is realized by the volatile memory 12 shown in FIG. The number of scans included in the trace log is an example of information that identifies the number of execution cycles of the present invention.

図1に示すように、開発ツール500は、機能的には、トレースの実行をPLC100に指示するトレース実行指示部510と、PLC100からトレースログを含むデータを読み出すトレースログ読出部520と、トレースログに基づいてトレースの結果を表示する表示部530とを含む。 As shown in FIG. 1, the development tool 500 functionally includes a trace execution instruction unit 510 that instructs the PLC 100 to execute a trace, a trace log reading unit 520 that reads data including a trace log from the PLC 100, and a trace log. Includes a display unit 530 that displays the trace result based on.

トレース実行指示部510は、ユーザからトレースの実行開始の指示を受け付けると、PLC100にプログラムのトレースの実行の開始指示を出力する。また、トレース実行指示部510は、ユーザからの指示を受け付け、PLC100にトレースの実行を停止するよう指示を出す。トレース実行指示部510の機能は、図2に示す入力装置52と、接続インタフェース54と、CPU55とにより実現される。 When the trace execution instruction unit 510 receives the instruction to start the trace execution from the user, the trace execution instruction unit 510 outputs the instruction to start the trace execution of the program to the PLC 100. Further, the trace execution instruction unit 510 receives an instruction from the user and issues an instruction to the PLC 100 to stop the execution of the trace. The function of the trace execution instruction unit 510 is realized by the input device 52 shown in FIG. 2, the connection interface 54, and the CPU 55.

トレースログ読出部520は、ユーザからトレースログの読み出しの指示を受け付けると、トレースログ及びログの表示に必要なデータをPLC100から読み出す。具体的には、トレースログ読出部520は、PLC100のトレースログ記憶部160に格納されているトレースログと、インデックス情報記憶部140に格納されているインデックステーブル1401のデータと、プログラム記憶部110に格納されている制御プログラムを読み出し、読み出した制御プログラムを表示部530に出力する。トレースログ読出部520の機能は、図2に示す入力装置52と、接続インタフェース54と、CPU55とにより実現される。トレースログ読出部520は、本発明の読出手段の一例である。 When the trace log reading unit 520 receives an instruction to read the trace log from the user, the trace log and the data necessary for displaying the log are read from the PLC 100. Specifically, the trace log reading unit 520 stores the trace log stored in the trace log storage unit 160 of the PLC 100, the data of the index table 1401 stored in the index information storage unit 140, and the program storage unit 110. The stored control program is read, and the read control program is output to the display unit 530. The function of the trace log reading unit 520 is realized by the input device 52 shown in FIG. 2, the connection interface 54, and the CPU 55. The trace log reading unit 520 is an example of the reading means of the present invention.

表示部530は、トレースログ読出部520から、トレースログと、インデックステーブル1401のデータと、制御プログラムとが供給されると、トレースの結果を示す画像を生成し、生成した画像を表示装置53に表示する。表示部530の機能は、図2に示す表示装置53と、CPU55とにより実現される。表示部530は、本発明の表示手段の一例である。 When the trace log, the data of the index table 1401 and the control program are supplied from the trace log reading unit 520, the display unit 530 generates an image showing the trace result, and displays the generated image on the display device 53. indicate. The function of the display unit 530 is realized by the display device 53 shown in FIG. 2 and the CPU 55. The display unit 530 is an example of the display means of the present invention.

次に、トレース前処理部130が、トレースに先立って制御プログラムのステップそれぞれにインデックスを割り当てる処理を説明する。トレース前処理部130は、PLC100のイニシャル処理の一部として、下記のインデックス割り当て処理を実行する。 Next, a process in which the trace preprocessing unit 130 assigns an index to each step of the control program prior to tracing will be described. The trace preprocessing unit 130 executes the following index allocation process as a part of the initial process of the PLC 100.

図6に示すように、トレース前処理部130は、制御プログラム内の全てのステップにインデックスを割り当てるまで(ステップS11;No)、次のステップにインデックスを割り当て、インデックスと、ステップの属するブロック番号と、ステップのステップ番号とを、図4に示すインデックステーブル1401に格納する(ステップS12)。トレース前処理部130は、制御プログラム内の全てのステップにインデックスを割り当てると(ステップS11;Yes)、インデックス割り当て処理を終了する。以上がインデックス割り当て処理である。 As shown in FIG. 6, the trace preprocessing unit 130 assigns an index to the next step until an index is assigned to all the steps in the control program (step S11; No), and the index and the block number to which the step belongs are assigned. , The step number of the step is stored in the index table 1401 shown in FIG. 4 (step S12). When the trace preprocessing unit 130 assigns an index to all the steps in the control program (step S11; Yes), the trace preprocessing unit 130 ends the index allocation process. The above is the index allocation process.

続いて、トレース実行部150が、制御プログラムのステップの実行をトレースする処理を説明する。 Subsequently, the process of tracing the execution of the steps of the control program by the trace execution unit 150 will be described.

トレース実行部150は、ユーザの指示に従って、開発ツール500のトレース実行指示部510がトレースの実行指示を出力すると、トレース処理を開始する。例えば、ユーザは、開発ツール500からトレースの開始を指示した後、PLC100の動作モードを制御プログラムの実行モードに切り替える。よって、プログラム実行部120は、制御プログラムの実行を開始する。 The trace execution unit 150 starts the trace process when the trace execution instruction unit 510 of the development tool 500 outputs the trace execution instruction according to the user's instruction. For example, after instructing the start of tracing from the development tool 500, the user switches the operation mode of the PLC 100 to the execution mode of the control program. Therefore, the program execution unit 120 starts executing the control program.

図7に示すように、トレース実行部150は、プログラム実行部120がステップを実行したと判別すると(ステップS21;Yes)、トレース実行部150は、インデックステーブル1401から、実行されたステップのインデックスを読み出す(ステップS22)。続いてトレース実行部150は、現在のスキャンカウンタの値を読み出して、現在のスキャン数を取得する(ステップS23)。トレース実行部150は、ステップS22で読み出したインデックスの値を、現在のスキャン数が示すスキャンで実行されたステップとして、ステップのログをトレースログ記憶部160に記録する(ステップS24)。 As shown in FIG. 7, when the trace execution unit 150 determines that the program execution unit 120 has executed the step (step S21; Yes), the trace execution unit 150 calculates the index of the executed step from the index table 1401. Read (step S22). Subsequently, the trace execution unit 150 reads the value of the current scan counter and acquires the current number of scans (step S23). The trace execution unit 150 records the step log in the trace log storage unit 160 as the step executed by the scan indicated by the current number of scans by using the index value read in step S22 (step S24).

トレース実行部150は、対象のステップが制御プログラムの最後のステップであるか否かを判別する(ステップS25)。そのステップが制御プログラムの最後のステップである場合(ステップS25;Yes)、トレース実行部150は、スキャンカウンタの値を加算し(ステップS26)、最後のステップでない場合(ステップS25;No)、ステップS27を実行する。 The trace execution unit 150 determines whether or not the target step is the last step of the control program (step S25). If the step is the last step of the control program (step S25; Yes), the trace execution unit 150 adds the value of the scan counter (step S26), and if it is not the last step (step S25; No), the step. Execute S27.

ステップS27で、トレース実行部150は、開発ツール500からトレースの停止指示を受けたか否かを判別する(ステップS27)。トレースの停止指示を受けていない場合(ステップS27;No)、再び、トレース実行部150は、ステップS21の処理を実行する。一方、トレースの停止指示を受けた場合は(ステップS27;Yes)、トレース実行部150は、トレース処理を終了する。以上がトレース処理である。上記のように、トレース実行部150がトレース処理を実行することにより、図5に示すようなログがPLC100のトレースログ記憶部160に格納されることになる。 In step S27, the trace execution unit 150 determines whether or not the trace stop instruction has been received from the development tool 500 (step S27). If the trace stop instruction has not been received (step S27; No), the trace execution unit 150 again executes the process of step S21. On the other hand, when the trace stop instruction is received (step S27; Yes), the trace execution unit 150 ends the trace process. The above is the trace process. As described above, when the trace execution unit 150 executes the trace processing, the log as shown in FIG. 5 is stored in the trace log storage unit 160 of the PLC 100.

ユーザがトレースの停止指示を出した後、トレースログを表示することを指示したとする。これに応答して、トレースログ読出部520は、PLC100から、トレースログと、インデックステーブル1401のデータと、制御プログラムを読み出す。トレースログ読出部520は、読み出したデータを表示部530に出力する。 Suppose the user gives an instruction to stop tracing and then instructs to display the trace log. In response to this, the trace log reading unit 520 reads the trace log, the data of the index table 1401 and the control program from the PLC 100. The trace log reading unit 520 outputs the read data to the display unit 530.

例えば、表示部530は、図5に示すようなトレースログが供給されたとする。図示する例では、1スキャン目にブロック0のステップ0とブロック1のステップ0とが実行され、2スキャン目にブロック0のステップ2とブロック1のステップ2とが実行されている。3スキャン目にブロック0のステップ0とブロック1のステップ2とが実行されている。表示部530は、スキャン1のトレースログから、図8Aに示すような画面を表示する。 For example, it is assumed that the display unit 530 is supplied with the trace log as shown in FIG. In the illustrated example, step 0 of block 0 and step 0 of block 1 are executed in the first scan, and step 2 of block 0 and step 2 of block 1 are executed in the second scan. In the third scan, step 0 of block 0 and step 2 of block 1 are executed. The display unit 530 displays a screen as shown in FIG. 8A from the trace log of scan 1.

ここでは、1回目のスキャンのログから、まずインデックス1が示すブロック0のステップ0が実行されたことをユーザが視認できるよう、表示部530は、図8Aに示すように、ユーザプログラム111を表示し、ブロック0のステップ0を網掛けで表示している。さらに、表示部530は、ブロック0のステップ0がこれまでに実行された回数を併せて表示する。図示する例では、1回目のスキャンより以前にはブロック0のステップ0は実行されていないため、ブロック0のステップ0には実行回数として“1”が表示されている。このように、表示部530は、ステップ番号の近傍に、ステップの実行回数を表示する。よって、ユーザは、ステップが何回実行されたかを視認することができる。さらに、表示部530はスキャン数を表示する。 Here, the display unit 530 displays the user program 111 as shown in FIG. 8A so that the user can visually recognize that the step 0 of the block 0 indicated by the index 1 has been executed from the log of the first scan. Then, step 0 of block 0 is shaded. Further, the display unit 530 also displays the number of times step 0 of block 0 has been executed so far. In the illustrated example, since step 0 of block 0 has not been executed before the first scan, “1” is displayed as the number of executions in step 0 of block 0. In this way, the display unit 530 displays the number of times the step is executed in the vicinity of the step number. Therefore, the user can visually recognize how many times the step has been executed. Further, the display unit 530 displays the number of scans.

ここで、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Bに示すような画面を表示する。図示する例では、表示部530は、次に実行されたステップであるブロック1のステップ0を網掛けで表示する。さらに、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Cに示すような画面を表示する。図示する例では、表示部530は、ブロック0のステップ2を網掛けで表示する。 Now suppose the user presses the "next step" button. In response to this, the display unit 530 displays a screen as shown in FIG. 8B. In the illustrated example, the display unit 530 displays the step 0 of the block 1, which is the next executed step, in a shaded manner. Further assume that the user presses the "next step" button. In response to this, the display unit 530 displays a screen as shown in FIG. 8C. In the illustrated example, the display unit 530 displays step 2 of the block 0 in a shaded manner.

ここで、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Dに示すような画面を表示する。図示する例では、表示部530は、次に実行されたステップであるブロック1のステップ2を網掛けで表示する。ここで、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Eに示すような画面を表示する。図示する例では、表示部530は、次に実行されたステップであるブロック0のステップ0を網掛けで表示する。2回目のスキャンの時点で、ブロック0のステップ0は2回実行されているため、ブロック0のステップ0には実行回数として“2”が表示されている。 Now suppose the user presses the "next step" button. In response to this, the display unit 530 displays a screen as shown in FIG. 8D. In the illustrated example, the display unit 530 displays the step 2 of the block 1, which is the next executed step, in a shaded manner. Now suppose the user presses the "next step" button. In response to this, the display unit 530 displays a screen as shown in FIG. 8E. In the illustrated example, the display unit 530 displays the step 0 of the block 0, which is the next executed step, in a shaded manner. Since step 0 of block 0 is executed twice at the time of the second scan, "2" is displayed as the number of executions in step 0 of block 0.

また、例えば、図8Eを表示している状態で、ユーザが「前のステップ」のボタンを押した場合、表示部530は、図8Dに示すような、前に実行されたステップを示す画面を表示する。 Further, for example, when the user presses the "previous step" button while displaying FIG. 8E, the display unit 530 displays a screen showing the previously executed step as shown in FIG. 8D. indicate.

開発ツール500が、このような態様で、トレースログを表示することで、ユーザはステップの実行経路を逐次確認することが可能となる。さらに、開発ツール500は、ステップ番号に対応付けて、ステップの実行回数を表示する。よって、ユーザは、ステップが何回実行されたかを視認することができる。 By displaying the trace log in such an manner by the development tool 500, the user can sequentially confirm the execution route of the steps. Further, the development tool 500 displays the number of times the step is executed in association with the step number. Therefore, the user can visually recognize how many times the step has been executed.

また、表示部530は、図9Aに示すように、各スキャンに実行されたステップを1つの画面上に表示するようにしてもよい。表示部530は、1スキャンで、ブロック0のステップ0、ブロック1のステップ1が実行されたことが視認可能なように、ブロック0のステップ0、ブロック1のステップ1を網掛けで表示する。さらに、表示部530は、各ステップが実行された順序を示す番号を表示する。図示する例は、1スキャンのトレースログを示す画面を表示しているが、例えば、ユーザがプルダウンを操作すると、表示部530は、指定されたスキャンのトレースログを示す画面を表示する。 Further, as shown in FIG. 9A, the display unit 530 may display the steps executed for each scan on one screen. The display unit 530 shades step 0 of block 0 and step 1 of block 1 so that it can be visually recognized that step 0 of block 0 and step 1 of block 1 have been executed in one scan. Further, the display unit 530 displays a number indicating the order in which each step is executed. In the illustrated example, a screen showing the trace log of one scan is displayed. For example, when the user operates a pull-down, the display unit 530 displays a screen showing the trace log of the specified scan.

また、表示部530は、図9Bに示すようなタイミングチャートを表示することもできる。図示する例では、1回目から4回目のスキャンが表示されているが、ユーザは、スクロールバーB1を動かすことで、5回目以降のスキャンでのタイミングチャートを表示することができる。また、図示する例では、ブロック0のステップ0から、ブロック2のステップ0までが表示されているが、ユーザは、スクロールバーB2を動かすことで、以降のステップのタイミングチャートを表示することができる。 The display unit 530 can also display a timing chart as shown in FIG. 9B. In the illustrated example, the first to fourth scans are displayed, but the user can display the timing chart for the fifth and subsequent scans by moving the scroll bar B1. Further, in the illustrated example, steps 0 of block 0 to step 0 of block 2 are displayed, but the user can display the timing chart of the subsequent steps by moving the scroll bar B2. ..

開発ツール500が、このような態様で、トレースログを表示することで、ユーザはステップの実行の経過を確認することが可能となる。 The development tool 500 displays the trace log in such an manner, so that the user can confirm the progress of the execution of the step.

以上説明したように、実施の形態に係るPLC100は、トレースログとして、スキャン数と、ステップを特定するインデックスとを対応づけて記録する。よって、ユーザは、プログラムのステップの実行経路及び実行回数を実行周期単位で確認することができる。 As described above, the PLC 100 according to the embodiment records the number of scans and the index that identifies the step in association with each other as a trace log. Therefore, the user can confirm the execution path and the number of executions of the steps of the program in units of execution cycles.

PLC100は、各ステップに制御プログラム内で一意な番号を振っているので、プログラムが、機能単位で複数のブロックに分けられており、異なるブロックにおいて、同じ番号が振られているステップが存在する場合であっても、ステップの実行経路及び実行回数のトレースが可能である。 Since the PLC100 assigns a unique number to each step in the control program, the program is divided into a plurality of blocks for each functional unit, and there are steps in which the same number is assigned in different blocks. Even so, it is possible to trace the execution path and the number of executions of the step.

また、トレースログに記録するステップを特定するステップ情報として、インデックスを使用することにより、例えば、ブロック番号とステップ番号とをトレースログに記録するよりも、トレースログを格納するのに要するメモリ容量を抑えることができる。 In addition, by using the index as the step information for specifying the step to be recorded in the trace log, for example, the memory capacity required to store the trace log can be determined rather than recording the block number and the step number in the trace log. It can be suppressed.

上記の実施の形態では、インデックスとして数値を使用する例を説明したが、これに限られない。例えば、図10に示すように、インデックスは、数値と文字とを含んでいてもよい。図示する例では、インデックスは、ブロック番号とステップ番号とを含み、例えば“B02S00”は、ブロック2のステップ0であることを示す。 In the above embodiment, an example of using a numerical value as an index has been described, but the present invention is not limited to this. For example, as shown in FIG. 10, the index may include numbers and letters. In the illustrated example, the index includes a block number and a step number, for example "B02S00" indicates step 0 of block 2.

実施の形態では、PLC100が、インデックスを命令それぞれに割り当てる例を説明したが、例えば、開発ツール500が、命令それぞれにインデックスに割り当て、例えば、図4に示すようなインデックステーブル1401のデータを作成し、作成したデータをPLC100に送信するようにしてもよい。 In the embodiment, the example in which the PLC 100 assigns the index to each instruction has been described. For example, the development tool 500 assigns the index to each instruction and creates, for example, the data of the index table 1401 as shown in FIG. , The created data may be transmitted to the PLC 100.

実施の形態では、トレースログ記憶部160の機能は、揮発性メモリ12により実現される例を説明したが、これに限られない。トレースログ記憶部160の機能は、不揮発性メモリにより実現されてもよい。不揮発性メモリとして、例えば、USB(Universal Serial Bus)メモリ、SD(Secure Digital)メモリカードといったフラッシュメモリを使用することができる。 In the embodiment, the function of the trace log storage unit 160 has been described as an example realized by the volatile memory 12, but the present invention is not limited to this. The function of the trace log storage unit 160 may be realized by a non-volatile memory. As the non-volatile memory, for example, a flash memory such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) memory card can be used.

実施の形態では、ファームウェアが、トレースの実行に必要な前処理を実行する機能と、制御プログラムのステップの実行をトレースする機能を備える例を説明したが、これに限られない。例えば、OS(Operating System)がこれらの機能を備えていてもよい。あるいは、PLC100の不揮発性メモリ11には、トレースの実行に必要な前処理を実行する機能をMPU15に実現させるプログラムと、制御プログラムのステップの実行をトレースする機能をMPU15に実現させるプログラムとが格納されていてもよい。この場合、MPU15が、これらのプログラムを実行することにより、トレースの実行に必要な前処理を実行する機能と、制御プログラムのステップの実行をトレースする機能とが実現される。あるいは、MPU15は、ネットワークを介して接続された他のコンピュータに格納されているプログラムを実行することによりこれらの機能を実現してもよい。 In the embodiment, an example has been described in which the firmware includes a function of executing the preprocessing necessary for executing the trace and a function of tracing the execution of the step of the control program, but the present invention is not limited to this. For example, the OS (Operating System) may have these functions. Alternatively, the non-volatile memory 11 of the PLC 100 stores a program that allows the MPU 15 to execute the preprocessing necessary for executing the trace, and a program that allows the MPU 15 to realize the function of tracing the execution of the steps of the control program. It may have been done. In this case, by executing these programs, the MPU 15 realizes a function of executing the preprocessing necessary for executing the trace and a function of tracing the execution of the steps of the control program. Alternatively, the MPU 15 may realize these functions by executing a program stored in another computer connected via the network.

上記のPLC100の機能を実現するプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。 As a recording medium for recording a program that realizes the above-mentioned functions of the PLC 100, a computer-readable recording medium including a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, a semiconductor memory, and a magnetic tape can be used.

また、PLC100の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、専用のハードウェアによって実現してもよい。例えば、専用のハードウェアとして、FPGA(Field Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)に代表される回路を使用してもよい。 Further, the means for realizing the functions of the PLC 100 is not limited to software, and a part or all thereof may be realized by dedicated hardware. For example, as dedicated hardware, a circuit typified by FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit) may be used.

本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。 The present invention allows for various embodiments and modifications without departing from the broad spirit and scope. Moreover, the above-described embodiment is for explaining the present invention, and does not limit the scope of the present invention. That is, the scope of the present invention is indicated not by the embodiment but by the claims. And various modifications made within the scope of the claims and within the equivalent meaning of the invention are considered to be within the scope of the present invention.

B1,B2 スクロールバー、11 不揮発性メモリ、12 揮発性メモリ、13 入出力インタフェース、14,54 接続インタフェース、15,140 MPU、19,59 バス、51 メモリ、52 入力装置、53 表示装置、55 CPU、100 プログラマブルロジックコントローラ(PLC)、110 プログラム記憶部、111 ユーザプログラム、120 プログラム実行部、130 トレース前処理部、140 インデックス情報記憶部、150 トレース実行部、160 トレースログ記憶部、500 開発ツール、510 トレース実行指示部、511 ログ表示プログラム、520 トレースログ読出部、530 表示部、701,702 接続ケーブル、801 検出器、802 被制御機器、1401,1402 インデックステーブル B1, B2 Scroll bar, 11 Non-volatile memory, 12 Volatile memory, 13 I / O interface, 14,54 connection interface, 15,140 MPU, 19,59 bus, 51 memory, 52 input device, 53 display device, 55 CPU , 100 Programmable Logic Controller (PLC), 110 Program Storage, 111 User Program, 120 Program Execution, 130 Trace Preprocessing, 140 Index Information Storage, 150 Trace Execution, 160 Trace Log Storage, 500 Development Tools, 510 Trace execution instruction unit, 511 log display program, 520 trace log reading unit, 530 display unit, 701,702 connection cable, 801 detector, 802 controlled device, 1401,1402 index table

Claims (8)

プログラマブルロジックコントローラ用のプログラミング言語であるシーケンシャル・ファンクション・チャートを用いて作成され、前記プログラマブルロジックコントローラが実行する処理を記述したステップを有する複数のブロックを含み、前記ステップが前記ブロックをまたがって並行して実行されるプログラムを繰り返し実行する実行手段と、
前記実行手段が前記プログラムを実行するのに先立って、前記プログラム内において前記ステップを一意に特定する情報であるステップ情報を生成し、生成した前記ステップ情報を、各前記ステップに割り当てる割当手段と、
前記実行手段が前記プログラムを実行している間に、前記ステップの実行経路を示すトレースログとして、実行された前記ステップを特定する前記ステップ情報を前記プログラムの実行が繰り返された回数である実行サイクル数と対応付けて記憶部に蓄積するログ記録手段と、を備え
前記プログラムの作成時に、各前記ブロックには前記ブロックを識別するブロック識別情報が、各前記ステップには前記ブロック内において前記ステップを識別するブロック内ステップ識別情報がそれぞれ割り当てられており、各前記ステップに割り当てられた前記ステップ情報は、そのステップに割り当てられているブロック内ステップ識別情報とは異なる情報であり、
同一のステップ情報が前記割当手段により割り当てられ、前記ブロックをまたがって並行して実行されるステップには、属する前記ブロック毎に固有のブロック内ステップ識別情報が割り当てられている、
プログラマブルロジックコントローラ。
Built using the sequential function chart is a programming language for the programmable logic controller, seen including a plurality of blocks having the steps describing the processing of the programmable logic controller performs, concurrently the step across the block Execution means to repeatedly execute the program to be executed
Prior to the execution of the program by the execution means , step information that is information that uniquely identifies the step in the program is generated, and the generated step information is assigned to each of the steps.
While the execution means is executing the program, as a trace log indicating the execution route of the step, the step information that identifies the executed step is the number of times the execution of the program is repeated. It is equipped with a log recording means that stores in the storage unit in association with the number .
At the time of creating the program, block identification information for identifying the block is assigned to each block, and in-block step identification information for identifying the step in the block is assigned to each step, and each step is assigned. The step information assigned to is different from the in-block step identification information assigned to the step.
The same step information is assigned by the allocation means, and in-block step identification information unique to each block to which the step belongs is assigned to the steps executed in parallel across the blocks.
Programmable logic controller.
前記ステップ情報を記憶するステップ情報記憶手段をさらに備え、
前記割当手段は、前記ステップそれぞれに、前記プログラム内において前記ステップを一意に特定することができる一意な値を割り当て、前記一意な値と、前記ブロック識別情報と、前記ブロック内ステップ識別情報と、を含むステップ情報を生成し、生成した前記ステップ情報を前記ステップ情報記憶手段に格納する、
請求項1に記載のプログラマブルロジックコントローラ。
Further provided with a step information storage means for storing the step information,
The assignment means are each the step assigns a unique value that can uniquely identify the step in said program, said a unique value, and the block identification information, wherein the block Uchisu Te' flop It generates step information including identification information and stores the generated step information in the step information storage means,
The programmable logic controller according to claim 1.
前記割当手段は、前記実行手段が前記プログラムを実行するのに先立って、生成した前記ステップ情報を前記ステップ情報記憶手段に格納する、
請求項2に記載のプログラマブルロジックコントローラ。
Said assigning means, said execution means preceding the execution of the program, stores the step information raw form has the step information storage means,
The programmable logic controller according to claim 2.
前記割当手段は、前記プログラマブルロジックコントローラに電源が投入され、前記プログラマブルロジックコントローラがイニシャル処理を実行するときに、前記ステップ情報を生成する、
請求項1または3に記載のプログラマブルロジックコントローラ。
The allocation means generates the step information when the programmable logic controller is powered on and the programmable logic controller executes the initial processing.
The programmable logic controller according to claim 1 or 3.
請求項2から4のいずれか1項に記載のプログラマブルロジックコントローラの前記記憶部から前記トレースログを読み出し、前記ステップ情報記憶手段から前記ステップ情報を読み出す読出手段と、
前記トレースログに含まれる前記ステップ情報から特定される前記ステップと、前記トレースログに含まれる前記実行サイクル数とを対応付けて表示する表示手段と、
を備えるコンピュータ。
A reading means for reading the trace log from the storage unit of the programmable logic controller according to any one of claims 2 to 4 and reading the step information from the step information storage means.
A display means for displaying the step specified from the step information included in the trace log in association with the number of execution cycles included in the trace log.
A computer equipped with.
前記表示手段は、
前記ステップを表すステップ番号に対応付けて、前記ステップが実行された実行サイクル数を表示した画像を表示する、
請求項5に記載のコンピュータ。
The display means
An image showing the number of execution cycles in which the step has been executed is displayed in association with the step number representing the step.
The computer according to claim 5.
プログラマブルロジックコントローラ用のプログラミング言語であるシーケンシャル・ファンクション・チャートを用いて作成され、前記プログラマブルロジックコントローラが実行する処理を記述したステップを有する複数のブロックを含み、前記ステップが前記ブロックをまたがって並行して実行されるプログラムを繰り返し実行するプログラマブルロジックコントローラが、前記プログラムを実行するのに先立って、前記ステップを一意に特定する情報であるステップ情報を、各前記ステップに割り当てる段階と、
前記プログラマブルロジックコントローラが前記プログラムを実行している間に、実行された前記ステップを特定する前記ステップ情報を前記プログラムの実行が繰り返された回数である実行サイクル数と対応付けて蓄積する段階と、を含み、
前記プログラムの作成時に、各前記ブロックには前記ブロックを識別するブロック識別情報が、各前記ステップには前記ブロック内において前記ステップを識別するブロック内ステップ識別情報がそれぞれ割り当てられており、各前記ステップに割り当てられた前記ステップ情報は、そのステップに割り当てられているブロック内ステップ識別情報とは異なる情報であり、
同一のステップ情報が割り当てられ、前記ブロックをまたがって並行して実行されるステップには、属する前記ブロック毎に固有のブロック内ステップ識別情報が割り当てられている、
方法。
Built using the sequential function chart is a programming language for the programmable logic controller, seen including a plurality of blocks having the steps describing the processing of the programmable logic controller performs, concurrently the step across the block the method comprising the programmable logic controller, prior to executing the program, uniquely step information is a specific information over the step, assigning to each of said step of repeatedly executing a program to be executed by,
While the programmable logic controller is executing the program, the step information for identifying the executed step is accumulated in association with the number of execution cycles which is the number of times the execution of the program is repeated. only including,
At the time of creating the program, block identification information for identifying the block is assigned to each block, and in-block step identification information for identifying the step in the block is assigned to each step, and each step is assigned. The step information assigned to is different from the in-block step identification information assigned to the step.
The same step information is assigned, and the step identification information in the block unique to each block to which the step belongs is assigned to the steps executed in parallel across the blocks.
Method.
プログラマブルロジックコントローラ用のプログラミング言語であるシーケンシャル・ファンクション・チャートを用いて作成され、前記プログラマブルロジックコントローラが実行する処理を記述したステップを有する複数のブロックを含み、前記ステップが前記ブロックをまたがって並行して実行されるプログラムを繰り返し実行するプログラマブルロジックコントローラに、
前記プログラムを実行するのに先立って、前記ステップを一意に特定する情報であるステップ情報を、各前記ステップに割り当てさせ、
前記プログラムを実行している間に、実行された前記ステップを特定する前記ステップ情報を前記プログラムの実行が繰り返された回数である実行サイクル数と対応付けて蓄積させ、
前記プログラムの作成時に、各前記ブロックには前記ブロックを識別するブロック識別情報が、各前記ステップには前記ブロック内において前記ステップを識別するブロック内ステップ識別情報がそれぞれ割り当てられており、各前記ステップに割り当てられた前記ステップ情報は、そのステップに割り当てられているブロック内ステップ識別情報とは異なる情報であり、
同一のステップ情報が割り当てられ、前記ブロックをまたがって並行して実行されるステップには、属する前記ブロック毎に固有のブロック内ステップ識別情報が割り当てられている、
プログラム。
Built using the sequential function chart is a programming language for the programmable logic controller, seen including a plurality of blocks having the steps describing the processing of the programmable logic controller performs, concurrently the step across the block In a programmable logic controller that repeatedly executes a program that is executed
Prior to executing the program, step information, which is information that uniquely identifies the step, is assigned to each step .
While the program is being executed, the step information that identifies the executed step is accumulated in association with the number of execution cycles, which is the number of times the execution of the program is repeated .
At the time of creating the program, block identification information for identifying the block is assigned to each block, and in-block step identification information for identifying the step in the block is assigned to each step, and each step is assigned. The step information assigned to is different from the in-block step identification information assigned to the step.
The same step information is assigned, and the step identification information in the block unique to each block to which the step belongs is assigned to the steps executed in parallel across the blocks.
program.
JP2020506380A 2019-05-23 2019-05-23 Programmable logic controllers, computers, methods, and programs Active JP6783034B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020513 WO2020235095A1 (en) 2019-05-23 2019-05-23 Programmable logic controller, computer, method, and program

Publications (2)

Publication Number Publication Date
JP6783034B1 true JP6783034B1 (en) 2020-11-11
JPWO2020235095A1 JPWO2020235095A1 (en) 2021-06-10

Family

ID=73043505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020506380A Active JP6783034B1 (en) 2019-05-23 2019-05-23 Programmable logic controllers, computers, methods, and programs

Country Status (3)

Country Link
JP (1) JP6783034B1 (en)
CN (1) CN113841093B (en)
WO (1) WO2020235095A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118475887A (en) * 2022-06-15 2024-08-09 三菱电机株式会社 Control system, programmable logic controller, visualization method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194508A (en) * 1995-01-12 1996-07-30 Nissin Electric Co Ltd Monitor controller
JP3015793B1 (en) * 1999-01-11 2000-03-06 株式会社東芝 Programmable controller
JP2001005504A (en) * 1999-06-18 2001-01-12 Mitsubishi Electric Corp Motion controller and peripheral equipment for motion controller
KR101889631B1 (en) * 2013-11-20 2018-08-17 미쓰비시덴키 가부시키가이샤 Device for assisting creation of sequence program
JP6087478B1 (en) * 2016-01-27 2017-03-01 三菱電機株式会社 Control device and editing device

Also Published As

Publication number Publication date
CN113841093A (en) 2021-12-24
CN113841093B (en) 2022-11-22
JPWO2020235095A1 (en) 2021-06-10
WO2020235095A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
US11656596B2 (en) Programmable logic controller and program creation supporting apparatus
US11188048B2 (en) Programmable logic controller and main unit
JP6786984B2 (en) Program processing equipment and programs
JP7320953B2 (en) Programmable logic controller and its log data storage method
JP6783034B1 (en) Programmable logic controllers, computers, methods, and programs
US11137740B2 (en) Numerical controller and method for determining look-ahead variable
JP7273935B2 (en) External setting device, logging setting method and program
CN109791398B (en) Debugging device
JP3805776B2 (en) Graphical programming device and programmable display
CN108345264B (en) Programmable controller
JP5051377B2 (en) Operation specification management method for program development support device
JP2020067752A (en) Programmable logic controller system, program creation assisting device, and computer program
JP2016045712A (en) Programmable logic controller
JP2010009497A (en) Display, control method for display, and control program for display
JP7212496B2 (en) Programmable logic controller system, programming support device and computer program
CN117785554A (en) Device power-down data retention method, system, device and readable storage medium
CN114174939A (en) Programmable logic controller, setting tool and program
JP6986125B2 (en) Programmable logic controller and main unit
JP4465176B2 (en) Editor device, program for causing computer to function as editor device, and recording medium
JP7405714B2 (en) programmable logic controller
JP6948450B2 (en) Programmable logic controller and main unit
JP6806946B2 (en) External setting devices and programs
JP7412076B2 (en) Engineering tools for programmable logic controllers
JP2006343818A (en) Debug method of program for teaching device
CN111459791A (en) Test pattern generating device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200205

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200908

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200917

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200929

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: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201020

R150 Certificate of patent or registration of utility model

Ref document number: 6783034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250