WO2015170382A1 - エンジニアリングツール、プログラム編集装置およびプログラム編集システム - Google Patents

エンジニアリングツール、プログラム編集装置およびプログラム編集システム Download PDF

Info

Publication number
WO2015170382A1
WO2015170382A1 PCT/JP2014/062342 JP2014062342W WO2015170382A1 WO 2015170382 A1 WO2015170382 A1 WO 2015170382A1 JP 2014062342 W JP2014062342 W JP 2014062342W WO 2015170382 A1 WO2015170382 A1 WO 2015170382A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
debugging
formal
instruction
unit
Prior art date
Application number
PCT/JP2014/062342
Other languages
English (en)
French (fr)
Inventor
信介 川▲崎▼
孝行 山岡
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2014/062342 priority Critical patent/WO2015170382A1/ja
Priority to JP2015521902A priority patent/JP5859173B1/ja
Priority to DE112014002979.3T priority patent/DE112014002979T8/de
Priority to KR1020167000885A priority patent/KR101627488B1/ko
Priority to CN201480041074.8A priority patent/CN105408823B/zh
Priority to US14/904,184 priority patent/US9727442B2/en
Priority to TW104114115A priority patent/TWI564685B/zh
Publication of WO2015170382A1 publication Critical patent/WO2015170382A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13142Debugging, tracing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23283Debugging, breakpoint

