Systems and methods that employ an extensible architecture to define configuration functionality
First Claim
1. A system to facilitate dynamic configuration functionality additions and changes for a control module, comprising:
- a processor;
a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions configured to implement the dynamic configuration functionality system including;
an input component configured to receive specification information for a control module;
an assembler component configured to select one or more predefined components to be included in a module profile for the control module and to define how the one or more predefined components are to be assembled therein based on the specification information;
a behavior manager configured to define the behavior of at least one of the predefined components based on the specification information; and
a packaging component configured to automatically generate the module profile by assembling the one or more predefined components, the module profile comprising an object model for the control module that defines at least one configuration option for the control module and that facilitates selection of a setting for the at least one configuration option,wherein the module profile is configured to render the least one configuration option on a programming interface as a hierarchy of the at least one configuration option, and is configured to dynamically add or change module configuration functionality for the control module without requiring recompilation of core code associated with the module profile.
1 Assignment
0 Petitions
Accused Products
Abstract
The subject invention relates to systems and methods that generate modules profiles for industrial control modules (e.g., I/O, scanners, adapters . . . ). A module profile generally includes a set of components, interfaces and/or plug-ins that determine possible configurations for a module. Such entities are packaged in an XML based format to provide a dynamic module profile, wherein a definition type can be dynamically changed. Development and/or configuration of a module can be achieved through an industrial software development environment via a graphical hierarchical representation of configuration options defined in the module profile. In addition, the module profile provides for separately installable/release independent utilization via XML and COM based interfaces, wherein an end-user does not have to wait for a new software release in order to add a new module.
32 Citations
26 Claims
-
1. A system to facilitate dynamic configuration functionality additions and changes for a control module, comprising:
-
a processor; a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions configured to implement the dynamic configuration functionality system including; an input component configured to receive specification information for a control module; an assembler component configured to select one or more predefined components to be included in a module profile for the control module and to define how the one or more predefined components are to be assembled therein based on the specification information; a behavior manager configured to define the behavior of at least one of the predefined components based on the specification information; and a packaging component configured to automatically generate the module profile by assembling the one or more predefined components, the module profile comprising an object model for the control module that defines at least one configuration option for the control module and that facilitates selection of a setting for the at least one configuration option, wherein the module profile is configured to render the least one configuration option on a programming interface as a hierarchy of the at least one configuration option, and is configured to dynamically add or change module configuration functionality for the control module without requiring recompilation of core code associated with the module profile. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for dynamically configuring functionality associated with a control module, comprising:
employing a processor executing computer-executable instructions stored on a computer-readable storage medium to implement the following acts; receiving specification information relating to a control module to be configured for use within a control system; selecting at least one predefined component to be incorporated into an object model of the control module based on the specification information; assembling the at least one predefined component into the object model; defining a behavior of the at least one component based on the specification information; packaging the object model to automatically form a module profile that defines at least one configuration option for the control module, the module profile configured to display the least one configuration option defined by the module profile on a user interface as a tree structure of hierarchical elements of the at least one configuration option; employing the module profile to select a setting for the at least one configuration option and to load the setting on the control module for operation within the control system; and dynamically modifying a definition type of the module profile to modify a definition type of the control module through the tree structure without requiring recompilation of core code associated with the module profile. - View Dependent Claims (16, 17, 18)
-
19. A method for generating a module profile for a control module, comprising:
employing a processor executing computer-executable instructions stored on a computer-readable storage medium to implement the following acts; receiving specification information relating to a control module to be configured for use within a control system; selecting at least one component, at least one interface, or a combination thereof, from a set of standard components and interfaces; selecting one or more plug-ins that extend functionality defined by the at least one component or interface; assembling the at least one selected component, the at least one interface, or the combination thereof, and plug-in into an object model of the control module bases on the specification information; defining a behavior of the object model based on the specification information; packaging the object model to automatically generate a module profile for the control module that defines at least one configuration parameter for the control module and that is configured to receive input selecting a setting for the at least one configuration parameter and to load the setting on the control module for operation within the control system, the module profile configured to display the at least one configuration parameter defined by the module profile on a programming interface as a tree structure of hierarchical elements of the at least one configuration parameter; and dynamically modifying a definition type of the module profile to modify a definition type of the control module through the tree structure without requiring recompilation of core code associated with the module profile. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
26. A system having a processor that facilitates dynamic configuration additions or changes for a control module, comprising:
-
a processor; a computer-readable storage medium operationally coupled to the processor and storing computer-executable instructions, the computer-executable instructions, when executed by the processor, implement components comprising; means for defining a set of configuration options for a control module as a dynamically modifiable package based on received specification information relating to the control module; means for acquiring at least one of a component, an interface, an extension, or a plug-in in accordance with the set of configuration options; means for assembling the at least one of the component, the interface, the extension, or the plug-in to automatically generate a module profile representing the control module, the module profile comprising an object model for the control module that defines the set of configuration options for the control module and that facilitates selection of a setting for the set of configuration options wherein a behavior of the object model is defined based on the specification information; means for employing the module profile to display the set of configuration options in a selectable hierarchy of elements; and means for interacting with the selectable hierarchy of elements to select values for the set of configuration options and to dynamically configure the control module in accordance with the values, the dynamic configuring comprising dynamically modifying a definition type of the module profile to modify a definition type of the control module without requiring recompilation of core code associated with the module profile.
-
Specification