WO2012124541A1 - 制御装置、制御システム、ツール装置および収集指示プログラム - Google Patents

制御装置、制御システム、ツール装置および収集指示プログラム Download PDF

Info

Publication number
WO2012124541A1
WO2012124541A1 PCT/JP2012/055674 JP2012055674W WO2012124541A1 WO 2012124541 A1 WO2012124541 A1 WO 2012124541A1 JP 2012055674 W JP2012055674 W JP 2012055674W WO 2012124541 A1 WO2012124541 A1 WO 2012124541A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
collection
program
user
task
Prior art date
Application number
PCT/JP2012/055674
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 CN201280011199.7A priority Critical patent/CN103430111B/zh
Priority to EP12758069.4A priority patent/EP2672348B1/en
Priority to US14/003,342 priority patent/US9921560B2/en
Publication of WO2012124541A1 publication Critical patent/WO2012124541A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • 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/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • 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
    • 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/15Plc structure of the system
    • G05B2219/15079Multitasking, real time multitasking

Definitions

  • the present invention relates to a control device that controls a device to be controlled, a control system including the control device, a tool device for creating a user program executed in the control device, and a collection instruction program included in the user program.
  • the PLC of Patent Document 1 includes a CPU unit that controls the PLC, an input unit that receives a signal from a sensor, and an output unit that outputs a control signal to an industrial machine or the like.
  • the CPU unit has a memory for storing a user program for controlling an industrial machine or the like. This user program is configured to be editable by a tool device connected to the CPU unit.
  • the PLC of Patent Document 1 is configured to collect variables that are referred to and updated in the user program when a TRSM instruction (trace sampling instruction) included in the user program is executed. Thereby, in the PLC, it is possible to perform a data trace on the change of the variable accompanying the execution of the user program.
  • TRSM instruction trace sampling instruction
  • the present invention has been made to solve the above-described problems, and an object of the present invention is to provide a control device that allows a user to determine which collection instruction program has collected the collected results.
  • a control system including a control device, a tool device for creating a user program to be executed in the control device, and a collection instruction program included in the user program.
  • a control device is a control device that controls a device to be controlled, a task execution unit that executes a task including a user program, and when the task is executed by the task execution unit, A collection unit that collects variables to be updated and a management unit that manages the variables collected by the collection unit.
  • the user program includes a collection instruction program for instructing collection of variables by the collection unit, and the collection instruction program has identification information for the user to identify the position of the collection instruction program in the user program.
  • the management unit is configured to associate the variable collected by the collection unit with the identification information of the collection instruction program when the collection instruction program instructs the collection of the variable.
  • the collection instruction program has identification information for the user to identify the position in the user program, so that the management unit can associate the collected variable (collection result) with the identification information. it can. Accordingly, the user can determine which collection instruction program has collected the collection result based on the identification information.
  • the collection instruction program may have designation information for designating variables collected by the collection unit.
  • the designated variable can be collected by the collection unit.
  • the task execution unit may be configured to execute a plurality of tasks in parallel and execute each task of the plurality of tasks at a cycle corresponding to each task.
  • executing a plurality of tasks in parallel includes a case where a plurality of tasks are executed in parallel at the same time and a case where a plurality of tasks are executed in parallel by time division.
  • This configuration makes it possible to perform task processing efficiently.
  • the control device may include a first communication unit for transmitting the variable collected by the collection unit and the identification information associated with the variable to a tool device for displaying the variable and the identification information.
  • the user can check the collection result in association with the identification information using the tool device.
  • the control system is a control system including a control device that controls a control target device by executing a user program and a tool device for creating a user program.
  • the control device includes a task execution unit that executes a task including a user program, a collection unit that collects variables that are referred to and updated in the user program when the task is executed by the task execution unit, and a collection unit that collects the variable And a management unit for managing the generated variables.
  • the user program includes a collection instruction program for instructing collection of variables by the collection unit, and the collection instruction program has identification information for the user to identify the position of the collection instruction program in the user program.
  • the management unit is configured to associate the variable collected by the collection unit with the identification information of the collection instruction program when the collection instruction program instructs the collection of the variable.
  • the collection instruction program has identification information for the user to identify the position in the user program, so that the management unit can associate the collected variable (collection result) with the identification information. it can. Accordingly, the user can determine which collection instruction program has collected the collection result based on the identification information.
  • a tool device is a tool device for creating a user program to be executed in a control device that controls a device to be controlled, the program creating unit creating a user program, and the user created by the program creating unit A second communication unit for transmitting the program to the control device.
  • the user program includes a collection instruction program for instructing collection of variables to be referenced and updated in the user program.
  • the collection instruction program includes identification information for the user to identify the position of the collection instruction program in the user program. Have.
  • the collection instruction program has identification information for the user to identify the position in the user program, so that the variable (collection result) collected in the control device can be associated with the identification information. it can. Accordingly, the user can determine which collection instruction program has collected the collection result based on the identification information.
  • the collection instruction program may have designation information for designating variables collected by the control device.
  • This configuration makes it possible to collect variables specified in the control device.
  • the tool device includes a display unit that displays a user program created by the program creation unit, and the second communication unit receives the variable collected by the control device and the identification information associated with the variable from the control device.
  • the display unit may be configured to display the variable received by the second communication unit and the identification information associated with the variable.
  • This configuration allows the user to confirm the collection result in association with the identification information.
  • the collection instruction program of the present invention includes a task execution unit that executes a task including a user program, a collection unit that collects variables that are referred to and updated in the user program when the task is executed by the task execution unit, A collection instruction program for causing a control device including a management unit that manages variables collected by a collection unit to execute a procedure for instructing collection of variables by the collection unit.
  • the collection instruction program is included in the user program and has identification information for the user to identify the position in the user program.
  • the management unit associates the variable collected by the collection unit with the identification information.
  • the collection instruction program has identification information for the user to identify the position in the user program, so that the variable (collection result) collected in the control device can be associated with the identification information. it can. Accordingly, the user can determine which collection instruction program has collected the collection result based on the identification information.
  • a control system including the control device, a tool device for creating a user program executed in the control device, and a collection instruction program included in the user program, which collection result is collected The user can determine whether the information is collected by the instruction program.
  • FIG. 1 is a hardware block diagram showing the overall configuration of a control system according to an embodiment of the present invention.
  • FIG. 2 is a hardware block diagram showing the configuration of the CPU unit and tool device of the control system shown in FIG.
  • FIG. 3 is a diagram showing a ladder display of the TRSM instruction of the user program stored in the ROM of the CPU unit shown in FIG.
  • FIG. 4 is a diagram for explaining information about tasks stored in the ROM of the CPU unit shown in FIG.
  • FIG. 5 is a diagram for explaining the trace number information stored in the ROM of the CPU unit shown in FIG.
  • FIG. 6 is a functional block diagram of the CPU of the CPU unit shown in FIG. FIG.
  • FIG. 7 is a flowchart for explaining the operation at the time of data tracing of the control system according to the embodiment of the present invention.
  • FIG. 8 is a time chart for explaining the operation at the time of data tracing of the CPU unit according to the embodiment of the present invention.
  • FIG. 9 is a diagram for explaining the trace result of the variable V1 stored in the RAM of the CPU unit shown in FIG.
  • FIG. 10 is a diagram for explaining the trace result of the variable V2 stored in the RAM of the CPU unit shown in FIG.
  • FIG. 11A is a diagram for explaining an operation at the time of displaying the trace result of the tool device according to the embodiment of the present invention, and shows a state in which the variable V1 is selected.
  • FIG. 9 is a diagram for explaining the trace result of the variable V1 stored in the RAM of the CPU unit shown in FIG.
  • FIG. 10 is a diagram for explaining the trace result of the variable V2 stored in the RAM of the CPU unit shown in FIG.
  • FIG. 11A is a diagram for
  • FIG. 11B is a view for explaining the operation at the time of displaying the trace result of the tool device according to the embodiment of the present invention, and shows a state in which the cursor C2 is moved.
  • FIG. 11C is a diagram for explaining the operation at the time of displaying the trace result of the tool device according to the embodiment of the present invention, and shows a state in which the variable V2 is selected.
  • the control system 300 includes a PLC 100 that controls a control target device 60 such as an industrial machine, and a tool device 200 that creates and edits a user program executed on the PLC 100.
  • a control target device 60 such as an industrial machine
  • a tool device 200 that creates and edits a user program executed on the PLC 100.
  • the PLC 100 includes a CPU unit 1 that controls the PLC 100, an input unit 2 that receives a signal from the sensor 50, an output unit 3 that outputs a control signal to a control target device 60 such as an industrial machine, and power to each unit. Power supply unit 4 and an internal bus 5 for connecting the units.
  • the CPU unit 1 is an example of the “control device” in the present invention.
  • PLC100 is comprised so that the control object apparatus 60 may be controlled based on the input from the sensor 50 by performing the task containing a user program. That is, the user program is a program for controlling the control target device 60.
  • a system program 12a (see FIG. 2) including a user program is installed, and the operation of the CPU unit 1 is controlled by executing the system program 12a.
  • the system program 12a includes a program for executing a process for fetching a signal input to the input unit 2 into the CPU unit 1 and a program for executing a process for sending the calculation result by the CPU unit 1 to the output unit 3. Etc. are included.
  • the CPU unit 1 is configured to be able to perform a normal operation for controlling the control target device 60 and to perform data tracing.
  • data tracing refers to collecting variables that are referenced and updated in the user program.
  • the data trace is a function for collecting changes over time of variables when a task including a user program is being executed.
  • the data trace is performed to confirm the operation of the user program when debugging the user program. That is, the data trace is performed to detect a defect in the user program.
  • the CPU unit 1 includes a CPU 11, a ROM 12, a RAM 13, and communication interfaces (hereinafter referred to as “communication IF”) 14 and 15 as shown in FIG.
  • the communication IF 15 is an example of the “first communication unit” in the present invention.
  • the CPU 11 has a function of executing the system program 12a.
  • the CPU 11 is a single core and is configured to execute a plurality of tasks in parallel by time division. In other words, the CPU 11 executes processing in multitasking.
  • ROM 12 is a non-volatile memory, for example, a flash memory.
  • the ROM 12 stores a system program 12a including a user program, and also stores information L1 (see FIG. 4) relating to a task executed in the CPU unit 1.
  • the information L1 regarding the task includes the name of each task, the priority of each task, the cycle in which each task is executed, and the user program executed in each task. It should be noted that a task with a lower priority value is preferentially executed.
  • a control cycle having a preset time interval (for example, 1 ms) is adopted as a common cycle for the entire processing.
  • the user program is described in a ladder language, for example.
  • the user program is configured by a program organization unit (POU).
  • the program configuration unit is a minimum unit in program management, and includes a program, a function, and a function block. Functions and function blocks can be reused. That is, functions and function blocks can be shared by a plurality of user programs.
  • a function is a function that outputs a constant output value corresponding to a predetermined input value when a predetermined input value is input, and the function block has an internal state so that an output value corresponding to the input value can be obtained. Is a function that is not constant.
  • TRSM instruction As one of the function blocks of the program configuration unit, there is a trace sampling instruction (hereinafter referred to as “TRSM instruction”) P as shown in FIG.
  • TRSM command P can be inserted at an arbitrary position of the user program when the user creates and edits the user program using the tool device 200.
  • TRSM instruction P is an example of the “collection instruction program” in the present invention.
  • An enable input EN is input to the TRSM instruction P, and an enable output ENO is output from the TRSM instruction P.
  • the enable input EN is “0”
  • “0” is output from the enable output ENO without executing the body part program (program for executing the data trace).
  • the enable input EN is “1”
  • the body part program is executed and “1” is output from the enable output ENO. That is, when the CPU unit 1 performs a normal operation, “0” is input to the enable input, and when the data trace is performed in the CPU unit 1, “1” is input to the enable input EN. .
  • input parameters (arguments) TraceNo and Point are input to the TRSM command P.
  • the input parameter TraceNo is a trace number. For example, a value of “0” to “3” is input.
  • the input parameter Point is a point number, for example, a value “0” to “255” is input. That is, the TRSM instruction P has a trace number and a point number.
  • the trace number is an example of “designation information” in the present invention
  • the point number is an example of “identification information” in the present invention.
  • the trace number is information for designating a variable collected by the TRSM command P.
  • the trace number is “0” to “3”.
  • a desired value is set. That is, the trace number of the TRSM instruction P inserted at an arbitrary position in the user program is set in advance by the user when creating and editing the user program.
  • the point number is information for the user to identify the position of the TRSM command P in the user program.
  • the point number is “0” to “255”.
  • a desired value is set. That is, the point number of the TRSM instruction P inserted at an arbitrary position of the user program is set in advance by the user when creating and editing the user program.
  • the user identifies the position of the TRSM instruction P in the user program by giving a different point number to each TRSM instruction P by the user. It is possible.
  • the output parameter (return value) Out is output from the TRSM instruction P.
  • the output parameter Out is a Boolean type and always outputs true.
  • the task A is executed with priority over the tasks B and C, and the user programs P1 and P2 are executed at a cycle of 1 ms.
  • the task A has one control cycle (1 ms time interval) as an execution cycle.
  • a TRSM instruction P having a trace number “0” and a point number “1” is inserted.
  • a TRSM instruction P having a trace number “0” and a point number “2” is inserted.
  • task B is executed with priority over task C, and user programs P3 and P4 are executed at a cycle of 2 ms. That is, the task B has two control cycles (2 ms time interval) as the execution cycle. Further, the cycle of task B is set to an integral multiple (2 times) of the cycle of task A.
  • a TRSM instruction P having a trace number “0” and a point number “3” is inserted.
  • a TRSM instruction P having a trace number “0” and a point number “4” is inserted.
  • the task C is executed later than the tasks A and B, and the user program P5 is executed at a cycle of 4 ms.
  • task C has four control cycles (4 ms time interval) as the execution cycle.
  • the cycle of task C is set to an integral multiple (4 times) of the cycle of task A.
  • a TRSM instruction P having a trace number “0” and a point number “5” is inserted at the end of the user program P5.
  • the ROM 12 stores trace number information L2 (see FIG. 5) relating to the variable associated with the trace number.
  • the trace number information L2 includes a trace number and a variable name associated with each trace number.
  • the trace number information L2 can be edited by the user using the tool device 200. That is, the user can change the variable associated with the trace number using the tool device 200.
  • variables V1 and V2 are set for the trace number “0”. Therefore, when the TRSM instruction P (see FIG. 3) having the trace number “0” is performed in the user program, the values of the variables V1 and V2 are collected by the data collection unit 22 (see FIG. 6) described later. Further, a variable V3 is set for the trace number “1”. For this reason, when the TRSM instruction P having the trace number “1” is executed in the user program, the value of the variable V3 is collected by the data collection unit 22.
  • variable V4 is set to the trace number “2”. For this reason, when the TRSM instruction P having the trace number “2” is performed in the user program, the value of the variable V4 is collected by the data collection unit 22.
  • variables V5, V6, and V7 are set in the trace number “3”. Therefore, when the TRSM instruction P having the trace number “3” is executed in the user program, the values of the variables V5, V6, and V7 are collected by the data collection unit 22.
  • the RAM 13 is a volatile memory, for example, a DRAM.
  • the RAM 13 has a function of temporarily storing a system program 12a executed by the CPU 11.
  • the RAM 13 has a function of storing variables that are referred to and updated in the user program when the user program is executed.
  • the communication IF 14 is connected to the internal bus 5 and is provided for the CPU unit 1 to communicate with each unit via the internal bus 5.
  • the communication IF 15 is connected to the communication IF 36 (see FIG. 2) of the tool device 200 and is provided for the CPU unit 1 to communicate with the tool device 200.
  • the CPU unit 1 includes a task execution unit 21, a data collection unit 22, a trace number setting unit 23, and a collected data management unit 24.
  • the task execution unit 21, the data collection unit 22, the trace number setting unit 23, and the collected data management unit 24 are realized by the CPU 11 executing the system program 12a.
  • the task execution unit 21 is configured to execute a plurality of tasks in parallel and execute each task of the plurality of tasks at a cycle corresponding to each task. Specifically, the task execution unit 21 executes tasks A, B, and C in parallel by time division. Further, the task execution unit 21 executes the task A at a cycle of 1 ms, executes the task B at a cycle of 2 ms, and executes the task C at a cycle of 4 ms.
  • the data collection unit 22 has a function of collecting changes in variables accompanying task execution when the task execution unit 21 is executing a task. Specifically, the data collection unit 22 is configured to collect the variable designated by the trace number when the collection of the variable is instructed by the TRSM instruction P (see FIG. 3). The data collection unit 22 is realized by the body portion of the TRSM instruction P being executed by the CPU 11.
  • the trace number setting unit 23 has a function of setting a trace number (a trace number specifying a variable managed by the collected data management unit 24) to be a data trace target based on the trace number received from the tool device 200. .
  • a trace number a trace number specifying a variable managed by the collected data management unit 24
  • the collected data management unit 24 among the variables V 1 to V 7 collected by the data collection unit 22 has variables V 1 and V 2. Only manage.
  • the collected data management unit 24 has a function of associating the data (collection result) collected by the data collecting unit 22 with the point number of the TRSM command P instructing the collection of the data.
  • the collected data management unit 24 also has a function of associating the data collected by the data collecting unit 22 with an index number indicating the order in which the data was collected and an elapsed time since the start of data tracing. .
  • Tool apparatus 200 a support program 32a (see FIG. 2) is installed, and various functions are realized by executing the support program 32a.
  • Tool device 200 is, for example, a personal computer.
  • the tool device 200 includes a CPU 31, a ROM 32, a RAM 33, an operation unit 34, a display unit 35, and a communication IF 36, as shown in FIG.
  • the CPU 31 is an example of the “program creation unit” in the present invention
  • the communication IF 36 is an example of the “second communication unit” in the present invention.
  • the CPU 31 has a function of executing the support program 32a.
  • the ROM 32 is a non-volatile memory, for example, a flash memory.
  • the ROM 32 stores a support program 32a.
  • the support program 32a includes, for example, a program for creating and editing a user program, a display control program for the result of data tracing performed by the CPU unit 1, and the like.
  • the RAM 33 is a volatile memory, for example, a DRAM.
  • the RAM 33 has a function of temporarily storing a support program 32a executed by the CPU 31 and the like.
  • the operation unit 34 is provided for the user to input various operation commands.
  • the display unit 35 is, for example, a liquid crystal display, and has a function of displaying a user program to be created and edited, a result of data tracing, and the like.
  • the communication IF 36 is connected to the communication IF 15 of the CPU unit 1 and is provided for the tool device 200 to communicate with the CPU unit 1.
  • the tool device 200 has a user program creation and editing function executed in the CPU unit 1 of the PLC 100. Therefore, the user can insert the TRSM command P (see FIG. 3) at an arbitrary position of the user program using the tool device 200. Further, the user can set the trace number and point number of the TRSM instruction P inserted into the user program to desired values using the tool device 200.
  • the tool device 200 is configured to download the user program from the CPU unit 1 and upload the user program to the CPU unit 1 by the communication IF 36. Thereby, the tool device 200 is configured to be able to transmit the user program including the TRSM command P to the CPU unit 1 from the communication IF 36.
  • the tool device 200 has a function of instructing the CPU unit 1 to execute data trace, and a graph of the trace result by the CPU unit 1 is displayed on the display unit 35 so that the user can confirm the result of the data trace. It has a function to display.
  • step S1 the CPU 31 determines whether or not a data trace has been accepted. Specifically, for example, the CPU 31 displays an item for designating a trace number and a data trace start button on the display unit 35. Thereafter, it is determined whether or not the data trace start button has been pressed by operating the operation unit 34 by the user. If it is determined that the data trace is not accepted, step S1 is repeated. That is, the tool device 200 stands by until a data trace is received. If it is determined that the data trace has been received, the process proceeds to step S2.
  • step S2 the CPU 31 transmits a data trace start instruction from the communication IF 36 to the PLC 100 (see FIG. 1).
  • the data trace start instruction includes a trace number for designating a variable to be subjected to data tracing. Thereafter, the process proceeds to step S3.
  • step S11 the CPU 11 determines whether or not the communication IF 15 has received a data trace start instruction. If it is determined that the data trace start instruction has not been received, step S11 is repeated. That is, the CPU unit 1 waits until receiving a data trace start instruction. If it is determined that the data trace start instruction has been received, the process proceeds to step S12.
  • step S12 the CPU 11 performs a data trace process.
  • the variable designated by the trace number is collected.
  • the trace number is “0”
  • variables V1 and V2 are collected. That is, the CPU unit 1 collects variables specified by the trace number transmitted from the tool device 200.
  • the process proceeds to step S13. The data trace process will be described later in detail.
  • step S13 the trace result is transmitted from the communication IF 15 to the tool device 200 by the CPU 11. Thereafter, the operation of the PLC 100 during data tracing is terminated.
  • step S3 the CPU 31 determines whether the communication IF 36 has received the trace result. If it is determined that the trace result has been received, the process proceeds to step S4. On the other hand, if it is determined that the trace result has not been received, step S3 is repeated.
  • step S4 the trace result received by the communication IF 36 is displayed on the display unit 35 by the CPU 31.
  • the display of the trace result will be described later in detail. Thereafter, the operation of the tool device 200 during data tracing is terminated.
  • the system program 12a is a system program for causing the CPU unit 1 to execute the following operations.
  • the CPU 11 starts an execution cycle of tasks A, B, and C simultaneously with the control cycle.
  • Task A is executed at a cycle of 1 ms
  • task B is executed at a cycle of 2 ms
  • task C is executed at a cycle of 4 ms.
  • the task execution unit 21 starts processing of task A having the highest priority.
  • tasks B and C have a lower priority than task A, and thus enter a standby state without starting actual processing.
  • the user program P1 of task A is executed.
  • a TRSM instruction P (see FIG. 3) having a trace number “0” and a point number “1” is inserted.
  • the values of the variables V1 and V2 designated by the trace number “0” are collected by the data collection unit 22 (see FIG. 6).
  • the collected data management unit 24, for the value “1” of the collected variable V1, and the index number “1” indicating the order of collection and the data trace is started.
  • the elapsed time “0.15 ms” and the point number “1” of the TRSM instruction P are associated and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24, for the value “5” of the collected variable V2, the index number “1” indicating the order of collection and the data trace is started.
  • the elapsed time “0.15 ms” and the point number “1” of the TRSM instruction P are associated and stored in the RAM 13.
  • the first collection results of the variables V1 and V2 are accumulated in the RAM 13.
  • the user program P2 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “2” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “2”, the elapsed time “0.3 ms”, and the point number “2” for the value “1” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “2”, the elapsed time “0.3 ms”, and the point number “2” for the value “5” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the second collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P3 of task B is executed.
  • a TRSM instruction P having a trace number “0” and a point number “3” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “3”, the elapsed time “0.6 ms”, and the point number “3” for the value “1” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “3”, the elapsed time “0.6 ms”, and the point number “3” for the value “5” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the third collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P4 of task B is executed. Thereafter, when 1 ms elapses after the execution cycles of the tasks A, B, and C are simultaneously started, the execution cycle of the task A elapses, so that the user program P4 of the task B is interrupted, and the task execution unit 21 Is executed. At this time, tasks B and C are in a standby state.
  • the user program P1 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “1” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “4”, the elapsed time “1.15 ms”, and the point number “1” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “4”, the elapsed time “1.15 ms”, and the point number “1” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the fourth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P2 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “2” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “5”, the elapsed time “1.3 ms”, and the point number “2” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “5”, the elapsed time “1.3 ms”, and the point number “2” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the fifth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • processing of task A is completed, processing of task B having a higher priority than task C is resumed. At this time, task C remains in a standby state. Then, the task execution unit 21 executes the remainder of the user program P4 for task B.
  • the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “6”, the elapsed time “1.45 ms”, and the point number “4” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG. 10, the collected data management unit 24 sets the index number “6”, the elapsed time “1.45 ms”, and the point number “4” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. Thereby, the sixth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the task execution unit 21 executes the user program P5 for task C. Thereafter, when 2 ms elapses after the execution cycles of the tasks A, B and C are started at the same time, the execution cycle of the task A elapses. Therefore, the user program P5 of the task C is interrupted, and the task execution unit 21 causes the task A Is executed. At this time, since the execution cycle of task B also elapses, tasks B and C are in a standby state.
  • the user program P1 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “1” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “7”, the elapsed time “2.15 ms”, and the point number “1” for the value “3” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “7”, the elapsed time “2.15 ms”, and the point number “1” for the value “5” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the seventh collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P2 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “2” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “8”, the elapsed time “2.3 ms”, and the point number “2” for the value “3” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “8”, the elapsed time “2.3 ms”, and the point number “2” for the value “5” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the eighth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P3 of task B is executed.
  • a TRSM instruction P having a trace number “0” and a point number “3” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “9”, the elapsed time “2.6 ms”, and the point number “3” for the value “3” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “9”, the elapsed time “2.6 ms”, and the point number “3” for the value “5” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the ninth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P4 of task B is executed. Thereafter, when 3 ms elapses after the execution cycles of tasks A, B and C are started at the same time, the execution cycle of task A elapses. Therefore, user program P4 of task B is interrupted, and task execution unit 21 causes task A Is executed. At this time, tasks B and C are in a standby state.
  • the user program P1 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “1” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “10”, the elapsed time “3.15 ms”, and the point number “1” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “10”, the elapsed time “3.15 ms”, and the point number “1” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. Thereby, the tenth collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the user program P2 of task A is executed.
  • a TRSM instruction P having a trace number “0” and a point number “2” is inserted. Therefore, the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “11”, the elapsed time “3.3 ms”, and the point number “2” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG.
  • the collected data management unit 24 sets the index number “11”, the elapsed time “3.3 ms”, and the point number “2” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the eleventh collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • processing of task A is completed, processing of task B having a higher priority than task C is resumed. At this time, task C remains in a standby state. Then, the task execution unit 21 executes the remainder of the user program P4 for task B.
  • the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “12”, the elapsed time “3.45 ms”, and the point number “4” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG. 10, the collected data management unit 24 sets the index number “12”, the elapsed time “3.45 ms”, and the point number “4” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the 12th collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • the data collection unit 22 collects the values of the variables V1 and V2 designated by the trace number “0”. Then, as shown in FIG. 9, the collected data management unit 24 sets the index number “13”, the elapsed time “3.8 ms”, and the point number “5” for the value “2” of the collected variable V1. Is associated with and stored in the RAM 13. Further, as shown in FIG. 10, the collected data management unit 24 sets the index number “13”, the elapsed time “3.8 ms”, and the point number “5” for the value “4” of the collected variable V2. Is associated with and stored in the RAM 13. As a result, the 13th collection result of the variables V1 and V2 is accumulated in the RAM 13.
  • FIGS. 8 to 10 show the state from the start of data trace until 8 ms elapses in order to simplify the drawing. Thereafter, the trace result in which the collection result is accumulated is transmitted from the communication IF 15 to the tool device 200.
  • the display unit 35 displays an item W1 indicating a trace number and an item W2 indicating a variable to be subjected to data tracing by being specified by the trace number.
  • the in the example of FIG. 11A the trace number “0” is displayed in the item W1, and the variables V1 and V2 are displayed in the item W2.
  • the display unit 35 displays a cursor C1 for selecting a variable of the item W2.
  • the cursor C1 selects the variable V1.
  • the cursor C1 is provided for selecting a variable (active variable) selected by a cursor C2 described later.
  • the trace result is displayed in the graph G on the display unit 35.
  • the variable V1 selected by the cursor C1 is represented by a solid line
  • the variable V2 not selected by the cursor C1 is represented by a dotted line.
  • the horizontal axis represents elapsed time
  • the vertical axis represents variable values.
  • a cursor C2 that is movable in the horizontal direction (horizontal axis direction) is arranged.
  • an item W3 for displaying information (index number, elapsed time, point number) related to data selected by the cursor C2 is arranged.
  • an index number “12”, an elapsed time “3.45 ms”, and a point number “4” are displayed in the item W3.
  • information on data (collection result) selected by the cursor C2 is displayed for the variable selected by the cursor C1.
  • the data selected by the cursor C2 is changed to change the item W3.
  • the content displayed in is changed. Accordingly, in the example of FIG. 11B, the index number “22”, the elapsed time “6.6 ms”, and the point number “3” are displayed in the item W3.
  • variable V1 is a broken line.
  • variable V2 is represented by a solid line.
  • the TRSM command P has a point number for the user to identify the position in the user program, so that the collected data management unit 24 collects the variable (collection result) and the point number. Can be associated. Accordingly, the user can determine based on the point number which TRSM command P is used to collect the collection result. Therefore, the user can determine at which position in the user program the collection result is collected. As a result, when the user debugs the user program, it is possible to easily detect a defect in the user program.
  • the TRSM instruction P has a trace number, so that the data collection unit 22 can collect the variable designated by the trace number.
  • the collection result can be collected for a variable group desired by the user.
  • the user can check the collection result in association with the point number.
  • the trace result by displaying the trace result in which the collected result is accumulated on the graph G, the trace result can be confirmed in a state that the user can easily understand visually.
  • the CPU 11 is a single core, and the processing capability of the CPU 11 can be efficiently used by executing a plurality of tasks in parallel by time division.
  • the PLC 100 includes the CPU unit 1, the input unit 2, the output unit 3, and the power supply unit 4.
  • the PLC is another unit such as a communication unit.
  • an input unit may not be provided in the PLC.
  • the PLC 100 is configured by a plurality of units.
  • the present invention is not limited to this, and the PLC is configured by a single casing, and the functions of each unit are incorporated in the casing. Also good.
  • the CPU 11 has a single core, and an example in which a plurality of tasks are executed in parallel by time division has been shown. May be executed. With this configuration, the task processing capability can be improved.
  • the task execution unit 21, the data collection unit 22, the trace number setting unit 23, and the collected data management unit 24 are realized by the CPU 11 executing the system program 12a.
  • the task execution unit 21, the data collection unit 22, the trace number setting unit 23, and the collected data management unit 24 may be configured by hardware.
  • the value of the collected variable, the index number indicating the order of collection, the elapsed time since the data trace was started, and the point number of the TRSM instruction P are associated with each other in the RAM 13.
  • the value of the collected variable, the index number indicating the order of collection, the elapsed time since the data trace was started, and the point number of the TRSM instruction P May be stored in the ROM 12 in association with each other.
  • the value of the collected variable is associated with the elapsed time from the start of the data trace is shown, but not limited to this, the value of the collected variable and the variable are You may make it associate with the collected time information.
  • the time information may or may not include information related to the date.
  • the TRSM instruction P with the trace number “0” is inserted into the user programs P1 to P5, and the trace number “0” is set by the trace number setting unit 23.
  • the TRSM instruction P with the trace number “1” may be inserted into the user programs P1 to P5, and the trace number “1” may be set by the trace number setting unit 23.
  • the collection data management unit 24 manages only the variable V3 among the variables V1 to V7 collected by the data collection unit 22. Thereby, the trace result about the variable V3 can be displayed on the display unit 35. Similarly, the trace number may be set to “2” or “3”.
  • the TRSM instruction P is inserted at the end of the user programs P1 to P5 is shown.
  • the present invention is not limited to this, and the TRSM instruction P may be inserted at the beginning of the user program. Further, the TRSM command P may be inserted anywhere in the user program, and can be inserted at a position desired by the user.
  • the TRSM instruction P is inserted into all of the user programs P1 to P5 has been shown.
  • the present invention is not limited thereto, and the TRSM instruction is inserted into at least one of the user programs P1 to P5. Just do it.
  • trace results for a plurality of variables are displayed on one graph G.
  • the present invention is not limited to this, and trace results for a plurality of variables are displayed on a graph for each variable. May be. Further, only active variables may be displayed on the graph.
  • the values of the variables V1 and V2 are all examples and are not limited to the values described above.
  • the task includes a task (event task) that is executed when a preset execution condition is satisfied, in addition to a task that is periodically executed (periodic task). May be.
  • the present invention is used for a control device that controls a device to be controlled, a control system including the control device, a tool device for creating a user program executed in the control device, and a collection instruction program included in the user program Is possible.
  • Control device 15 Communication IF (first communication unit) 21 Task Execution Unit 22 Data Collection Unit 24 Collected Data Management Unit 31 CPU (Program Creation Unit) 35 display unit 36 communication IF (second communication unit) 60 Controlled Device 200 Tool Device 300 Control System

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Programmable Controllers (AREA)

