WO2019220605A1 - シミュレーション装置およびシミュレーションプログラム - Google Patents

シミュレーション装置およびシミュレーションプログラム Download PDF

Info

Publication number
WO2019220605A1
WO2019220605A1 PCT/JP2018/019199 JP2018019199W WO2019220605A1 WO 2019220605 A1 WO2019220605 A1 WO 2019220605A1 JP 2018019199 W JP2018019199 W JP 2018019199W WO 2019220605 A1 WO2019220605 A1 WO 2019220605A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
unit
real
data
plc
Prior art date
Application number
PCT/JP2018/019199
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 JP2018561076A priority Critical patent/JP6570772B1/ja
Priority to DE112018007477.3T priority patent/DE112018007477T5/de
Priority to PCT/JP2018/019199 priority patent/WO2019220605A1/ja
Priority to CN201880093406.5A priority patent/CN112119358A/zh
Publication of WO2019220605A1 publication Critical patent/WO2019220605A1/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
    • 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 a simulation apparatus and a simulation program for executing a simulation of a programmable logic controller.
  • the PLC test support system described in Patent Document 1 allows communication by transmitting / receiving communication data to / from a PC (Personal Computer) to a virtual PLC that simulates the operation of a real PLC that is a real PLC. Testing the contents of the data.
  • PC Personal Computer
  • the present invention has been made in view of the above, and is a simulation device capable of confirming operations performed while a real controller system and a virtual controller system interact with each other without creating a test PLC program.
  • the purpose is to obtain.
  • the simulation apparatus of the present invention is a network that is a unit that performs communication between a virtual programmable logic controller that simulates the operation of the programmable logic controller and another controller system.
  • a virtual controller system including a virtual network unit that simulates the operation of the unit is constructed, and a simulation unit that performs a calculation related to the simulated operation of the virtual controller system is provided.
  • the simulation apparatus of the present invention is connected to a first actual controller system including an actual programmable logic controller of an actual machine and an actual network unit of an actual machine that is a unit that communicates with another controller system.
  • a communication unit that relays data between the virtual controller system and the first real controller system.
  • the simulation unit is based on the same program as that used when operating the second real controller system corresponding to the virtual controller system, and uses the data received from the first real controller system via the communication unit. Simulates the controller system.
  • the simulation apparatus has an effect that it is possible to confirm an operation performed while the real controller system and the virtual controller system interact with each other without creating a test PLC program.
  • the figure which shows the structure of FA (Factory Automation) system to which the simulation apparatus concerning embodiment is applied The figure which shows the structure of the simulation apparatus concerning embodiment
  • the figure which shows the structure of the virtual environment concerning embodiment The figure which shows the 1st structural example of the connection part with which the virtual PLC system concerning embodiment is provided.
  • the figure which shows the 2nd structural example of the connection part with which the virtual PLC system concerning embodiment is provided.
  • the flowchart which shows the 1st data relay processing procedure between PLC systems by the simulation apparatus concerning embodiment 10 is a flowchart showing a second data relay processing procedure between PLC systems by the simulation apparatus according to the embodiment;
  • FIG. 1 is a diagram illustrating a configuration of an FA system to which a simulation apparatus according to an embodiment is applied.
  • FIG. 2 is a diagram illustrating a configuration of the simulation apparatus according to the embodiment.
  • the FA system 150 is a system for automating the production process of the factory, and includes a simulation device 7 and actual PLC systems 100-1, 100-2, 100-3.
  • Each of the real PLC systems 100-1, 100-2, and 100-3 includes a real PLC that is a PLC of the real machine.
  • the communication protocols used in the actual PLC systems 100-1, 100-2, and 100-3 may be different or the same.
  • the actual PLC systems 100-1, 100-2, and 100-3 may be referred to as an actual PLC system group 101X.
  • the simulation apparatus 7 is a computer that constructs virtual PLC systems 200X and 200Y for virtually operating the PLC system and causes the virtual PLC systems 200X and 200Y to perform a simulation operation that is a simulation.
  • An example of a computer is a personal computer.
  • the simulation apparatus 7 is connected to the actual PLC system group 101X via the bridge 32.
  • the simulation device 7 causes the virtual PLC systems 200X and 200Y to perform a simulated operation while transmitting and receiving data to and from the real PLC system group 101X. Thereby, the simulation apparatus 7 verifies the operation of the FA system 150 including the virtual PLC systems 200X and 200Y and the real PLC system group 101X.
  • the bridge 32 relays data between the real PLC system group 101X and the virtual PLC systems 200X and 200Y.
  • the bridge 32 is realized by the simulation unit 3 executing bridge software. Data communication is performed using data packets between the real PLC system group 101X and the bridge 32, and between the virtual PLC systems 200X and 200Y and the bridge 32.
  • the simulation apparatus 7 includes an input unit 1, a storage unit 2, a simulation unit 3, a communication board 31 that is an example of a communication unit, and a display control unit 6.
  • the input unit 1 receives data used when executing a simulation from an external device and inputs the data to the storage unit 2 and the simulation unit 3.
  • the storage unit 2 stores data used when the simulation is executed. Examples of data stored in the storage unit 2 are PLC setting data, a simulation program, a PLC program, and configuration information.
  • the PLC program is a program used when the PLC operates.
  • the configuration information is information indicating the configuration of the virtual PLC systems 200X and 200Y.
  • the configuration information includes a list of components arranged in the virtual PLC systems 200X and 200Y, a connection relationship between the components, and a function of each component.
  • the PLC setting data is data used when the PLC operates.
  • the simulation unit 3 constructs the virtual PLC systems 200X and 200Y in the simulation apparatus 7 using the simulation program and the configuration information.
  • the simulation unit 3 simulates the virtual PLC systems 200X and 200Y using the constructed virtual PLC systems 200X and 200Y, the PLC setting data, and the PLC program.
  • the communication board 31 transmits the data sent from the simulation unit 3 to the real PLC system group 101X, and distributes the data sent from the real PLC system group 101X to the virtual PLC systems 200X and 200Y.
  • the display control unit 6 is connected to a display device 8 such as a liquid crystal monitor, and displays a simulation result by the simulation unit 3 on the display device 8.
  • the simulation result is a result of the simulated operation of the virtual PLC systems 200X and 200Y.
  • the actual PLC systems 100-1 to 100-3 that are actual controller systems execute actual operations
  • the virtual PLC systems 200X and 200Y that are virtual controller systems execute simulated operations.
  • the real PLC system group 101X may be two or less real PLC systems, or may be four or more real PLC systems. Further, the number of virtual PLC systems constructed by the simulation apparatus 7 may be three or more, or one.
  • FIG. 3 is a diagram illustrating a configuration of a virtual environment according to the embodiment.
  • FIG. 3 shows a functional block diagram of a virtual environment 300 constructed by the simulation apparatus 7 and a real PLC system 100 which is an example of a real PLC system.
  • the actual PLC system 100 is any one of the actual PLC systems 100-1, 100-2, and 100-3.
  • the virtual environment 300 includes virtual PLC systems 200X and 200Y constructed by the simulation unit 3 and a bridge 32.
  • the processes in the virtual PLC systems 200X and 200Y are executed by the simulation unit 3.
  • the virtual PLC systems 200X and 200Y are connected to the bridge 32, and the bridge 32 is connected to the communication board 31.
  • the communication board 31 is connected to the actual PLC system 100.
  • the virtual environment 300 is connected to the real PLC system 100
  • the virtual environment 300 is connected to the real PLC system group 101X.
  • the virtual PLC systems 200X and 200Y are virtual PLC systems that simulate an actual PLC system, and virtually execute the same operation as the actual PLC system.
  • the virtual PLC system 200X includes virtual PLCs 50A and 50B, a virtual NWU 60A that is a virtual network unit (NWU), and virtual PLC system setting data 42X.
  • the virtual PLCs 50A and 50B and the virtual NWU 60A are connected in a transmission line format such as line connection or star connection.
  • the transmission path format corresponds to the connection relationship between the components included in the configuration information.
  • the virtual PLC system 200Y includes a virtual PLC 50C, a virtual NWU 60C, and virtual PLC system setting data 42Y.
  • the virtual PLC 50C and the virtual NWU 60C are connected in a transmission path format such as line connection or star connection.
  • Virtual PLC system setting data 42X which is virtual system setting data, includes arrangement information of units such as virtual PLCs 50A and 50B and virtual NWU 60A included in the virtual PLC system 200X, inter-unit communication cycles in the virtual PLC system 200X, and network communication. Including the cycle.
  • the inter-unit communication cycle in the virtual PLC system 200X is a communication cycle between units in the virtual PLC system 200X.
  • the network communication cycle is a communication cycle between PLC systems in the FA system 150.
  • the virtual PLC system setting data 42Y includes arrangement information of units such as a virtual PLC 50C and a virtual NWU 60C included in the virtual PLC system 200Y, a communication cycle between units in the virtual PLC system 200Y, and a network communication cycle.
  • the inter-unit communication cycle in the virtual PLC system 200Y is a communication cycle between units in the virtual PLC system 200Y.
  • the real PLC system 100 includes a real PLC 10, a real NWU 20, and real PLC system setting data 41.
  • the actual PLC system 100 includes a base unit on which a plurality of units are mounted, and the actual PLC 10 and the actual NWU 20 are mounted on the base unit.
  • the actual PLC system setting data 41 is stored in any unit attached to the base unit.
  • the actual PLC system setting data 41 which is actual system setting data, includes the arrangement information of each unit such as the actual PLC 10 and the actual NWU 20 included in the actual PLC system 100, the communication cycle between units in the actual PLC system 100, and the network communication cycle. Is included.
  • the communication cycle between units in the actual PLC system 100 is a communication cycle between units in the actual PLC system 100.
  • the simulation unit 3 may acquire the virtual PLC system setting data 42X from the real PLC system 100.
  • the master PLC system is a PLC system that collects various data from the local PLC system and controls the local PLC system based on the collected data.
  • the simulation unit 3 acquires the virtual PLC system setting data 42X from the real PLC system 100
  • the virtual PLC system 200X receives the virtual PLC system setting data 42X from the real PLC system 100 via the bridge 32 and the communication board 31. To do.
  • the simulation unit 3 may cause the virtual PLC system 200 ⁇ / b> X to acquire the actual PLC system setting data 41 and generate the virtual PLC system setting data 42 ⁇ / b> X based on the acquired actual PLC system setting data 41.
  • the virtual PLC 50A has PLC setting data 51A, a PLC program 52A, a program execution unit 53A, a virtual clock 54A, an inter-unit communication unit 55A, and a tool communication unit 56A.
  • the virtual PLC 50B includes PLC setting data 51B, a PLC program 52B, a program execution unit 53B, a virtual clock 54B, an inter-unit communication unit 55B, and a tool communication unit 56B.
  • the virtual PLC 50C includes PLC setting data 51C, a PLC program 52C, a program execution unit 53C, a virtual clock 54C, an inter-unit communication unit 55C, and a tool communication unit 56C.
  • the real PLC 10 includes PLC setting data 11, a PLC program 12, a program execution unit 13, a clock 14, an inter-unit communication unit 15C, and a tool communication unit 16.
  • the virtual NWU 60A is a unit that communicates with an external device, and includes NWU setting data 61, an inter-unit communication unit 62A, a virtual clock 63A, a network communication unit 64A, and a memory 65A.
  • the virtual NWU 60C includes NWU setting data 61, an inter-unit communication unit 62C, a virtual clock 63C, a network communication unit 64C, and a memory 65C.
  • the real NWU 20 includes NWU setting data 61, an inter-unit communication unit 22, a clock 23, a network communication unit 24, and a memory 25.
  • the PLC setting data 51A is data used when the virtual PLC 50A operates.
  • the PLC setting data 51A includes various information such as operating conditions when the virtual PLC 50A operates.
  • the PLC program 52A is a program used when the virtual PLC 50A performs a simulated operation.
  • the PLC program 52A is the same program as the PLC program used when operating the real PLC corresponding to the virtual PLC 50A.
  • An example of the PLC program 52A is a sequence program such as a ladder program.
  • the program execution unit 53A executes the PLC program 52A.
  • the program execution unit 53A executes the PLC program 52A using the setting information.
  • the program execution unit 53A advances the time of the virtual clock 54A according to the execution status of the PLC program 52A.
  • the program execution unit 53A transmits the consumption time corresponding to the executed instruction to the virtual clock 54A.
  • the virtual clock 54A is a virtual clock whose time is advanced based on the execution status of the PLC program 52A by the program execution unit 53A.
  • the time when the virtual PLC 50A is reset is zero.
  • the virtual clock 54A accumulates the consumption time determined for each instruction in the PLC program 52A. As a result, the virtual clock 54A holds time data corresponding to the executed instruction.
  • the inter-unit communication unit 55A executes data communication with other units in the virtual PLC system 200X based on the unit identifier included in the virtual PLC system setting data 42X. In this case, the inter-unit communication unit 55A performs data communication with other units in the virtual PLC system 200X according to the virtual clock 54A and the inter-unit communication cycle included in the virtual PLC system setting data 42X. Here, the inter-unit communication unit 55A performs data communication with the virtual PLC 50B and data communication with the virtual NWU 60A.
  • the inter-unit communication unit 55A sends data to the inter-unit communication unit 55B of the virtual PLC 50B using the virtual PLC 50A as a transmission source. Send.
  • the inter-unit communication unit 55A uses the virtual PLC 50A as a transmission source to the inter-unit communication unit 62A of the virtual NWU 60A. Send data.
  • the inter-unit communication unit 55A sends the unit destination and the transmission source virtual PLC 50A to the data to be transmitted.
  • the destination of the unit is designated by the network number that is the first identification information and the station number that is the second identification information. The network number and station number will be described later.
  • the inter-unit communication unit 55A receives data sent from the inter-unit communication unit 55B or the inter-unit communication unit 62A.
  • the inter-unit communication unit 55A may read data from the inter-unit communication unit 55B or the inter-unit communication unit 62A.
  • the inter-unit communication unit 55A executes time synchronization between the virtual PLC 50B and the virtual NWU 60A based on the PLC setting data 51A and the time data read from the virtual clock 54A.
  • the virtual clocks are arranged between the virtual clock 54A, the virtual clock 54B, and the virtual clock 63A.
  • the tool communication unit 56A executes data communication with an engineering tool (not shown).
  • the engineering tool is a tool for performing various settings when operating the virtual PLC 50A.
  • the tool communication unit 56A receives setting information set by the engineering tool. Examples of the setting information are setting information for the PLC setting data 51A and setting information for the PLC program 52A.
  • the NWU setting data 61 includes the correspondence between the address of each unit in the virtual PLC system 200X and the station number.
  • an address of a unit in the virtual PLC system 200X can be specified by designating a station number.
  • the inter-unit communication unit 62A has the same function as the inter-unit communication unit 55A. Further, when the data from the real PLC system 100 or the virtual PLC system 200Y to the virtual PLCs 50A and 50B is stored in the memory 65A, the inter-unit communication unit 62A sends the data to the virtual PLC 50A or the virtual PLC 50B that is the destination of this data. Send. Further, when the inter-unit communication unit 62A receives data destined for the real PLC system 100 or the virtual PLC system 200Y from the virtual PLCs 50A and 50B, it stores this data in the memory 65A.
  • the inter-unit communication unit 62A stores this data in a memory other than the memory 65A in the virtual NWU 60A. Further, when the inter-unit communication unit 62A receives data destined for the virtual NWU 60A from the virtual PLCs 50A and 50B, the inter-unit communication unit 62A stores the received data in a memory other than the memory 65A in the virtual NWU 60A.
  • the virtual clock 63A has the same function as the virtual clock 54B.
  • the network communication unit 64A performs communication between the real PLC system 100 and the virtual PLC system 200Y according to the network communication cycle included in the virtual PLC system setting data 42X.
  • the network communication unit 64A stores the data transmitted from the real PLC system 100 or the virtual PLC system 200Y in the memory 65A. Further, the network communication unit 64A transmits the data to the real PLC system 100 or the virtual PLC system 200Y stored in the memory 65A to the bridge 32.
  • the memory 65A stores data sent from the real PLC system 100 or the virtual PLC system 200Y, and stores data sent to the virtual PLCs 50A and 50B.
  • the memory 65 ⁇ / b> A receives data from the bridge 32 and transmits data to the bridge 32.
  • the virtual PLC systems 200X and 200Y and the real PLC system 100 may include a virtual power supply unit, a virtual input unit, or a virtual output unit.
  • the power supply unit is a unit that supplies power to the PLC system
  • the input unit is a unit that receives a signal from a switch or sensor attached to the production device or equipment device
  • the output unit is a control instruction to an external device such as an actuator Is a unit that outputs.
  • the virtual PLC system 200X may have one virtual PLC, or may have three or more virtual PLCs.
  • the virtual PLC system 200Y may have a plurality of virtual PLCs.
  • the actual PLC system 100 may have a plurality of actual PLCs.
  • the bridge 32 transmits the data transmitted from the real PLC system 100 to the virtual PLC system 200X or the virtual PLC system 200Y based on the data destination. Further, the bridge 32 transmits the data transmitted from the virtual PLC system 200X to the communication board 31 or the virtual PLC system 200Y based on the data destination. In addition, the bridge 32 transmits the data transmitted from the virtual PLC system 200Y to the communication board 31 or the virtual PLC system 200X based on the data destination.
  • the communication board 31 is a communication protocol that is a first communication protocol of a virtual PLC network used in the virtual environment 300 and a communication protocol that is a second communication protocol of the real PLC network used in the real PLC system 100. Protocol conversion between and.
  • the real PLC 10 has the same components as the virtual PLCs 50A to 50C.
  • the components of the virtual PLCs 50A to 50C are virtual components, whereas the components of the real PLC 10 are components as actual devices. Therefore, the virtual clocks 54A to 54C included in the virtual PLCs 50A to 50C are virtual clocks, whereas the clock 14 included in the real PLC 10 is an actual clock.
  • the real NWU 20 has the same components as the virtual NWUs 60A and 60C.
  • the components of the virtual NWUs 60A and 60C are virtual components, while the components of the real NWU 20 are components as actual devices. Therefore, the virtual clocks 63A and 63C included in the virtual NWUs 60A and 60C are virtual clocks, whereas the clock 23 included in the real NWU 20 is an actual clock.
  • the virtual PLC systems 200X and 200Y may include a plurality of virtual NWUs.
  • the actual PLC system 100 may include a plurality of actual NWUs. Since one PLC system includes a plurality of NWUs, the PLC system can be connected to a plurality of networks having different settings.
  • FIG. 4 is a diagram illustrating a first configuration example of a connection unit included in the virtual PLC system according to the embodiment.
  • connection unit 30A connects the real environment 301 and the virtual environment 300.
  • the real PLC system 100 is arranged in the real environment 301, and the virtual PLC systems 200X and 200Y are arranged in the virtual environment 300.
  • the connection unit 30A includes a bridge 32 realized by software or firmware, and a communication board 31 realized by dedicated hardware.
  • the bridge 32 is connected to the communication board 31, and the communication board 31 is connected to the actual PLC system 100.
  • the communication board 31 specifies the communication protocol of the actual PLC network used in the actual PLC system 100 based on the data sent from the actual PLC system 100.
  • the communication board 31 stores a communication protocol of a virtual PLC network used in the virtual PLC systems 200X and 200Y.
  • the communication board 31 performs data protocol conversion when data is transmitted and received between the real PLC system 100 and the virtual PLC systems 200X and 200Y.
  • An example of a communication protocol of the virtual PLC network used in the virtual PLC systems 200X and 200Y is TCP / IP (Transmission Control Protocol / Internet Protocol).
  • the communication board 31 converts the sent data into a communication protocol used by the real PLC system 100 and transmits it to the real PLC system 100. Further, when data is sent from the actual PLC system 100, the communication board 31 converts the sent data into a communication protocol used by the virtual PLC systems 200X and 200Y and transmits the data to the bridge 32.
  • the bridge 32 includes a data analysis unit 33, a data creation unit 34, and a storage unit 35.
  • the storage unit 35 stores the correspondence between the network number and the addresses of the virtual NWUs 60A and 60C. Specifically, the storage unit 35 stores the correspondence between the network number of the virtual PLC system 200X and the address of the virtual NWU 60A, and the correspondence between the network number of the virtual PLC system 200Y and the address of the virtual NWU 60C. .
  • the bridge 32 performs data relay between the real PLC system 100, the virtual PLC system 200X, and the virtual PLC system 200Y based on the information stored in the storage unit 35.
  • the data analysis unit 33 receives data destined for the real PLC system 100 or the virtual PLC system 200Y from the virtual PLC system 200X. Further, the data analysis unit 33 receives data destined for the real PLC system 100 or the virtual PLC system 200X from the virtual PLC system 200Y. Further, the data analysis unit 33 receives data destined for the virtual PLC system 200X or the virtual PLC system 200Y via the communication board 31 from the real PLC system 100.
  • the data analysis unit 33 distributes the received data to any of the real PLC system 100, the virtual PLC system 200X, or the virtual PLC system 200Y based on the correspondence between the network number and the virtual NWU address.
  • the data analysis unit 33 When the destination of the data received from the virtual PLC system 200Y is a unit in the virtual PLC system 200X, the data analysis unit 33 writes the received data in the memory 65A of the virtual NWU 60A. In addition, when the destination of data received from the virtual PLC system 200X is a unit in the virtual PLC system 200Y, the data analysis unit 33 writes the received data in the memory 65C of the virtual NWU 60C.
  • the data analysis unit 33 transmits the received data to the data creation unit 34, and formats the data from the data creation unit 34. Receive the converted data.
  • the data analysis unit 33 transmits the format-converted data to the communication board 31.
  • the data analysis unit 33 transmits the received data to the data creation unit 34, and the data creation unit 34 formats the received data. Receive the converted data.
  • data both the data before format conversion and the data after format conversion may be referred to as data.
  • the data analysis unit 33 specifies the address of the virtual NWU corresponding to the destination network number. Then, the data analysis unit 33 transmits data to the specified virtual NWU address. Specifically, when the data destination is a unit in the virtual PLC system 200X, the data analysis unit 33 writes the received data in the memory 65A of the virtual NWU 60A. Further, when the data destination is a unit in the virtual PLC system 200Y, the data analysis unit 33 writes the received data in the memory 65C of the virtual NWU 60C.
  • the data analysis unit 33 transmits the data to the memory 65A of the virtual NWU 60A.
  • the data analysis unit 33 transmits the data to the memory 65C of the virtual NWU 60C.
  • the data creation unit 34 processes the received data in the virtual PLC system 200X or the virtual PLC system 200Y. Convert format to possible data.
  • the data creation unit 34 formats the received data into data that can be processed in the real PLC system 100. Convert.
  • FIG. 5 is a diagram illustrating a second configuration example of the connection unit included in the virtual PLC system according to the embodiment.
  • constituent elements in FIG. 5 constituent elements that achieve the same functions as those of the connection section 30 ⁇ / b> A shown in FIG. 4 are denoted by the same reference numerals, and redundant description is omitted.
  • connection unit 30B is connected to the real PLC system 100 and the virtual PLC systems 200X and 200Y.
  • the connection unit 30 ⁇ / b> B has a software protocol stack 29, which is an example of a communication unit, instead of the communication board 31. That is, the connection unit 30B includes a bridge 32 realized by software or firmware, and a software protocol stack 29 realized by software or firmware.
  • the bridge 32 is connected to the software protocol stack 29, and the software protocol stack 29 is connected to the actual PLC system 100.
  • the software protocol stack 29 has the same function as the communication board 31.
  • the communication board 31 performs protocol conversion by hardware, while the software protocol stack 29 performs protocol conversion by software or firmware. That is, the software protocol stack 29 performs protocol conversion between the communication protocol of the actual PLC system 100 and the communication protocols of the virtual PLC systems 200X and 200Y by software or firmware.
  • FIG. 6 is a flowchart of a first data relay processing procedure between the PLC systems by the simulation apparatus according to the embodiment.
  • a data relay process will be described in a case where data having the destination as the virtual PLC 50A of the virtual PLC system 200X is transmitted from the real PLC system 100.
  • the communication board 31 receives the data to which the network number and the station number are assigned from the actual PLC system 100 (step S10).
  • the communication board 31 converts the data from the real PLC system 100 into a communication protocol used in the virtual PLC system 200X (step S11).
  • the communication board 31 transmits the data after the protocol conversion to the data analysis unit 33.
  • the data analysis unit 33 transmits the data from the actual PLC system 100 to the data creation unit 34.
  • the data creation unit 34 converts the format of data from the real PLC system 100 into data that can be processed in the virtual PLC system 200X, and transmits the data to the data analysis unit 33.
  • the data analysis unit 33 specifies the address of the virtual NWU that stores the data from the real PLC system 100 based on the network number assigned to the data from the real PLC system 100. That is, the data analysis unit 33 specifies the address of the virtual NWU corresponding to the network number. The data analysis unit 33 here specifies the address of the virtual NWU 60A as the address of the virtual NWU corresponding to the network number. Then, the data analysis unit 33 transmits the data from the real PLC system 100 to the virtual NWU 60A corresponding to the network number (step S12).
  • the virtual NWU 60A in which the data is written transmits the data to the unit corresponding to the station number assigned to the data from the real PLC system 100 (step S13).
  • the virtual NWU 60A identifies the unit that is the data destination. That is, the data analysis unit 33 specifies the address of the unit corresponding to the station number.
  • the data analysis unit 33 here specifies the address of the virtual PLC 50A as the address of the unit corresponding to the station number. Then, the data analysis unit 33 transmits the data from the real PLC system 100 to the virtual PLC 50A corresponding to the station number.
  • FIG. 7 is a flowchart illustrating a second data relay processing procedure between the PLC systems by the simulation apparatus according to the embodiment.
  • a data relay process will be described in a case where data whose destination is the real PLC 10 of the real PLC system 100 is transmitted from the virtual PLC system 200X.
  • the data analysis unit 33 receives the data to which the network number and the station number are assigned from the virtual NWU 60A of the virtual PLC system 200X (step S21).
  • the network number here corresponds to the actual PLC system 100
  • the station number corresponds to the actual PLC 10.
  • the data analysis unit 33 transmits the data from the virtual NWU 60A to the data creation unit 34.
  • the data creation unit 34 converts the format of the data from the virtual NWU 60 ⁇ / b> A into data that can be processed in the real PLC system 100 and transmits the data to the data analysis unit 33.
  • the data analysis unit 33 transmits the format-converted data to the communication board 31.
  • the communication board 31 converts the data from the data analysis unit 33 into a communication protocol used in the actual PLC system 100 (step S22).
  • the data analysis unit 33 identifies the address of the real NWU that stores the data from the virtual PLC system 200X based on the network number assigned to the data from the virtual PLC system 200X. That is, the data analysis unit 33 specifies the address of the real NWU corresponding to the network number. The data analysis unit 33 here specifies the address of the real NWU 20 as the address of the real NWU corresponding to the network number. Then, the data analysis unit 33 transmits the data from the virtual PLC system 200X to the real NWU 20 corresponding to the network number (step S23). Thereby, the real NWU 20 of the real PLC system 100 receives the data to which the network number and the station number are assigned, and the real NWU 20 transmits the received data to the real PLC 10.
  • the display control unit 6 causes the display device 8 to display the result of the simulated operation of the virtual PLC systems 200X and 200Y. Thereby, the user can confirm the result of the simulated operation of the virtual PLC systems 200X and 200Y. The operation result of the actual PLC system 100 can be confirmed by the user looking at the actual PLC system 100.
  • the operation of the FA system 150 can be confirmed before all the actual PLC systems constituting the FA system 150 are completed.
  • the completed actual PLC systems 100-1 to 100-3 operations performed while interacting with the virtual PLC systems 200X and 200Y until the remaining PLC system is completed. Confirmation can be made. Therefore, since the operation check of the FA system 150 can be started even if there is an incomplete actual PLC system, the final operation check of the FA system 150 can be completed at an early stage. Moreover, since the operation check of the FA system 150 is performed using the simulation apparatus 7, the operation check of the FA system 150 can be performed at a low cost.
  • the simulation device 7 is the device even when the device a that is an example of the actual PLC system 100 is completed and the device b that is an example of the actual PLC system 100 is not completed. Since b can be simulated, an operation check test between the device a and the device b can be performed. Thereby, the test construction period can be shortened.
  • the device a when the device a is manufactured in the prefecture A, the device b is manufactured in the prefecture B, and the devices a and b are installed in the prefecture C, the device a is moved to the prefecture A before the installation in the prefecture C.
  • a test for confirming the operation between the device a and the device b can be performed.
  • the simulation device 7 simulates the operation of the device b to confirm the operation with the actual device a
  • the simulation device 7 simulates the operation of the device a. The operation with the actual apparatus b is confirmed. Thereby, the test construction period can be shortened.
  • the simulation apparatus 7 can test an abnormal case in which the apparatuses a and b are broken when actually generated, the test range can be expanded.
  • the simulation apparatus 7 that is one computer constructs the virtual PLC systems 200X and 200Y that are a plurality of virtual PLC systems.
  • a plurality of virtual PLC systems are configured by a plurality of computers. May be built.
  • one virtual PLC system is constructed by one computer, and each computer is connected. TCP / IP or the like is used for data transmission / reception and synchronization between connected computers.
  • FIG. 8 is a diagram illustrating a hardware configuration that implements the simulation apparatus according to the embodiment.
  • the simulation device 7 is realized by hardware 400 including a processor 401, a memory 402, an input device 403, and a communication device 404.
  • the input device 403 is a device for inputting various types of information including characters to the simulation device 7, and examples thereof include a keyboard, a mouse, a pointing device, and a touch panel, but are not limited thereto.
  • the input device 403 is used when receiving various operations by the user.
  • the communication device 404 performs communication with the real PLC system group 101X.
  • the communication board 31 is realized by the communication device 404.
  • the simulation unit 3 is realized by the processor 401 and the memory 402.
  • the processor 401 is also referred to as a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
  • the storage unit 2 is realized by the memory 402.
  • the memory 402 includes a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
  • the processor 401 implements the function of the simulation unit 3 by reading and executing a program stored in the memory 402. This program can be said to cause the computer to execute the procedure executed by the simulation unit 3. That is, the function of the simulation unit 3 is realized by software, firmware, or a combination of software and firmware. Software and firmware are described as programs and stored in the memory 402.
  • the software protocol stack 29 can also be realized by hardware 400 having the same configuration as the simulation unit 3.
  • connection unit 30A performs protocol conversion between the real environment 301 and the virtual environment 300, so that data is transmitted and received between the real PLC system 100 and the virtual PLC systems 200X and 200Y. can do. Thereby, it is possible to cause mutual interference between the real PLC 10 and the virtual PLCs 50A to 50C. Therefore, the operation performed between the real PLC 10 and the virtual PLCs 50A to 50C can be confirmed without constructing the entire FA system 150 in the real environment.
  • the operation of the FA system 150 using the virtual PLC system setting data 42X and 42Y and the actual PLC system setting data 41 can be confirmed without constructing the entire FA system 150 in the actual environment. Further, the operation of the FA system 150 can be confirmed using the calculation results obtained by the PLC programs 12, 52A, 52B, and 52C without constructing the entire FA system 150 in an actual environment.
  • the data analysis unit 33 distributes the data from the real PLC system group 101X to one of the virtual PLC systems 200X and 200Y based on the network number assigned to the data, a plurality of real PLC systems and a plurality of real PLC systems are arranged. Data relay can be performed with the virtual PLC system.
  • 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.

