WO2018070041A1 - シミュレーション装置 - Google Patents

シミュレーション装置 Download PDF

Info

Publication number
WO2018070041A1
WO2018070041A1 PCT/JP2016/080566 JP2016080566W WO2018070041A1 WO 2018070041 A1 WO2018070041 A1 WO 2018070041A1 JP 2016080566 W JP2016080566 W JP 2016080566W WO 2018070041 A1 WO2018070041 A1 WO 2018070041A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
unit
simulator
data
program
Prior art date
Application number
PCT/JP2016/080566
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 CN201680089955.6A priority Critical patent/CN109844659B/zh
Priority to DE112016007339.9T priority patent/DE112016007339T5/de
Priority to US16/326,716 priority patent/US11467569B2/en
Priority to PCT/JP2016/080566 priority patent/WO2018070041A1/ja
Priority to JP2017527942A priority patent/JP6184651B1/ja
Priority to KR1020197010044A priority patent/KR102198204B1/ko
Priority to TW106135075A priority patent/TWI661358B/zh
Publication of WO2018070041A1 publication Critical patent/WO2018070041A1/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
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • 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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4147Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32352Modular modeling, decompose large system in smaller systems to simulate
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34287Plc and motion controller combined

Definitions

  • the present invention relates to a simulation apparatus that simulates the functions of a programmable controller and a motion controller.
  • Verification of the operation of the user system which is an FA system in which a plurality of FA (Factory Automation) devices are connected, is performed by executing a simulation of the operation of the FA device via the engineering setting tool.
  • the engineering setting tool is a setting tool realized by executing software, and provides a user interface to the user, supports creation of a user program by the user, and executes a simulation of the operation of the FA device. Can be launched.
  • a simulator corresponding to each of the plurality of controllers executes each user program.
  • the processing such as setting of execution conditions of each user program, setting of execution start or stop, data processing, and calculation of the axis transition position is executed correctly.
  • Patent Document 1 it is necessary to start up a programmable controller and a motion controller in the field, and then perform adjustment while executing a user program. As a result, there is a problem that it takes time to start up the user system.
  • each simulation it is possible to execute each simulation while exchanging and using data output in the process of executing the simulation of the operation of each FA device such as a programmable controller and a motion controller. Desirably, a function for linking simulators was necessary.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a simulation apparatus that enables the simulators of the programmable controller and the motion controller to cooperate with each other.
  • the present invention includes a first simulation unit that executes a simulation of the operation of the programmable controller based on the first program, and a simulation of the operation of the motion controller.
  • a second simulation unit that executes based on the second program.
  • the present invention is characterized in that the first simulation unit and the second simulation unit further include a data sharing unit capable of writing and reading data.
  • the simulation apparatus has an effect that the simulators of the programmable controller and the motion controller can be linked with each other.
  • FIG. 1 is a block diagram showing a configuration of a user system according to a first embodiment of the present invention.
  • 1 is a block diagram showing a functional configuration of a simulation apparatus according to a first embodiment.
  • 1 is a diagram illustrating a hardware configuration when the function of the simulation apparatus according to the first embodiment is realized by a computer.
  • Another flowchart showing the operation of the simulation apparatus according to the first embodiment. 1 is a flowchart for explaining a synchronization operation of the simulation apparatus according to the first embodiment.
  • the block diagram which shows the structure of the user system concerning Embodiment 2 of this invention.
  • FIG. 3 is a block diagram showing a functional configuration of a simulation apparatus according to the second embodiment.
  • FIG. 6 is a diagram schematically illustrating a screen of a display device according to a third embodiment. Flowchart showing another operation of the simulation apparatus according to the third embodiment.
  • FIG. 4 is a block diagram showing a functional configuration of a simulation apparatus according to the fourth embodiment.
  • FIG. 1 is a block diagram showing a configuration of a user system 100 according to the first embodiment of the present invention.
  • the user system 100 includes a servo motor 101 that drives a positioning control device (not shown), a servo amplifier 102 that controls the servo motor 101, a motion controller 103 that controls the servo amplifier 102, and a programmable controller 104 that controls the motion controller 103. And comprising.
  • the programmable controller 104 operates based on a programmable controller program that is a first program created by the user.
  • the programmable controller program is a program executed by the programmable controller 104 to control the motion controller 103, and a specific example is a ladder program.
  • the motion controller 103 operates based on a motion controller program that is a second program created by the user.
  • the motion controller program is a servo control program executed by the motion controller 103 to control the servo amplifier 102.
  • the programmable controller 104 outputs an operation start command for instructing the motion controller 103 to start positioning based on the programmable controller program.
  • the motion controller 103 executes positioning calculation based on the motion controller program and outputs a position command to the servo amplifier 102.
  • FIG. 2 is a block diagram of a functional configuration of the simulation apparatus 10 according to the first embodiment.
  • the simulation device 10 is a device that simulates the operation of the user system 100.
  • the simulation apparatus 10 includes an engineering setting tool 1 for the programmable controller 104 that is the first setting unit, a simulator 2 for the programmable controller 104 that is the first simulation unit, and an engineering setting for the motion controller 103 that is the second setting unit.
  • a tool 3, a simulator 4 for a motion controller 103 that is a second simulation unit, a data sharing unit 5, and a linkage function processing unit 6 are provided.
  • the engineering setting tool 1 is a functional unit realized by executing software, provides a user interface to a user, supports creation of a programmable controller program by the user, and is based on a trigger such as a user instruction.
  • the simulator 2 for the programmable controller 104 is activated.
  • the engineering setting tool 3 is a functional unit realized by executing software, provides a user interface to a user, supports creation of a motion controller program by the user, and is based on a trigger such as a user instruction.
  • the simulator 4 for the motion controller 103 is activated.
  • the simulator 2 executes a simulation of the operation of the programmable controller 104 based on the programmable controller program created by the user via the engineering setting tool 1 and the simulation parameters set by the user.
  • the simulator 4 executes an operation simulation of the motion controller 103 based on the motion controller program created by the user via the engineering setting tool 3 and the simulation parameters set by the user.
  • the data sharing unit 5 can secure a storage area.
  • data can be written from the simulator 2 and the simulator 4, and data can be read by the simulator 2 and the simulator 4. Is possible.
  • the cooperation function processing unit 6 adjusts the cooperation function between the simulator 2 and the simulator 4 and executes control such as securing the storage area of the data sharing unit 5.
  • FIG. 3 is a diagram illustrating a hardware configuration when the function of the simulation apparatus 10 according to the first embodiment is realized by a computer.
  • the functions of the simulation apparatus 10 are realized by a CPU (Central Processing Unit) 201, a memory 202, a storage device 203, a display device 204, and an input device 205 as shown in FIG.
  • the Some of the functions of the engineering setting tools 1 and 3, the simulators 2 and 4, the data sharing unit 5, and the linkage function processing unit 6 are realized by software.
  • the software is described as a program and stored in the storage device 203.
  • the CPU 201 reads the simulation program, which is software stored in the storage device 203, into the memory 202 and executes it, whereby the functions of the engineering setting tools 1, 3, simulators 2, 4, the data sharing unit 5, and the linkage function processing unit 6 are performed. Realize part of That is, when a part of the function of each unit is executed by the computer, the simulation apparatus 10 performs a part of the functions of the engineering setting tools 1, 3, the simulators 2, 4, the data sharing unit 5, and the cooperation function processing unit 6.
  • a storage device 203 is provided for storing a simulation program in which the steps to be executed are executed as a result.
  • this simulation program causes a computer to execute a simulation method realized by some of the functions of the engineering setting tools 1 and 3, the simulators 2 and 4, the data sharing unit 5, and the cooperation function processing unit 6.
  • the storage area of the data sharing unit 5 is realized by the memory 202.
  • the storage device 203 can hold a programmable controller program and a motion controller program created by the user.
  • the memory 202 corresponds to a volatile storage area such as a RAM (Random Access Memory).
  • the storage device 203 includes a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory, or a Flexible Memory Disk). , Compact Disc, Mini Disc, DVD (Digital Versatile Disk).
  • Specific examples of the display device 204 include a monitor and a display.
  • Specific examples of the input device 205 are a keyboard, a mouse, a touch panel, and the like.
  • the engineering setting tool 1 is a communication that transmits and receives data to and from the simulator 2, a setting edit display unit 11 that displays an input setting screen on the display device 204, an execution result display unit 12 that displays an output display screen on the display device 204. And an interface 13.
  • the user can create a programmable controller program via the input setting screen displayed by the setting edit display unit 11.
  • the user can set the simulation parameters of the programmable controller 104 via the input setting screen.
  • a specific example of the parameter is a value related to a simulation such as a data communication cycle and a data communication size between the programmable controller 104 and the motion controller 103.
  • the execution result display unit 12 displays the error information display unit 121 that displays error information when the simulator 2 executes the programmable controller program on the output display screen, and the data that the simulator 2 outputs by executing the programmable controller program.
  • the simulator 2 includes a setting data storage unit 21 that stores parameters set by the user via the input setting screen displayed by the setting edit display unit 11 and a programmable controller program created by the user, and a control arithmetic process that executes the programmable controller program Unit 22.
  • the simulator 2 further includes a data management unit 23 that stores data such as setting values related to control of the programmable controller 104 calculated by the control arithmetic processing unit 22, a communication interface 25 that transmits and receives data to and from the data sharing unit 5, Is provided.
  • the engineering setting tool 3 includes a setting edit display unit 31 that displays an input setting screen on the display device 204, an execution result display unit 32 that displays an output display screen on the display device 204, and a communication that transmits and receives data to and from the simulator 4. And an interface 33.
  • the user can create a motion controller program via the input setting screen displayed by the setting edit display unit 31. Furthermore, the user can set the simulation parameters of the motion controller 103 via the input setting screen.
  • the execution result display unit 32 displays the error information display unit 321 that displays error information when the simulator 4 executes the motion controller program on the output display screen, and the data output by the simulator 4 executing the motion controller program.
  • An execution data display unit 322 for displaying on the output display screen.
  • the simulator 4 includes a setting data storage unit 41 that stores parameters set by the user via the input setting screen displayed by the setting edit display unit 31 and a motion controller program created by the user, and a control calculation process that executes the motion controller program.
  • Unit 42 The simulator 4 further includes a data management unit 43 that stores data such as setting values related to the control of the motion controller 103 calculated by the control arithmetic processing unit 42, a communication interface 45 that transmits and receives data to and from the data sharing unit 5, Is provided.
  • the data sharing unit 5 includes a communication interface 51 that transmits and receives data to and from the simulator 2 and the simulator 4, a data storage unit 52 that stores data from the simulator 2 of the programmable controller 104, and data from the simulator 4 of the motion controller 103. And a data storage unit 53 for storing.
  • the setting data storage unit 21 and data management unit 23 of the simulator 2, the setting data storage unit 41 and data management unit 43 of the simulator 4, and the data storage units 52 and 53 of the data sharing unit 5 have storage areas in the memory 202 of FIG. Secured and realized.
  • the functions of the other parts of the simulators 2 and 4 and the data sharing unit 5, the functions of the engineering setting tools 1 and 3, and the function of the linkage function processing unit 6 are stored in the storage device 203 in FIG. It implement
  • FIG. 4 is a flowchart showing the operation of the simulation apparatus 10 according to the first embodiment.
  • FIG. 5 is another flowchart illustrating the operation of the simulation apparatus 10 according to the first embodiment. 4 mainly describes the data transfer operation from the simulator 2 to the simulator 4, and FIG. 5 mainly describes the data transfer operation from the simulator 4 to the simulator 2. After the simulator 2 and the simulator 4 are activated, the data transfer from the simulator 2 to the simulator 4 and the data transfer from the simulator 4 to the simulator 2 can occur alternately, but for the sake of simplicity, each data transfer will be described below. .
  • the setting edit display unit 11 displays an input setting screen on the display device 204 (step S101).
  • the user sets parameters for simulation of the programmable controller 104 via the input setting screen displayed by the setting edit display unit 11, and creates a programmable controller program.
  • the engineering setting tool 1 activates the simulator 2 based on a user instruction (step S102). Note that step S102 may be before step S101.
  • the created programmable controller program is transferred to the simulator 2 via the communication interface 13 by the engineering setting tool 1 (step S103).
  • the transferred programmable controller program is written in the setting data storage unit 21.
  • the simulation of the programmable controller 104 is performed when the control arithmetic processing part 22 runs a programmable controller program (step S104).
  • processing is executed at a processing cycle of about several ms.
  • the control arithmetic processing unit 22 executes simulation in a processing unit corresponding to each of the above processing cycles, calculates data such as a set value related to control of the programmable controller 104 (step S105), and manages the calculated data as data management.
  • the data calculated in step S105 includes data such as the positioning address and positioning speed used by the simulator 4.
  • the simulator 2 transfers the data calculated for each processing unit and written in the data management unit 23 to the data sharing unit 5 via the communication interface 25 (step S106).
  • the data transferred to the data sharing unit 5 is stored in the data storage unit 52 via the communication interface 51.
  • the simulator 4 acquires the data stored in the data storage unit 52 via the communication interface 45 (step S107) and writes it in the data management unit 43.
  • the control arithmetic processing unit 42 executes a motion controller program, thereby executing a simulation of the motion controller 103 (step S108).
  • the areas of the data storage unit 52 and the data storage unit 53 of the data sharing unit 5 may be secured on the memory 202 by the cooperation function processing unit 6 when either the simulator 2 or the simulator 4 is activated. Then, when both the simulator 2 and the simulator 4 are activated, the cooperation function processing unit 6 may ensure the memory 202. However, at least in a state where both the simulator 2 and the simulator 4 are activated, the areas of the data storage unit 52 and the data storage unit 53 need to be secured on the memory 202.
  • the simulator 4 has already been activated at the time of step S107, but the timing of activation is not limited as long as it is earlier than that, and is not described in the flowchart of FIG.
  • the cooperation function processing unit 6 reserves the storage areas of the data storage unit 52 and the data storage unit 53 on the memory 202 because of the start notification of the simulator 2 from the engineering setting tool 1 or the simulator from the engineering setting tool 3. 4 may be executed based on the activation notification of the simulator 4, or may be executed based on the activation state of the simulator 2 or the simulator 4.
  • the setting edit display unit 31 displays an input setting screen on the display device 204 (step S201).
  • the user sets the simulation parameters of the motion controller 103 via the input setting screen displayed by the setting edit display unit 31, and creates a motion controller program.
  • the engineering setting tool 3 activates the simulator 4 based on a user instruction (step S202). Note that step S202 may be before step S201.
  • the created motion controller program is transferred to the simulator 4 via the communication interface 33 by the engineering setting tool 3 (step S203).
  • the transferred motion controller program is written in the setting data storage unit 41.
  • the control arithmetic processing unit 42 executes the motion controller program to execute the simulation of the motion controller 103 (step S204), and the command position for each axis is calculated.
  • the motion controller 103 and the programmable controller 104 execute processing at different processing cycles.
  • the control arithmetic processing unit 42 executes a simulation in a processing unit corresponding to each processing cycle of the motion controller 103 to calculate data based on a set value related to the control of the motion controller 103 (step S205).
  • the updated data is written in the data management unit 43 and updated.
  • the data calculated in step S205 includes data such as the current positioning position used by the simulator 2 and a positioning completion notification.
  • the simulator 4 transfers the data calculated for each processing unit and written in the data management unit 43 to the data sharing unit 5 via the communication interface 45 (step S206).
  • the data transferred to the data sharing unit 5 is stored in the data storage unit 53 via the communication interface 51.
  • the simulator 2 acquires data stored in the data storage unit 53 via the communication interface 25 (step S207) and writes the data in the data management unit 23.
  • the simulation of the programmable controller 104 is executed when the control arithmetic processing unit 22 executes the programmable controller program using the data written in the data management unit 23 (step S208).
  • the areas of the data storage unit 52 and the data storage unit 53 of the data sharing unit 5 may be secured on the memory 202 by the cooperation function processing unit 6 when either the simulator 2 or the simulator 4 is activated. Then, when both the simulator 2 and the simulator 4 are activated, the cooperation function processing unit 6 may ensure the memory 202. However, at least in a state where both the simulator 2 and the simulator 4 are activated, the areas of the data storage unit 52 and the data storage unit 53 need to be secured on the memory 202.
  • the simulator 2 is already activated at the time of step S207. However, as described above, the activation timing is not limited as long as it is earlier than that, so the description is omitted in the flowchart of FIG.
  • FIG. 6 is a flowchart for explaining the synchronization operation of the simulation apparatus 10 according to the first embodiment.
  • the synchronous operation is an operation required for the simulator 2 for the programmable controller 104 and the simulator 4 for the motion controller 103 to synchronize data exchanges for each processing unit in the same manner as the actual machine.
  • both the simulator 2 and the simulator 4 are activated based on a trigger such as a user instruction (step S301).
  • the cooperation function processing unit 6 confirms that both the simulator 2 and the simulator 4 are activated, the cooperation function processing unit 6 transmits a reset request to the simulator 2 and the simulator 4 (step S302).
  • the simulator 2 and the simulator 4 that have received the reset request execute simulations in processing units corresponding to the respective processing cycles, calculate data, and obtain predetermined synchronization times acquired from the cooperation function processing unit 6. Then, the data as the calculation result is transferred to the data sharing unit 5.
  • the synchronization time is the same time in the simulator 2 and the simulator 4 for determining the timing at which the simulator 2 and the simulator 4 transfer the calculation result to the data sharing unit 5 in synchronization.
  • the synchronization time is a simulation process continuously executed by the simulator 2 between the timing at which the simulator 2 transfers the calculation result to the data sharing unit 5 and the next timing at which the calculation result is transferred to the data sharing unit 5.
  • the value is greater than or equal to the total period.
  • the synchronization time is a simulation process that the simulator 4 continuously executes between the timing at which the simulator 4 transfers the calculation result to the data sharing unit 5 and the next timing at which the calculation result is transferred to the data sharing unit 5.
  • the value is greater than or equal to the total period.
  • the simulator 2 and the simulator 4 may each attach time data when transferring the calculation result to the data sharing unit 5.
  • the time data related to the data is attached to the data calculated by the simulator 2 and the simulator 4 in the last processing cycle within each synchronization time. May be transferred at each synchronization time, or time data is attached to each data calculated for each processing cycle by the simulator 2 and the simulator 4 within each synchronization time, and these data are collectively transferred at each synchronization time. Also good.
  • a specific example of the time data is a natural number indicating the execution result of the simulation of which processing unit from the beginning. Moreover, you may use the real time concerning a process with a real machine as time data. However, the time data is not limited to these.
  • the simulator 2 and the simulator 4 can exchange data as a calculation result during the simulation via the data sharing unit 5. Can be linked. Specifically, the operation of the simulator 4 can be started or interrupted based on the calculation result of the simulator 2, and conversely, the operation of the simulator 2 can be started or interrupted based on the calculation result of the simulator 4. Is possible.
  • simulation close to the actual machine of the user system 100 can be performed, the accuracy of debugging the programmable controller program and the motion controller program is improved, and the programmable controller program and the motion controller program The number of production steps can be greatly reduced. Thereby, it becomes possible to reduce the man-hours for starting up the user system on site.
  • FIG. FIG. 7 is a block diagram showing a configuration of the user system 200 according to the second embodiment of the present invention.
  • an input unit 105 and an output unit 106 are added to the user system 100 shown in FIG.
  • the input unit 105 and the output unit 106 are connected to the programmable controller 104.
  • the input unit 105 inputs an input signal to the programmable controller 104.
  • the programmable controller 104 outputs an output signal to the output unit 106.
  • the input unit 105 includes an operation button 107 that is pressed when the operation of the user system 200 is started, and a stop button 108 that is pressed when the user system 200 is stopped.
  • the output unit 106 includes a normal lamp 109 that lights when the user system 200 is normal, and an abnormal lamp 110 that lights when the user system 200 is abnormal.
  • FIG. 8 is a block diagram of a functional configuration of the simulation apparatus 20 according to the second embodiment.
  • the simulation device 20 is a device that simulates the operation of the user system 200.
  • the simulation apparatus 20 includes an engineering setting tool 1 for the programmable controller 104 that is a first setting unit, a simulator 2-1 for the programmable controller 104 that is a first simulation unit, and a motion controller 103 that is a second setting unit.
  • An engineering setting tool 3, a simulator 4-1 for the motion controller 103 as a second simulation unit, a data sharing unit 5, and a linkage function processing unit 6 are provided.
  • Components having the same functions as those of the simulation apparatus 10 according to the first embodiment are denoted by the same reference numerals as those in FIG.
  • the hardware configuration when the function of the simulation apparatus 20 according to the second embodiment is realized by a computer is the same as that shown in FIG.
  • the simulator 2-1 has an external input / output data simulation unit 24 added to the simulator 2.
  • the external input / output data simulation unit 24 generates and outputs a simulation signal simulating external input / output data applied to an external unit connected to the programmable controller 104 by executing an external input / output data simulation program created by the user. To do.
  • the external input / output data simulation unit 24 outputs a simulated input signal that simulates an input signal from the input unit 105 and a simulated output signal that simulates an output signal to the output unit 106.
  • the simulator 4-1 has an external input / output data simulation unit 44 added to the simulator 4.
  • the external input / output data simulation unit 44 simulates and outputs the external input / output data applied to the external unit connected to the motion controller 103 by executing a different external input / output data simulation program created by the user. To do.
  • an external unit such as a sensor unit not shown in FIG. 7
  • the external input / output data simulation unit 44 generates a simulation signal that simulates a sensor signal that is external input / output data. Output.
  • FIG. 9 is a flowchart showing the operation of the simulation apparatus 20 according to the second embodiment. Below, with reference to FIG. 9, the case where the simulation apparatus 20 simulates the external input / output data concerning the external unit connected to the programmable controller 104 in the simulation of the user system 200 will be described.
  • a simulation of the programmable controller 104 is executed by the control arithmetic processing unit 22 executing the programmable controller program (step S401).
  • the data calculated by the control arithmetic processing unit 22 is written into the data management unit 23.
  • the external input / output data simulation unit 24 monitors the data written and updated in the data management unit 23.
  • the data written in the data management unit 23 and updated according to the simulation result of the programmable controller 104 becomes data corresponding to the input signal indicating the operation start from the input unit 105 (step S402), external input / output data simulation is performed.
  • the unit 24 executes the external input / output data simulation program to generate and output a simulated input signal that simulates an input signal indicating the start of operation from the input unit 105 (step S403).
  • Step S403 corresponds to the fact that the input unit 105 outputs an input signal indicating the start of operation to the programmable controller 104 when the operation button 107 of the input unit 105 is pressed in the actual machine.
  • the simulator 2-1 transfers the simulated input signal output from the external input / output data simulation unit 24 to the data sharing unit 5 via the communication interface 25 (step S404).
  • the simulated input signal transferred to the data sharing unit 5 is stored in the data storage unit 52 via the communication interface 51.
  • the simulator 4-1 acquires the simulated input signal stored in the data storage unit 52 via the communication interface 45 (step S405).
  • the acquisition of the simulation input signal by the simulator 4-1 in step S405 corresponds to the motion controller 103 receiving an operation start command from the programmable controller 104 in the actual machine.
  • the control arithmetic processing unit 42 executes the simulation of the motion controller 103 by executing the motion controller program (step S406).
  • this simulation corresponds to an operation in which the motion controller 103 outputs a position command to the servo amplifier 102 in order to move an axis related to the operation start command received from the programmable controller 104.
  • the control calculation processing unit 42 writes a movement completion signal in the data management unit 43.
  • the simulator 4-1 transfers the movement completion signal written in the data management unit 43 to the data sharing unit 5 through the communication interface 45 (step S 407).
  • the movement completion signal transferred to the data sharing unit 5 is stored in the data storage unit 53 via the communication interface 51.
  • the simulator 2-1 acquires the movement completion signal stored in the data storage unit 53 via the communication interface 25 (step S408).
  • the external input / output data simulation unit 24 executes the external input / output data simulation program to generate a simulated output signal that simulates an output signal indicating that the movement from the programmable controller 104 to the output unit 106 has been normally completed.
  • output step S409 corresponds to outputting an output signal indicating that the movement has been normally completed from the programmable controller 104 to the output unit 106 in the actual machine.
  • the output unit 106 receives an output signal indicating that the movement has been completed normally, the output unit 106 turns on the normal lamp 109.
  • the external input / output data simulation unit 24 simulates the external input / output data related to the external unit connected to the programmable controller 104 in the simulation of the user system 200 has been described above. However, if an external unit such as a sensor unit is connected to the motion controller 103, the external input / output data simulating unit 44 generates and outputs a simulated signal that simulates external input / output data such as a sensor signal. The simulation of the programmable controller 104 can be executed using the simulation signal via the unit 5.
  • the simulation apparatus 20 does not necessarily include both the external input / output data simulation unit 24 and the external input / output data simulation unit 44.
  • a simulation signal that simulates external input / output data applied to an external unit connected to the programmable controller 104 or the motion controller 103 is generated, and data sharing is performed. Since it can be used by two simulators via the unit 5, a simulation close to the operation of the real machine of the user system 200 is possible.
  • Embodiment 3 The functional configuration of the simulation apparatus 10 according to the third embodiment of the present invention is shown in FIG.
  • the simulation apparatus 10 when an error occurs in one simulator in an environment in which the simulator 2 and the simulator 4 are linked via the data sharing unit 5, the user program or parameter of the other simulator that causes the error is input.
  • a setting screen is displayed on the display device 204.
  • FIG. 10 is a flowchart showing the operation of the simulation apparatus 10 according to the third embodiment of the present invention.
  • FIG. 11 is a schematic diagram of a screen of the display device 204 according to the third embodiment.
  • an error occurs as a result of the simulator 4 executing the simulation of the motion controller 103 (step S501).
  • this error is caused by a parameter setting or a programmable controller program that is a basis for the simulation of the programmable controller 104.
  • the simulator 4 notifies the engineering setting tool 3 of error information that is information related to the error, and the execution result display unit 32 that has received the error information via the communication interface 33 displays the output display screen of FIG. 11 showing the error information.
  • 901 is displayed on the display device 204 (step S502).
  • the output display screen 901 displays an error code for identifying an error that has occurred in the simulation of the motion controller 103.
  • the engineering setting tool 3 accepts this selection and applies the simulator 4 to the simulator 4.
  • the error code is transferred to the data sharing unit 5 (step S504).
  • the transferred error code is stored in the data storage unit 53.
  • the simulator 2 acquires the error code stored in the data storage unit 53 (step S505), and sends the acquired error code to the engineering setting tool 1.
  • the engineering setting tool 1 generates an error code and an identifier of the input setting screen of the simulation parameter of the programmable controller 104 that causes the error identified by the error code or an error identified by the error code. Correspondences with the identifiers of the input setting screen of the programmable controller program that is the cause are held in the memory 202 in a table format. Therefore, as shown in FIG. 11, the setting edit display unit 11 of the engineering setting tool 1 determines the simulation parameters or programmable controller of the programmable controller 104 that causes an error based on the acquired error code and the correspondence relationship.
  • a program input setting screen 902 is displayed on the display device 204 (step S506).
  • FIG. 12 is a flowchart showing another operation of the simulation apparatus 10 according to the third embodiment of the present invention.
  • step S601 Assume that both simulator 2 and simulator 4 are running. First, as a result of the simulator 2 executing the simulation of the programmable controller 104, an error occurs (step S601). Here, it is assumed that this error is caused by a parameter setting or a motion controller program that is the basis of the simulation of the motion controller 103.
  • the simulator 2 notifies the engineering setting tool 1 of error information that is information related to the error, and the execution result display unit 12 that has received the error information via the communication interface 13 displays an output display screen indicating the error information on the display device. 204 is displayed (step S602). An error code for identifying an error that has occurred in the simulation of the programmable controller 104 is displayed on the output display screen displayed on the display device 204.
  • step S603 when an error code is selected by the user clicking the output display screen using the input device 205 such as a mouse (step S603), the engineering setting tool 1 accepts this selection, and the simulator 2 receives the error.
  • the code is transferred to the data sharing unit 5 (step S604).
  • the transferred error code is stored in the data storage unit 52.
  • the simulator 4 acquires the error code stored in the data storage unit 52 (step S605), and sends the acquired error code to the engineering setting tool 3.
  • the engineering setting tool 3 generates the error code and the identifier of the input parameter setting screen of the simulation parameter of the motion controller 103 that causes the error identified by the error code or the occurrence of the error identified by the error code.
  • the correspondence relationship with the identifier of the input setting screen of the motion controller program that is the cause is held in the memory 202 in the form of a table. Therefore, the setting edit display unit 31 of the engineering setting tool 3 displays the simulation parameter of the motion controller 103 or the input setting screen of the motion controller program that causes the error, based on the acquired error code and the correspondence relationship.
  • the information is displayed on the device 204 (step S606).
  • the simulation apparatus 10 may realize both the operation described using the flowchart of FIG. 10 and the operation described using the flowchart of FIG. It does not matter if the operation is realized.
  • the user when an error occurs in one simulator, the user can confirm the cause of the error and the user program of the other simulator that causes the error Alternatively, since the parameter input setting screen is easily displayed, the trouble of correcting the program is reduced, and the cause of the error can be quickly removed.
  • the user program or parameter input setting screen of the other simulator causing the error is displayed on the display device 204 as shown in FIG. It goes without saying that the simulation apparatus 20 is also possible.
  • Embodiment 4 the operation of the user system including one programmable controller 104 and one motion controller 103 as shown in FIG. 1 and FIG. Explained as simulating.
  • the configuration of the user system to be simulated is not limited to the above.
  • the user system may include a plurality of programmable controllers and a plurality of motion controllers.
  • the data sharing unit 5 and the cooperation function processing unit 6 are provided.
  • FIG. 13 is a block diagram of a functional configuration of the simulation apparatus 30 according to the fourth embodiment.
  • the simulation apparatus 30 simulates a user system including one programmable controller and two motion controllers.
  • the simulation apparatus 30 includes an engineering setting tool 1 for a programmable controller that is a first setting unit, a simulator 2 for a programmable controller that is a first simulation unit, and an engineering for a first motion controller that is a second setting unit.
  • a simulator 8 for a second motion controller, a data sharing unit 5, and a linkage function processing unit 6 are provided.
  • the same effects as those of the first to third embodiments can be obtained by providing the data sharing unit 5 and the linkage function processing unit 6.
  • the cooperation function processing unit 6 adjusts the cooperation function with the simulator 2, the simulator 4, and the simulator 8, and executes control such as securing the storage area of the data sharing unit 5.
  • the engineering setting tool 7 is a setting tool for CAD (Computer-Aided Design) of the machine configuration of the user system and the simulator 8 is a simulator for CAD
  • CAD simulation is performed for simulation of programmable controllers and motion controllers. Can be linked. Even in this case, by providing the data sharing unit 5 and the linkage function processing unit 6, the same effects as those of the first to third embodiments can be obtained.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 1,3,7 engineering setting tool, 2,4,2-1,4-1,8 simulator 5 data sharing unit, 6 linkage function processing unit, 10, 20, 30 simulation device, 11, 31 setting edit display unit 12, 32 execution result display unit, 13, 25, 33, 45, 51 communication interface, 21, 41 setting data storage unit, 22, 42 control arithmetic processing unit, 23, 43 data management unit, 24, 44 external input / output Data simulation unit, 52, 53 data storage unit, 100, 200 user system, 101 servo motor, 102 servo amplifier, 103 motion controller, 104 programmable controller, 105 input unit, 106 output unit, 107 operation button, 108 stop button, 109 Normal lamp, 11 Abnormality lamp, 201 CPU, 202 memory, 203 storage device, 204 display unit, 205 input unit, 901 output display screen, 902 input setting screen.