Abstract

 制御装置は、タスク実行部と、ユーザプログラムにおいて参照および更新される変数を収集する収集部と、収集された変数を管理する管理部とを備える。ユーザプログラムは、収集部による変数の収集を指示する収集指示プログラムを含み、収集指示プログラムは、ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有する。管理部は、収集指示プログラムにより変数の収集が指示された場合に、収集部により収集された変数と、収集指示プログラムの識別情報とを関連付ける。

Description

制御装置、制御システム、ツール装置および収集指示プログラム
 本発明は、制御対象機器を制御する制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムに関する。
 従来、工場の生産ラインに設置される産業用機械などを制御するPLC(Programmable Logic Controller:プログラマブルロジックコントローラ)が知られている(たとえば、特許文献1参照)。
 特許文献1のPLCは、PLCを制御するCPUユニットと、センサからの信号が入力される入力ユニットと、産業用機械などに制御信号を出力する出力ユニットとを備えている。CPUユニットは、産業用機械などを制御するためのユーザプログラムを記憶するメモリを有する。このユーザプログラムは、CPUユニットに接続されるツール装置により編集可能に構成されている。
 そして、PLCでは、入力ユニットに入力された信号をCPUユニットのメモリに取り込む処理と、ユーザプログラムを実行する処理と、ユーザプログラムの実行結果(演算結果)をメモリに書き込んで出力ユニットに送り出す処理と、ツール装置との間でデータの送受信を行うなどの周辺処理とが繰り返し行われる。これにより、PLCは、センサからの入力に基づいて産業用機械などを制御する。
 また、特許文献1のPLCは、ユーザプログラムに含まれるTRSM命令(トレースサンプリング命令)が実行された場合に、ユーザプログラムにおいて参照および更新される変数を収集するように構成されている。これにより、PLCでは、ユーザプログラムの実行に伴う変数の変化についてデータトレースすることが可能である。
