Systems and methods for generating control logic
AssigneeGeneral Electric Company
InventorTodd Allen Keitel
Life of this patent
Estimating the term…
Abstract
Disclosed herein, in various embodiments, are systems and methods for creating, implementing, communicating, and/or analyzing control logic governing operation of a system under control, where the control logic is defined in attributed data, which specifies control operators along with their input and output variables for the various control nodes. In example embodiments, an attributed-data generator converts a control-logic design specification into attributed data based in part on control-operator mappings provided by an attributed-data dictionary.
Claims19
A system comprising:
- a control-logic development subsystem comprising:
- one or more attributed-data dictionaries associated with a plurality of control-logic design tools, the one or more attributed-data dictionaries being stored in computer memory and specifying mappings of a plurality of design-tool-specific representations of a plurality of control operators to design-tool-agnostic attributed-data representations of the respective control operators, the one or more attributed-data dictionaries further specifying an attributed-data template comprising a data sample class structure and an attributes class structure, the data sample class structure comprising an output variable for storing output values generated by a control operator from values of one or more input variables, and the attributes class structure comprising metadata variables comprising identifiers for the output variable, the control operator, and the one or more input variables;
- and
- an attributed-data generator implemented by one or more processors and configured to convert a specification of a control-logic design comprising a plurality of control operators and associated inputs and outputs, received from any of the control logic design tools, into attributed data by creating, for each of the control operators, an attributed-data item based on the attributed-data template and the control-operator mappings associated with the control design tool;
- and
- a control-logic-agnostic virtual control engine associated with a controlled system, the virtual control engine comprising one or more hardware processors and being configured to generate and instantiate executable control logic from the attributed data in conjunction with a library of program code for individual control operators, and to execute the generated control logic to control the controlled system.
A method comprising:
- using one or more hardware processors, performing operations comprising:
- parsing a specification of a control-logic design to automatically identify control operators and determine a control flow;
- and
- automatically generating attributed data for the control-logic design by
- creating based on an attributed-data template, for each of the identified control operators, a respective attributed data item in accordance with the attributed-data template, the attributed data template comprising an output variable for storing output values generated by the control operator from values of one or more input variables, the attributed data template further comprising a plurality of metadata variables comprising identifiers of the output variable, the control operator, and the one or more input variables;
- and
- assigning, in the attributed data items values to the identifiers of the control operators and the identifiers of the input and output variables based at least in part on the determined control flow;
- and
- providing the attributed data to a control-logic agnostic virtual control engine associated with a controlled system, the virtual control engine comprising one or more hardware processors and being configured to generate and instantiate executable control logic from the attributed data in conjunction with a library of program code for individual control operators, and to execute the generated control logic to control the controlled system.
A non-transitory machine-readable storage medium comprising instructions, which, when implemented by one or more machines, cause the one or more machines to perform operations, the operations comprising:
- parsing a specification of a control-logic design to automatically identify control operators and determine a control flow;
- generating attributed data for the control-logic design by
- creating based on an attributed-data template, for each of the identified control operators, a respective attributed data item in accordance with the attributed-data template, the attributed data template comprising an output variable for storing output values generated by the control operator from values of one or more input variables, the attributed data template further comprising a plurality of metadata variables comprising identifiers for the output variable, the control operator, and the one or more input variables;
- and
- assigning values to the identifiers of the control operators and the associated input and output variables based at least in part on the determined control flow;
- and
- providing the attributed data to a control-logic agnostic virtual control engine associated with a controlled system, the virtual control engine comprising one or more hardware processors and being configured to generate and instantiate executable control logic from the attributed data in conjunction with a library of program code for individual control operators, and to execute the generated control logic to control the controlled system.
Dependencies are inferred from the claim text.