Abstract

シミュレーション装置(10)は、プログラマブルコントローラの動作のシミュレーションを、第一のプログラムに基づいて実行する第一シミュレーション部(2)と、モーションコントローラの動作のシミュレーションを、第二のプログラムに基づいて実行する第二シミュレーション部(4)と、第一シミュレーション部(2)および第二シミュレーション部(4)がデータの書き込みおよび読み出しが可能なデータ共有部(5)と、を備える。

Description

シミュレーション装置
 本発明は、プログラマブルコントローラおよびモーションコントローラの機能をシミュレーションするシミュレーション装置に関する。
 FA(Factory Automation)機器が複数接続されたFAシステムであるユーザシステムの動作の検証は、エンジニアリング設定ツールを介したFA機器の動作のシミュレーションを実行することにより行われる。エンジニアリング設定ツールは、ソフトウェアを実行することにより実現される設定ツールであって、ユーザに対してユーザインタフェースを提供し、ユーザによるユーザプログラムの作成を支援し、FA機器の動作のシミュレーションを実行するシミュレータを起動することができる。
 ユーザシステムがプログラマブルコントローラおよびモーションコントローラを有している場合、上記した既存のシミュレーション環境においては、複数のコントローラそれぞれに対応するシミュレータがそれぞれのユーザプログラムを実行する。これにより、それぞれのユーザプログラムの実行条件の設定、実行開始または停止の設定、データ処理、軸の移行位置の計算といった処理が正しく実行されるかどうかを確認することができる。
 しかし、上記した従来のシミュレーション環境においては、プログラマブルコントローラとモーションコントローラとの間でのデータのやり取りおよび外部入出力データのシミュレーションへの組み込みを実現することができなかった為、どのタイミングで軸を始動するか、運転終了後に外部入出力データはどう変化するかといったことを確認することができなかった。そのため、具体的には、特許文献1に示されるように、現場にてプログラマブルコントローラおよびモーションコントローラを立ち上げた上で、ユーザプログラムを実行させながら調整することが必要であった。その結果、ユーザシステムの立上げに工数がかかるという問題点があった。
特開2004-259112号公報
 上記問題点を解決するためには、プログラマブルコントローラおよびモーションコントローラといったFA機器それぞれの動作のシミュレーションを実行する過程で出力されるデータをシミュレータ同士が交換して利用しつつそれぞれのシミュレーションを実行することが望ましく、シミュレータ同士を連携させる機能が必要であった。
 本発明は、上記に鑑みてなされたものであって、プログラマブルコントローラおよびモーションコントローラそれぞれのシミュレータ同士を連携させることを可能にするシミュレーション装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、プログラマブルコントローラの動作のシミュレーションを、第一のプログラムに基づいて実行する第一シミュレーション部と、モーションコントローラの動作のシミュレーションを、第二のプログラムに基づいて実行する第二シミュレーション部と、を備える。本発明は、第一シミュレーション部および第二シミュレーション部がデータの書き込みおよび読み出しが可能なデータ共有部をさらに備えることを特徴とする。
 本発明にかかるシミュレーション装置は、プログラマブルコントローラおよびモーションコントローラそれぞれのシミュレータ同士を連携させることが可能になるという効果を奏する。
本発明の実施の形態1にかかるユーザシステムの構成を示すブロック図 実施の形態1にかかるシミュレーション装置の機能構成を示すブロック図 実施の形態1にかかるシミュレーション装置の機能をコンピュータで実現する場合のハードウェア構成を示す図 実施の形態1にかかるシミュレーション装置の動作を示したフローチャート 実施の形態1にかかるシミュレーション装置の動作を示した別のフローチャート 実施の形態1にかかるシミュレーション装置の同期動作を説明するフローチャート 本発明の実施の形態2にかかるユーザシステムの構成を示すブロック図 実施の形態2にかかるシミュレーション装置の機能構成を示すブロック図 実施の形態2にかかるシミュレーション装置の動作を示したフローチャート 本発明の実施の形態3にかかるシミュレーション装置の動作を示したフローチャート 実施の形態3にかかる表示装置の画面を模式化した図 実施の形態3にかかるシミュレーション装置の別の動作を示したフローチャート 実施の形態4にかかるシミュレーション装置の機能構成を示すブロック図
 以下に、本発明の実施の形態にかかるシミュレーション装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本発明の実施の形態1にかかるユーザシステム100の構成を示すブロック図である。ユーザシステム100は、図示せぬ位置決め制御装置を駆動するサーボモータ101と、サーボモータ101を制御するサーボアンプ102と、サーボアンプ102を制御するモーションコントローラ103と、モーションコントローラ103を制御するプログラマブルコントローラ104と、を備える。
 プログラマブルコントローラ104は、ユーザが作成した第一のプログラムであるプログラマブルコントローラプログラムに基づいて動作する。プログラマブルコントローラプログラムは、プログラマブルコントローラ104がモーションコントローラ103を制御するために実行するプログラムであり、具体例は、ラダープログラムである。
 モーションコントローラ103は、ユーザが作成した第二のプログラムであるモーションコントローラプログラムに基づいて動作する。モーションコントローラプログラムは、モーションコントローラ103がサーボアンプ102を制御するために実行するサーボ制御のためのプログラムである。
 プログラマブルコントローラ104は、プログラマブルコントローラプログラムに基づいてモーションコントローラ103に位置決めの開始を指示する動作開始指令を出力する。モーションコントローラ103は、モーションコントローラプログラムに基づいて位置決めの演算を実行してサーボアンプ102に位置指令を出力する。
 図2は、実施の形態1にかかるシミュレーション装置10の機能構成を示すブロック図である。シミュレーション装置10は、ユーザシステム100の動作をシミュレーションする装置である。シミュレーション装置10は、第一設定部であるプログラマブルコントローラ104用のエンジニアリング設定ツール1と、第一シミュレーション部であるプログラマブルコントローラ104用のシミュレータ2と、第二設定部であるモーションコントローラ103用のエンジニアリング設定ツール3と、第二シミュレーション部であるモーションコントローラ103用のシミュレータ4と、データ共有部5と、連携機能処理部6と、を備える。
 エンジニアリング設定ツール1は、ソフトウェアを実行することにより実現される機能部であって、ユーザに対してユーザインタフェースを提供し、ユーザによるプログラマブルコントローラプログラムの作成を支援し、ユーザの指示といったトリガに基づいてプログラマブルコントローラ104用のシミュレータ2を起動する。
 エンジニアリング設定ツール3は、ソフトウェアを実行することにより実現される機能部であって、ユーザに対してユーザインタフェースを提供し、ユーザによるモーションコントローラプログラムの作成を支援し、ユーザの指示といったトリガに基づいてモーションコントローラ103用のシミュレータ4を起動する。
 シミュレータ2は、エンジニアリング設定ツール1を介してユーザが作成したプログラマブルコントローラプログラムおよびユーザが設定したシミュレーションのパラメータに基づいてプログラマブルコントローラ104の動作のシミュレーションを実行する。
 シミュレータ4は、エンジニアリング設定ツール3を介してユーザが作成したモーションコントローラプログラムおよびユーザが設定したシミュレーションのパラメータに基づいてモーションコントローラ103の動作のシミュレーションを実行する。
 データ共有部5は記憶領域を確保することができ、データ共有部5の記憶領域には、シミュレータ2およびシミュレータ4からのデータの書き込みが可能であると共に、シミュレータ2およびシミュレータ4によるデータの読出しも可能である。連携機能処理部6は、シミュレータ2とシミュレータ4との連携機能を調整し、データ共有部5の記憶領域の確保といった制御を実行する。
 図3は、実施の形態1にかかるシミュレーション装置10の機能をコンピュータで実現する場合のハードウェア構成を示す図である。シミュレーション装置10の機能をコンピュータで実現する場合、シミュレーション装置10の機能は、図3に示すようにCPU(Central Processing Unit)201、メモリ202、記憶装置203、表示装置204および入力装置205により実現される。エンジニアリング設定ツール1,3、シミュレータ2,4、データ共有部5および連携機能処理部6の機能の一部は、ソフトウェアにより実現される。ソフトウェアは、プログラムとして記述されて記憶装置203に格納される。CPU201は、記憶装置203に記憶されたソフトウェアであるシミュレーションプログラムをメモリ202に読み出して実行することにより、エンジニアリング設定ツール1,3、シミュレータ2,4、データ共有部5および連携機能処理部6の機能の一部を実現する。すなわち、シミュレーション装置10は、各部の機能の一部がコンピュータにより実行されるときに、エンジニアリング設定ツール1,3、シミュレータ2,4、データ共有部5および連携機能処理部6の機能の一部を実施するステップが結果的に実行されることになるシミュレーションプログラムを格納するための記憶装置203を備える。また、このシミュレーションプログラムは、エンジニアリング設定ツール1,3、シミュレータ2,4、データ共有部5および連携機能処理部6の機能の一部が実現するシミュレーション方法をコンピュータに実行させるものであるともいえる。ここで、データ共有部5の記憶領域は、メモリ202により実現される。また、記憶装置203は、ユーザが作成したプログラマブルコントローラプログラムおよびモーションコントローラプログラムを保持することができる。メモリ202は、RAM(Random Access Memory)といった揮発性の記憶領域が該当する。記憶装置203は、ROM(Read Only Memory)、フラッシュメモリー、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)が該当する。表示装置204の具体例は、モニタ、ディスプレイなどである。入力装置205の具体例は、キーボード、マウス、タッチパネルなどである。
 次に、図2に戻って、シミュレーション装置10の詳細な構成を説明する。
 エンジニアリング設定ツール1は、入力設定画面を表示装置204に表示する設定編集表示部11と、出力表示画面を表示装置204に表示する実行結果表示部12と、シミュレータ2とのデータの送受信を行う通信インタフェース13と、を備える。ユーザは、設定編集表示部11が表示する入力設定画面を介して、プログラマブルコントローラプログラムを作成することができる。さらに、ユーザは、入力設定画面を介してプログラマブルコントローラ104のシミュレーションのパラメータを設定することができる。パラメータの具体例は、プログラマブルコントローラ104とモーションコントローラ103との間のデータの通信周期、データの通信サイズといったシミュレーションにかかる値である。実行結果表示部12は、シミュレータ2がプログラマブルコントローラプログラムを実行したときのエラー情報を上記出力表示画面に表示するエラー情報表示部121と、シミュレータ2がプログラマブルコントローラプログラムを実行して出力したデータを上記出力表示画面に表示する実行データ表示部122と、を備える。
 シミュレータ2は、設定編集表示部11が表示した入力設定画面を介してユーザが設定したパラメータおよびユーザが作成したプログラマブルコントローラプログラムを保存する設定データ保存部21と、プログラマブルコントローラプログラムを実行する制御演算処理部22と、を備える。シミュレータ2は、さらに、制御演算処理部22が計算したプログラマブルコントローラ104の制御に係る設定値といったデータを記憶するデータ管理部23と、データ共有部5とのデータの送受信を行う通信インタフェース25と、を備える。
 エンジニアリング設定ツール3は、入力設定画面を表示装置204に表示する設定編集表示部31と、出力表示画面を表示装置204に表示する実行結果表示部32と、シミュレータ4とのデータの送受信を行う通信インタフェース33と、を備える。ユーザは、設定編集表示部31が表示する入力設定画面を介して、モーションコントローラプログラムを作成することができる。さらに、ユーザは、入力設定画面を介してモーションコントローラ103のシミュレーションのパラメータを設定することができる。実行結果表示部32は、シミュレータ4がモーションコントローラプログラムを実行したときのエラー情報を上記出力表示画面に表示するエラー情報表示部321と、シミュレータ4がモーションコントローラプログラムを実行して出力したデータを上記出力表示画面に表示する実行データ表示部322と、を備える。
 シミュレータ4は、設定編集表示部31が表示した入力設定画面を介してユーザが設定したパラメータおよびユーザが作成したモーションコントローラプログラムを保存する設定データ保存部41と、モーションコントローラプログラムを実行する制御演算処理部42と、を備える。シミュレータ4は、さらに、制御演算処理部42が計算したモーションコントローラ103の制御に係る設定値といったデータを記憶するデータ管理部43と、データ共有部5とのデータの送受信を行う通信インタフェース45と、を備える。
 データ共有部5は、シミュレータ2およびシミュレータ4とのデータの送受信を行う通信インタフェース51と、プログラマブルコントローラ104のシミュレータ2からのデータを保存するデータ保存部52と、モーションコントローラ103のシミュレータ4からのデータを保存するデータ保存部53と、を備える。
 シミュレータ2の設定データ保存部21およびデータ管理部23、シミュレータ4の設定データ保存部41およびデータ管理部43、データ共有部5のデータ保存部52,53は、図3のメモリ202に記憶領域が確保されて実現される。シミュレータ2,4およびデータ共有部5のそれ以外の各部の機能、エンジニアリング設定ツール1,3の機能、連携機能処理部6の機能は、図3の記憶装置203に記憶されたシミュレーションプログラムをCPU201がメモリ202に読み出して実行することにより実現される。
 図4は、実施の形態1にかかるシミュレーション装置10の動作を示したフローチャートである。図5は、実施の形態1にかかるシミュレーション装置10の動作を示した別のフローチャートである。図4は、シミュレータ2からシミュレータ4へのデータ転送の動作を中心に記載してあり、図5は、シミュレータ4からシミュレータ2へのデータ転送の動作を中心に記載してある。シミュレータ2およびシミュレータ4の起動後は、シミュレータ2からシミュレータ4へのデータ転送とシミュレータ4からシミュレータ2へのデータ転送とが交互に生じ得るが、以下では簡単のため一方のデータ転送ごとに説明する。
 はじめに、図4を参照してシミュレータ2からシミュレータ4へのデータ転送の動作を説明する。
 まず、設定編集表示部11が表示装置204に入力設定画面を表示する(ステップS101)。ユーザは、設定編集表示部11が表示する入力設定画面を介して、プログラマブルコントローラ104のシミュレーションのパラメータを設定し、プログラマブルコントローラプログラムを作成する。次に、ユーザの指示に基づいてエンジニアリング設定ツール1がシミュレータ2を起動する(ステップS102)。なお、ステップS102はステップS101の前であってもかまわない。
 シミュレータ2の起動後、作成されたプログラマブルコントローラプログラムは、エンジニアリング設定ツール1により、通信インタフェース13を介してシミュレータ2に転送される(ステップS103)。転送されたプログラマブルコントローラプログラムは、設定データ保存部21に書き込まれる。そして、制御演算処理部22がプログラマブルコントローラプログラムを実行することによりプログラマブルコントローラ104のシミュレーションが実行される(ステップS104)。プログラマブルコントローラ104においては数ms程度の処理周期で処理が実行される。制御演算処理部22は、上記処理周期の各周期に相当する処理単位でシミュレーションを実行してプログラマブルコントローラ104の制御に係る設定値といったデータを計算して(ステップS105)、計算したデータをデータ管理部23に書き込んで更新する。ステップS105で計算されるデータには、シミュレータ4が利用する位置決めアドレス、位置決め速度といったデータが含まれる。シミュレータ2は、上記処理単位毎に計算されてデータ管理部23に書き込まれたデータをデータ共有部5に通信インタフェース25を介して転送する(ステップS106)。
 データ共有部5に転送されたデータは、通信インタフェース51を介してデータ保存部52に保存される。次に、シミュレータ4が通信インタフェース45を介してデータ保存部52に保存されたデータを取得し(ステップS107)、データ管理部43に書き込む。データ管理部43に書き込まれたデータを用いて、制御演算処理部42がモーションコントローラプログラムを実行することによりモーションコントローラ103のシミュレーションが実行される(ステップS108)。
 なお、データ共有部5のデータ保存部52およびデータ保存部53の領域は、シミュレータ2またはシミュレータ4のいずれかが起動されたときに、連携機能処理部6がメモリ202上に確保してもよいし、シミュレータ2およびシミュレータ4の両方が起動された状態になったときに連携機能処理部6がメモリ202上に確保してもよい。しかし、少なくともシミュレータ2およびシミュレータ4が共に起動された状態においては、データ保存部52およびデータ保存部53の領域がメモリ202上に確保されている必要がある。上記説明では、ステップS107の時点でシミュレータ4は既に起動しているが、それより前であれば起動のタイミングは限定されないので、図4のフローチャートでは記載を省いてある。
 なお、連携機能処理部6が、メモリ202上にデータ保存部52およびデータ保存部53の記憶領域を確保するのは、エンジニアリング設定ツール1からのシミュレータ2の起動通知またはエンジニアリング設定ツール3からのシミュレータ4の起動通知に基づいて実行してもよいし、シミュレータ2またはシミュレータ4の起動状態に基づいて実行してもよい。
 次に、図5を参照してシミュレータ4からシミュレータ2へのデータ転送の動作を説明する。
 まず、設定編集表示部31が表示装置204に入力設定画面を表示する(ステップS201)。ユーザは、設定編集表示部31が表示する入力設定画面を介して、モーションコントローラ103のシミュレーションのパラメータを設定し、モーションコントローラプログラムを作成する。次に、ユーザの指示に基づいてエンジニアリング設定ツール3がシミュレータ4を起動する(ステップS202)。なお、ステップS202はステップS201の前であってもかまわない。
 シミュレータ4の起動後、作成されたモーションコントローラプログラムは、エンジニアリング設定ツール3により、通信インタフェース33を介してシミュレータ4に転送される(ステップS203)。転送されたモーションコントローラプログラムは、設定データ保存部41に書き込まれる。そして、制御演算処理部42がモーションコントローラプログラムを実行することによりモーションコントローラ103のシミュレーションが実行され(ステップS204)、各軸への指令位置が計算される。モーションコントローラ103とプログラマブルコントローラ104とはそれぞれ異なった処理周期で処理が実行される。制御演算処理部42は、モーションコントローラ103の処理周期の各周期に相当する処理単位でシミュレーションを実行してモーションコントローラ103の制御に係る設定値に基づいたデータを計算して(ステップS205)、計算したデータをデータ管理部43に書き込んで更新する。ステップS205で計算されるデータには、シミュレータ2が利用する位置決めの現在位置、位置決めの完了通知といったデータが含まれる。シミュレータ4は、上記処理単位毎に計算されてデータ管理部43に書き込まれたデータをデータ共有部5に通信インタフェース45を介して転送する(ステップS206)。
 データ共有部5に転送されたデータは、通信インタフェース51を介してデータ保存部53に保存される。次に、シミュレータ2が通信インタフェース25を介してデータ保存部53に保存されたデータを取得し(ステップS207)、データ管理部23に書き込む。データ管理部23に書き込まれたデータを用いて、制御演算処理部22がプログラマブルコントローラプログラムを実行することによりプログラマブルコントローラ104のシミュレーションが実行される(ステップS208)。
 なお、データ共有部5のデータ保存部52およびデータ保存部53の領域は、シミュレータ2またはシミュレータ4のいずれかが起動されたときに、連携機能処理部6がメモリ202上に確保してもよいし、シミュレータ2およびシミュレータ4の両方が起動された状態になったときに連携機能処理部6がメモリ202上に確保してもよい。しかし、少なくともシミュレータ2およびシミュレータ4が共に起動された状態においては、データ保存部52およびデータ保存部53の領域がメモリ202上に確保されている必要がある。上記説明では、ステップS207の時点でシミュレータ2は既に起動しているが、上述したようにそれより前であれば起動のタイミングは限定されないので、図5のフローチャートでは記載を省いてある。
 図6は、実施の形態1にかかるシミュレーション装置10の同期動作を説明するフローチャートである。同期動作は、プログラマブルコントローラ104用のシミュレータ2とモーションコントローラ103用のシミュレータ4とが実機と同じようにデータのやりとりを処理単位毎に同期させるために必要となる動作である。
 まず、ユーザの指示といったトリガに基づいてシミュレータ2およびシミュレータ4が共に起動する(ステップS301)。連携機能処理部6は、シミュレータ2およびシミュレータ4が共に起動したことを確認すると、シミュレータ2およびシミュレータ4にリセット要求を送信する(ステップS302)。リセット要求を受け取ったシミュレータ2およびシミュレータ4は、それぞれの処理周期の各周期に相当する処理単位でシミュレーションを実行してデータを計算し、連携機能処理部6から取得したあらかじめ決められた同期時間毎に、計算結果である上記データをデータ共有部5に転送する。同期時間は、計算結果をデータ共有部5にシミュレータ2およびシミュレータ4が同期して転送するタイミングを定めるためのシミュレータ2およびシミュレータ4で同一の時間である。したがって、同期時間は、シミュレータ2が計算結果をデータ共有部5に転送するタイミングと次に計算結果をデータ共有部5に転送するタイミングとの間に、シミュレータ2が連続して実行するシミュレーションの処理周期の合計以上の値である。また、同期時間は、シミュレータ4が計算結果をデータ共有部5に転送するタイミングと次に計算結果をデータ共有部5に転送するタイミングとの間に、シミュレータ4が連続して実行するシミュレーションの処理周期の合計以上の値である。さらに、シミュレータ2およびシミュレータ4は、それぞれが計算結果をデータ共有部5に転送する際に、時間データを添付してもよい。データ共有部5に時間データが添付された計算結果を転送する方法としては、各同期時間内でシミュレータ2およびシミュレータ4それぞれが最後の処理周期に計算したデータに当該データにかかる時間データを添付して同期時間毎に転送してもよいし、各同期時間内でシミュレータ2およびシミュレータ4それぞれが処理周期毎に計算したデータそれぞれに時間データを添付してそれらを纏めて同期時間毎に転送してもよい。時間データの具体例は、最初から何番目の処理単位のシミュレーションの実行結果であるかを示す自然数である。また、時間データとして実機での処理にかかる実時間を用いてもよい。しかし、時間データはこれらに限定されない。計算結果であるデータと共にこの時間データをデータ共有部5から受け取ることにより、シミュレータ2およびシミュレータ4は同期時間毎にシミュレーションを同期して実行することができる(ステップS303)。
 以上説明したように、実施の形態1にかかるシミュレーション装置10によれば、データ共有部5を介してシミュレータ2およびシミュレータ4がシミュレーション中の計算結果であるデータを交換することができるので、シミュレータ同士を連携させることが可能になる。具体的には、シミュレータ2の計算結果に基づいて、シミュレータ4の動作を開始または中断することが可能となり、逆に、シミュレータ4の計算結果に基づいて、シミュレータ2の動作を開始または中断することが可能となる。
 また、シミュレータ2およびシミュレータ4がデータ共有部5にデータを転送する際に時間データを添付することにより同期時間毎のシミュレーションの同期が可能となり、ユーザシステム100のシミュレーションを実環境に近い実行タイミングで実施することが可能となる。
 したがって、実施の形態1にかかるシミュレーション装置10によれば、ユーザシステム100の実機に近いシミュレーションが可能となり、プログラマブルコントローラプログラムおよびモーションコントローラプログラムのデバッグの精度が向上し、プログラマブルコントローラプログラムおよびモーションコントローラプログラムの作成工数を大幅に削減することができる。これにより、現場でのユーザシステムの立上げの工数を削減することも可能となる。
実施の形態2.
 図7は、本発明の実施の形態2にかかるユーザシステム200の構成を示すブロック図である。ユーザシステム200は、図1に示したユーザシステム100に入力ユニット105および出力ユニット106が追加されている。入力ユニット105および出力ユニット106はプログラマブルコントローラ104に接続されている。入力ユニット105はプログラマブルコントローラ104に入力信号を入力する。プログラマブルコントローラ104は出力ユニット106に出力信号を出力する。
 入力ユニット105は、ユーザシステム200の運転開始時に押下される運転ボタン107と、ユーザシステム200の停止時に押下される停止ボタン108と、を備える。出力ユニット106は、ユーザシステム200の正常時に点灯する正常ランプ109と、ユーザシステム200の異常時に点灯する異常ランプ110と、を備える。
 図8は、実施の形態2にかかるシミュレーション装置20の機能構成を示すブロック図である。シミュレーション装置20は、ユーザシステム200の動作をシミュレーションする装置である。シミュレーション装置20は、第一設定部であるプログラマブルコントローラ104用のエンジニアリング設定ツール1と、第一シミュレーション部であるプログラマブルコントローラ104用のシミュレータ2-1と、第二設定部であるモーションコントローラ103用のエンジニアリング設定ツール3と、第二シミュレーション部であるモーションコントローラ103用のシミュレータ4-1と、データ共有部5と、連携機能処理部6と、を備える。実施の形態1にかかるシミュレーション装置10と同一の機能を有する構成要素は図2と同じ符号を付してあり説明を省略する。実施の形態2にかかるシミュレーション装置20の機能をコンピュータで実現する場合のハードウェア構成は、図3と同じである。
 シミュレータ2-1は、シミュレータ2に外部入出力データ模擬部24が追加されている。外部入出力データ模擬部24は、ユーザが作成した外部入出力データ模擬プログラムを実行することにより、プログラマブルコントローラ104に接続された外部ユニットにかかる外部入出力データを模擬した模擬信号を生成して出力する。具外的には、外部入出力データ模擬部24は、入力ユニット105からの入力信号を模擬した模擬入力信号および出力ユニット106への出力信号を模擬した模擬出力信号を出力する。
 シミュレータ4-1は、シミュレータ4に外部入出力データ模擬部44が追加されている。外部入出力データ模擬部44は、ユーザが作成した上記とは別の外部入出力データ模擬プログラムを実行することにより、モーションコントローラ103に接続された外部ユニットにかかる外部入出力データを模擬して出力する。モーションコントローラ103に図7には示していないセンサユニットといった外部ユニットが接続されていた場合は、外部入出力データ模擬部44は、外部入出力データであるセンサ信号を模擬した模擬信号を生成して出力する。
 図9は、実施の形態2にかかるシミュレーション装置20の動作を示したフローチャートである。以下では、図9を参照して、ユーザシステム200のシミュレーションにおいて、シミュレーション装置20がプログラマブルコントローラ104に接続された外部ユニットにかかる外部入出力データを模擬する場合について説明する。
 シミュレータ2-1およびシミュレータ4-1は共に起動しているとする。まず、制御演算処理部22がプログラマブルコントローラプログラムを実行することによりプログラマブルコントローラ104のシミュレーションが実行される(ステップS401)。シミュレーションが実行されると、制御演算処理部22が計算したデータがデータ管理部23に書き込まれる。外部入出力データ模擬部24は、データ管理部23に書き込まれて更新されたデータをモニタしている。プログラマブルコントローラ104のシミュレーションの結果によって、データ管理部23に書き込まれて更新されたデータが、入力ユニット105からの運転開始を示す入力信号に対応するデータになると(ステップS402)、外部入出力データ模擬部24は、上記外部入出力データ模擬プログラムを実行して、入力ユニット105からの運転開始を示す入力信号を模擬した模擬入力信号を生成して出力する(ステップS403)。ステップS403は、実機においては入力ユニット105の運転ボタン107が押下されたときに入力ユニット105がプログラマブルコントローラ104に運転開始を示す入力信号を出力することに相当する。その後、シミュレータ2-1は、外部入出力データ模擬部24が出力した模擬入力信号をデータ共有部5に通信インタフェース25を介して転送する(ステップS404)。
 データ共有部5に転送された模擬入力信号は、通信インタフェース51を介してデータ保存部52に保存される。次に、シミュレータ4-1が通信インタフェース45を介してデータ保存部52に保存された模擬入力信号を取得する(ステップS405)。ステップS405でシミュレータ4-1が模擬入力信号を取得することは、実機においてはモーションコントローラ103がプログラマブルコントローラ104から動作開始指令を受け取ることに相当する。
 そして、シミュレータ4-1が取得した模擬入力信号に基づいて、制御演算処理部42は、モーションコントローラプログラムを実行することによりモーションコントローラ103のシミュレーションを実行する(ステップS406)。このシミュレーションは、実機においては、プログラマブルコントローラ104から受け取った動作開始指令に関連する軸を動かすために、モーションコントローラ103がサーボアンプ102に位置指令を出力する動作などに相当する。ステップS406のシミュレーションにおいて指定された位置への軸の移動が完了すると、制御演算処理部42は、データ管理部43に移動完了信号を書き込む。シミュレータ4-1は、データ管理部43に書き込まれた移動完了信号をデータ共有部5に通信インタフェース45を介して転送する(ステップS407)。
 データ共有部5に転送された移動完了信号は、通信インタフェース51を介してデータ保存部53に保存される。次に、シミュレータ2-1が通信インタフェース25を介してデータ保存部53に保存された移動完了信号を取得する(ステップS408)。外部入出力データ模擬部24は、上記外部入出力データ模擬プログラムを実行して、プログラマブルコントローラ104から出力ユニット106への移動が正常に完了したことを示す出力信号を模擬した模擬出力信号を生成して出力する(ステップS409)。ステップS409は、実機においてはプログラマブルコントローラ104から出力ユニット106に移動が正常に完了したことを示す出力信号が出力されることに相当する。なお、出力ユニット106は、移動が正常に完了したことを示す出力信号を受け取ると正常ランプ109を点灯させる。
 以上では、ユーザシステム200のシミュレーションにおいて、外部入出力データ模擬部24がプログラマブルコントローラ104に接続された外部ユニットにかかる外部入出力データを模擬する場合について説明した。しかし、モーションコントローラ103にセンサユニットといった外部ユニットが接続されていた場合は、外部入出力データ模擬部44が、センサ信号といった外部入出力データを模擬した模擬信号を生成して出力すれば、データ共有部5を介して、当該模擬信号を利用してプログラマブルコントローラ104のシミュレーションを実行することができる。
 なお、プログラマブルコントローラ104に接続された外部ユニットにかかる外部入出力データのみを模擬する場合、外部入出力データ模擬部44は不要であり、モーションコントローラ103に接続された外部ユニットにかかる外部入出力データのみを模擬する場合、外部入出力データ模擬部24は不要である。したがって、シミュレーション装置20は、外部入出力データ模擬部24および外部入出力データ模擬部44の両方を必ずしも備えている必要はない。
 以上説明したように、実施の形態2にかかるシミュレーション装置20によれば、プログラマブルコントローラ104またはモーションコントローラ103に接続された外部ユニットにかかる外部入出力データを模擬した模擬信号を生成して、データ共有部5を介して2つのシミュレータで利用することができるので、ユーザシステム200の実機の動作に近いシミュレーションが可能となる。
実施の形態3.
 本発明の実施の形態3にかかるシミュレーション装置10の機能構成は図2に示される。シミュレーション装置10において、データ共有部5を介してシミュレータ2およびシミュレータ4を連携させた環境下で、一方のシミュレータでエラーが発生した場合に、エラー原因となる他方のシミュレータのユーザプログラムまたはパラメータの入力設定画面を表示装置204に表示する。
 具体的には、シミュレータ4によるモーションコントローラ103のシミュレーションでエラーが発生した場合に、当該エラーの原因となるプログラマブルコントローラプログラムの入力設定画面またはプログラマブルコントローラ104のシミュレーションのパラメータの入力設定画面が表示装置204に表示される。このときのシミュレーション装置10の動作を図2、図10および図11を用いて説明する。図10は、本発明の実施の形態3にかかるシミュレーション装置10の動作を示したフローチャートである。図11は、実施の形態3にかかる表示装置204の画面を模式化した図である。
 シミュレータ2およびシミュレータ4は共に起動しているとする。まず、シミュレータ4がモーションコントローラ103のシミュレーションを実行した結果、エラーが発生する(ステップS501)。ここで、このエラーは、プログラマブルコントローラ104のシミュレーションのもととなるパラメータの設定またはプログラマブルコントローラプログラムが原因であるとする。
 シミュレータ4は、当該エラーにかかる情報であるエラー情報をエンジニアリング設定ツール3に通知し、通信インタフェース33を介してエラー情報を受け取った実行結果表示部32は、エラー情報を示す図11の出力表示画面901を表示装置204に表示する(ステップS502)。出力表示画面901にはモーションコントローラ103のシミュレーションにおいて発生したエラーを識別するエラーコードが表示されている。
 ここで、ユーザがマウスといった入力装置205を用いて出力表示画面901をクリックするなどしてエラーコードが選択されると(ステップS503)、エンジニアリング設定ツール3はこの選択を受け付けて、シミュレータ4に当該エラーコードをデータ共有部5に転送させる(ステップS504)。転送されたエラーコードはデータ保存部53に保存される。そして、シミュレータ2がデータ保存部53に保存されたエラーコードを取得し(ステップS505)、取得したエラーコードをエンジニアリング設定ツール1に送る。
 ここで、エンジニアリング設定ツール1は、エラーコードと、当該エラーコードにより識別されるエラーの発生原因となるプログラマブルコントローラ104のシミュレーションのパラメータの入力設定画面の識別子または当該エラーコードにより識別されるエラーの発生原因となるプログラマブルコントローラプログラムの入力設定画面の識別子との対応関係をテーブルといった形式で、メモリ202に保持している。したがって、図11に示すように、エンジニアリング設定ツール1の設定編集表示部11は、取得したエラーコードと上記対応関係とに基づいて、エラーの発生原因となるプログラマブルコントローラ104のシミュレーションのパラメータまたはプログラマブルコントローラプログラムの入力設定画面902を表示装置204に表示する(ステップS506)。
 同様に、シミュレータ2によるプログラマブルコントローラ104のシミュレーションでエラーが発生した場合に、当該エラーの原因となるモーションコントローラプログラムの入力設定画面またはモーションコントローラ103のシミュレーションのパラメータの入力設定画面を表示装置204に表示することも可能である。このときのシミュレーション装置10の動作を図2および図12を用いて説明する。図12は、本発明の実施の形態3にかかるシミュレーション装置10の別の動作を示したフローチャートである。
 シミュレータ2およびシミュレータ4は共に起動しているとする。まず、シミュレータ2がプログラマブルコントローラ104のシミュレーションを実行した結果、エラーが発生する(ステップS601)。ここで、このエラーは、モーションコントローラ103のシミュレーションのもととなるパラメータの設定またはモーションコントローラプログラムが原因であるとする。
 シミュレータ2は、当該エラーにかかる情報であるエラー情報をエンジニアリング設定ツール1に通知し、通信インタフェース13を介してエラー情報を受け取った実行結果表示部12は、エラー情報を示す出力表示画面を表示装置204に表示する(ステップS602)。表示装置204に表示された出力表示画面にはプログラマブルコントローラ104のシミュレーションにおいて発生したエラーを識別するエラーコードが表示されている。
 ここで、ユーザがマウスといった入力装置205を用いて出力表示画面をクリックするなどしてエラーコードが選択されると(ステップS603)、エンジニアリング設定ツール1はこの選択を受け付けて、シミュレータ2に当該エラーコードをデータ共有部5に転送させる(ステップS604)。転送されたエラーコードはデータ保存部52に保存される。そして、シミュレータ4がデータ保存部52に保存されたエラーコードを取得し(ステップS605)、取得したエラーコードをエンジニアリング設定ツール3に送る。
 ここで、エンジニアリング設定ツール3は、エラーコードと、当該エラーコードにより識別されるエラーの発生原因となるモーションコントローラ103のシミュレーションのパラメータの入力設定画面の識別子または当該エラーコードにより識別されるエラーの発生原因となるモーションコントローラプログラムの入力設定画面の識別子との対応関係をテーブルといった形式で、メモリ202に保持している。したがって、エンジニアリング設定ツール3の設定編集表示部31は、取得したエラーコードと上記対応関係とに基づいて、エラーの発生原因となるモーションコントローラ103のシミュレーションのパラメータまたはモーションコントローラプログラムの入力設定画面を表示装置204に表示する(ステップS606)。
 なお、実施の形態3にかかるシミュレーション装置10は、図10のフローチャートを用いて説明した動作および図12のフローチャートを用いて説明した動作の両方の動作を実現してもよいが、いずれか一方の動作を実現するのでもかまわない。
 以上説明したように、実施の形態3にかかるシミュレーション装置10によれば、一方のシミュレータでエラーが発生した場合に、ユーザはエラーの発生原因を確認でき、エラー原因となる他方のシミュレータのユーザプログラムまたはパラメータの入力設定画面が簡単に表示されるので、プログラム修正の手間が低減され、エラー原因を速やかに除去することが可能となる。
 なお、実施の形態3で説明した、一方のシミュレータでエラーが発生した場合に、エラー原因となる他方のシミュレータのユーザプログラムまたはパラメータの入力設定画面を表示装置204に表示することは、図8のシミュレーション装置20でも可能であることは言うまでもない。
実施の形態4.
 実施の形態1から実施の形態3においては、図1および図7に示すように1台のプログラマブルコントローラ104と1台のモーションコントローラ103とを含んだユーザシステムの動作をシミュレーション装置10またはシミュレーション装置20がシミュレーションするとして説明した。しかし、シミュレーションの対象となるユーザシステムの構成は、上記に限定されない。具体的には、ユーザシステムは、複数台のプログラマブルコントローラと複数台のモーションコントローラを含む場合もある。このようなユーザシステムの動作をシミュレーションするシミュレーション装置においても、データ共有部5および連携機能処理部6を設ける。
 図13は、実施の形態4にかかるシミュレーション装置30の機能構成を示すブロック図である。シミュレーション装置30は、一台のプログラマブルコントローラと二台のモーションコントローラを含むユーザシステムをシミュレーションする。シミュレーション装置30は、第一設定部であるプログラマブルコントローラ用のエンジニアリング設定ツール1と、第一シミュレーション部であるプログラマブルコントローラ用のシミュレータ2と、第二設定部である一台目のモーションコントローラ用のエンジニアリング設定ツール3と、第二シミュレーション部である一台目のモーションコントローラ用のシミュレータ4と、第三設定部である二台目のモーションコントローラ用のエンジニアリング設定ツール7と、第三シミュレーション部である二台目のモーションコントローラ用のシミュレータ8と、データ共有部5と、連携機能処理部6と、を備える。このように、シミュレーション装置30においても、データ共有部5および連携機能処理部6を設けたことにより、実施の形態1から実施の形態3と同様の効果が得られる。
 データ共有部5の記憶領域には、シミュレータ2、シミュレータ4およびシミュレータ8からのデータの書き込みが可能であると共に、シミュレータ2、シミュレータ4およびシミュレータ8によるデータの読出しも可能である。連携機能処理部6は、シミュレータ2、シミュレータ4およびシミュレータ8との連携機能を調整し、データ共有部5の記憶領域の確保といった制御を実行する。
 また、エンジニアリング設定ツール7がユーザシステムの機械構成のCAD(Computer-Aided Design)用の設定ツールで、シミュレータ8がCAD用のシミュレータであるとすれば、プログラマブルコントローラおよびモーションコントローラのシミュレーションにCADのシミュレーションを連携させることができる。この場合においても、データ共有部5および連携機能処理部6を設けたことにより、実施の形態1から実施の形態3と同様の効果が得られる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1,3,7 エンジニアリング設定ツール、2,4,2-1,4-1,8 シミュレータ、5 データ共有部、6 連携機能処理部、10,20,30 シミュレーション装置、11,31 設定編集表示部、12,32 実行結果表示部、13,25,33,45,51 通信インタフェース、21,41 設定データ保存部、22,42 制御演算処理部、23,43 データ管理部、24,44 外部入出力データ模擬部、52,53 データ保存部、100,200 ユーザシステム、101 サーボモータ、102 サーボアンプ、103 モーションコントローラ、104 プログラマブルコントローラ、105 入力ユニット、106 出力ユニット、107 運転ボタン、108 停止ボタン、109 正常ランプ、110 異常ランプ、201 CPU、202 メモリ、203 記憶装置、204 表示装置、205 入力装置、901 出力表示画面、902 入力設定画面。

Claims (8)

  1.  プログラマブルコントローラの動作のシミュレーションを、第一のプログラムに基づいて実行する第一シミュレーション部と、
     モーションコントローラの動作のシミュレーションを、第二のプログラムに基づいて実行する第二シミュレーション部と、
     前記第一シミュレーション部および前記第二シミュレーション部がデータの書き込みおよび読み出しが可能なデータ共有部と、
     を備える
     ことを特徴とするシミュレーション装置。
  2.  前記第一シミュレーション部および前記第二シミュレーション部は、同期時間毎に計算結果を前記データ共有部に転送する
     ことを特徴とする請求項1に記載のシミュレーション装置。
  3.  前記第一シミュレーション部および前記第二シミュレーション部は、前記計算結果に時間データを添付して前記データ共有部に転送する
     ことを特徴とする請求項2に記載のシミュレーション装置。
  4.  前記第一シミュレーション部は、前記プログラマブルコントローラに接続された外部ユニットにかかる外部入出力データを模擬した模擬信号を生成する外部入出力データ模擬部を備える
     ことを特徴とする請求項1から3のいずれか1つに記載のシミュレーション装置。
  5.  前記第二シミュレーション部は、前記モーションコントローラに接続された外部ユニットにかかる外部入出力データを模擬した模擬信号を生成する外部入出力データ模擬部を備える
     ことを特徴とする請求項1から3のいずれか1つに記載のシミュレーション装置。
  6.  前記第一のプログラムの作成を支援して、前記第一シミュレーション部を起動する第一設定部と、
     前記第二のプログラムの作成を支援して、前記第二シミュレーション部を起動する第二設定部と、
     をさらに備える
     ことを特徴とする請求項1に記載のシミュレーション装置。
  7.  前記第二シミュレーション部における前記モーションコントローラの動作のシミュレーションにおいて、前記プログラマブルコントローラの動作のシミュレーションのパラメータまたは前記第一のプログラムが原因となるエラーが発生した場合は、前記第二設定部は、前記エラーを識別するエラーコードを表示装置に表示し、
     その後、前記第二設定部が前記エラーコードを受け付けると、前記データ共有部を介して前記エラーコードを取得した前記第一設定部は、前記エラーコードに対応する前記パラメータまたは前記第一のプログラムの入力設定画面を前記表示装置に表示する
     ことを特徴とする請求項6に記載のシミュレーション装置。
  8.  前記第一シミュレーション部における前記プログラマブルコントローラの動作のシミュレーションにおいて、前記モーションコントローラの動作のシミュレーションのパラメータまたは前記第二のプログラムが原因となるエラーが発生した場合は、前記第一設定部は、前記エラーを識別するエラーコードを表示装置に表示し、
     その後、前記第一設定部が前記エラーコードを受け付けると、前記データ共有部を介して前記エラーコードを取得した前記第二設定部は、前記エラーコードに対応する前記パラメータまたは前記第二のプログラムの入力設定画面を前記表示装置に表示する
     ことを特徴とする請求項6に記載のシミュレーション装置。