特開2009-146040号公報
 しかしながら、特許文献1に開示された従来のPLCにおいて、ユーザプログラムに複数のTRSM命令が含まれている場合に、どのTRSM命令によりどの収集結果が得られたのかを利用者が判断することが困難であるという問題点がある。
 本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、収集結果がどの収集指示プログラムにより収集されたのかを利用者が判断することが可能な制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムを提供することである。
 本発明による制御装置は、制御対象機器を制御する制御装置であって、ユーザプログラムを含むタスクを実行するタスク実行部と、タスク実行部によりタスクが実行されているときに、ユーザプログラムにおいて参照および更新される変数を収集する収集部と、収集部により収集された変数を管理する管理部とを備える。ユーザプログラムは、収集部による変数の収集を指示する収集指示プログラムを含み、その収集指示プログラムは、ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有する。そして、管理部は、収集指示プログラムにより変数の収集が指示された場合に、収集部により収集された変数と、収集指示プログラムの識別情報とを関連付けるように構成されている。
 このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、管理部が収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
 上記制御装置において、収集指示プログラムは、収集部により収集される変数を指定する指定情報を有していてもよい。
 このように構成すれば、収集部により、指定された変数を収集することができる。
 上記制御装置において、タスク実行部は、複数のタスクを並行に実行し、かつ、複数のタスクの各タスクを各タスクに応じた周期で実行するように構成されていてもよい。なお、複数のタスクを並行に実行するとは、複数のタスクを同時に並行して実行する場合と、時分割により複数のタスクを並行して実行する場合とを含む。
 このように構成すれば、タスクの処理を効率的に行うことができる。
 上記制御装置において、収集部により収集された変数および変数に関連付けられた識別情報を、変数および識別情報を表示するためのツール装置に送信するための第1通信部を備えていてもよい。
 このように構成すれば、利用者がツール装置を用いて、収集結果を識別情報と関連付けて確認することができる。
 本発明による制御システムは、ユーザプログラムを実行することにより制御対象機器を制御する制御装置と、ユーザプログラムを作成するためのツール装置とを備える制御システムである。制御装置は、ユーザプログラムを含むタスクを実行するタスク実行部と、タスク実行部によりタスクが実行されているときに、ユーザプログラムにおいて参照および更新される変数を収集する収集部と、収集部により収集された変数を管理する管理部とを含む。ユーザプログラムは、収集部による変数の収集を指示する収集指示プログラムを含み、その収集指示プログラムは、ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有する。そして、管理部は、収集指示プログラムにより変数の収集が指示された場合に、収集部により収集された変数と、収集指示プログラムの識別情報とを関連付けるように構成されている。
 このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、管理部が収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
 本発明によるツール装置は、制御対象機器を制御する制御装置において実行されるユーザプログラムを作成するためのツール装置であって、ユーザプログラムを作成するプログラム作成部と、プログラム作成部により作成されたユーザプログラムを制御装置に送信するための第2通信部とを備える。ユーザプログラムは、ユーザプログラムにおいて参照および更新される変数の収集を指示する収集指示プログラムを含み、その収集指示プログラムは、ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有する。
 このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、制御装置において収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
 上記ツール装置において、収集指示プログラムは、制御装置により収集される変数を指定する指定情報を有していてもよい。
 このように構成すれば、制御装置において指定された変数を収集することができる。
 上記ツール装置において、プログラム作成部により作成されるユーザプログラムを表示する表示部を備え、第2通信部は、制御装置により収集された変数と、変数に関連付けられた識別情報とを制御装置から受信するように構成され、表示部は、第2通信部により受信した変数と、変数に関連付けられた識別情報とを表示するように構成されていてもよい。
 このように構成すれば、収集結果を識別情報と関連付けて利用者が確認することができる。
 本発明の収集指示プログラムは、ユーザプログラムを含むタスクを実行するタスク実行部と、タスク実行部によりタスクが実行されているときに、ユーザプログラムにおいて参照および更新される変数を収集する収集部と、収集部により収集された変数を管理する管理部とを備える制御装置に、収集部による変数の収集を指示する手順を実行させるための収集指示プログラムである。収集指示プログラムは、ユーザプログラムに含まれており、ユーザプログラムにおける位置を利用者が識別するための識別情報を有する。管理部は、収集部により収集された変数と、識別情報とを関連付ける。
 このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、制御装置において収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
 本発明の制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムによれば、収集結果がどの収集指示プログラムにより収集されたのかを利用者が判断することができる。