Landscapes

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

Abstract

シミュレーション装置(7)が、PLCの動作を模擬する仮想PLCと、他のPLCシステムとの間で通信を行うユニットであるネットワークユニットの動作を模擬する仮想ネットワークユニットと、を含んだ仮想PLCシステムを構築し、仮想PLCシステムの模擬動作にかかる演算を行うシミュレーション部(3)と、実機の実PLCと、他のPLCシステムとの間で通信を行うユニットである実機の実ネットワークユニットと、を含んだ第1の実PLCシステムに接続し、仮想PLCシステムと第1の実PLCシステムとの間でデータ中継を行う通信ボード(31)と、を備え、シミュレーション部(3)は、仮想PLCシステムに対応する第2の実PLCシステムを動作させる際に用いられるプログラムと同じプログラムに基づき、通信ボード(31)を介して第1の実PLCシステムから受信したデータを用いて、仮想PLCシステムの模擬動作を行う。

Description

シミュレーション装置およびシミュレーションプログラム
 本発明は、プログラマブルロジックコントローラのシミュレーションを実行するシミュレーション装置およびシミュレーションプログラムに関する。
 プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)と通信機能を有したネットワークユニットとを備えたPLCシステムが、複数接続されて構成された大規模システムがある。この大規模システムが構築される際には、PLCが実行するPLCプログラムの動作を確認するためにシミュレーションが実行される。
 特許文献1に記載のPLCテスト支援システムは、実機のPLCである実PLCの動作を模擬する仮想PLCに、PC(Personal Computer)との間で行われる通信データの送受信を模擬させることによって、通信データの内容をテストしている。
