IP Library › Granted Patent US 9,971,914
Granted Patent B2
US 9,971,914 · App. 14/303,251 · Granted May 15, 2018

Industrial simulation using redirected I/O module configurations

Inventors: Francisco P. Maturana (Lyndhurst, OH); Raymond J. Staron (Chagrin Falls, OH); Danny L. Carnahan (Hudson, OH); Kenwood H. Hall (Hudson, OH)
Assignee: Rockwell Automation Technologies, Inc.
G06G7/66G05B17/02G05B19/0423G05B2219/13174
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,971,914
App. No.
14/303,251
Granted
May 15, 2018
Kind
B2
Abstract

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.

Claims (43)

1. A non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a computing system comprising at least one processor to implement a development environment, wherein the development environment comprises:

a development interface component configured to receive input that facilitates creation of a simulation of an industrial process within the development environment;

a configuration retrieval component configured to identify I/O module configuration data defined in an industrial control program;

a connection pool component configured to select a generic I/O module profile corresponding to an I/O module type specified by the I/O module configuration data and to create a set of I/O connection definitions based on the generic I/O module profile and the I/O module configuration data, wherein the connection pool component selects the generic I/O module profile from among two or more generic I/O module profiles that describe generic characteristics of corresponding I/O module types;

an I/O kernel configured to exchange simulation data between the simulation and an I/O module instance defined on the industrial controller by the industrial control program based on the I/O connection definitions in accordance with a first timing defined by a simulation clock, wherein the industrial controller executes the modified industrial control program in accordance with a second timing defined by a controller clock to facilitate processing of input signals received from the simulation and controlling of output signals directed to the simulation system; and

a synchronization component configured to dynamically designate which of the simulation clock or the controller clock is to serve as a master clock for exchange of the simulation data between the simulation and the I/O module instance.

2. The non-transitory computer-readable medium of claim 1 , wherein the I/O module configuration data and the I/O module instance correspond to an I/O module defined in the industrial control program.

3. The non-transitory computer-readable medium of claim 2 , wherein the generic I/O module profile defines one or more of an I/O point count for the I/O module type, a communication characteristic of the I/O module type, a data processing function of the I/O module type, or a graphical representation of the I/O module.

4. The non-transitory computer-readable medium of claim 2 , wherein an I/O connection definition of the set of I/O connection definitions defines a communication path between the simulation and an I/O point of the I/O module instance.

5. The non-transitory computer-readable medium of claim 4 , wherein the I/O connection definition further defines at least one of a physical address of the I/O point, a data type associated with the I/O point, a scale factor configured for the I/O point, or an operating range of the I/O point.

6. The non-transitory computer-readable medium of claim 1 , wherein the development environment further comprises a directory service that stores a plurality of generic I/O module profiles including the generic I/O module profile.

7. The non-transitory computer-readable medium of claim 6 , wherein the connection pool component is further configured to retrieve the generic I/O module profile from the directory service based on the I/O module type, and modify the generic I/O module profile based on the I/O module configuration data to yield the set I/O connection definitions.

8. The non-transitory computer-readable medium of claim 4 , wherein the development interface component is further configured to display a representation of the one or more I/O points of the IO module instance based on the set of I/O connection definitions, and to selectively associate, based on mapping input, the I/O point with a simulation I/O point defined in the simulation to yield I/O point mapping data.

9. The non-transitory computer-readable medium of claim 8 , wherein the I/O kernel is further configured to exchange the simulation data with the I/O module instance of the industrial control program based on the I/O point mapping data.

10. The non-transitory computer-readable medium of claim 1 , wherein the development interface component, the configuration retrieval component, the connection pool component, and the I/O kernel are configured to reside on a common workstation with the industrial control program.

11. A simulation module, comprising:

a memory storing computer-executable instructions; and

a processor communicatively coupled to the memory that facilitates execution of the computer-executable instructions to:

execute a simulation of an industrial process;