Definitions

  • the present invention relates to an engineering tool, a program editing apparatus, and a program editing system for creating a sequence program.
  • the current value changing process is a process of manually changing the value of the memory during execution of the sequence program.
  • the test with an execution condition has a function of setting a memory value to a specified value in a specific portion (condition) of the sequence program. With this function, it is necessary to specify a condition and the memory number and value to be changed after opening a dedicated dialog screen other than the program editor.
  • a sequence program that operates as an actual product is referred to as an official program.
  • a formal program is created and converted to be executable by the controller.
  • the official program is written to the controller and executed, and the operation is confirmed on a monitor or the like.
  • a debugging program is added to the malfunctioning portion of the official program which is a portion to be debugged. For example, a debugging program is added by inserting a circuit element of “OR TRUE” into a condition part of a circuit that is always on.
  • the entire program in which the debugging program is inserted is converted so that it can be executed by the controller.
  • the entire program including the debugging program is written to the controller and executed, and the operation is confirmed again by a monitor or the like.
  • the operation check is performed by switching the execution of the formal program and the debugging program, the above (3) and (4) are repeated. Specifically, correction, conversion, writing, and operation confirmation of the entire program are repeated.
  • the program part for debugging is deleted. Then, the formal program is converted again and written into the controller so that it can be executed by the controller. Thereafter, the controller executes processing using the official program.
  • the above-described conventional technique has a problem that it takes time and effort to debug, because it is necessary to repeatedly edit, convert, write, and execute a program during debugging.
  • the present invention has been made in view of the above, and an object thereof is to obtain an engineering tool, a program editing device, and a program editing system that can be easily debugged.
  • the present invention provides a controller that, when a debugging program to be used at the time of confirming the operation of a formal program that is operated as an actual product is selected by a controller.
  • a controller that, when the debugging program is executed and the debugging program is not selected, the formal program and the debugging are executed so that the formal program is executed without the debugging program being executed by the controller.
  • a program display / editing section for distinguishing and editing the program.
  • FIG. 1 is a diagram illustrating a configuration of a debug system according to an embodiment.
  • FIG. 2 is a diagram showing a display example of the entire program.
  • FIG. 3 is a diagram illustrating an example of a screen for switching the execution mode of the PLC.
  • FIG. 4 is a flowchart showing a debugging processing procedure.
  • FIG. 5 is a diagram for explaining a first creation example of a debugging program.
  • FIG. 6 is a diagram for explaining a second creation example of the debugging program.
  • FIG. 7 is a diagram illustrating a hardware configuration of the program editing apparatus.
  • Formal program Program code or its execution object that can be run as an actual product.
  • the official program is used when the controller controls the robot or the like in the actual product manufacturing process.
  • Debug program A program code portion or an execution object thereof that is created and operated for operation confirmation before product shipment.
  • the debugging program is a part that does not operate as an actual product.
  • Whole program An official program in which a debugging program is inserted, and indicates the entire sequence program.
  • the entire program in the following description may be a formal program in which a debugging program is inserted, or may be a formal program before the debugging program is inserted.
  • FIG. 1 is a diagram illustrating a configuration of a debug system according to an embodiment.
  • a debug system 1 using a PLC (Programmable Logic Controller) system has a program editing device 2 and a PLC 20.
  • the program editing device 2 is a computer or the like, and includes an engineering tool 10, a display unit 32 such as a monitor, and a reception unit 31 such as a mouse and a keyboard.
  • the accepting unit 31 accepts a formal program created by an external device or the like or an instruction from the user.
  • the receiving unit 31 is connected to the engineering tool 10 and inputs an official program and an instruction input by the user to the engineering tool 10.
  • the display unit 32 is connected to the engineering tool 10 and displays a sequence program such as an entire program, a formal program, and a debugging program in accordance with an instruction from the engineering tool 10.
  • the engineering tool 10 is a programming tool for creating a sequence program such as a ladder program.
  • the engineering tool 10 edits a sequence program that is operated by the PLC 20.
  • the engineering tool 10 can be realized as S / W (software) on a computer, for example.
  • Debug system 1 reduces the man-hours for designing a sequence program by saving the trouble of creating and executing a program dedicated to debugging when debugging the sequence program.
  • the engineering tool 10 creates an entire program so that the formal program and the debugging program can be switched.
  • the engineering tool 10 creates an entire program so that the debugging program has a dedicated instruction for debugging.
  • the engineering tool 10 has a function of displaying and editing the entire program by distinguishing a debug dedicated instruction portion and a formal program portion.
  • the PLC 20 executes a debug-dedicated instruction for the debug program only in the debug mode, and executes the official program in the normal mode.
  • the PLC 20 is an example of a controller, and controls a robot and the like using a sequence program.
  • the PLC 20 according to the present embodiment controls a robot or the like using the entire program created by the engineering tool 10. In this way, the entire program is created / edited / mode switched by the engineering tool 10, and processing corresponding to the mode switching is executed by the PLC 20.
  • the engineering tool 10 includes a program display editing unit 11, an instruction management unit 12, a program storage unit 13, a program conversion unit 14, an execution switching unit 15, and a PLC communication unit 16.
  • the program display editing unit 11 is application software as an editor for editing a program code executed by the PLC 20.
  • a ladder language is often used for a sequence program.
  • the sequence program is a ladder program.
  • the program display editing unit 11 executes display processing or editing processing of the sequence program on the display unit 32 based on an instruction from the user input from the reception unit 31.
  • the program display editing unit 11 inserts, for example, a dedicated debug instruction in accordance with an instruction from the user into the sequence program.
  • the program display editing unit 11 executes the debug program in the PLC 20, and when the debug program is not selected, the PLC 20 does not execute the debug program.
  • the formal program and the debugging program are distinguished and edited so that the formal program is executed.
  • the program display / editing unit 11 switches the circuit in the formal program designated by the user from the formal program to the debugging program.
  • the program display / editing unit 11 has a function of displaying a debug program created by a debug-dedicated instruction separately from the official program.
  • FIG. 2 is a diagram showing a display example of the entire program.
  • the program display editing unit 11 displays at least a part of the entire program on the display unit 32. At this time, the program display editing unit 11 displays the debug program 41 and the official program separately. For example, the program display editing unit 11 may display the debug program 41 and the formal program in different colors, or may surround the debug program 41 with a predetermined line or the like.
  • the program display / editing unit 11 sends the edited entire program to the program storage unit 13.
  • the command management unit 12 stores a list of commands that can be input into the sequence program by the program display editing unit 11.
  • the instruction management unit 12 distinguishes and manages the formal instructions used in the formal program and the debug dedicated instructions used in the debugging program.
  • the command managed by the command management unit 12 is sent to the program display editing unit 11 in accordance with an instruction from the user.
  • the command managed by the command management unit 12 is read by the program conversion unit 14.
  • the program storage unit 13 stores the program code of the official program before editing created by the external device and the program code of the entire program created by the program display editing unit 11.
  • the program storage unit 13 stores the execution code of the entire program converted by the program conversion unit 14.
  • the program conversion unit 14 executes compilation, which is a process for converting the program code of the entire program in the program storage unit 13 into an execution code executable by the PLC 20.
  • the execution code is a list of processes to be executed by the PLC 20, and is expressed as a sequence of commands including an instruction and its operand, for example.
  • the program conversion unit 14 has a function of converting the debug-dedicated instructions inserted into the entire program by the program display editing unit 11 into debug-dedicated instructions that can be executed by the PLC 20.
  • the program conversion unit 14 reads an instruction managed by the instruction management unit 12 when converting the program code into an execution code executable by the PLC 20. Then, the program conversion unit 14 converts the program code based on whether the read instruction is a formal instruction or a debug-dedicated instruction. The program conversion unit 14 converts the program code so that it can be identified whether each program code is a formal instruction or a debug-dedicated instruction.
  • the program conversion unit 14 adds, for example, information indicating that it is a formal instruction or information indicating that it is a debug-dedicated instruction to each program code.
  • the program conversion unit 14 sends the entire program after conversion to the program storage unit 13 and the PLC communication unit 16.
  • the execution switching unit 15 has an interface function for switching the execution mode of the PLC 20.
  • FIG. 3 is a diagram illustrating an example of a screen for switching the execution mode of the PLC.
  • the engineering tool 10 displays an icon used when switching the execution mode of the PLC 20 on the edit screen of the sequence program.
  • the icons used when switching the execution mode of the PLC 20 are an icon indicating the normal mode and an icon indicating the debug mode.
  • the icon indicating the normal mode and the icon indicating the debug mode are arranged on a toolbar of a screen for editing the sequence program.
  • the icon indicating the normal mode is an icon selected when causing the PLC 20 to execute the official program
  • the icon indicating the debug mode is an icon selected when causing the PLC 20 to execute the debugging program.
  • the execution switching unit 15 sends a command for instructing the normal mode to the PLC communication unit 16.
  • the execution switching unit 15 sends an instruction for instructing the debug mode to the PLC communication unit 16.
  • the PLC communication unit 16 writes the execution code of the entire program converted by the program conversion unit 14 in the PLC 20. Also.
  • the PLC communication unit 16 sends an instruction to operate in the normal mode or an instruction to operate in the debug mode to the PLC 20.
  • an instruction for instructing the normal mode or an instruction for instructing the debug mode may be referred to as a mode switching instruction.
  • the PLC 20 is H / W (hardware) that executes the execution code written by the PLC communication unit 16.
  • the PLC 20 includes a program execution unit 21.
  • the program execution unit 21 is a CPU (Central Processing Unit) that executes processing of an execution code.
  • the program execution unit 21 according to the present embodiment switches the mode for executing the entire program between the debug mode and the normal mode in accordance with the mode switching instruction.
  • the program execution unit 21 executes the entire program in either the debug mode or the normal mode according to the mode switching instruction.
  • the program execution unit 21 executes a debug dedicated instruction in the debug mode, and does not execute the debug dedicated instruction in the normal mode.
  • the program execution unit 21 may be a simulator realized by S / W.
  • FIG. 4 is a flowchart showing a debugging processing procedure.
  • the formal program is created, the formal program is written into the program storage unit 13 via the receiving unit 31.
  • the program conversion unit 14 converts the program code of the official program in the program storage unit 13 into an execution code that can be executed by the PLC 20 (step S10).
  • the program storage unit 13 stores the converted execution code.
  • the PLC communication unit 16 writes the execution code of the official program converted by the program conversion unit 14 in the PLC 20 (step S20). Thereafter, the program execution unit 21 of the PLC 20 operates the PLC 20 using the official program. Then, the malfunction of the official program is inspected by checking the operation of the PLC 20 (step S30).
  • a debugging program using a dedicated debug instruction is added to the location where you want to check the operation of the official program.
  • This debugging program is inserted into the official program. For example, a circuit element of “OR TRUE” is inserted in the condition part of the circuit that is always on. Then, the official program in which the debugging program is inserted is written in the program storage unit 13 as an entire program.
  • the program conversion unit 14 converts the program code of the debugging program in the program storage unit 13 into an execution code executable by the PLC 20 (step S40).
  • the program storage unit 13 stores the converted execution code.
  • FIG. 5 is a diagram for explaining a first creation example of a debugging program.
  • FIG. 5 shows an operation and a screen image when the selected range of the formal program is changed to the debugging program after the circuit is created by the formal program.
  • the program display editing unit 11 highlights the selected area 42.
  • the program display editing unit 11 switches the area 42 from the official program to the debugging program (ST2). Further, the program display editing unit 11 displays information indicating that the debug program is set in the area 42. For example, the program display editing unit 11 displays characters such as “#DEBUG” in the area 42 (ST3). As a result, the user can easily create a debugging program.
  • FIG. 6 is a diagram for explaining a second creation example of the debugging program.
  • FIG. 6 shows an example of a screen displayed by the program display editing unit 11 when a debug-dedicated instruction is input.
  • the program display / editing unit 11 After displaying the entire program, the program display / editing unit 11 is ready to accept editing of the entire program.
  • the program display editing unit 11 sets the input debug-dedicated instruction at a specified circuit position in the entire program ( ST11).
  • the debug-dedicated instruction is, for example, “OR_D TRUE” corresponding to the OR instruction, and is configured to be distinguishable from the official instruction by adding a character “_D” to the formal instruction.
  • the program display editing unit 11 displays the input debug instruction as a debug program (ST12). As a result, the user can easily distinguish between the debugging program and the official program.
  • the PLC communication unit 16 After the program conversion unit 14 converts the debug program, the PLC communication unit 16 writes the converted execution code of the debug program into the PLC 20. As a result, the execution code of the debugging program and the execution code of the official program converted by the program conversion unit 14 are written in the PLC 20. In this way, the PLC communication unit 16 writes the execution code of the debugging program and the execution code of the official program into the PLC 20, thereby writing the execution code of the entire program into the PLC 20 (step S 50).
  • the execution switching unit 15 determines the type of the selected icon (step S60).
  • the execution switching unit 15 switches the execution mode of the PLC 20 to the debug mode (step S70).
  • the PLC communication unit 16 sends a mode switching instruction for instructing the debug mode to the program execution unit 21.
  • the program execution unit 21 operates the PLC 20 using a debugging program. Specifically, the program execution unit 21 operates the PLC 20 using the entire program including the debugging program and the official program. Thereby, operation check of PLC20 is performed (step S80). Then, the malfunction of the official program is inspected by checking the operation of the PLC 20 (step S90).
  • step S90 If there is a problem in the official program (step S90, Yes), the official program is corrected, and the corrected official program is converted into an execution code by the program conversion unit 14 (step S100).
  • the program display / editing unit 11 displays the formal program on the display unit 32 and changes the formal program in accordance with an instruction from the user.
  • storage part 13 memorize
  • the program conversion unit 14 converts the changed portion of the entire program into an execution code executable by the PLC 20.
  • the program storage unit 13 stores the converted execution code.
  • the PLC communication unit 16 writes the execution code of the official program converted by the program conversion unit 14 in the PLC 20.
  • the execution code of the changed part of the entire program is written in the PLC 20.
  • the execution code of the debugging program and the execution code of the official program converted by the program conversion unit 14 are written in the PLC 20.
  • the execution code of the entire program is written into the PLC 20 (step S50).
  • an icon for switching the execution mode is selected by the user.
  • the execution switching unit 15 determines the type of the selected icon (step S60).
  • step S90 when there is no problem in the official program (step S90, No), an icon for switching the execution mode is selected by the user.
  • the execution switching unit 15 determines the type of the selected icon (step S60).
  • step S60 debug mode
  • the debug system 1 When the icon indicating the debug mode is selected (step S60, debug mode), the debug system 1 performs a series of processes of steps S70 to S100, S50, and S60 or a series of processes of steps S70 to S90 and S60.
  • step S60 normal mode
  • the execution switching unit 15 switches the execution mode of the PLC 20 to the normal mode (step S110).
  • the PLC communication unit 16 sends a mode switching command for instructing the normal mode to the program execution unit 21.
  • the program execution unit 21 operates the PLC 20 using the official program. Specifically, the program execution unit 21 operates the PLC 20 using only the official program without using the debugging program among the entire program. Thereby, in the debug system 1, the operation of the PLC 20 using the official program is executed.
  • the debug instruction is a CPU instruction executed by the program execution unit 21 and is configured with a predetermined number of bits (for example, 32 bits).
  • information indicating the debug mode is stored in the debug dedicated instruction.
  • Information indicating the normal mode is stored in the formal command.
  • the debug instruction and formal instruction each store the address, base number, instruction execution condition, instruction, instruction type, and the like.
  • the address is, for example, an offset value from a designated base. For example, a bit indicating the debug mode or the normal mode is added in the execution condition of the instruction.
  • a bit indicating the debug mode is stored in the execution condition in the debug dedicated instruction
  • a bit indicating the normal mode is stored in the execution condition in the official instruction.
  • the program execution unit 21 switches the operation mode based on the bit indicating the debug mode or the normal mode.
  • information indicating the debug mode or the normal mode may be stored in a predetermined bit (for example, the upper one bit) of the bits indicating the address.
  • a predetermined bit for example, the upper one bit
  • the program execution part 21 switches an operation mode based on an address.
  • the CPU instruction When information indicating the debug mode is stored in the CPU instruction, the CPU instruction is a debug-dedicated instruction, and therefore the program execution unit 21 operates the PLC 20 using the debug program.
  • this CPU instruction is an official instruction, and therefore the program execution unit 21 operates the PLC 20 using the official program. Since the debugging system 1 of the present embodiment does not use a debugging program when executing the normal mode, the execution operation in the normal mode is not affected.
  • information indicating the debug mode when information indicating the debug mode is stored in the CPU instruction, information indicating the normal mode may not be stored in the CPU instruction. In this case, if the information indicating the debug mode is not stored in the CPU instruction, the program execution unit 21 determines that the CPU instruction is a formal instruction.
  • information indicating the normal mode when information indicating the normal mode is stored in the CPU instruction, information indicating the debug mode may not be stored in the CPU instruction. In this case, if the information indicating the normal mode is not stored in the CPU instruction, the program execution unit 21 determines that the CPU instruction is a debug-dedicated instruction.
  • FIG. 7 is a diagram showing a hardware configuration of the program editing apparatus.
  • the program editing apparatus 2 includes a CPU 91, a ROM (Read Only Memory) 92, a RAM (Random Access Memory) 93, a display unit 32, and a reception unit 31.
  • the CPU 91, ROM 92, RAM 93, display unit 32, and reception unit 31 are connected via the bus line B.
  • the CPU 91 edits the official program using the editing program 90 which is a computer program.
  • the display unit 32 is a display device such as a liquid crystal monitor, and displays a formal program, a debugging program, an entire program, an operation state of the PLC 20 and the like based on an instruction from the CPU 91.
  • the receiving unit 31 includes a mouse and a keyboard, and receives parameters necessary for program editing, which are instruction information input from the user. The instruction information received by the receiving unit 31 is sent to the CPU 91.
  • the editing program 90 is stored in the ROM 92 and loaded into the RAM 93 via the bus line B.
  • the CPU 91 executes the editing program 90 loaded in the RAM 93.
  • the CPU 91 reads the editing program 90 from the ROM 92 and expands it in the program storage area in the RAM 93 in accordance with an instruction input to the receiving unit 31 by the user, and executes various processes.
  • the CPU 91 temporarily stores various data generated during the various processes in a data storage area formed in the RAM 93.
  • the editing program 90 executed by the program editing device 2 has a module configuration including a program display editing unit 11, an instruction management unit 12, a program conversion unit 14, an execution switching unit 15, and a PLC communication unit 16. These are loaded onto the main storage and are generated on the main storage.
  • the functions of the instruction management unit 12, the program conversion unit 14, the execution switching unit 15, and the PLC communication unit 16 may be stored in a different program from the editing program 90.
  • the formal program and the debugging program are one object.
  • the normal mode and the debug mode are switched depending on whether or not instructions in the entire program are executed. For this reason, it is not necessary to generate a formal program and a debugging program separately.
  • program conversion unit 14 may simultaneously convert the formal program and the debugging program at the same time. Further, the PLC communication unit 16 may write the formal program and the debugging program into the program execution unit 21 at the same time.
  • the number of series of operations in the debug work can be reduced, the number of steps of the sequence program debug work can be reduced. Therefore, it is possible to create a sequence program that can be debugged easily in a short time.
  • the engineering tool, program editing apparatus, and program editing system according to the present invention are suitable for creating a sequence program.
  • 1 debug system 2 program editing device, 10 engineering tool, 11 program display editing unit, 12 instruction management unit, 13 program storage unit, 14 program conversion unit, 15 execution switching unit, 16 PLC communication unit, 20 PLC, 21 program execution Part, 31 reception part, 32 display part, 41 program for debugging.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)
  • Software Systems (AREA)