特開平9-114689号公報
 しかしながら、上記特許文献1の技術では、仮想ネットワークが無い状態でシーケンスプログラムであるPLCプログラムをテストする場合、接続先の他のネットワークの振る舞いを模擬するために、別途テスト用のPLCプログラムを作成するか、または元の実機用のPLCプログラムにテスト用の処理を書き加えたテスト用のPLCプログラムを作成する必要があった。
 本発明は、上記に鑑みてなされたものであって、テスト用のPLCプログラムを作成することなく、実コントローラシステムと仮想コントローラシステムとが互いにやりとりしながら行われる動作を確認することができるシミュレーション装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明のシミュレーション装置は、プログラマブルロジックコントローラの動作を模擬する仮想プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットであるネットワークユニットの動作を模擬する仮想ネットワークユニットと、を含んだ仮想コントローラシステムを構築し、仮想コントローラシステムの模擬動作にかかる演算を行うシミュレーション部を備える。また、本発明のシミュレーション装置は、実機の実プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットである実機の実ネットワークユニットと、を含んだ第1の実コントローラシステムに接続し、仮想コントローラシステムと第1の実コントローラシステムとの間でデータ中継を行う通信部と、を備える。シミュレーション部は、仮想コントローラシステムに対応する第2の実コントローラシステムを動作させる際に用いられるプログラムと同じプログラムに基づき、通信部を介して第1の実コントローラシステムから受信したデータを用いて、仮想コントローラシステムの模擬動作を行う。
 本発明にかかるシミュレーション装置は、テスト用のPLCプログラムを作成することなく、実コントローラシステムと仮想コントローラシステムとが互いにやりとりしながら行われる動作を確認することができるという効果を奏する。
