Module Interface
20240028003 ยท 2024-01-25
Inventors
- Daniel R. Strinden (Austin, TX)
- Cristopher lan Sarmiento Uy (Metro Manila, PH)
- Prashant Joshi (Leicester, GB)
- Julian K. Naidoo (Cedar Park, TX, US)
- Ram Ramachandran (Austin, TX)
- Andrew E. Cutchin (Lilleen, TX, US)
Cpc classification
G05B2219/31121
PHYSICS
International classification
Abstract
A process control system includes one or more field devices positioned in a process control plant and a control module configured to generate control signals for controlling the one or more field devices. The control module may be configured to operate on one or more internal parameters to execute a control strategy. A control module software interface may be configured to define a set of interface parameters based on a strategy type associated with the control strategy of the control module. Each interface parameter of the set of interface parameters may be linked to one of the one or more internal parameters of the control module. Additionally, each interface parameter may be accessible by other control modules and/or other external applications.
Claims
1. A process control system, comprising: one or more field devices positioned in a process control plant; a control module configured to generate control signals for controlling the one or more field devices, the control module configured to operate on one or more internal parameters to execute a control strategy; a control module software interface configured to define a set of interface parameters based on a strategy type associated with the control strategy of the control module, wherein each interface parameter of the set of interface parameters is linked to one of the one or more internal parameters of the control module, and wherein each interface parameter is accessible by one or more of another control module or by one or more external applications.
2. The process control system of claim 1, wherein the one or more internal parameters of the control module are not accessible by another control module or by any external applications.
3. The process control system of claim 1, wherein one or more interface parameters of the set of interface parameters are linked to one of the one or more respective internal parameters of the control module by the control module software interface based on input from a user.
4. The process control system of claim 1, wherein one or more interface parameters of the set of interface parameters are automatically linked to one of the one or more respective internal parameters of the control module by the control module software interface.
5. The process control system of claim 1, wherein each interface parameter is associated with a name, and wherein the name is accessible by one or more of another control module or by one or more external applications.
6. The process control system of claim 5, wherein the name with which each interface parameter is associated is specified based on input from a user.
7. The process control system of claim 1, wherein each interface parameter being accessible by one or more of another control module or by one or more external applications includes the interface parameter being accessible to be one or more of: (i) written to or (ii) read by one or more of another control module or by one or more external applications.
8. The process control system of claim 7, wherein whether the interface parameter is accessible to be (i) written to or (ii) read by one or more of another control module or by one or more external applications is specified based on input from a user.
9. The process control system of claim 1, wherein scaling units for each interface parameter are specified based on input from a user.
10. The process control system of claim 1, wherein interface parameter types for reach respective interface parameter are specified based on input from a user.
11. The process control system of claim 1, wherein one or more interface parameters of the set of interface parameters are associated with security permissions restricting changes that can be made to the one or more interface parameters during runtime of the process control plant.
12. The process control system of claim 1, wherein the one or more external applications include a display application.
13. A method in a process control system, comprising: defining, by a control module software interface, a set of interface parameters for a control module based on a strategy type associated with a control strategy of the control module; linking, by the control module software interface, each interface parameter of the set of interface parameters to a respective internal parameter of the control module, wherein the control module is configured to operate on the one or more internal parameters to execute the control strategy in order to generate control signals for controlling one or more field devices positioned in a process control plant; and allowing, by the control module software interface, one or more of another control module or one or more external applications to access the set of interface parameters for the control module.
14. The method of claim 13, further comprising: denying, by the control module software interface, the one or more of another control module or by the one or more external applications access to the internal parameters for the control module.
15. The method of claim 13, further comprising: specifying, by the control module software interface, which interface parameter is to be linked to which respective internal parameter of the control module based on input from a user.
16. The method of claim 13, wherein one or more interface parameters of the set of interface parameters are automatically linked to respective internal parameters of the control module.
17. The method of claim 13, further comprising: specifying, by the control module software interface, a name for each interface parameter based on input from a user.
18. The method of claim 17, wherein allowing one or more of another control module or one or more external applications to access the set of interface parameters for the control module includes allowing one or more of another control module or one or more external applications to access the names associated with each of the interface parameters for the control module.
19. The method of claim 13, further comprising: specifying, by the control module software interface, which interface parameters of the set of interface parameters are to be accessible to be (i) written to or (ii) read by one or more of another control module or by one or more external applications based on input from a user.
20. The method of claim 13, further comprising: specifying, by the control module software interface, scaling units for each interface parameter based on input from a user.
21. The method of claim 13, further comprising: specifying, by the control module software interface, interface parameter types for each interface parameter based on input from a user.
22. The method of claim 13, further comprising: specifying, by the control module software interface, security permissions for each interface parameter based on input from a user, wherein the security permissions for a respective interface parameter restrict changes that can be made to the interface parameter during runtime of the process control plant.
23. The method of claim 13, wherein the one or more external applications include a display application.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION
[0034]
[0035] A configuration database 60 stores the current configuration of the process control system 22 within the plant 10 as downloaded to and stored within the controllers 40 and field devices 44 and 46. The configuration database 60 stores process control functions defining the one or several control strategies of the process control system 22, configuration parameters of the devices 44 and 46, the assignment of the devices 44 and 46 to the process control functions, and other configuration data related to the process plant 10. The configuration database 60 may additionally store graphical objects or user displays as well as configuration data associated with these objects or displays to provide various graphical representations of elements within the process plant 10.
[0036] Another data historian 62 stores events, alarms, comments and courses of action taken by operators. The events, alarms, and comments may pertain to individual devices (e.g., valves, transmitters), communication links (e.g., wired Fieldbus segments, WirelessHART communication links), or process control functions (e.g., a PI control loop for maintaining a desired temperature set point). Further, a knowledge repository 64 stores references, operator logbook entries, help topics, or links to these and other documentation that operators and maintenance technicians may find useful when supervising the process plant 10. Still further, a user database 66 stores information about users such as the operator and the maintenance technician. For each user, the user database 66 may store, for example, his or her organizational role, an area within the process plant 10 with which the user is associated, work team association, security information, system privileges, etc.
[0037] Each of the databases 58-66 may be any desired type of data storage or collection unit having any desired type of memory and any desired or known software, hardware or firmware for storing data. Of course, the databases 58-66 need not reside in separate physical devices. Thus, in some embodiments, some of the databases 58-66 may be implemented on a shared data processor and memory. In general, it is also possible to utilize more or fewer databases to store the data collectively stored and managed by the databases 58-66 in the example system of
[0038] While the controllers 40, 1/O cards 48 and field devices 44 and 46 are typically located down within and distributed throughout the sometimes harsh plant environment, the operator workstations 50 and 52 and the databases 58-64 are usually located in control rooms or other less harsh environments easily assessable by controller, maintenance, and various other plant personnel. However, in some cases, handheld devices may be used to implement these functions and these handheld devices are typically carried to various places in the plant. Such handheld devices, and in some cases, operator workstations and other display devices may be connected to the plant network 22 via wireless communication connections.
[0039] Each of the controllers 40, which may be, by way of example, the DeltaV controller sold by Emerson Process Management, stores and executes a controller application that implements a control strategy using any number of different, independently executed, control modules or blocks 70. Each of the control modules 70 may be made up of what are commonly referred to as function blocks wherein each function block is a part or a subroutine of an overall control routine and operates in conjunction with other function blocks (via communications called links) to implement process control loops within the process plant 10. Function blocks, which may be objects in an object oriented programming protocol, typically perform one of an input function, such as that associated with a transmitter, a sensor or other process parameter measurement device, a control function, such as that associated with a control routine that performs PID, fuzzy logic, etc., control, or an output function that controls the operation of some device, such as a valve, to perform some physical function within the process plant 10. Of course hybrid and other types of complex function blocks exist, such as model predictive controllers (MPCs), optimizers, etc. While the Fieldbus protocol and the DeltaV system protocol use control modules and function blocks designed and implemented in an object oriented programming protocol, the control modules could be designed using any desired control programming scheme including, for example, sequential function block, ladder logic, etc., and are not limited to being designed and implemented using the function block or any other particular programming technique. Each of the controllers 40 may also support the AMS suite of applications sold by Emerson Process Management and may use predictive intelligence to improve availability and performance of production assets including mechanical equipment, electrical systems, process equipment, instruments, non-smart and smart field devices 44, 46, etc.
[0040] In the plant network 10 illustrated in
[0041] With continued reference to
[0042] For example,
[0043] In any case, the control module software interface 102 creates interface parameters 110, each linked to an internal parameter 108 of the control module 104. The interface parameters 110 may be read, or, in some cases, written to, by other control modules or other external applications, such as other configuration applications or display applications, while the internal parameters 108 may be shielded from other control modules or other external applications by the control module software interface 102. That is, the internal parameters 108 may be read from or written to by their respective interface parameters 110, but may not be read from or written to directly by any external applications or other control modules.
[0044] Additionally, in some examples, the control module 104 may further include one or more implicit module operator parameters (IMOPs) 109, and the control module software interface 102 may create interface parameters 110 that link to IMOPs 109 as well as internal parameters 108. IMOPs 109 provide a means for non-control functions to access configured properties of control modules, such as the title of the module and/or the description of the module. Generally speaking, control modules include the following IMOPs: Name, which is used to reference the current value of the name of the module; Title, which is used to reference the current value of the title (or name) of the control module, Description, which is used to reference the current value of the description of the control module; and Display Title, which is used to conditionally show the current value of the title (or name) of the control module, supporting a display decluttering feature. IMOPs require no configuration, and thus they are not visible in module engineering applications. Furthermore, users cannot add/remove IMOPs 109, and IMOPs 109 have no configurable properties. IMOPs 109 have fixed names, are always read-only, have no configurable title or description, and have no scale/engineering units/precision information. Furthermore, no history collection is supported for IMOPs 109.
[0045] In any case, whether linked to an internal parameter 108 or an IMOP 109, interface parameters 110 defined for a control module 104 are the only parameters that can be used by: other modules (i.e., other modules that are not part of the same multi-module control strategy), or continuous history data collection displays (both system created views and user-configured data links), and therefore serve to decouple the inner workings of (and changes to) control logic from other parts of the system. Advantageously, this leads to fewer inadvertently broken references, and more robust system operation. In some examples, defining the interface parameters 110 for a control module 104 early can also promote parallel configuration of control logic and operator graphics.
[0046] In particular, internal parameters 108 and IMOPs 109 within a control module 104 need not be exposed as interface parameters 110 to be visible to (and used by) applications involved in module configuration, debugging, tuning, or diagnosis. Furthermore, using the control module software interface 102, inputs and outputs of the control module 104 can be classified as internal parameters 108 rather than being automatically classified as interface parameters 110 for the control module 104, and thus are not accessible from other modules, displays, etc.
[0047]
[0048] As discussed above with respect to
[0049] Because only the interface parameters 110A-110G communicate with external control modules or applications, configuration engineers can modify function blocks 106A-106C as needed without breaking any external applications or control modules that rely on values produced by those function blocks. That is, for instance, if the operator changes the function block 106A in some way, e.g., changes the function block 106A of the control module 106A from a PID function block to an analog function block, the internal names of the internal parameters 108A and 108B on which the function block 106A operates may change. However, as long as the internal parameters 108A and 108B remain linked to their respective interface parameters 110A and 110B, and the names of interface parameters 110A and 110B remain the same, other control modules such as 104C that rely on outputs from the control module 104A can still easily access outputs of the function block 106A via the interface parameter 110B.
[0050] As another example, if the operator adds an additional function block to the control module 104B, e.g., such that internal parameter 108C is the input to a first function block which produces an output internal parameter, which is in turn provided as an input to a second function block which produces an output internal parameter that may be different from the output internal parameter 108D to which the interface parameter 110D is originally linked, the configuration engineer can change the internal parameter to which the interface parameter 110D is linked as needed to account for changes in the function blocks of the control module 104B. Meanwhile, other control modules, such as control modules 104C, that rely on interface parameter 110D, do not need to be updated based on changes have been made to the function blocks of the control module 104B in order to maintain a connection to the interface parameter 110D.
[0051]
[0052] As shown at
[0053] For instance, after the user specifies a control strategy,
[0054] Configuring the interface parameters further includes choosing the intended access, e.g., read or read/write. For read/write interface parameters, this may further include choosing synchronization preferences (e.g., never, always, or requires user intervention); valid values and ranges; and/or security rules. Additionally, configuring the interface parameter includes choosing a corresponding internal parameter path within the module (e.g., a parameter in a primitive function block (usage) or a parameter in a module input or a module output). For instance, as shown at
[0055] Additionally, configuring the interface parameter may include selecting history collection properties. Furthermore, e.g., as shown at
[0056]
[0057] A user, such as a configuration engineer of the control module software interface may specify which interface parameters of various control modules are linked to interface parameters of other control modules using wires or links 506A, 506B, 506C, and 506D shown at
[0058] Of course, these links are simply examples, and a user may specify various different links between interface parameters of various control modules as needed. Additionally, in some examples, a given output interface parameter from one control module may be linked to multiple input interface parameters of various other control modules, and vice versa. Moreover, in some examples, an output interface parameter from a control module may be linked to other external applications (e.g., in addition to other control modules). For instance, an output interface parameter may be linked to a display application so that the display application has access to a parameter value in order to display the parameter value to a user (e.g., an operator). Additionally, in some examples, an input interface parameter from a control module may be linked to other external sources, such as measurements made by field devices, or indications of states of field devices within the process control plant.
[0059] It will be understood that the systems and methods for configuring control modules in process control systems described herein can be implemented as one or more computer applications, modules or programs, and can be executed in one or more computer processor devices within any desired process plant environment. While the applications, routines and modules described herein are preferably implemented in software stored in, for example, a server, a workstation, a handheld device or other computer, these routines may alternatively or additionally be implemented in hardware, firmware, application specific integrated circuits, programmable logic circuits, etc., as desired. If implemented in software, the routines or applications may be stored in any computer readable memory such as on a magnetic disk, a laser disk, an EPROM or EEPROM, solid state or other storage medium, in a RAM or ROM of a computer, handheld device, controller, field device, etc. Likewise, this software may be delivered to a user or a device via any known or desired delivery method including, for example, over a communication channel such as a telephone line, the Internet, on a transportable medium, such as a computer readable disk, etc.
[0060] While the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, it will be apparent to those of ordinary skill in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.