The present disclosure relates generally to process control systems and, more particularly, to methods and systems for enabling users to visualize interlocked field component chains within process control systems.
Distributed process control systems, like those used in chemical, petroleum, industrial or other process plants to manufacture, refine, transform, generate, or produce physical materials or products, typically include one or more process controllers communicatively coupled to one or more field devices via analog, digital, or combined analog/digital buses, or via a wireless communication link or network. The field devices, which may be, for example, valves, valve positioners, switches, transmitters, sensors, etc., are located within the process control environment and generally perform physical or process control functions such as opening or closing valves, measuring process and/or environmental parameters (e.g., temperature or pressure), etc., to control one or more processes executing within the process plant or system. Smart field devices, such as field devices conforming to the well-known Fieldbus protocol, may also perform control calculations, alarming functions, and/or other control functions commonly implemented within the controller. The process controllers, which are also typically located within the plant environment, receive signals indicative of process measurements made by the field devices, and/or other information pertaining to the field devices, and execute a controller application that runs, for example, different control modules. The control modules make process control decisions, generate control signals based on the received information, and coordinate with the control modules or blocks being performed in the field devices, such as HART®, WirelessHART®, or FOUNDATION® Fieldbus field devices. The control modules implemented in the controller send the control signals over communication lines or links to the field devices to thereby control the operation of at least a portion of the process plant or system, e.g., to control at least a portion of one or more industrial processes running or executing within the plant or system. I/O devices, which are also typically located within the plant environment, typically are disposed between a controller and one or more field devices to enable communications, e.g., by converting electrical signals into digital values and vice versa.
Information from the field devices and the controller is usually made available over a communication network to one or more other hardware devices, such as operator workstations, personal computers or computing devices, data historians, report generators, centralized databases, or other centralized administrative computing devices that are typically placed in control rooms or other locations away from the harsher field environment of the plant. These hardware devices run applications that may, for example, enable an operator to perform functions with respect to controlling a process and/or operating and monitoring the process plant (e.g., changing settings of the process control routine, modifying the operation of the control modules within the controllers or the field devices, viewing the current state of the process, viewing alarms generated by field devices and controllers, simulating the operation of the process for the purpose of training personnel or testing the process control software, keeping and updating a configuration database, etc.). The communication network utilized by the hardware devices, controllers, and field devices may include a wired communication path, a wireless communication path, or a combination of wired and wireless communication paths.
As an example, the DeltaV™ control system, sold by Emerson Process Management, includes multiple applications stored within and executed by different devices located at diverse places within a process plant. A configuration application, which resides in one or more workstations or computing devices in a back-end environment of a process control system or plant, enables users to create or change process control modules and download these process control modules via a communication network to dedicated distributed controllers. Typically, these control modules are made up of communicatively interconnected function blocks, which are objects in an object oriented programming protocol that perform functions within the control scheme based on inputs thereto and that provide outputs to other function blocks within the control scheme. The configuration application may also allow a configuration designer to create or change operator interfaces which are used by a viewing application to display data to an operator and to enable the operator to change settings, such as set points, within the process control routines. Each dedicated controller and, in some cases, one or more field devices, stores and executes a respective controller application that runs the control modules assigned and downloaded thereto in order to implement actual process control functionality. The viewing applications, which may be executed on one or more operator workstations (or on one or more remote computing devices in communicative connection with the operator workstations and the communication network), receive data from the controller application via the communication network and display this data to process control system designers, operators, or other users using the user interfaces, and may provide any of a number of different views, such as an operator's view, an engineer's view, a technician's view, etc. A data historian application typically stores the current process control routine configuration and data associated therewith.
Generally, a process plant or system includes field devices, equipment, and other components that operate in a highly interdependent manner. Thus, faulty operation of one component may require stoppage of one or more other components in order to avoid a dangerous or otherwise undesired situation. As a simple example, if an upstream conveyor feeds materials to another, downstream conveyor, a breakdown of the downstream conveyor may require stopping the upstream conveyor in order to avoid an overflow of the materials at the downstream conveyor. While not required, it may also be desirable to stop the downstream conveyor if the upstream conveyor stops working. To automate such stoppages, a system designer may configure specific control blocks, field devices, etc., according to suitable “interlock” logic. For example, a control module may be configured to automatically stop a motor of the upstream conveyor when the downstream conveyor experiences a stoppage or other fault. Any other conveyor motors or other components that are further upstream (and, optionally, any other conveyor motors or other components that are further downstream) may also be stopped automatically.
In other scenarios, it may be necessary or desirable to automatically stop other components, including those that are not physically upstream or downstream of a component that fails. Thus, an interlock relationship may be more generally described in terms of a “parent” and “child,” where the child is automatically stopped if the parent fails (e.g., breaks down, or fails to operate within predetermined fault tolerances, etc.). A series of multiple parent/child pairs is referred to herein as an “interlock chain.” For example, failure of an output valve may cause automatic stoppage of a first pump that is physically upstream of the valve, which may in turn cause automatic stoppage of a second pump that is physically upstream of the first pump, and so on. Moreover, multiple interlock chains may share one or more common components, in which case components in two or more intersecting chains may be interlocked if a component in one of the chains fails.
Typically, “display views” for field devices may be configured to indicate adjacent upstream and/or downstream devices. To discover the primary source/cause of an interlock, the operator must use this information to hunt up and/or down the device path (e.g., by navigating between the display views of different devices). In practice, however, interlock chains can include many field devices and/or other components, and/or individual chains may intersect with a significant number of other chains. Thus, it may be quite difficult for a human operator to determine which field device or other component ultimately caused stoppage of the components in an interlock chain. Moreover, after the cause of the interlock is discovered and resolved, the operator must again navigate back along the various display views for all of the field devices in the interlock chain in order to reset each device. These actions can lead to a significant amount of extra “downtime,” which in many cases can be very costly. Furthermore, in current systems, the indications of upstream and downstream devices in a display view for a given field device (i.e., the indications used by the operator to navigate between devices) are manually configured. Thus, if an interlock chain changes due to a system reconfiguration, the display views must be manually reconfigured as well.
Techniques, systems, apparatuses, and methods for providing interlock chain visualizations are disclosed herein. Said techniques, systems, apparatuses, and methods may apply to industrial process control systems, environments, and/or plants, which are interchangeably referred to herein as “industrial control,” “process control,” or “process” systems, environments, and/or plants. Typically, such systems and plants provide control, in a distributed manner, of one or more processes (also referred to herein as “industrial processes”) that operate to manufacture, refine, or otherwise transform raw physical materials to generate or produce products.
An interlock chain, or set of related interlock chains, may be visualized by means of a diagram that includes some or all field components in the interlock chain(s) and illustrates their respective interconnections and dependencies. As utilized herein a “field component” (or simply “component”) may refer to a field device, a piece of equipment, a portion of a field device or piece of equipment, or a system or subsystem that includes multiple field devices and/or pieces of equipment. Each field components is typically located, disposed, or installed in a field environment of a process control system or plant and, if an object oriented programming protocol is used, each field component may correspond to a respective instance of a component object. The diagram or visualization may be shown on, or launched from, a graphical user interface (GUI) that is presented when a particular interlocked component has been selected or is otherwise being viewed (e.g., when a human operator is viewing information associated with an interlocked component), and may allow an operator to more quickly identify the source of an interlock, and/or more quickly identify the set of components affected by the interlock. Moreover, the diagram may include a virtual, interactive control that enables the user to reset all components in the visualized interlock chain with only a single input (or multiple inputs, e.g., if the operator must confirm the selected reset command), and or a control that enables the user to bypass the interlock for the visualized chain.
To avoid (or reduce) the need to manually configure the display of an interlock chain diagram, the diagram may be automatically generated by analyzing/interpreting the current state of pre-configured interlock logic. In some embodiments, the individual interlocking or chaining between different components is pre-configured using an interlock configuration object that is available out-of-box to system designers within a control module. A system designer may generate the interlock logic by creating instances of the interlock configuration object when configuring the process control system, and the interlock chain diagram may be automatically generated by analyzing the resulting interlock configuration object instances. Accordingly, if the interlock logic is reconfigured (e.g., by modifying, creating, and/or deleting instances of the interlock configuration object), the interlock chain diagram may automatically provide a current, updated representation of interlock chains based on the present configuration of interlocks. In contrast, conventional component displays are manually configured to depict specific interlocks, such that all of the affected displays must be manually reconfigured if the interlock logic changes.
The interlock chain diagram may depict an entire interlock chain, or a subset of the chain. For example, the diagram may only depict the portion of the chain between a presently-selected component and the source of the interlock/stoppage (i.e., the component ultimately responsible for stopping the selected component). Moreover, the diagram may depict one or more additional interlock chains. For example, the diagram may depict not only the chain (or chain portion) that includes the selected component, but also another chain (or chain portion) that shares a common “parent” component with the chain that includes the selected component. If multiple interlock chains are depicted, an interactive reset control may be presented for each chain.
For example,
The controller 111 (which, by way of example, may be the DeltaV™ controller sold by Emerson Process Management) may operate to implement a batch process or a continuous process using at least some of the field devices 115-122 and 140-146. In an embodiment, in addition to being communicatively connected to the backbone 110, the controller 111 is also communicatively connected to at least some of the field devices 115-122 and 140-146 using any desired hardware and software associated with, for example, standard 4-20 mA devices, I/O cards 126, 128, and/or any suitable smart communication protocol such as the FOUNDATION® Fieldbus protocol, the HART® protocol, the WirelessHART® protocol, etc. In
The processor 130 of process controller 111 implements or oversees the one or more process control routines or modules 138, which may be stored in the memory 132. To this end, the processor 130 is configured to communicate with the field devices 115-122 and 140-146, and with other nodes that are communicatively connected to the controller 111. It should be noted that any control routines or modules described herein may have parts thereof implemented or executed by different controllers or other devices if so desired. Likewise, the control modules 138 to be implemented within the process control system 100 may take any form, including software, firmware, hardware, etc. Control routines may be implemented in any desired software format, such as using object oriented programming, ladder logic, sequential function charts, function block diagrams, or using any other software programming language or design paradigm. The memory 132, on which some or all of the control modules 138 may be stored, may be any suitable type of memory or memories, such as random access memory (RAM) and/or read only memory (ROM). Moreover, the control modules 138 may be hard-coded into, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Thus, the controller 111 may be configured in any desired manner to implement a control strategy or control routine/module.
The controller 111 implements a control strategy using what are commonly referred to as function blocks, where each function block is an object or other part (e.g., 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 control system 100. Control-based function blocks 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 which controls the operation of some device, such as a valve or conveyor motor, to perform some physical function within the process control system 100. Of course, hybrid and other types of function blocks exist. Function blocks may be stored in and executed by the controller 111, which is typically the case when these function blocks are used for, or are associated with, standard 4-20 mA devices and certain types of smart field devices (e.g., HART® devices), or may be stored in and implemented by the field devices themselves, which can be the case with FOUNDATION® Fieldbus devices. The one or more control modules 138 in the controller 111 may implement one or more control loops which are performed by executing one or more of the function blocks.
The wired field devices 115-122 may be any type or types of devices, such as sensors, valves, conveyor motors, transmitters, positioners, etc., while the I/O cards 126 and 128 may be any types of I/O devices conforming to a suitable communication or controller protocol. For example, the field devices 115-118 may be standard 4-20 mA devices or HART® devices that communicate over analog lines (or combined analog and digital lines) to the I/O card 126, while the field devices 119-122 may be smart devices, such as FOUNDATION® Fieldbus field devices, that communicate over a digital bus to the I/O card 128 using a FOUNDATION® Fieldbus communications protocol. In some embodiments, though, at least some of the wired field devices 115-122, and/or at least one of the I/O cards 126, 128, additionally or alternatively communicate(s) with the controller 111 using the backbone 110 and a suitable control system protocol (e.g., Profibus, DeviceNet, Foundation Fieldbus, ControlNet, Modbus, HART, etc.).
In
Similar to the wired field devices 115-122, the wireless field devices 140-146 of the wireless network 170 perform physical control functions within the process plant 100, e.g., opening or closing valves, taking measurements of process parameters, etc. The wireless field devices 140-146, however, are configured to communicate using the wireless protocol of the network 170. As such, the wireless field devices 140-146, the wireless gateway 135, and other wireless nodes 152-158 of the wireless network 170 may be producers and consumers of wireless communication packets.
In some configurations of the process plant 100, the wireless network 170 includes non-wireless devices. For example, in
In
The example process control system 100 is further illustrated in
In some embodiments, the configuration application(s) 172A provide(s) various objects that system designers may use to configure the process control system 100 (e.g., control modules, field device display views to be viewed by operators, etc.) as discussed above. One such object type or class may be an interlock configuration object 180. Each instance of the interlock configuration object 180 may represent a parent/child interlock relationship between two specific components (e.g., two field devices, or a field device and another type of component, etc.), and may be stored in one of configuration database(s) 172B. Instances of the interlock configuration object 180 may be referenced by an instance of a particular control module object, for example. The instances of the interlock configuration object 180 may be used to automatically generate interlock chain visualizations, as discussed in further detail below.
The example process control system 100 also includes one or more data historian application(s) 173A and one or more data historian database(s) 173B, each of which is communicatively connected to the backbone 110. The data historian application(s) 173A operate(s) to collect some or all of the data provided across the backbone 110, and to store the data in the data historian database(s) 173B for long term storage. Similar to the configuration application(s) 172A and configuration database(s) 172B, the data historian application(s) 173A and data historian database(s) 173B may be centralized and have a unitary logical appearance to the process control system 100 (although multiple instances of a data historian application 173A may execute simultaneously within the process control system 100), and the data historian database(s) 173B may be stored in a single physical data storage device or across multiple data storage devices.
In some configurations, the process control system 100 includes one or more other wireless access points 174 that communicate with other devices using other wireless protocols, such as IEEE 802.11-compliant wireless local area network protocols, mobile communication protocols such as WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) or other ITU-R (International Telecommunication Union Radiocommunication Sector) compatible protocols, short-wavelength radio communications such as near field communications (NFC) or Bluetooth, and/or other wireless communication protocols. Typically, such wireless access point(s) 174 allow handheld or other portable computing devices (e.g., user interface devices 175) to communicate over a respective wireless process control communication network that is different from the wireless network 170 and that supports a different wireless protocol than the wireless network 170. For example, a wireless or portable user interface device 175 may be a mobile workstation or diagnostic test equipment that is utilized by an operator within the process plant 100 (e.g., an instance of one of the operator workstations 171). In some scenarios, in addition to portable computing devices, one or more process control devices (e.g., controller 111, field devices 115-122, wireless devices 135, 140-158, etc.) also communicate using the wireless protocol supported by the wireless access point(s) 174.
It is noted that although
As explained above, system designers may use the configuration system 172 to create or configure process control modules and send these modules via the backbone 110 (or another network) to the process controller 111 and/or other process controllers. One or more of these process control modules may enable the receiving controller(s) to automatically shut down or de-energize field devices or other components as needed when certain other devices or components fail or experience problems. For example, a configuration engineer may program a pump that feeds a tank to automatically shut down if and when an outlet valve of the tank fails or otherwise stops operating properly. The triggering conditions, and the appropriate/desired responses, among the field devices/components collectively form “interlock logic” according to which the controller(s) manage interlock events.
As noted above, in some embodiments where object oriented programming is utilized, the configuration application(s) 172A provide, out-of-box to customers/designers, an interlock configuration object (e.g., within, or otherwise associated with, a control module). The system designer(s) may create instances of the interlock configuration object as needed to generate the interlock logic for the process control system 100. Each interlock configuration object may represent the individual interlocking or chaining between two field devices or other components. In the pump/tank/valve scenario described above, for instance, a single instance of an interlock configuration object may include parameters defining the interlock between the outlet valve and the input pump. For example, the object instance may include device identifiers of the specific pump and valve and, because the operational state of the outlet valve dictates whether the input pump must be shut off, the interlock configuration object may define the valve as the “parent” and the pump as the “child” in the interlock relationship.
The interlock configuration object ID 210 is a unique identifier for a given instance of the interlock configuration object 200, which may be specified by the user or automatically assigned. The parent device ID 212 is the unique identifier for the parent device of the interlock (e.g., an ID of a device object instance for the parent device), and the child device ID 214 is the unique identifier for the child device of the interlock (e.g., an ID of a device object instance for the child device). In operation (i.e., during run-time), when a process controller (e.g., controller 111 of
It will be understood that parent and child devices need not be physically coupled in series, or even have any physical, operative relationship. For example, a system designer may desire (e.g., during a testing phase) to automatically shut down all field devices when a single device fails, rather than only shutting down devices that are physically upstream or downstream of the failing device, etc. In such a scenario, the designer may use multiple instances of the interlock configuration object 200 to link all field devices to each other in a bidirectional manner (i.e., so that each device is both a parent to, and a child of, every other device).
The other interlock configuration object properties 216 may include one or more other properties. For example, the properties 216 may include properties that specify the timing and/or order of automatic shutdown between the parent and child devices, properties that indicate whether any interlock chain including the interlock represented by the interlock configuration object 200 can be bypassed, and so on.
It will be understood that the interlock configuration object 200 may expose more, fewer, and/or different properties than those shown in
A system designer may configure instances of the interlock configuration object 200 by entering, configuring, or otherwise defining the desired values for the various properties 210-216 via a user interface, such as a user interface of the configuration system 172. In some embodiments, however, at least some of the desired property values 210-216 (e.g., the interlock configuration object ID 210) may be automatically configured or populated by the configuration application 172A.
Various embodiments and scenarios will now be described in order to illustrate the manner in which interlock chain diagrams may be automatically generated and presented to users/operators (e.g. via one or more of operator workstation(s) 171, and/or one or more of user interface device(s) 175, during run-time operation of the process control plant 100). Purely for ease of explanation, the example interlock chain scenarios described below consist of relatively simple arrangements of conveyors having interlocked conveyor motors. It will be understood, however, that the techniques and visualizations described herein may apply to any other suitable components (e.g., valves, pumps, sensors, etc., portions of such devices, systems or sub-systems that include multiple devices or pieces of equipment, and so on), in any physical and/or logical combination or arrangement.
Referring first to
During the configuration stage, in order to prevent situations where materials are delivered to an inoperative conveyor and thereby cause blockage, back-up, and/or overflow, a system designer may desire to create a set of interlocks specifying that a motor of the conveyor 310 is a child of the motor of the conveyor 312, and that a motor of the conveyor 312 is a child of a motor of the conveyor 314. If device objects and an interlock configuration object are available to the designer, for example, the designer may utilize device object instances for the conveyor motors to create instances of the interlock configuration object. For example, a first instance of the interlock configuration object 200 of
During run-time, an operator (e.g., a user of one of the operator workstation(s) 171 or one of the user interface device(s) 175) may selectively view various kinds of displays in order to monitor operations, and/or to take diagnostic, corrective, maintenance, and/or other actions, as discussed above in connection with
In some embodiments, the motors for each of the conveyors 310-314 is associated with a display view. For example, during run-time, an operator may select a display view for the “C-122” motor, and in response a display application (e.g., executing on an operator workstation 171 or user interface device 175 of the operator) may present information about the current state of the C-122 motor. The display view may indicate whether the C-122 motor is currently energized/operational, whether there are currently any fault or error messages for the C-122 motor, and so on. The display view may also indicate which devices, if any, are upstream and downstream of the C-122 motor (i.e., in the scenario of
If an interlock is triggered during run-time, interlock chain information may be displayed to the operator. The information may be displayed automatically (e.g., within a device display currently being viewed, if that device was stopped by the interlock event), or may require some action(s) by the operator (e.g., clicking on or otherwise selecting an “Interlock Help” button or other virtual control on the device display view, etc.).
The interlock information 400 includes an interlock chain diagram 410 with a single interlock chain visualization 412 corresponding to an interlock chain that was configured by a system designer for the motors of the conveyors 310-314. In the example interlock chain visualization 412, each of the conveyor motors is represented by a different graphical element, and the graphical elements are arranged in accordance with the configured parent/child relationships (e.g., as specified in the respective instances of the interlock configuration object 200).
To ensure that the interlock chain visualization 412 represents the current state of the interlock logic, the display application may generate the interlock chain visualization 412 by analyzing/interpreting the current interlock logic. If object oriented programming was used to configure the process control system 100, for example, the display application may analyze instances of the interlock configuration object 200 to generate the interlock chain visualization 412. In one embodiment, for instance, the display application identifies all instances of the interlock configuration object 200 that reference (e.g., in either of field/property 212 or field property 214) the device corresponding to a currently-selected device display view. The display application may also determine which other devices are referenced in those object instances, and repeat the process for each such device (i.e., identify all instances of the interlock configuration object 200 that reference such devices, etc.), until no new devices are found. Having identified all relevant object instances (or while still doing so), the display application may use the specified parent/child relationships to build the interlock chain visualization 412.
Thus, unlike displays of conventional process control systems, an interlock chain may be visualized in its current form, without necessarily requiring any manual configuration of the device display view or any other display view. Moreover, the example interlock chain diagram 410 includes a virtual reset control 420, which the operator may activate to reset all devices within the interlock chain represented by interlock chain visualization 412. This may save the operator a significant amount of time by avoiding the need to (1) navigate through the display views of the different, chained devices and (2) activate reset controls in each such display view on a one-by-one basis. Moreover, human error in the reset process (e.g., forgetting to reset one device in the chain, etc.) may be avoided in this manner. In the embodiment of
A somewhat more complex, example physical configuration 500 of conveyors 510-520 is shown in
The display application that generates the interlock chain diagram 610 may determine how many chain visualizations to create/present based on the relationship between the interlock chain of a selected, interlocked device and other interlock chains that share a common parent or “root” component. In the physical configuration 500, for example, three interlock chains share the parent C-48 motor (and therefore have the same root device, i.e., the C-30 motor): a first chain including the C-47, C-48, and C-30 motors, a second chain including the C-22, C-19, C-48, and C-30 motors, and a third chain including the C-54, C-48, and C-30 motors. Accordingly, the interlock chain diagram 610 includes three expandable/collapsible sections for visualizing three different but related interlock chains.
As seen in
In the example interlock chain diagram 610, each interlock chain visualization, when displayed, is shown in its entirety (i.e., from the first parent or “root” component through the last child component). In other embodiments, however, the number of components shown within a given chain visualization depends on (1) the location of the component that caused the interlock (e.g., by malfunctioning), and/or (2) the location of the component within the chain from whose display view the interlock information 600 was launched. In one such embodiment, the interlock chain visualization shows only the portion of the chain between (and including) the presently-selected component and the cause/source of the interlock/stoppage (i.e., the device or other component that is ultimately responsible for the automatic stoppage of the user-selected component).
As an example of such an embodiment,
Moreover, in alternative embodiments, an interlock chain diagram may portray multiple interlock chains in a combined manner. As just one example of such an embodiment,
While each graphical element is depicted in
Further, in an alternative embodiment, interlock visualization chains such as those shown in
At block 702 of the method 700, an interlock event that caused (or is in the process of causing) a stoppage of at least a first field component of the field components is detected. The first field component may or may not be the source of the interlock event (i.e., may or may not be the component that triggered the interlock by failing to work properly). As one example, block 702 may be implemented by receiving, from the process controller 111 of
At block 704, pre-configured interlock logic data associated with the plurality of field components is obtained. Block 704 may occur before and/or after block 702. The interlock logic data, which may have been manually configured by one or more system designers, specifies conditions that trigger interlock for each of the plurality of field components. In some embodiments where the system designer(s) used object oriented programming to configure some or all of the process control system, the interlock logic data includes data defining interlock configuration objects that conform to a particular object oriented programming protocol. In such an embodiment, each of the interlock configuration objects (e.g., object instances) may represent an interlocking relationship between a respective pair of field components among the plurality of field components. For example, the interlock configuration object 200 of
At block 706, at least a first interlock chain visualization is automatically generated by analyzing the interlock logic data obtained at block 704 Like block 704, block 706 may occur before and/or after block 702. Block 706 may include automatically generating the GUI data that is required to render a display that includes at least the first interlock chain visualization, such that the display can be presented to a user. The first interlock chain visualization graphically indicates interlock dependencies among at least a subset of the plurality of field components, including the first field component and at least one other field component of the plurality of field components. The field components may be represented by respective graphical elements, such as rectangles, circles, icons, etc. If the interlock logic data obtained at block 704 includes interlock configuration objects (e.g., object instances), block 706 may include automatically generating the first interlock chain visualization based at in least in part upon those interlock configuration objects (e.g., by analyzing the parent and child properties of each object, using the device identifiers of parent and/or child devices to identify other interlock configuration objects associated with those parent/child devices, etc., as discussed above).
At block 708, at least the first interlock chain visualization is caused to be presented to a user (e.g., a human operator) via a user interface of a computing device. For example, the display data generated at block 708 may be used by a computing device implementing the method 750 (e.g., one of operator workstation(s) 171 or user interface device(s) 175 of
In some embodiments, the method 700 includes additional blocks not shown in
The method 700 may also include a block (also not shown in
The method 700 may also, or instead, include a first additional block in which a single reset control is caused to be presented to the user via the user interface (e.g., contemporaneously with the first interlock chain visualization), a second additional block in which a user activation of the reset control is detected, and a third additional block in which, in response to detecting the user activation of the reset control, a reset of at least the first subset of the plurality of field components (e.g., a reset of all the field components represented in the first interlock chain visualization, and possibly also any components that are included in the interlock chain but not shown) is caused. For example, a computing device implementing the method 700 may send process controller 111 of
Still further, the method 700 may also, or instead, include additional blocks relating to a subsequent visualization after the interlock logic has been reconfigured (e.g., by a system designer). For example, in a first additional block (similar to block 702) that occurs subsequent to the blocks seen in
Embodiments of the techniques described in the present disclosure may include any number of the following aspects, either alone or combination:
Aspect 1. A method of visualizing one or more interlock chains in a process control system, wherein a plurality of field components in the process control system implement a plurality of respective functions in accordance with one or more process control modules, and wherein the method comprises: (1) detecting, by one or more computing devices, an interlock event causing a stoppage of at least a first field component of the plurality of field components; (2) obtaining, by the one or more computing devices, pre-configured interlock logic data associated with the plurality of field components, wherein the pre-configured interlock logic data specifies conditions that trigger interlock for each of the plurality of field components; (3) automatically generating, by the one or more computing devices analyzing the pre-configured interlock logic data, at least a first interlock chain visualization, wherein the first interlock chain visualization graphically indicates interlock dependencies among at least a first subset of the plurality of field components, and wherein the first subset includes (i) the first field component and (ii) at least one other field component of the plurality of field components; and (4) causing, by the one or more computing devices, at least the first interlock chain visualization to be presented to a user via a user interface.
Aspect 2. The method of aspect 1, wherein: (1) the pre-configured interlock logic data includes data defining a plurality of interlock configuration objects conforming to an object oriented programming protocol; (2) each of the plurality of interlock configuration objects represents an interlocking relationship between a respective pair of field components among the plurality of field components; and (3) automatically generating at least the first interlock chain visualization includes automatically generating the first interlock chain visualization based at in least in part upon the plurality of interlock configuration objects.
Aspect 3. The method of aspect 1 or aspect 2, further comprising causing, by the one or more computing devices, information associated with the first field component to be presented to the user via the user interface, wherein the information associated with the first field component includes one or both of (i) a state of the first field component, and (ii) a measurement obtained by the first field component.
Aspect 4. The method of any one of aspects 1 through 3, wherein automatically generating at least a first interlock chain visualization includes automatically generating a first interlock chain visualization that extends only between a graphic representation of the first field component and a graphic representation of another field component that triggered the interlock event.
Aspect 5. The method of any one of aspects 1 through 3, wherein automatically generating at least a first interlock chain visualization includes automatically generating a first interlock chain visualization that extends at least between a graphic representation of a root field component of the first interlock chain and a graphic representation of the first field component.
Aspect 6. The method of any one of aspects 1 through 3, comprising: (1) automatically generating, by the one or more computing devices, a first interlock chain visualization that extends at least between (i) a graphic representation of a field component shared between the first interlock chain and a second interlock chain, and (ii) the graphic representation of the first field component; (2) automatically generating, by the one or more computing devices, a second interlock chain visualization that extends at least between (i) either the graphic representation of the shared field component or another graphic representation of the shared field component, and (ii) a graphic representation of a second field component of the plurality of field components; and (3) causing, by the one or more computing devices, at least the first interlock chain visualization and the second interlock chain visualization to be presented to the user via the user interface, wherein the graphic representation of the second field component is not included in the first interlock chain visualization, and the graphic representation of the first field component is not included in the second interlock chain visualization.
Aspect 7. The method of aspect 6, wherein causing at least the first interlock chain visualization and the second interlock chain visualization to be presented to the user via the user interface includes: (1) causing the first interlock chain visualization to be presented to the user via the user interface; and (2) causing the second interlock chain visualization to be presented to the user via the user interface, and the first interlock chain visualization to be hidden on the user interface, in response to the user selecting the second interlock chain visualization.
Aspect 8. The method of any one of aspects 1 through 7, further comprising: (1) causing, by the one or more computing devices, a single reset control to be presented to the user, via the user interface, contemporaneously with the first interlock chain visualization; (2) detecting, by the one or more computing devices, a user activation of the single reset control; and (3) in response to detecting the user activation of the single reset control, causing, by the one or more computing devices, a reset of at least the first subset of the plurality of field components.
Aspect 9. The method of any one of aspects 1 through 8, further comprising: (1) detecting, by the one or more computing devices, a subsequent interlock event causing a stoppage of at least a second field component of the plurality of field components; (2) obtaining, by the one or more computing devices, updated interlock logic data associated with the plurality of field components, wherein the updated interlock logic data specifies new conditions that trigger interlock for each of at least some of the plurality of field components; (3) automatically generating, by the one or more computing devices analyzing the updated interlock logic data, at least a second interlock chain visualization, wherein the second interlock chain visualization graphically indicates interlock dependencies among at least a second subset of the plurality of field components, and wherein the second subset includes (i) the second field component and (ii) at least one other field component of the plurality of field components; and (4) causing, by the one or more computing devices, at least the second interlock chain visualization to be presented via the user interface.
Aspect 10. A system for visualizing one or more interlock chains in a process control system, wherein a plurality of field components in the process control system implement a plurality of respective functions in accordance with one or more process control modules, and wherein the system comprises a configuration database, one or more computing devices, and one or more memories storing instructions that, when executed by one or more processors of the one or more computing devices, cause the one or more computing devices to: (1) detect an interlock event causing a stoppage of at least a first field component of the plurality of field components; (2) obtain, from the configuration database, pre-configured interlock logic data associated with the plurality of field components, wherein the pre-configured interlock logic data specifies conditions that trigger interlock for each of the plurality of field components; (3) automatically generate, by analyzing the pre-configured interlock logic data, at least a first interlock chain visualization, wherein the first interlock chain visualization graphically indicates interlock dependencies among at least a first subset of the plurality of field components, and wherein the first subset includes (i) the first field component and (ii) at least one other field component of the plurality of field components; and (4) cause at least the first interlock chain visualization to be presented to a user via a user interface.
Aspect 11. The system of aspect 10, wherein: (1) the pre-configured interlock logic data includes data defining a plurality of interlock configuration objects conforming to an object oriented programming protocol; (2) each of the plurality of interlock configuration objects represents an interlocking relationship between a respective pair of field components among the plurality of field components; and (3) the instructions cause the one or more computing devices to automatically generate at least the first interlock chain visualization based at in least in part upon the plurality of interlock configuration objects.
Aspect 12. The system of aspect 10 or aspect 11, wherein the instructions further cause the one or more computing devices to cause information associated with the first field component to be presented to the user via the user interface, wherein the information associated with the first field component includes one or both of (i) a state of the first field component, and (ii) a measurement obtained by the first field component.
Aspect 13. The system of any one of aspects 10 through 12, wherein the first interlock chain visualization extends only between a graphic representation of the first field component and a graphic representation of another field component that triggered the interlock event.
Aspect 14. The system of any one of aspects 10 through 12 wherein the first interlock chain visualization extends at least between a graphic representation of a root field component of the first interlock chain and a graphic representation of the first field component.
Aspect 15. The system of any one of aspects 10 through 12, wherein the instructions cause the one or more computing devices to: (1) automatically generate a first interlock chain visualization that extends at least between (i) a graphic representation of a field component shared between the first interlock chain and a second interlock chain, and (ii) the graphic representation of the first field component; (2) automatically generate a second interlock chain visualization that extends at least between (i) either the graphic representation of the shared field component or another graphic representation of the shared field component, and (ii) a graphic representation of a second field component of the plurality of field components; and (3) cause at least the first interlock chain visualization and the second interlock chain visualization to be presented to the user via the user interface, wherein the graphic representation of the second field component is not included in the first interlock chain visualization, and the graphic representation of the first field component is not included in the second interlock chain visualization.
Aspect 16. The system of any one of aspects 10 through 15, wherein the instructions further cause the one or more computing devices to: (1) cause a single reset control to be presented to the user, via the user interface, contemporaneously with the first interlock chain visualization; (2) detect a user activation of the single reset control; and (3) in response to detecting the user activation of the single reset control, cause a reset of at least the first subset of the plurality of field components.
Aspect 17. A non-transitory, computer-readable medium storing instructions that, when executed by one or more computing devices, cause the one or more computing devices to: (1) detect an interlock event causing a stoppage of at least a first field component of a plurality of field components in a process control system, wherein the plurality of field components implement a plurality of respective physical functions in accordance with one or more process control modules; (2) obtain pre-configured interlock logic data associated with the plurality of field components, wherein the pre-configured interlock logic data conditions that trigger interlock for each of the plurality of field components; (3) automatically generate, by analyzing the pre-configured interlock logic data, at least a first interlock chain visualization, wherein the first interlock chain visualization graphically indicates interlock dependencies among at least a first subset of the plurality of field components, and wherein the first subset includes (i) the first field component and (ii) at least one other field component of the plurality of field components; and (4) cause at least the first interlock chain visualization to be presented to a user via a user interface.
Aspect 18. The non-transitory, computer-readable medium of aspect 17, wherein: (1) the pre-configured interlock logic data includes data defining a plurality of interlock configuration objects conforming to an object oriented programming protocol; (2) each of the plurality of interlock configuration objects represents an interlocking relationship between a respective pair of field components among the plurality of field components; and (3) the instructions cause the one or more computing devices to automatically generate at least the first interlock chain visualization based at in least in part upon the plurality of interlock configuration objects.
Aspect 19. The non-transitory, computer-readable medium of aspect 17 or aspect 18, wherein the first interlock chain visualization extends only between a graphic representation of the first field component and a graphic representation of another field component that triggered the interlock event.
Aspect 20. The non-transitory, computer-readable medium of any one of aspects 17 through 19, wherein the instructions further cause the one or more computing devices to: (1) cause a single reset control to be presented to the user, via the user interface, contemporaneously with the first interlock chain visualization; (2) detect a user activation of the single reset control; and (3) in response to detecting the user activation of the single reset control, cause a reset of at least the first subset of the plurality of field components.
When implemented in software, any of the applications and functions described herein may be stored as instructions in any tangible, non-transitory computer readable memory such as on a magnetic disk, a laser disk, solid state memory device, molecular memory storage device, or other storage medium, in a RAM or ROM of a computer or processor, etc. Although the example systems disclosed herein are disclosed as including, among other components, software and/or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components could be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Accordingly, while the example systems described herein are described as being implemented in software executed on a processor of one or more computer devices, persons of ordinary skill in the art will readily appreciate that the examples provided are not the only way to implement such systems.
Thus, 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.