実施の形態にかかるシミュレーション装置が適用されるFA(Factory Automation)システムの構成を示す図 実施の形態にかかるシミュレーション装置の構成を示す図 実施の形態にかかる仮想環境の構成を示す図 実施の形態にかかる仮想PLCシステムが備える接続部の第1の構成例を示す図 実施の形態にかかる仮想PLCシステムが備える接続部の第2の構成例を示す図 実施の形態にかかるシミュレーション装置によるPLCシステム間の第1のデータ中継処理手順を示すフローチャート 実施の形態にかかるシミュレーション装置によるPLCシステム間の第2のデータ中継処理手順を示すフローチャート 実施の形態にかかるシミュレーション装置を実現するハードウエア構成を示す図
 以下に、本発明の実施の形態にかかるシミュレーション装置およびシミュレーションプログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
 図1は、実施の形態にかかるシミュレーション装置が適用されるFAシステムの構成を示す図である。図2は、実施の形態にかかるシミュレーション装置の構成を示す図である。
 FAシステム150は、工場の生産工程の自動化を図るシステムであり、シミュレーション装置7と、実PLCシステム100-1,100-2,100-3とを有している。実PLCシステム100-1,100-2,100-3は、それぞれ実機のPLCである実PLCを備えている。実PLCシステム100-1,100-2,100-3で用いられる通信プロトコルは、それぞれ異なるものであってもよいし同じものであってもよい。以下では、実PLCシステム100-1,100-2,100-3を、実PLCシステム群101Xという場合がある。
 シミュレーション装置7は、PLCシステムを仮想的に動作させるための仮想PLCシステム200X,200Yを構築し、仮想PLCシステム200X,200Yをシミュレーションである模擬動作させるコンピュータである。コンピュータの例は、パーソナルコンピュータである。シミュレーション装置7は、ブリッジ32を介して実PLCシステム群101Xに接続される。シミュレーション装置7は、実PLCシステム群101Xとの間でデータを送受信しながら、仮想PLCシステム200X,200Yを模擬動作させる。これにより、シミュレーション装置7は、仮想PLCシステム200X,200Yおよび実PLCシステム群101Xを含んだFAシステム150の動作を検証する。
 ブリッジ32は、実PLCシステム群101Xと仮想PLCシステム200X,200Yとの間のデータを中継する。ブリッジ32は、シミュレーション部3が、ブリッジソフトウエアを実行することによって実現される。実PLCシステム群101Xとブリッジ32との間、仮想PLCシステム200X,200Yとブリッジ32との間では、データパケットを用いてデータ通信が行われる。
 シミュレーション装置7は、入力部1と、記憶部2と、シミュレーション部3と、通信部の一例である通信ボード31と、表示制御部6とを備えている。入力部1は、シミュレーションを実行する際に用いられるデータを外部装置から受付けて、記憶部2およびシミュレーション部3に入力する。
 記憶部2は、シミュレーションを実行する際に用いられるデータを記憶する。記憶部2が記憶するデータの例は、PLC設定データ、シミュレーションプログラム、PLCプログラム、および構成情報である。
 PLCプログラムは、PLCが動作する際に用いられるプログラムである。構成情報は、仮想PLCシステム200X,200Yの構成を示す情報である。構成情報には、仮想PLCシステム200X,200Yに配置される構成要素のリストと、構成要素間の接続関係と、各構成要素の機能とが含まれている。また、PLC設定データは、PLCが動作する際に用いられるデータである。
 シミュレーション部3は、シミュレーションプログラムおよび構成情報を用いて仮想PLCシステム200X,200Yをシミュレーション装置7内に構築する。シミュレーション部3は、構築した仮想PLCシステム200X,200Y、PLC設定データおよびPLCプログラムを用いて仮想PLCシステム200X,200Yを模擬動作させる。
 通信ボード31は、シミュレーション部3から送られてくるデータを、実PLCシステム群101Xに送信し、実PLCシステム群101Xから送られてくるデータを仮想PLCシステム200X,200Yに振り分ける。
 表示制御部6は、液晶モニタといった表示装置8に接続されており、シミュレーション部3によるシミュレーション結果を表示装置8に表示させる。シミュレーション結果は、仮想PLCシステム200X,200Yの模擬動作の結果である。
 FAシステム150では、実コントローラシステムである実PLCシステム100-1~100-3が実際の動作を実行し、仮想コントローラシステムである仮想PLCシステム200X,200Yが模擬動作を実行する。なお、実PLCシステム群101Xは、2つ以下の実PLCシステムであってもよいし、4つ以上の実PLCシステムであってもよい。また、シミュレーション装置7が構築する仮想PLCシステムは、3つ以上であってもよいし、1つであってもよい。
 図3は、実施の形態にかかる仮想環境の構成を示す図である。図3では、シミュレーション装置7が構築する仮想環境300、および実PLCシステムの一例である実PLCシステム100の機能ブロック図を示している。実PLCシステム100は、実PLCシステム100-1,100-2,100-3の何れかである。
 仮想環境300は、シミュレーション部3によって構築される仮想PLCシステム200X,200Yと、ブリッジ32とを含んでいる。仮想PLCシステム200X,200Yにおける処理は、シミュレーション部3が実行するものである。仮想PLCシステム200X,200Yは、ブリッジ32に接続され、ブリッジ32は、通信ボード31に接続されている。通信ボード31は、実PLCシステム100に接続されている。なお、ここでは、仮想環境300が実PLCシステム100に接続されている場合について説明するが、仮想環境300は、実PLCシステム群101Xに接続されている。
 仮想PLCシステム200X,200Yは、実際のPLCシステムを模擬する仮想的なPLCシステムであり、実際のPLCシステムと同様の動作を仮想的に実行する。仮想PLCシステム200Xは、仮想PLC50A,50Bと、仮想的なネットワークユニット(NWU:NetWork Unit)である仮想NWU60Aと、仮想PLCシステム設定データ42Xとを備えている。仮想PLCシステム200Xでは、ライン接続またはスター接続といった伝送路形式で、仮想PLC50A,50Bと、仮想NWU60Aとが接続されている。伝送路形式は、構成情報に含まれる、構成要素間の接続関係に対応している。
 また、仮想PLCシステム200Yは、仮想PLC50Cと、仮想NWU60Cと、仮想PLCシステム設定データ42Yとを備えている。仮想PLCシステム200Yでは、ライン接続またはスター接続といった伝送路形式で、仮想PLC50Cと、仮想NWU60Cとが接続されている。
 仮想システム設定データである仮想PLCシステム設定データ42Xは、仮想PLCシステム200Xに含まれる仮想PLC50A,50B、仮想NWU60Aといった各ユニットの配置情報と、仮想PLCシステム200X内におけるユニット間交信周期と、ネットワーク交信周期とを含んでいる。仮想PLCシステム200X内におけるユニット間交信周期は、仮想PLCシステム200X内のユニット間での交信周期である。ネットワーク交信周期は、FAシステム150内のPLCシステム間での交信周期である。
 仮想PLCシステム設定データ42Yは、仮想PLCシステム200Yに含まれる仮想PLC50C、仮想NWU60Cといった各ユニットの配置情報と、仮想PLCシステム200Y内におけるユニット間交信周期と、ネットワーク交信周期とを含んでいる。仮想PLCシステム200Y内におけるユニット間交信周期は、仮想PLCシステム200Y内のユニット間での交信周期である。
 実PLCシステム100は、実PLC10と、実NWU20と、実PLCシステム設定データ41とを備えている。実PLCシステム100は、複数のユニットが装着されるベースユニットを備えており、このベースユニットに、実PLC10と、実NWU20とが装着されている。実PLCシステム設定データ41は、ベースユニットに装着される何れかのユニット内に格納されている。実システム設定データである実PLCシステム設定データ41は、実PLCシステム100に含まれる実PLC10、実NWU20といった各ユニットの配置情報と、実PLCシステム100内におけるユニット間交信周期と、ネットワーク交信周期とを含んでいる。実PLCシステム100内におけるユニット間交信周期は、実PLCシステム100内のユニット間での交信周期である。
 なお、実PLCシステム100がマスタのPLCシステムであり、仮想PLCシステム200XがローカルのPLCシステムである場合、シミュレーション部3は、実PLCシステム100から仮想PLCシステム設定データ42Xを取得してもよい。マスタのPLCシステムは、ローカルのPLCシステムから種々のデータを収集するとともに、収集したデータに基づいて、ローカルのPLCシステムを制御するPLCシステムである。シミュレーション部3が、実PLCシステム100から仮想PLCシステム設定データ42Xを取得する場合、仮想PLCシステム200Xは、ブリッジ32および通信ボード31を介して、実PLCシステム100から仮想PLCシステム設定データ42Xを受信する。また、シミュレーション部3は、仮想PLCシステム200Xに、実PLCシステム設定データ41を取得させ、取得した実PLCシステム設定データ41に基づいて、仮想PLCシステム設定データ42Xを生成してもよい。
 仮想PLC50Aは、PLC設定データ51Aと、PLCプログラム52Aと、プログラム実行部53Aと、仮想時計54Aと、ユニット間交信部55Aと、ツール通信部56Aとを有している。
 仮想PLC50Bは、PLC設定データ51Bと、PLCプログラム52Bと、プログラム実行部53Bと、仮想時計54Bと、ユニット間交信部55Bと、ツール通信部56Bとを有している。
 仮想PLC50Cは、PLC設定データ51Cと、PLCプログラム52Cと、プログラム実行部53Cと、仮想時計54Cと、ユニット間交信部55Cと、ツール通信部56Cとを有している。
 実PLC10は、PLC設定データ11と、PLCプログラム12と、プログラム実行部13と、時計14と、ユニット間交信部15Cと、ツール通信部16とを有している。
 仮想NWU60Aは、外部装置との通信を行うユニットであり、NWU設定データ61と、ユニット間交信部62Aと、仮想時計63Aと、ネットワーク交信部64Aと、メモリ65Aとを備えている。仮想NWU60Cは、NWU設定データ61と、ユニット間交信部62Cと、仮想時計63Cと、ネットワーク交信部64Cと、メモリ65Cとを備えている。実NWU20は、NWU設定データ61と、ユニット間交信部22と、時計23と、ネットワーク交信部24と、メモリ25とを備えている。
 仮想PLC50A~50Cは、同様の構成要素を有しているので、ここでは仮想PLC50Aの構成要素について説明する。また、仮想NWU60A,60Cは、同様の構成要素を有しているので、ここでは仮想NWU60Aの構成要素について説明する。
 PLC設定データ51Aは、仮想PLC50Aが動作する際に用いられるデータである。PLC設定データ51Aは、仮想PLC50Aが動作する際の動作条件といった種々の情報を含んでいる。
 PLCプログラム52Aは、仮想PLC50Aが模擬動作する際に用いられるプログラムである。PLCプログラム52Aは、仮想PLC50Aに対応する実PLCを動作させる際に用いるPLCプログラムと同じプログラムである。PLCプログラム52Aの例は、ラダープログラムといったシーケンスプログラムである。
 プログラム実行部53Aは、PLCプログラム52Aを実行する。また、プログラム実行部53Aは、ツール通信部56Aから設定情報が送信されてきた場合には、設定情報を用いてPLCプログラム52Aを実行する。また、プログラム実行部53Aは、PLCプログラム52Aの実行状況に従って仮想時計54Aの時刻を進行させる。プログラム実行部53Aは、PLCプログラム52Aの実行を開始すると、実行済みの命令に対応する消費時間を仮想時計54Aに送信する。
 仮想時計54Aは、プログラム実行部53AによるPLCプログラム52Aの実行状況に基づいて時刻が進められる仮想的な時計である。仮想時計54Aでは、仮想PLC50Aがリセットされた時刻が0である。仮想時計54Aは、PLCプログラム52Aの実行が開始されると、PLCプログラム52A内の命令ごとに決められた消費時間を累算していく。これにより、仮想時計54Aは、実行済みの命令に対応する時刻データを保持する。
 ユニット間交信部55Aは、仮想PLCシステム設定データ42Xに含まれるユニット識別子に基づいて、仮想PLCシステム200X内の他のユニットとの間でデータ通信を実行する。この場合において、ユニット間交信部55Aは、仮想時計54Aと仮想PLCシステム設定データ42Xに含まれるユニット間交信周期とに従って、仮想PLCシステム200X内の他のユニットとの間でデータ通信を実行する。ここでのユニット間交信部55Aは、仮想PLC50Bとの間のデータ通信と、仮想NWU60Aとの間のデータ通信とを実行する。
 ユニット間交信部55Aは、PLCプログラム52Aを実行しているプログラム実行部53Aから、仮想PLC50Bへのデータ送信指示があると、仮想PLC50Aを送信元として、仮想PLC50Bのユニット間交信部55Bにデータを送信する。
 また、ユニット間交信部55Aは、PLCプログラム52Aを実行しているプログラム実行部53Aから、仮想NWU60Aへのデータ送信指示があると、仮想PLC50Aを送信元として、仮想NWU60Aのユニット間交信部62Aにデータを送信する。
 また、ユニット間交信部55Aは、PLCプログラム52Aを実行しているプログラム実行部53Aから、他のPLCシステムへのデータ送信指示があると、送信対象のデータにユニットの宛先と送信元の仮想PLC50Aのアドレスとを付与して仮想NWU60Aのユニット間交信部62Aに送信する。ユニットの宛先は、第1の識別情報であるネットワーク番号および第2の識別情報である局番で指定される。ネットワーク番号および局番については後述する。
 また、ユニット間交信部55Aは、ユニット間交信部55Bまたはユニット間交信部62Aから送られてくるデータを受信する。なお、ユニット間交信部55Aは、ユニット間交信部55Bまたはユニット間交信部62Aからデータを読み出してもよい。
 ユニット間交信部55Aは、PLC設定データ51Aと、仮想時計54Aから読み出した時刻データとに基づいて、仮想PLC50Bおよび仮想NWU60Aの間で時刻同期を実行する。これにより、仮想時計54Aと、仮想時計54Bと、仮想時計63Aとの間で、仮想時計のすり合せが行われる。
 ツール通信部56Aは、図示しないエンジニアリングツールとの間でデータ通信を実行する。エンジニアリングツールは、仮想PLC50Aを動作させる際の種々の設定を行うためのツールである。ユーザからの指示に従ってエンジニアリングツールが種々の設定を行うと、ツール通信部56Aは、エンジニアリングツールで設定された設定情報を受信する。設定情報の例は、PLC設定データ51Aへの設定情報およびPLCプログラム52Aへの設定情報である。
 NWU設定データ61は、仮想PLCシステム200X内の各ユニットのアドレスと、局番との対応関係を含んでいる。仮想PLCシステム200X内では、局番が指定されることによって、仮想PLCシステム200X内のユニットのアドレスを特定することができる。
 ユニット間交信部62Aは、ユニット間交信部55Aと同様の機能を有している。また、ユニット間交信部62Aは、実PLCシステム100または仮想PLCシステム200Yから仮想PLC50A,50Bへのデータがメモリ65Aに格納されている場合、このデータの宛先である仮想PLC50Aまたは仮想PLC50Bにデータを送信する。また、ユニット間交信部62Aは、仮想PLC50A,50Bから実PLCシステム100または仮想PLCシステム200Yを宛先としたデータを受信した場合には、このデータをメモリ65Aに格納する。また、ユニット間交信部62Aは、仮想NWU60Aを宛先としたデータがメモリ65Aに格納されている場合、このデータを仮想NWU60A内のメモリ65A以外のメモリに格納する。また、ユニット間交信部62Aは、仮想PLC50A,50Bから仮想NWU60Aを宛先としたデータを受信すると、受信したデータを仮想NWU60A内のメモリ65A以外のメモリに格納する。
 仮想時計63Aは、仮想時計54Bと同様の機能を有している。ネットワーク交信部64Aは、仮想PLCシステム設定データ42X内に含まれるネットワーク交信周期に従って、実PLCシステム100および仮想PLCシステム200Yとの間の交信を行う。ネットワーク交信部64Aは、実PLCシステム100または仮想PLCシステム200Yから送信されてきたデータをメモリ65Aに格納する。また、ネットワーク交信部64Aは、メモリ65Aに格納されている実PLCシステム100または仮想PLCシステム200Yへのデータをブリッジ32に送信する。
 メモリ65Aは、実PLCシステム100または仮想PLCシステム200Yから送られてきたデータを格納し、仮想PLC50A,50Bに送られてきたデータを格納する。メモリ65Aは、ブリッジ32からデータを受信し、ブリッジ32にデータを送信する。
 なお、仮想PLCシステム200X,200Y、実PLCシステム100は、仮想の電源ユニット、仮想の入力ユニット、または仮想の出力ユニットを備えていてもよい。電源ユニットは、PLCシステムに電源供給を行うユニットであり、入力ユニットは、生産装置または設備装置に取り付けられたスイッチまたはセンサの信号を受付けるユニットであり、出力ユニットは、アクチュエータといった外部装置に制御指示を出力するユニットである。
 また、仮想PLCシステム200Xは、1つの仮想PLCを有していてもよいし、3つ以上の仮想PLCを有していてもよい。また、仮想PLCシステム200Yは、複数の仮想PLCを有していてもよい。また、実PLCシステム100は、複数の実PLCを有していてもよい。
 ブリッジ32は、実PLCシステム100から送信されてきたデータを、データの宛先に基づいて、仮想PLCシステム200Xまたは仮想PLCシステム200Yに送信する。また、ブリッジ32は、仮想PLCシステム200Xから送信されてきたデータを、データの宛先に基づいて、通信ボード31または仮想PLCシステム200Yに送信する。また、ブリッジ32は、仮想PLCシステム200Yから送信されてきたデータを、データの宛先に基づいて、通信ボード31または仮想PLCシステム200Xに送信する。
 通信ボード31は、仮想環境300で用いられている仮想PLCネットワークの第1の通信プロトコルである通信プロトコルと、実PLCシステム100で用いられている実PLCネットワークの第2の通信プロトコルである通信プロトコルと、の間のプロトコル変換を行う。
 実PLC10は、仮想PLC50A~50Cと同様の構成要素を有している。仮想PLC50A~50Cの構成要素は、仮想的な構成要素であるのに対し、実PLC10の構成要素は、実際の装置としての構成要素である。したがって、仮想PLC50A~50Cが備える仮想時計54A~54Cは、仮想的な時計であるのに対し、実PLC10が備える時計14は、実際の時計である。
 また、実NWU20は、仮想NWU60A,60Cと同様の構成要素を有している。仮想NWU60A,60Cの構成要素は、仮想的な構成要素であるのに対し、実NWU20の構成要素は、実際の装置としての構成要素である。したがって、仮想NWU60A,60Cが備える仮想時計63A,63Cは、仮想的な時計であるのに対し、実NWU20が備える時計23は、実際の時計である。
 なお、仮想PLCシステム200X,200Yは、複数の仮想NWUを備えていてもよい。また、実PLCシステム100は、複数の実NWUを備えていてもよい。1つのPLCシステムが複数のNWUを備えることにより、PLCシステムは、設定の異なる複数のネットワークに接続することが可能となる。
 ここで、ブリッジ32および通信ボード31の構成について説明する。図4は、実施の形態にかかる仮想PLCシステムが備える接続部の第1の構成例を示す図である。
 接続部30Aは、実環境301と仮想環境300とを接続する。実環境301には、実PLCシステム100が配置され、仮想環境300には、仮想PLCシステム200X,200Yが配置されている。
 接続部30Aは、ソフトウエアまたはファームウエアで実現されるブリッジ32と、専用のハードウエアで実現される通信ボード31とを有している。ブリッジ32は、通信ボード31に接続され、通信ボード31は、実PLCシステム100に接続されている。
 通信ボード31は、実PLCシステム100から送られてくるデータに基づいて、実PLCシステム100で用いられている実PLCネットワークの通信プロトコルを特定する。また、通信ボード31は、仮想PLCシステム200X,200Yで用いられている仮想PLCネットワークの通信プロトコルを記憶している。
 通信ボード31は、実PLCシステム100と仮想PLCシステム200X,200Yとの間でデータを送受信する際に、データのプロトコル変換を行う。仮想PLCシステム200X,200Yで用いられる仮想PLCネットワークの通信プロトコルの一例は、TCP/IP(Transmission Control Protocol/Internet Protocol)である。
 通信ボード31は、ブリッジ32からデータが送られてきた場合には、送られてきたデータを、実PLCシステム100が用いる通信プロトコルに変換して実PLCシステム100に送信する。また、通信ボード31は、実PLCシステム100からデータが送られてきた場合には、送られてきたデータを、仮想PLCシステム200X,200Yが用いる通信プロトコルに変換してブリッジ32に送信する。
 ブリッジ32は、データ解析部33と、データ作成部34と、記憶部35とを備えている。記憶部35は、ネットワーク番号と仮想NWU60A,60Cのアドレスとの対応関係を記憶しておく。具体的には、記憶部35は、仮想PLCシステム200Xのネットワーク番号と仮想NWU60Aのアドレスとの対応関係と、仮想PLCシステム200Yのネットワーク番号と仮想NWU60Cのアドレスとの対応関係とを記憶しておく。
 ブリッジ32は、記憶部35が記憶している情報に基づいて、実PLCシステム100と、仮想PLCシステム200Xと、仮想PLCシステム200Yとの間のデータ中継を行う。
 データ解析部33は、仮想PLCシステム200Xから、実PLCシステム100または仮想PLCシステム200Yを宛先としたデータを受信する。また、データ解析部33は、仮想PLCシステム200Yから、実PLCシステム100または仮想PLCシステム200Xを宛先としたデータを受信する。また、データ解析部33は、実PLCシステム100から通信ボード31を介して、仮想PLCシステム200Xまたは仮想PLCシステム200Yを宛先としたデータを受信する。
 データ解析部33は、ネットワーク番号と仮想NWUのアドレスとの対応関係に基づいて、受信したデータを、実PLCシステム100、仮想PLCシステム200Xまたは仮想PLCシステム200Yの何れかに振り分ける。
 データ解析部33は、仮想PLCシステム200Yから受信したデータの宛先が仮想PLCシステム200X内のユニットである場合、受信したデータを仮想NWU60Aのメモリ65Aに書き込む。また、データ解析部33は、仮想PLCシステム200Xから受信したデータの宛先が仮想PLCシステム200Y内のユニットである場合、受信したデータを仮想NWU60Cのメモリ65Cに書き込む。
 また、データ解析部33は、仮想PLCシステム200X,200Yから受信したデータの宛先が実PLCシステム100内のユニットである場合、受信したデータをデータ作成部34に送信し、データ作成部34からフォーマット変換後のデータを受信する。データ解析部33は、データの宛先が実PLCシステム100内のユニットである場合、フォーマット変換後のデータを通信ボード31に送信する。
 また、データ解析部33は、実PLCシステム100から受信したデータの宛先が仮想PLCシステム200X,200Y内のユニットである場合、受信したデータをデータ作成部34に送信し、データ作成部34からフォーマット変換後のデータを受信する。以下、フォーマット変換前のデータと、フォーマット変換後のデータとをともにデータという場合がある。
 データ解析部33は、受信したデータの宛先が仮想PLCシステム200Xまたは仮想PLCシステム200Yである場合、宛先のネットワーク番号に対応する仮想NWUのアドレスを特定する。そして、データ解析部33は、特定した仮想NWUのアドレスに対してデータを送信する。具体的には、データ解析部33は、データの宛先が、仮想PLCシステム200X内のユニットである場合、受信したデータを仮想NWU60Aのメモリ65Aに書き込む。また、データ解析部33は、データの宛先が、仮想PLCシステム200Y内のユニットである場合、受信したデータを仮想NWU60Cのメモリ65Cに書き込む。
 これにより、データの宛先が仮想PLC50A,50Bまたは仮想NWU60Aである場合、データ解析部33は、データを仮想NWU60Aのメモリ65Aに送信する。また、データの宛先が仮想PLC50Cまたは仮想NWU60Cである場合、データ解析部33は、データを仮想NWU60Cのメモリ65Cに送信する。
 データ作成部34は、実PLCシステム100から受信したデータの宛先が仮想PLCシステム200Xまたは仮想PLCシステム200Y内のユニットである場合、受信したデータを、仮想PLCシステム200Xまたは仮想PLCシステム200Y内で処理可能なデータにフォーマット変換する。
 データ作成部34は、仮想PLCシステム200Xまたは仮想PLCシステム200Yから受信したデータの宛先が実PLCシステム100内のユニットである場合、受信したデータを、実PLCシステム100内で処理可能なデータにフォーマット変換する。
 図5は、実施の形態にかかる仮想PLCシステムが備える接続部の第2の構成例を示す図である。図5の各構成要素のうち図4に示す接続部30Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 接続部30Bは、実PLCシステム100および仮想PLCシステム200X,200Yに接続されている。接続部30Bは、通信ボード31の代わりに、通信部の一例であるソフトウエアプロトコルスタック29を有している。すなわち、接続部30Bは、ソフトウエアまたはファームウエアで実現されるブリッジ32と、ソフトウエアまたはファームウエアで実現されるソフトウエアプロトコルスタック29とを有している。ブリッジ32は、ソフトウエアプロトコルスタック29に接続され、ソフトウエアプロトコルスタック29は、実PLCシステム100に接続されている。
 ソフトウエアプロトコルスタック29は、通信ボード31と同様の機能を有している。通信ボード31は、ハードウエアでプロトコル変換を行うのに対し、ソフトウエアプロトコルスタック29は、ソフトウエアまたはファームウエアでプロトコル変換を行う。すなわち、ソフトウエアプロトコルスタック29は、ソフトウエアまたはファームウエアで、実PLCシステム100の通信プロトコルと、仮想PLCシステム200X,200Yの通信プロトコルとの間のプロトコル変換を行う。
 つぎに、仮想PLCシステム200X,200Yと実PLCシステム100との間のデータ中継処理手順について説明する。以下の図6および図7では、通信ボード31を用いて、実PLCシステム100と仮想PLCシステム200Xとの間でデータ中継が行われる場合について説明する。
 図6は、実施の形態にかかるシミュレーション装置によるPLCシステム間の第1のデータ中継処理手順を示すフローチャートである。図6では、宛先を仮想PLCシステム200Xの仮想PLC50Aとしたデータが、実PLCシステム100から送信されてきた場合のデータ中継処理について説明する。
 通信ボード31は、実PLCシステム100からネットワーク番号および局番が付与されたデータを受信する(ステップS10)。通信ボード31は、実PLCシステム100からのデータを、仮想PLCシステム200Xで用いられる通信プロトコルにプロトコル変換する(ステップS11)。通信ボード31は、プロトコル変換後のデータをデータ解析部33に送信する。
 データ解析部33は、実PLCシステム100からのデータをデータ作成部34に送信する。データ作成部34は、実PLCシステム100からのデータを仮想PLCシステム200X内で処理可能なデータにフォーマット変換してデータ解析部33に送信する。
 データ解析部33は、実PLCシステム100からのデータに付与されているネットワーク番号に基づいて、実PLCシステム100からのデータを格納する仮想NWUのアドレスを特定する。すなわち、データ解析部33は、ネットワーク番号に対応する仮想NWUのアドレスを特定する。ここでのデータ解析部33は、ネットワーク番号に対応する仮想NWUのアドレスとして仮想NWU60Aのアドレスを特定する。そして、データ解析部33は、ネットワーク番号に対応する仮想NWU60Aに、実PLCシステム100からのデータを送信する(ステップS12)。
 この後、データが書き込まれた仮想NWU60Aは、実PLCシステム100からのデータに付与されている局番に対応するユニットにデータを送信する(ステップS13)。具体的には、仮想NWU60Aがデータの宛先となっているユニットを特定する。すなわち、データ解析部33は、局番に対応するユニットのアドレスを特定する。ここでのデータ解析部33は、局番に対応するユニットのアドレスとして仮想PLC50Aのアドレスを特定する。そして、データ解析部33は、局番に対応する仮想PLC50Aに、実PLCシステム100からのデータを送信する。
 図7は、実施の形態にかかるシミュレーション装置によるPLCシステム間の第2のデータ中継処理手順を示すフローチャートである。図7では、宛先を実PLCシステム100の実PLC10としたデータが、仮想PLCシステム200Xから送信されてきた場合のデータ中継処理について説明する。
 データ解析部33は、仮想PLCシステム200Xの仮想NWU60Aから、ネットワーク番号および局番が付与されたデータを受信する(ステップS21)。ここでのネットワーク番号は、実PLCシステム100に対応するものであり、局番は、実PLC10に対応するものである。
 データ解析部33は、仮想NWU60Aからのデータをデータ作成部34に送信する。データ作成部34は、仮想NWU60Aからのデータを実PLCシステム100内で処理可能なデータにフォーマット変換してデータ解析部33に送信する。
 データ解析部33は、フォーマット変換されたデータを通信ボード31に送信する。通信ボード31は、データ解析部33からのデータを、実PLCシステム100で用いられる通信プロトコルにプロトコル変換する(ステップS22)。
 データ解析部33は、仮想PLCシステム200Xからのデータに付与されているネットワーク番号に基づいて、仮想PLCシステム200Xからのデータを格納する実NWUのアドレスを特定する。すなわち、データ解析部33は、ネットワーク番号に対応する実NWUのアドレスを特定する。ここでのデータ解析部33は、ネットワーク番号に対応する実NWUのアドレスとして実NWU20のアドレスを特定する。そして、データ解析部33は、ネットワーク番号に対応する実NWU20に、仮想PLCシステム200Xからのデータを送信する(ステップS23)。これにより、実PLCシステム100の実NWU20が、ネットワーク番号および局番が付与されたデータを受信し、実NWU20が、受信したデータを実PLC10に送信する。
 仮想PLCシステム200X,200Yの模擬動作の結果は、表示制御部6が表示装置8に表示させる。これにより、ユーザは、仮想PLCシステム200X,200Yの模擬動作の結果を確認することができる。また、実PLCシステム100の動作結果は、ユーザが実PLCシステム100を見ることによって確認することができる。
 FAシステム150が構築される場合、最終的には、シミュレーション装置7によって模擬動作が行われた実PLCシステムが作製され、この実PLCシステムが、実PLCシステム100-1~100-3に接続される。この場合において、シミュレーション装置7が無ければ、FAシステム150を構成する全ての実PLCシステムが完成するまで、FAシステム150の動作を確認できない。
 一方、本実施の形態では、シミュレーション装置7を用いて模擬動作を実行しているので、FAシステム150を構成する全ての実PLCシステムが完成する前に、FAシステム150の動作を確認できる。これにより、完成済みの実PLCシステム100-1~100-3に対しては、残りのPLCシステムが完成するまでの間に仮想PLCシステム200X,200Yとの間で互いにやりとりしながら行われる動作の確認を行うことができる。したがって、未完成の実PLCシステムがあってもFAシステム150の動作確認を開始できるので、最終的なFAシステム150の動作確認を早期に完了させることができる。また、シミュレーション装置7を用いてFAシステム150の動作確認を行うので、低コストでFAシステム150の動作確認を行うことができる。
 例えば、実PLCシステム100の一例である装置aが完成しており、実PLCシステム100の一例である装置bが完成していない状態であっても、本実施の形態では、シミュレーション装置7が装置bを模擬動作させることができるので、装置aと装置bとの間の動作確認のテストを行うことができる。これにより、テスト工期を短縮することができる。
 また、装置aをA県で作製し、装置bをB県で作製しており、装置a,bの据え付けをC県で行う場合に、C県での据え付け前に、装置aがA県にあり、装置bがB県にある状態で、装置aと装置bとの間の動作確認のテストを行うことができる。この場合、A県では、シミュレーション装置7が、装置bの動作を模擬して実際の装置aとの間の動作を確認し、B県では、シミュレーション装置7が、装置aの動作を模擬して実際の装置bとの間の動作を確認する。これにより、テスト工期を短縮することができる。
 また、シミュレーション装置7は、実際に発生すると装置a,bが壊れてしまうような異常ケースのテストを行うことができるので、テスト範囲を拡大することができる。
 なお、本実施の形態では、1つのコンピュータであるシミュレーション装置7が、複数の仮想PLCシステムである仮想PLCシステム200X,200Yを構築する場合について説明したが、複数のコンピュータで複数の仮想PLCシステムを構築してもよい。この場合、1つのコンピュータで1つの仮想PLCシステムを構築し、各コンピュータが接続される。接続されたコンピュータ間におけるデータの送受信および同期には、TCP/IPなどが用いられる。
 ここで、シミュレーション装置7のハードウエア構成について説明する。図8は、実施の形態にかかるシミュレーション装置を実現するハードウエア構成を示す図である。シミュレーション装置7は、プロセッサ401、メモリ402、入力装置403、および通信装置404を含むハードウエア400で実現される。
 入力装置403は、シミュレーション装置7に対して文字を含む各種情報を入力するための装置であり、キーボード、マウス、ポインティングデバイスおよびタッチパネルが例示されるが、これらに限定されるものではない。また、入力装置403は、ユーザによる各種操作を受け付ける場合に使用される。
 通信装置404は、実PLCシステム群101Xとの間で通信を実行する。通信ボード31は、通信装置404によって実現される。
 シミュレーション部3は、プロセッサ401およびメモリ402により実現される。プロセッサ401は、CPU(Central Processing Unit:中央処理装置)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)ともいう。記憶部2は、メモリ402により実現される。メモリ402は、RAM(Random Access Memory)、ROM(Read Only Memory)などを含んでいる。
 プロセッサ401は、メモリ402に記憶されたプログラムを読み出して実行することにより、シミュレーション部3の機能を実現する。このプログラムは、シミュレーション部3が実行する手順をコンピュータに実行させるものであるともいえる。すなわち、シミュレーション部3の機能は、ソフトウエア、ファームウエア、又はソフトウエアとファームウエアとの組合せにより実現される。ソフトウエア及びファームウエアはプログラムとして記述され、メモリ402に記憶される。
 なお、シミュレーション部3の機能について、一部を専用のハードウエアで実現し、一部をソフトウエアまたはファームウエアで実現するようにしてもよい。また、ソフトウエアプロトコルスタック29も、シミュレーション部3と同様の構成を有したハードウエア400で実現することができる。
 このように実施の形態によれば、接続部30Aが、実環境301と仮想環境300との間でプロトコル変換を行うので、実PLCシステム100と仮想PLCシステム200X,200Yとの間でデータを送受信することができる。これにより、実PLC10と仮想PLC50A~50Cとの間を相互干渉させることができる。したがって、FAシステム150の全体を実環境で構築することなく、実PLC10と仮想PLC50A~50Cとの間で行われる動作を確認することができる。
 また、FAシステム150の全体を実環境で構築することなく、仮想PLCシステム設定データ42X,42Y、および実PLCシステム設定データ41を用いたFAシステム150の動作を確認することができる。また、FAシステム150の全体を実環境で構築することなく、PLCプログラム12,52A,52B,52Cで得られる演算結果を用いてFAシステム150の動作を確認することができる。
 また、データ解析部33が、実PLCシステム群101Xからのデータを、データに付与されているネットワーク番号に基づいて、仮想PLCシステム200X,200Yの何れかに振り分けるので、複数の実PLCシステムと複数の仮想PLCシステムとの間でデータ中継を行うことができる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 入力部、2 記憶部、3 シミュレーション部、6 表示制御部、7 シミュレーション装置、8 表示装置、10 実PLC、11,51A,51B,51C PLC設定データ、12,52A,52B,52C PLCプログラム、13,53A,53B,53C プログラム実行部、14,23 時計、15C,22,55A,55B,55C,62A,62C ユニット間交信部、16,56A,56B,56C ツール通信部、20 実NWU、24,64A,64C ネットワーク交信部、25,65A,65C メモリ、29 ソフトウエアプロトコルスタック、30A,30B 接続部、31 通信ボード、32 ブリッジ、33 データ解析部、34 データ作成部、35 記憶部、41 実PLCシステム設定データ、42X,42Y 仮想PLCシステム設定データ、50A,50B,50C 仮想PLC、54A,54B,54C,63A,63C 仮想時計、60A,60C 仮想NWU、61 NWU設定データ、100,100-1,100-2,100-3 実PLCシステム、150 FAシステム、200X,200Y 仮想PLCシステム、300 仮想環境、301 実環境。

