WO2013145940A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
WO2013145940A1
WO2013145940A1 PCT/JP2013/053963 JP2013053963W WO2013145940A1 WO 2013145940 A1 WO2013145940 A1 WO 2013145940A1 JP 2013053963 W JP2013053963 W JP 2013053963W WO 2013145940 A1 WO2013145940 A1 WO 2013145940A1
Authority
WO
WIPO (PCT)
Prior art keywords
variable
control program
value
input
program
Prior art date
Application number
PCT/JP2013/053963
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 オムロン株式会社
Publication of WO2013145940A1 publication Critical patent/WO2013145940A1/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
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Definitions

  • the present invention relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device capable of executing a simulation of a control program, an information processing method in the information processing device, and a program for controlling the information processing device. .
  • controller support device capable of executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls the movement of a machine.
  • Patent Document 1 when executing a simulation of a control program including motion control, it is possible to re-execute from a control cycle in the middle from the start to the end of execution.
  • a controller support device is disclosed. Specifically, the controller support device performs simulation execution of the sequence control portion of the control program for one cycle, and generates an execution result related to the sequence control portion. The controller support device executes a simulation of the motion control portion for one period and generates an execution result related to the motion control portion. Then, the controller support device increments and updates the control cycle number.
  • the controller support device determines whether or not it is a resumable control cycle, and if it is determined that it is a resumable control cycle, the contents of the resuming data buffer updated in the previous control cycle are stored in the resuming data storage unit To do.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide an information processing apparatus capable of displaying the state of variables input and output by the controller at an arbitrary timing in a state that can be easily confirmed by the user.
  • An information processing method and a program are provided.
  • the information processing apparatus simulates a first control program executed at each control cycle in a controller that controls the movement of the machine.
  • the information processing apparatus includes: a value of an input variable input to the first control program at an arbitrary timing; first identification information for identifying the input variable; and the first control program at an arbitrary timing.
  • An acquisition unit that acquires the value of the output variable output by execution and the second identification information for identifying the output variable from the controller, and a second control program that executes the same processing as the first control program Are stored, a simulation unit that simulates the second control program stored in the storage unit, and a display control unit that displays the result of the simulation on the display device.
  • the simulation unit sets the value of the acquired input variable as the value of the variable specified by the first identification information in a state where execution of the second control program is stopped, and sets the value of the acquired output variable as the second value. Is input to the second control program as the value of the variable specified by the identification information.
  • the display control unit causes the display device to display the result of inputting the acquired value of the input variable and the value of the output variable to the second control program in a state where the second control program is visualized.
  • the acquisition unit further acquires setting information in the controller from the controller.
  • the simulation unit further inputs the setting information acquired in the second control program.
  • the display control unit displays the state of the input variable and the output variable in a state in which the second control program is visualized. Display on the device.
  • control program is a ladder program.
  • the display control unit causes the display device to display a ladder diagram including the acquired input variables and output variables.
  • the simulation unit includes, as operation modes, a first operation mode for executing a ladder program and a second operation mode for stopping execution of logic of the ladder program.
  • the simulation unit inputs the acquired input variables and output variables to the ladder program when the operation mode is the second operation mode.
  • the arbitrary timing is when a malfunction occurs in the control of the machine by the controller.
  • the acquisition unit further acquires, from the controller, an internal variable of the first control program at an arbitrary timing and third identification information for identifying the internal variable.
  • the simulation unit inputs the value of the acquired internal variable to the second control program as the value of the variable specified by the third identification information in a state where execution of the second control program is stopped.
  • the display control unit displays the result of inputting the acquired input variable value, output variable value, and internal variable value to the second control program on the display device in a state where the second control program is visualized.
  • the information processing method is executed in an information processing apparatus that simulates a first control program executed in each control cycle in a controller that controls the movement of a machine.
  • the information processing method includes a value of an input variable input to the first control program at an arbitrary timing, first identification information for identifying the input variable, and the first control program at an arbitrary timing.
  • the value of the acquired input variable is set as the value of the variable specified by the first identification information
  • the value of the acquired output variable is specified by the second identification information
  • a step of inputting to the second control program as the value of the variable to be input, and a result of inputting the acquired value of the input variable and the value of the output variable to the second control program The control program and a step of displaying on the display device in a state of being visualized.
  • the program controls the information processing apparatus that simulates the first control program executed at each control cycle in the controller that controls the movement of the machine.
  • the program includes a value of an input variable input to the first control program at an arbitrary timing, first identification information for identifying the input variable, and execution of the first control program at an arbitrary timing.
  • the value of the acquired input variable is set as the value of the variable specified by the first identification information
  • the value of the acquired output variable is specified by the second identification information
  • a step of displaying on the display device control program in a state of being visualized causes the processor to perform the information processing apparatus.
  • the present invention it is possible to display the state of variables input / output by the controller at an arbitrary timing in a state that can be easily confirmed by the user.
  • FIG. 1 is a diagram illustrating the configuration of the control system.
  • a control system 1 according to an embodiment of the present invention includes a server 2, a network 4, a PC (personal computer) 6, a controller 14, and a control target device 16.
  • PC personal computer
  • the server 2 is connected to the PC 6 via the network 4.
  • the PC 6 is communicably connected to the controller 14 that controls the control target device 16 via the connection cable 22.
  • the PC 6 that is an information processing device functions as a controller support device.
  • a controller support program 8 is installed in the PC 6, and a control program 10 created by the user is stored.
  • a CD-ROM (Compact Disc-Read Only Memory) 12 stores a controller support program 8.
  • the controller support program 8 installed on the PC 6 is installed from the CD-ROM 12.
  • the controller 14 is communicably connected to the control target device 16 via the field network 24.
  • the controller 14 controls the movement of the control target device 16.
  • a PLC Programmable Logic Controller
  • the controller 14 stores a control program 15 that defines the control contents for the control target device 16.
  • the controller 14 executes the control program 15 once for each control cycle.
  • the control program 15 stored in the controller 14 is copy data obtained by copying the control program 10 stored in the PC 6, and is transmitted from the PC 6.
  • the control target device 16 includes a motor driver 17 that drives a motor 18 such as a servo motor or a stepping motor.
  • the motor 18 is supplied with drive current from the motor driver 17.
  • the motor driver 17 is given a position command value for each control cycle from the controller 14 that executes the control program 15, and supplies a drive current corresponding to the command value to the motor 18.
  • the motor 18 is a servo motor
  • the motor 18 is provided with an encoder, and an actual measurement value of the rotational position of the motor 18 is detected by the encoder. The measured value of the rotational position of the motor is used by the motor driver 17 for feedback control.
  • controller support program is installed in the PC 6 via the CD-ROM 12
  • the present invention is not limited to this, and the controller support program may be downloaded from the server 2 to the PC 6 via the network 4.
  • the control program may be downloaded from the server 2 to the PC 6 via the network 4.
  • FIG. 2 is a diagram illustrating a schematic configuration of the controller 14.
  • the controller 14 includes a CPU unit 413 that executes main arithmetic processing, one or more IO units 414, and a special unit 415. These units are configured to exchange data with each other via the PLC system bus 411. These units are supplied with power of an appropriate voltage by the power supply unit 412. Since each unit configured as the controller 14 is provided by a PLC manufacturer, the PLC system bus 411 is generally developed and used independently for each PLC manufacturer. On the other hand, as will be described later, standards for the field network 24 are often disclosed so that products from different manufacturers can be connected to each other.
  • the IO unit 414 is a unit related to general input / output processing, and controls input / output of binarized data such as on / off.
  • the IO unit 414 is in a state where a sensor such as a detection switch (not shown) detects a certain object (ON) or a state where no object is detected (OFF). Collect information.
  • the IO unit 414 outputs either an activation command (ON) or an inactivation command (OFF) to an output destination such as a relay (not shown) or an actuator.
  • Special unit 415 has functions not supported by IO unit 414, such as analog data input / output, temperature control, and communication using a specific communication method.
  • FIG. 3 is a schematic diagram illustrating a hardware configuration of the CPU unit 413.
  • CPU unit 413 includes a microprocessor 100, a chip set 102, a main memory 104, a nonvolatile memory 106, a system timer 108, a PLC system bus controller 120, and a field network controller 140.
  • USB connector 110 The chip set 102 and other components are coupled via various buses.
  • the microprocessor 100 and the chipset 102 are typically configured according to a general-purpose computer architecture. That is, the microprocessor 100 interprets and executes the instruction codes sequentially supplied from the chip set 102 according to the internal clock.
  • the chip set 102 exchanges internal data with various connected components and generates instruction codes necessary for the microprocessor 100. Further, the chip set 102 has a function of caching data obtained as a result of execution of arithmetic processing in the microprocessor 100.
  • the CPU unit 413 includes a main memory 104 and a nonvolatile memory 106 as storage means.
  • the main memory 104 is a volatile storage area (RAM), and holds various programs to be executed by the microprocessor 100 after the CPU unit 413 is powered on.
  • the main memory 104 is also used as a working memory when the microprocessor 100 executes various programs.
  • a main memory 104 a device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) is used.
  • the non-volatile memory 106 holds data such as a real-time OS (Operating System), a system program of the controller 14, a user program, a motion calculation program, and system setting parameters in a non-volatile manner. These programs and data are copied to the main memory 104 so that the microprocessor 100 can access them as necessary.
  • a nonvolatile memory 106 a semiconductor memory such as a flash memory can be used.
  • a magnetic recording medium such as a hard disk drive or an optical recording medium such as a DVD-RAM (Digital Versatile Disk Random Access Memory) can be used.
  • the system timer 108 generates an interrupt signal at regular intervals and provides it to the microprocessor 100. Typically, it is configured to generate an interrupt signal at a plurality of different periods depending on the hardware specifications, but interrupts at an arbitrary period depending on the OS (Operating System), BIOS (Basic Input Output System), etc. It can also be set to generate a signal. Using the interrupt signal generated by the system timer 108, a control operation for each motion control cycle as described later is realized.
  • the CPU unit 413 includes a PLC system bus controller 120 and a field network controller 140 as communication circuits.
  • the buffer memory 126 is a transmission buffer for data output to other units via the PLC system bus 411 (hereinafter also referred to as “output data”), and is input from other units via the PLC system bus 411. It functions as a data reception buffer (hereinafter also referred to as “input data”).
  • the output data created by the arithmetic processing by the microprocessor 100 is stored in the main memory 104 originally. Output data to be transferred to a specific unit is read from the main memory 104 and temporarily held in the buffer memory 126. Input data transferred from other units is temporarily stored in the buffer memory 126 and then transferred to the main memory 104.
  • the DMA control circuit 122 transfers output data from the main memory 104 to the buffer memory 126 and transfers input data from the buffer memory 126 to the main memory 104.
  • the PLC system bus control circuit 124 performs processing for transmitting output data of the buffer memory 126 and processing for receiving input data and storing it in the buffer memory 126 with other units connected to the PLC system bus 411. .
  • the PLC system bus control circuit 124 provides physical layer and data link layer functions in the PLC system bus 411.
  • the field network controller 140 controls the exchange of data via the field network 24. That is, the field network controller 140 controls transmission of output data and reception of input data according to the standard of the field network 24 used.
  • the field network controller 140 including hardware for performing normal Ethernet (registered trademark) communication is used. It is done.
  • a general Ethernet (registered trademark) controller that realizes a communication protocol according to the normal Ethernet (registered trademark) standard can be used.
  • the DMA control circuit 142 transfers output data from the main memory 104 to the buffer memory 146 and transfers input data from the buffer memory 146 to the main memory 104.
  • the field network control circuit 144 performs processing for transmitting output data of the buffer memory 146 and processing for receiving input data and storing it in the buffer memory 146 with other devices connected to the field network 24.
  • the field network control circuit 144 provides physical layer and data link layer functions in the field network 24.
  • the USB connector 110 is an interface for connecting the PC 6 and the CPU unit 413. Typically, a program or the like that can be executed by the microprocessor 100 of the CPU unit 413 and transferred from the PC 6 is taken into the controller 14 via the USB connector 110.
  • FIG. 4 is a schematic diagram showing a software configuration executed by the CPU unit 413.
  • the software executed by CPU unit 413 has three layers: real-time OS 200, system program 210, and user program 236.
  • the real-time OS 200 is designed according to the computer architecture of the CPU unit 413, and provides a basic execution environment for the microprocessor 100 to execute the system program 210 and the user program 236.
  • This real-time OS is typically provided by a PLC manufacturer or a specialized software company.
  • the system program 210 is a software group for providing a function as the controller 14.
  • the system program 210 includes a scheduler program 212, an output processing program 214, an input processing program 216, a sequence command operation program 232, a motion operation program 234, and other system programs 220.
  • the output processing program 214 and the input processing program 216 are executed continuously (integrally), so these programs may be collectively referred to as an IO processing program 218.
  • the user program 236 is created according to the control purpose of the user. That is, the program is arbitrarily designed according to the line (process) to be controlled using the control system 1.
  • the user program 236 realizes a control purpose for the user in cooperation with the sequence command calculation program 232 and the motion calculation program 234. That is, the user program 236 implements programmed operations by using instructions, functions, function modules, and the like provided by the sequence instruction calculation program 232 and the motion calculation program 234. Therefore, the user program 236, the sequence command calculation program 232, and the motion calculation program 234 may be collectively referred to as the control program 15.
  • the microprocessor 100 of the CPU unit 413 executes the system program 210 and the user program 236 stored in the storage unit.
  • the user program 236 is created according to a control purpose (for example, a target line or process) by the user.
  • the user program 236 is typically in an object program format that can be executed by the microprocessor 100 of the CPU unit 413.
  • the user program 236 is generated by compiling a source program described in a ladder language or the like on the PC 6 or the like. Then, the generated user program 236 in the object program format is transferred from the PC 6 to the CPU unit 413 via the connection cable 22 and stored in the nonvolatile memory 106 or the like.
  • the scheduler program 212 controls the start of processing in each execution cycle and the resumption of processing after the suspension of processing for the output processing program 214, the input processing program 216, and the control program 15. More specifically, the scheduler program 212 controls the execution of the user program 236 and the motion calculation program 234.
  • a fixed execution cycle (motion control cycle) suitable for the motion calculation program 234 is adopted as a common cycle for the entire processing. Therefore, it is difficult to complete all processes within one motion control cycle. Therefore, depending on the priority of the process to be executed, the process to be executed in each motion control cycle and multiple motion controls A process that can be executed over a cycle is distinguished.
  • the scheduler program 212 manages the execution order of these divided processes. More specifically, the scheduler program 212 executes a program having a higher priority first in each motion control cycle period.
  • the output processing program 214 rearranges the output data generated by the execution of the user program 236 (control program 15) into a format suitable for transferring to the PLC system bus controller 120 and / or the field network controller 140.
  • the output processing program 214 issues such an instruction.
  • the input processing program 216 rearranges the input data received by the PLC system bus controller 120 and / or the field network controller 140 into a format suitable for use by the control program 15.
  • the sequence command calculation program 232 is a program that is called when a certain sequence command used in the user program 236 is executed and executed to realize the content of the command.
  • the motion calculation program 234 is a program that is executed according to an instruction from the user program 236 and calculates a command value to be output to the motor driver 17.
  • Other system programs 220 collectively show a group of programs for realizing various functions of the controller 14 other than the programs individually shown in FIG.
  • the other system program 220 includes a program 222 for setting the period of the motion control cycle.
  • the period of the motion control cycle can be appropriately set according to the control purpose.
  • the user inputs information specifying the period of the motion control cycle to the PC 6.
  • the input information is transferred from the PC 6 to the CPU unit 413.
  • the program 222 for setting the period of the motion control cycle stores the information from the PC 6 in the nonvolatile memory 106 and also generates an interrupt signal at the period of the motion control cycle designated by the system timer 108. 108 is set.
  • the program 222 for setting the cycle of the motion control cycle is executed, so that information specifying the cycle of the motion control cycle is read from the nonvolatile memory 106, and the read information Accordingly, the system timer 108 is set.
  • the format of the information for specifying the period of the motion control cycle includes a time value indicating the period of the motion control cycle and information for identifying one of a plurality of options prepared in advance relating to the period of the motion control cycle (number Or a character) etc. can be adopted.
  • means for setting the period of the motion control cycle means for communicating with the PC 6 used for acquiring information specifying the period of the motion control cycle, period of the motion control cycle
  • period of the motion control cycle There are elements used to arbitrarily set the period of the motion control cycle, such as the configuration of the system timer 108 that can arbitrarily set the period of the interrupt signal that defines the motion control cycle and the program 222 that sets the motion control cycle. Applicable.
  • the real-time OS 200 provides an environment for switching and executing a plurality of programs over time.
  • an output preparation interrupt (P) is generated as an event (interrupt) for outputting (transmitting) output data generated by program execution of the CPU unit 413 to another unit or another device.
  • field network transmission interrupt (X) are initialized.
  • the real time OS 200 switches the execution target in the microprocessor 100 from the program being executed at the time of the interrupt generation to the scheduler program 212.
  • the real-time OS 200 executes the programs included in the other system programs 210 when the scheduler program 212 and the program that controls the execution of the scheduler program 212 are not executed at all.
  • a program for example, a program related to communication processing via the connection cable 22 (USB) between the CPU unit 413 and the PC 6 is included.
  • FIG. 5 is a diagram illustrating the hardware configuration of the PC 6.
  • PC 6 according to the embodiment of the present invention includes CPU 901, ROM 902, RAM 903, and HDD 904, CD-ROM drive device 908, communication IF 909, monitor 907, keyboard 905, and mouse 906. including. These parts are connected to each other via an internal bus 910.
  • the HDD 904 is typically a nonvolatile magnetic memory, and stores a controller support program read from the CD-ROM 12 by the CD-ROM driving device 908. A control program 15 is also stored.
  • the CPU 901 expands the controller support program 8 according to the present embodiment stored in the HDD 904 in the RAM 903 and executes it.
  • the RAM 903 is a volatile memory and is used as a work memory.
  • the ROM 902 generally stores programs such as an operating system (OS).
  • OS operating system
  • the communication IF 909 typically supports general-purpose communication protocols such as Ethernet (registered trademark) and USB (Universal Serial Bus), and provides data communication with the server 2 via the network 4 and the controller 14. Provide data communication to and from.
  • general-purpose communication protocols such as Ethernet (registered trademark) and USB (Universal Serial Bus)
  • the monitor 907 is composed of a liquid crystal display device, a CRT (Cathode Ray Tube), a plasma display device, and the like, and displays a processing result by the PC 6.
  • the keyboard 905 accepts key input by the user, and the mouse 906 accepts pointing operation by the user.
  • FIG. 6 is a diagram for explaining functional blocks realized by the CPU 901 executing the controller support program 8. Referring to FIG. 6, here, user interface unit 802, display data creation unit 804, simulation unit 806, control program storage unit 808, control program editing unit 810, controller interface unit 812, backup file A creation unit 814 is shown.
  • the user interface unit 802 is a part that creates the contents of the window screen to be displayed on the monitor 907 of the PC 6 and accepts user operations with the keyboard 905 and the mouse 906.
  • the control program editing unit 810 allows the user to input and edit the control program.
  • the control program editing unit 810 also compiles when compiling is necessary to execute the control program.
  • the created control program is sent to the controller 14 via the controller interface unit 812.
  • the created control program is stored in a control program storage unit 808 that is a predetermined area of the HDD 904.
  • the control program editing unit 810 can also read and edit the control program 15 stored in the controller 14 via the controller interface unit 812. For example, the control program editing unit 810 receives a control program change (for example, correction) instruction from the user, and changes the control program based on the instruction.
  • a control program change for example, correction
  • the simulation unit 806 is a simulator of the controller 14.
  • the simulation unit 806 simulates the operation of the controller 14 executing the control program 15 according to the control program 10 stored in the control program storage unit 808, and calculates the command value of the position that the controller 14 should output every control cycle. To do.
  • the simulation unit 806 simulates a state in which an external signal arrives and affects the operation of the control program, or the execution of the control program 15 itself causes the internal contents of the controller 14 to be stored in the memory of the controller 14. It is possible to simulate a state in which the state changes and the change affects the operation of the control program 15.
  • the simulation unit 806 accepts a user instruction regarding simulation execution via the user interface unit 802. That is, the user interface unit 802 also functions as a means for receiving a user instruction to the simulation unit 806.
  • the display data creation unit 804 creates display data for displaying temporal changes in the execution result data created by the simulation unit 806.
  • the display data creation unit 804 displays the display data on the monitor 907 of the PC 6 in the form of a graph or characters by sending the created display data to the user interface unit 802.
  • the controller interface unit 812 acquires backup data from the controller 14.
  • the acquisition of backup data is not limited to that via the controller interface unit 812.
  • the backup file creation unit 814 of the PC 6 may acquire backup data from the controller 14 using a memory card such as an SD (Secure Digital) card.
  • SD Secure Digital
  • a configuration in which the controller interface unit 812 acquires backup data from the controller 14 will be described as an example. That is, a configuration without using an SD card will be described as an example. Details of the backup data will be described later.
  • the backup file creation unit 814 generates one backup file using a plurality of types of backup data.
  • the simulation unit 806 executes restoration using a backup file when a restore instruction (to be described later) is input via the user interface unit 802.
  • the display data creation unit 804 displays the restoration result on the monitor 907 in a state where the control program 10 is visualized.
  • the PC 6 Before obtaining backup data, the PC 6 has the control program 10, setting information, and information (hereinafter, unit and slave information) representing the unit configuration and slave configuration in the control system 1.
  • setting information is information representing motion axis setting, task setting, and the like.
  • a ladder program will be described as an example of a control program. Further, the description will be made assuming that the ladder diagram by the ladder program includes a function block. Further, the case where an abnormality occurs in the controller 14 will be described as an example as the timing for performing backup. Note that the timing for performing backup is not limited to the case where an abnormality occurs in the controller 14, but can be performed at any timing desired by the user.
  • FIG. 7 is a sequence chart for explaining the flow of processing in the above-described backup and restore. Referring to FIG. 7, it is assumed that an abnormality has occurred in controller 14 in sequence SQ2.
  • the controller interface unit 812 of the PC 6 acquires a plurality of types of backup data from the controller 14.
  • Examples of the type of backup data include variable information.
  • “Variable information” is information including variable identification information, variable type, variable value, and the like.
  • “Variable identification information” is, for example, a variable name. Examples of variable types include bool, int, and string.
  • the controller interface unit 812 sends the acquired plural types of backup data to the backup file creation unit 814.
  • the backup file creation unit 814 creates one backup file from a plurality of backup data. Specifically, the backup file creation unit 814 generates one backup file by archiving a plurality of types of backup data. The configuration of the backup file will be described later (FIG. 8).
  • the backup file creation unit 814 sends the generated backup file to the simulation unit 806.
  • the simulation unit 806 performs restoration using the backup file.
  • “Restore” means that all or part of each variable stored in the backup file is used as a simulation variable (returning the variable).
  • “restore” refers to the use of all or part of the input variables of the variables stored in the backup file as input variables for the simulation, and the variables stored in the backup file. Is used as an output variable for the simulation. More specifically, “restore” means that the input variable acquired from the controller 14 is set as the input variable of the control program 10 of the PC 6 while the control program is stopped, and the output variable acquired from the controller 14 is the control of the PC 6. Input to the control program 10 as an output variable of the program 10. The input is performed for each variable name.
  • the simulation unit 806 has, as operation modes, a run mode for executing a control program (for example, a ladder program) and a program mode for stopping execution of logic of the control program.
  • the restoration is executed when the operation mode is the program mode. That is, the state where the control program is stopped means that the program mode is set.
  • the simulation unit 806 sends the input result obtained by inputting the variable to the display data creation unit 804.
  • the display data creation unit 804 causes the monitor 907 to display a display based on the input result. Specifically, the display data creation unit 804 causes the monitor 907 to display the input results of the input variables and output variables in the backup file to the control program 10 in a state where the control program 10 is visualized. Specific display contents will be described later (FIG. 9).
  • snapshot is a process of acquiring a state (variable state) in a memory at a certain time point and separately storing it as data.
  • each element contact point, etc.
  • a power flow diagram a ladder diagram showing ON / OFF of each contact
  • the program name is included in the variable information.
  • FIG. 8 is a diagram for explaining the configuration of a backup file.
  • backup file 890 includes backup data 891, backup data 892, and backup data 893. That is, the backup file 890 is an archive of a plurality of types of backup data 891 to 893.
  • the backup data 891 includes the control program 15 and setting information.
  • the backup data 892 is variable information. As described above, the variable information includes a variable name, a variable type, and a variable value.
  • the backup data 893 is unit and slave information.
  • the control program 15 in the backup file 890 is used for simulation in the PC 6. That is, the control program 15 in the backup file 890 is used as the control program 10 in FIG.
  • the backup file includes these programs and each information. There is no need to be. That is, the backup file only needs to include variable information.
  • FIG. 9 is a diagram showing a state in which the input result of the input variable and the output variable in the backup file to the control program 10 is displayed on the monitor 907 with the control program 10 visualized.
  • screen 9070 includes two circuits (that is, logic).
  • the current value of the variable (program0.aaa) whose name is “aaa” and the current value of the variable (program0.bbb) whose name is “bbb” are both “True”. It has become.
  • the current value (ie, True) of the variable (program0.aaa) whose name is “aaa” is input, and the current value (ie, True) of the variable (program0.bbb) whose name is “bbb” is input. It is output.
  • the user can easily determine where the problem has occurred by checking the screen 9070. For example, when there is no problem in the control programs 10 and 15, if the value of the variable (program0.bbb) is True, the value of the variable (program0.ccc) is assumed to be True. In this case, the user can easily and quickly determine from the ladder diagram that the value of the variable (program0.ccc) is an incorrect result (ie, False). That is, the user can easily and quickly determine that a problem has occurred in the second ladder.
  • FIG. 10 is a flowchart showing the flow of processing in the PC 6.
  • CPU 901 of PC 6 has input variables and input variable names input to controller 14 in controller 14, and output variables and output variables output by execution of control program 15. The name is acquired from the controller 14.
  • step S4 the CPU 901 stops the execution of the control program 10, sets the acquired input variable as an input variable with an input variable name, and sets the acquired output variable as an output variable with an output variable name.
  • step S ⁇ b> 6 the CPU 901 displays the input results of the acquired input variables and output variables to the control program 10 on the monitor 907 in a state where the control program 10 is visualized.
  • the PC 6 may be configured to display not only input variables and output variables but also internal variables.
  • the “internal variable” is not an input / output variable but a variable used internally.
  • An example of the internal variable is a variable that stores a temporary value.
  • the PC 6 may be configured as follows.
  • the controller interface unit 812 of the PC 6 includes, as a plurality of types of backup data, values of input variables input to the control program 15 at an arbitrary timing, identification information for identifying the input variables, and a control program at the timings From the controller 14, the value of the output variable output by executing 15 and the identification information for identifying the output variable, the internal variable of the control program 15 at the timing, and the identification information for identifying the internal variable are output from the controller 14. Get more.
  • the simulation unit 806 inputs the value of the acquired internal variable to the control program 10 as the value of the variable specified by the identification information of the internal variable in a state where the execution of the control program 10 is stopped.
  • the display data creation unit 804 causes the monitor 907 to display the input result of the input variable value, the output variable value, and the internal variable value to the control program 10 in a state where the control program 10 is visualized.

Landscapes

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

Abstract

 PC(6)は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および入力変数名と、第1の制御プログラムの実行により出力された出力変数の値および出力変数名とをコントローラ(14)から取得する。シミュレーション部(806)は、第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、入力変数の値を入力変数名で特定される変数の値とし、出力変数の値を出力変数名で特定される変数の値として、第2の制御プログラムに入力する。表示データ作成部(804)は、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態でモニタに表示させる。

Description

情報処理装置、情報処理方法、およびプログラム
 本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、制御プログラムをシミュレーション実行することができる情報処理装置、情報処理装置における情報処理方法、および情報処理装置を制御するためのプログラムに関する。
 従来、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムを、シミュレーション実行することができるコントローラサポート装置が知られている。
 たとえば、特開2011-192016号公報(特許文献1)には、モーション制御を含む制御プログラムをシミュレーション実行する場合に、実行の開始から終了までの間の途中の制御周期からの再実行を可能にするコントローラサポート装置が開示されている。具体的には、当該コントローラサポート装置は、制御プログラムのシーケンス制御部分を1周期分シミュレーション実行し、シーケンス制御部分に関する実行結果を生成する。コントローラサポート装置は、モーション制御部分を1周期分シミュレーション実行し、モーション制御部分に関する実行結果を生成する。そして、次に、コントローラサポート装置は、制御周期番号をインクリメント更新する。コントローラサポート装置は、再開可能制御周期かどうかを判断し、再開可能制御周期であると判断した場合には、前の制御周期で更新された再開用データバッファの内容を再開用データ記憶部に保存する。
特開2011-192016号公報
 しかしながら、特許文献1等の技術では、任意のタイミングにおいてコントローラで入出力されている変数の状態を、コントローラサポート装置(情報処理装置)側においてユーザにとって確認が容易な状態で表示させることはできない。
 本願発明は、上記問題点に鑑みなされたものであって、その目的は、任意のタイミングにおいてコントローラで入出力されている変数の状態を、ユーザにとって確認が容易な状態で表示可能な情報処理装置、情報処理方法、およびプログラムを提供することにある。
 本発明のある局面に従うと、情報処理装置は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする。情報処理装置は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得する取得部と、第1の制御プログラムと同じ処理を実行する第2の制御プログラムを記憶した記憶部と、記憶部に記憶された第2の制御プログラムをシミュレーションするシミュレーション部と、シミュレーションの結果を表示装置に表示させる表示制御部とを備える。シミュレーション部は、第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力する。表示制御部は、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態で表示装置に表示させる。
 好ましくは、取得部は、コントローラから当該コントローラにおける設定情報をさらに取得する。シミュレーション部は、第2の制御プログラムに取得された設定情報をさらに入力する。表示制御部は、取得された入力変数と出力変数と設定情報とが第2の制御プログラムに入力された場合、第2の制御プログラムを可視化した状態で当該入力変数と出力変数との状態を表示装置に表示させる。
 好ましくは、制御プログラムは、ラダープログラムである。表示制御部は、取得された入力変数と出力変数とを含むラダー図を表示装置に表示させる。
 好ましくは、シミュレーション部は、動作モードとして、ラダープログラムを実行する第1の動作モードと、ラダープログラムのロジックの実行を停止する第2の動作モードとを含む。シミュレーション部は、動作モードが第2の動作モードである場合に、取得された入力変数と出力変数とのラダープログラムへの入力を行なう。
 好ましくは、任意のタイミングは、コントローラによる機械の制御に不具合が生じたときである。
 好ましくは、取得部は、任意のタイミングにおける第1の制御プログラムの内部変数と、当該内部変数を識別するための第3の識別情報とを、コントローラからさらに取得する。シミュレーション部は、第2の制御プログラムの実行を停止させた状態で、取得された内部変数の値を第3の識別情報で特定される変数の値として、第2の制御プログラムに入力する。表示制御部は、取得された入力変数の値と出力変数の値と内部変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態で表示装置に表示させる。
 本発明の他の局面に従うと、情報処理方法は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置において実行される。情報処理方法は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得するステップと、情報処理装置において第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力するステップと、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを備える。
 本発明のさらに他の局面に従うと、プログラムは、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置を制御する。プログラムは、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得するステップと、情報処理装置において第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力するステップと、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを、情報処理装置のプロセッサに実行させる。
 本発明によれば、任意のタイミングにおいてコントローラで入出力されている変数の状態を、ユーザにとって確認が容易な状態で表示可能となる。
制御システムの構成を説明する図である。 コントローラの概略構成を表した図である。 CPUユニットのハードウェア構成を示す模式図である。 CPUユニットで実行されるソフトウェア構成を示す模式図である。 PCのハードウェア構成を説明する図である。 CPUがコントローラサポートプログラムを実行することにより実現される機能ブロックを説明する図である。 バックアップとリストアとにおける処理の流れを説明するためのシーケンスチャートである。 バックアップファイルの構成を説明するための図である。 制御プログラムを可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラムへの入力結果をモニタに表示させた状態を表した図である。 PCにおける処理の流れを示したフローチャートである。
 以下、図面を参照しつつ、本発明の実施の形態に係る制御システムについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
 また、「<D.バックアップおよびリストア>」に記載の処理を説明するに先立ち、「<A.システム構成>」、「<B.コントローラ14>」、および「<C.PC6>」の項目において、制御システムの全体構成、制御システムに含まれるコントローラの構成、および制御システムに含まれるPC(パーソナルコンピュータ)の構成を説明する。
 <A.システム構成>
 図1は、制御システムの構成を説明する図である。図1を参照して、本発明の実施の形態に従う制御システム1は、サーバ2と、ネットワーク4と、PC(パーソナルコンピュータ)6と、コントローラ14と、制御対象装置16とから構成されている。
 サーバ2は、ネットワーク4を介してPC6と接続されている。PC6は、接続ケーブル22を介して、制御対象装置16を制御するコントローラ14と通信可能に接続されている。
 情報処理装置であるPC6は、コントローラサポート装置として機能する。PC6には、コントローラサポートプログラム8がインストールされており、また、ユーザが作成した制御プログラム10が記憶されている。CD-ROM(Compact Disc-Read Only Memory)12は、コントローラサポートプログラム8を格納している。PC6にインストールされているコントローラサポートプログラム8は、このCD-ROM12からインストールされたものである。
 コントローラ14は、制御対象装置16とはフィールドネットワーク24により通信可能に接続されている。コントローラ14は、制御対象装置16の動きを制御する。本発明の実施の形態においては、コントローラ14として一例として、PLC(Programmable Logic Controller)が用いられる。すなわち、このPLCには、いわゆるモーションコントロール機能が備えられている。コントローラ14は、制御対象装置16に対する制御内容を規定する制御プログラム15を記憶している。コントローラ14は、制御周期ごとに制御プログラム15を一巡実行する。ここで、コントローラ14に記憶されている制御プログラム15は、PC6に記憶されている制御プログラム10をコピーしたコピーデータであり、PC6から送信されたものである。
 制御対象装置16は、サーボモータ、ステッピングモータなどのモータ18を駆動するモータドライバ17を含む。
 モータ18はモータドライバ17から駆動電流を供給される。モータドライバ17は、制御プログラム15を実行するコントローラ14から制御周期ごとに位置の指令値を与えられ、それに応じた駆動電流をモータ18に供給する。モータ18がサーボモータである場合、モータ18にはエンコーダが備えられており、モータ18の回転位置の実測値がエンコーダによって検出される。モータの回転位置の実測値は、モータドライバ17がフィードバック制御に利用する。
 なお、上記においては、CD-ROM12を介して、PC6にコントローラサポートプログラムをインストールする場合について説明したが、特にこれに限られず、サーバ2からネットワーク4を介してコントローラサポートプログラムをPC6にダウンロードするようにしても良い。制御プログラムについても同様である。
 <B.コントローラ14>
 (b1.全体構成)
 図2は、コントローラ14の概略構成を表した図である。図2を参照して、コントローラ14は、主たる演算処理を実行するCPUユニット413と、1つ以上のIOユニット414と、特殊ユニット415とを含む。これらのユニットは、PLCシステムバス411を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット412によって適切な電圧の電源が供給される。なお、コントローラ14として構成される各ユニットは、PLCメーカーが提供するものであるので、PLCシステムバス411は、一般にPLCメーカーごとに独自に開発され、使用されている。これに対して、後述するようにフィールドネットワーク24については、異なるメーカーの製品同士が接続できるように、その規格などが公開されている場合も多い。
 CPUユニット413の詳細については、図3を参照して後述する。
 IOユニット414は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。すなわち、IOユニット414は、検出スイッチ(図示せず)などのセンサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット414は、リレー(図示せず)やアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
 特殊ユニット415は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット414ではサポートしない機能を有する。
 (b2.CPUユニットのハードウェア構成)
 図3は、CPUユニット413のハードウェア構成を示す模式図である。図3を参照して、CPUユニット413は、マイクロプロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、PLCシステムバスコントローラ120と、フィールドネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
 マイクロプロセッサ100およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ100は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ100に必要な命令コードを生成する。さらに、チップセット102は、マイクロプロセッサ100での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
 CPUユニット413は、記憶手段として、メインメモリ104および不揮発性メモリ106を有する。
 メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット413への電源投入後にマイクロプロセッサ100で実行されるべき各種プログラムを保持する。また、メインメモリ104は、マイクロプロセッサ100による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。
 一方、不揮発性メモリ106は、リアルタイムOS(Operating System)、コントローラ14のシステムプログラム、ユーザプログラム、モーション演算プログラム、システム設定パラメータといったデータを不揮発的に保持する。これらのプログラムやデータは、必要に応じて、マイクロプロセッサ100がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ106としては、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体や、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。
 システムタイマ108は、一定周期ごとに割り込み信号を発生してマイクロプロセッサ100に提供する。典型的には、ハードウェアの仕様によって、複数の異なる周期でそれぞれ割り込み信号を発生するように構成されるが、OS(Operating System)やBIOS(Basic Input Output System)などによって、任意の周期で割り込み信号を発生するように設定することもできる。このシステムタイマ108が発生する割り込み信号を利用して、後述するようなモーション制御サイクルごとの制御動作が実現される。
 CPUユニット413は、通信回路として、PLCシステムバスコントローラ120およびフィールドネットワークコントローラ140を有する。
 バッファメモリ126は、PLCシステムバス411を介して他のユニットへ出力されるデータ(以下「出力データ」とも称す。)の送信バッファ、および、PLCシステムバス411を介して他のユニットから入力されるデータ(以下「入力データ」とも称す。)の受信バッファとして機能する。なお、マイクロプロセッサ100による演算処理によって作成された出力データは、原始的にはメインメモリ104に格納される。そして、特定のユニットへ転送されるべき出力データは、メインメモリ104から読み出されて、バッファメモリ126に一次的に保持される。また、他のユニットから転送された入力データは、バッファメモリ126に一次的に保持された後、メインメモリ104に移される。
 DMA制御回路122は、メインメモリ104からバッファメモリ126への出力データの転送、および、バッファメモリ126からメインメモリ104への入力データの転送を行なう。
 PLCシステムバス制御回路124は、PLCシステムバス411に接続される他のユニットとの間で、バッファメモリ126の出力データを送信する処理および入力データを受信してバッファメモリ126に格納する処理を行なう。典型的には、PLCシステムバス制御回路124は、PLCシステムバス411における物理層およびデータリンク層の機能を提供する。
 フィールドネットワークコントローラ140は、フィールドネットワーク24を介したデータの遣り取りを制御する。すなわち、フィールドネットワークコントローラ140は、用いられるフィールドネットワーク24の規格に従い、出力データの送信および入力データの受信を制御する。上述したように、本実施の形態においてはEtherCAT(登録商標)規格に従うフィールドネットワーク24が採用されるので、通常のイーサネット(登録商標)通信を行なうためのハードウェアを含む、フィールドネットワークコントローラ140が用いられる。EtherCAT(登録商標)規格では、通常のイーサネット(登録商標)規格に従う通信プロトコルを実現する一般的なイーサネット(登録商標)コントローラを利用できる。但し、フィールドネットワーク24として採用される産業用イーサネット(登録商標)の種類によっては、通常の通信プロトコルとは異なる専用仕様の通信プロトコルに対応した特別仕様のイーサネット(登録商標)コントローラが用いられる。また、産業用イーサネット(登録商標)以外のフィールドネットワークを採用した場合には、当該規格に応じた専用のフィールドネットワークコントローラが用いられる。
 DMA制御回路142は、メインメモリ104からバッファメモリ146への出力データの転送、および、バッファメモリ146からメインメモリ104への入力データの転送を行なう。
 フィールドネットワーク制御回路144は、フィールドネットワーク24に接続される他の装置との間で、バッファメモリ146の出力データを送信する処理および入力データを受信してバッファメモリ146に格納する処理を行なう。典型的には、フィールドネットワーク制御回路144は、フィールドネットワーク24における物理層およびデータリンク層の機能を提供する。
 USBコネクタ110は、PC6とCPUユニット413とを接続するためのインターフェイスである。典型的には、PC6から転送される、CPUユニット413のマイクロプロセッサ100で実行可能なプログラムなどは、USBコネクタ110を介してコントローラ14に取込まれる。
 (b3.CPUユニットのソフトウェア構成)
 次に、本実施の形態に係る各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット413のマイクロプロセッサ100によって実行される。
 図4は、CPUユニット413で実行されるソフトウェア構成を示す模式図である。図4を参照して、CPUユニット413で実行されるソフトウェアとしては、リアルタイムOS200と、システムプログラム210と、ユーザプログラム236との3階層になっている。
 リアルタイムOS200は、CPUユニット413のコンピュータアーキテクチャに応じて設計されており、マイクロプロセッサ100がシステムプログラム210およびユーザプログラム236を実行するための基本的な実行環境を提供する。このリアルタイムOSは、典型的には、PLCのメーカーあるいは専門のソフトウェア会社などによって提供される。
 システムプログラム210は、コントローラ14としての機能を提供するためのソフトウェア群である。具体的には、システムプログラム210は、スケジューラプログラム212と、出力処理プログラム214と、入力処理プログラム216と、シーケンス命令演算プログラム232と、モーション演算プログラム234と、その他のシステムプログラム220とを含む。なお、一般には出力処理プログラム214および入力処理プログラム216は、連続的(一体として)に実行されるので、これらのプログラムを、IO処理プログラム218と総称する場合もある。
 ユーザプログラム236は、ユーザにおける制御目的に応じて作成される。すなわち、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。
 後述するように、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム236、シーケンス命令演算プログラム232、およびモーション演算プログラム234を、制御プログラム15と総称する場合もある。
 このように、CPUユニット413のマイクロプロセッサ100は、記憶手段に格納されたシステムプログラム210およびユーザプログラム236を実行する。
 以下、各プログラムについてより詳細に説明する。
 ユーザプログラム236は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム236は、典型的には、CPUユニット413のマイクロプロセッサ100で実行可能なオブジェクトプログラム形式になっている。このユーザプログラム236は、PC6などにおいて、ラダー言語などによって記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラム236は、PC6から接続ケーブル22を介してCPUユニット413へ転送され、不揮発性メモリ106などに格納される。
 スケジューラプログラム212は、出力処理プログラム214、入力処理プログラム216、および制御プログラム15について、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。より具体的には、スケジューラプログラム212は、ユーザプログラム236およびモーション演算プログラム234の実行を制御する。
 本実施の形態に係るCPUユニット413では、モーション演算プログラム234に適した一定周期の実行サイクル(モーション制御サイクル)を処理全体の共通サイクルとして採用する。そのため、1つのモーション制御サイクル内で、すべての処理を完了することは難しいので、実行すべき処理の優先度などに応じて、各モーション制御サイクルにおいて実行を完了すべき処理と、複数のモーション制御サイクルに亘って実行してもよい処理とが区分される。スケジューラプログラム212は、これらの区分された処理の実行順序などを管理する。より具体的には、スケジューラプログラム212は、各モーション制御サイクル期間内において、より高い優先度が与えられているプログラムほど先に実行する。
 出力処理プログラム214は、ユーザプログラム236(制御プログラム15)の実行によって生成された出力データを、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140へ転送するのに適した形式に再配置する。PLCシステムバスコントローラ120またはフィールドネットワークコントローラ140が、マイクロプロセッサ100からの、送信を実行するための指示を必要とする場合は、出力処理プログラム214がそのような指示を発行する。
 入力処理プログラム216は、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140によって受信された入力データを、制御プログラム15が使用するのに適した形式に再配置する。
 シーケンス命令演算プログラム232は、ユーザプログラム236で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。
 モーション演算プログラム234は、ユーザプログラム236による指示に従って実行され、モータドライバ17に対して出力する指令値を算出するプログラムである。
 その他のシステムプログラム220は、図4に個別に示したプログラム以外の、コントローラ14の各種機能を実現するためのプログラム群をまとめて示したものである。その他のシステムプログラム220は、モーション制御サイクルの周期を設定するプログラム222を含む。
 モーション制御サイクルの周期は、制御目的に応じて適宜設定することができる。典型的には、モーション制御サイクルの周期を指定する情報をユーザがPC6へ入力する。すると、その入力された情報は、PC6からCPUユニット413へ転送される。モーション制御サイクルの周期を設定するプログラム222は、PC6からの情報を不揮発性メモリ106に格納させるとともに、システムタイマ108から指定されたモーション制御サイクルの周期で割り込み信号が発生されるように、システムタイマ108を設定する。CPUユニット413への電源投入時に、モーション制御サイクルの周期を設定するプログラム222が実行されることで、モーション制御サイクルの周期を指定する情報が不揮発性メモリ106から読み出され、読み出された情報に従ってシステムタイマ108が設定される。
 モーション制御サイクルの周期を指定する情報の形式としては、モーション制御サイクルの周期を示す時間の値や、モーション制御サイクルの周期に関する予め用意された複数の選択肢のうちから1つを特定する情報(番号または文字)などを採用することができる。
 本実施の形態に係るCPUユニット413において、モーション制御サイクルの周期を設定する手段としては、モーション制御サイクルの周期を指定する情報を取得するために用いられるPC6との通信手段、モーション制御サイクルの周期を設定するプログラム222、ならびにモーション制御サイクルを規定する割り込み信号の周期を任意に設定可能に構成されているシステムタイマ108の構成といった、モーション制御サイクルの周期を任意の設定するために用いられる要素が該当する。
 リアルタイムOS200は、複数のプログラムを時間の経過に従い切り換えて実行するための環境を提供する。本実施の形態に係るコントローラ14においては、CPUユニット413のプログラム実行によって生成された出力データを他のユニットまたは他の装置へ出力(送信)するためのイベント(割り込み)として、出力準備割り込み(P)およびフィールドネットワーク送信割り込み(X)が初期設定される。リアルタイムOS200は、出力準備割り込み(P)またはフィールドネットワーク送信割り込み(X)が発生すると、マイクロプロセッサ100での実行対象を、割り込み発生時点で実行中のプログラムからスケジューラプログラム212に切り換える。なお、リアルタイムOS200は、スケジューラプログラム212およびスケジューラプログラム212がその実行を制御するプログラムが何ら実行されていない場合に、その他のシステムプログラム210に含まれているプログラムを実行する。このようなプログラムとしては、たとえば、CPUユニット413とPC6との間の接続ケーブル22(USB)などを介した通信処理に関するものが含まれる。
 <C.PC6>
 (c1.ハードウェア構成)
 図5は、PC6のハードウェア構成を説明する図である。図5を参照して、本発明の実施の形態に従うPC6は、CPU901と、ROM902、RAM903、およびHDD904と、CD-ROM駆動装置908と、通信IF909と、モニタ907と、キーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。
 HDD904は、典型的には不揮発性の磁気メモリであり、CD-ROM駆動装置908によりCD-ROM12から読取られたコントローラサポートプログラムを格納する。また、制御プログラム15も格納している。
 CPU901は、HDD904に格納されている、本実施の形態に従うコントローラサポートプログラム8をRAM903などに展開して実行する。
 RAM903は、揮発性メモリであり、ワークメモリとして使用される。ROM902は、一般的に、オペレーティングシステム(OS:Operating System)等のプログラムを格納している。
 通信IF909は、典型的にはイーサネット(登録商標)およびUSB(Universal Serial Bus)といった汎用的な通信プロトコルをサポートし、ネットワーク4を介してサーバ2との間でデータ通信を提供するとともに、コントローラ14との間でデータ通信を提供する。
 モニタ907は、液晶表示装置、CRT(Cathode Ray Tube)、プラズマディスプレイ装置などで構成され、PC6による処理結果などを表示する。キーボード905は、ユーザによるキー入力を受付け、マウス906は、ユーザによるポインティング操作を受付ける。
 (c2.機能的構成)
 図6は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。図6を参照して、ここでは、ユーザインターフェイス部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインターフェイス部812と、バックアップファイル作成部814とが示されている。
 ユーザインターフェイス部802は、PC6のモニタ907に表示するウインドウ画面の内容を作成し、また、キーボード905やマウス906によるユーザの操作を受け付ける部位である。
 制御プログラム編集部810は、制御プログラムの入力および編集をユーザに行わせる。制御プログラム編集部810は、制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行う。作成された制御プログラムは、コントローラインターフェイス部812を介してコントローラ14に送られる。また、作成された制御プログラムは、HDD904の所定領域である制御プログラム記憶部808に格納される。また、制御プログラム編集部810は、コントローラインターフェイス部812を介してコントローラ14に記憶されている制御プログラム15を読み出して編集することもできる。制御プログラム編集部810は、たとえば、ユーザからの制御プログラムの変更(たとえば修正)指示を受け付け、当該指示に基づいて制御プログラムを変更する。
 シミュレーション部806は、コントローラ14のシミュレータである。シミュレーション部806は、制御プログラム記憶部808に記憶された制御プログラム10に従ってコントローラ14が制御プログラム15を実行する動作をシミュレートし、コントローラ14が制御周期ごとに出力するはずの位置の指令値を算出する。
 また、シミュレーション部806は、外部からの信号が到来して制御プログラムの動作に影響を与える状態をシミュレートしたり、制御プログラム15の実行自体によってコントローラ14のメモリの記憶内容などのコントローラ14の内部状態が変化して、その変化が制御プログラム15の動作に影響を与える状態をシミュレートしたりすることができる。
 また、シミュレーション部806は、ユーザインターフェイス部802を介してシミュレーション実行に関するユーザの指示を受け付ける。すなわち、ユーザインターフェイス部802は、シミュレーション部806に対するユーザの指示を受け付ける手段としても働く。
 表示データ作成部804は、シミュレーション部806によって作成された実行結果データの時間的な変化を表示するための表示データを作成する。表示データ作成部804は、作成した表示データをユーザインターフェイス部802に送ることによりPC6のモニタ907に表示データをグラフや文字の態様で表示する。
 また、コントローラインターフェイス部812は、コントローラ14からバックアップデータを取得する。なお、バックアップデータの取得は、コントローラインターフェイス部812を介したものに限定されない。たとえば、PC6のバックアップファイル作成部814は、SD(Secure Digital)カード等のメモリカードを用いて、コントローラ14からバックアップデータを取得してもよい。以下では、説明の便宜上、コントローラインターフェイス部812がコントローラ14からバックアップデータを取得する構成を例に挙げて説明する。つまり、SDカードを用いない構成を例に挙げて説明する。また、バックアップデータの詳細については、後述する。
 バックアップファイル作成部814は、複数種類のバックアップデータを用いて1つのバックアップファイルを生成する。
 シミュレーション部806は、後述するリストアの指示がユーザインターフェイス部802を介して入力された場合、バックアップファイルを用いてリストアを実行する。
 表示データ作成部804は、制御プログラム10を可視化した状態で、リストアの結果をモニタ907に表示させる。
 バックアップファイルの生成、リストアの詳細、および表示データ作成部804によるリストアの結果表示については、以下の「<D.バックアップおよびリストア>」の項目で説明する。
 以下では、バックアップデータの取得前において、PC6が、制御プログラム10と、設定情報と、制御システム1におけるユニットの構成およびスレーブの構成を表した情報(以下、ユニットおよびスレーブ情報)とを有していない場合を例に挙げて説明する。なお、「設定情報」とは、モーション軸の設定、タスクの設定等を表した情報である。
 また、以下では、説明の便宜上、制御プログラムの一例としてラダープログラムを例に挙げて説明する。また、ラダープログラムによるラダー図には、ファンクションブロックが含まれるものとして説明する。また、バックアップを行なうタイミングとして、コントローラ14で異常が発生した場合を例に挙げて説明する。なお、バックアップを行なうタイミングは、コントローラ14で異常が発生した場合に限定されず、ユーザの所望する任意のタイミングで実行可能である。
 <D.バックアップおよびリストア>
 (d1.概要)
 図7は、上述したバックアップとリストアとにおける処理の流れを説明するためのシーケンスチャートである。図7を参照して、シーケンスSQ2において、コントローラ14において異常が発生したとする。
 シーケンスSQ4において、PC6のコントローラインターフェイス部812は、コントローラ14から複数種類のバックアップデータを取得する。バックアップデータの種類としては、たとえば、変数情報が挙げられる。「変数情報」とは、変数の識別情報、変数の型、変数の値等を含む情報である。「変数の識別情報」とは、たとえば、変数名である。変数の型としては、たとえば、bool、int、stringが挙げられる。
 シーケンスSQ6において、コントローラインターフェイス部812は、取得した複数種類のバックアップデータをバックアップファイル作成部814に送る。シーケンスSQ8において、バックアップファイル作成部814は、複数のバックアップデータから1つのバックアップファイルを作成する。具体的には、バックアップファイル作成部814は、複数種類のバックアップデータをアーカイブすることにより、1つのバックアップファイルを生成する。バックアップファイルの構成については、後述する(図8)。
 シーケンスSQ10において、バックアップファイル作成部814は、生成されたバックアップファイルを、シミュレーション部806に送る。シーケンスSQ12において、シミュレーション部806は、バックアップファイルを利用して、リストアを行なう。
 「リストア」とは、バックアップファイルに格納された各変数の全部または一部を、シミュレーションの変数として利用(変数を戻す)ことをいう。本実施の形態では、「リストア」とは、特に、バックアップファイルに格納された各変数のうちの入力変数の全部または一部をミュレーションの入力変数として利用し、バックアップファイルに格納された各変数のうちの出力変数の全部または一部をミュレーションの出力変数として利用することをいう。より詳しくは、「リストア」とは、制御プログラムを停止させた状態で、コントローラ14から取得された入力変数をPC6の制御プログラム10の入力変数とし、コントローラ14から取得された出力変数をPC6の制御プログラム10の出力変数として、制御プログラム10に入力することをいう。当該入力は、変数名毎に行なわれる。
 ここで、シミュレーション部806は、動作モードとして、制御プログラム(たとえばラダープログラム)を実行するランモードと、制御プログラムのロジックの実行を停止するプログラムモードとを有している。上記リストアは、動作モードがプログラムモードである場合に、実行される。つまり、上記制御プログラムを停止させた状態とは、プログラムモードであることを意味する。
 シーケンスSQ14において、シミュレーション部806は、変数の入力により得られた入力結果を表示データ作成部804に送る。シーケンスSQ16において、表示データ作成部804は、入力結果に基づいた表示をモニタ907に表示させる。詳しくは、表示データ作成部804は、制御プログラム10を可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラム10への入力結果を、モニタ907に表示させる。具体的な表示内容については、後述する(図9)。
 以上により、ユーザは、コントローラ14でバックアップを実施したときの状態のスナップショット(静止状態)をPC6のモニタ907で確認することができる。なお、「スナップショット」とは、ある時点におけるメモリ内の状態(変数の状態)を取得して、データとして別途保存する処理である。
 なお、たとえばラダー図では、それぞれの要素(接点等)が変数に割り当てられているため、任意のタイミングにおける変数の値および当該変数の変数名(識別情報)が分かれば、バックアップファイルにおける入力変数と出力変数とを制御プログラム10に入力でき、パワーフロー図(各接点のON/OFFなどを表示したラダー図)を表示できる。また、プログラムに属するローカル変数の場合には、プログラム名が変数情報に含まれることになる。
 (d2.データ)
 図8は、バックアップファイルの構成を説明するための図である。図8を参照して、バックアップファイル890は、バックアップデータ891と、バックアップデータ892と、バックアップデータ893とを含んで構成されている。つまり、バックアップファイル890は、複数種類のバックアップデータ891~893をアーカイブしたものである。バックアップデータ891は、制御プログラム15と、設定情報とを含んでいる。バックアップデータ892は、変数情報である。変数情報は、上述したように、変数名と、変数の型と、変数の値とを含む。バックアップデータ893は、ユニットおよびスレーブ情報である。
 バックアップファイル890における制御プログラム15は、PC6においてシミュレーションに用いられる。つまり、バックアップファイル890における制御プログラム15は、図1における制御プログラム10として用いられる。
 なお、バックアップデータの取得前において、PC6が、制御プログラム10と、設定情報と、ユニットおよびスレーブ情報とを有している場合には、バックアップファイルには、これらのプログラムおよび各情報は含まれている必要はない。つまり、バックアップファイルには、変数情報のみが含まれていればよい。
 (d3.表示画面)
 図9は、制御プログラム10を可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラム10への入力結果をモニタ907に表示させた状態を表した図である。図9を参照して、画面9070には、2つの回路(つまりロジック)が含まれている。
 1つ目(上側)のラダーにおいては、名称が“aaa”である変数(program0.aaa)の現在値および名称が“bbb”である変数(program0.bbb)の現在値が、ともに“True”となっている。当該ラダーにおいては、名称が“aaa”である変数(program0.aaa)の現在値(つまりTrue)が入力となり、名称が“bbb”である変数(program0.bbb)の現在値(つまりTrue)が出力となっている。
 また、2つ目(下側)のラダーにおいては、名称が“bbb”である変数(program0.bbb)の現在値が“True”であり、名称が“ccc”である変数(program0.ccc)の現在値が“FALSE”となっている。当該ラダーにおいては、名称が“bbb”である変数(program0.bbb)の現在値(つまりTrue)が入力となり、名称が“ccc”である変数(program0.ccc)の現在値(つまりFalse)が出力となっている。なお、“MCPW”との名称が付されたブロック(MC_POWER)は、ファンクションブロックである。
 ユーザは、画面9070を確認することにより、どこで問題が生じているのかを容易に判断できる。たとえば、制御プログラム10,15に問題がない場合、変数(program0.bbb)の値がTrueであれば、変数(program0.ccc)の値がTrueとなるとする。この場合、ユーザは、ラダー図を見れば、変数(program0.ccc)の値が間違った結果(つまりFalse)となっていることを、容易かつ迅速に判断できる。つまり、ユーザは、2つ目のラダーにおいて問題が生じていることを、容易かつ迅速に判断できる。
 なお、画面9070のウォッチウィンドウ9071にもラダー図と同じ結果が異なる表示形式で表示される。したがって、ユーザは、ウォッチウィンドウ9071を確認することによっても、制御プログラムに問題が生じているか否かを判断できる。
 (d4.制御構造)
 図10は、PC6における処理の流れを示したフローチャートである。図10を参照して、ステップS2において、PC6のCPU901は、コントローラ14において制御プログラム15に対して入力された入力変数および入力変数名と、制御プログラム15の実行により出力された出力変数および出力変数名とを、コントローラ14から取得する。
 ステップS4において、CPU901は、制御プログラム10の実行を停止させた状態で、取得された入力変数を入力変数名の入力変数とし、取得された出力変数を出力変数名の出力変数として、制御プログラム10に入力する。ステップS6において、CPU901は、制御プログラム10を可視化した状態で、取得された入力変数と出力変数との制御プログラム10への入力結果をモニタ907に表示させる。
 <E.変形例>
 (1)上記においては、ラダープログラムを例に挙げて説明したが、これに限定されるものではない。たとえば、PLC用のプログラム言語であるストラクチャードテキスト(ST:Structured Text)に対しても適用できる。
 (2)また、入力変数および出力変数だけではなく、内部変数を表示するように、PC6を構成してもよい。なお、「内部変数」とは、入出力される変数ではなく、内部で使用される変数をいう。内部変数としては、たとえば、一時的な値を格納する変数が挙げられる。
 この場合、具体的には、PC6を以下のように構成すればよい。PC6のコントローラインターフェイス部812は、複数種類のバックアップデータとして、任意のタイミングにおける制御プログラム15に対して入力された入力変数の値および当該入力変数を識別するための識別情報と、当該タイミングにおける制御プログラム15の実行により出力された出力変数の値および当該出力変数を識別するための識別情報と、当該タイミングにおける制御プログラム15の内部変数および当該内部変数を識別するための識別情報とを、コントローラ14からさらに取得する。シミュレーション部806は、制御プログラム10の実行を停止させた状態で、取得された内部変数の値を、当該内部変数の識別情報で特定される変数の値として、制御プログラム10に入力する。表示データ作成部804は、取得された入力変数の値と出力変数の値と内部変数の値との制御プログラム10への入力の結果を、制御プログラム10を可視化した状態でモニタ907に表示させる。
 今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2 サーバ、4 ネットワーク、6 PC、8 コントローラサポートプログラム、10,15 制御プログラム、12 CD-ROM、14 コントローラ、16 制御対象装置、17 モータドライバ、18 モータ、22 接続ケーブル、24 フィールドネットワーク、212 スケジューラプログラム、232 シーケンス命令演算プログラム、234 モーション演算プログラム、236 ユーザプログラム、411 システムバス、412 電源ユニット、413 CPUユニット、414 IOユニット、415 特殊ユニット、802 ユーザインターフェイス部、804 表示データ作成部、806 シミュレーション部、808 制御プログラム記憶部、810 制御プログラム編集部、812 コントローラインターフェイス部、814 バックアップファイル作成部、890 バックアップファイル、891~893 バックアップデータ、901 CPU、903 RAM、907 モニタ、909 通信IF、9070 画面、9071 ウォッチウィンドウ。

Claims (8)

  1.  機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置であって、
     任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得する取得部と、
     前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムを記憶した記憶部と、
     前記記憶部に記憶された第2の制御プログラムをシミュレーションするシミュレーション部と、
     前記シミュレーションの結果を表示装置に表示させる表示制御部とを備え、
     前記シミュレーション部は、前記第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力し、
     前記表示制御部は、前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を、前記第2の制御プログラムを可視化した状態で前記表示装置に表示させる、情報処理装置。
  2.  前記取得部は、前記コントローラから当該コントローラにおける設定情報をさらに取得し、
     前記シミュレーション部は、前記第2の制御プログラムに前記取得された設定情報をさらに入力し、
     前記表示制御部は、前記取得された入力変数と出力変数と前記設定情報とが前記第2の制御プログラムに入力された場合、前記第2の制御プログラムを可視化した状態で当該入力変数と出力変数との状態を前記表示装置に表示させる、請求項1に記載の情報処理装置。
  3.  前記制御プログラムは、ラダープログラムであって、
     前記表示制御部は、前記取得された入力変数と出力変数とを含むラダー図を前記表示装置に表示させる、請求項1または2に記載の情報処理装置。
  4.  前記シミュレーション部は、
     動作モードとして、前記ラダープログラムを実行する第1の動作モードと、前記ラダープログラムのロジックの実行を停止する第2の動作モードとを含み、
     前記動作モードが前記第2の動作モードである場合に、前記取得された入力変数と出力変数との前記ラダープログラムへの入力を行なう、請求項3に記載の情報処理装置。
  5.  前記任意のタイミングは、前記コントローラによる前記機械の制御に不具合が生じたときである、請求項1から4のいずれか1項に記載の情報処理装置。
  6.  前記取得部は、前記任意のタイミングにおける前記第1の制御プログラムの内部変数と、当該内部変数を識別するための第3の識別情報とを、前記コントローラからさらに取得し、
     前記シミュレーション部は、前記第2の制御プログラムの実行を停止させた状態で、前記取得された内部変数の値を前記第3の識別情報で特定される変数の値として、前記第2の制御プログラムに入力し、
     前記表示制御部は、前記取得された入力変数の値と出力変数の値と内部変数の値との前記第2の制御プログラムへの入力の結果を、前記第2の制御プログラムを可視化した状態で前記表示装置に表示させる、請求項1から5のいずれか1項に情報処理装置。
  7.  機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置における情報処理方法であって、
     任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得するステップと、
     前記情報処理装置において前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力するステップと、
     前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を前記第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを備える、情報処理方法。
  8.  機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置を制御するためのプログラムであって、
     任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得するステップと、
     前記情報処理装置において前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力するステップと、
     前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を前記第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを、前記情報処理装置のプロセッサに実行させる、プログラム。
PCT/JP2013/053963 2012-03-27 2013-02-19 情報処理装置、情報処理方法、およびプログラム WO2013145940A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012070761A JP5891891B2 (ja) 2012-03-27 2012-03-27 情報処理装置、情報処理方法、およびプログラム
JP2012-070761 2012-03-27

Publications (1)

Publication Number Publication Date
WO2013145940A1 true WO2013145940A1 (ja) 2013-10-03

Family

ID=49259222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/053963 WO2013145940A1 (ja) 2012-03-27 2013-02-19 情報処理装置、情報処理方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP5891891B2 (ja)
WO (1) WO2013145940A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6357769B2 (ja) * 2013-12-26 2018-07-18 オムロン株式会社 制御装置および通信制御方法
JP6357770B2 (ja) * 2013-12-26 2018-07-18 オムロン株式会社 制御装置および通信制御方法
JP2018055654A (ja) 2016-09-30 2018-04-05 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP6705464B2 (ja) * 2018-02-19 2020-06-03 オムロン株式会社 制御装置および通信制御方法
JP7249735B2 (ja) * 2018-03-05 2023-03-31 日本電産株式会社 ロボット制御装置、バックアップファイルの保存方法およびプログラム
JP6680313B2 (ja) * 2018-06-19 2020-04-15 オムロン株式会社 制御装置および通信制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854907A (ja) * 1994-08-12 1996-02-27 Yokogawa Electric Corp 検証支援システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854907A (ja) * 1994-08-12 1996-02-27 Yokogawa Electric Corp 検証支援システム