図1は、本発明の一実施形態による制御システムの全体構成を示したハードウェアブロック図である。 図2は、図1に示した制御システムのCPUユニットおよびツール装置の構成を示したハードウェアブロック図である。 図3は、図2に示したCPUユニットのROMに記憶されるユーザプログラムのTRSM命令をラダー表示した図である。 図4は、図2に示したCPUユニットのROMに記憶されるタスクに関する情報を説明するための図である。 図5は、図2に示したCPUユニットのROMに記憶されるトレース番号情報を説明するための図である。 図6は、図2に示したCPUユニットのCPUの機能ブロック図である。 図7は、本発明の一実施形態による制御システムのデータトレース時の動作を説明するためのフローチャートである。 図8は、本発明の一実施形態によるCPUユニットのデータトレース時の動作を説明するためのタイムチャートである。 図9は、図2に示したCPUユニットのRAMに記憶される変数V1のトレース結果を説明するための図である。 図10は、図2に示したCPUユニットのRAMに記憶される変数V2のトレース結果を説明するための図である。 図11Aは、本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、変数V1が選択された状態を示した図である。 図11Bは、本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、カーソルC2が移動された状態を示した図である。 図11Cは、本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、変数V2が選択された状態を示した図である。
 以下、本発明の実施形態について図面を参照して説明する。
 まず、図1~図6を参照して、本発明の一実施形態による制御システム300の構成について説明する。
 制御システム300は、図1に示すように、産業用機械などの制御対象機器60を制御するPLC100と、PLC100において実行されるユーザプログラムを作成および編集するためのツール装置200とを備えている。
 PLC100は、PLC100を制御するCPUユニット1と、センサ50からの信号が入力される入力ユニット2と、産業用機械などの制御対象機器60に制御信号を出力する出力ユニット3と、各ユニットに電力を供給する電源ユニット4と、各ユニットを接続する内部バス5とを含んでいる。なお、CPUユニット1は、本発明の「制御装置」の一例である。
 PLC100は、ユーザプログラムを含むタスクを実行することにより、センサ50からの入力に基づいて制御対象機器60を制御するように構成されている。すなわち、ユーザプログラムは、制御対象機器60を制御するためのプログラムである。
 CPUユニット1では、ユーザプログラムを含むシステムプログラム12a(図2参照)がインストールされており、そのシステムプログラム12aが実行されることによりCPUユニット1の動作が制御されるように構成されている。
 なお、システムプログラム12aには、入力ユニット2に入力された信号をCPUユニット1に取り込む処理を実行するためのプログラムや、CPUユニット1による演算結果を出力ユニット3に送り出す処理を実行するためのプログラムなどが含まれている。
 CPUユニット1は、制御対象機器60を制御する通常の動作を行うことが可能であり、かつ、データトレースを行うことが可能なように構成されている。ここで、データトレースとは、ユーザプログラムにおいて参照および更新される変数を収集することをいう。具体的には、データトレースは、ユーザプログラムを含むタスクが実行されているときの変数の経時変化を収集する機能である。また、データトレースは、ユーザプログラムをデバッグする際に、ユーザプログラムの動作を確認するために行われる。すなわち、データトレースは、ユーザプログラムの欠陥を検出するために行われる。
 CPUユニット1は、図2に示すように、CPU11と、ROM12と、RAM13と、通信インターフェース(以下、「通信IF」という)14および15とを含んでいる。なお、通信IF15は、本発明の「第1通信部」の一例である。
 CPU11は、システムプログラム12aを実行する機能を有する。CPU11は、シングルコアであり、時分割により複数のタスクを並行して実行するように構成されている。すなわち、CPU11では、マルチタスクで処理が実行される。
 ROM12は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM12には、ユーザプログラムを含むシステムプログラム12aが記憶されるとともに、CPUユニット1において実行されるタスクに関する情報L1(図4参照)が記憶されている。タスクに関する情報L1には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムとが含まれている。なお、タスクは、優先度の値が小さいタスクが優先的に実行される。また、CPUユニット1では、予め設定された時間間隔(たとえば、1ms)の制御サイクルを処理全体の共通サイクルとして採用している。また、ユーザプログラムは、たとえば、ラダー言語で記述されている。
 ここで、ユーザプログラムは、プログラム構成単位(Program Organization Unit:POU)により構成されている。プログラム構成単位は、プログラム管理上の最小単位であり、プログラムと、ファンクションと、ファンクションブロックとを含んでいる。そして、ファンクションおよびファンクションブロックは、再利用することが可能である。すなわち、ファンクションおよびファンクションブロックは、複数のユーザプログラムで共用することが可能である。なお、ファンクションは、所定の入力値が入力された場合に、所定の入力値に対応する一定の出力値を出力する関数であり、ファンクションブロックは、内部状態を持てることにより、入力値に対する出力値が一定ではない関数である。
 また、プログラム構成単位のファンクションブロックの一つとして、図3に示すように、トレースサンプリング命令(以下、「TRSM命令」という)Pがある。このTRSM命令Pは、ツール装置200を用いて利用者がユーザプログラムを作成および編集する際に、ユーザプログラムの任意の位置に挿入することが可能である。なお、TRSM命令Pは、本発明の「収集指示プログラム」の一例である。
 TRSM命令Pにはイネーブル入力ENが入力されるとともに、TRSM命令Pからはイネーブル出力ENOが出力されている。そして、TRSM命令Pでは、イネーブル入力ENが「0」である場合に、ボディ部分のプログラム(データトレースを実行するためのプログラム)を実行することなく、イネーブル出力ENOから「0」が出力される。また、TRSM命令Pでは、イネーブル入力ENが「1」である場合に、ボディ部分のプログラムを実行し、イネーブル出力ENOから「1」が出力される。すなわち、CPUユニット1において通常の動作が行われる場合には、イネーブル入力に「0」が入力され、CPUユニット1においてデータトレースが行われる場合には、イネーブル入力ENに「1」が入力される。
 また、TRSM命令Pには、入力パラメータ(引数)TraceNoおよびPointが入力されている。入力パラメータTraceNoは、トレース番号であり、たとえば、「0」~「3」の値が入力される。また、入力パラメータPointは、ポイント番号であり、たとえば、「0」~「255」の値が入力される。すなわち、TRSM命令Pは、トレース番号とポイント番号とを有する。なお、トレース番号は、本発明の「指定情報」の一例であり、ポイント番号は、本発明の「識別情報」の一例である。
 トレース番号は、TRSM命令Pにより収集される変数を指定するための情報であり、ツール装置200を用いて利用者がユーザプログラムを作成および編集する際に、「0」~「3」のうちの所望の値が設定される。すなわち、ユーザプログラムの任意の位置に挿入されるTRSM命令Pのトレース番号は、ユーザプログラムの作成および編集時に利用者により予め設定されている。
 ポイント番号は、ユーザプログラムにおけるTRSM命令Pの位置を利用者が識別するための情報であり、ツール装置200を用いて利用者がユーザプログラムを作成および編集する際に、「0」~「255」のうちの所望の値が設定される。すなわち、ユーザプログラムの任意の位置に挿入されるTRSM命令Pのポイント番号は、ユーザプログラムの作成および編集時に利用者により予め設定されている。そして、ユーザプログラムに複数のTRSM命令Pが挿入される場合には、各TRSM命令Pに異なるポイント番号が利用者により付与されることにより、ユーザプログラムにおけるTRSM命令Pの位置を利用者が識別することが可能である。
 また、TRSM命令Pからは、出力パラメータ(戻り値)Outが出力されている。なお、出力パラメータOutは、ブーリアン型であり、常にtrueを出力する。
 図4に示すタスクに関する情報L1において、タスクAは、タスクBおよびCよりも優先的に実行されるとともに、1msの周期でユーザプログラムP1およびP2を実行する。すなわち、タスクAは、1回分の制御サイクル(1msの時間間隔)を実行サイクルとしている。ここで、たとえば、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。また、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。
 また、タスクBは、タスクCよりも優先的に実行されるとともに、2msの周期でユーザプログラムP3およびP4を実行する。すなわち、タスクBは、2回分の制御サイクル(2msの時間間隔)を実行サイクルとしている。また、タスクBの周期は、タスクAの周期の整数倍(2倍)に設定されている。ここで、たとえば、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。また、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。
 また、タスクCは、タスクAおよびBよりも劣後して実行されるとともに、4msの周期でユーザプログラムP5を実行する。すなわち、タスクCは、4回分の制御サイクル(4msの時間間隔)を実行サイクルとしている。また、タスクCの周期は、タスクAの周期の整数倍(4倍)に設定されている。ここで、たとえば、ユーザプログラムP5の最後には、トレース番号が「0」であり、ポイント番号が「5」であるTRSM命令Pが挿入されている。
 また、ROM12には、トレース番号に対応付けられた変数に関するトレース番号情報L2(図5参照)が記憶されている。トレース番号情報L2には、トレース番号と、各トレース番号に対応付けられた変数名とが含まれている。このトレース番号情報L2は、利用者がツール装置200を用いて編集することが可能である。すなわち、利用者がツール装置200を用いて、トレース番号に対応付けられた変数を変更することが可能である。
 図5の例では、トレース番号「0」には、変数V1およびV2が設定されている。このため、ユーザプログラムにおいてトレース番号「0」を有するTRSM命令P(図3参照)が行われるときに、後述するデータ収集部22(図6参照)により変数V1およびV2の値が収集される。また、トレース番号「1」には、変数V3が設定されている。このため、ユーザプログラムにおいてトレース番号「1」を有するTRSM命令Pが行われるときに、データ収集部22により変数V3の値が収集される。
 また、トレース番号「2」には変数V4が設定されている。このため、ユーザプログラムにおいてトレース番号「2」を有するTRSM命令Pが行われるときに、データ収集部22により変数V4の値が収集される。また、トレース番号「3」には、変数V5、V6およびV7が設定されている。このため、ユーザプログラムにおいてトレース番号「3」を有するTRSM命令Pが行われるときに、データ収集部22により変数V5、V6およびV7の値が収集される。
 RAM13は、揮発性のメモリであり、たとえば、DRAMである。RAM13は、CPU11により実行されるシステムプログラム12aなどを一時的に記憶する機能を有する。具体的には、RAM13は、ユーザプログラムが実行される際に、ユーザプログラムにおいて参照および更新される変数を記憶する機能を有する。
 通信IF14は、内部バス5に接続されており、CPUユニット1が内部バス5を介して各ユニットと通信するために設けられている。通信IF15は、ツール装置200の通信IF36(図2参照)に接続されており、CPUユニット1がツール装置200と通信するために設けられている。
 また、CPUユニット1は、図6に示すように、タスク実行部21と、データ収集部22と、トレース番号設定部23と、収集データ管理部24とを含んでいる。なお、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24は、CPU11がシステムプログラム12aを実行することにより実現される。
 タスク実行部21は、複数のタスクを並行に実行し、かつ、複数のタスクの各タスクを各タスクに応じた周期で実行するように構成されている。具体的には、タスク実行部21は、時分割によりタスクA、BおよびCを並行に実行する。また、タスク実行部21は、タスクAを1msの周期で実行し、タスクBを2msの周期で実行し、タスクCを4msの周期で実行する。
 データ収集部22は、タスク実行部21によりタスクが実行されているときに、タスクの実行に伴う変数の変化を収集する機能を有する。具体的には、データ収集部22は、TRSM命令P(図3参照)により変数の収集が指示された場合に、トレース番号により指定された変数を収集するように構成されている。なお、データ収集部22は、TRSM命令Pのボディ部分がCPU11により実行されることによって実現される。
 トレース番号設定部23は、ツール装置200から受信したトレース番号に基づいて、データトレースの対象となるトレース番号(収集データ管理部24により管理される変数を指定するトレース番号)を設定する機能を有する。これにより、たとえば、収集データ管理部24は、トレース番号設定部23によりトレース番号「0」が設定された場合には、データ収集部22により収集された変数V1~V7のうち、変数V1およびV2のみを管理する。
 収集データ管理部24は、データ収集部22により収集されたデータ(収集結果)と、そのデータの収集を指示したTRSM命令Pのポイント番号とを関連付ける機能を有する。また、収集データ管理部24は、データ収集部22により収集されたデータに対して、そのデータが収集された順番を示すインデックス番号や、データトレースが開始されてからの経過時間を関連付ける機能も有する。
 ツール装置200では、サポートプログラム32a(図2参照)がインストールされており、そのサポートプログラム32aが実行されることにより各種の機能が実現されるように構成されている。ツール装置200は、たとえば、パーソナルコンピュータである。
 ツール装置200は、図2に示すように、CPU31と、ROM32と、RAM33と、操作部34と、表示部35と、通信IF36とを含んでいる。なお、CPU31は、本発明の「プログラム作成部」の一例であり、通信IF36は、本発明の「第2通信部」の一例である。
 CPU31は、サポートプログラム32aを実行する機能を有する。ROM32は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM32には、サポートプログラム32aが記憶されている。サポートプログラム32aには、たとえば、ユーザプログラムの作成および編集用プログラムや、CPUユニット1で行われたデータトレースの結果の表示制御プログラムなどが含まれている。
 RAM33は、揮発性のメモリであり、たとえば、DRAMである。RAM33は、CPU31により実行されるサポートプログラム32aなどを一時的に記憶する機能を有する。
 操作部34は、利用者が各種の操作指令を入力するために設けられている。表示部35は、たとえば、液晶ディスプレイであり、作成および編集されるユーザプログラムや、データトレースの結果などを表示する機能を有する。通信IF36は、CPUユニット1の通信IF15に接続されており、ツール装置200がCPUユニット1と通信するために設けられている。
 ツール装置200は、PLC100のCPUユニット1において実行されるユーザプログラムの作成および編集機能を有する。したがって、利用者は、ツール装置200を用いて、ユーザプログラムの任意の位置にTRSM命令P(図3参照)を挿入することが可能である。また、利用者は、ツール装置200を用いて、ユーザプログラムに挿入されるTRSM命令Pのトレース番号およびポイント番号を所望の値に設定することが可能である。
 また、ツール装置200は、通信IF36により、ユーザプログラムをCPUユニット1からダウンロードするとともに、ユーザプログラムをCPUユニット1にアップロードするように構成されている。これにより、ツール装置200は、TRSM命令Pを含むユーザプログラムを通信IF36からCPUユニット1に送信可能に構成されている。
 また、ツール装置200は、CPUユニット1に対してデータトレースの実行を指示する機能を有するとともに、利用者がデータトレースの結果を確認するために、CPUユニット1によるトレース結果のグラフを表示部35に表示する機能を有する。
 次に、図7を参照して、本実施形態による制御システム300のデータトレース時の動作について説明する。
 まず、ツール装置200(図2参照)では、ステップS1において、CPU31により、データトレースを受け付けたか否かが判断される。具体的には、たとえば、CPU31により、トレース番号を指定する項目と、データトレース開始ボタンとを表示部35に表示する。その後、利用者により操作部34が操作されることによって、データトレース開始ボタンが押されたか否かが判断される。そして、データトレースを受け付けていないと判断される場合には、ステップS1が繰り返し行われる。すなわち、ツール装置200は、データトレースを受け付けるまで待機する。そして、データトレースを受け付けたと判断される場合には、ステップS2に移る。
 次に、ステップS2において、CPU31により、データトレース開始指示が通信IF36からPLC100(図1参照)に送信される。なお、このデータトレース開始指示には、データトレースの対象となる変数を指定するためのトレース番号が含まれている。その後、ステップS3に移る。
 また、PLC100のCPUユニット1(図2参照)では、ステップS11において、CPU11により、通信IF15がデータトレース開始指示を受信したか否かが判断される。そして、データトレース開始指示を受信していないと判断される場合には、ステップS11が繰り返し行われる。すなわち、CPUユニット1は、データトレース開始指示を受信するまで待機する。そして、データトレース開始指示を受信したと判断される場合には、ステップS12に移る。
 次に、ステップS12において、CPU11により、データトレース処理が行われる。これにより、トレース番号により指定された変数が収集される。たとえば、トレース番号が「0」である場合には、変数V1およびV2が収集される。つまり、CPUユニット1では、ツール装置200から送信されるトレース番号により指定された変数が収集される。そして、データトレース処理が終了すると、ステップS13に移る。なお、データトレース処理については、後で詳細に説明する。
 次に、ステップS13において、CPU11により、トレース結果が通信IF15からツール装置200に送信される。その後、データトレース時のPLC100の動作が終了される。
 また、ツール装置200では、ステップS3において、CPU31により、通信IF36がトレース結果を受信したか否かが判断される。そして、トレース結果を受信したと判断される場合には、ステップS4に移る。その一方、トレース結果を受信していないと判断される場合には、ステップS3が繰り返し行われる。
 次に、ステップS4において、CPU31により、通信IF36により受信したトレース結果が表示部35に表示される。なお、トレース結果の表示については、後で詳細に説明する。その後、データトレース時のツール装置200の動作が終了される。
 次に、図8~図10を参照して、本実施形態によるCPUユニット1のデータトレース時の動作について説明する。なお、以下の動作は、CPUユニット1(図2参照)のCPU11によりシステムプログラム12aが実行されることにより行われる。すなわち、システムプログラム12aは、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。
 なお、以下では、トレース番号が「0」であるトレース開始指示をツール装置200(図2参照)から受信した場合を例に説明する。すなわち、トレース番号設定部23(図6参照)によりトレース番号「0」が設定されており、収集データ管理部24(図6参照)により管理される変数が変数V1およびV2である場合を例に説明する。また、以下では、データトレースが開始されてから、変数V1が1ms毎に「1、2、3、2、1、2、3・・・」と変化し、変数V2が1ms毎に「5、4、5、4、5、4、5・・・」と変化する場合を例に説明する。
 まず、CPU11により、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、タスクAは1msの周期で実行され、タスクBは2msの周期で実行され、タスクCは4msの周期で実行される。
 具体的には、タスク実行部21(図6参照)により、最も優先度の高いタスクAの処理が開始される。このとき、タスクBおよびCは、タスクAよりも優先度が低いことから、実際の処理が開始されることなく待機状態になる。
 そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令P(図3参照)が挿入されている。このため、データ収集部22(図6参照)により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、収集された順番を示すインデックス番号「1」と、データトレースが開始されてからの経過時間「0.15ms」と、TRSM命令Pのポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、収集された順番を示すインデックス番号「1」と、データトレースが開始されてからの経過時間「0.15ms」と、TRSM命令Pのポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の1番目の収集結果がRAM13に蓄積される。
 そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、インデックス番号「2」と、経過時間「0.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「2」と、経過時間「0.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の2番目の収集結果がRAM13に蓄積される。
 次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。
 そして、タスクBのユーザプログラムP3が実行される。ここで、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、インデックス番号「3」と、経過時間「0.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「3」と、経過時間「0.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の3番目の収集結果がRAM13に蓄積される。
 次に、タスクBのユーザプログラムP4が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから1ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムP4が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCは待機状態である。
 そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「4」と、経過時間「1.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「4」と、経過時間「1.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の4番目の収集結果がRAM13に蓄積される。
 そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「5」と、経過時間「1.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「5」と、経過時間「1.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の5番目の収集結果がRAM13に蓄積される。
 次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が再開される。このとき、タスクCは待機状態のままである。そして、タスク実行部21によりタスクBのユーザプログラムP4の残りが実行される。
 ここで、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「6」と、経過時間「1.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「6」と、経過時間「1.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の6番目の収集結果がRAM13に蓄積される。
 次に、タスクBの処理が完了すると、タスクCの処理が開始される。そして、タスク実行部21によりタスクCのユーザプログラムP5が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAの実行サイクルが経過することから、タスクCのユーザプログラムP5が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBの実行サイクルも経過することから、タスクBおよびCは待機状態である。
 そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「7」と、経過時間「2.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「7」と、経過時間「2.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の7番目の収集結果がRAM13に蓄積される。
 そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「8」と、経過時間「2.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「8」と、経過時間「2.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の8番目の収集結果がRAM13に蓄積される。
 次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。
 そして、タスクBのユーザプログラムP3が実行される。ここで、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「9」と、経過時間「2.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「9」と、経過時間「2.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の9番目の収集結果がRAM13に蓄積される。
 次に、タスクBのユーザプログラムP4が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから3ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムP4が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCは待機状態である。
 そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「10」と、経過時間「3.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「10」と、経過時間「3.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の10番目の収集結果がRAM13に蓄積される。
 そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「11」と、経過時間「3.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「11」と、経過時間「3.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の11番目の収集結果がRAM13に蓄積される。
 次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が再開される。このとき、タスクCは待機状態のままである。そして、タスク実行部21によりタスクBのユーザプログラムP4の残りが実行される。
 ここで、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「12」と、経過時間「3.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「12」と、経過時間「3.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の12番目の収集結果がRAM13に蓄積される。
 次に、タスクBの処理が完了すると、タスクCの処理が再開される。そして、タスク実行部21によりタスクCのユーザプログラムP5の残りが実行される。
 ここで、ユーザプログラムP5の最後には、トレース番号が「0」であり、ポイント番号が「5」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「13」と、経過時間「3.8ms」と、ポイント番号「5」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「13」と、経過時間「3.8ms」と、ポイント番号「5」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の13番目の収集結果がRAM13に蓄積される。
 そして、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクAの実行サイクルが経過することから、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCも実行サイクルが経過することから、タスクBおよびCは待機状態である。
 その後、上記した動作と同様の動作が繰り返し行われることにより、トレース番号「0」により指定された変数V1およびV2がRAM13に蓄積されていく。そして、所定の期間(たとえば、10秒)経過すると、データトレースが終了される。なお、図8~図10では、図面を簡略化するために、データトレースが開始されてから8ms経過するまでの状態を示した。その後、収集結果が蓄積されたトレース結果が通信IF15からツール装置200に送信される。
 次に、図11A~図11Cを参照して、本実施形態によるツール装置200のトレース結果の表示時の動作について説明する。
 ツール装置200では、図11Aに示すように、表示部35に、トレース番号が示される項目W1と、トレース番号により指定されることによってデータトレースの対象となる変数が示される項目W2とが表示される。図11Aの例では、項目W1にトレース番号「0」が表示され、項目W2に変数V1およびV2が表示される。表示部35には、項目W2の変数を選択するためのカーソルC1が表示される。図11Aでは、カーソルC1が変数V1を選択している。カーソルC1は、後述するカーソルC2により選択される変数(アクティブな変数)を選択するために設けられている。
 また、表示部35には、トレース結果がグラフGに表示される。このグラフGでは、カーソルC1により選択されている変数V1が実線の折れ線で表され、カーソルC1により選択されていない変数V2が点線の折れ線で表されている。なお、グラフGは、横軸が経過時間であり、縦軸が変数の値である。
 ここで、グラフGには、水平方向(横軸方向)に移動可能なカーソルC2が配置されている。そして、カーソルC2の近傍には、カーソルC2により選択されるデータに関する情報(インデックス番号、経過時間、ポイント番号)を表示する項目W3が配置されている。図11Aの例では、項目W3には、インデックス番号「12」、経過時間「3.45ms」、ポイント番号「4」が表示されている。なお、項目W3には、カーソルC1により選択される変数について、カーソルC2により選択されるデータ(収集結果)に関する情報が表示される。
 そして、利用者が操作部34を操作することにより、図11Bに示すように、カーソルC2が水平方向に移動された場合には、カーソルC2により選択されるデータが変更されることにより、項目W3に表示される内容が変更される。これにより、図11Bの例では、項目W3には、インデックス番号「22」、経過時間「6.6ms」、ポイント番号「3」が表示される。
 また、利用者が操作部34を操作することにより、図11Cに示すように、カーソルC1が切り替えられ、カーソルC1が変数V2を選択する場合には、グラフGにおいて、変数V1が点線の折れ線で表され、変数V2が実線の折れ線で表される。
 本実施形態では、上記のように、ユーザプログラムにおける位置を利用者が識別するためのポイント番号をTRSM命令Pが有することによって、収集データ管理部24が収集された変数(収集結果)とポイント番号とを関連付けることができる。これにより、収集結果がどのTRSM命令Pにより収集されたのかを利用者がポイント番号に基づいて判断することができる。したがって、収集結果がユーザプログラムのどの位置で収集されたのかを利用者が判断することができる。その結果、利用者がユーザプログラムをデバッグする際に、ユーザプログラムの欠陥を検出しやすくすることができる。
 また、本実施形態では、TRSM命令Pがトレース番号を有することによって、データ収集部22により、トレース番号で指定された変数を収集することができる。また、トレース番号には複数の変数を設定することができるので、利用者の所望の変数群について収集結果を収集することができる。
 また、本実施形態では、ユーザプログラムにTRSM命令Pを利用者の所望の位置に挿入することによって、利用者の所望のタイミングで変数を収集することができる。
 また、本実施形態では、表示部35の項目W3にポイント番号を表示することによって、収集結果をポイント番号と関連付けて利用者が確認することができる。
 また、本実施形態では、収集結果が蓄積されたトレース結果をグラフGに表示することによって、トレース結果を利用者が視覚的に理解しやすい状態で確認することができる。
 また、本実施形態では、CPU11が、シングルコアであり、時分割により複数のタスクを並行して実行することによって、CPU11の処理能力を効率的に利用することができる。
 なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
 たとえば、本実施形態では、PLC100がCPUユニット1と、入力ユニット2と、出力ユニット3と、電源ユニット4とを備える例を示したが、これに限らず、PLCが通信ユニットなどのその他のユニットを備えていてもよいし、PLCに入力ユニットが設けられていなくてもよい。
 また、本実施形態では、PLC100が複数のユニットにより構成される例を示したが、これに限らず、PLCが1つの筐体により構成され、その筐体に各ユニットの機能が組み込まれていてもよい。
 また、本実施形態では、CPU11がシングルコアであり、時分割により複数のタスクを並行して実行する例を示したが、これに限らず、CPUがマルチコアであり、複数のタスクを同時に並行して実行するようにしてもよい。このように構成すれば、タスクの処理能力の向上を図ることができる。
 また、本実施形態では、CPU11がシステムプログラム12aを実行することにより、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24が実現される例を示したが、これに限らず、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24がそれぞれハードウェアで構成されていてもよい。
 また、本実施形態では、収集された変数の値と、収集された順番を示すインデックス番号と、データトレースが開始されてからの経過時間と、TRSM命令Pのポイント番号とが関連付けられてRAM13に記憶される例を示したが、これに限らず、収集された変数の値と、収集された順番を示すインデックス番号と、データトレースが開始されてからの経過時間と、TRSM命令Pのポイント番号とが関連付けられてROM12に記憶されるようにしてもよい。
 また、本実施形態では、収集された変数の値と、データトレースが開始されてからの経過時間とが関連付けられる例を示したが、これに限らず、収集された変数の値と、変数が収集された時刻情報とが関連付けられるようにしてもよい。なお、時刻情報には、日付に関する情報が含まれていてもよいし、含まれていなくてもよい。
 また、本実施形態では、トレース番号が「0」であるTRSM命令PがユーザプログラムP1~P5に挿入され、トレース番号設定部23によりトレース番号「0」が設定される例を示したが、これに限らず、たとえば、トレース番号が「1」であるTRSM命令PがユーザプログラムP1~P5に挿入され、トレース番号設定部23によりトレース番号「1」が設定されてもよい。この場合には、収集データ管理部24により、データ収集部22により収集された変数V1~V7のうち、変数V3のみが管理される。これにより、変数V3についてのトレース結果を表示部35に表示させることができる。なお、同様に、トレース番号を「2」または「3」に設定するようにしてもよい。
 また、本実施形態では、TRSM命令PがユーザプログラムP1~P5の最後に挿入される例を示したが、これに限らず、TRSM命令Pがユーザプログラムの先頭に挿入されていてもよい。また、TRSM命令Pは、ユーザプログラムのどこに挿入されていてもよく、利用者の所望の位置に挿入することが可能である。
 また、本実施形態では、ユーザプログラムP1~P5の全てにTRSM命令Pが挿入される例を示したが、これに限らず、ユーザプログラムP1~P5のうち少なくとも1つにTRSM命令が挿入されていればよい。
 また、本実施形態では、1つのユーザプログラムに1つのTRSM命令Pが挿入される例を示したが、これに限らず、1つのユーザプログラムに複数のTRSM命令が挿入されていてもよい。
 また、本実施形態では、全ての収集結果をグラフ表示する例を示したが、これに限らず、所定のポイント番号(たとえば、ポイント番号「1」)の収集結果のみを選択してグラフ表示するようにしてもよい。このように構成すれば、利用者がユーザプログラムをデバッグする際に、ユーザプログラムの欠陥をより検出しやすくすることができる。
 また、本実施形態では、複数の変数についてのトレース結果を1つのグラフGに表示する例を示したが、これに限らず、複数の変数についてのトレース結果を変数毎にグラフに表示するようにしてもよい。また、アクティブな変数のみをグラフに表示するようにしてもよい。
 また、本実施形態において、変数V1およびV2などの値はいずれも一例であって上記した値に限定されるものではない。
 また、本実施形態において、タスクには、定期的に実行されるタスク(定周期タスク)に加えて、予め設定された実行条件が成立した場合に実行されるタスク(イベントタスク)が含まれていてもよい。
 本発明は、制御対象機器を制御する制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムに利用可能である。
 1   CPUユニット(制御装置)
 15  通信IF(第1通信部)
 21  タスク実行部
 22  データ収集部
 24  収集データ管理部
 31  CPU(プログラム作成部)
 35  表示部
 36  通信IF(第2通信部)
 60  制御対象機器
 200 ツール装置
 300 制御システム

