This disclosure is related to the field of factory automation, and in particular, to the updating of control and visualization configurations in an industrial automation environment.
Industrial processes, such as petroleum refining, water treatment, materials manufacturing, and the like, are increasingly automated and often require constant monitoring of one or more process variables to ensure the process is performing as expected or desired. Often these process variables are monitored from a location remote from the machines controlling the process. One computer may be used as a human-machine interface (HMI) monitoring and controlling the process, while a different computer is used to directly control the industrial machines. These separate computers may be connected through a local area network (LAN) or other network configuration.
When changes to the machinery occur, models of the machinery in both the HMI and the control computers must be updated to take advantage of the new attribute of the machine. If the two computers are not updated in a manner consistent with each other, they will not be able to interface correctly with each other, and the automation system will not function properly. Current automation systems require one or more users to update separate machine models on the HMI computer and the control computer. If these updates are not equivalent, the two computers will not be able to operate correctly together. In some environments, two different users are responsible for the separate computers, further increasing the likelihood of mismatched models.
In this regard, systems and methods for updating control and visualization configurations in an industrial automation environment are provided. An exemplary embodiment of such a method comprises; receiving a single software object containing machine configuration information related to a new machine attribute, updating a visualization configuration with a new visualization attribute corresponding to the new machine attribute, and updating a control configuration with a new control attribute corresponding to the new machine attribute.
An exemplary embodiment of a system comprises a storage system containing software, and a processing system coupled to the storage system. The processing system is instructed by the software to receive a single software object containing machine configuration information related to a new machine attribute, update a visualization configuration with a new visualization attribute corresponding to the new machine attribute, and update a control configuration with a new control attribute corresponding to the new machine attribute.
An exemplary embodiment of a computer-readable medium of instructions for updating control and visualization configurations in an industrial automation environment comprises receiving a single software object containing machine configuration information related to a new machine attribute, updating a visualization configuration with a new visualization attribute corresponding to the new machine attribute, and updating a control configuration with a new control attribute corresponding to the new machine attribute.
Other systems, methods, features and/or advantages of this disclosure will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and/or advantages be included within this description and be within the scope of the present disclosure
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.
The PLC 304 contains control configuration data related to the pump 306 which it controls. This configuration data may take a wide variety of formats all within the scope of the present invention. Typically, this configuration data is used to configure the PLC 304 with respect to what control parameters it sends to the pump 306, and to what monitoring parameters it receives from the pump 306. Likewise, the HMI contains visualization configuration data related to the pump 306. The HMI is configured to display monitoring parameters from the pump 306, and to provide a user interface allowing a user to control the pump 306 through the display 300 or other input device to the HMI 302.
If a new parameter, such as temperature, is available at the pump, the control configuration data and the visualization configuration data must be updated to take advantage of this new parameter. The visualization configuration data may take the form of a software object representing the pump 306. This software object would control how the visualization system graphically represents the pump 306 and the data received from the pump 306. The software object also describes how a user may interface with the HMI 302 in order to control the pump 306. For example, a user may be allowed to set the speed of the pump through the HMI 302. This speed data would then be communicated from the HMI 302 to the PLC 304 in a format recognized by both computer systems, and then the PLC 304 would set the speed of the pump 306 through the electrical connection 312 to the pump 306. If a new parameter is to be added to this example system, the configuration data in both the HMI 302 and the PLC 304 must be updated to include this new parameter. If the visualization configuration data and the control configuration data do not implement the new parameter in the same way, they will not be able to communicate the new data. Thus, by receiving a single software object containing this updated machine configuration data, and then creating separate visualization configuration data, and control configuration data from this single software object, mismatch errors may be greatly reduced.
The PLC 404 contains control configuration data related to the pump 406 which it controls. This configuration data may take a wide variety of formats all within the scope of the present invention. Typically, this configuration data is used to configure the PLC 404 with respect to what control parameters it sends to the pump 406, and to what monitoring parameters it receives from the pump 406. Likewise, the HMI contains visualization configuration data related to the pump 406. The HMI is configured to display monitoring parameters from the pump 406, and to provide a user interface allowing a user to control the pump 406 through the display 400 or other input device to the HMI 402.
In this example embodiment of the present invention, a single software object has been processed resulting in a new visualization software object, and a new control software object. The visualization software object has been sent to the HMI 402 where it now includes a graphical representation of the temperature 424 on the display 400. The control software object has been sent to the PLC 404 where it now has the ability to receive temperature data from the pump 406 and send this data to the HMI 402. Since this update proceeded automatically from the receipt of the single software object containing the updated machine configuration information, the likelihood of errors in the visualization software object and the control software object has been reduced.
Those of skill in the art will recognize that there are a wide variety of system bus 604 architectures, such as PCI, VESA, Microchannel, ISA, and EISA, available for use within the computer 601, and multiple system buses may be used within the computer 601, all within the scope of the present invention. The system memory 606 includes random access memory (RAM) 608, and read only memory (ROM) 610. The system ROM 610 may include a basic input/output system (BIOS), which contains low-level routines used in transferring data between different elements within the computer, particularly during start-up of the computer. The system memory 606 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, hard drive, tape, CDROM, etc.). Moreover, the system memory 606 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the system memory 606 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processing unit 602.
The processing unit 602 receives software instructions from the system memory 606 or other storage elements and executes these instructions directing the processing unit 602 to operate in a method as described herein. These software instructions may include an operating system 656, applications 658, modules 660, utilities, drivers, networking software, and data 662. Software may comprise firmware, or some other form of machine-readable processing instructions.
The computer 601 also includes a hard drive 614 coupled to the system bus 604 through a hard drive interface 612, a floppy drive 618 containing a floppy disk 620 coupled to the system bus 604 through a floppy drive interface 616, a CD-ROM drive 624 containing a CD-ROM disk 626 coupled to the system bus 604 through a CD-ROM drive interface 622, and a DVD-ROM drive 633 containing a DVD-ROM disk 632 coupled to the system bus 604 through a DVD-ROM drive interface 628. Those of skill in the art will recognize that there are a wide variety of other storage elements, such as flash memory cards and tape drives, available for inclusion in a computer 601, which may be coupled to the system bus 604 through a wide variety of interfaces, all within the scope of the present invention. Also, these storage elements may be distributed among multiple devices, as shown here, and also may situated remote from each other, but can be accessed by the processing unit 602.
The computer 601 also includes a video adaptor 634 configured to drive a display 636, and a universal serial bus (USB) interface 638 configured to receive user inputs through a keyboard 640 and a mouse 642. Other user interfaces could comprise a voice recognition interface, microphone and speakers, graphical display, touch screen, game pad, scanner, printer, or some other type of user device. These user interfaces may be distributed among multiple user devices. The USB interface 638 is also configured to interface with a modem 644 allowing communication with a remote system 6048 through a wide area network (WAN) 646, such as the internet.
The computer 601 further includes a network adaptor 652 configured to communicate to a remote system 648 through a local area network (LAN) 645. Those of skill in the art will recognize that there are a wide variety of network adaptors 652 and network configurations available to allow communication with remote systems 648 all within the scope of the present invention. For example, networks may include Ethernet connections or wireless connections. Networks may be local to a single office or site, or may be as broad and inclusive as the internet or usenet. Remote systems 648 may include memory storage 650 in a very wide variety of configurations, all within the scope of the present invention.
In this example embodiment of the present invention, the software instructions may be configured to cause the processing unit 602 to execute the operations of the methods illustrated in
One should note that the flowcharts included herein show the architecture, functionality, and/or operation of a possible implementation of software. In this regard, each block can be interpreted to 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 blocks may occur out of the order. 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.
One should note that any of the programs listed herein, which can include an ordered listing of executable instructions for implementing logical functions (such as depicted in the flowcharts), can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium could include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the certain embodiments of this disclosure can include embodying the functionality described in logic embodied in hardware or software-configured mediums.
It should be emphasized that the above-described embodiments are merely possible examples of implementations, merely set forth for a clear understanding of the principles of this disclosure. Many variations and modifications may be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure.
The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.