Claims (12)

  1.  プログラマブルロジックコントローラの動作を模擬する仮想プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットであるネットワークユニットの動作を模擬する仮想ネットワークユニットと、を含んだ仮想コントローラシステムを構築し、前記仮想コントローラシステムの模擬動作にかかる演算を行うシミュレーション部と、
     実機の実プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットである実機の実ネットワークユニットと、を含んだ第1の実コントローラシステムに接続し、前記仮想コントローラシステムと前記第1の実コントローラシステムとの間でデータ中継を行う通信部と、
     を備え、
     前記シミュレーション部は、前記仮想コントローラシステムに対応する第2の実コントローラシステムを動作させる際に用いられるプログラムと同じプログラムに基づき、前記通信部を介して前記第1の実コントローラシステムから受信したデータを用いて、前記仮想コントローラシステムの模擬動作を行う、
     ことを特徴とするシミュレーション装置。
  2.  前記シミュレーション部による模擬動作の結果を表示制御する表示制御部をさらに備える、
     ことを特徴とする請求項1に記載のシミュレーション装置。
  3.  前記仮想コントローラシステムは、第1の通信プロトコルで通信を実行し、
     前記第1の実コントローラシステムは、第2の通信プロトコルで通信を実行し、
     前記通信部は、前記第1の通信プロトコルと前記第2の通信プロトコルとの間のプロトコル変換を行うことによって、前記仮想コントローラシステムと前記第1の実コントローラシステムとの間でデータ中継を行う、
     ことを特徴とする請求項1または2に記載のシミュレーション装置。
  4.  前記仮想コントローラシステムは複数であり、
     前記シミュレーション部は、前記通信部を介して前記第1の実コントローラシステムから受信したデータを用いて、それぞれの前記仮想コントローラシステムの模擬動作を行う、
     ことを特徴とする請求項1から3の何れか1つに記載のシミュレーション装置。
  5.  前記第1の実コントローラシステムは複数であり、
     前記シミュレーション部は、前記通信部を介して複数の前記第1の実コントローラシステムから受信したデータを用いて、前記仮想コントローラシステムの模擬動作を行う、
     ことを特徴とする請求項1から4の何れか1つに記載のシミュレーション装置。
  6.  前記実プログラマブルロジックコントローラから送られてくるデータには、前記仮想コントローラシステムを識別する第1の識別情報が含まれ、
     前記通信部は、前記第1の識別情報に対応する前記仮想コントローラシステムに、前記実プログラマブルロジックコントローラから送られてきたデータを送信する、
     ことを特徴とする請求項4に記載のシミュレーション装置。
  7.  前記実プログラマブルロジックコントローラから送られてくるデータには、前記仮想コントローラシステム内で前記仮想プログラマブルロジックコントローラと前記仮想ネットワークユニットとを識別する第2の識別情報が含まれ、
     前記仮想ネットワークユニットは、前記第2の識別情報が前記仮想プログラマブルロジックコントローラに対応するものであれば、前記実プログラマブルロジックコントローラから送られてきたデータを前記仮想プログラマブルロジックコントローラに送信する、
     ことを特徴とする請求項1から3の何れか1つに記載のシミュレーション装置。
  8.  前記通信部は、
     前記第1の通信プロトコルと前記第2の通信プロトコルとの間のプロトコル変換を行う通信ボードとを備えている、
     ことを特徴とする請求項3に記載のシミュレーション装置。
  9.  前記通信部は、
     前記第1の通信プロトコルと前記第2の通信プロトコルとの間のプロトコル変換を行うソフトウエアプロトコルスタックとを備えている、
     ことを特徴とする請求項3に記載のシミュレーション装置。
  10.  前記シミュレーション部は、前記仮想コントローラシステム内の構成要素間の接続関係に基づいて、前記仮想コントローラシステムの模擬動作を行う、
     ことを特徴とする請求項1から9の何れか1つに記載のシミュレーション装置。
  11.  前記シミュレーション部は、前記第1の実コントローラシステムに設定されるデータである実システム設定データに基づいて、前記仮想コントローラシステムに設定されるデータである仮想システム設定データを生成する、
     ことを特徴とする請求項1から10の何れか1つに記載のシミュレーション装置。
  12.  プログラマブルロジックコントローラの動作を模擬する仮想プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットであるネットワークユニットの動作を模擬する仮想ネットワークユニットと、を含んだ仮想コントローラシステムを構築する構築ステップと、
     実機の実プログラマブルロジックコントローラと、他のコントローラシステムとの間で通信を行うユニットである実機の実ネットワークユニットと、を含んだ第1の実コントローラシステムに接続した通信部を介して前記仮想コントローラシステムと前記第1の実コントローラシステムとの間でデータ中継を行うとともに、前記仮想コントローラシステムに対応する第2の実コントローラシステムを動作させる際に用いられるプログラムと同じプログラムに基づき、前記通信部を介して前記第1の実コントローラシステムから受信したデータを用いて、前記仮想コントローラシステムの模擬動作にかかる演算を行うシミュレーションステップと、
     をコンピュータに実行させる、
     ことを特徴とするシミュレーションプログラム。