Abstract

 エンジニアリングツール10が、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラでデバッグ用プログラムが実行され、かつデバッグ用プログラムが選択されなかった場合には、コントローラでデバッグ用プログラムが実行されることなく正式プログラムが実行されるよう、正式プログラムとデバッグ用プログラムとを区別して編集するプログラム表示編集部11を備える。

Description

エンジニアリングツール、プログラム編集装置およびプログラム編集システム
 本発明は、シーケンスプログラムを作成するエンジニアリングツール、プログラム編集装置およびプログラム編集システムに関する。
 シーケンスプログラムをデバッグする方法として、現在値の変更処理や実行条件付きテストを行なう方法があるが、これらの方法では、設定操作に手間がかかっていた。現在値の変更処理は、シーケンスプログラムの実行中にメモリの値を手動で変更する処理である。現在値の変更処理が実行されるためには、専用ダイアログ画面が開かれ、変更するメモリ番号および値を指定する必要がある。実行条件付きテストは、シーケンスプログラムの特定箇所(条件)において、メモリの値が指定された値に設定される機能を有している。この機能では、プログラムエディタ以外の専用ダイアログ画面が開かれたうえで、条件と、変更したいメモリ番号および値と、を指定する必要がある。
 また、シーケンスプログラムをデバッグする方法として、例えば、以下の(1)~(6)に示す一連の操作を行なう方法がある(例えば、特許文献1参照)。なお、以下では、実際の製品として稼働するシーケンスプログラムを正式プログラムという。
 (1)正式プログラムが作成され、コントローラで実行可能なように変換される。
 (2)正式プログラムがコントローラへ書込まれて実行され、モニタなどで動作が確認される。
 (3)実行時に不具合が検出されると、正式プログラムのうちデバッグをしたい部分である不具合箇所に、デバッグ用のプログラムが追加される。例えば、常時ONにしたい回路の条件部に“OR TRUE”の回路要素が挿入されるなどして、デバッグ用のプログラムが追加される。その後、デバッグ用のプログラムが挿入された全体のプログラムが、コントローラで実行可能なように変換される。
 (4)デバッグ用のプログラムを含む全体のプログラムがコントローラへ書込まれて実行され、再度モニタなどで動作が確認される。
 (5)正式プログラムとデバッグ用のプログラムとの実行を切り替えて動作確認が行なわれる場合には、上記(3)と(4)が繰り返される。具体的には、全体のプログラムの修正、変換、書込み、動作確認が繰り返される。
 (6)正式プログラムの正常動作が確認された後、デバッグ用のプログラム部分が削除される。そして、正式プログラムが、コントローラで実行可能なよう、再度変換されてコントローラへ書込まれる。この後、コントローラでは、正式プログラムを用いた処理が実行される。