Claims (9)

  1.  制御対象機器を制御する制御装置であって、
     ユーザプログラムを含むタスクを実行するタスク実行部と、
     前記タスク実行部によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集部と、
     前記収集部により収集された変数を管理する管理部とを備え、
     前記ユーザプログラムは、前記収集部による変数の収集を指示する収集指示プログラムを含み、
     前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、
     前記管理部は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集部により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されていることを特徴とする制御装置。
  2.  請求項1に記載の制御装置であって、
     前記収集指示プログラムは、前記収集部により収集される変数を指定する指定情報を有することを特徴とする制御装置。
  3.  請求項1または請求項2に記載の制御装置であって、
     前記タスク実行部は、複数の前記タスクを並行に実行し、かつ、前記複数のタスクの各タスクを前記各タスクに応じた周期で実行するように構成されていることを特徴とする制御装置。
  4.  請求項1から請求項3までのいずれか一つに記載の制御装置であって、
     前記収集部により収集された変数および前記変数に関連付けられた識別情報を、前記変数および前記識別情報を表示するためのツール装置に送信するための第1通信部を備えることを特徴とする制御装置。
  5.  ユーザプログラムを実行することにより制御対象機器を制御する制御装置と、前記ユーザプログラムを作成するためのツール装置とを備える制御システムであって、
     前記制御装置は、
     前記ユーザプログラムを含むタスクを実行するタスク実行部と、
     前記タスク実行部によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集部と、
     前記収集部により収集された変数を管理する管理部とを含み、
     前記ユーザプログラムは、前記収集部による変数の収集を指示する収集指示プログラムを含み、
     前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、
     前記管理部は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集部により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されていることを特徴とする制御システム。
  6.  制御対象機器を制御する制御装置において実行されるユーザプログラムを作成するためのツール装置であって、
     前記ユーザプログラムを作成するプログラム作成部と、
     前記プログラム作成部により作成されたユーザプログラムを前記制御装置に送信するための第2通信部とを備え、
     前記ユーザプログラムは、前記ユーザプログラムにおいて参照および更新される変数の収集を指示する収集指示プログラムを含み、
     前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有することを特徴とするツール装置。
  7.  請求項6に記載のツール装置であって、
     前記収集指示プログラムは、前記制御装置により収集される変数を指定する指定情報を有することを特徴とするツール装置。
  8.  請求項6または請求項7に記載のツール装置であって、
     前記プログラム作成部により作成されるユーザプログラムを表示する表示部を備え、
     前記第2通信部は、前記制御装置により収集された変数と、前記変数に関連付けられた識別情報とを前記制御装置から受信するように構成され、
     前記表示部は、前記第2通信部により受信した変数と、前記変数に関連付けられた識別情報とを表示するように構成されていることを特徴とするツール装置。
  9.  ユーザプログラムを含むタスクを実行するタスク実行部と、前記タスク実行部によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集部と、前記収集部により収集された変数を管理する管理部とを備える制御装置に、前記収集部による変数の収集を指示する手順を実行させるための収集指示プログラムであって、
     前記ユーザプログラムに含まれており、前記ユーザプログラムにおける位置を利用者が識別するための識別情報を有し、
     前記管理部は、前記収集部により収集された変数と、前記識別情報とを関連付けることを特徴とする収集指示プログラム。
