The subject matter disclosed herein relates to control system assets, and more particularly to systems and methods to persist, read and save edited power plant assets to a federated database using web services.
A power plant comprises of different types of systems and equipment (components). An end user, such as a plant engineer identifies and each component and represents them as an asset in a database. The end user then identifies the logical relationship that exists between the various components in a plant. These relationships are logically configured to represent overall power plant and are stored in the database. Currently, power plants and assets are described and stored in a database known as the Federated Model (FM). The structure stored in the FM and representing the power plant and its assets is known as the Plant Informational Model (PIM). Currently, there is no straight forward way to save or read the configured power plant asset information to or from the federated data source such as the FM. If there are any changes to the PIM or any particular asset, a user must configure the entire PIM as well as the information related to each and every asset about the plant. In addition, the logical relationship between assets must be established each time there is a change.
According to one aspect of the invention, a control system asset management method is described. The method includes calling a web service for at least one of persisting, reading, and saving an edited control system asset, receiving a data structure associated with the control system asset and control system asset information, in response to receiving the data structure, generating a message verifying receipt of the data structure and making a call to a database for at least one of persisting, reading and saving an edited control system asset, wherein the database is configured to store the data structure and relationships of the data structure to a plurality of data structures in the control system.
According to another aspect of the invention, a computer program product for managing control system assets is described. The computer program product includes a non-transitory computer readable medium storing instructions for causing a computer to implement a method. The method includes calling a web service for at least one of persisting, reading, and saving an edited control system asset, receiving a data structure associated with the control system asset and control system asset information, in response to receiving the data structure, generating a message verifying receipt of the data structure and making a call to a database for at least one of persisting, reading and saving an edited control system asset, wherein the database is configured to store the data structure and relationships of the data structure to a plurality of data structures in the control system.
According to yet another aspect of the invention, a control system asset management server is described. The server includes a processor coupled to a database and configured to call a web service for at least one of persisting, reading, and saving an edited control system asset, receive a data structure associated with the control system asset and control system asset information, in response to receiving the data structure, generate a message verifying receipt of the data structure and make a call to the database for at least one of persisting, reading and saving an edited control system asset, wherein the database is configured to store the data structure and relationships of the data structure to a plurality of data structures in the control system.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.
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 detailed description explains embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
In exemplary embodiments, the system 100 implements the processes 110, 120 to manage power plant assets including persisting, reading and saving edited power plant assets. The processes 110, 120 include instructions for a method of persisting or saving the control system assets information to the database 125 implementing a web service. The processes 110, 120 also include instructions for a method of reading the persisted power plant asset information from the database 125 implementing a web service. The processes 110, 120 further include instructions for a method of saving the edited power plant asset information to the database 125 implementing a web service. For example, the user can access the process 110 as an interface in order to make changes to current assets, read assets, edit and save any current or retrieved assets. In addition, the process 120 can be implemented to enable to user to retrieve the assets stored in the database 125, and save and newly configured or edited assets back to the database 125 for future retrieval. As such, the processes 110, 120 provide a seamless and transparent web service for accessing the database 125.
In exemplary embodiments, any suitable computing device can be implemented for the client 105 and the server 115 as now described.
In exemplary embodiments, in terms of hardware architecture, as shown in
The processor 205 is a hardware device for executing software, particularly that stored in memory 210. The processor 205 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computer 201, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions.
The memory 210 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disc read only memory (CD-ROM), disk, diskette, cartridge, cassette or the like, etc.). Moreover, the memory 210 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 210 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 205.
The software in memory 210 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The power plant asset management methods described herein may be in the form of a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, then the program needs to be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory 210, so as to operate properly in connection with the OS 211. Furthermore, the power plant asset management methods can be written as an object oriented programming language, which has classes of data and methods, or a procedure programming language, which has routines, subroutines, and/or functions.
In exemplary embodiments, a conventional keyboard 250 and mouse 255 can be coupled to the input/output controller 235. Other output devices such as the I/O devices 240, 245 may include input devices, for example but not limited to a printer, a scanner, microphone, and the like. Finally, the I/O devices 240, 245 may further include devices that communicate both inputs and outputs, for instance but not limited to, a network interface card (NIC) or modulator/demodulator (for accessing other files, devices, systems, or a network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, and the like. The system 200 can further include a display controller 225 coupled to a display 230. In exemplary embodiments, the system 200 can further include a network interface 260 for coupling to a network 265. The network 265 can be an IP-based network for communication between the computer 201 and any external server, client and the like via a broadband connection. The network 265 transmits and receives data between the computer 201 and external systems. In exemplary embodiments, network 265 can be a managed IP network administered by a service provider. The network 265 may be implemented in a wireless fashion, e.g., using wireless protocols and technologies, such as WiFi, WiMax, etc. The network 265 can also be a packet-switched network such as a local area network, wide area network, metropolitan area network, Internet network, or other similar type of network environment. The network 265 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN) a personal area network (PAN), a virtual private network (VPN), intranet or other suitable network system and includes equipment for receiving and transmitting signals.
If the computer 201 is a PC, workstation, intelligent device or the like, the software in the memory 210 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of essential software routines that initialize and test hardware at startup, start the OS 211, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the computer 201 is activated.
When the computer 201 is in operation, the processor 205 is configured to execute software stored within the memory 210, to communicate data to and from the memory 210, and to generally control operations of the computer 201 pursuant to the software. The power plant asset management methods described herein and the OS 211, in whole or in part, but typically the latter, are read by the processor 205, perhaps buffered within the processor 205, and then executed.
When the systems and methods described herein are implemented in software, as is shown in
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In exemplary embodiments, where the power plant asset management methods are implemented in hardware, the power plant asset management methods described herein can implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
As described herein, the system 100 can also be implemented to read persisted power plant asset information from the database 125.
As described herein, the system 100 can be further implemented to enable a user to perform various edit operations on the existing the asset configuration that was earlier retrieved from the database 125. The APAL performs corresponding operations based on type of edit that have been performed on the configuration. In exemplary embodiments, once the user decides to persist any of the changes to the database 125, the APAL verifies if any edit requests have been made through a service oriented architecture platform (SOAP). If one or more edit request have been received from SOAP, the web service internally formulates any or all of the following service calls: an update call if any of the asset parameters have been updated; a delete call in case an existing asset have been deleted; a create call and a create Relationship call in case a new asset have been created; and a combination of delete and create relationship if an asset has been moved from one parent to other The service then sends the response back to the client 105 when the update operation completes with success or failure.
It will be appreciated that in other exemplary embodiments, the system 100 can implement simple or complex query mechanisms to perform operations to and from the database 125. The system 100 can implement any of the operations to and from the database 124 with any generic web service. In addition, the system 100 could also implement direct application program interface (API) or function calls from the client 105 to perform similar operations to and from the database 125. The system 100 could also support a web application that allows the user to interact with the database 125 and perform the necessary operations.
Technical effects include but are not limited to the ability of any plant engineer to develop tools to create/save/update power plant assets by using the web-service infrastructure. Any web service client can access this asset information from the APAL high availability server 115 to analyze the assets and its status. Assets can be monitored for its health and can be disconnected (e.g., in the case of malfunction) at any time by the client 105 that connects to the web service that maintains the assets. The system 100 allows the database and PIM to interact with each other seamlessly. The power plant operator can view the latest status of the plant assets at any point of time. The system 100 provides a single unique platform for configuring any power plant with all the possible assets. Any different or new kinds of assets can be accessed or monitored by using the service. Any third party application can be developed anywhere in the world against the web service to manage their power plant assets. The system 100 provides a generic web service that caters to any web applications or desktop client tools to manage the assets related to the power plant. In addition, the system 100 provides a web service to check the health of the asset and disconnect the asset in case the asset is malfunctioning. The complete plant asset configuration can be saved in the way it is configured using the APAL for the future retrieval purpose. The configuration can be retrieved with the same parent child relationship as it was persisted using the APIs provided. The edited plant configuration can also be saved or updated to the same database. The database structure is generic enough that it can be accessed from anywhere by connecting through web client. All the database contents are available through high performance webserver so that the configuration can be access by any web device. Sites spread across various geographical location can share the plant configuration that have been persisted into the database.
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.