read I/O module configuration data defined in an industrial control program;

determine an I/O module type defined by the I/O module configuration data;

retrieve a generic I/O module profile corresponding to the I/O module type from a stored set of generic I/O module profiles, wherein the stored set of generic I/O module profiles comprises two or more generic I/O module profiles;

modify the generic I/O module profile based on the I/O module configuration data resulting in a set of I/O connection definitions;

exchange, based on a first timing defined by a simulation clock, simulation data between the simulation and an I/O module instance of the industrial control program based on the set of I/O connection definitions, wherein the industrial controller executes the industrial control program in accordance with a second timing defined by a controller clock to process input signals received from the simulation and control output signals directed to the simulation; and

dynamically designate one of the simulation clock or the controller clock to act as a master clock for exchange of the simulation data between the simulation and the I/O module instance.

12. The simulation module of claim 11 , wherein the processor further facilitates the execution of the computer-executable instructions to exchange the simulation data with the industrial control program via a backplane of an industrial controller that executes the industrial control program.

13. The simulation module of claim 11 , wherein the generic I/O module profile defines at least one of an I/O point count of the I/O module type, a communication characteristic of the I/O module type, a data processing function of the I/O module type, or a graphical representation of the I/O module type.

14. The simulation module of claim 11 , wherein the I/O module instance corresponds to an I/O module defined in the industrial control program, and the I/O module configuration data represents configuration information for the I/O module.

15. The simulation module of claim 12 , wherein the processor further facilitates the execution of the computer-executable instructions to establish a connection between one or more I/O points of the I/O module instance and one or more simulation I/O points of the simulation based on connection information defined by the set of I/O connection definitions.

16. The simulation module of claim 15 , wherein the processor further facilitates the execution of the computer-executable instructions to:

display, via an interface, a representation of the one or more I/O points of the I/O module instance; and

receive, via the input, mapping information that links selected I/O points of the one or more I/O points with selected simulation I/O points of the one or more simulation I/O points.

17. The simulation module of claim 12 , wherein the processor further facilitates the execution of the computer-executable instructions to adjust a simulation clock of the simulation to converge with a controller clock of the industrial controller.

18. A method, comprising:

executing, by a system comprising a processor, a simulation of an industrial process;

retrieving, by the system, I/O module configuration data defined in an industrial control program;

retrieving, by the system, a generic I/O module profile corresponding to an I/O module type defined by the I/O module configuration data, wherein the retrieving the generic I/O module profile comprises selecting the generic I/O module profile from among two or more generic I/O module profiles that describe generic characteristics of corresponding I/O module types;

modifying, by the system, the generic I/O module profile based on the I/O module configuration data to yield a set of available I/O point definitions for an I/O module corresponding to the I/O module configuration data; and

communicatively, by the system, interfacing, by the system, a simulation I/O point of the simulation with an I/O point of an I/O module instance defined by the industrial control program and corresponding to the I/O module based on the set of available I/O point definitions;

exchanging, by the system via the interfacing and using a first timing defined by a simulation clock, simulation data between the simulation I/O point and the I/O point of the I/O module, wherein the industrial controller executes the industrial control program using a second timing defined by a controller clock to process input signals received from the simulation and to control output signals directed to the simulation; and

dynamically designating, by the system, one of the simulation clock or the controller clock to serve as a master clock for the exchanging.

19. The method of claim 18 , further comprising storing a library of generic I/O module profiles including the generic 110 module profile.

20. The method of claim 18 , further comprising converging a simulation clock of the simulation with a controller clock of an industrial controller that executes the industrial program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: MATURANA, FRANCISCO P.; STARON, RAYMOND J.; CARNAHAN, DANNY L.; HALL, KENWOOD H.
To: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
Reel/Frame 033092/0462 →
Continuity (3)
Continuation 13269191 · Oct 7, 2011
Provisional Application 61450058 · Mar 7, 2011
Related Publication 20140297244A1 · Oct 2, 2014