PCT/JP2012/055674 2011-03-15 2012-03-06 制御装置、制御システム、ツール装置および収集指示プログラム WO2012124541A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280011199.7A CN103430111B (zh) 2011-03-15 2012-03-06 控制装置、控制系统、以及工具装置
EP12758069.4A EP2672348B1 (en) 2011-03-15 2012-03-06 Control device, control system, tool device, and collection instruction program
US14/003,342 US9921560B2 (en) 2011-03-15 2012-03-06 Control device, control system, tool device, and collection instruction program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-056868 2011-03-15
JP2011056868A JP5252014B2 (ja) 2011-03-15 2011-03-15 制御装置、制御システム、ツール装置および収集指示プログラム

Publications (1)

Publication Number Publication Date
WO2012124541A1 true WO2012124541A1 (ja) 2012-09-20

Family

ID=46830616

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/055674 WO2012124541A1 (ja) 2011-03-15 2012-03-06 制御装置、制御システム、ツール装置および収集指示プログラム

Country Status (5)

Country Link
US (1) US9921560B2 (ja)
EP (1) EP2672348B1 (ja)
JP (1) JP5252014B2 (ja)
CN (1) CN103430111B (ja)
WO (1) WO2012124541A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2504728A (en) 2012-08-08 2014-02-12 Ibm Second failure data capture in co-operating multi-image systems
DE112013006837T5 (de) 2013-04-12 2015-12-03 Mitsubishi Electric Corporation Peripheriegerät für programmierbares Steuergerät und Fehlerbeseitigungsunterstützungsprogramm
CN106104397B (zh) * 2014-03-14 2018-07-10 欧姆龙株式会社 控制装置及控制系统
US10156837B2 (en) 2014-03-14 2018-12-18 Omron Corporation Control systems for setting sampling timing
JP6252269B2 (ja) * 2014-03-14 2017-12-27 オムロン株式会社 制御装置、制御システム、データトレース方法、及びプログラム
FR3038990B1 (fr) 2015-07-13 2019-04-05 Tlogic Automation Procede de surveillance et d'expertise du fonctionnement d'une installation industrielle pilotee par un controleur programmable et equipement mettant en œuvre ledit procede
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
JP6432494B2 (ja) * 2015-11-30 2018-12-05 オムロン株式会社 監視装置、監視システム、監視プログラムおよび記録媒体
JP6594535B2 (ja) * 2016-05-23 2019-10-23 三菱電機株式会社 シーケンス制御装置
US10990073B2 (en) * 2016-08-30 2021-04-27 Mitsubishi Electric Corporation Program editing device, program editing method, and computer readable medium
JP6430037B2 (ja) * 2016-10-17 2018-11-28 三菱電機株式会社 デバッグ支援装置およびデバッグ支援方法
JP6816554B2 (ja) * 2017-02-22 2021-01-20 オムロン株式会社 制御システム、制御装置および制御プログラム
JP6859922B2 (ja) * 2017-10-24 2021-04-14 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP7036069B2 (ja) * 2019-03-15 2022-03-15 オムロン株式会社 制御システム、中継装置、および中継プログラム
DE112019006929T5 (de) * 2019-04-02 2021-11-25 Mitsubishi Electric Corporation Antriebssteuerung

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH06161518A (ja) * 1992-11-27 1994-06-07 Hitachi Ltd プログラムコントローラ
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
JP2009146040A (ja) 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ218742A (en) * 1986-06-03 1990-09-26 Fisher & Paykel Programmed logic controller
US4356552A (en) * 1980-03-19 1982-10-26 Fujitsu Fanuc Limited Tracer control equipment
JPH03105503A (ja) * 1989-09-20 1991-05-02 Mitsubishi Electric Corp プログラマブルコントローラ
JPH07244509A (ja) * 1994-03-07 1995-09-19 Fuji Electric Co Ltd プログラマブルコントローラ用プログラム生成装置
JP3358759B2 (ja) * 1994-06-08 2002-12-24 株式会社安川電機 プログラマブルコントローラのデータトレース方法
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6311326B1 (en) * 1999-01-04 2001-10-30 Emc Corporation Online debugging and tracing system and method
US8312435B2 (en) * 2000-12-26 2012-11-13 Identify Software Ltd. (IL) System and method for conditional tracing of computer programs
KR100802606B1 (ko) * 2001-04-13 2008-02-13 엘지전자 주식회사 데이터의 천이 상태에 따른 디버깅 장치 및 방법
US7346895B2 (en) * 2002-07-31 2008-03-18 International Business Machines Corporation Method of tracing data collection
DE602004029508D1 (de) * 2004-04-15 2010-11-18 Mitsubishi Electric Corp Peripherieeinrichtung einer programmierbaren logisür
JP4890545B2 (ja) * 2006-06-13 2012-03-07 三菱電機株式会社 プログラマブルロジックコントローラの周辺装置
JP5218585B2 (ja) * 2011-03-15 2013-06-26 オムロン株式会社 制御装置およびシステムプログラム
JP5796311B2 (ja) * 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
US9377769B2 (en) * 2011-03-15 2016-06-28 Omron Corporation Control apparatus for updating a user program while processing is being performed and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH06161518A (ja) * 1992-11-27 1994-06-07 Hitachi Ltd プログラムコントローラ
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
JP2009146040A (ja) 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2672348A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム
JPWO2016185558A1 (ja) * 2015-05-19 2017-09-07 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム
US10248099B2 (en) 2015-05-19 2019-04-02 Mitsubishi Electric Corporation Programmable logic controller, engineering tool, and engineering tool program