PCT/JP2018/019199 2018-05-17 2018-05-17 シミュレーション装置およびシミュレーションプログラム WO2019220605A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018561076A JP6570772B1 (ja) 2018-05-17 2018-05-17 シミュレーション装置およびシミュレーションプログラム
DE112018007477.3T DE112018007477T5 (de) 2018-05-17 2018-05-17 Simulationsvorrichtung und Simulationsprogramm
PCT/JP2018/019199 WO2019220605A1 (ja) 2018-05-17 2018-05-17 シミュレーション装置およびシミュレーションプログラム
CN201880093406.5A CN112119358A (zh) 2018-05-17 2018-05-17 仿真装置及仿真程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/019199 WO2019220605A1 (ja) 2018-05-17 2018-05-17 シミュレーション装置およびシミュレーションプログラム

Publications (1)

Publication Number Publication Date
WO2019220605A1 true WO2019220605A1 (ja) 2019-11-21

Family

ID=67844847

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/019199 WO2019220605A1 (ja) 2018-05-17 2018-05-17 シミュレーション装置およびシミュレーションプログラム

Country Status (4)

Country Link
JP (1) JP6570772B1 (ja)
CN (1) CN112119358A (ja)
DE (1) DE112018007477T5 (ja)
WO (1) WO2019220605A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7297178B1 (ja) 2022-08-01 2023-06-23 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7047965B1 (ja) * 2021-08-03 2022-04-05 株式会社安川電機 コントローラ、及びシステム構築方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173210A (ja) * 1997-08-29 1999-03-16 Omron Corp エミュレーション方法およびエミュレータ装置
JP2001209407A (ja) * 2000-01-25 2001-08-03 Omron Corp Plc用プログラムの実行シミュレーション装置
JP2004259112A (ja) * 2003-02-27 2004-09-16 Omron Corp 評価用システム及び評価方法並びにモーションコントローラ
JP2009294697A (ja) * 2008-06-02 2009-12-17 Nec Electronics Corp シミュレーション方法及びシミュレーションプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9392017B2 (en) * 2010-04-22 2016-07-12 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for inhibiting attacks on embedded devices
CN105393180B (zh) * 2014-04-30 2017-08-25 三菱电机株式会社 仿真系统、可编程控制器、仿真装置、工程设计工具
CN105406996B (zh) * 2015-10-30 2018-10-12 国家电网公司 一种智能变电站站控层mms通信仿真的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173210A (ja) * 1997-08-29 1999-03-16 Omron Corp エミュレーション方法およびエミュレータ装置
JP2001209407A (ja) * 2000-01-25 2001-08-03 Omron Corp Plc用プログラムの実行シミュレーション装置
JP2004259112A (ja) * 2003-02-27 2004-09-16 Omron Corp 評価用システム及び評価方法並びにモーションコントローラ
JP2009294697A (ja) * 2008-06-02 2009-12-17 Nec Electronics Corp シミュレーション方法及びシミュレーションプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7297178B1 (ja) 2022-08-01 2023-06-23 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法
WO2024028932A1 (ja) * 2022-08-01 2024-02-08 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法