特開平4-370805号公報
 しかしながら、上記従来の技術では、デバッグ作業の際に、プログラムの編集、変換、書込み、実行を繰り返す必要があるので、デバッグ作業に手間がかかるという問題があった。
 本発明は、上記に鑑みてなされたものであって、容易にデバッグを行うことができるエンジニアリングツール、プログラム編集装置およびプログラム編集システムを得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、エンジニアリングツールが、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とする。
 本発明によれば、容易にデバッグを行うことができるシーケンスプログラムを作成することが可能になるという効果を奏する。
図1は、実施の形態に係るデバッグシステムの構成を示す図である。 図2は、全体プログラムの表示例を示す図である。 図3は、PLCの実行モードを切り替える画面の一例を示す図である。 図4は、デバッグの処理手順を示すフローチャートである。 図5は、デバッグ用プログラムの第1の作成例を説明するための図である。 図6は、デバッグ用プログラムの第2の作成例を説明するための図である。 図7は、プログラム編集装置のハードウェア構成を示す図である。
 以下に、本発明の実施の形態に係るエンジニアリングツール、プログラム編集装置およびプログラム編集システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
 本実施の形態では、「正式プログラム」、「デバッグ用プログラム」、「全体プログラム」という用語を以下のように区別して用いる。
 正式プログラム:実際の製品として動作させられるプログラムコードもしくはその実行オブジェクト。正式プログラムは、実際の製品の製造工程などで、コントローラがロボットなどを制御する際に用いられる。
 デバッグ用プログラム:製品出荷前に動作確認用として作成されて動作させられるプログラムコード部分もしくはその実行オブジェクト。デバッグ用プログラムは、実際の製品としては動作しない部分である。
 全体プログラム:デバッグ用プログラムが挿入された正式プログラムであり、シーケンスプログラムの全体を指す。
 なお、以下の説明における全体プログラムは、デバッグ用プログラムが挿入された正式プログラムであってもよいし、デバッグ用プログラムが挿入される前の正式プログラムであってもよい。
 図1は、実施の形態に係るデバッグシステムの構成を示す図である。PLC(Programmable Logic Controller)システムを用いたデバッグシステム1は、プログラム編集装置2とPLC20とを有している。プログラム編集装置2は、コンピュータなどであり、エンジニアリングツール10と、モニタなどの表示部32と、マウスやキーボードなどの受付部31とを備えている。
 受付部31は、外部装置などで作成された正式プログラムやユーザからの指示などを受付ける。受付部31は、エンジニアリングツール10に接続されており、正式プログラムやユーザ入力される指示をエンジニアリングツール10に入力する。表示部32は、エンジニアリングツール10に接続されており、エンジニアリングツール10からの指示に従って、全体プログラム、正式プログラム、デバッグ用プログラムなどのシーケンスプログラムを表示する。
 エンジニアリングツール10は、ラダープログラムなどのシーケンスプログラムを作成するプログラミングツールである。エンジニアリングツール10は、PLC20で動作させるシーケンスプログラムを編集する。エンジニアリングツール10は、例えばコンピュータ上のS/W(ソフトウェア)として実現できる。
 デバッグシステム1は、シーケンスプログラムをデバッグする際に、デバッグ専用のプログラムを作成して実行する手間を省くことによってシーケンスプログラムの設計工数を削減する。本実施の形態では、エンジニアリングツール10が、正式プログラムとデバッグ用プログラムとを切替え可能なよう全体プログラムを作成する。
 エンジニアリングツール10は、デバッグ用プログラムがデバッグ専用命令を備えるよう、全体プログラムを作成する。エンジニアリングツール10は、デバッグ専用命令の部分と、正式プログラムの部分とを区別して全体プログラムの表示・編集を行う機能を有している。PLC20は、デバッグモード時のみデバッグ用プログラムのデバッグ専用命令を実行し、通常モード時には、正式プログラムを実行する。
 PLC20は、コントローラの一例であり、シーケンスプログラムを用いてロボットなどを制御する。本実施の形態のPLC20は、エンジニアリングツール10で作成された全体プログラムを用いてロボットなどを制御する。このように全体プログラムは、エンジニアリングツール10で作成・編集・モード切替が行われ、PLC20でモード切替に応じた処理が実行される。
 エンジニアリングツール10は、プログラム表示編集部11と、命令管理部12と、プログラム記憶部13と、プログラム変換部14と、実行切替部15と、PLC通信部16とを備えている。
 プログラム表示編集部11は、PLC20で実行されるプログラムコードを編集するエディタとしてのアプリケーションソフトである。PLC20やロボットを用いたPLCシステムでは、シーケンスプログラムにラダー言語が用いられることが多い。以下では、シーケンスプログラムがラダープログラムである場合について説明する。
 プログラム表示編集部11は、受付部31から入力されたユーザからの指示に基づいて、シーケンスプログラムの表示部32への表示処理や編集処理などを実行する。プログラム表示編集部11は、例えば、ユーザからの指示に応じたデバッグ専用命令をシーケンスプログラム内に挿入する。
 プログラム表示編集部11は、デバッグ用プログラムが選択された場合には、PLC20でデバッグ用プログラムが実行され、デバッグ用プログラムが選択されなかった場合には、PLC20でデバッグ用プログラムが実行されることなく正式プログラムが実行されるよう、正式プログラムとデバッグ用プログラムとを区別して編集する。
 また、プログラム表示編集部11は、ユーザから指定された正式プログラム内の回路を正式プログラムからデバッグ用プログラムに切替える。また、プログラム表示編集部11は、デバッグ専用命令で作成されたデバッグ用プログラムを正式プログラムと区別して表示させる機能を有している。
 図2は、全体プログラムの表示例を示す図である。プログラム表示編集部11は、全体プログラムの少なくとも一部を表示部32に表示させる。このとき、プログラム表示編集部11は、デバッグ用プログラム41と正式プログラムとを区別して表示させる。プログラム表示編集部11は、例えば、デバッグ用プログラム41と正式プログラムとを異なる色で表示させてもよいし、デバッグ用プログラム41を所定の線などで囲ってもよい。プログラム表示編集部11は、編集の完了した全体プログラムをプログラム記憶部13に送る。
 命令管理部12は、プログラム表示編集部11でシーケンスプログラム内に入力することのできる命令の一覧を記憶する。命令管理部12は、正式プログラムで使用する正式命令と、デバッグ用プログラムで使用するデバッグ専用命令とを区別して管理する。命令管理部12で管理されている命令は、ユーザからの指示に従ってプログラム表示編集部11に送られる。また、命令管理部12で管理されている命令は、プログラム変換部14によって読み出される。
 プログラム記憶部13は、外部装置で作成された編集前の正式プログラムのプログラムコードやプログラム表示編集部11で作成された全体プログラムのプログラムコードを記憶する。また、プログラム記憶部13は、プログラム変換部14で変換された全体プログラムの実行コードを記憶する。
 プログラム変換部14は、プログラム記憶部13内にある全体プログラムのプログラムコードをPLC20で実行可能な実行コードに変換する処理であるコンパイルを実行する。実行コードは、PLC20で実行する処理を並べたものであり、例えば、命令とそのオペランドからなるコマンドの列として表現される。
 本実施の形態のプログラム変換部14は、プログラム表示編集部11が全体プログラムに挿入したデバッグ専用命令を、PLC20で実行可能なデバッグ専用命令に変換する機能を備えている。
 プログラム変換部14は、プログラムコードをPLC20で実行可能な実行コードに変換する際に、命令管理部12で管理されている命令を読み出す。そして、プログラム変換部14は、読み出した命令が正式命令であるかデバッグ専用命令であるかに基づいて、プログラムコードを変換する。プログラム変換部14は、各プログラムコードが正式命令とデバッグ専用命令の何れであるかが識別可能となるよう、プログラムコードを変換する。
 プログラム変換部14は、例えば、各プログラムコードに、正式命令であることを示す情報またはデバッグ専用命令であることを示す情報を付加しておく。プログラム変換部14は、変換後の全体プログラムをプログラム記憶部13およびPLC通信部16に送る。
 実行切替部15は、PLC20の実行モードを切り替えるインタフェースの機能を有している。図3は、PLCの実行モードを切り替える画面の一例を示す図である。エンジニアリングツール10は、PLC20の実行モードを切り替える際に用いるアイコンを、シーケンスプログラムの編集画面に表示させる。PLC20の実行モードを切り替える際に用いるアイコンは、通常モードを示すアイコンとデバッグモードを示すアイコンである。通常モードを示すアイコンおよびデバッグモードを示すアイコンは、シーケンスプログラムを編集する画面のツールバー上などに配置される。
 通常モードを示すアイコンは、PLC20に正式プログラムを実行させる際に選択されるアイコンであり、デバッグモードを示すアイコンは、PLC20にデバッグ用プログラムを実行させる際に選択されるアイコンである。
 実行切替部15は、通常モードを示すアイコンが押されると、通常モードを指示する命令をPLC通信部16に送る。実行切替部15は、デバッグモードを示すアイコンが押されると、デバッグモードを指示する命令をPLC通信部16に送る。
 PLC通信部16は、プログラム変換部14で変換された全体プログラムの実行コードをPLC20に書き込む。また。PLC通信部16は、通常モードで動作させる命令またはデバッグモードで動作させる命令をPLC20に送る。なお、以下の説明では、通常モードを指示する命令またはデバッグモードを指示する命令を、モード切替命令という場合がある。
 PLC20は、PLC通信部16によって書き込まれた実行コードを実行するH/W(ハードウェア)である。PLC20は、プログラム実行部21を備えている。プログラム実行部21は、実行コードの処理を実行するCPU(Central Processing Unit)などである。本実施の形態のプログラム実行部21は、モード切替命令に従って、全体プログラムを実行するモードを、デバッグモードと通常モードとの何れかに切替える。プログラム実行部21は、モード切替命令に従って、デバッグモードと通常モードとの何れかで全体プログラムを実行する。プログラム実行部21は、デバッグモード時にはデバッグ専用命令を実行し、通常モード時にはデバッグ専用命令を実行しない。なお、プログラム実行部21は、S/Wで実現されたシミュレータでもよい。
 つぎに、デバッグシステム1が実行するデバッグの処理手順について説明する。図4は、デバッグの処理手順を示すフローチャートである。正式プログラムが作成されると、この正式プログラムが受付部31を介してプログラム記憶部13に書き込まれる。そして、プログラム変換部14は、プログラム記憶部13内にある正式プログラムのプログラムコードを、PLC20で実行可能な実行コードに変換する(ステップS10)。プログラム記憶部13は、変換後の実行コードを記憶しておく。
 PLC通信部16は、プログラム変換部14で変換された正式プログラムの実行コードをPLC20に書き込む(ステップS20)。この後、PLC20のプログラム実行部21は、正式プログラムを用いてPLC20を動作させる。そして、PLC20の動作確認が行なわれることにより、正式プログラムの不具合が検査される(ステップS30)。
 正式プログラムの不具合が検出されると、正式プログラムのうち動作確認したい箇所にデバッグ専用命令を用いたデバッグ用プログラムが追加される。このデバッグ用プログラムは、正式プログラム内に挿入される。例えば、常時ONにしたい回路の条件部に「OR TRUE」の回路要素が挿入される。そして、デバッグ用プログラムが挿入された正式プログラムが、全体プログラムとしてプログラム記憶部13に書き込まれる。
 プログラム変換部14は、プログラム記憶部13内にあるデバッグ用プログラムのプログラムコードを、PLC20で実行可能な実行コードに変換する(ステップS40)。プログラム記憶部13は、変換後の実行コードを記憶しておく。
 図5は、デバッグ用プログラムの第1の作成例を説明するための図である。図5では、正式プログラムで回路が作成された後、選択された範囲の正式プログラムがデバッグ用プログラムに変更される場合の操作と画面のイメージを示している。
 正式プログラムが配置されている回路領域の中から、デバッグ用プログラムに切替えたい領域42がユーザによって選択されると(ST1)、プログラム表示編集部11は、選択された領域42を強調表示する。
 この後、ユーザから表示切替の指示が受付部31に入力されると、プログラム表示編集部11は、領域42を正式プログラムからデバッグ用プログラムに切り替える(ST2)。さらに、プログラム表示編集部11は、領域42内に、デバッグ用プログラムが設定される領域であることを示す情報を表示させる。プログラム表示編集部11は、例えば、「#DEBUG」などの文字を領域42内に表示させる(ST3)。これにより、ユーザは容易にデバッグ用プログラムを作成することができる。
 図6は、デバッグ用プログラムの第2の作成例を説明するための図である。図6では、デバッグ専用命令が入力された場合にプログラム表示編集部11が表示させる画面の例を示している。
 プログラム表示編集部11は、全体プログラムを表示させた後、全体プログラムの編集を受け付ける状態になる。ユーザによって全体プログラム内の何れかの回路位置と、デバッグ専用命令とが入力されると、プログラム表示編集部11は、入力されたデバッグ専用命令を全体プログラム内の指定された回路位置に設定する(ST11)。
 デバッグ専用命令は、例えば、OR命令に相当する「OR_D TRUE」などであり、正式命令に「_D」の文字が付加されることによって、正式命令と区別可能なよう構成されている。デバッグ専用命令が入力されてユーザによって確定されると、プログラム表示編集部11は、入力されたデバッグ専用命令をデバッグ用プログラムとして表示する(ST12)。これにより、ユーザは、デバッグ用プログラムと正式プログラムとを容易に判別できる。
 プログラム変換部14がデバッグ用プログラムの変換を実行した後、PLC通信部16は、変換されたデバッグ用プログラムの実行コードをPLC20に書き込む。これにより、プログラム変換部14で変換された、デバッグ用プログラムの実行コードと正式プログラムの実行コードと、がPLC20に書き込まれた状態となる。このように、PLC通信部16は、デバッグ用プログラムの実行コードおよび正式プログラムの実行コードを、PLC20に書き込むことによって、全体プログラムの実行コードを、PLC20に書き込む(ステップS50)。
 この後、実行モードを切り替えるためのアイコンがユーザによって選択されると、実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。デバッグモードを示すアイコンが選択された場合(ステップS60、デバッグモード)、実行切替部15は、PLC20の実行モードをデバッグモードに切り替える(ステップS70)。具体的には、PLC通信部16が、デバッグモードを指示するモード切替命令を、プログラム実行部21に送る。
 この後、プログラム実行部21は、デバッグ用プログラムを用いてPLC20を動作させる。具体的には、プログラム実行部21は、デバッグ用プログラムと正式プログラムとを含む全体プログラムを用いてPLC20を動作させる。これにより、PLC20の動作確認が行われる(ステップS80)。そして、PLC20の動作確認が行われることによって、正式プログラムの不具合が検査される(ステップS90)。
 正式プログラムに不具合がある場合(ステップS90、Yes)、正式プログラムが修正され、修正後の正式プログラムがプログラム変換部14で実行コードに変換される(ステップS100)。
 具体的には、プログラム表示編集部11が、正式プログラムを表示部32に表示させるとともに、ユーザからの指示に従って正式プログラムを変更する。そして、プログラム記憶部13は、正式プログラムが変更された全体プログラムを記憶しておく。この後、プログラム変換部14は、全体プログラムのうち、変更された部分を、PLC20で実行可能な実行コードに変換する。プログラム記憶部13は、変換後の実行コードを記憶しておく。
 そして、PLC通信部16は、プログラム変換部14で変換された正式プログラムの実行コードをPLC20に書き込む。ここでは、全体プログラムのうち、変更された部分の実行コードが、PLC20に書き込まれる。
 これにより、プログラム変換部14で変換された、デバッグ用プログラムの実行コードと、正式プログラムの実行コードと、がPLC20に書き込まれた状態となる。この結果、全体プログラムの実行コードがPLC20に書き込まれる(ステップS50)。この後、実行モードを切り替えるためのアイコンがユーザによって選択される。実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。
 また、ステップS90の処理において、正式プログラムに不具合がない場合(ステップS90、No)、実行モードを切り替えるためのアイコンがユーザによって選択される。実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。
 デバッグモードを示すアイコンが選択された場合(ステップS60、デバッグモード)、デバッグシステム1では、ステップS70~S100,S50,S60の一連の処理またはステップS70~S90,S60の一連の処理が行われる。
 一方、通常モードを示すアイコンが選択された場合(ステップS60、通常モード)、実行切替部15は、PLC20の実行モードを通常モードに切り替える(ステップS110)。具体的には、PLC通信部16が、通常モードを指示するモード切替命令を、プログラム実行部21に送る。
 この後、プログラム実行部21は、正式プログラムを用いてPLC20を動作させる。具体的には、プログラム実行部21は、全体プログラムのうちデバッグ用プログラムを用いることなく正式プログラムのみを用いてPLC20を動作させる。これにより、デバッグシステム1では、正式プログラムを用いたPLC20の動作が実行される。
 ここで、デバッグ専用命令の構成例について説明する。デバッグ専用命令は、プログラム実行部21で実行させるCPU命令であり、所定のビット数(例えば、32ビット)で構成されている。本実施の形態では、デバッグモードを示す情報がデバッグ専用命令内に格納されている。また、通常モードを示す情報が正式命令内に格納されている。
 デバッグ専用命令および正式命令には、それぞれ、アドレス、ベース番号、命令の実行条件、命令、命令の種別などが格納されている。アドレスは、例えば、指定ベースからのオフセット値である。例えば、デバッグモードまたは通常モードを示すビットが、命令の実行条件内に追加されている。
 具体的には、デバッグ専用命令内の実行条件には、デバッグモードを示すビットが格納され、正式命令内の実行条件には、通常モードを示すビットが格納されている。そして、プログラム実行部21は、デバッグモードまたは通常モードを示すビットに基づいて、動作モードを切り替える。
 また、アドレスを示すビットのうちの所定ビット(例えば、上位1ビット)に、デバッグモードまたは通常モードを示す情報が格納されていてもよい。例えば、デバッグシステム1では、0x8000~0xFFFFをデバッグ専用命令に設定しておく。これにより、プログラム実行部21は、アドレスに基づいて、動作モードを切り替える。
 CPU命令内にデバッグモードを示す情報が格納されている場合、このCPU命令は、デバッグ専用命令なので、プログラム実行部21は、デバッグ用プログラムを用いてPLC20を動作させる。
 また、CPU命令内に通常モードを示す情報が格納されている場合、このCPU命令は、正式命令なので、プログラム実行部21は、正式プログラムを用いてPLC20を動作させる。本実施の形態のデバッグシステム1は、通常モードを実行する際にはデバッグ用プログラムを用いないので、通常モードの実行動作に影響を与えることはない。
 なお、デバッグモードを示す情報をCPU命令内に格納しておく場合には、通常モードを示す情報をCPU命令内に格納しておかなくてもよい。この場合、プログラム実行部21は、デバッグモードを示す情報がCPU命令内に格納されていなければ、このCPU命令は正式命令であると判断する。
 また、通常モードを示す情報をCPU命令内に格納しておく場合には、デバッグモードを示す情報をCPU命令内に格納しておかなくてもよい。この場合、プログラム実行部21は、通常モードを示す情報がCPU命令内に格納されていなければ、このCPU命令はデバッグ専用命令であると判断する。
 図7は、プログラム編集装置のハードウェア構成を示す図である。プログラム編集装置2は、CPU91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部32、受付部31を有している。プログラム編集装置2では、これらのCPU91、ROM92、RAM93、表示部32、受付部31がバスラインBを介して接続されている。
 CPU91は、コンピュータプログラムである編集プログラム90を用いて正式プログラムの編集を行う。表示部32は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、正式プログラム、デバッグ用プログラム、全体プログラム、PLC20の動作状態などを表示する。受付部31は、マウスやキーボードを備えて構成され、ユーザから外部入力される指示情報であるプログラム編集に必要なパラメータ等を受け付ける。受付部31が受け付けた指示情報は、CPU91へ送られる。
 編集プログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた編集プログラム90を実行する。具体的には、プログラム編集装置2では、ユーザによる受付部31への指示入力に従って、CPU91がROM92内から編集プログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
 プログラム編集装置2で実行される編集プログラム90は、プログラム表示編集部11と、命令管理部12と、プログラム変換部14と、実行切替部15と、PLC通信部16と、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。なお、命令管理部12、プログラム変換部14、実行切替部15、PLC通信部16の各機能は、編集プログラム90とは、異なる別のプログラムに格納しておいてもよい。
 このように、デバッグシステム1では、デバッグ作業中の正式プログラムとデバッグ用プログラムとの実行切替を1つの操作で行うことができる。このため、シーケンスプログラムの修正、変換、PLC20への書込み操作を繰り返す必要がなくなる。この結果、デバッグ時の作業であるプログラム作成や設定等の作業量を削減できる。
 また、PLC20を動作させるために、デバッグ終了後に、デバッグ用プログラムを削除すること、デバッグ用プログラムが削除された正式プログラムを変換すること、PLC20への書込み処理を行うことが、不要となる。したがって、デバッグ終了後の正式プログラムへの切替えの作業量を削減できる。また、デバッグ用プログラムの消し忘れなどによる品質劣化を防止できるので、シーケンスプログラムの品質を維持できる。
 また、正式プログラムとデバッグ用プログラムとは、1つのオブジェクトである。そして、全体プログラム中の命令を実行するか否かによって、通常モード時とデバッグモードとを切り替えている。このため、正式プログラムとデバッグ用プログラムとを別々に生成する必要はない。
 なお、プログラム変換部14は、正式プログラムとデバッグ用プログラムとを、まとめて同時に変換してもよい。また、PLC通信部16は、正式プログラムとデバッグ用プログラムとを、まとめて同時にプログラム実行部21に書き込んでもよい。
 このように実施の形態によれば、デバッグ作業における一連の操作数を減らすことができるので、シーケンスプログラムのデバッグ作業の工程数を削減することができる。したがって、短時間で容易にデバッグを行うことができるシーケンスプログラムを作成することが可能になる。
 以上のように、本発明に係るエンジニアリングツール、プログラム編集装置およびプログラム編集システムは、シーケンスプログラムの作成に適している。
 1 デバッグシステム、2 プログラム編集装置、10 エンジニアリングツール、11 プログラム表示編集部、12 命令管理部、13 プログラム記憶部、14 プログラム変換部、15 実行切替部、16 PLC通信部、20 PLC、21 プログラム実行部、31 受付部、32 表示部、41 デバッグ用プログラム。

Claims (11)

  1.  実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とするエンジニアリングツール。
  2.  前記プログラム表示編集部は、
     前記正式プログラムと前記デバッグ用プログラムとを区別する情報を前記正式プログラムおよび前記デバッグ用プログラムの少なくとも一方に付加することを特徴とする請求項1に記載のエンジニアリングツール。
  3.  前記コントローラに実行させるモードを、ユーザ入力される指示情報に基づいて、前記デバッグ用プログラムが実行されるデバッグモードと、前記正式プログラムが実行される通常モードと、の何れかに切り替える実行切替部をさらに備えることを特徴とする請求項1または2に記載のエンジニアリングツール。
  4.  前記プログラム表示編集部は、
     前記正式プログラムの中の何れかの回路を選択する選択指示と、選択された回路を前記デバッグ用プログラムに切替える切替え指示と、がユーザ入力されると、選択された回路を前記デバッグ用プログラムに変更することによって前記デバッグ用プログラムを作成することを特徴とする請求項1から3のいずれか1つに記載のエンジニアリングツール。
  5.  前記プログラム表示編集部は、
     前記デバッグ用プログラムで使用されるデバッグ専用命令を、ユーザ入力される指示情報に基づいて前記正式プログラムの中に挿入することによって、前記デバッグ用プログラムを作成することを特徴とする請求項1から3のいずれか1つに記載のエンジニアリングツール。
  6.  前記プログラム表示編集部が前記正式プログラムまたは前記デバッグ用プログラムとして入力することのできる命令として、前記正式プログラムで使用される正式命令と、前記デバッグ用プログラムで使用される前記デバッグ専用命令と、を区別して記憶する命令管理部をさらに備え、
     前記プログラム表示編集部は、前記命令管理部が記憶する命令に基づいて、前記正式プログラムと前記デバッグ用プログラムとを区別して編集することを特徴とする請求項1から5のいずれか1つに記載のエンジニアリングツール。
  7.  前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換する変換部をさらに備えることを特徴とする請求項1から6のいずれか1つに記載のエンジニアリングツール。
  8.  変換後の前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラに書き込む通信部をさらに備えることを特徴とする請求項7に記載のエンジニアリングツール。
  9.  前記変換部は、前記命令管理部が記憶する命令に基づいて、前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換することを特徴とする請求項7に記載のエンジニアリングツール。
  10.  実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とするプログラム編集装置。
  11.  シーケンスプログラムを編集するプログラム編集装置と、
     前記プログラム編集装置から送られてくるシーケンスプログラムを用いて動作するコントローラと、
     を有し、
     前記シーケンスプログラムは、
     実際の製品として動作させられる正式プログラムと、前記正式プログラムの動作確認時に用いられるデバッグ用プログラムと、を含み、
     前記プログラム編集装置は、
     前記デバッグ用プログラムが選択された場合には、前記コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備え、
     前記コントローラは、
     前記デバッグ用プログラムが選択された場合には、前記デバッグ用プログラムを実行し、かつ前記デバッグ用プログラムが選択されなかった場合には、前記デバッグ用プログラムを実行することなく前記正式プログラムを実行する、
     ことを特徴とするプログラム編集システム。
