EP-4184257-B1 - REAL-TIME HIGH-SPEED CLOCK SIGNAL FOR INDUSTRIAL NETWORK EMULATION
Inventors
- BROOKS, BERNARD
- PRITCHARD, JOHN
- Laane, Antoon
Dates
- Publication Date
- 20260506
- Application Date
- 20221107
Claims (14)
- A system (602) for simulating industrial systems, comprising: a memory (620) that stores executable components; and a processor (618), operatively coupled to the memory, that executes the executable components, the executable components comprising: a simulation component (608) configured to execute a simulation (310) of an industrial system (210) under control of an industrial controller (118) based on a virtual model of the industrial system; and a communication control component (610) configured to receive streams of controller data (308, 408) from the industrial controller directed to control respective emulated devices (304, 406) of the virtual model and to send simulated device data (306, 408, 804) generated by the emulated devices to the industrial controller, wherein the communication control component is configured to designate a stream (308-1, 802) of the controller data directed to one of the emulated devices as a clock signal that triggers sending of the simulated device data to the industrial controller rather than using a clock of an operating system on which the system operates, and to trigger sending of the simulated device data from the emulated devices to the industrial controller based on an arrival time of the designated stream of the controller data in response to receiving the designated stream of the controller data.
- The system of claim 1, wherein the communication control component is configured to designate the stream of the controller data based on a determination that controller data packets associated with the stream of the controller data are sent by the industrial controller at a frequency that satisfies a defined criterion.
- The system of claim 2, wherein the defined criterion is a minimum frequency that emulates a device data packet interval supported by an industrial network protocol.
- The system of one of claims 1 to 3, further comprising a user interface component (604) configured to receive user input that selects the stream of the controller data to be designated as the clock signal.
- The system of one of claims 1 to 4, wherein the emulated devices comprise digital emulations of at least one of a photosensor, a proximity switch, a telemetry device, a push button, a safety input device, a variable frequency drive, a pneumatic or hydraulic actuator, a motor contactor, an industrial robot, or a visual indicator.
- The system of one of claim 1 to 5, wherein the emulated devices that generate the simulated device data that is sent in response to receiving the controller data packet include at least one emulated device that is different than the one of the emulated devices to which the stream of the controller data is directed.
- The system of one of claims 1 to 6, wherein packet intervals of the stream of the controller data define respective clock cycles, and for a clock cycle of the clock cycles, the communication control component sends the simulated device data prior to processing of the controller data packet by the simulation component.
- The system of one of claims 1 to 7, further comprising a user interface component (604) configured to render a graphical representation of the simulation on a client device based on the virtual model and values of the controller data and the simulated device data; or wherein the industrial controller is one of a hardware industrial controller or an emulated industrial controller.
- A method, comprising: executing (904), by a system (602) comprising a processor (618), a simulation (310, 404) of an industrial system (210) under control of an industrial controller (118) based on a digital model of the industrial system; receiving (906), by the system, streams of controller data (308, 408) from the industrial controller directed to control respective emulated devices (304, 406) of the digital model; and sending (910) simulated device data (306, 408, 804) generated by the emulated devices to the industrial controller, wherein a stream of the controller data directed to one of the emulated devices is designated (908) as a clock signal that triggers sending of the simulated device data to the industrial controller rather than using a clock of an operating system on which the system operates, and wherein, in response to receiving the designated stream of the controller data, sending simulated device data comprises triggering sending the simulated device data from the emulated devices to the industrial controller based on an arrival time of the designated stream of the controller data.
- The method of claim 9, wherein the sending comprises sending simulated device data generated by at least one emulated device that is different than the one of the emulated devices to which the stream of the controller data is directed.
- The method of claim 9 or 10, further comprising selecting, by the system, the stream of the controller data to be designated as the clock signal based on a determination that controller data packets associated with the stream of the controller data are sent by the industrial controller at a frequency that satisfies a defined criterion; and wherein the defined criterion is a minimum frequency that emulates a device data packet interval supported by an industrial network protocol; or further comprising selecting, by the system, the stream of the controller data to be designated as the clock signal based on receipt of user input that selects the stream of the controller data.
- The method of claims 9 to 11, wherein the emulated devices comprise digital emulations of at least one of a photosensor, a proximity switch, a telemetry device, a push button, a safety input device, a variable frequency drive, a pneumatic or hydraulic actuator, a motor contactor, an industrial robot, or a visual indicator; or wherein packet intervals of the stream of the controller data define respective clock cycles, and the executing of the simulation comprises, for a clock cycle of the respective clock cycles, sending the simulated device data prior to processing of the controller data packet.
- A non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a system (602) comprising a processor (618) to perform operations, the operations comprising: executing (904), by the system, a simulation (310, 404) of an industrial system (210) under control of an industrial controller (118) based on a digital model of the industrial system; receiving (906), by the system, streams of controller data (308, 408) from the industrial controller directed to control respective emulated devices (304, 406) of the digital model; and sending (910) simulated device data (306, 408, 804) generated by the emulated devices to the industrial controller, wherein a stream of the controller data directed to one of the emulated devices is designated (908) as a clock signal that triggers sending of the simulated device data to the industrial controller rather than using a clock of an operating system on which the system operates, and wherein, in response to receiving the designated stream of the controller data, sending simulated device data comprises triggering sending the simulated device data from the emulated devices to the industrial controller based on an arrival time of the designated stream of the controller data.
- The non-transitory computer-readable medium of claim 13, wherein the sending comprises sending simulated device data generated by at least one emulated device that is different than the one of the emulated devices to which the stream of the controller data is directed.
Description
BACKGROUND The subject matter disclosed herein relates generally to industrial automation systems, and, more specifically, to simulation and testing of industrial automation systems. EP 2 498 156 A2 relates to a simulation environment for running a process simulation used to validate an industrial control program. The simulation environment exposes the I/O module configurations defined in the control program and retrieves module configuration information therefrom. This I/O module configuration information is combined with generic, module-specific I/O module profiles to create a pool of available controller I/O points, which can be selectively associated with I/O points in the simulation to create an I/O point mapping. During control program validation, simulated I/O data is exchanged between the process simulation and the I/O module instances in the controller in accordance with the I/O point mapping. BRIEF DESCRIPTION It is the object of the present invention to provide an improved method and system for exchanging controller data and simulated device data between a hardware industrial controller and a virtualized industrial system that executes on a simulation platform. This object is solved by the subject matter of the independent claims. Preferred embodiments are defined by the dependent claims. The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments, a system for simulating industrial systems is provided, comprising a simulation component configured to execute a simulation of an industrial system under control of an industrial controller based on a virtual model of the industrial system; and a communication control component configured to receive controller data from the industrial controller directed to emulated devices of the virtual model and to send simulated device data generated by the emulated devices to the industrial controller, wherein the communication control component is configured to designate a subset of the controller data directed to one of the emulated devices as a clock signal, and to send the simulated device data to the industrial controller in response to receiving a controller data packet corresponding to the subset of the controller data. Also, one or more embodiments provide a method, comprising executing, by a system comprising a processor, a simulation of an industrial system under control of an industrial controller based on a digital model of the industrial system, wherein the executing comprises: receiving controller data from the industrial controller directed to emulated devices of the digital model; and in response to receiving a controller data packet corresponding to a subset of the controller data designated as a clock signal, sending simulated device data generated by the emulated devices to the industrial controller. Also, according to one or more embodiments, a non-transitory computer-readable medium is provided having stored thereon instructions that, in response to execution, cause a system to perform operations, the operations comprising executing a simulation of an industrial system under control of an industrial controller based on a virtual model of the industrial system, wherein the executing comprises: receiving controller data from the industrial controller directed to emulated devices of the digital model; and in response to receiving a controller data packet corresponding to a subset of the controller data designated as a clock signal, sending simulated device data generated by the emulated devices to the industrial controller. To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways which can be practiced, all of which are intended to be covered herein. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an example industrial environment.FIG. 2 is a generalized diagram illustrating data connectivity between an industrial controller and industrial devices associated with industrial equipment.FIG. 3 is a diagram illustrating virtual commissioning of a control program against a virtual system.FIG. 4 is a diagram illustrating an example industrial emulation architecture.FIG. 5 is an example data exchange timing diagram illustrating cyclical data exchanges between an industrial controller and an industrial device.FIG. 6 is a block diagram of an example industri