Also Published As

Publication number Publication date
US9921560B2 (en) 2018-03-20
EP2672348A1 (en) 2013-12-11
EP2672348B1 (en) 2019-09-11
CN103430111A (zh) 2013-12-04
EP2672348A4 (en) 2015-08-26
JP5252014B2 (ja) 2013-07-31
CN103430111B (zh) 2016-04-27
US20140058538A1 (en) 2014-02-27
JP2012194680A (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
JP5252014B2 (ja) 制御装置、制御システム、ツール装置および収集指示プログラム
JP5218585B2 (ja) 制御装置およびシステムプログラム
JP5747584B2 (ja) 制御装置およびシステムプログラム
JP2015176370A (ja) 制御システム、方法、プログラムおよび情報処理装置
JP4097670B2 (ja) 工作機械におけるモニタ装置
JP5796311B2 (ja) 制御装置およびシステムプログラム
US9557897B2 (en) Apparatus and method for inputting cutting shape using interactive program in computer numerical control machine tool
JP7060926B2 (ja) 生産管理システム及び生産管理装置
US11960925B2 (en) Program generating device, program generating method, and information storage medium
JP5994862B2 (ja) 開発支援装置及び開発支援プログラム
US10802470B2 (en) Control system
JP4324866B2 (ja) ツール
EP3633471B1 (en) Program development support device, program development support system, program development support method, and program development support program
JP6969454B2 (ja) 制御装置、制御方法、および、制御プログラム
JP2001154711A (ja) 工程歩進型プログラムのデバッグ方法および装置
CN112559029B (zh) 逻辑组态元件、组态软件的使用方法、可读存储介质
KR20180067883A (ko) 모니터링 장치 관리 방법
US11151016B2 (en) Control-program-development supporting apparatus, control-program-development supporting system, control-program-development supporting method, and non-transitory computer-readable storage medium
KR20160141938A (ko) Plc용 스캔 프로그램의 구동 방법
WO2012117264A1 (ja) 表示器

Legal Events

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

Ref document number: 201280011199.7

Country of ref document: CN

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

Ref document number: 12758069

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012758069

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14003342

Country of ref document: US