JP6076565B1 - Program diagnostic apparatus, program diagnostic method, and program diagnostic program - Google Patents
Program diagnostic apparatus, program diagnostic method, and program diagnostic program Download PDFInfo
- Publication number
- JP6076565B1 JP6076565B1 JP2016555855A JP2016555855A JP6076565B1 JP 6076565 B1 JP6076565 B1 JP 6076565B1 JP 2016555855 A JP2016555855 A JP 2016555855A JP 2016555855 A JP2016555855 A JP 2016555855A JP 6076565 B1 JP6076565 B1 JP 6076565B1
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- search
- condition
- control program
- unit
- 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
- 238000000034 method Methods 0.000 claims description 43
- 238000004088 simulation Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
Abstract
動作命令及び条件命令を含む制御プログラムと、命令の命令名、命令の種別及び命令の処理の内容を含む命令仕様データと、制御プログラムに対して実行される検索の結果が蓄積される検索結果データと、を記憶する記憶部と、ターゲットの変数を設定する変数設定部と、ターゲットの変数の値が変化する可能性がある動作命令を検索して、ターゲットの変数名、並びに、検索された動作命令の命令名、命令の種別及び処理の内容を検索結果データに書き込む動作検索部と、動作命令を実行する条件を判定する条件命令を検索して、検索された条件命令の引数の変数名、並びに、条件命令の命令名、命令の種別及び処理の内容を検索結果データに書き込み、条件命令の引数を新たなターゲットの変数に設定する条件検索部と、動作検索部及び条件検索部に検索を再度実行させる検索判定部と、検索結果データの内容を一覧表示する一覧表示部と、を備える。Control program including operation instruction and conditional instruction, instruction specification data including instruction name, instruction type and instruction processing content, and search result data for storing search results executed for control program And a storage unit for storing the target variable, a variable setting unit for setting the target variable, and an operation instruction that may change the value of the target variable, and the target variable name and the searched operation An operation search unit that writes the instruction name of the instruction, the instruction type, and the processing content to the search result data; a condition instruction that determines a condition for executing the operation instruction; a variable name of an argument of the searched condition instruction; A condition search unit that writes the command name of the conditional command, the command type, and the processing content to the search result data, and sets an argument of the conditional command as a new target variable; an operation search unit; It includes a search determination unit in the matter search unit to perform the search again, and the list display unit that lists the contents of the search result data, the.
Description
本発明は、制御プログラムを診断するプログラム診断装置、プログラム診断方法及びプログラム診断プログラムに関する。 The present invention relates to a program diagnostic apparatus, a program diagnostic method, and a program diagnostic program for diagnosing a control program.
FA(Factory Automation)分野で機械を制御する制御システムでは、制御プログラムはプログラム言語で記述される。プログラム言語は、ラダー(Ladder、LD)言語又はストラクチャードテキスト(Structured Text、ST)言語(IEC 61131−3、JIS B 3503:2012)が例示される。 In a control system for controlling a machine in the FA (Factory Automation) field, a control program is described in a program language. Examples of the programming language include a ladder (LD) language or a structured text (ST) language (IEC 61131-3, JIS B 3503: 2012).
制御プログラムは、命令及び変数を含む。制御プログラム内のある変数の値が、想定している値と異なった場合に、その原因を調査するためには、以下の操作が手動で行われていた。 The control program includes instructions and variables. In order to investigate the cause when the value of a certain variable in the control program is different from the expected value, the following operation was performed manually.
第1の操作は、制御プログラムを遡り、ターゲットの変数の値を変化させる可能性がある箇所及び条件を調べる操作である。 The first operation is an operation that goes back through the control program and examines a location and a condition that may change the value of the target variable.
第2の操作は、制御プログラムをシミュレーション実行し、第1の操作で調べた箇所で条件が満たされることを再現する操作である。 The second operation is an operation for reproducing that the condition is satisfied at the location examined in the first operation by executing a simulation of the control program.
第3の操作は、更に制御プログラムを遡り、第2の操作で再現した条件を満たす箇所及び条件を調べる操作である。 The third operation is an operation that further goes back in the control program and examines a location and a condition that satisfy the conditions reproduced in the second operation.
以降、第2の操作及び第3の操作を繰り返し、根本となる原因を探していた。 Thereafter, the second operation and the third operation were repeated to search for the root cause.
しかし、手動で制御プログラムを遡って調べていくことは、時間及び労力が掛かるので、変数の値が想定している値と異なったことの原因の特定は困難であった。 However, manually examining the control program retrospectively takes time and effort, so it is difficult to identify the cause of the difference between the variable value and the expected value.
関連する技術として、下記の特許文献1には、出力信号が異常接点であると検知された場合、該出力信号からラダープログラムを前のステップに戻って行き、1つ1つの接点状態を確認しながら不具合接点を特定するカバレッジ診断を行う、ラダープログラム診断方法が記載されている(段落0053)。
As a related technique, in the following
また、下記の特許文献2には、出力命令部の異常を検索キーとして、この値を操作可能な出力命令部を含んだブロックをラダープログラム内の全ブロック中から発見する第1の過程と、第1の過程において探し出されたブロックの条件命令部の論理演算を行い、この条件命令部の論理演算結果に対応するこのブロックの出力命令部の状態を判定し、このブロックが上記異常な出力命令部の状態を真に操作しているか否かの正当性判定を行う第2の過程と、第2の過程においてブロックが正当な場合に、このブロックの条件命令部の中からその出力命令部の状態を操作可能なリレーをすべて探す第3の過程と、第3の過程で探し出されたリレーを次の検索キーとして第1,第2及び第3の過程を繰り返す第4の過程と、第1の過程において該当するブロックが見つからなかった場合に、その旨の結果を出力すると共に、第3の過程において該当するリレーが見つからなかった場合にその条件命令部内のリレーを異常原因とする結果を出力する第5の過程と、を有するラダーシーケンス方式のプログラムにおける異常の原因箇所究明方法が記載されている(第4頁から第5頁)。
Further, in
また、下記の特許文献3には、シーケンス図取得部が動作状態のシーケンス図を取得し、選択部が動作シーケンス図の中の所望するシンボルを選択することによって、そのシンボルに関連する上流の接続線を接続線検索部が芋づる式に検索し、動作状態の出力の有無を容易に得ることができると共に、動作状態が変化しても、そのデータを読み込んで不良部分の検索を順次行うことができるシーケンス図モニターが記載されている(要約書)。
Further, in
しかしながら、特許文献1から3に記載の技術では、ユーザは、問題の原因となった接点を知ることはできるが、問題の原因となった接点から問題が発生した接点までの間の命令を知ることができない。従って、ユーザが問題の全体像を把握することは、困難であった。
However, in the techniques described in
本発明は、上記に鑑みてなされたものであって、ユーザが問題の全体像を把握することを容易にすることができるプログラム診断装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a program diagnostic apparatus that can make it easy for a user to grasp the overall image of a problem.
上述した課題を解決し、目的を達成するために、本発明は、引数の値を変化させる動作命令及び動作命令を実行する条件を判定する条件命令を含む制御プログラムと、制御プログラムで記述され得る命令の命令名、動作命令又は条件命令の種別、並びに、命令の処理の内容を含む命令仕様データと、制御プログラムに対して実行される検索の結果が蓄積される検索結果データと、を記憶する記憶部を備える。本発明は、ターゲットの変数を設定する変数設定部と、ターゲットの変数の値が変化する可能性がある動作命令を制御プログラムの中から検索して、検索された動作命令と命令仕様データとを照合し、ターゲットの変数名、並びに、検索された動作命令の命令名、命令の種別及び処理の内容を検索結果データに書き込む動作検索部と、動作検索部で検索された動作命令を実行する条件を判定する条件命令を制御プログラムの中から検索して、検索された条件命令と命令仕様データとを照合し、検索された条件命令の引数の変数名、並びに、検索された条件命令の命令名、命令の種別及び処理の内容を検索結果データに書き込み、検索された条件命令の引数を新たなターゲットの変数に設定する条件検索部と、動作検索部及び条件検索部に検索を再度実行させる検索判定部と、検索結果データの内容を一覧表示する一覧表示部と、を備える。 In order to solve the above-described problem and achieve the object, the present invention can be described by a control program including an operation instruction for changing an argument value and a condition instruction for determining a condition for executing the operation instruction, and the control program Stores instruction specification data including the instruction name of the instruction, the type of operation instruction or conditional instruction, and the processing contents of the instruction, and search result data in which search results executed for the control program are accumulated. A storage unit is provided. The present invention searches a control program for a variable setting unit that sets a target variable, an operation instruction that may change the value of the target variable, and obtains the searched operation instruction and instruction specification data. A condition for executing the operation command searched by the operation search unit and the operation search unit that collates and writes the target variable name, the command name of the searched operation command, the type of the command, and the processing content to the search result data The conditional instruction for determining the condition is searched from the control program, the searched conditional instruction is compared with the instruction specification data, the variable name of the argument of the searched conditional instruction, and the instruction name of the searched conditional instruction Writes the command type and processing contents to the search result data, sets the argument of the searched conditional command to a new target variable, searches the operation search unit and the condition search unit It comprises a search determination unit to be executed again, and the list display unit for displaying a list of contents of the search result data.
本発明にかかるプログラム診断装置は、ユーザが問題の全体像を把握することを容易にすることができるという効果を奏する。 The program diagnostic apparatus according to the present invention has an effect that the user can easily grasp the whole image of the problem.
以下に、本発明の実施の形態にかかるプログラム診断装置、プログラム診断方法及びプログラム診断プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Hereinafter, a program diagnosis apparatus, a program diagnosis method, and a program diagnosis program according to embodiments of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
図1は、本発明の実施の形態1にかかる制御システムの構成を示す図である。制御システム1は、エンジニアリングツール2と、制御装置3と、機械4及び5と、を含む。
FIG. 1 is a diagram illustrating a configuration of a control system according to the first embodiment of the present invention. The
エンジニアリングツール2は、制御装置3で実行される制御プログラムを含むプロジェクトデータを作成して、制御装置3に送信する。制御装置3は、プロジェクトデータに含まれる制御プログラムを実行することにより、機械4及び5を制御する。制御装置3は、プログラマブルコントローラ(JIS B 3502:2011、programmable controllers(PLC))が例示される。
The
図2は、実施の形態1にかかる制御装置のハードウェア構成を示す図である。制御装置3は、メイン基板3aと、サブ基板3b及び3cと、を含む。
FIG. 2 is a diagram illustrating a hardware configuration of the control device according to the first embodiment. The
メイン基板3aは、CPU(Central Processing Unit)3a1と、RAM(Random Access Memory)であるメモリ3a2と、通信インタフェース3a3と、バスインタフェース3a4と、記憶部3a5と、を含む。CPU3a1、メモリ3a2、通信インタフェース3a3、バスインタフェース3a4及び記憶部3a5は、内部バスB1を介して接続されている。 The main board 3a includes a CPU (Central Processing Unit) 3a1, a memory 3a2 that is a RAM (Random Access Memory), a communication interface 3a3, a bus interface 3a4, and a storage unit 3a5. The CPU 3a1, the memory 3a2, the communication interface 3a3, the bus interface 3a4, and the storage unit 3a5 are connected via an internal bus B1.
通信インタフェース3a3は、エンジニアリングツール2と通信を行う。
The communication interface 3a3 communicates with the
バスインタフェース3a4は、内部バスB1と拡張バスB2とを連絡するバスブリッジ回路である。サブ基板3b及び3cは、拡張バスB2を介して、メイン基板3aに接続されている。サブ基板3bは、機械4に接続されている。サブ基板3cは、機械5に接続されている。
The bus interface 3a4 is a bus bridge circuit that connects the internal bus B1 and the expansion bus B2. The
記憶部3a5は、エンジニアリングツール2から受信したプロジェクトデータ24aを記憶する。記憶部3a5は、SSD(Solid State Drive)又はHDD(Hard Disk Drive)が例示される。
The storage unit 3a5 stores the
プロジェクトデータ24aは、引数の値を変化させる動作命令及び動作命令を実行する条件を判定する条件命令を含む制御プログラム24a1と、制御プログラム24a1の実行時に参照される制御パラメータ24a2と、メモリ3a2内の作業領域を規定するデバイスメモリ24a3と、サブ基板3bと機械4との接続関係及びサブ基板3cと機械5との接続関係を規定する接続情報24a4と、を含む。
The
制御プログラム24a1は、MAIN(メイン)プログラム24a1aと、SUB(サブ)プログラム24a1bと、を含む。実施の形態1では、制御プログラム24a1は、ラダー言語で記述されているものとするが、これに限定されない。制御プログラム24a1が記述される他の言語は、ストラクチャードテキスト言語が例示される。 The control program 24a1 includes a MAIN (main) program 24a1a and a SUB (sub) program 24a1b. In the first embodiment, the control program 24a1 is described in a ladder language, but the present invention is not limited to this. As another language in which the control program 24a1 is described, a structured text language is exemplified.
メモリ3a2内には、デバイスメモリ24a3で規定される複数のデバイスが確保される。実施の形態1では、メモリ3a2内の複数のデバイスの各々は、制御プログラム24a1の変数に対応する。 A plurality of devices defined by the device memory 24a3 are secured in the memory 3a2. In the first embodiment, each of the plurality of devices in the memory 3a2 corresponds to a variable of the control program 24a1.
図3は、実施の形態1にかかるエンジニアリングツールのハードウェア構成を示す図である。実施の形態1にかかるエンジニアリングツール2は、コンピュータを利用して実現可能である。コンピュータは、CPU21と、RAM22と、ROM(Read Only Memory)23と、記憶部24と、入力部25と、表示部26と、通信インタフェース27と、を含む。CPU21、RAM22、ROM23、記憶部24、入力部25、表示部26及び通信インタフェース27は、バスBを介して接続されている。
FIG. 3 is a diagram illustrating a hardware configuration of the engineering tool according to the first embodiment. The
CPU21は、RAM22を作業領域として使用しながら、ROM23及び記憶部24に記憶されているプログラムを実行する。ROM23に記憶されているプログラムは、BIOS(Basic Input/Output System)又はUEFI(Unified Extensible Firmware Interface)が例示される。記憶部24に記憶されているプログラムは、オペレーティングシステムプログラム及びエンジニアリングツールプログラムが例示される。記憶部24は、SSD又はHDDが例示される。
The CPU 21 executes programs stored in the
入力部25は、ユーザからの操作入力を受け付ける。入力部25は、キーボード又はマウスが例示される。表示部26は、文字及び画像を表示する。表示部26は、液晶表示装置が例示される。通信インタフェース27は、制御装置3と通信を行う。
The
図4は、実施の形態1にかかるエンジニアリングツールの機能ブロックを示す図である。記憶部24は、プロジェクトデータ24aを記憶する。
FIG. 4 is a diagram of functional blocks of the engineering tool according to the first embodiment. The
プロジェクトデータ24aは、引数の値を変化させる動作命令及び動作命令を実行する条件を判定する条件命令を含む制御プログラム24a1と、制御プログラム24a1の実行時に参照される制御パラメータ24a2と、制御装置3のメモリ3a2内の作業領域を規定するデバイスメモリ24a3と、制御装置3のサブ基板3bと機械4との接続関係及び制御装置3のサブ基板3cと機械5との接続関係を規定する接続情報24a4と、を含む。
The
記憶部24は、制御プログラム24a1で記述され得る全ての命令の命令名、動作命令又は条件命令の種別並びに命令の処理の内容を含む命令仕様データ24bを記憶する。
The
実施の形態1では、制御プログラム24a1は、ラダー言語で記述されている。従って、命令仕様データ24bは、ラダー言語の全ての命令の命令名、動作命令又は条件命令の種別並びに命令の処理の内容を含む。
In the first embodiment, the control program 24a1 is described in a ladder language. Therefore, the
図5は、実施の形態1にかかるエンジニアリングツールの命令仕様データを示す図である。命令仕様データ24bは、命令名の項目24b1と、命令種別の項目24b2と、説明文の項目24b3と、備考の項目24b4と、を含む。
FIG. 5 is a diagram of instruction specification data of the engineering tool according to the first embodiment. The
命令仕様データ24bの行51は、「LD」(ロード)命令に関する情報を含む。行51の命令名の項目には、命令名「LD」が記述されている。行51の命令種別の項目には、LD命令が条件命令であるので、命令種別「条件」が記述されている。
The
行51の説明文の項目には、「LD」命令の動作の説明が記述されている。「LD」命令は第1引数がON(オン)しているか否かを判定する命令であるので、行51の説明文の項目には、説明文「#1がONしている」が記述されている。
In the description item of the
行51の備考の項目には、「LD」命令の第1引数のデータ型が記述されている。「LD」命令の第1引数はビット型であるので、行51の備考の項目には、備考「ビット変数」が記述されている。
In the remarks item on
命令仕様データ24bの行52は、「OUT」(アウト)命令に関する情報を含む。行52の命令名の項目には、命令名「OUT」が記述されている。行52の命令種別の項目には、OUT命令が動作命令であるので、命令種別「動作」が記述されている。
The
行52の説明文の項目には、「OUT」命令の動作の説明が記述されている。「OUT」命令は第1引数をON(オン)する命令であるので、行52の説明文の項目には、説明文「#1をONする」が記述されている。
In the explanation item of the
行52の備考の項目には、「OUT」命令の第1引数のデータ型が記述されている。「OUT」命令の第1引数はビット型であるので、行52の備考の項目には、備考「ビット変数」が記述されている。
In the remarks item on the
命令仕様データ24bの行53は、「=」(イコール)命令に関する情報を含む。行53の命令名の項目には、命令名「=」が記述されている。行53の命令種別の項目には、「=」命令が条件命令であるので、命令種別「条件」が記述されている。
The line 53 of the
行53の説明文の項目には、「=」命令の動作の説明が記述されている。「=」命令は第1引数と第2引数とが等しいか否かを判定する命令であるので、行53の説明文の項目には、説明文「#1が#2と等しい」が記述されている。 In the description item of the line 53, the description of the operation of the “=” instruction is described. Since the “=” instruction is an instruction for determining whether or not the first argument and the second argument are equal, the description “# 1 is equal to # 2” is described in the item of the description in line 53. ing.
行53の備考の項目には、「=」命令の第1引数及び第2引数のデータ型が記述されている。「=」命令の第1引数及び第2引数はワード型であるので、行53の備考の項目には、備考「ワード変数」が記述されている。 The remarks item on line 53 describes the data types of the first argument and the second argument of the “=” instruction. Since the first argument and the second argument of the “=” instruction are of the word type, a remark “word variable” is described in the remarks item of the line 53.
命令仕様データ24bの行54は、「MOV」(ムーブ)命令に関する情報を含む。行54の命令名の項目には、命令名「MOV」が記述されている。行54の命令種別の項目には、「MOV」命令が条件命令であるので、命令種別「動作」が記述されている。
The row 54 of the
行54の説明文の項目には、「MOV」命令の動作の説明が記述されている。「MOV」命令は第1引数の値を第2引数に転送する命令であるので、行54の説明文の項目には、説明文「#1が#2に転送される」が記述されている。 In the description item of the line 54, an explanation of the operation of the “MOV” instruction is described. Since the “MOV” instruction is an instruction for transferring the value of the first argument to the second argument, the explanation item “# 1 is transferred to # 2” is described in the explanation item of the line 54. .
行54の備考の項目には、「MOV」命令の第1引数及び第2引数のデータ型が記述されている。「MOV」命令の第1引数及び第2引数はワード型であるので、行54の備考の項目には、備考「ワード変数」が記述されている。 In the remarks item on line 54, the data types of the first argument and the second argument of the “MOV” instruction are described. Since the first argument and the second argument of the “MOV” instruction are of the word type, the remark “word variable” is described in the remarks item of the line 54.
図5では、4つの命令に関する4つの行51,52,53及び54を示した。しかし、実際には、命令仕様データ24bは、ラダー言語で記述される全ての命令に関する複数の行を含む。
In FIG. 5, four
再び図4を参照すると、記憶部24は、制御プログラム24a1に対して実行される検索の終了条件が記述された検索終了条件データ24cを記憶する。検索終了条件データ24cは、検索回数データ24c1と、検索範囲データ24c2と、を含む。
Referring to FIG. 4 again, the
図6は、実施の形態1にかかるエンジニアリングツールの検索回数データを示す図である。検索回数データ24c1には、「10」が記述されている。これにより、制御プログラム24aに対して実行される検索は、最大10回までで終了する。
FIG. 6 is a diagram of search frequency data of the engineering tool according to the first embodiment. “10” is described in the search count data 24c1. Thereby, the search performed with respect to the
図7は、実施の形態1にかかるエンジニアリングツールの検索範囲データを示す図である。検索範囲データ24c2は、範囲先頭ステップ番号の項目と、範囲末尾ステップ番号の項目と、を含む。範囲先頭ステップ番号の項目には、「1」が記述されている。範囲末尾ステップ番号の項目には、「100」が記述されている。これにより、制御プログラム24a1に対して実行される検索は、ステップ番号1からステップ番号100までの範囲に限られ、この範囲から外れたら終了する。
FIG. 7 is a diagram illustrating search range data of the engineering tool according to the first embodiment. The search range data 24c2 includes a range start step number item and a range end step number item. “1” is described in the item of the range top step number. In the range end step number item, “100” is described. As a result, the search executed for the control program 24a1 is limited to the range from
再び図4を参照すると、記憶部24は、制御プログラム24a1に対して実行される検索の結果が蓄積される検索結果データ24dを記憶する。
Referring to FIG. 4 again, the
図8は、実施の形態1にかかるエンジニアリングツールの検索結果データを示す図である。検索結果データ24dは、変数名の項目24d1と、命令名の項目24d2と、命令種別の項目24d3と、説明文の項目24d4と、プログラム名の項目24d5と、ステップ番号の項目24d6と、を含む。
FIG. 8 is a diagram of search result data of the engineering tool according to the first embodiment. The
検索結果データ24dの行61,62,63及び64については、エンジニアリングツール2の動作の説明の中で説明する。
The
再び図4を参照すると、記憶部24は、制御プログラム24a1で使用されている全変数の予め定められたタイミングでの値が蓄積される実行データ24eを記憶する。つまり、実行データ24eは、複数の異なるタイミングでの全変数の値が蓄積される。
Referring to FIG. 4 again, the
検索結果データ24dについては、エンジニアリングツール2の動作の説明の中で説明する。
The
CPU21は、記憶部24に記憶されたエンジニアリングツールプログラムを実行する。これにより、プロジェクトデータ作成部21a1及びプログラム診断部21a2を含むエンジニアリングツール部21aが実現される。
The CPU 21 executes the engineering tool program stored in the
プロジェクトデータ作成部21a1は、プロジェクトデータ24aを作成して、制御装置3に送信する。
The project data creation unit 21a1 creates
図9は、実施の形態1にかかるエンジニアリングツールのプロジェクトデータ作成画面を示す図である。プロジェクトデータ作成部21a1は、プロジェクトデータ作成画面30を表示部26に表示させる。
FIG. 9 is a diagram illustrating a project data creation screen of the engineering tool according to the first embodiment. The project data creation unit 21a1 displays the project
プロジェクトデータ作成画面30は、制御プログラム作成欄30aを有する。図9では、制御プログラム作成欄30a内に、MAINプログラム24a1aが作成されている。
The project
MAINプログラム24a1aは、行41,42,43,44,45及び46を含む。
The MAIN program 24a1a includes
行41は、条件命令41aと、動作命令41bと、を含む。条件命令41aは、「LD M0」である。この中の「M0」は、変数である。実施の形態1において、英字「M」と、数値と、の結合は、ビット型の変数を表す。
The
動作命令41bは、「INC D0」である。この中の「D0」は、変数である。実施の形態1において、英字「D」と、数値と、の結合は、ワード型の変数を表す。「INC」(インクリメント)命令は、第1引数を1増加させる命令である。つまり、動作命令41bは、変数「D0」を1増加させる命令である。
The
行42は、条件命令42aと、動作命令42bと、を含む。条件命令42aは、「LD M100」である。この中の「M100」は、変数である。
The
動作命令42bは、「MOV D0 D10」である。この中の「D10」は、変数である。「MOV」命令は、第1引数の値を第2引数に転送する命令である。つまり、動作命令42bは、変数「D0」の値を変数「D10」に転送する命令である。
The
行43は、条件命令43aと、動作命令43bと、を含む。条件命令43aは、「LD M200」である。この中の「M200」は、変数である。
The
動作命令43bは、「OUT Y0」である。この中の「Y0」は、変数である。実施の形態1において、英字「Y」と、数値と、の結合は、ビット型の変数を表す。つまり、動作命令43bは、変数「Y0」をONにする命令である。
The
行44は、条件命令44aと、動作命令44bと、を含む。条件命令44aは、「= D10 K10000」である。この中の「K10000」は、定数「10000」である。つまり、条件命令44aは、変数「D10」の値と定数「10000」とが等しいか否かを判定する命令である。
動作命令44bは、「MOV K15 D20」である。この中の「K15」は、定数「15」であり、「D20」は、変数である。つまり、動作命令44bは、定数「15」を変数「D20」に転送する命令である。
The
行45は、条件命令45aと、動作命令45bと、を含む。条件命令45aは、「LD M10」と、「LD M11」と、「LD M12」と、のOR(論理和)である。この中の「M10」、「M11」及び「M12」は、変数である。つまり、条件命令45aは、変数「M10」の値と、変数「M11」の値と、変数「M12」の値と、の論理和を判定する命令である。
動作命令45bは、「MOV D20 D30」である。この中の「D30」は、変数である。つまり、動作命令45bは、変数「D20」の値を変数「D30」に転送する命令である。
The
行46は、終了命令である。
再び図4を参照すると、プログラム診断部21a2は、ターゲットの変数を設定する変数設定部21a2aを含む。変数設定部21a2aは、ユーザが入力部25に入力した変数を受け取って、ターゲットの変数に設定することができる。また、変数設定部21a2aは、問題が発生した変数を制御装置3から受け取って、ターゲットの変数に設定することができる。
Referring to FIG. 4 again, the program diagnosis unit 21a2 includes a variable setting unit 21a2a for setting a target variable. The variable setting unit 21a2a can receive a variable input by the user to the
プログラム診断部21a2は、ターゲットの変数の値が変化する可能性がある動作命令を制御プログラム24a1の中から検索して、検索された動作命令と命令仕様データ24bとを照合し、ターゲットの変数名、並びに、検索された動作命令の命令名、命令の種別及び処理の内容を検索結果データ24dに書き込む動作検索部21a2bを含む。
The program diagnosis unit 21a2 searches the control program 24a1 for an operation command that may change the value of the target variable, collates the searched operation command with the
プログラム診断部21a2は、動作検索部21a2bで検索された動作命令を実行する条件を判定する条件命令を制御プログラム24a1の中から検索して、検索された条件命令と命令仕様データ24bとを照合し、検索された条件命令の引数の変数名、並びに、検索された条件命令の命令名、命令の種別及び処理の内容を検索結果データ24dに書き込み、検索された条件命令の引数を新たなターゲットの変数に設定する条件検索部21a2cを含む。
The program diagnosis unit 21a2 searches the control program 24a1 for a condition command for determining a condition for executing the operation command searched by the operation search unit 21a2b, and compares the searched condition command with the
プログラム診断部21a2は、動作検索部21a2b及び条件検索部21a2cに検索を再度実行させる検索判定部21a2dを含む。 The program diagnosis unit 21a2 includes a search determination unit 21a2d that causes the operation search unit 21a2b and the condition search unit 21a2c to execute the search again.
プログラム診断部21a2は、検索結果データ24dの内容を一覧表示する一覧表示部21a2eを含む。
The program diagnosis unit 21a2 includes a list display unit 21a2e that displays a list of contents of the
プログラム診断部21a2は、予め定められたタイミングで、制御装置3のメモリ3a2をスキャンすることにより、制御プログラム24a1で使用されている全変数の値を取得し、実行データ24eに書き込むスキャン部21a2fを含む。
The program diagnosis unit 21a2 scans the memory 3a2 of the
予め定められたタイミングは、以下が例示される。 The predetermined timing is exemplified as follows.
第1の例は、一定の時間経過毎である。一定の時間は、1秒が例示される。これにより、実行データ24eには、一定の時間経過毎の全変数の値が蓄積される。
The first example is every certain time. The fixed time is exemplified by 1 second. As a result, the values of all the variables are accumulated in the
第2の例は、制御装置3から問題が発生した旨の通知を受信したときである。これにより、実行データ24eには、制御装置3で問題が発生したときの全変数の値が蓄積される。
A second example is when a notification that a problem has occurred has been received from the
第3の例は、ユーザが入力部25にスキャンを実行する旨の指示を入力したときである。これにより、実行データ24eには、ユーザが所望するタイミングでの全変数の値が蓄積される。
A third example is when the user inputs an instruction to execute scanning to the
図10は、実施の形態1にかかるエンジニアリングツールの処理を示すフローチャートである。 FIG. 10 is a flowchart of the process of the engineering tool according to the first embodiment.
スキャン部21a2fは、予め定められたタイミングで、図10に示す処理を実行する。 The scanning unit 21a2f executes the process illustrated in FIG. 10 at a predetermined timing.
スキャン部21a2fは、ステップS10において、制御装置3のメモリ3a2をスキャンすることにより、制御プログラム24a1で使用されている全変数の値を取得する。
In step S10, the scan unit 21a2f scans the memory 3a2 of the
スキャン部21a2fは、ステップS12において、ステップS10で取得した全変数の値を実行データ24eに書き込み、処理を終了する。
In step S12, the scanning unit 21a2f writes the values of all variables acquired in step S10 into the
再び図4を参照すると、プログラム診断部21a2は、制御プログラム24a1をシミュレーション実行することにより、制御プログラム24a1で使用されている全変数の値を算出し、実行データ24eに書き込むシミュレーション部21a2gを含む。
Referring to FIG. 4 again, the program diagnosis unit 21a2 includes a simulation unit 21a2g that calculates the values of all variables used in the control program 24a1 by executing the simulation of the control program 24a1 and writes the values in the
これにより、実行データ24eには、制御装置3を動作させなくても、制御プログラム24a1で使用されている全変数の値が蓄積される。従って、プログラム診断部21a2は、制御装置3を動作させなくても、制御プログラム24a1の問題を診断することができる。
Thereby, the values of all variables used in the control program 24a1 are accumulated in the
図11は、実施の形態1にかかるエンジニアリングツールの処理を示すフローチャートである。 FIG. 11 is a flowchart of the process of the engineering tool according to the first embodiment.
シミュレーション部21a2gは、ユーザが入力部25にシミュレーション実行する旨の指示を入力したら、図11に示す処理を実行する。
When the user inputs an instruction to execute the simulation to the
シミュレーション部21a2gは、ステップS20において、制御プログラム24a1をシミュレーション実行することにより、制御プログラム24a1で使用されている全変数の値を算出する。 In step S20, the simulation unit 21a2g calculates the values of all variables used in the control program 24a1 by executing the simulation of the control program 24a1.
シミュレーション部21a2gは、ステップS22において、ステップS20で算出した全変数の値を実行データ24eに書き込み、処理を終了する。
In step S22, the simulation unit 21a2g writes the values of all variables calculated in step S20 into the
図12は、実施の形態1にかかるエンジニアリングツールの処理を示すフローチャートである。 FIG. 12 is a flowchart of the process of the engineering tool according to the first embodiment.
変数設定部21a2aは、ステップS100において、ターゲットの変数を設定する。 In step S100, the variable setting unit 21a2a sets a target variable.
図13は、実施の形態1にかかるエンジニアリングツールのプログラム診断画面を示す図である。変数設定部21a2aは、プログラム診断画面70を表示部26に表示させる。
FIG. 13 is a diagram illustrating a program diagnosis screen of the engineering tool according to the first embodiment. The variable setting unit 21a2a displays the
プログラム診断画面70は、変数設定欄71を有する。図13では、変数設定欄71内で、変数「D20」がターゲットの変数72に設定されている。
The
変数設定部21a2aは、ユーザが入力部25に入力した変数を受け取って、ターゲットの変数72に設定することができる。また、変数設定部21a2aは、問題が発生した変数を制御装置3から受け取って、ターゲットの変数72に設定することができる。
The
再び図12を参照すると、動作検索部21a2bは、ステップS102において、ターゲットの変数72が引数に記述されている動作命令を、制御プログラム24a1の中から検索する。
Referring to FIG. 12 again, in step S102, the motion search unit 21a2b searches the control program 24a1 for a motion command in which the
動作検索部21a2bは、制御プログラム24a1の中の命令と命令仕様データ24bとを照合することで当該命令の命令種別を取得することにより、動作命令を制御プログラム24a1の中から検索することができる。
The operation retrieval unit 21a2b can retrieve an operation instruction from the control program 24a1 by acquiring the instruction type of the instruction by comparing the instruction in the control program 24a1 with the
動作検索部21a2bによる検索結果は、複数箇所あっても良い。 There may be a plurality of search results by the motion search unit 21a2b.
図14は、実施の形態1にかかるエンジニアリングツールの検索処理を説明する図である。 FIG. 14 is a diagram for explaining the search process of the engineering tool according to the first embodiment.
図14において、各変数の下段に記述されている値は、あるタイミングでの各変数の値であり、実行データ24eに蓄積されている値である。
In FIG. 14, values described in the lower part of each variable are values of each variable at a certain timing, and are values accumulated in the
プログラム診断部21a2は、制御装置3から問題が発生した旨の通知を受信したときにスキャンした全変数の値を検索に使用することとすれば、制御装置3で問題が発生したタイミングでの全変数の値に基づいて、制御プログラム24a1の診断を行うことができる。これにより、プログラム診断部21a2は、制御装置3で問題が発生したタイミングでの、制御プログラム24a1の問題を診断することができる。
If the program diagnosis unit 21a2 uses the values of all the variables scanned when receiving a notification from the
プログラム診断部21a2は、制御装置3から問題が発生した旨の通知を受信したときより前での全変数の値を検索に使用することとすれば、制御装置3で問題が発生したときより前のタイミングでの全変数の値に基づいて、制御プログラム24a1の診断を行うことができる。これにより、プログラム診断部21a2は、制御装置3で問題が発生したときより前のタイミングでの、制御プログラム24a1の問題を診断することができる。
If the program diagnosis unit 21a2 uses the values of all variables before the time when the notification that the problem has occurred from the
ターゲットの変数72に設定された変数「D20」は、動作命令44bの第2引数44b1に記述されている。
The variable “D20” set in the
動作検索部21a2bは、ステップS102において、ターゲットの変数72に設定された変数「D20」が動作命令44bの第2引数44b1に記述されていることを見つけ出す。そして、動作検索部21a2bは、動作命令44bの命令名「MOV」と命令仕様データ24bとを照合することで、命令名「MOV」の命令種別「動作」を取得する。従って、動作検索部21a2bは、動作命令44bを制御プログラム24a1の中から検索することができる。
In step S102, the motion search unit 21a2b finds out that the variable “D20” set in the
なお、動作検索部21a2bは、命令名と命令仕様データ24bとを照合することに代えて、制御プログラム24a1を図形的に解析することで、動作命令を取得することとしても良い。
Note that the motion search unit 21a2b may obtain the motion command by analyzing the control program 24a1 graphically instead of collating the command name with the
具体的には、動作検索部21a2bは、図9に示す制御プログラム24a1の行41,42,43及び44のように、1つの行に2つの命令が記述されている場合には、2つの命令の内の右側、つまり制御プログラム24a1の下流側の命令を動作命令として取得しても良い。
Specifically, the operation search unit 21a2b has two instructions when two instructions are described in one line, such as
また、動作検索部21a2bは、図9に示す制御プログラム24a1の行45のように、1つの行に2つより多くの命令が記述されている場合には、まず、複数の命令がワイヤードOR接続されている点45a1を見つけ出す。そして、動作検索部21a2bは、点45a1より右側、つまり制御プログラム24a1の下流側の命令45bを動作命令として取得しても良い。
In addition, when more than two instructions are described in one line, such as the
これにより、動作検索部21a2bは、命令名と命令仕様データ24bとを照合することなく、動作命令を制御プログラム24a1の中から検索することができる。
As a result, the motion search unit 21a2b can search for the motion command from the control program 24a1 without collating the command name with the
再び図12を参照すると、動作検索部21a2bは、ステップS104において、ステップS102で検索した動作命令の中で、ターゲットの変数の値が変化する可能性がある動作命令を検索する。 Referring to FIG. 12 again, in step S104, the motion search unit 21a2b searches for the motion command that may change the value of the target variable from the motion commands searched in step S102.
ターゲットの変数72に設定された変数「D20」は、動作命令44bの第2引数44b1に記述されている。動作命令44bの命令名「MOV」は、第1引数の値を第2引数に転送する命令である。
The variable “D20” set in the
従って、動作検索部21a2bは、ステップS104において、ターゲットの変数72に設定された変数「D20」の値が変化する可能性がある動作命令44bを制御プログラム24a1の中から検索することができる。
Accordingly, in step S104, the motion search unit 21a2b can search the control program 24a1 for the
動作検索部21a2bは、ステップS106において、ステップS104で検索された動作命令と命令仕様データ24bとを照合し、ステップS104での検索結果に基づく情報を、検索結果データ24dに書き込む。
In step S106, the motion search unit 21a2b collates the motion command searched in step S104 with the
再び図8を参照すると、動作検索部21a2bは、ステップS106において、行61を作成する。そして、動作検索部21a2bは、変数名「D20」、命令名「MOV」及び命令種別「動作」を、行61の項目24d1,24d2及び24d3に書き込む。
Referring to FIG. 8 again, the motion search unit 21a2b creates a
また、動作検索部21a2bは、ステップS104で検索された動作命令44bと命令仕様データ24bの説明文の項目24b3とを照合する。動作命令44bの第1引数は、定数「K15」であり、第2引数は、変数「D20」である。従って、動作検索部21a2bは、説明文「K15がD20に転送される」を作成して、行61の項目24d4に書き込む。
In addition, the motion search unit 21a2b collates the
また、動作検索部21a2bは、動作命令44bが含まれているプログラム名「MAIN」を、行61の項目24d5に書き込む。
Further, the motion search unit 21a2b writes the program name “MAIN” including the
また、動作命令44bは、MAINプログラム24a1aの第11ステップ目である。従って、動作命令部21a2bは、ステップ番号「11」を、行61の項目24d6に書き込む。
The
再び図12を参照すると、条件検索部21a2cは、ステップS108において、動作検索部21a2bによって検索された動作命令を実行する条件を判定する条件命令を、制御プログラム24a1の中から検索する。 Referring to FIG. 12 again, in step S108, the condition search unit 21a2c searches the control program 24a1 for a condition command for determining a condition for executing the motion command searched by the motion search unit 21a2b.
条件検索部21a2cは、制御プログラム24a1の中の命令と命令仕様データ24bとを照合することで当該命令の命令種別を取得することにより、条件命令を制御プログラム24a1の中から検索することができる。
The condition retrieval unit 21a2c can retrieve a condition instruction from the control program 24a1 by acquiring the instruction type of the instruction by comparing the instruction in the control program 24a1 with the
条件検索部21a2cによる検索結果は、複数箇所あっても良い。 There may be a plurality of search results by the condition search unit 21a2c.
なお、条件検索部21a2cは、命令名と命令仕様データ24bとを照合することに代えて、制御プログラム24a1を図形的に解析することで、動作命令を取得することとしても良い。
Note that the condition search unit 21a2c may obtain an operation instruction by graphically analyzing the control program 24a1 instead of collating the instruction name with the
具体的には、条件検索部21a2cは、図9に示す制御プログラム24a1の行41,42,43及び44のように、1つの行に2つの命令が記述されている場合には、2つの命令の内の左側、つまり制御プログラム24a1の上流側の命令を動作命令として取得しても良い。
Specifically, the condition search unit 21a2c performs two instructions when two instructions are described in one line as in
また、動作検索部21a2bは、図9に示す制御プログラム24a1の行45のように、1つの行に2つより多くの命令が記述されている場合には、まず、複数の命令がワイヤードOR接続されている点45a1を見つけ出す。そして、動作検索部21a2bは、点45a1より左側、つまり制御プログラム24a1の上流側の命令45aを動作命令として取得しても良い。
In addition, when more than two instructions are described in one line, such as the
これにより、条件検索部21a2cは、命令名と命令仕様データ24bとを照合することなく、条件命令を制御プログラム24a1の中から検索することができる。
As a result, the condition search unit 21a2c can search for the condition instruction in the control program 24a1 without collating the instruction name with the
再び図14を参照すると、動作命令44bの図中左側、つまりMAINプログラム24a1aの上流側には、条件命令44aが記述されている。
Referring to FIG. 14 again, the
従って、条件検索部21a2cは、ステップS108において、動作命令44bを実行する条件を判定する条件命令44aを、制御プログラム24a1の中から検索することができる。
Therefore, the condition search unit 21a2c can search the control program 24a1 for the
再び図12を参照すると、条件検索部21a2cは、ステップS110において、ステップS108で検索された条件命令と命令仕様データ24bとを照合し、ステップS108での検索結果に基づく情報を、検索結果データ24dに書き込む。
Referring to FIG. 12 again, in step S110, the condition search unit 21a2c collates the condition instruction searched in step S108 with the
再び図8を参照すると、条件検索部21a2cは、ステップS110において、行62を作成する。そして、条件検索部21a2cは、変数名「D10」、命令名「=」及び命令種別「条件」を、行62の項目24d1,24d2及び24d3に書き込む。
Referring to FIG. 8 again, the condition search unit 21a2c creates a
また、条件検索部21a2cは、ステップS108で検索された条件命令44aと命令仕様データ24bの説明文の項目24b3とを照合する。条件命令44aの第1引数は、変数「D10」であり、第2引数は、定数「K10000」である。従って、条件検索部21a2cは、説明文「D10がK10000と等しい」を作成して、行62の項目24d4に書き込む。
In addition, the condition search unit 21a2c collates the
また、条件検索部21a2cは、条件命令44aが含まれているプログラム名「MAIN」を、行62の項目24d5に書き込む。
In addition, the condition search unit 21a2c writes the program name “MAIN” including the
また、条件命令44aは、MAINプログラム24a1aの第8ステップ目である。従って、条件命令部21a2cは、ステップ番号「8」を、行62の項目24d6に書き込む。
The
再び図12を参照すると、条件検索部21a2cは、ステップS112において、ステップS110で検索された条件命令の引数を、新たなターゲットの変数72に設定する。
Referring to FIG. 12 again, in step S112, the condition search unit 21a2c sets the argument of the condition instruction searched in step S110 as a
条件検索部21a2cによって設定される新たなターゲットの変数72は、複数あっても良い。また、条件検索部21a2cは、制御プログラム24a1をそれ以上遡ることが出来ない場合は、新たなターゲットの変数72を設定しない。
There may be a plurality of
図15は、実施の形態1にかかるエンジニアリングツールの検索処理を説明する図である。 FIG. 15 is a diagram for explaining the search processing of the engineering tool according to the first embodiment.
図15に示すように、条件命令44aは、第1引数44a1「D10」と、第2引数「K10000」と、を含んでいる。しかし、第2引数「K10000」は、定数であって、変数ではない。そこで、条件検索部21a2cは、ステップS112において、第1引数44a1「D10」を、新たなターゲットの変数72に設定する。
As shown in FIG. 15, the
再び図12を参照すると、検索判定部21a2dは、ステップS114において、検索終了条件が満たされたか否かを判定する。検索終了条件は、以下が例示される。 Referring to FIG. 12 again, the search determination unit 21a2d determines whether or not the search end condition is satisfied in step S114. The search termination condition is exemplified as follows.
第1の例は、ステップS112で新たなターゲットの変数72が設定されなかった場合である。つまり、制御プログラム24a1をそれ以上遡ることが出来ない場合である。 The first example is a case where a new target variable 72 is not set in step S112. That is, it is a case where the control program 24a1 cannot be traced further.
第2の例は、動作検索部21a2b及び条件検索部21a2cによるステップS102からステップS112までの検索の繰り返し回数が、検索回数データ24c1に記述された回数に達した場合である。 The second example is a case where the number of repetitions of the search from step S102 to step S112 by the action search unit 21a2b and the condition search unit 21a2c reaches the number described in the search count data 24c1.
これにより、プログラム診断部21a2は、検索が終わらないことを抑制して検索が停止することを確保することができる、つまり検索の停止性を確保することができるという効果を奏する。また、プログラム診断部21a2は、制御プログラム24a1の規模が大きい場合であっても、検索範囲を限定することができるので、制御プログラム24a1の問題の原因を特定する工数を抑制できる効果を奏する。 As a result, the program diagnosis unit 21a2 can prevent the search from being finished and can ensure that the search is stopped. That is, the program diagnosis unit 21a2 has an effect that the search stop property can be ensured. In addition, the program diagnosis unit 21a2 can limit the search range even when the scale of the control program 24a1 is large, so that it is possible to reduce the man-hours for identifying the cause of the problem of the control program 24a1.
第3の例は、条件検索部21a2cによりステップS112で設定された新たなターゲットの変数72が、検索範囲データ24c2に記述されたステップ番号の範囲外になった場合である。 In a third example, the new target variable 72 set in step S112 by the condition search unit 21a2c is outside the range of the step number described in the search range data 24c2.
これにより、プログラム診断部21a2は、検索の停止性が確保されるという効果を奏する。また、プログラム診断部21a2は、制御プログラム24a1の規模が大きい場合であっても、検索範囲を限定することができるので、制御プログラム24a1の問題の原因を特定する工数を抑制できる効果を奏する。 Thereby, the program diagnosis part 21a2 has an effect that the stop of search is ensured. In addition, the program diagnosis unit 21a2 can limit the search range even when the scale of the control program 24a1 is large, so that it is possible to reduce the man-hours for identifying the cause of the problem of the control program 24a1.
検索判定部21a2dは、複数の検索終了条件のOR(論理和)を判定することができる。 The search determination unit 21a2d can determine an OR (logical sum) of a plurality of search end conditions.
検索判定部21a2dは、ステップS114において、検索条件が満たされていないと判定したら(No)、処理をステップS102に進める。 If the search determination unit 21a2d determines in step S114 that the search condition is not satisfied (No), the process proceeds to step S102.
図16は、実施の形態1にかかるエンジニアリングツールの検索処理を説明する図である。 FIG. 16 is a diagram for explaining the search process of the engineering tool according to the first embodiment.
図16に示すように、動作命令42bは、第1引数「D0」と、第2引数42b1「D10」と、を含んでいる。
As shown in FIG. 16, the
動作検索部21a2bは、ステップS102及びステップS104において、ターゲットの変数72に設定された変数「D10」が動作命令42bの第2引数42b1に記述されていることを見つけ出す。そして、動作検索部21a2bは、動作命令42bの命令名「MOV」と命令仕様データ24bとを照合することで、命令名「MOV」の命令種別「動作」を取得する。従って、動作検索部21a2bは、動作命令42bを制御プログラム24a1の中から検索することができる。
In step S102 and step S104, the motion search unit 21a2b finds out that the variable “D10” set in the
再び図8を参照すると、動作検索部21a2bは、ステップS106において、行63を作成する。そして、動作検索部21a2bは、変数名「D0」、命令名「MOV」及び命令種別「動作」を、行63の項目24d1,24d2及び24d3に書き込む。
Referring to FIG. 8 again, the motion search unit 21a2b creates a
また、動作検索部21a2bは、ステップS104で検索された動作命令42bと命令仕様データ24bの説明文の項目24b3とを照合する。動作命令42bの第1引数は、変数「D0」であり、第2引数は、変数「D10」である。従って、動作検索部21a2bは、説明文「D0がD10に転送される」を作成して、行63の項目24d4に書き込む。
In addition, the motion search unit 21a2b collates the
また、動作検索部21a2bは、動作命令42bが含まれているプログラム名「MAIN」を、行63の項目24d5に書き込む。
Further, the motion search unit 21a2b writes the program name “MAIN” including the
また、動作命令42bは、MAINプログラム24a1aの第4ステップ目である。従って、動作命令部21a2bは、ステップ番号「4」を、行63の項目24d6に書き込む。
The
動作命令42bの図中左側、つまりMAINプログラム24a1aの上流側には、条件命令42aが記述されている。
The
従って、条件検索部21a2cは、ステップS108において、動作命令42bを実行する条件を判定する条件命令42aを、制御プログラム24a1の中から検索することができる。
Accordingly, in step S108, the condition search unit 21a2c can search the control program 24a1 for the
条件検索部21a2cは、ステップS110において、ステップS108で検索された条件命令と命令仕様データ24bとを照合し、ステップS108での検索結果に基づく情報を、検索結果データ24dに書き込む。
In step S110, the condition search unit 21a2c collates the condition instruction searched in step S108 with the
再び図8を参照すると、条件検索部21a2cは、ステップS110において、行64を作成する。そして、条件検索部21a2cは、変数名「M100」、命令名「LD」及び命令種別「条件」を、行64の項目24d1,24d2及び24d3に書き込む。
Referring to FIG. 8 again, the condition search unit 21a2c creates a
また、条件検索部21a2cは、ステップS108で検索された条件命令42aと命令仕様データ24bの説明文の項目24b3とを照合する。条件命令42aの第1引数は、変数「M100」である。従って、条件検索部21a2cは、説明文「M100がONしている」を作成して、行64の項目24d4に書き込む。
Further, the condition search unit 21a2c collates the
また、条件検索部21a2cは、条件命令42aが含まれているプログラム名「MAIN」を、行64の項目24d5に書き込む。
In addition, the condition search unit 21a2c writes the program name “MAIN” including the
また、条件命令42aは、MAINプログラム24a1aの第3ステップ目である。従って、条件命令部21a2cは、ステップ番号「3」を、行64の項目24d6に書き込む。
The
条件命令42aは、第1引数「M100」を含んでいる。そこで、条件検索部21a2cは、ステップS112において、第1引数「M100」を、新たなターゲットの変数72に設定する。
The
再び図12を参照すると、検索判定部21a2dは、ステップS114において、検索条件が満たされていると判定したら(Yes)、処理をステップS116に進める。 Referring to FIG. 12 again, if the search determination unit 21a2d determines in step S114 that the search condition is satisfied (Yes), the process proceeds to step S116.
再び図16を参照すると、ターゲットの変数72「M100」を含む動作命令は制御プログラム24a1内に存在しない。 Referring to FIG. 16 again, the operation command including the target variable 72 “M100” does not exist in the control program 24a1.
従って、検索判定部21a2dは、ステップS114で検索条件が満たされていると判定して(Yes)、処理をステップS116に進める。 Therefore, the search determination unit 21a2d determines that the search condition is satisfied in step S114 (Yes), and advances the processing to step S116.
再び図12を参照すると、一覧表示部21a2eは、ステップS116において、検索結果データ24dの内容を表示部26に一覧表示する。
Referring to FIG. 12 again, the list display unit 21a2e displays the contents of the
図17は、実施の形態1にかかるエンジニアリングツールのプログラム診断画面を示す図である。一覧表示部21a2eは、検索結果データ24dの内容を、プログラム診断画面70の一覧表示欄80内に一覧表示する。
FIG. 17 is a diagram illustrating a program diagnosis screen of the engineering tool according to the first embodiment. The list display unit 21a2e displays a list of the contents of the
一覧表示欄80は、プログラム名の項目81と、ステップ番号の項目82と、変数名の項目83と、命令名の項目84と、命令種別の項目85と、説明文の項目86と、を有する。
The
一覧表示部21a2eは、行91,92,93及び94内に、検索結果データ24dの行61,62,63及び64の内容を夫々表示する。
The list display unit 21a2e displays the contents of the
このように、プログラム診断部21a2は、行94内に表示されている、問題の原因となった命令の内容及び行91内に表示されている、問題が発生した命令の内容だけではなく、行93及び行92内に表示されている、問題の原因となった命令と問題が発生した命令との間に関与する命令の内容をも併せて、一覧表示することができる。
As described above, the program diagnosis unit 21a2 displays not only the contents of the instruction causing the problem displayed in the
これにより、プログラム診断部21a2は、ユーザが問題の原因となった命令と問題が発生した命令との間の全体像を把握することを容易にすることができるという効果を奏する。 Thereby, the program diagnosis unit 21a2 has an effect that the user can easily grasp the whole image between the instruction causing the problem and the instruction in which the problem has occurred.
図18は、実施の形態1にかかるエンジニアリングツールの処理を示すフローチャートである。 FIG. 18 is a flowchart of the process of the engineering tool according to the first embodiment.
一覧表示部21a2eは、ステップS200において、行91,92,93又は94が選択されたら、選択された行の項目82a内のステップ番号に該当する命令44b,44a,42b又は42aを表示する。
When the
これにより、プログラム診断部21a2は、ユーザが所望の命令を直ぐに確認することができるという効果を奏する。 Thereby, the program diagnosis part 21a2 has an effect that the user can immediately confirm a desired command.
また、一覧表示欄80は、プログラム名のフィルタ条件を入力するためのフィルタ条件入力欄81aと、ステップ番号のフィルタ条件を入力するためのフィルタ条件入力欄82aと、変数名のフィルタ条件を入力するためのフィルタ条件入力欄83aと、命令名のフィルタ条件を入力するためのフィルタ条件入力欄84aと、命令種別のフィルタ条件を入力するためのフィルタ条件入力欄85aと、説明文のフィルタ条件を入力するためのフィルタ条件入力欄86aと、を有する。
The
図19は、実施の形態1にかかるエンジニアリングツールの処理を示すフローチャートである。 FIG. 19 is a flowchart of the process of the engineering tool according to the first embodiment.
一覧表示部21a2eは、ステップS202において、フィルタ条件入力欄84aに命令名が入力されたら、検索結果データ24dの行91,92,93及び94の中で入力されたフィルタ条件に合致する行を一覧表示する。例えば、フィルタ条件入力欄84aに「MOV」が入力されたら、一覧表示部21a2eは、行91及び93だけを表示する。
When an instruction name is input to the filter
これにより、プログラム診断部21a2は、ユーザが問題に関係する命令を絞り込むことで問題の原因を特定する工数を抑制できる効果を奏する。 Thereby, the program diagnosis unit 21a2 has an effect of suppressing the man-hours for specifying the cause of the problem by narrowing down the commands related to the problem by the user.
また、動作検索部21a2bは、命令名と命令仕様データ24bとを照合することで、命令名の命令種別「動作」を取得することができる。
Further, the action search unit 21a2b can acquire the instruction type “action” of the instruction name by collating the instruction name with the
これにより、動作検索部21a2bは、動作命令を制御プログラム24a1の中から検索することができる。 Thereby, the operation search unit 21a2b can search for an operation command from the control program 24a1.
また、条件検索部21a2cは、命令名と命令仕様データ24bとを照合することで、命令名の命令種別「条件」を取得することができる。
The condition search unit 21a2c can acquire the instruction type “condition” of the instruction name by collating the instruction name with the
これにより、条件検索部21a2cは、条件命令を制御プログラム24a1の中から検索することができる。 As a result, the condition search unit 21a2c can search for the condition command in the control program 24a1.
また、記憶部24は、制御プログラム24a1に対して実行される検索の終了条件が記述された検索終了条件データ24cを記憶する。そして、検索判定部21a2dは、検索が終了条件を満たしていると判定したら、動作検索部21a2b及び条件検索部21a2cによる検索を終了させる。
Further, the
これにより、プログラム診断部21a2は、検索の停止性が確保されるという効果を奏する。また、検索判定部21a2dは、制御プログラム24a1の規模が大きい場合であっても、検索範囲を限定することができる。従って、プログラム診断部21a2は、制御プログラム24a1の問題の原因を特定する工数を抑制できる効果を奏する。 Thereby, the program diagnosis part 21a2 has an effect that the stop of search is ensured. In addition, the search determination unit 21a2d can limit the search range even when the scale of the control program 24a1 is large. Therefore, the program diagnosis unit 21a2 has an effect of suppressing the man-hour for specifying the cause of the problem of the control program 24a1.
また、記憶部24は、制御プログラム24a1で使用されている全変数の予め定められたタイミングでの値が蓄積される実行データ24eを記憶する。
In addition, the
スキャン部21a2fは、予め定められたタイミングで、制御装置3のメモリ3a2をスキャンすることにより、制御プログラム24a1で使用されている全変数の値を取得し、実行データ24eに書き込む。
The scanning unit 21a2f scans the memory 3a2 of the
これにより、プログラム診断部21a2は、制御装置3から問題が発生した旨の通知を受信したときにスキャンした全変数の値を検索に使用することとすれば、制御装置3で問題が発生したタイミングでの全変数の値に基づいて、制御プログラム24a1の診断を行うことができる。これにより、プログラム診断部21a2は、制御装置3で問題が発生したタイミングでの、制御プログラム24a1の問題を診断することができる。
As a result, if the program diagnosis unit 21a2 uses the values of all the variables scanned when it receives notification from the
また、プログラム診断部21a2は、制御装置3から問題が発生した旨の通知を受信したときより前での全変数の値を検索に使用することとすれば、制御装置3で問題が発生したときより前のタイミングでの全変数の値に基づいて、制御プログラム24a1の診断を行うことができる。これにより、プログラム診断部21a2は、制御装置3で問題が発生したときより前のタイミングでの、制御プログラム24a1の問題を診断することができる。
Further, if the program diagnosis unit 21a2 uses the values of all variables before the time when the notification that the problem has occurred from the
また、シミュレーション部21a2gは、制御プログラム24a1をシミュレーション実行することにより、制御プログラム24a1で使用されている全変数の値を算出し、実行データ24eに書き込む。
The simulation unit 21a2g calculates the values of all variables used in the control program 24a1 by executing the simulation of the control program 24a1, and writes the values in the
これにより、プログラム診断部21a2は、制御装置3を動作させなくても、制御プログラム24a1の問題を診断することができる。
Thus, the program diagnosis unit 21a2 can diagnose the problem of the control program 24a1 without operating the
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
1 制御システム、2 エンジニアリングツール、3 制御装置、4,5 機械、21 CPU、21a1 プロジェクトデータ作成部、21a2 プログラム診断部、21a2a 変数設定部、21a2b 動作検索部、21a2c 条件検索部、21a2d 検索判定部、21a2e 一覧表示部、21a2f スキャン部、21a2g シミュレーション部、24 記憶部、24a プロジェクトデータ、24a1 制御プログラム、24b 命令仕様データ、24c 検索終了条件データ、24d 検索結果データ、24e 実行データ。
DESCRIPTION OF
Claims (10)
ターゲットの変数を設定する変数設定部と、
前記ターゲットの変数の値が変化する可能性がある前記動作命令を前記制御プログラムの中から検索して、検索された前記動作命令と前記命令仕様データとを照合し、前記ターゲットの変数名、並びに、検索された前記動作命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込む動作検索部と、
前記動作検索部で検索された前記動作命令を実行する条件を判定する前記条件命令を前記制御プログラムの中から検索して、検索された前記条件命令と前記命令仕様データとを照合し、検索された前記条件命令の引数の変数名、並びに、検索された前記条件命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込み、検索された前記条件命令の引数を新たなターゲットの変数に設定する条件検索部と、
前記動作検索部及び前記条件検索部に検索を再度実行させる検索判定部と、
前記検索結果データの内容を一覧表示する一覧表示部と、
を備えることを特徴とするプログラム診断装置。A control program including an operation instruction for changing an argument value and a condition instruction for determining a condition for executing the operation instruction, an instruction name of an instruction that can be described in the control program, a type of the operation instruction or the condition instruction, and A storage unit for storing instruction specification data including the contents of instruction processing, and search result data in which search results executed for the control program are stored;
A variable setting section for setting the target variable;
The operation instruction in which the value of the target variable may change is searched from the control program, the searched operation instruction is compared with the instruction specification data, the target variable name, and An operation search unit for writing the instruction name, instruction type and processing content of the searched operation instruction in the search result data;
The condition instruction for determining the condition for executing the operation instruction searched by the operation search unit is searched from the control program, and the searched condition instruction is compared with the instruction specification data. In addition, the variable name of the argument of the conditional instruction, the instruction name of the searched conditional instruction, the type of instruction, and the content of the process are written in the search result data, and the argument of the searched conditional instruction is set to a new target A condition search part to set in the variable;
A search determination unit that causes the operation search unit and the condition search unit to execute a search again;
A list display section for displaying a list of contents of the search result data;
A program diagnostic apparatus comprising:
前記検索判定部は、前記動作検索部及び前記条件検索部によって実行された検索が前記終了条件を満たしていると判定したら、前記動作検索部及び前記条件検索部による検索を終了させ、前記動作検索部及び前記条件検索部によって実行された検索が前記終了条件を満たしていないと判定したら、前記動作検索部及び前記条件検索部に検索を再度実行させることを特徴とする請求項1に記載のプログラム診断装置。The storage unit further stores search end condition data describing a search end condition to be executed for the control program,
The search determination unit, when determining that the search executed by the operation search unit and the condition search unit satisfies the end condition, terminates the search by the operation search unit and the condition search unit, and the operation search 2. The program according to claim 1, wherein when the search executed by the search unit and the condition search unit determines that the end condition is not satisfied, the operation search unit and the condition search unit are caused to execute the search again. Diagnostic device.
前記予め定められたタイミングで、前記制御プログラムを実行する制御装置のメモリをスキャンすることにより、前記制御プログラムで使用されている全変数の値を取得し、前記実行データに書き込むスキャン部を更に備えることを特徴とする請求項1に記載のプログラム診断装置。The storage unit further stores execution data in which values at predetermined timings of all variables used in the control program are accumulated,
A scan unit that scans a memory of a control device that executes the control program at the predetermined timing to acquire values of all variables used in the control program and writes the values to the execution data. The program diagnostic apparatus according to claim 1.
ターゲットの変数を設定する変数設定工程と、
前記ターゲットの変数の値が変化する可能性がある前記動作命令を前記制御プログラムの中から検索して、検索された前記動作命令と前記命令仕様データとを照合し、前記ターゲットの変数名、並びに、検索された前記動作命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込む動作検索工程と、
前記動作検索工程で検索された前記動作命令を実行する条件を判定する前記条件命令を前記制御プログラムの中から検索して、検索された前記条件命令と前記命令仕様データとを照合し、検索された前記条件命令の引数の変数名、並びに、検索された前記条件命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込み、検索された前記条件命令の引数を新たなターゲットの変数に設定する条件検索工程と、
前記動作検索工程及び前記条件検索工程に検索を再度実行させる検索判定工程と、
前記検索結果データの内容を一覧表示する一覧表示工程と、
を備えることを特徴とするプログラム診断方法。A control program including an operation instruction for changing an argument value and a condition instruction for determining a condition for executing the operation instruction, an instruction name of an instruction that can be described in the control program, a type of the operation instruction or the condition instruction, and A method executed by a program diagnostic apparatus including a storage unit that stores instruction specification data including the contents of instruction processing and search result data in which a search result executed for the control program is recorded. There,
A variable setting process for setting a target variable;
The operation instruction in which the value of the target variable may change is searched from the control program, the searched operation instruction is compared with the instruction specification data, the target variable name, and An operation search step of writing the instruction name, instruction type and processing content of the searched operation instruction in the search result data;
The condition instruction for determining a condition for executing the operation instruction searched in the operation search step is searched from the control program, and the searched condition instruction is compared with the instruction specification data. In addition, the variable name of the argument of the conditional instruction, the instruction name of the searched conditional instruction, the type of instruction, and the content of the process are written in the search result data, and the argument of the searched conditional instruction is set to a new target Condition search process to be set in the variable,
A search determination step for causing the operation search step and the condition search step to execute a search again;
A list display step for displaying a list of contents of the search result data;
A program diagnosis method comprising:
ターゲットの変数を設定する変数設定工程と、
前記ターゲットの変数の値が変化する可能性がある前記動作命令を前記制御プログラムの中から検索して、検索された前記動作命令と前記命令仕様データとを照合し、前記ターゲットの変数名、並びに、検索された前記動作命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込む動作検索工程と、
前記動作検索工程で検索された前記動作命令を実行する条件を判定する前記条件命令を前記制御プログラムの中から検索して、検索された前記条件命令と前記命令仕様データとを照合し、検索された前記条件命令の引数の変数名、並びに、検索された前記条件命令の命令名、命令の種別及び処理の内容を前記検索結果データに書き込み、検索された前記条件命令の引数を新たなターゲットの変数に設定する条件検索工程と、
前記動作検索工程及び前記条件検索工程に検索を再度実行させる検索判定工程と、
前記検索結果データの内容を一覧表示する一覧表示工程と、
を備えることを特徴とするプログラム診断プログラム。A control program including an operation instruction for changing an argument value and a condition instruction for determining a condition for executing the operation instruction, an instruction name of an instruction that can be described in the control program, a type of the operation instruction or the condition instruction, and A program executed by a program diagnostic apparatus including a storage unit that stores instruction specification data including the contents of instruction processing and search result data in which a search result executed for the control program is recorded. There,
A variable setting process for setting a target variable;
The operation instruction in which the value of the target variable may change is searched from the control program, the searched operation instruction is compared with the instruction specification data, the target variable name, and An operation search step of writing the instruction name, instruction type and processing content of the searched operation instruction in the search result data;
The condition instruction for determining a condition for executing the operation instruction searched in the operation search step is searched from the control program, and the searched condition instruction is compared with the instruction specification data. In addition, the variable name of the argument of the conditional instruction, the instruction name of the searched conditional instruction, the type of instruction, and the content of the process are written in the search result data, and the argument of the searched conditional instruction is set to a new target Condition search process to be set in the variable,
A search determination step for causing the operation search step and the condition search step to execute a search again;
A list display step for displaying a list of contents of the search result data;
A program diagnostic program comprising:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/061757 WO2016166876A1 (en) | 2015-04-16 | 2015-04-16 | Program diagnosis device, program diagnosis method and program diagnosis program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6076565B1 true JP6076565B1 (en) | 2017-02-08 |
JPWO2016166876A1 JPWO2016166876A1 (en) | 2017-04-27 |
Family
ID=57126471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016555855A Active JP6076565B1 (en) | 2015-04-16 | 2015-04-16 | Program diagnostic apparatus, program diagnostic method, and program diagnostic program |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6076565B1 (en) |
KR (1) | KR101846140B1 (en) |
CN (1) | CN107533322B (en) |
WO (1) | WO2016166876A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791398B (en) * | 2017-06-27 | 2020-12-18 | 三菱电机株式会社 | Debugging device |
WO2020166004A1 (en) * | 2019-02-14 | 2020-08-20 | 三菱電機株式会社 | Control system, programmable logic controller, method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03108005A (en) * | 1989-09-21 | 1991-05-08 | Sony Corp | Method for clearing up cause position of abnormality in program of ladder sequence system |
JP2005316986A (en) * | 2004-03-31 | 2005-11-10 | Omron Corp | Development support device and program and method for creating outline information |
JP2011028552A (en) * | 2009-07-27 | 2011-02-10 | Keyence Corp | Program creation support device, program creation support method and computer program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602005015052D1 (en) * | 2004-03-31 | 2009-08-06 | Omron Tateisi Electronics Co | Device for development support |
WO2011080945A1 (en) * | 2009-12-28 | 2011-07-07 | 三菱電機株式会社 | Program creation support device |
JP5599535B2 (en) * | 2012-03-26 | 2014-10-01 | 三菱電機株式会社 | Sequence program debugging support device |
-
2015
- 2015-04-16 CN CN201580078870.3A patent/CN107533322B/en active Active
- 2015-04-16 JP JP2016555855A patent/JP6076565B1/en active Active
- 2015-04-16 WO PCT/JP2015/061757 patent/WO2016166876A1/en active Application Filing
- 2015-04-16 KR KR1020177031427A patent/KR101846140B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03108005A (en) * | 1989-09-21 | 1991-05-08 | Sony Corp | Method for clearing up cause position of abnormality in program of ladder sequence system |
JP2005316986A (en) * | 2004-03-31 | 2005-11-10 | Omron Corp | Development support device and program and method for creating outline information |
JP2011028552A (en) * | 2009-07-27 | 2011-02-10 | Keyence Corp | Program creation support device, program creation support method and computer program |
Also Published As
Publication number | Publication date |
---|---|
CN107533322A (en) | 2018-01-02 |
WO2016166876A1 (en) | 2016-10-20 |
JPWO2016166876A1 (en) | 2017-04-27 |
KR101846140B1 (en) | 2018-04-05 |
CN107533322B (en) | 2019-04-19 |
KR20170127569A (en) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6359235B2 (en) | Method and apparatus for managing process control search results | |
EP3502814B1 (en) | Processing loads balancing of control and monitoring functions | |
JP6430037B2 (en) | Debugging support apparatus and debugging support method | |
CN111052018B (en) | Servo motor adjusting device and servo motor adjusting method | |
JP2007249312A (en) | Field equipment management device and method | |
US20060085783A1 (en) | Multi-process display method in debugger system | |
JP6076565B1 (en) | Program diagnostic apparatus, program diagnostic method, and program diagnostic program | |
KR20180004825A (en) | Debug device, debug method, and debug program | |
US10846067B2 (en) | Software generation method and software generation system | |
JP2009122936A (en) | Sequence program monitor device equipped with display function for abnormality research and programmable controller | |
JP4928471B2 (en) | Plant control system | |
JP7413742B2 (en) | Prediction system, information processing device and information processing program | |
JP6840294B1 (en) | Programmable display, control system and analysis method | |
KR101303866B1 (en) | Method of monitoring substrate processing apparatus | |
JPH08179966A (en) | Program test device | |
WO2020189142A1 (en) | Control system, control method, and control program | |
JP2018109843A (en) | Comparison program, comparison method, information terminal device, and setting information comparison system | |
AU2011202744B2 (en) | Plant control system and method of specifying primary-factor for interlock | |
WO2020230241A1 (en) | Testing device, testing method, and program | |
JP6003281B2 (en) | Quality evaluation system and quality evaluation method for products | |
JP2019125134A (en) | Program and method for verification support and information processing apparatus | |
JP2008159004A (en) | Data trace device of programmable logic controller | |
JPH11296358A (en) | Signal analysis support device | |
JP2013171401A (en) | Policy creation device, policy creation method, program, and operation management system | |
JP2000315715A (en) | Method and system for inspecting execution order optimizing process of electronic apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20161207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6076565 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |