JP6783034B1 - Programmable logic controllers, computers, methods, and programs - Google Patents
Programmable logic controllers, computers, methods, and programs Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
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,
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
特許文献1に記載された構成では、ステップの番号を含むデータを順次蓄積し、蓄積されたデータに基づいて、実行経路及びトランジション・ステップの実行順序のタイムチャートを表示器に表示するので、蓄積したデータから、例えば、トレースを開始してから終了するまでの間において、ステップの実行順序をトレースすることは可能である。しかし、特許文献1に記載された構成では、制御プログラムの実行回数とステップの番号とを紐付けて蓄積しておらず、実行されたステップがタイムチャート表示されるだけである。しかし、工場内で実際に使用される制御プログラムは、多くのトランジション、ステップを含む複雑な制御プログラムであり、特許文献1に記載された技術では、制御プログラムの実行周期単位で、その実行周期内に実行されたステップの実行順序及び実行回数を把握することは、制御プログラムのデバッグを行うユーザにとって非常に困難であった。
In the configuration described 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.
以下、本発明の実施の形態に係るプログラマブルロジックコントローラ100について、図面を参照しつつ詳細に説明する。
Hereinafter, the
(実施の形態)
図1に示す、プログラマブルロジックコントローラ100は、制御システム、生産システム等において、検出器から供給された入力信号に従って、制御プログラムの命令を実行し、出力信号を被制御機器に供給し、被制御機器を制御する。検出器は、例えば、センサ、スイッチである。被制御機器は、例えば、アクチュエータ、電磁弁、表示灯である。(Embodiment)
The
プログラマブルロジックコントローラ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
実施の形態においては、PLC100は、シーケンシャル・ファンクション・チャート(以下、SFC)で記載された制御プログラムを実行する。PLC100は、制御プログラムの実行中に、ステップの実行経路をトレースする機能を備える。
In an embodiment, the
開発ツール500は、プログラムの作成機能を備える専用のアプリケーションプログラムをインストールしたパーソナルコンピュータである。開発ツール500は、プログラムの作成機能に加え、PLC100が記録したトレースログに基づき、ステップの実行経路を示す情報を表示する機能を有する。
The
図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
不揮発性メモリ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
ユーザプログラム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
入出力インタフェース13は、PLC100が検出器801及び被制御機器802と通信するための接続インタフェースである。入出力インタフェース13は、MPU15から供給されたデータを電気信号に変換し、接続ケーブル701を介して変換した信号を被制御機器802に送信する。また、入出力インタフェース13は、接続ケーブル701を介して検出器801から受信した電気信号をデータに復元してMPU15に出力する。
The input / output interface 13 is a connection interface for the
接続インタフェース14は、例えば、USBコントローラを含み、MPU15から供給されたデータを電気信号に変換し、接続ケーブル702を介して変換した信号を開発ツール500に送信する。また、接続インタフェース14は、接続ケーブル702を介して、開発ツール500が出力した電気信号を受信し、受信した電気信号をデータに復元してMPU15に出力する。接続ケーブル702は、例えば、USBケーブルである。
The
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
開発ツール500は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ51と、ユーザの入力操作を検出する入力装置52と、画像を表示する表示装置53と、PLC100と通信する接続インタフェース54と、開発ツール500全体を制御するCPU(Central Processing Unit)55とを有する。メモリ51と入力装置52と表示装置53と接続インタフェース54とは、バス59を介してCPU55に接続されており、CPU55と通信する。
As a hardware configuration, the
メモリ51は、揮発性メモリと不揮発性メモリとを含む。メモリ51は、開発ツール500の各種機能を実現するためのプログラムと、プログラムの実行時に使用されるデータとを記憶する。実施の形態においては、メモリ51は、ログ表示プログラム511を記憶する。ログ表示プログラム511は、トレースログを表示する機能をCPU55に実現させるプログラムである。さらに、メモリ51は、CPU55のワークメモリとして用いられる。
The
入力装置52は、キーボード、マウス等の入力装置を含み、ユーザの入力操作を検出し、検出したユーザの入力操作を示す信号をCPU55に供給する。表示装置53は、ディスプレイを含み、CPU55から供給された信号に基づいた画像をディスプレイに表示する。
The
接続インタフェース54は、例えば、USBコントローラを含み、CPU55から供給されたデータを電気信号に変換し、変換した信号を接続ケーブル702を介してPLC100に送信する。また、接続インタフェース54は、接続ケーブル702を介して、PLC100が出力した電気信号を受信し、受信した電気信号をデータに復元してCPU55に出力する。
The connection interface 54 includes, for example, a USB controller, converts data supplied from the
CPU55は、不揮発性メモリ11に記憶された各種プログラムを実行して、開発ツール500の各種機能を実現する。実施の形態においては、CPU55は、ログ表示プログラム511を実行して、PLC100が記録したトレースログを表示装置53に表示する。
The
続いて、図1を参照しながら、PLC100の機能的な構成を説明する。PLC100は、機能的には、制御プログラムを記憶するプログラム記憶部110と、制御プログラムを実行するプログラム実行部120と、制御プログラムの各ステップにインデックスを割り当てるトレース前処理部130と、インデックスに関するデータを記憶するインデックス情報記憶部140と、ステップの実行をトレースするトレース実行部150と、トレースログを記憶するトレースログ記憶部160とを含む。
Subsequently, the functional configuration of the
プログラム記憶部110は、PLC100が被制御機器を制御するため実行する制御プログラムを記憶する。制御プログラムは、図2に示すユーザプログラム111に相当するものである。プログラム記憶部110の機能は、図2に示す不揮発性メモリ11により実現される。
The program storage unit 110 stores a control program executed by the
図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
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
続いて、ブロック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
続いて、ブロック2が活性状態であれば、ブロック2の活性しているステップが実行され、ブロック2が非活性状態であれば、ブロック2のいずれのステップも実行されない。
Subsequently, if the
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
続いて、ブロック1が活性状態であれば、ブロック1の活性しているステップが実行され、ブロック1が非活性状態であれば、ブロック1のいずれのステップも実行されない。さらに、ブロック2が活性状態であれば、ブロック1の活性しているステップが実行され、ブロック2が非活性状態であれば、ブロック1のいずれのステップも実行されない。
Subsequently, if
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
図1に示すプログラム実行部120は、実行周期毎に制御プログラムを実行する。プログラム実行部120の機能は、図2に示すMPU15により実現される。プログラム実行部120は、本発明の実行手段の一例である。
The
図1に示すトレース前処理部130は、プログラム記憶部110が記憶する制御プログラム中のステップに一意な番号を振り、ステップと番号との対応を示すデータをインデックス情報記憶部140に格納する。具体的には、トレース前処理部130は、図3に示すようなユーザプログラム111の各ステップに、ユーザプログラム111内において一意となるシリアル番号を割り当てる。このシリアル番号をインデックスと称する。ステップにインデックスを割り当てる処理をインデックス割り当て処理と称することがある。トレース前処理部130は、インデックス割り当て処理を、例えば、電源が投入後のイニシャル処理の一部として実行する。トレース前処理部130の機能は、図2に示すMPU15より実現される。トレース前処理部130は、本発明の割当手段の一例である。
The
トレース前処理部130が、ステップにインデックスを割り当てるのは次のような理由による。上述のように、ユーザプログラム111の複数のブロックのステップは、同一スキャンにおいて並行して実行される。ステップは、ブロックをまたがって実行されるため、ユーザプログラム111の作成時に採番されたステップ番号だけを記録するのでは、ステップの実行経路と、ステップ毎の実行回数と、を特定することができない。
The
さらに、ユーザプログラム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
図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
具体的には、トレース実行部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
トレース実行部150は、プログラム実行部120がステップを実行すると、図4に示すインデックステーブル1401から、そのステップに割り当てられたインデックスを読み出し、スキャンカウンタの値が示すスキャンにおいて、インデックスの値が示すステップが実行されたことを示すログを、トレースログ記憶部160に格納する。トレース実行部150は、プログラム実行部120がステップを実行するたびに、ログをトレースログ記憶部160に格納する。また、トレース実行部150は、プログラム実行部120が、制御プログラムの最後のステップを実行すると、スキャンカウンタの値を加算する。プログラム実行部120が制御プログラムの1回のスキャンを終えたからである。
When the
トレースログ記憶部160は、トレース実行部150が記録したトレースログを示すデータを記憶する。図5に、トレースログ記憶部160に格納されているトレースログの一例を示す。図示する例では、スキャン回数ごとに、実行されたステップのインデックスが順次記録されている。一番左に記載されているインデックスがそのスキャンで最初に実行されたステップを示し、一番右に記載されているインデックスがそのスキャンで最後に実行されたステップを示すものとする。トレースログ記憶部160の機能は、図2に示す揮発性メモリ12により実現される。トレースログに含まれるスキャン回数は、本発明の実行サイクル数を特定する情報の一例である。
The trace
図1に示すように、開発ツール500は、機能的には、トレースの実行をPLC100に指示するトレース実行指示部510と、PLC100からトレースログを含むデータを読み出すトレースログ読出部520と、トレースログに基づいてトレースの結果を表示する表示部530とを含む。
As shown in FIG. 1, the
トレース実行指示部510は、ユーザからトレースの実行開始の指示を受け付けると、PLC100にプログラムのトレースの実行の開始指示を出力する。また、トレース実行指示部510は、ユーザからの指示を受け付け、PLC100にトレースの実行を停止するよう指示を出す。トレース実行指示部510の機能は、図2に示す入力装置52と、接続インタフェース54と、CPU55とにより実現される。
When the trace
トレースログ読出部520は、ユーザからトレースログの読み出しの指示を受け付けると、トレースログ及びログの表示に必要なデータをPLC100から読み出す。具体的には、トレースログ読出部520は、PLC100のトレースログ記憶部160に格納されているトレースログと、インデックス情報記憶部140に格納されているインデックステーブル1401のデータと、プログラム記憶部110に格納されている制御プログラムを読み出し、読み出した制御プログラムを表示部530に出力する。トレースログ読出部520の機能は、図2に示す入力装置52と、接続インタフェース54と、CPU55とにより実現される。トレースログ読出部520は、本発明の読出手段の一例である。
When the trace
表示部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
次に、トレース前処理部130が、トレースに先立って制御プログラムのステップそれぞれにインデックスを割り当てる処理を説明する。トレース前処理部130は、PLC100のイニシャル処理の一部として、下記のインデックス割り当て処理を実行する。
Next, a process in which the
図6に示すように、トレース前処理部130は、制御プログラム内の全てのステップにインデックスを割り当てるまで(ステップS11;No)、次のステップにインデックスを割り当て、インデックスと、ステップの属するブロック番号と、ステップのステップ番号とを、図4に示すインデックステーブル1401に格納する(ステップS12)。トレース前処理部130は、制御プログラム内の全てのステップにインデックスを割り当てると(ステップS11;Yes)、インデックス割り当て処理を終了する。以上がインデックス割り当て処理である。
As shown in FIG. 6, the
続いて、トレース実行部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
図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
トレース実行部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
ユーザがトレースの停止指示を出した後、トレースログを表示することを指示したとする。これに応答して、トレースログ読出部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
例えば、表示部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
ここでは、1回目のスキャンのログから、まずインデックス1が示すブロック0のステップ0が実行されたことをユーザが視認できるよう、表示部530は、図8Aに示すように、ユーザプログラム111を表示し、ブロック0のステップ0を網掛けで表示している。さらに、表示部530は、ブロック0のステップ0がこれまでに実行された回数を併せて表示する。図示する例では、1回目のスキャンより以前にはブロック0のステップ0は実行されていないため、ブロック0のステップ0には実行回数として“1”が表示されている。このように、表示部530は、ステップ番号の近傍に、ステップの実行回数を表示する。よって、ユーザは、ステップが何回実行されたかを視認することができる。さらに、表示部530はスキャン数を表示する。
Here, the
ここで、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Bに示すような画面を表示する。図示する例では、表示部530は、次に実行されたステップであるブロック1のステップ0を網掛けで表示する。さらに、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部530は、図8Cに示すような画面を表示する。図示する例では、表示部530は、ブロック0のステップ2を網掛けで表示する。
Now suppose the user presses the "next step" button. In response to this, the
ここで、ユーザが「次のステップ」のボタンを押したとする。これに応答して、表示部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
また、例えば、図8Eを表示している状態で、ユーザが「前のステップ」のボタンを押した場合、表示部530は、図8Dに示すような、前に実行されたステップを示す画面を表示する。
Further, for example, when the user presses the "previous step" button while displaying FIG. 8E, the
開発ツール500が、このような態様で、トレースログを表示することで、ユーザはステップの実行経路を逐次確認することが可能となる。さらに、開発ツール500は、ステップ番号に対応付けて、ステップの実行回数を表示する。よって、ユーザは、ステップが何回実行されたかを視認することができる。
By displaying the trace log in such an manner by the
また、表示部530は、図9Aに示すように、各スキャンに実行されたステップを1つの画面上に表示するようにしてもよい。表示部530は、1スキャンで、ブロック0のステップ0、ブロック1のステップ1が実行されたことが視認可能なように、ブロック0のステップ0、ブロック1のステップ1を網掛けで表示する。さらに、表示部530は、各ステップが実行された順序を示す番号を表示する。図示する例は、1スキャンのトレースログを示す画面を表示しているが、例えば、ユーザがプルダウンを操作すると、表示部530は、指定されたスキャンのトレースログを示す画面を表示する。
Further, as shown in FIG. 9A, the
また、表示部530は、図9Bに示すようなタイミングチャートを表示することもできる。図示する例では、1回目から4回目のスキャンが表示されているが、ユーザは、スクロールバーB1を動かすことで、5回目以降のスキャンでのタイミングチャートを表示することができる。また、図示する例では、ブロック0のステップ0から、ブロック2のステップ0までが表示されているが、ユーザは、スクロールバーB2を動かすことで、以降のステップのタイミングチャートを表示することができる。
The
開発ツール500が、このような態様で、トレースログを表示することで、ユーザはステップの実行の経過を確認することが可能となる。
The
以上説明したように、実施の形態に係るPLC100は、トレースログとして、スキャン数と、ステップを特定するインデックスとを対応づけて記録する。よって、ユーザは、プログラムのステップの実行経路及び実行回数を実行周期単位で確認することができる。
As described above, the
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
実施の形態では、PLC100が、インデックスを命令それぞれに割り当てる例を説明したが、例えば、開発ツール500が、命令それぞれにインデックスに割り当て、例えば、図4に示すようなインデックステーブル1401のデータを作成し、作成したデータをPLC100に送信するようにしてもよい。
In the embodiment, the example in which the
実施の形態では、トレースログ記憶部160の機能は、揮発性メモリ12により実現される例を説明したが、これに限られない。トレースログ記憶部160の機能は、不揮発性メモリにより実現されてもよい。不揮発性メモリとして、例えば、USB(Universal Serial Bus)メモリ、SD(Secure Digital)メモリカードといったフラッシュメモリを使用することができる。
In the embodiment, the function of the trace
実施の形態では、ファームウェアが、トレースの実行に必要な前処理を実行する機能と、制御プログラムのステップの実行をトレースする機能を備える例を説明したが、これに限られない。例えば、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
上記のPLC100の機能を実現するプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
As a recording medium for recording a program that realizes the above-mentioned functions of the
また、PLC100の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、専用のハードウェアによって実現してもよい。例えば、専用のハードウェアとして、FPGA(Field Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)に代表される回路を使用してもよい。
Further, the means for realizing the functions of the
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。 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.
前記トレースログに含まれる前記ステップ情報から特定される前記ステップと、前記トレースログに含まれる前記実行サイクル数とを対応付けて表示する表示手段と、
を備えるコンピュータ。 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.
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)
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)
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 |
-
2019
- 2019-05-23 JP JP2020506380A patent/JP6783034B1/en active Active
- 2019-05-23 CN CN201980096578.2A patent/CN113841093B/en active Active
- 2019-05-23 WO PCT/JP2019/020513 patent/WO2020235095A1/en active Application Filing
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 |