PCT/JP2016/080566 2016-10-14 2016-10-14 シミュレーション装置 WO2018070041A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201680089955.6A CN109844659B (zh) 2016-10-14 2016-10-14 仿真装置
DE112016007339.9T DE112016007339T5 (de) 2016-10-14 2016-10-14 Simulationsvorrichtung
US16/326,716 US11467569B2 (en) 2016-10-14 2016-10-14 Simulation device
PCT/JP2016/080566 WO2018070041A1 (ja) 2016-10-14 2016-10-14 シミュレーション装置
JP2017527942A JP6184651B1 (ja) 2016-10-14 2016-10-14 シミュレーション装置
KR1020197010044A KR102198204B1 (ko) 2016-10-14 2016-10-14 시뮬레이션 장치
TW106135075A TWI661358B (zh) 2016-10-14 2017-10-13 模擬裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/080566 WO2018070041A1 (ja) 2016-10-14 2016-10-14 シミュレーション装置

Publications (1)

Publication Number Publication Date
WO2018070041A1 true WO2018070041A1 (ja) 2018-04-19

Family

ID=59678270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/080566 WO2018070041A1 (ja) 2016-10-14 2016-10-14 シミュレーション装置

Country Status (7)

Country Link
US (1) US11467569B2 (ja)
JP (1) JP6184651B1 (ja)
KR (1) KR102198204B1 (ja)
CN (1) CN109844659B (ja)
DE (1) DE112016007339T5 (ja)
TW (1) TWI661358B (ja)
WO (1) WO2018070041A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023203604A1 (ja) * 2022-04-18 2023-10-26 三菱電機株式会社 シミュレーション用プログラム、シミュレーション装置及び制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3454234A1 (de) * 2017-09-06 2019-03-13 dSPACE digital signal processing and control engineering GmbH Verfahren zum bereitstellen einer echtzeitfähigen simulation für die steuergerätentwicklung und simulationsvorrichtung für die steuergerätentwicklung
JP6983102B2 (ja) * 2018-04-17 2021-12-17 三菱電機株式会社 エンジニアリング装置及び制御システム
US11010510B2 (en) * 2019-04-30 2021-05-18 Disney Enterprises, Inc. Soft-real-time hub providing data transport for processor-in-the-loop (PIL) simulations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048396A (ja) * 2007-08-20 2009-03-05 Koyo Electronics Ind Co Ltd モータモーション用シミュレータ
JP2011192016A (ja) * 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149235A (en) * 1976-12-27 1979-04-10 Mcdonnell Douglas Corporation Computer numerical control system for machine tool
US5963731A (en) * 1995-12-25 1999-10-05 Hitachi, Ltd. Method of assisting execution of plural simulation programs for coupled simulation
US6526566B1 (en) * 1997-11-14 2003-02-25 National Instruments Corporation Graphical programming system and method including nodes for programmatically accessing data sources and targets
US7917863B2 (en) * 2000-06-13 2011-03-29 National Instruments Corporation System and method for graphically creating a sequence of motion control operations
DE10248991B4 (de) * 2002-10-21 2004-12-23 Siemens Ag Vorrichtung zur Simulation des Steuerungs- und Maschinenverhaltens von Werkzeug- oder Produktionsmaschinen
JP2004259112A (ja) 2003-02-27 2004-09-16 Omron Corp 評価用システム及び評価方法並びにモーションコントローラ
US7100015B1 (en) * 2003-09-15 2006-08-29 Sun Microsystems, Inc. Redirecting external memory allocation operations to an internal memory manager
US8027349B2 (en) * 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US7180253B2 (en) * 2003-09-30 2007-02-20 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
JP3732494B2 (ja) * 2003-10-31 2006-01-05 ファナック株式会社 シミュレーション装置
US7725877B2 (en) * 2004-01-09 2010-05-25 National Instruments Corporation Graphical program which includes an I/O node for hardware abstraction
JP2007286654A (ja) 2004-07-29 2007-11-01 Mitsubishi Electric Corp シーケンサシミュレーション装置
US7549151B2 (en) * 2005-02-14 2009-06-16 Qnx Software Systems Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
US7840904B2 (en) * 2006-08-04 2010-11-23 National Instruments Corporation Execution target structure node for a graphical program
TWI394020B (zh) * 2006-08-08 2013-04-21 Siemens Industry Inc 與可程式化邏輯控制器通信之裝置、系統及方法
US9588511B2 (en) * 2007-08-03 2017-03-07 Hurco Companies, Inc. Virtual machine manager
JP4944739B2 (ja) * 2007-11-16 2012-06-06 株式会社キーエンス 画像処理コントローラ用のプログラム作成装置
US8607189B2 (en) * 2009-05-18 2013-12-10 National Instruments Corporation Dynamic analysis of a graphical program in a browser
US8307136B2 (en) * 2009-08-03 2012-11-06 National Instruments Corporation Data movement system and method
JP5237223B2 (ja) * 2009-08-20 2013-07-17 三菱電機株式会社 監視制御装置
JP2012155519A (ja) * 2011-01-26 2012-08-16 Renesas Electronics Corp シミュレーション装置、シミュレーション方法およびそのコンピュータ・プログラム
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5838873B2 (ja) * 2012-03-15 2016-01-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
US9189209B2 (en) * 2012-04-30 2015-11-17 National Instruments Corporation Graphical programming system with native access to external memory buffers
JP5983442B2 (ja) * 2013-01-31 2016-08-31 富士通株式会社 プログラム、演算装置および演算方法
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
EP2871544B1 (en) * 2013-11-08 2022-09-14 Rockwell Automation Technologies, Inc. Interface for data exchange between industrial controllers and simulation applications for simulating a machine
JP6390113B2 (ja) * 2014-02-14 2018-09-19 オムロン株式会社 制御システム、開発支援装置、制御装置、および制御方法
JP5784263B1 (ja) * 2014-04-30 2015-09-24 三菱電機株式会社 シミュレーションシステム、プログラマブルコントローラ、シミュレーション装置、エンジニアリングツール

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048396A (ja) * 2007-08-20 2009-03-05 Koyo Electronics Ind Co Ltd モータモーション用シミュレータ
JP2011192016A (ja) * 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023203604A1 (ja) * 2022-04-18 2023-10-26 三菱電機株式会社 シミュレーション用プログラム、シミュレーション装置及び制御方法

Also Published As

Publication number Publication date
JPWO2018070041A1 (ja) 2018-10-18
KR102198204B1 (ko) 2021-01-04
TWI661358B (zh) 2019-06-01
US20190204816A1 (en) 2019-07-04
KR20190046984A (ko) 2019-05-07
TW201820133A (zh) 2018-06-01
US11467569B2 (en) 2022-10-11
JP6184651B1 (ja) 2017-08-23
DE112016007339T5 (de) 2019-07-04
CN109844659B (zh) 2022-04-05
CN109844659A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
JP6184651B1 (ja) シミュレーション装置
US10025286B2 (en) Simulation system, programmable controller, simulation device, and engineering tool
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US9753447B2 (en) Control unit, output control method and program
JP6476594B2 (ja) シミュレーションシステム
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
WO2010017835A1 (en) A system and a method for off-line programming of an industrial robot
JP6433635B1 (ja) シミュレーション装置およびシミュレーション方法
JP2015176340A (ja) プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6392817B2 (ja) シミュレーション装置
JP2018036945A (ja) シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
JP2008165324A (ja) プログラム作成支援装置
US20190101893A1 (en) Information processing device, information processing method, and computer-readable recording medium
JP2006163657A (ja) プレイバックシミュレータ装置
JP7374381B1 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置

Legal Events

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

Ref document number: 2017527942

Country of ref document: JP

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

Ref document number: 16918778

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20197010044

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 16918778

Country of ref document: EP

Kind code of ref document: A1