Also Published As

Publication number Publication date
JP2013205866A (ja) 2013-10-07
JP5891891B2 (ja) 2016-03-23

Similar Documents

Publication Publication Date Title
JP6540166B2 (ja) 制御装置
WO2013145940A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4905597B1 (ja) コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
US9891610B2 (en) Computation unit, assistance device, output control method, display control method, and program
JP6409557B2 (ja) 制御装置、コントローラ・システム、出力制御方法、およびプログラム
US8977534B2 (en) Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
JP6299064B2 (ja) 制御装置、制御方法、およびプログラム
JP4752984B1 (ja) Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP6488830B2 (ja) 制御装置
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
EP2533114B1 (en) Controller support device, controller support program to be executed in said device, recording medium storing said program, and method for estimating execution duration of control program
JP6729746B2 (ja) 制御装置
JP2016194831A (ja) 制御装置
WO2013136918A9 (ja) 情報処理装置、シミュレーション方法、およびプログラム
JP6362821B2 (ja) 制御装置、制御方法および命令セット
WO2018070041A1 (ja) シミュレーション装置
JP4877424B1 (ja) Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP2021060675A (ja) 制御システム、サポート装置およびサポートプログラム
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP5212508B2 (ja) デバッグ装置
WO2012124145A1 (ja) 演算ユニット、支援装置、支援プログラム、支援プログラムを格納した記憶媒体、および、支援装置における動作方法
JP7040389B2 (ja) 制御システム、サポート装置、およびサポートプログラム
US20220035330A1 (en) Control system, support apparatus and program

Legal Events

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

Ref document number: 13769905

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13769905

Country of ref document: EP

Kind code of ref document: A1