The subject matter disclosed herein relates to control systems.
Most systems can be thought of as a collection of numerous subsystems that may be inter-dependent and interactive. For example, a combined cycle power plant can be thought of as a system made up of inter-dependent and interactive subsystems including a gas turbine and a steam turbine. Previously, the control of the system for purposes of maintenance and performance has involved independent and customized control of each of the subsystems that make up the system.
BRIEF DESCRIPTION OF THE INVENTION
According to one aspect of the invention, a system includes a plurality of subsystems, at least one of the plurality of subsystems having an output that depends on at least one other of the plurality of subsystems; a system data model configured to maintain data representing characteristics and relationships of the plurality of subsystems; an operational model configured to maintain parameter values of parameters collected from within or outside the system; a set of service oriented architecture (SOA) interfaces configured to provide access to the system data model and the operational model; and a control application configured to control any one of the plurality of subsystems, the control application requesting and receiving a part of the data relating to the one of the plurality of subsystems from the system data model and a set of the parameter values from the operational model through the set of SOA interfaces and outputting one or more commands to the one of the plurality of subsystems.
According to another aspect of the invention, a method of controlling a subsystem of a system with a plurality of controllers communicating within a service oriented architecture (SOA) includes receiving data representing a relationship between the subsystem and other subsystems of the system at each of the plurality of controllers through a set of SOA interfaces; receiving parameter values of the subsystem and the other subsystems, obtained by at least one measurement device, each of the plurality of controllers receiving one or more of the parameter values through the set of SOA interfaces based on a respective request submitted through the set of SOA interfaces; and each of the plurality of controllers processing the data and the requested parameter values to determine one or more control commands for the subsystem.
According to yet another aspect of the invention, a method of controlling a plurality of subsystems of a system with a controller communicating within a service oriented architecture (SOA) includes receiving, at the controller, data representing relationships between each of the plurality of subsystems with others of the plurality of subsystems through SOA interfaces; receiving, at the controller, parameter values related to each of the plurality of subsystems based on requests by the controller through the SOA interfaces; and the controller processing the data and the parameter values to determine one or more control commands for each of the plurality of subsystems.
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The system data model 240 may be implemented as data objects that provide a hierarchical representation of the characteristics and relationships of the subsystems 230. The applications 270 can request and receive meta-data relating to the subsystems 230 from the system data model 240. The operational model 250 includes current and historical values for parameters collected from within or outside the system. The parameter values may be collected via sensors, measurement devices, and the like. The one or more memory devices and the one or more processors that may be needed to implement the system data model 240 and the operational model 250 are not detailed but should be understood as being contemplated in the system. The system data model 240 and operational model 250 may be part of the controller 280. Additionally, the one or more memory devices and the one or more processors that are part of each of the applications 270 are not detailed herein but should be understood as being contemplated in the system.
The controller 280 includes a processor 290 that acts as the top-level execution engine that activates a given one of the applications 270. Based on the processor 290, each of the applications 270 may operate periodically, with each application 270 operating at a different interval, as needed. The processor 290 or an additional processor may act as a master scheduler that is programmed to determine timing, order of execution, and allocation of resources associated with the applications 270.
For example, the system 200 may be a combined cycle power plant with subsystems 230 that include a gas turbine and a steam turbine. In a combined cycle power plant, the gas turbine output affects the steam turbine operation. Thus, the system data model 240 would reflect that interrelationship while the operational model 250 would provide relevant values measured by sensors within the power plant, for example. With the information provided by the system data model 240 and the operational model 250 and accessed via the SOA interfaces, any one of the applications 270 could operate on the information to provide control commands to the gas turbine, for example.
Each application 270 may be written to affect a different aspect of the subsystems 230. For example, in the combined cycle power plant example introduced above, application 270a may monitor temperature measurements of the subsystems 230 and control one or more of the subsystems based on the measurements provided by the operational model 250 via the SOA interfaces 260. Application 270b may monitor output of the gas turbine and control the gas turbine based on the output information provided by the operational model 250 and also on the relational information (e.g., relation between gas turbine output and steam turbine output) provided by the system data model 240 via the SOA interfaces 260.
Application 270c may monitor the steam conditions of two heat recovery steam generators (HRSGs) and control the blending of one HRSG's steam output into that of the other HRSG which is already feeding a steam turbine, based on the measurements provided by the operational model 250 via the SOA interfaces 260. Application 270d may monitor the inlet and outlet exhaust gas of an HRSG to control a Selective Catalytic Reduction device, to meet emissions requirements provided by the system data model 240 via the SOA interfaces 260.
The addition of a subsystem 230 would not necessarily require the addition of an application 270, because, unlike prior systems, each subsystem 230 does not require a customized controller but, instead, may be operated on by any one of the applications 270 once the characteristic information and parameter values of the newly added subsystem 230 are made available through the system data model 240 and the operational model 250. In fact, any one of the applications 270 may be supplied by a third party with no particular information regarding the system. Further, the addition of an application 270 would not necessitate any changes in the system data model 240, operational model 250, or any one of the subsystems 230. Accordingly, the SOA architecture and interfaces 260 allow the implementation of a modular control system.
When a new subsystem 230 is added to the system, relational data and parameter values for that subsystem 230 are added to the system data model 240 and operational model 250, as well. Thus, an existing application 270 can control the new subsystem 230 without any customization by requesting the relevant data for the new subsystem 230 through the SOA interface 260.
When a new application 270 is added, the new application 270 can request the information that it needs from the system data model 240 and the operational model 250 through the SOA interface 260. Thus, different controls can be applied to the existing subsystems 230.
It will be recognized that the various components and technologies may provide certain necessary or beneficial functionality or features. Accordingly, these functions and features as may be needed in support of the appended claims and variations therefore, are recognized as being inherently included as a part of the teachings herein and a part of the invention disclosed.
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.