PCT/JP2014/062342 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム WO2015170382A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
PCT/JP2014/062342 WO2015170382A1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム
JP2015521902A JP5859173B1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム
DE112014002979.3T DE112014002979T8 (de) 2014-05-08 2014-05-08 Entwicklungswerkzeug, Programmänderungsgerät und Programmänderungssystem
KR1020167000885A KR101627488B1 (ko) 2014-05-08 2014-05-08 엔지니어링 툴, 프로그램 편집 장치 및 프로그램 편집 시스템
CN201480041074.8A CN105408823B (zh) 2014-05-08 2014-05-08 工程设计工具、程序编辑装置以及程序编辑系统
US14/904,184 US9727442B2 (en) 2014-05-08 2014-05-08 Engineering tool, program editing device, and program editing system
TW104114115A TWI564685B (zh) 2014-05-08 2015-05-04 工程工具、程式編輯裝置及程式編輯系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062342 WO2015170382A1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム

Publications (1)

Publication Number Publication Date
WO2015170382A1 true WO2015170382A1 (ja) 2015-11-12

Family

ID=54392251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/062342 WO2015170382A1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム

Country Status (7)

Country Link
US (1) US9727442B2 (ja)
JP (1) JP5859173B1 (ja)
KR (1) KR101627488B1 (ja)
CN (1) CN105408823B (ja)
DE (1) DE112014002979T8 (ja)
TW (1) TWI564685B (ja)
WO (1) WO2015170382A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013211A (ja) * 2018-07-13 2020-01-23 オムロン株式会社 プログラム開発装置、およびコントローラ
JP6808102B1 (ja) * 2020-02-14 2021-01-06 三菱電機株式会社 制御システム、プログラム作成支援装置、プログラム作成支援方法、およびプログラム作成支援プログラム
WO2023119519A1 (ja) * 2021-12-22 2023-06-29 三菱電機株式会社 Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102056350B1 (ko) * 2015-01-28 2019-12-16 미쓰비시덴키 가부시키가이샤 인텔리전트 기능 유닛 및 프로그래머블 로직 컨트롤러 시스템
TWI579721B (zh) * 2016-06-13 2017-04-21 崑山科技大學 建立個人化程式設計模型的方法
JP6624008B2 (ja) * 2016-10-27 2019-12-25 横河電機株式会社 エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
JP6946953B2 (ja) * 2017-11-10 2021-10-13 オムロン株式会社 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム
JP7234810B2 (ja) * 2019-06-07 2023-03-08 オムロン株式会社 サポート装置およびサポートプログラム
KR20230069661A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04370805A (ja) * 1991-06-20 1992-12-24 Hitachi Ltd プログラマブルコントローラ、並びにプログラム編集表示方法およびプログラム編集表示装置
JPH11242509A (ja) * 1998-02-26 1999-09-07 Omron Corp プログラマブルロジックコントローラ
JP2008059421A (ja) * 2006-09-01 2008-03-13 Yokogawa Electric Corp シーケンスプログラム編集支援装置
JP2009193276A (ja) * 2008-02-14 2009-08-27 Koyo Electronics Ind Co Ltd ラダープログラム作成装置およびこれを用いたラダープログラム作成実行システム
JP2010224597A (ja) * 2009-03-19 2010-10-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
WO2010137139A1 (ja) * 2009-05-27 2010-12-02 三菱電機株式会社 シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム
JP2011022838A (ja) * 2009-07-16 2011-02-03 Yokogawa Electric Corp デバッグ装置およびラダープログラム確認方法
JP2012027639A (ja) * 2010-07-22 2012-02-09 Fuji Electric Co Ltd プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03240803A (ja) 1990-02-19 1991-10-28 Mitsubishi Electric Corp シーケンスプログラム編集装置
JPH11249715A (ja) 1998-02-26 1999-09-17 Yaskawa Electric Corp シーケンスプログラムの自動生成方法とモーションコントローラ
US6353896B1 (en) * 1998-12-15 2002-03-05 Lucent Technologies Inc. Method and apparatus for testing event driven software
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6775579B2 (en) 2001-08-06 2004-08-10 Entivity, Inc. Flowchart-based control system with active debugging objects
US7191361B2 (en) * 2001-08-31 2007-03-13 National Instruments Corporation System and method enabling asynchronous execution of a test executive subsequence
JP2004062223A (ja) * 2002-07-24 2004-02-26 Yaskawa Electric Corp プログラマブルコントローラのプログラミング装置。
JP2004295295A (ja) 2003-03-26 2004-10-21 Yaskawa Electric Corp シミュレーションによりプログラムデバッグをする制御装置
JP4462402B2 (ja) 2003-07-16 2010-05-12 オムロン株式会社 プログラマブルコントローラ用のプログラム開発支援装置および処理方法並びにプログラムおよび記録媒体
US8059547B2 (en) * 2008-12-08 2011-11-15 Advantest Corporation Test apparatus and test method
GB2476011B (en) * 2008-09-29 2013-05-15 Fisher Rosemount Systems Inc Efficient design and configuration of elements in a process control system
WO2011137464A1 (de) 2010-05-03 2011-11-10 Keba Ag Verfahren zum selektiven aufzeichnen, rekonstruieren und analysieren des programmlaufs eines steuerungsprogramms
CN102789413B (zh) * 2011-05-23 2016-02-17 同济大学 一种并行程序的调试系统及方法
CN102855179A (zh) * 2011-06-30 2013-01-02 国际商业机器公司 虚拟机环境下的程序调试方法和系统
JP5800135B2 (ja) 2011-07-15 2015-10-28 富士電機株式会社 プログラマブルコントローラ
JP5849592B2 (ja) 2011-10-07 2016-01-27 富士電機株式会社 プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
US8745591B2 (en) * 2011-10-19 2014-06-03 Microsoft Corporation Data flow visualization and debugging
CN104204975B (zh) 2012-03-26 2016-10-12 三菱电机株式会社 定序程序调试辅助装置
US9586455B2 (en) 2012-03-29 2017-03-07 Toyota Jidosha Kabushiki Kaisha Road surface condition estimating apparatus
US20140059518A1 (en) * 2012-08-24 2014-02-27 Velocio Networks, Inc. Method for Object Oriented Programming of Programmable Logic Controllers in Graphical Programming Languages
JP6171387B2 (ja) * 2013-02-15 2017-08-02 オムロン株式会社 コントローラ、情報処理装置およびプログラム
US9779133B2 (en) * 2014-11-25 2017-10-03 Sap Se Contextual debugging of SQL queries in database-accessing applications
US9678855B2 (en) * 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04370805A (ja) * 1991-06-20 1992-12-24 Hitachi Ltd プログラマブルコントローラ、並びにプログラム編集表示方法およびプログラム編集表示装置
JPH11242509A (ja) * 1998-02-26 1999-09-07 Omron Corp プログラマブルロジックコントローラ
JP2008059421A (ja) * 2006-09-01 2008-03-13 Yokogawa Electric Corp シーケンスプログラム編集支援装置
JP2009193276A (ja) * 2008-02-14 2009-08-27 Koyo Electronics Ind Co Ltd ラダープログラム作成装置およびこれを用いたラダープログラム作成実行システム
JP2010224597A (ja) * 2009-03-19 2010-10-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
WO2010137139A1 (ja) * 2009-05-27 2010-12-02 三菱電機株式会社 シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム
JP2011022838A (ja) * 2009-07-16 2011-02-03 Yokogawa Electric Corp デバッグ装置およびラダープログラム確認方法
JP2012027639A (ja) * 2010-07-22 2012-02-09 Fuji Electric Co Ltd プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013211A (ja) * 2018-07-13 2020-01-23 オムロン株式会社 プログラム開発装置、およびコントローラ
JP7180158B2 (ja) 2018-07-13 2022-11-30 オムロン株式会社 プログラム開発装置、およびコントローラ
JP6808102B1 (ja) * 2020-02-14 2021-01-06 三菱電機株式会社 制御システム、プログラム作成支援装置、プログラム作成支援方法、およびプログラム作成支援プログラム
WO2021161518A1 (ja) * 2020-02-14 2021-08-19 三菱電機株式会社 制御システム、プログラム作成支援装置、プログラム作成支援方法、およびプログラム作成支援プログラム
CN115066676A (zh) * 2020-02-14 2022-09-16 三菱电机株式会社 控制系统、程序创建辅助装置、程序创建辅助方法及程序创建辅助程序
CN115066676B (zh) * 2020-02-14 2023-06-09 三菱电机株式会社 控制系统、程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质
WO2023119519A1 (ja) * 2021-12-22 2023-06-29 三菱電機株式会社 Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム

Also Published As

Publication number Publication date
JP5859173B1 (ja) 2016-02-10
DE112014002979T8 (de) 2016-06-09
TW201606463A (zh) 2016-02-16
DE112014002979T5 (de) 2016-03-10
KR20160014098A (ko) 2016-02-05
CN105408823A (zh) 2016-03-16
US20160147638A1 (en) 2016-05-26
KR101627488B1 (ko) 2016-06-03
JPWO2015170382A1 (ja) 2017-04-20
CN105408823B (zh) 2017-07-18
US9727442B2 (en) 2017-08-08
TWI564685B (zh) 2017-01-01

Similar Documents

Publication Publication Date Title
JP5859173B1 (ja) エンジニアリングツール、プログラム編集装置およびプログラム編集システム
US8843885B2 (en) Program creation support device
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP5619328B1 (ja) シーケンスプログラム作成支援装置
JP6891838B2 (ja) 開発支援装置、開発支援方法、および開発支援プログラム
JP3805776B2 (ja) グラフィカルプログラミング装置及びプログラマブル表示器
JP5566473B2 (ja) システム設計装置
JP2016059989A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
KR100790470B1 (ko) 디바이스 드라이버 테스트를 위한 테스트 케이스 자동 생성방법 및 장치
JP4774237B2 (ja) プログラム開発支援装置、プログラム動作比較方法および半導体集積回路製造方法
KR101716480B1 (ko) Gui 기반의 테스트케이스 입력 장치
TWI569118B (zh) 畫面作成軟體
JP6795568B2 (ja) トレース装置及びプログラマブルコントローラ
JP6407481B1 (ja) プログラム作成装置
JP5287630B2 (ja) 制御システム、制御システムの交信方法、通信ユニット、および通信ユニットの交信方法
KR101303866B1 (ko) 기판 처리 장치의 모니터링 방법
WO2023119519A1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP2023119717A (ja) 制御装置及びプログラム
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム
JP2019211843A (ja) ラダー表示装置
JPH07253876A (ja) プログラム作成装置
JP2010152830A (ja) 制作されたラダープログラムをプログラミングツール画面上でデバッグ等する方法
JP2008242871A (ja) ウィンドウ制御装置
JPH1173342A (ja) プログラム試験装置及びプログラム試験方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480041074.8

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2015521902

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14891299

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14904184

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20167000885

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112014002979

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14891299

Country of ref document: EP

Kind code of ref document: A1