Also Published As

Publication number Publication date
CN112119358A (zh) 2020-12-22
JP6570772B1 (ja) 2019-09-04
JPWO2019220605A1 (ja) 2020-05-28
DE112018007477T5 (de) 2021-01-21

Similar Documents

Publication Publication Date Title
EP2790101B1 (en) System and method for automated virtual commissioning of an industrial automation system
US20090013092A1 (en) Method for virtual COM port modbus gateway ethernet I/O
US8543370B2 (en) Multiple PLC simulation system
JP5240490B2 (ja) 操作訓練システムおよび操作訓練方法
JP6481267B2 (ja) プログラマブル表示器
JP6570772B1 (ja) シミュレーション装置およびシミュレーションプログラム
CN112034732B (zh) 一种半物理卫星仿真系统及仿真方法
US20140172402A1 (en) Simulation system, method for carrying out a simulation, guidance system, and computer program product
US11165745B2 (en) Control system, controller, and control method
KR101706029B1 (ko) 시스템 구축 지원 장치
JP2010157103A (ja) 検証システムおよび動作検証装置
JP2013122682A (ja) 監視システムのシミュレーション装置
JP2009020716A (ja) ツール装置及びメッセージ送信プログラムの作成方法
JP3946312B2 (ja) Pcのリモート支援システム及びその方法
JP4301976B2 (ja) プログラミングツール
JP2008519346A (ja) 相互シミュレーションの装置および方法
JP2010097554A (ja) データ模擬システム
JPH11153940A (ja) プラント運転訓練シミュレーションシステム
WO2020026906A1 (ja) サポート装置、設定方法、および設定プログラム
JPH11212608A (ja) 通信パラメータを含めたシステム構成の自動設定装置
JP5040246B2 (ja) プロトコル変換システム及びその制御方法
KR100395455B1 (ko) 교환기 프로그램 시뮬레이션 방법
JP2003140711A (ja) プロセス制御装置用シミュレータおよびそのプログラムとプログラム記録媒体
CN116981547A (zh) 机器人控制方法和机器人控制系统
JP2011123672A (ja) モジュール生成装置および検証システム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018561076

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 18918822

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18918822

Country of ref document: EP

Kind code of ref document: A1