Architecture independent process control
Through the separation of process control logic and communication operations between signal objects and mask blocks, combined with the automatic configuration of general mask blocks, the problem of frequent adjustment of control modules in the prior art for each device configuration and network changes is solved, and more flexible and capable Maintained process control system.
Patent Information
- Application Number
- CN202311359537.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2016-07-15
- Filing Date
- 2017-07-14
- Publication Date
- 2025-02-18
AI Technical Summary
Existing process control systems require the configuration of control modules for each field device, and network changes often require adjustments to multiple control modules, resulting in high complexity and error rates.
By separating the process control logic operations from the communication operations of the process control network using signal objects and occlusion blocks, independent communication between the control module and field devices is achieved, and automatically configured through the general occlusion block to adapt to different devices and protocols.
The independent operation of the control module and field devices is realized, reducing dependence on specific I/O architectures and protocols, improving system flexibility and maintainability, and reducing configuration and adjustment complexity.
Smart Images

Figure CN119472521A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention application with application date of July 14, 2017, application number 201710575971.2, and invention name “Architecture-independent process control”. Technical Field
[0002] Generally speaking, the present disclosure relates to process plants and process control systems, and more particularly, to architecture-independent process control systems. Background Art
[0003] Distributed process control systems, such as those used in chemical, petroleum or other process plants, typically include one or more process controllers that are communicatively coupled to one or more field devices via an analog, digital or combined analog / digital bus or via a wired communication link or network. Field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure, level and flow sensors), are located within a process environment and typically perform physical or process control functions, such as opening or closing a valve, or measuring process parameters for controlling one or more processes performed within a process plant or system. Intelligent field devices (such as field devices that conform to the well-known Fieldbus protocol) may also perform control calculations, alarm functions and other control functions typically implemented within a controller. A process controller, also typically located within a plant environment, receives signals indicating process measurements made by sensors or field devices and / or other information related to the field devices, and executes a controller application that runs, for example, different control modules (these control modules make process control decisions, generate control signals based on received information and communicate with field devices (such as Wireless and The control module in the controller sends control signals to the field devices through the communication lines or links, thereby controlling the operation of at least a part of the process plant or system.
[0004] Information from field devices and controllers is usually available through data channels for one or more other hardware devices, such as operator workstations, personal computers or computing devices, data historians, report generators, centralized databases or other centralized management computing devices, which are usually placed in control rooms or other locations away from harsher equipment environments. Each of these hardware devices is usually concentrated in the entire process plant or in a part of the process plant. These hardware devices run applications that, for example, can enable operators to perform functions related to the control process and / or operation of the process plant, such as changing the settings of process control routines, modifying the operation of control modules or field devices in controllers, viewing the current state of the process, viewing the alarms generated by field devices and controllers, simulating the operation of processes for the purpose of training personnel or testing process control software, maintaining and updating configuration databases, etc. The data channels used by hardware devices, controllers, and field devices can include wired communication paths, wireless communication paths, or a combination of wired and wireless communication paths.
[0005] As an example, the DeltaV sold by Emerson Process Management TMThe control system includes multiple applications stored in and executed by different devices in different places within the process plant. Each of these applications provides a user interface (UI) to allow users (e.g., configuration engineers, process plant operators, maintenance technicians, etc.) to view and / or modify various aspects of process plant operations and configurations. Throughout this specification, the phrase "user interface" or "UI" is used to refer to an application or screen that allows a user to view or modify the configuration, operation or status of a process plant. Similarly, the phrase "user interface device" or "UI device" is used to refer to the device on which the user interface is operating, whether the device is fixed (e.g., workstation, wall-mounted display, process control device display, etc.) or mobile (e.g., laptop computer, tablet computer, smart phone, etc.). Configuration applications residing in one or more operator workstations or computing devices enable users to create or change process control modules, and download these process control modules to a dedicated distributed controller via a data channel. Typically, these control modules are composed of functional blocks that are interconnected in communication. The configuration application may also allow the configuration designer to create or change the operator interface used by the viewing application to display data to the operator, and enable the operator to change settings such as set points within the process control routine. Each dedicated controller and in some cases one or more field devices store and execute the corresponding controller application that runs the control module assigned and downloaded to it to implement the actual process control function. The viewing application that can be executed on one or more operator workstations (or on one or more remote computing devices connected to the operator workstation and the data channel communication) receives data from the controller application via the data channel, and uses the UI to display the data to the process control system designer, operator or user, and can provide any of a plurality of different views such as operator view, engineer view, technician view, etc. The data historian application is usually stored in and executed by the data historian device, which collects and stores some or all of the data provided on the data channel, while the configuration database application can be run in another computer attached to the data channel to store the current process control routine configuration and the data associated therewith. Alternatively, the configuration database can be located in the same workstation as the configuration application.
[0006] In existing process control systems, the control of a process plant includes communicating with field devices to send and receive process control data, and implementing the operation of one or more control modules of process control logic. Because field devices can use any of a variety of operations and communication protocols, control modules must be configured to use appropriate protocols for each device to accept and provide process control data. In addition, the communication link between the control module and the field device can add additional communication protocol layers or formats to properly transmit and receive process control data. Therefore, a process control system generally includes many control modules that perform the same or similar logical operations, but these control modules are different in the type of data they receive from field devices or provide to field devices. In addition, changes in the process control network (including the replacement of field devices or changes to the communication infrastructure of the network) often require changes to multiple control modules. The invention described herein solves these problems. Summary of the invention
[0007] Disclosed herein are systems and methods for creating and operating a process control system that is independent of a communication architecture of a controlled process plant. Various aspects of the described system and method use an intermediate component to completely or partially decouple process control logic operations from communication operations within a process control network of a process plant. This separation is achieved by communicating between a control module that implements process control logic and a field device that implements control adjustments to a process plant using a signal object or a shadow block. Both signal objects and shadow blocks isolate the control module and the direct communication of the field device through the I / O architecture of the process control network, and both can handle protocol conversion for process control data transmitted between the control module and the field device. Some embodiments of the system and method disclosed herein may use both signal objects and shadow blocks, while other embodiments may use only signal objects or only shadow blocks.
[0008] According to one aspect of the invention described herein, a method for operating a process plant is disclosed, the method comprising: selecting a control module associated with a control process, associating a signal object with an input or output of the control module, and assigning a path to the signal object. The control module can receive, process and generate process control data in order to control the process plant. According to another aspect of the invention described herein, a system for operating a process plant is disclosed, the system comprising: a plurality of process control devices arranged in the process plant and a controller communicatively connected to a plurality of field devices, and the controller has at least one control module, wherein the control module has an input for receiving input process control data and an output for transmitting output process control data. The input of the control module can be associated with a signal object to receive process control data, and the signal object can have an assigned path, the assigned path specifying the output of a process control device in a plurality of process control devices. Therefore, the control module can receive process control data associated with the process control device from the signal object. Other features or components of such a system and method may be included in various embodiments such as the embodiments described below.
[0009] The path assigned to the signal object can specify the input or output of the process control device of the process plant, which can be a field device. In some embodiments, the path can specify a constant data value or other data source such as a database. Since the signal object separates the control module from the process control device, the process control data received or generated by the field device can be independent of the I / O architecture of the process plant. To this end, the signal object can receive output data from the process control device or control module, extract the process control data from the output data, and provide the process control data to the control module or process control device using a format different from the received output data. In particular, when the signal object provides process control data to the control module or user interface, the signal object can convert the output data into a standard format. Therefore, the process control data can be used directly by any control module without considering the format, protocol or other events of the I / O architecture of the process plant.
[0010] In some embodiments, another signal object may be associated with a control module. For example, a second signal object may be associated with an output of a control module to receive process control data transmitted from the output of the control module. A path to an input of a process control device of a specified process plant may be assigned to the second signal object, which may be the same process control device or another process control device. By assigning the path to the second signal object, the second signal object may provide process control data to the process control device. The signal object handles the communication between the process control module and the process control device, so the control module may indirectly transmit process control data to the process control device via the signal object, regardless of the I / O architecture associated with the process control device. In another embodiment, the input of the second control module may be associated with the second signal object to receive process control data from the second control object. In this way, the input of the second control module may receive process control data from the output of the control module via the second signal object. In another embodiment, multiple inputs or outputs of the control module may be associated with the same signal object, so that each control module receives process control data from the same process control device or provides process control data to the same process control device via the signal object. In various configurations, additional control modules or signal objects may be similarly added or connected.
[0011] In some embodiments, the control module can be implemented as an instance of a class using an object-oriented programming language. Therefore, when the control module class is updated, multiple instances of the control module class can be automatically updated. Multiple control modules or control module classes can be stored in a library, from which they can be selected for use in a process control system. Signal objects or signal object classes can be similarly stored in a library. In another embodiment, the library can store multiple control strategies. Each control strategy can contain one or more control modules, and each control module in the control strategy can have one or more signal objects associated therewith. Therefore, selecting a control strategy can cause one or more control modules with associated signal objects to be included in the process control system. The signal object associated with the control module of the control strategy may include or not include an assigned path.
[0012] In some embodiments, one or more signal objects may be unassociated with any control module. Such unassociated signal objects may communicate with a user interface to provide process control data to the user interface or receive process control data from the user interface without using any control module. For example, a path to the output of a specified process control device may be assigned to a signal object to receive process control data from the process control device. Such a signal object may be directly associated with a user interface so that the process control data of the process control device is provided to the user interface without using any control module. Subsequently, the user interface may cause the process control data to be presented to a process plant operator or other user. The signal object may perform scaling, alarming or bit picking operations on process control data. Scaling may include providing information on the scope of process control data or converting process control data into a preferred scope. When process control data meets an alarm standard, an alarm may include generating an alarm based on the alarm standard so that the user interface presents an alarm to the user. The alarm standard may be predetermined or configured by the user. Bit picking may include selecting one or more specific bits from one or more output data streams generated by one or more process control devices.
[0013] Some embodiments may include testing the operation of a process control system. Testing the process control system may include assigning a test path associated with the test data to one or more signal objects, and executing one or more control modules using the test data to simulate the operation of the control modules within the process control system. The test data may include one or more test data sets indicating operating conditions within a process plant, and may be independent of the I / O architecture of the process plant. Testing the operation of one or more control modules may include receiving output process control data from the module for each test data set, recording the received output process control data, and using the recorded output process control data to verify the correct operation of the control module. Testing may also include using the recorded output process control data to determine that the control module is not operating within a predetermined quality parameter and adjusting one or more parameters of the control module or one or more signal objects. After such adjustment, the one or more control modules may be tested again using the test data. When the test is complete, information indicating at least a portion of the I / O architecture of the process plant may be received and used to assign paths to one or more signal objects. In some embodiments, the configured one or more control modules and associated signal objects may be stored in a memory by a first computer, and the configured one or more control modules and associated signal objects may be retrieved from the memory by a second computer to implement a process control system for assigning paths to signal objects. In further embodiments, a path may be assigned to one or more signal objects at runtime during execution of an associated control module in an operating process plant.
[0014] According to another aspect of the invention described herein, a method for operating a process plant is disclosed, the method comprising: receiving an indication of a control module for operating the process plant at a controller communicatively connected to a plurality of field devices, associating a universal shielding block within the controller with the control module, receiving descriptive data about the field devices communicatively connected to the controller, and configuring the universal shielding block to mimic the operation of a functional block of the field device within the controller based on the received descriptive data. The descriptive data describes the function of the field device, which may include a description of the functional block operating within the field device. In some embodiments, the descriptive data may include data describing the field device in a standard text-based description language. The descriptive data may also include information about an I / O architecture associated with the field device. In some embodiments, some or all of the descriptive data may be received by sending a request for the descriptive data to the field device and receiving the descriptive data from the field device. Some or all of the descriptive data may alternatively be received from a database containing information about the process plant.
[0015] Associating the universal masking block with the control module may include specifying a reference to an input or output of the control module to identify the universal masking block. Such a reference may specify a path to a field device. A reference to an input or output of a control module may be similarly specified to identify a constant value. Some embodiments may include associating one or more additional universal masking blocks within a controller with an input or output of a control module, receiving additional descriptive data, and configuring one or more additional universal masking blocks. Additional descriptive data may include information about one or more additional field devices communicatively connected to the controller, which may include descriptions of function blocks of these additional field devices. Prior to configuration, one or more additional universal masking blocks may be identical to the universal masking block, such that configuration using additional descriptive data causes the universal masking block to become specifically configured to mimic the operation of the function blocks of one or more additional field devices within the controller. Therefore, the universal masking block may even be used with field devices or function blocks within field devices that are different in type or use different communication protocols.
[0016] When executing the control module, the controller can determine whether the universal masking block has been configured. If the universal masking block has not been configured, the controller can configure the universal masking block by receiving an indication of a field device, receiving descriptive data about the field device based on the received indication of the field device, and configuring the universal masking block using the received descriptive data. In some embodiments, the indication of the field device can be selected by a process plant operator. The indication of the field device can also be received from a database containing information about the process plant.
[0017] In another embodiment, the configured masking block can receive and convert process control data for communication between the control module and the field device. The configured masking block can receive process control data from the field device, convert the received process control data into a standard format independent of the configuration of the general masking block using the descriptive data, and provide the converted process control data to the input of the control module in the standard format. The configured masking block can similarly receive process control data from the output of the control module in a standard format independent of the field device and the I / O architecture of the process plant, convert the process control data from the standard format to a second format used by the field device, and transmit the converted process control data to the field device.
[0018] In some embodiments, the control module can be an instance of a control module class that is independent of the type of field device and the I / O architecture of the process plant. A universal shielding block can similarly be an instance of a universal shielding block class. Based on the control module class, one or more universal shielding blocks can be automatically associated with the control module. In order to allow each control module class to cover more process plant configurations or operations, the control module may include an option for ignoring one or more inputs from a universal shielding block or outputs to a universal shielding block. In addition, the control module or aspects of the control module can be presented to a process plant operator or other user of a process control system using a standard format based on the control module class. For example, a user interface configured to operate a process plant can be generated at a controller or user device, and the user interface may include a representation of a control module. The user interface may present information about the process plant to a process plant operator or other user, which may include one or more representations of control modules of the same class, so that all control modules of the same class are represented by the same standard format. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1A-1B is a block diagram of an exemplary process control network operating in a process control system or process plant.
[0020] Figure 2 is a block diagram illustrating an exemplary communication structure of a process control system of a process control network according to the description herein.
[0021] Figure 3 is a block diagram further illustrating an exemplary communication structure of a process control system of a process control network according to the description herein.
[0022] Figure 4 is a block diagram of example control modules within an example process control system further illustrating a process control network according to the description herein.
[0023] Figure 5 A flow chart illustrating an example method of configuring a process control system for a process control network according to the description herein.
[0024] Figure 6 is a block diagram illustrating an example configuration of a control module using a generic masking block within a process control network according to the description herein.
[0025] Figure 7 A flow chart illustrating an example method for instantiating a masking block using a generic masking block within a process control network according to the description herein. DETAILED DESCRIPTION
[0026] Process control systems are used in a wide range of industrial applications to monitor and operate process plants. Such process control systems can be constructed to utilize control modules that implement control logic blocks, cycles, routines or functions. Control modules (e.g., from measuring devices in process plants) receive input process control data and generate output process control data (e.g., control commands for operating valves, pumps, etc.). Control modules are often executed in controllers away from field devices, which generate input process control data or receive output process control data. In order to communicate with such field devices, control modules can make process control data be sent or received through various communication links of the process plant that constitutes the I / O architecture of the process plant. As used herein, "I / O architecture" means all or part of the physical and communication infrastructure of a process plant, which may include the number and type of communication links, communication relays or switches, communication protocols, communication formats, the type of equipment, equipment specifications, equipment protocols, equipment operations or communication formats.
[0027] In order to manage the communication of process control data or other data on the I / O architecture, various embodiments of the present invention described herein can utilize shielding blocks or signal objects. Shielding blocks or signal objects separate control modules from the I / O architecture to varying degrees by managing various aspects of the communication between control modules and field devices. Shielding blocks can be configured to mimic the operation of field devices (or functional blocks in field devices) in controllers or other devices that execute control modules, thereby allowing control modules to interact with shielding blocks as if they were actual field devices. Subsequently, shielding blocks can use the I / O architecture to send and receive process control data. Signal objects can be configured to connect control modules to field devices, which can include converting process control data between protocols used in the I / O architecture and standard formats used by control modules. Therefore, signal objects can be used to manage the communication between control modules and field devices or other control modules. Signal objects can also be used to directly transmit process control data to a user interface, thereby bypassing the control module for simple presentation or alarm functions.
[0028] System Overview
[0029] First turn to the overall architecture of the example process plant, Figure 1Ais a block diagram of an exemplary process control network 100 operating in a process control system or process plant 10 (or a portion thereof). The process control network 100 may include a network backbone 105 that provides connections between various other devices, directly or indirectly. In various embodiments, devices coupled to the network backbone 105 include access points 72, gateways 75 to other process plants (e.g., via an intranet or enterprise wide area network), gateways 78 to external systems (e.g., to the Internet), UI devices 112, servers 150, databases 140, big data appliances 102 (e.g., including a big data historian), big data expert systems 104, supervisory engines 106, controllers 11, input / output (I / O) cards 26 and 28, wired field devices 15-23, wired control devices 24, wireless gateways 35, and a combination of wireless communication networks 70. The communication network 70 may include wireless devices 40-58, including wireless field devices 40-46, wireless adapters 52a and 52b, access points 55a and 55b, and routers 58. Wireless adapters 52a and 52b may be connected to non-wireless field devices 48 and 50, respectively. Controller 11 may include processor 30, memory 32, and one or more control routines 38. Figure 1A Only a single device is depicted as connected to the network backbone 105 , but it should be understood that each of the devices may have multiple instances on the network backbone 105 , and in fact, the process plant 10 may include multiple network backbones 105 .
[0030] The UI device 112 can be communicatively connected to the controller 11 and the wireless gateway 35 via the network backbone 105. The controller 11 can be communicatively connected to the wired field devices 15-23 via the I / O cards 26 and 28, and can be communicatively connected to the wireless field devices 40-46 and the non-wireless field devices 48-50 via the network backbone 105 and the wireless gateway 35. Some of the field devices 22 and 23 can be indirectly connected to the controller 11 through the control device 24, which communicates directly with the field devices 22 and 23 and communicates with the controller 11 via the I / O card 28. The controller 11 can be operated to implement a batch process or a continuous process using at least some of the field devices 15-23 and 40-50. The controller 11 (for example, it can be a DeltaV sold by Emerson Process Management) TM The controller 11 can also communicate with, for example, standard 4-20 mA devices, I / O cards 26, 28 and / or any intelligent communication protocol (e.g. Fieldbus protocol, Protocol, Wireless Any desired hardware and software associated with the FPGA (such as FPGA protocols, etc.) to communicatively connect to the field devices 15-23 and 40-50. Figure 1A In the illustrated embodiment, the controller 11, the field devices 15-23 and 48-50, the control device 24 and the I / O cards 26, 28 are wired devices, and the field devices 40-46 are wireless field devices. However, unless the context indicates otherwise, any field device 15-23 or 40-50 mentioned herein may be implemented as a wired or wireless field device, and the communication connection between the controller 11 and the field device 15-23 or 40-50 may include one or both of a wired connection or a wireless connection. Although process control is discussed herein from the perspective of field devices, any type of process control device may be used in any of the various described embodiments.
[0031] In the operation of the UI device 112, in some embodiments, the UI device 112 can execute a user interface ("UI"), allowing the UI device 112 to accept input via an input interface and provide output at a display. The UI device 112 can receive data (e.g., process-related data such as process parameters, log data, sensor data, and / or any other data that can be captured and stored in the big data device 102) from the server 150. In other embodiments, the UI can be executed in whole or in part at the server 150, where the server 150 can send display data to the UI device 112. The UI device 112 can receive UI data (which may include display data and process parameter data) from other nodes in the process control network 100 such as the controller 11, the wireless gateway 35, or the server 150 via the backbone 105. Based on the UI data received at the UI device 112, the UI device 112 provides output (i.e., a visual representation or graphic) representing aspects of the process associated with the process control network 100, allowing the user to monitor the process. The user can also control the process by providing input at the UI device 112. By way of example, the UI device 112 may provide a graphic representing, for example, a tank filling process (including data from one or more field devices). In this scenario, the user may read the tank level measurement and decide that the tank needs to be filled. The user may interact with the inlet valve graphic displayed at the UI device 112 and input a command to cause the inlet valve to open.
[0032] In further operation, in addition to the UI, the UI device 112 can execute multiple routines, modules or services. In one embodiment, the UI device 112 can execute context-aware routines, which may include, for example, various routines or subroutines related to location awareness, device awareness or scheduling awareness. These context routines can enable the UI device 112 to present a graphical user interface configuration ("GUI configuration") suitable for the specific environment or context in which the UI device 112 operates. The UI device 112 can also execute a state determination routine so that the UI device 112 can track and save the state of the UI device 112, including the state of the application (such as UI) being executed at the UI device 112. By tracking the state of the application on the UI device 112, the UI device 112 can allow the user to, for example, initiate a session on the first UI device 112 and start using the second UI device 112, restoring the workflow from the user's previous session with minimal interruption.
[0033] The UI device 112 (or a server that supplies applications or screens to the UI device 112) can also perform routines related to managing plant assets. For example, some routines can be used to install, replace, maintain, calibrate, diagnose or debug assets in a process plant. Other routines can be used to prepare or complete work orders associated with specific assets and / or notify plant staff (e.g., personnel near specific equipment) of work orders. The UI device 112 can perform routines related to monitoring the process. For example, some routines can be used to record instrument data on site, report laboratory samples, display real-time asset parameters, etc. The UI device 112 can also perform routines related to complying with factory procedures and workflows. For example, some routines can provide information related to standard operating procedures (SOPs), startup procedures, shutdown procedures, lockout procedures, work instructions or other product / asset documents. When the UI device 112 is coupled to a network, other routines can facilitate the immediate transmission of work orders and the availability of instant systems to offline, manually entered data. The communication routines may include email routines, text messaging routines, instant messaging routines, etc. to facilitate communications between plant personnel and / or external parties providing technical or other support.
[0034] The UI device 112 (or a server that supplies applications or screens to the UI device 112) may also include routines that support and / or facilitate one or more audit processes. The audit process may include, for example, a work audit and / or a management audit. In an embodiment, the routine may allow a user to view data and / or generate reports related to the collected, maintained, and / or collated data to meet management requirements. For illustrative purposes, a mobile control room is implemented in a pharmaceutical manufacturing plant, which may facilitate viewing or reporting of collected data to meet government requirements related to the safety of the factory's product output. In an embodiment, the routine may allow a user to view and / or generate reports related to auditing work orders, maintenance, or other factory processes.
[0035] In some embodiments, the UI device 112 can implement any type of client, such as a thin client, a web client, or a thick client. For example, the UI device 112 can rely on other nodes, computers, or servers to perform a large amount of processing required for the operation of the UI device 112. In this example, the UI device 112 can communicate with a server 150, wherein the server 150 can communicate with one or more other nodes on the process control network 100 and can determine the display data and / or process control data sent to the UI device 112. In addition, the UI device 112 can pass any data related to the received user input to the server 150 so that the server 150 can process the data related to the user input and operate accordingly. In other words, the UI device 112 can do more than just present graphics, and serve as a portal to one or more nodes or servers that store data and perform routines required for the operation of the UI device 112. Thin client UI devices provide the advantage of minimal hardware requirements for the UI device 112.
[0036] In other embodiments, the UI device 112 can be a network client. In such embodiments, the user of the UI device 112 can interact with the process control system via a browser at the UI device 112. The browser enables the user to access data at another node or server 150 (e.g., server 150) via the backbone 105. For example, the browser can receive UI data such as display data or process parameter data from the server 150, allowing the browser to depict some or all of the graphics used to control and / or monitor the process. The browser can also receive user input (e.g., mouse clicks on the graphics). User input can enable the browser to obtain or access information resources stored on the server 150. For example, a mouse click can enable the browser (from the server 150) to obtain and display information related to the clicked graphics. In other embodiments, a large amount of processing for the UI device 112 can occur at the UI device 112. For example, the UI device 112 can execute the UI, state determination routines, and context awareness routines discussed previously. The UI device 112 can also store, access, and analyze data locally.
[0037] In operation, a user can interact with the UI device 112 to monitor or control one or more devices in the process control network 100, such as any of the field devices 15-23 or devices 40-50. A user can interact with the UI device 112, for example, to modify or change parameters associated with a control routine 38 stored in the controller 11. The processor 30 of the controller 11 implements or supervises one or more process control routines 38 (stored in the memory 32), which may include a control loop. The processor 30 can communicate with the field devices 15-23 and 40-50 and with other nodes communicatively connected to the backbone 105. It should be noted that, if desired, any control routine or module described herein (including quality prediction and fault detection modules or functional blocks) can have its components implemented or executed by different controllers or other devices. Similarly, the control routines or modules described herein to be implemented within the process plant 10 can take any form, including software, firmware, hardware, etc. The control routine can be implemented in any desired software format, such as using object-oriented programming, ladder logic, sequential function charts, functional block diagrams, or using any other software programming language or design paradigm. In particular, the control routine can be implemented by a user through the UI device 112. The control routine can be stored in any desired type of memory, such as a random access memory (RAM) or a read-only memory (ROM). Similarly, the control routine can be hard-coded to, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Therefore, the controller 11 can be configured (in some embodiments by a user using the UI device 112) to implement a control strategy or control routine in any desired manner.
[0038] In some embodiments of the UI device 112, a user may interact with the UI device 112 to implement a control strategy at the controller 11 using what are generally referred to as function blocks, wherein each function block is an object or other portion (e.g., a subroutine) of an overall control routine and operates in conjunction with other function blocks (via communications referred to as links) to implement a process control loop within the process plant 10. Function block-based control typically performs one of the following: an input function, such as an input function associated with a transmitter, sensor, or other process parameter measurement device; a control function, such as a control function associated with a control routine that performs PID, fuzzy logic, etc. control; or an output function that controls the operation of some device (e.g., a valve) to perform some physical function within a process control system. Of course, there are hybrid and other types of function blocks. The function block may have a graphical representation provided at the UI device 112, allowing the user to easily modify the type of function block, the connections between function blocks, and the input / output control system associated with each function block implemented in the process control system. Function blocks can be stored in and executed by the controller 11, which is typically when these function blocks are used or communicated with standard 4-20mA devices and some types of smart field devices (such as The function blocks may be stored in and implemented by the field device itself, which may be the case with a Fieldbus device. In the case where the function blocks are implemented by the field device itself, a mask block 36 may be executed by the controller 11 to mimic the operation of the function blocks. The controller 11 may include one or more control routines 38 that may implement one or more control loops. Each control loop is generally referred to as a control module 34 and may be performed by executing one or more of the function blocks.
[0039] In some embodiments, the UI device 112 interacts with the big data appliance 102 and / or the expert system 104 and / or the supervisory engine 106. The big data appliance 102 can collect and store all types of process control data from the process plant 10, including sensor data, control parameters, manually input data (e.g., static data entered by process plant operators), personnel location and command inputs, time stamps associated with all data, and any other type of data available at the process plant 10. The expert system 104, which is communicatively coupled to the big data appliance 102, can operate independently or based on specific user input to analyze the process plant data stored in the big data appliance 102. The expert system 104 can develop and / or use models, identify data trends and / or correlations, alert plant personnel to actual or predicted problems and / or abnormal conditions and / or suboptimal conditions that may affect or will soon affect the process plant 10, etc. In some embodiments, the expert system 104 performs these functions without being specifically programmed to associate a particular set of data or trends with a particular problem or condition, and instead identifies that a current trend or data concurrency has occurred before or around the time of a previous condition (which may be a positive / desirable condition or a negative / undesirable condition). From the identification of a previous occurrence of a trend or data concurrency, the expert system 104 can predict the condition. The expert system 104 can also determine which process variables, sensor readings, etc. are most important in detecting, predicting, preventing and / or correcting abnormal conditions in the process plant 10 based on the data stored in the big data device 102. For example, the expert system 104 can determine that hydrocarbons are being emitted from a chimney, and can automatically determine the cause of the hydrocarbon emissions and / or cause (e.g., by the supervisory engine 106) to generate a work item for correcting the problem that caused the hydrocarbon emissions and / or cause a work item for inspecting equipment or observing / recording parameters that are not available via a network. As another example, the expert system 104 can determine a trend indicated by a series of previous data points that indicates a predicted abnormal condition, a predicted maintenance problem, a predicted failure, etc.
[0040] As described in detail below, the supervisory engine 106 can interact with the big data device 102 and / or the expert system 104 to automatically perform and / or facilitate various supervisory activities. For example, the supervisory engine 106 can monitor trends identified by the expert system 104 and create work items for plant personnel. As another example, the supervisory engine 106 can monitor the calibration status of process plant resources and can create work items for plant personnel. In conjunction with these functions, the supervisory engine 106 can also manage personnel authentication, permission to access equipment during the execution of scheduled work items, and the timing of work item execution. The supervisory engine 106 can interact with the UI device 112 to assign and track the execution of work items, and follow up after the completion of the work item to verify that the state or indication (e.g., identified trends, abnormal conditions, etc.) that caused the creation of the work item is resolved. For example, the supervisory engine 106 can determine from the expert system 104 that the valve is faulty and create a work item. The supervisory engine 106 can later determine that a maintenance person carrying the UI device 112 is near the faulty valve and request that the work item be assigned to the maintenance person, who can accept the work item via the UI device 112. The supervisory engine 106 can verify that the maintenance personnel have the appropriate skills to perform the work item and can provide the maintenance personnel with the necessary permissions to perform the work item. In addition, the supervisory engine 106 can reschedule process control activities so that the work item can be completed. The supervisory engine 106 can provide standard operating procedures, manuals, and other documents to personnel before and / or during the performance of the work item. These are just a few examples of the supervisory engine 106, which will be further explained below.
[0041] Still reference Figure 1A , the wireless field devices 40-46 use wireless The wireless field devices 15-23 and 40-46 may communicate in a wireless network 70 using a wireless protocol such as a wireless protocol. In some embodiments, the UI device 112 is capable of communicating with wireless field devices 40-46 using the wireless network 70. Such wireless field devices 40-46 may communicate directly with one or more other nodes in the process control network 100 that are also configured to communicate wirelessly (e.g., using a wireless protocol). In order to communicate with one or more other nodes that are not configured to communicate wirelessly, the wireless field devices 40-46 may utilize a wireless gateway 35 connected to the backbone 105. Of course, the field devices 15-23 and 40-46 may conform to any other desired (one or more) standards or protocols, such as any wired or wireless protocols, including any standards or protocols developed in the future.
[0042] The wireless gateway 35 may provide access to the various wireless devices 40-58 of the wireless communication network 70. In particular, the wireless gateway 35 provides a connection between the wireless devices 40-58 and other nodes of the process control network 100, including Figure 1A11). In some cases, the wireless gateway 35 provides communication coupling (e.g., address translation, routing, packet segmentation, prioritization, etc.) to lower layers of the wired and wireless protocol stacks through routing, buffering, and timing services, while tunneling one or more shared layers of the wired and wireless protocol stacks. In other cases, the wireless gateway 35 can convert commands between wired and wireless protocols that do not share any protocol layers. In addition to protocol and command conversion, the wireless gateway 35 can provide a synchronized clock used by time slots and superframes (a collection of communication time slots equally spaced in time) of a scheduling scheme associated with the wireless protocol implemented in the wireless network 70. In addition, the wireless gateway 35 can provide network management and control functions for the wireless network 70, such as resource management, performance adjustment, network fault mitigation, monitoring services, security, etc.
[0043] Similar to the wired field devices 15-23, the wireless field devices 40-46 of the wireless network 70 can perform physical control functions within the process plant 10, such as opening or closing a valve or taking a measurement of a process parameter. However, the wireless field devices 40-46 are configured to communicate using the wireless protocol of the network 70. Therefore, the wireless field devices 40-46, wireless gateways, and other wireless nodes 52-58 of the wireless network 70 are producers and consumers of wireless communication packets.
[0044] In some scenarios, the wireless network 70 may include non-wireless devices. For example, Figure 1A The field device 48 may be a legacy 4-20mA device and the field device 50 may be a traditional wired To communicate within the network 30, the field devices 48 and 50 may be connected to the wireless communication network 70 via a wireless adapter (WA) 52a or 52b. In addition, the wireless adapters 52a, 52b may support such Fieldbus, PROFIBUS, DeviceNet, etc. In addition, the wireless network 30 may include one or more network access points 55a, 55b, which may be separate physical devices that communicate with the wireless gateway 35 by wire, or may be provided as an integral device with the wireless gateway 35. The wireless network 70 may also include one or more routers 58 to forward packets from one wireless device to another within the wireless communication network 30. The wireless devices 32-46 and 52-58 may communicate with each other and with the wireless gateway 35 over the wireless links 60 of the wireless communication network 70.
[0045] therefore, Figure 1ASeveral examples of provider devices are included, which are primarily used to provide network routing functions and control to various networks of the process control system. For example, the wireless gateway 35, access points 55a, 55b, and router 58 include functions for routing wireless packets in the wireless communication network 70. The wireless gateway 35 performs traffic management and control functions for the wireless network 70, as well as routing traffic to and from wired networks that are in communication connection with the wireless network 70. The wireless network 70 can utilize a wireless process control protocol (e.g., Wireless LAN) that specifically supports process control messages and functions. ).
[0046] In some embodiments, the process control network 100 may include other nodes connected to the network backbone 105 that communicate using other wireless protocols. For example, the process control network 100 may include one or more wireless access points 72 that use other wireless protocols (e.g., WiFi or other IEEE 802.11 compatible wireless LAN protocols), mobile communication protocols (e.g., WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) or other ITU-R (International Telecommunication Union Radiocommunication Sector) compatible protocols), shortwave radio communications (near field communication (NFC) and Bluetooth) or other wireless communication protocols. Typically, such wireless access points 72 allow handheld or other portable computing devices to communicate on a corresponding wireless network that is different from the wireless network 70 and supports wireless protocols different from the wireless network 70. In some embodiments, the UI device 112 uses the wireless access point 72 to communicate on the process control network 100. In some scenarios, in addition to the portable computing device, one or more process control devices (eg, the controller 11 , the field devices 15 - 23 , or the wireless devices 35 , 40 - 58 ) may communicate using a wireless network supported by the access point 72 .
[0047] Additionally or alternatively, the provider device may include one or more gateways 75, 78 to systems external to the current process plant 10. In such an embodiment, the UI device 112 may be used to control, monitor, or otherwise communicate with the external system. Typically, such a system is a consumer or supplier of information generated, used, or changed by the process plant 10. For example, the plant gateway node 75 may communicatively connect the current process plant 10 (having its own corresponding process control data network backbone 105) to another process plant having its own corresponding network backbone. In an embodiment, a single network backbone 105 may serve multiple process plants or process control environments.
[0048] In another example, the factory gateway node 75 can communicatively connect the current process plant to an old or prior art process plant that does not include the process control network 100 or the backbone 105. In this example, the factory gateway node 75 can convert or transform messages between the protocol used by the process control big data backbone 105 of the factory 10 and the different protocols used by the traditional system (e.g., Ethernet, Profibus, Fieldbus, DeviceNet, etc.). In this example, the UI device 112 can be used to control, monitor or otherwise communicate with the system or network in the old or prior art process plant. In other examples, the backbone 105 may include the old system of the factory 10, and the factory gateway node 75 can connect the old system backbone 105 to the big data backbone of another factory.
[0049] The provider equipment may include one or more external system gateway nodes 78 to connect the process control network 100 to an external public or private system (e.g., a laboratory system (e.g., a laboratory information management system or LIMS), a personnel rounds database, a material handling system, a maintenance management system, a product inventory control system, a production scheduling system, a weather data system, a transportation and processing system, a packaging system, the Internet, another provider's process control system, or other external system) in a network communication. For example, the external system gateway node 78 can facilitate communication between the process control system and personnel outside the process plant (e.g., personnel at home). In one such example, an operator or maintenance technician can use a UI device 112 from his home to connect to the network backbone 105 via a home network (not shown), the Internet, and the gateway 78. In another example, an operator or maintenance technician can use the UI device 112 from any location to connect to the network backbone 105 via a mobile phone network (not shown), the Internet, and the gateway 78. The gateway node 78 can also facilitate communication between plant personnel in the process plant and entities or personnel outside the process plant. For example, a technician performing service on a process control device in a process plant may communicate with a support representative from the manufacturer of the process control device from their UI device 112. In another example, the supervisor engine 106 may monitor weather, track incoming supply shipments, track financial data (e.g., commodity futures), etc. to assist the supervisor engine 106 in scheduling work items, managing production scheduling, etc. Of course, all connections formed via the gateway 78 (or gateway 75 or indeed between any two devices) may be secure connections (e.g., encrypted connections, firewall connections, etc.).
[0050] although Figure 1AA single controller 11 is shown with a limited number of field devices 15-23 and 40-50, but this is merely an illustrative and non-limiting embodiment. Any number of controllers 11 may be included in the provider device of the process control network 100, and any one of the controllers 11 may communicate with any number of wired or wireless field devices 15-23, 40-50 to control the process in the plant 10. In addition, the process plant 10 may also include any number of wireless gateways 35, routers 58, access points 55, wireless process control communication networks 70, access points 72 and / or gateways 75, 78.
[0051] Figure 1B 1 is a block diagram of a portion of a process control network 100 operating in a process control system of a process plant 10, and in particular illustrating the operation of an exemplary controller 11. As shown, the controller 11 is communicatively connected to a user interface device 112 via a network backbone 105. The controller 11 is also connected to field devices 20, 22, and 23 and a control device 24. Specifically, the controller 11 is connected to the field devices 22 and 23 via the control device 24. In various embodiments, additional communication links or components in an I / O architecture (not shown) may also be included.
[0052] Figure 1B The block diagram of shows in particular the configuration of a control module 34, which uses a mask block 36 to represent the function blocks implemented in the field devices 20, 22 and 23 in the controller 11. The control module 34 can be any type of control module used in the operation of the process plant 10, such as a PID controller. For clarity, only one control module 34 is shown, but the process plant controller generally includes multiple control modules. Such a control module can be implemented as a hardware module, a software module, or a combination thereof. The control module 34 can include any number of inputs (IN) and outputs (OUT), each of which can reference a data source as an input or a component as an output. The input or output can also reference other control modules. The exemplary control module 34 receives input from a mask block 36A and a reference constant 37 that simulates the field device 20. The exemplary control module 34 processes the input data to generate an output to a mask block 36B that simulates one or more of the field devices 22 or 23. The mask block 36A communicates with the field device 20, and the mask block 36B communicates with the control device 24. The control device 24 also communicates with and controls the field devices 22 and 23 , which in some embodiments may be legacy field devices or other field devices that are not capable of directly communicating with the controller 11 .
[0053] As discussed further below, the shielding block 36 is implemented by the control module 34 to mimic the operation of a function block (not shown) within the field devices 20, 22, and 23. This isolates the control module 34 from the necessity of establishing and maintaining communications with the field devices 20, 22, and 23 via the I / O architecture. By using the shielding block, the control module 34 can perform process monitoring and control functions regardless of the I / O architecture connecting the controller 11 and the field devices 20, 22, and 23. However, the shielding block 36 must be configured to establish and maintain a communication link with the field devices 20, 22, and 23. Therefore, the shielding block 36 must be aware of the I / O architecture, the communication protocol, and the operating specifications of the field devices 20, 22, and 23. In addition, in some embodiments, the control module 34 must be configured to communicate with the shielding block 36 using the appropriate protocol used by the field devices 20, 22, and 23.
[0054] The reference constant 37 is a stored value that may be permanently fixed, set by a process plant operator or other user, or generated by the controller 11 or other computing device within the process control network 100. For example, the reference constant 37 may be set by the big data appliance 102, the expert system 104, the supervisory engine 106, or the server 150 periodically or when an event occurs, such as during the initial setup of the process plant 10. In some embodiments, the reference constant 37 may be set by the process plant operator via the UI device 112 or retrieved from the database 140. As another example, the reference constant 37 may include a constant data value, such as a set point for a process condition.
[0055] Figure 1B It is intended to explain that the scope of this specification is not limited to Figure 1A The process plant described herein is described herein and may be applicable to other control, monitoring and safety systems, etc. Although the present specification describes embodiments in terms of the process plant 10 , this convention is for convenience only and is not intended to be limiting.
[0056] Signal Object
[0057] According to aspects of the invention disclosed herein, signal objects can be used to separate the control logic and user interface for operating the process plant 10 from the communication with the field devices within the process control network 100. The signal object can be set in the controller 11 or the UI device 112, and can be configured to establish, maintain or utilize the communication connection with the field devices 15-23, 40-50. The signal object can be associated with the control module 34 to facilitate process control by transmitting process control data between the control modules or between the control module and the field device. To achieve such communication, the signal object can also be assigned a path that specifies the data source from which the process control data is received or the data target to which the process control data is sent. In order to further separate the control module and the communication with the field device, the signal object can receive process control data independent of the I / O architecture associated with the field device of the process plant, and transmit the process control data to the field device in a manner that takes into account the relevant I / O architecture. Similarly, regardless of the I / O architecture associated with the received process control data, the signal object can provide process control data to the control module in a standard format.
[0058] Figure 2 1 is a block diagram illustrating an exemplary communication structure of a process control system 200 of the process control network 100, illustrating the communication between the layers of the process control system. The process control system 200 monitors and controls at least a portion of the process plant 10 according to the methods described herein. Although the process control system 200 is implemented using various components of the process control network 100, Figure 2 These components and communication architectures are omitted to improve clarity of salient features. The exemplary process control system 200 includes four layers: a user interface (UI) layer 210 , a module layer 220 , a signal layer 230 , and a device layer 240 .
[0059] The layers 210, 220, 230, and 240 communicate to operate the process plant 10. The UI block 212 of the UI layer 210 presents information to the process plant operator and receives commands regarding changes in the process plant operation. The UI layer 210 communicates with the module layer 220, and in some embodiments, the UI layer 210 may also communicate with the signal layer 230. The UI block 212 receives process control data from the control module 222 or the signal object 232, wherein the process control data may be presented to the process plant operator, processed to generate additional data, or stored for subsequent use. The UI block 212 also sends an indication of the process control data or control command to the control module 222 in the module layer 220 to operate the process plant 10. In some embodiments, the UI block 212 may also send an indication of the process control data or control command directly to the signal object 232 in the signal layer 230 to operate the process plant 10. The control module 222 is configured to operate the process plant 10 according to parameters or metrics that can be set or adjusted by a process plant operator via the UI block 212. To operate the process plant 10, the control module 222 receives process control data generated by the field devices 242, processes the process control data, and sends other process control data (i.e., control commands) to the field devices 242.
[0060] The field device 242 provides process control data to the control module 222 through the signal object 232, and the control module 222 receives process control data from the field device 242 through the signal object 232. In addition, the control module 222 also sends process control data to the field device 242 through the signal object 232, and the field device 242 receives process control data through the signal object 232. The signal object 232 is used as a communication link between the field device 242 and the control module 222 or the UI block 212 to convert or transform the process control data and maintain the communication connection between the control module 222 and the field device 242. By inserting the signal layer 230 between the module layer 220 and the device layer 240, the control module 222 is separated from the field device 242. This separation allows the control module 222 to operate in a manner independent of the specific field device configuration or the I / O architecture of the process plant 10.
[0061] The UI layer 210 includes a UI block 212, which implements part or all of the UI programs that present information to the process plant operator and receive commands from the process plant operator. The UI block 212 can be executed in one or more UI devices 112, servers 150, or controllers 11. Each UI block 212 can implement some process control interface functions, such as displaying process plant information to the process plant operator, setting operating conditions within a portion of the process plant 10, setting or presenting alarms to the process plant operator, or presenting summary information to the process plant operator. The UI block 212 can receive process information from one or more modules 222 or from a signal object 232 (which may include process control data). Some of the received process information can be summarized or used to generate additional information to be presented to the process plant operator via the UI device 112. In addition, some UI blocks 212 can store or track the received information for use or presentation to the process plant operator when requested without displaying the process information in other ways. Each UI block 212 can be part of a process control system, or can be a separate process control system that can be executed on different devices for different users. Some of the UI blocks 212 may also be configured to receive input from a user (e.g., a process plant operator) to control one or more aspects of the operation of the process plant 10 through the modules 222. For example, a process plant operator may select changes to parameters (e.g., temperature, pressure, flow, etc.) within the process plant 10, which may be communicated to one or more modules 222 for implementation. Although the example process control system 200 shows two UI blocks 212A and 212B, any number of such UI blocks 212 may be included in various embodiments.
[0062] The module layer 220 includes control modules 222 that perform monitoring and control operations within the process plant 10. As further discussed herein, each control module 222 may be a control module 34 that runs in the controller 11. In various embodiments, the control module 222 may also be implemented by one or more UI devices 112, servers 150, expert systems 104, or supervisory engines 106. The control module 222 may be controlled, configured, or selected by a process plant operator via the UI block 212, and the control module 222 may provide process information to the UI block 212. In some embodiments, the control module 222 may be initially configured by a process engineer or technician when the process control network 100 or control system is initially configured. The control module 222 may implement a control loop or control routine to maintain normal operation of the process plant 10, such as a feedback loop (e.g., a PID loop, a PI loop, a PD loop, etc.) or a feedforward loop. In order to control the process plant 10, the control module 222 receives input signals from one or more signal objects 232 representing the output of one or more field devices 242. The control modules 222 may also generate output signals that may be communicated via signal objects 232 to control one or more of the field devices 242. Although the example process control system 200 shows three control modules 222A, 222B, and 222C, any number of such control modules 222 may be included in various embodiments.
[0063] The signal layer 230 includes a signal object 232 that provides process control data to or receives process control data from the control module 222. The signal object 232 can be associated with an input or output of the control module 222 to transmit process control data in a standard format. The signal object 232 can also be configured to transmit process control data with a field device, and the process control data can be transmitted in a format or protocol different from the standard format. The signal object 232 can be a data object stored in the memory 32 of the controller 11. Alternatively, the signal object 232 can be implemented by one or more UI devices 112, servers 150, expert systems 104, or supervisory engines 106. It is particularly advantageous to implement each signal object 232 in the same hardware device (e.g., controller 11, UI device 11, or server 150) that implements the corresponding control module 222. Co-locating the signal object 232 and the control module 222 in the same device can achieve more efficient communication, reduce complexity, and increase speed. For example, the control modules 222 and the signal devices 232 associated therewith may be stored in the memory 32 and executed as software modules by the processor 30 of the controller 11. However, some instances or embodiments may include one or more control modules 222, which are implemented at different devices with the signal objects 232 associated therewith. For example, some control modules 232 may be implemented by the UI device 112, while these control modules 232 are associated with signal objects implemented by the controller 11. Although the exemplary process control system 200 shows five signal objects 232A, 232B, 232C, 232D, and 232E, any number of such signal objects may be included in various embodiments.
[0064] The device layer 240 includes field devices 242 that monitor and control conditions and equipment within the process plant 10. Each field device 242 generates process control data (i.e., generates sensor data about conditions within a portion of the process plant 10, such as temperature, inventory level, pressure, flow, etc.) or implements a process control action based on the received process control data (i.e., implements a physical control function within the process plant 10, such as opening or closing a valve, adjusting a motor speed, operating a pump, etc.). Some field devices 242 both generate process control data and implement process control actions. Although the exemplary process control system 200 shows two field devices 242A and 242B, any number of such field devices 242 may be included in various embodiments. As further discussed elsewhere herein, each field device 242 may be a wired or wireless control device 15-23 or 40-50. As discussed elsewhere herein, some field devices 242 may execute function blocks (not shown).
[0065] like Figure 2As shown, UI block 212 can be communicatively connected to one or more control modules 222, and each control module 222 can be communicatively connected to one or more UI blocks 212. For example, although control module 222A communicates with both UI blocks 212A and 212B, control modules 222B and 222C only communicate with UI block 212B. Control module 222 can communicate with other control modules 222. For example, control module 222B communicates with control module 222C. Such communication between control modules 222 can facilitate process control using feedback or feedforward control loops, as well as more complex measurement analysis and response determination. In some embodiments, control module 222 can be configured to transmit an output terminal to an input terminal of the same control module 222. In some embodiments, UI block 212 can be communicatively connected to one or more signal objects 232 without an intermediate control module 222. For example, the UI block 212B is directly communicatively coupled to the signal object 232B such that the UI block 212B receives process control data or other information from the signal object 232B without the process control data or other information passing through any of the control modules 222 .
[0066] Each signal object 232 can receive process control data from one or more control modules 222 or field devices 242. In some embodiments, some signal objects 232 can receive process control data from both control modules 222 and field devices 242. In other embodiments, each signal object 232 can receive process control data from at most one or more control modules 222 or one or more field devices 242. Figure 2 , where signal objects 232A and 232C receive process control data only from control module 222, signal objects 232B and 232D receive process control data only from field device 242, and signal object 232E does not receive process control data from control module 222 or field device 242. In other embodiments, each signal object 232 may be associated with one or more field devices 242, but in some instances, each signal object 232 may nonetheless be associated with more than one input and / or output. Figure 2As shown, in another embodiment, each signal object 232 can be associated with at most one input or output of a field device 242. Signal object 232A is associated with the input of field device 242A, while signal object 232B is associated with the output of field device 242A. Similarly, signal object 232C is associated with the input of field device 242B, while signal object 232D is associated with the output of field device 242B. Signal object 232E is not associated with any field device 242. On the contrary, signal object 232E may be incompletely configured (i.e., it may not yet be assigned to the path of field device 242), or signal object 232E may contain static or constant data. In some embodiments, signal object 232E may include a path to an external data source such as database 140, or may be configured to receive input from a process plant operator.
[0067] Each signal object 232 can be associated with one or more control modules 222 to provide or receive process control data. In some embodiments, the signal object 232 can be associated with multiple control modules 222, as shown in signal object 232B, which is communicatively connected to both control modules 222A and 222B. In other embodiments, each signal object 232 can be associated with only one control module 222 (or UI block 212) at most to receive process control data or provide process control data. In other embodiments, each signal object 232 can be created only when associated with a control module 222 or UI block 212, so that each signal object 232 does not exist unless associated with a control module 222 or UI block 212. However, this is not necessary, because other embodiments can include signal objects 232 that exist but are not associated with a control module 222 or UI block 212. Such non-associated signal objects 232 can be configured to be communicatively connected to a field device 242, or can be stored in a library of signal objects 232.
[0068] Figure 3An exemplary communication structure of a process control system 300 of the process control network 100 is shown in more detail, wherein inputs, outputs, variables, paths, and alarms within various components are shown. Additional connections and elements are shown in the exemplary process control system 300, but in some embodiments, the system 300 can be the same as the system 200. The exemplary process control system 300 can similarly include a UI layer 310 having a UI block 312, a module layer 320 having a control module 322, a signal layer 330 having a signal object 332, and a device layer 340 having a field device 342. Each of the UI block 312, the control module 322, the signal object 332, and the field device 342 can be a UI block 212, a control module 222, a signal object 232, and a field device 242 as described above, respectively. In addition, the module layer 320 can include a control module library (LIB) 324, and the signal layer 330 can include a signal object library 334. These libraries can store classes of control modules 322 or signal objects 332 that can be implemented within the process control system. In further embodiments, additional, fewer, or alternative components, configurations, or connections may instead be used.
[0069] In addition to Figure 2 In addition to the connections shown, Figure 3 The block diagram in FIG. 3 shows the internal connections of UI blocks 312, control modules 322, signal objects 332, and field devices 342. In the exemplary embodiment shown, each UI block 312 has a variable 316 and a corresponding path 318. Variable 316 can provide a name or unit to obtain information connected to the corresponding path in UI block 312, for example, a configurable variable name for identifying data when called or requested by another block, application, or program. In some embodiments, variable 316 can store (in volatile or permanent memory) a value that can be provided to another block, application, or program. In an embodiment where variable 316 stores data, variable 316 can store the most recently received data until new data is received. Therefore, variable 316 can provide the most recently received data to control module 322 or other blocks, applications, or programs over multiple process control cycles (or other related update periods) until new data is available. For example, variable 316A3 of UI block 312A can store the most recently received value of output terminal 328A1 from control module 322A. The stored process control data, for example, may be displayed to a process plant operator or stored in database 140. If a user or program requests information from variable 316A3, the stored value may be provided. If no data is stored in variable 316, a request for information from 316A3 may instead cause the request to be routed to output 328A1 of control module 322A by following corresponding path 318A3.
[0070] Similarly, the variable 316 can be used to cause a change in a controllable parameter of the process plant 10. For example, the variable 316B1 can receive input data from a process plant operator or another source, which can be transmitted to the input 326C1 of the control module 326C via the corresponding path 318B1. The input data can overwrite other input data received by the input 326C1 of the control module 326C, or in some embodiments, the input data can be the only data source to the input of the control module 322. In some embodiments, the UI block 312 can also provide process control data directly to the signal object 332 instead of providing the process control data to the control module 322. The signal object 332 can provide process control data to the field device 342 (e.g., to enable emergency shutdown control through the UI layer 310). The signal object 332 can additionally or alternatively provide the received process control data to the control module 322 (e.g., indirectly controlling the field device 342 through the operation of the control module 322). In addition, the UI block 312 can be communicatively connected to the control module 322 in a manner that allows the UI block 312 to adjust the operation or configuration of the control module 322 when the variable 316 is adjusted via the path 318. For example, a process plant operator can set a value for the variable 316 of the UI block 312, which can be sent to the control module 322 via the path 318 corresponding to the variable to adjust the gain in the control module 322. In some embodiments, the UI block 312 can receive process control data (e.g., set points) and provide process control data (e.g., set points) to the control module 322 only through the signal object 332. In some such embodiments, the UI block 312 can nonetheless directly adjust or directly configure the control module 322 (i.e., without using the signal object 332). Although two UI blocks 312A (having variables 316A1, 316A2, and 316A3 corresponding to paths 318A1, 318A2, and 318A3) and 312B (having variables 316B1 and 316B2 corresponding to paths 318B1 and 318B2) are shown, other configurations having more or fewer UI blocks 312 having different numbers of variables 316 and corresponding paths 318 may be used in various embodiments.
[0071] In addition, in the exemplary embodiment shown, the control module 322 can have an input 326 and an output 328. The input 326 receives process control data from a signal object 332, a UI block 312, or other source (e.g., a database 140 or an expert system 104). The control module 322 generates output process control data at an output 328 using the input process control data from the input 326. The output process control data can be provided to a process plant operator or other user via the UI block 312, which may generate output process control data to be displayed or stored. The output process control data can be provided to a field device 342 via a signal object 332 in addition or alternatively, which can control the operation of the field device 342. For example, the control module 322 can implement a PID controller that receives a measurement result from a field device 342 (via a signal object 332) as input process control data at the input 326 to generate output process control data as a control command at the output 328 to operate another field device 342 (via another signal object 322) to control a portion of the process plant 10. The following discusses how Figure 4 Such an exemplary PID control module 322 is shown.
[0072] In addition, the control modules 322 can be interconnected so that the input 326 of the first control module 322 can receive process control data from the output 328 of the second process control module 322. This arrangement is shown in the connection where the input 326A2 of the control module 322A receives the output process control data from the output 328B1 of the control module 322B. Although the input 326A2 is shown as being directly connected to the output 328B1, some embodiments can use signal objects 332 to connect the inputs 326 and outputs 328 of multiple control modules 328. In such an embodiment, each output 328 is associated with a signal object 332 to provide the output process control data to the signal object 332. The input 326 of the same or another control module 322 can then be connected to the signal object 332 to receive the process control data. Therefore, in such an embodiment, each input 326 and each output 328 is associated with (i.e., connected to) only one of the signal objects 332. Because multiple control modules 322 or UI blocks 312 may use the same process control data, multiple inputs 326 or paths 318 may be simultaneously associated with a variable 336 of a signal object 332. In other embodiments, multiple outputs 328 of a control block 322 or paths 318 of a UI block 312 may be associated with the same variable 336 of a signal object 332. For example, an output 328 of a control module 322 may typically provide process control data to a variable 336 of a signal object 332, but a process plant operator may override module-generated process control data using a UI block 312 that provides process control data to a variable 336 of the same signal object 332. Although three control modules 322A (having inputs 326A1, 326A2, and 326A3 and outputs 328A1 and 328A2), 322B (having inputs 326B1 and 326B2 and output 328B), and 322C (having inputs 326C1 and 326C2 and outputs 328C1 and 328C2) are shown, other configurations may be used in various embodiments to have more or fewer control modules 322 having different numbers of inputs 326 and outputs 238.
[0073] In addition, in the exemplary embodiment shown, each signal object 332 has a variable 336 and a path 338. The variables 336 and the path 338 of the signal object 332 operate in a manner similar to the variables 316 and the path 318 of the UI block 312. In order to connect the control module 322 to the signal object 332, the input 326 or the output 328 of the control module 322 can be associated with the signal object 332. This association can be achieved by setting a reference or pointer to indicate or call the variable 336 of the signal object for the input 326 of the control module 322. In a preferred embodiment, each signal object has only one variable 336 and a corresponding path 338. The variable 336 can be defined as having a pre-specified type and / or range (e.g., long integer, floating point, text string, milliampere, volt, psi, etc.) or undefined to represent any type of process control data. In some embodiments, the variable 336 can include process control data and data structure information about the format and range of the variable. Other embodiments can similarly allow the control module 322 to configure the variable to store data in a specific manner. For example, when a signal object 332 is associated with an input 326 or an output 328, the data type and range of a variable 336 may be set. In a preferred embodiment, the variables 336 of a signal object 332 are set to a standard format regardless of the protocol, type, or format of the process control data received from or sent to a field device 342 connected to the signal object 332. Thus, the signal object 332 may extract process control data received from a field device 342 via the I / O architecture and convert the process control data into a standard format for further use by one or more control modules 322. The signal object 332 may likewise convert process control data received from one or more control modules 322 in a standard format into a format suitable for transmission to a field device 342 via the associated I / O infrastructure.
[0074] Each signal object 332 also includes a path 338 corresponding to the variable 336. The path 338 specifies the data source for the variable 336 or the target to which the data received at the variable 336 is sent. Typically, the path 338 indicates a field device 342 or constant data, but the path 338 can indicate other types of data sources or data recipients. For example, the path 338 can indicate the database 140, the input 326 terminal or the output terminal 328 of the control module 322, or other locations within the process control network 100. When the path 338 indicates a field device 342, it can indicate a path to the input terminal 346 or the output terminal 348 of the field device 342 through the relevant I / O architecture, which can be a separate channel or port of the field device 342. Therefore, the path 338 can include information about the communication protocol or format used for a portion of the I / O infrastructure of the process plant 10 associated with the field device 342. In some embodiments, the path 338 can pick up one or more bits from a data stream including a plurality of bits generated by the field device 342, which can help obtain process control data of particular relevance from the digital signal received from the field device 342. When the path 338 indicates constant data, the constant data can be stored directly in the path 338, or the path can point to a memory storage location containing the constant data, which can be a local or remote location. The constant data can be process control data or other relevant data, such as gains or limits.
[0075] The signal object 332 may be associated with the control module 322 without a specified path 338. For example, during the initial or subsequent configuration of the process control system 300, the signal object 332 may be created along with an undefined path 338. The undefined path 338 may be defined later by assigning a value for specifying constant data or a data source (e.g., a field device 342). Thus, the signal object 332 may be associated with an input 326 or output 328 of the control module 322 without a value or data source assigned to the path 338 of the signal object 332. Subsequently, the path 338 may be assigned before or during the operation of the process plant 10. For example, when information is needed (or shortly before it is expected that the information will be needed), the path 338 may be assigned by the process plant operator during the operation of the process plant 10. In this instance, the UI block 312 may prompt the process plant operator to assign the path 338 to the signal object 322 via the UI device 112. In some embodiments, this may include presenting one or more options to the process plant operator from which to select the path 338 to assign to the signal object 332. For example, a list of all field devices 342 identified as connected to the controller 11 may be presented via the UI device 112 to allow selection of a path 338 to assign to the signal object 332. This may involve the controller 11 polling the field devices 342 to identify the field devices 342 communicatively connected to the controller 11, or it may involve querying the database 140 to obtain configuration information about the connected field devices 342 and the local I / O architecture.
[0076] In addition, a new path 338 can be assigned to the signal object 332, thereby replacing the existing path 338. This can occur when the data source changes, such as when the field device 342 is replaced by another field device 342, or when the local I / O architecture changes. Reallocating the path 338 also helps to test the operation of the process control system 300 more effectively. In some embodiments, the path 338 of the signal object 332 can be assigned to test data. The test data can simulate the process control data expected from the field device 342 under various operating conditions of the process plant 10. Therefore, the process control system 300 can be tested before being installed in the process plant 10. This test can be performed by using the path 338 of the specified test data without considering the I / O architecture or the specific type, protocol, format or other information about the field device 342. The test data does not need to be specific to any specific field device 342 or I / O architecture of the process plant 10, so the process control system 300 can be tested without knowing the configuration of the process plant 10. This is highly desirable because the specific configuration of the process plant 10 (i.e., the type, number, and I / O architecture of the field devices 342) is often completed shortly before the process plant 10 is built, and the configuration may change repeatedly during the life of the process plant 10. The signal object 332 separates the control module 322 from the field device 342 so that the system 300 does not need to be tested for a specific field device 342. Instead, each signal object 332 can be adjusted as needed (e.g., between testing and installation in the process plant 10, when the field device 342 is replaced, etc.). Adjusting the signal object 332 does not require retesting the entire process control system 300 because only the affected signal object 332 changes. In some embodiments, the change may only involve assigning a new path 338 to the signal object 332 to specify a new data source or data recipient (e.g., an output 348 or input 346 of a new field device 342). In other embodiments, other parameters related to processing process control data within the signal object, such as parameters indicating a communication protocol or output range, may also be adjusted. In some embodiments, the signal object 332 may receive information about these parameters directly from the field device 332, for example, by receiving device description language (DDL) data stored in the field device 342. Of course, the signal object 332 may also be updated by replacement, wherein the old signal object 332 is disassociated from the control module 322 and a new signal object 332 is associated with the control module 322.
[0077] Some signal objects 332 may also include configurable alarms 335. The alarms 335 may be directly communicatively connected to the UI block 312, rather than being connected through the control module 322. Thus, the alarms 335 of the signal object 332 may send data directly to the UI block 312 without sending the data to any control module 322. This avoids using the control module 322 alone for the purpose of determining the alarm state, so all control modules 322 implement some process control loops or other process control actions. The alarms 335 may be configured during the configuration and setup of the process control system 300, or may be set or adjusted by the process plant operator to determine abnormal operating conditions within the process plant 10 based on process control data received from the field device 342 specified by the path 338 at the signal object. When one or more criteria of the alarm 335 are met, the alarm 335 may be triggered, which may also cause an alert or warning to be presented to the process plant operator or other user via the UI device 112. Although eight signal objects 332A (having variable 336A, path 338A, and alarm 335A), 332B (having variable 336B and path 338B), 332C (having variable 336C and path 338C), 332D (having variable 336D and path 338D), 332E (having variable 336A, path 338A, and alarm 335A), 332F (having variable 336F and path 338F), 332G (having variable 336G and path 338G), and 332H (having variable 336H and path 338H) are shown, other configurations having more or fewer signal objects 332 (with or without alarms 335) may be used in various embodiments.
[0078] The control module library 324 and the signal layer library 334 can store the classes of multiple control modules 322 and signal objects 332 respectively. These classes can be control modules or signal objects of the general type whose data structure and use are defined using an object-oriented programming language. The control module class stored in the control module library 324 can be a reusable class that can be configured to perform process control functions in the process control system 300. When each control module 322 is created from the control module class, the control module 322 can be instantiated as an instance of a class with or without further configuration. For example, a specific PID control module 322 can be created as an instance of a control module class for a PID controller stored in the control module library 324. As described elsewhere herein, at the time of instantiation or at a later time, the instantiated control module 322 can be configured to perform process control functions. Similarly, the signal object class stored in the signal object library 334 can be a signal object of the general type that can be used in the process control system 300, and the signal object 334 can be created as an instance of a signal object class. In some embodiments, all signal objects 332 can be instances of a signal object class. In some embodiments, updating or adjusting a control module class in the control module library 324 or a signal object class in the signal object library 334 can automatically apply the update or adjustment to each control module 322 or signal object based on the class. In some embodiments, the control module library 324 and the signal layer library 334 can be combined into one library, which can be stored locally in the memory 32 of the controller 11 or remotely in the database 140 or elsewhere.
[0079] The field device 342 in the process control system 300 can have an input 346 and an output 348. The input 346 can receive process control data or control commands via the signal object 332, which enables the field device to implement physical control operations, such as opening or closing a valve, starting or stopping a motor or controlling a pump. The output 348 can send process control data generated by the field device, such as temperature, pressure or flow measurement results. Each field device 342 can include one or more inputs 346 or outputs 348. Although two field devices 342A and 342B with an input 346A and an output 348A and an input 346B and two outputs 348B1 and 348B2 are shown, other configurations can be implemented alternatively in various embodiments.
[0080] Figure 4A block diagram of an exemplary control module is shown to further illustrate the operation of the process control system 300 of the process control network 100, illustrating the operation of a PID control module according to an embodiment of the present invention disclosed herein. The control module 422 or a similar control module may be included in the exemplary process control systems 200 and 300 described above as the control module 222 or 232. Figure 4 The control module 422 shown illustrates the operation of a particular type of control module in greater detail, but other configurations may alternatively be used in various control modules within the process control network 100. As above, the signal object 432 may be implemented as described elsewhere herein, particularly with respect to the signal objects 232 and 332, and the field device 442 may be any type of field device described herein, particularly as discussed with respect to the field devices 242 and 342. Although Figure 2 Two field devices 442A and 442B are shown in the exemplary embodiment of FIG. 4 , but the field devices 442A and 442B may be combined in some embodiments.
[0081] The exemplary control module 422 includes a control logic block 421 that performs control logic operations of the control module 422. The control logic block 421 can be configured during the setup of the process control system 200 or 300, or the configuration of the control logic block 421 can be determined by the configuration of the control module class to which it belongs. For example, the weight assigned to each of the proportional, integral, and derivative terms within the PID control logic block 421 can be specified for all instances of the class of the PID control module, or can be configured from a general PID control module to be suitable for a specific use within the process control network 100. In some embodiments, the control logic block 421 (directly configured or configured as an instance of a class) can be configured by the expert system 104 based on automatic analysis and optimization of the operation of the process plant 10. In order to perform process control logic operations, the control logic block 421 receives an indirect input terminal 426 and a direct input terminal 427. The indirect input terminal 426 indirectly receives input process control data about the state of a measurable condition within the process plant 10 from the field device 442A. In some embodiments, the input process control data may be obtained via a reference 429A within the control module 422, which specifies a path to a signal object 432A. This arrangement allows the control logic block 421 to remain independent and consistent between multiple instances of a class, where information about the associated signal object 432 is contained in the reference 429. The direct input 427 receives output process control data directly from the output 428 of the control logic block 421 via another reference 429B within the control module 422. The input process control data received at the indirect input 426 may be compared to the output process control data received at the direct input 427 to determine an error term and generate further output process control data using known techniques to control the field device 442B.
[0082] In order to connect the field devices 442A and 442B to the control module 422, signal objects 432A and 432B are used. As discussed in further detail elsewhere herein, the signal objects 432 each include a variable 436 and a path 438. Reference 429A specifies a path or pointer to the variable 436A of the signal object 432A, and the signal object 432A has a corresponding path 438A that specifies the output 448A of the field device 442A. Therefore, the process control data generated by the field device 442A at the output 448A is received by the signal object 432A (where the process control data can be stored in the variable 436A), and the reference 429A of the control module 422 receives the process control data from the signal object 432A and provides it to the input 426 of the control logic block 421. The control logic block 421 uses the direct and indirect process control data to generate additional process control data to control the field device 446B to affect the process control within the process plant 10. The process control data generated at the control logic block 421 is provided to the reference 429B, which provides the process control data to the direct input 427 and the variable 436B of the signal object 432B. The signal object 432B receives the process control data at the variable 436B and provides the process control data to the input 446B of the field device 442B using the path 438B corresponding to the variable 436B. As described elsewhere herein, the signal object can extract or convert multiple portions of the process control data to provide the process control data in an appropriate format and using an appropriate protocol for the control module 422 and the field device 442.
[0083] Figure 5is a flow chart of an exemplary process control system configuration and testing method 500, which illustrates a method for configuring a process control system (including systems 200 and 300) of a process control network 100. Reference to the process control system 300 is exemplary only, and the method 500 may be applied to other process control systems in various embodiments. The exemplary method 500 may begin by selecting a control module at block 502. At block 504, a signal object may be associated with the input and output of the selected control module, and parameters of the selected control module and signal object may be specified at blocks 506 and 508. At block 510, other control modules within the process control system may be similarly configured to form part or all of the process control system. The configured process control system may then be tested at blocks 512-518 before being implemented in the process plant 10. This may include: at block 512, importing test data, at block 514, testing the operation of the control module of the process control system, and at block 516, determining whether the process control system passes the test based on the output of the process control module. When the process control system fails the test, parameters of one or more control modules or signal objects may be adjusted at block 518, and the process control system may be retested at block 514. When the process control system passes the test at block 516, the process control system may be implemented in the process plant by allocating paths connecting between signal objects and field devices at block 520. Subsequently, at block 522, the process control system may be executed within the process control network 100 to control the operation of the process control plant 10.
[0084] In some embodiments, blocks 502-518 may be implemented on one or more computers not associated with the process plant 10. Thus, the process control system may be designed, configured, and tested to operate on any number of process plants having different configurations in a manner independent of the I / O architecture used in the process plant 10. While verifying correct operation by testing at blocks 512-518, the configured process control system program (having the UI block 312, the control module 322, and the signal object 332) may be stored in a non-transitory computer-readable storage medium (e.g., a non-volatile memory device such as a hard drive or optical disk). Part or all of the stored process control system program may then be downloaded, installed, or instantiated into the controller 11, the UI device 112, the expert system 104, or other components of the process control network 100 to configure and implement the process control system within the process plant at blocks 520-522. Configuring and implementing the process control system within the process plant 10 may include assigning the field device 342 to the path 338 of the signal object 332 at block 520.
[0085] At block 502, a process control engineer, technician, or other user may select a control module 322 to be configured. Selecting a control module 322 may include selecting a class of a process control module from a control module library 324. Selecting a control module 322 may alternatively include creating a new control module 322 by defining the structure, logic, and other characteristics of the control module. In some embodiments, selecting a control module 322 may cause the selected control module to be included in a user interface of the process control system, which may be implemented by one or more UI blocks 312 and presented to a process plant operator via a UI device 112. In some embodiments, a user may select whether to include a control module 322 in a user interface of the process control system.
[0086] At block 504, one or more signal objects 332 may be associated with one or more inputs 326 or outputs 228 of the selected control module 322. The signal objects 332 may be associated with the control module 322 automatically or by a process control engineer, technician, or other user. Each signal object 332 may be associated with an input 326 or output 328 as described above, for example by specifying a path to a variable 336 of the signal object 332 in a reference to the control module 322. In some embodiments, the signal object 332 must be associated with all inputs 326 and outputs 328 of the control module 322, while other embodiments may allow an input 326 or output 328 to have no associated signal object 332. Some embodiments may facilitate marking an input 326 or output 328 of a control module 322 that is disregarded during operation of the process control system. In such embodiments, the process control module 322 may be executed during operation of the process control system without using the marked input 326 or output 328. This may avoid warning or error messages to the process plant operator that might otherwise be generated at run time regarding undefined inputs 326 or outputs 328 of the control module 322 .
[0087] In some embodiments, selecting a control module 322 at block 502 may automatically associate one or more signal objects 332 with an input 326 or an output 328 of the control module 322. This may include instantiating or otherwise creating a new signal object 332 for one or more of the input 326 or the output 328. For example, the control module library 324 may include one or more control strategies, and each control strategy may include a control module 322 and one or more signal objects 332 associated with the control module 322. Subsequently, selecting a control module 322 may be performed by selecting a control strategy that includes the control module 322. In further embodiments, the control strategy includes one or more signal objects 332, but does not include any paths 338 of the signal object 332. In other embodiments, the control strategy may include a signal object 332 and one or more paths 338 indicating constant data, but may exclude other paths 338. As discussed further below, the control strategy may also include information about parameters of the control module 322 or the signal object 332.
[0088] At block 506, one or more parameters of the control module 322 may be specified. The parameters may be specified automatically or by a process control engineer, technician, or other user. The parameters may be associated with the internal operation, communication connection, or presentation of the control module 322. For example, the parameters may specify the name of the control module 322, the protocol used for communication, the rate at which control cycles are executed, the gain or weight to be applied to the control logic, or other information that affects the operation or use of the control module 322 within the process control system. In some embodiments, when the control module 322 is initially selected, default values for some or all of the parameters may be applied, some or all of which may be adjustable by the user.
[0089] At block 508, one or more parameters may similarly be specified for one or more signal objects 332. The parameters may include information about the variables 336 or paths 338, including the format or protocol to be used for communication with the control module 322, the UI block 312, or the field device 342. For example, the parameters of the signal object 332 may include the specification of the field device 342 in the path 338, which may be assigned to the actual field device 342 or a memory location designed to receive test data. As described above, the parameters may also include information about alarms, the range of process control data received, or bit picking in the data stream.
[0090] At block 510, other control modules 322 or signal objects 332 may be created and configured to generate a process control system or a portion thereof. As described above, this may include connecting multiple control modules 322 to perform complex control functions. For example, one or more additional control modules 322 may be selected and configured to receive process control data generated by the process control module 322 at the output 328 as input. As described above, the control module 322 may use a standard format independent of the I / O architecture associated with the field device. In some embodiments, one or more of the additional control modules 322 may have an input 326 associated with the same signal object 332 associated with the output 328 of the control module 322. In other embodiments, one or more additional control modules 322 may have an input 326 associated with a variable 336 of another signal object 332, wherein the other signal object 332 has a corresponding path 338 specifying a variable 336 of the signal object 332 associated with the output 328 of the control module 322.
[0091] Additionally or alternatively, configuring other control modules 322 or signal objects 332 may include creating and configuring signal objects 332 that are not associated with any control module 322. Such signal objects 332 may be associated with one or more UI blocks 312 or other UI components of the process control system. Such direct connections between signal objects 332 and UI blocks 312 may have particular advantages for signal objects 332 that are configured to provide alarms, pick up bits from a data stream, or present scaled process control data to a process plant operator using a UI device 112. These signal objects 332 that are not associated with any control module 322 may be particularly advantageous. These signal objects 332 that are not associated with any control module 322 may be configured in other ways, as discussed elsewhere herein, including assigning paths 338 to inputs 346 or outputs 348 of field devices 342.
[0092] When the process control system is fully configured at box 510, in some embodiments, the process control system can be tested using test data at boxes 512-518 to verify correct operation. At box 512, test data can be imported or accessed. Test data can be data designed to mimic process control data (or historical process control data) already stored in a database or other memory. Test data can be independent of the I / O architecture of the process plant 10. In some embodiments, test data can use the standard data format used by the control module 322, allowing it to pass directly through the signal object without conversion. Test data can also include multiple test data sets indicating different operating conditions that may occur in the process plant, including normal operating conditions, abnormal operating conditions, and emergency or critical conditions.
[0093] At block 514, the operation of the process control system may be verified using the test data. This may include executing the control module 322 and / or the UI block 312 of the process control system within the test environment and providing the test data as sequential process control data values to the signal object 332. In order to provide the test data to the signal object 332, the path 338 of the signal object may be assigned to a variable or memory location within the test environment to receive the test data. A test data set representing one or more operating conditions may be presented to the signal object 332, and the output process control data generated by the control module 322 may be recorded for analysis. The recorded process control data may then be verified by comparing with expected or appropriate process control data.
[0094] At box 516, the recorded process control data generated by the control module 322 can be evaluated to determine whether the process control system passes the test by generating a response within an acceptable range. This can include using the output process control data to compare the performance of the control module 322 with a predetermined quality parameter. In some embodiments, the output process control data can be used to simulate the operation of the virtual field device, and verifying the normal operation of the process control system can include verifying that the virtual field device remains within an acceptable range for effective operation of the process plant. When the process control system fails to pass the test at box 516, one or more control modules 322 or signal objects 332 can be adjusted at box 518. As described above, when it is determined that the process control system is ready to be implemented in the process plant 10, it can be implemented in the process plant 10 or can be stored for subsequent implementation.
[0095] At box 518, the parameters of the control module 322 or the signal object 332 can be adjusted to improve the performance of the process control system. This can include adjusting the parameters of the response of the control module 322 or correcting the connection of the wrong configuration by changing the path to or from the signal object 332. In some embodiments, this can include replacing the control module 322 with other control modules 322 to achieve better performance, especially where the outstanding features of the control module 322 are defined in the instance of the class of the control module. The signal object 332 can also be adjusted or replaced by other signal objects 332. When adjustments have been made, the adjusted process control system can be tested again at box 514 to determine whether further adjustments are needed. As described above, when the performance of the process control system is within predetermined quality parameters, the process control system can be implemented in the process plant 10, or can be stored for subsequent implementation.
[0096] At block 520, the process control system may be configured to operate within a particular I / O architecture of the process plant 10 by assigning appropriate values to the paths 338 of the signal objects 332. Information about the I / O architecture of the process plant 10 may be received and used to assign the paths 338 of the signal objects 332 to specify the field devices 342 within the process plant 10. Assigning the paths 338 may be accomplished by batch updating the paths 338 of the signal objects 332 before or after installation of the process control system within the process control network 100. In some embodiments, one or more of the signal objects 332 or the paths 338 may remain undefined or unassigned until run time so that the signal objects 332 or the paths 338 may be configured by a process plant operator during execution of the process control system to operate the process plant 10. Also at block 520, the process control system may be installed or incorporated into the process control network 100 of the process plant 10 to perform control operations within the process plant 10.
[0097] At block 522, the process control system may operate all or a portion of the process plant 10 via the process control network 100. If the process control system includes a control module 322 having an input 336 or output 338 that is not associated with a signal object 332, the process plant operator may be prompted to associate the signal object 332 with the input 336 or output 338 during execution of the control module 322. Alternatively, the signal object 332 may be automatically associated with the control module 322 based on information from the expert system 104, the field device 342, or other data sources within the process control network 100. Similarly, if the process control system includes a signal object 332 having an unassigned path 338, the path 338 may be automatically or manually assigned to a field device 342 or a constant data value during execution of the associated control module 322. In some embodiments, the process control system may be checked for unassociated or unassigned signal objects 332 or paths 338 during startup, and corrective actions may be taken or suggested at this time. In other embodiments, non-associated or unassigned signal objects 332 or paths 338 may only be configured when the associated control module 322 is actually executed. The process control system may then perform control functions via the process control network 100 to facilitate or affect control of the process plant 10 until operations are stopped.
[0098] Masking Block
[0099] According to another aspect of the invention disclosed herein, process control can use a shielding block to at least partially separate from the I / O architecture of the process plant 10. The shielding block can be executed on the controller 11 to emulate the operation of a field device or a functional block of a field device. The control module 34 of the controller 11 can communicate process control data directly with the shielding block 36, and the shielding block 36 can also receive and send process control data between the controller and the field devices 15-23, 40-50. Therefore, the shielding block can manage the communication between the control module and the field device to at least partially separate the control module from the field device. In some embodiments, the shielding block 36 can also separate the control module 34 from the I / O architecture by converting process control data between a standard format used by the control module and a format or protocol used within the specific I / O architecture of the process plant 10. The general shielding block can be automatically configured for a specific process control system using description data received from the field device. The description data can describe the function of the field device in a text-based standard description language. Thus, control modules may be associated with generic masking blocks that are automatically configured using the description data, thereby reducing setup time, conserving memory, and reducing errors within the process control system.
[0100] Figure 6is a block diagram showing the use of a general masking block in a process plant control system. Figure 1A-1B As shown, the controller 11 is configured to control the operation of part or all of a process plant as part of an exemplary process control network 100. The control module 34 receives data about the process plant and communicates with the user communication interface 120 to enable the process plant operator to monitor and control the operation of the process plant via the process control network 100. The user interface 120 can be executed within the controller 11 or on another computer (which can include one or both of the server 150 or the user interface device 112). In order to monitor and control the field devices of the process plant 10, the control module 34 interacts with one or more shielding blocks 36 executed within the controller 11. The shielding block 36 simulates or mimics the operation of the function block 14 executed within the field device 20 or the control device 24. Shielding the function block 14 at the controller 11 improves processing efficiency by at least partially separating the I / O architecture from the communication configuration of the operation of the control module 34. For further discussion of masking blocks in process control, see U.S. Pat. No. 6,298,454 (Schleiss et al., "Diagnostics in a Process Control System"), which is incorporated herein by reference. In the illustrated embodiment, a masking block 36 is shown to mimic the operation of the functional block 14 of the field device 20, but additional or alternative arrangements of these components may be used in other embodiments.
[0101] The mask block must be configured to communicate with the field device and mimic the specific operation of the function block. This has been previously achieved by creating a new type of mask block for each different type or model of field device, where the mask block is unique to the field device, communication protocol, and I / O architecture for which the mask block is created. If the field device is replaced or the I / O architecture changes, the mask block must be reconfigured for these changes. Therefore, the number of mask blocks that a technician or process plant operator must create may approach or exceed the number of field devices in the process plant, and these mask blocks must be reconfigured for each change to the process plant components or architecture. In order to avoid this multiplicity of manual reconfiguration of mask blocks and constants, one aspect of the present invention utilizes a universal mask block.
[0102] The general purpose shielding block is a general purpose shielding block designed to be automatically configured using descriptive data about field devices. In the illustrated embodiment, the shielding block 36 associated with the control module 34 is a general purpose shielding block when it is first instantiated or executed. Subsequently, the general shielding block 36 receives the descriptive data 13 from the field device 20 or the database 140. The descriptive data 13 is used to configure the general shielding block 36 to communicate with the function block 14 and imitate the function block 14. The configured shielding block 36 can provide the process control data associated with the field device 20 to the control module 34 as an input to the control module 34. The control module 34 uses this input process control data to determine the state of a part of the process plant or generate output process control data to control the operation of the process plant. Additionally or alternatively, the configured shielding block 36 can receive process control data as an output from the control module 34. Subsequently, this output process control data is transmitted to the field device 20 by the shielding block 36.
[0103] The description data 13 may describe the operation of the function block 14 in a standard text-based format. The description data 13 may include information identifying the type, size, range, output, device cycle, measurement delay, control delay, or control process associated with the function block 14. The description data 13 may also include information about the display of the field device 20 by the user interface 120. For example, the description data 13 may identify the name or description displayed in the user interface 120, and the parameters associated with the output of the field device 20. In some embodiments, the description data 13 also describes the I / O architecture associated with the field device 20. Such I / O architecture data may include information about communication protocols, network connection paths, update cycles, communication delays, or noise levels. As described above, the I / O architecture data allows the controller 11 to communicate directly or indirectly with the field device 20 via the process control network 100.
[0104] The universal masking block 36 may receive the description data 13 from the field device 20 or from the database 140. The field device 20 may store the description data 13 in a memory incorporated into the field device 20, which may be a read-only or rewritable memory. Some field devices 20 may incorporate the description data 13 into one or more function blocks 14 of the field device 20. If the field device 20 includes a processor, a portion of the description data 13 may be dynamically generated using the processor upon request. The universal masking block 36 may send a request to the field device 20 for receiving the description data 13, which may cause the field device 20 to send the description data 13 to the masking block 36. Upon receiving the sent description data 13, the universal masking block 36 may be configured using the processor 30 to emulate the function block 14 within the controller 11. Alternatively, the universal masking block 36 may receive the description data 13 from the database 140. The database 140 may be centrally generated and stored with information about the equipment and architecture of the process plant. Batch processing may be used to generate or update the description data 13 to create or change multiple entries at once. Again, the masking block 36 may request the description data 13 from the database 140, which may involve linking an entry in the database 140 to the masking block 36. The masking block 36 may be automatically reconfigured through the link to the database 140 when the description data 13 in the database 140 changes.
[0105] Regardless of the source of the description data 13, the description data 13 can be provided to the universal mask block 36 based on user input. A process plant operator or other user can select a field device 20 from a plurality of field devices in the process control network 100. In some embodiments, the field device 20 is selected from an automatically generated list or group of field devices that are automatically detected as being communicatively connected to the controller 11. In other embodiments, a control program can be generated in advance and installed on the controller 11, wherein the control program can specify a universal control system for the process plant. In such an embodiment, the controller 11 can automatically determine each field device to be associated with each universal mask block 36.
[0106] In some embodiments, a universal masking block 36 can be selected from a plurality of universal masking blocks. Each universal masking block can be suitable for emulating a class of field device function blocks, such as an online sensor or an electronically controlled valve. As described above, each of the universal masking block classes can be instantiated and configured to emulate a specific field device or function block using descriptive data. Although the use of multiple universal masking block classes increases the complexity of the system, these universal masking block classes may be relatively small in number relative to the number of non-universal masking blocks required for the process control system, and therefore, significant benefits in storage, configuration, and complexity can be achieved by using universal masking block classes. In some embodiments, one or more universal masking blocks can be stored in a library 12 on the controller 11, and a universal masking block 36 can be selected from the library 12.
[0107] Additionally, the control module 34 may be an instance of a class or subclass of a control module. This may allow the control module 34 to be independent of the type of I / O architecture or field device 20. Such a control module class may be associated with one or more masking block classes such that instantiation of the control module 34 on the controller 11 causes the control module to automatically associate one or more generic masking blocks 36 of a particular class with the control module 36. Similarly, the controller 11 may automatically determine the number and type of generic masking blocks to associate with the control module based on the type or configuration of the control module.
[0108] In order to achieve the association of the universal masking block with various different control modules, a standard communication format can be used between the control module and the masking block. The standard communication format allows the control module 34 to utilize the masking block 36 regardless of the configuration of the masking block 36 by the description data 13. After being configured using the description data 13, the configured masking block 36 can convert process control data between the standard communication format and the communication protocol used by the field device. For example, the masking block 36 can receive process control data from the field device 20, convert the received data to the standard communication format, and provide the converted data to the input of the control module 34. As another example, the masking block 36 can receive a control command from the control module 34 in the standard communication format, convert the control command to the communication protocol used by the field device 20, and send the converted control command to the field device 20.
[0109] Figure 77 is a flow chart illustrating the use of a generic masking block in process plant control according to an exemplary masking block instantiation method 700. In addition to the method 700, other methods of using a generic masking block can be implemented in accordance with the description herein. The method 700 begins by selecting a control module 34 to be executed at the controller 11 at box 702, and associating a generic masking block 36 with the control module 34 at box 704. At box 706, descriptive data 13 is obtained, and the descriptive data 13 is used to configure the generic masking block 36 at box 708. Subsequently, the configured masking block 36 and control module 34 are executed to operate the process plant at box 710. If it is determined at box 712 that any reference required to configure the generic masking block 36 is missing, the process plant operator can be prompted at box 714 to provide the missing information. Based on the operator input received at box 716, the controller 11 can determine at box 718 whether additional configuration of the masking block 36 is required. If additional configuration of the masking block 36 is required, the method 700 may continue at block 708 by configuring the masking block 36 and operating the process plant at block 710. If additional configuration of the masking block 36 is not required, the method 700 may continue with operation of the process plant at block 710 until it is determined at block 720 that the operation is complete.
[0110] At box 702, the method begins by selecting a control module 34. The control module 34 may be manually selected through the user interface 120, or may be loaded on the controller 11 during configuration or startup of the process control network 100 or the controller 11. For example, a process control engineer or process plant operator may use the user interface 120 to select a control module 34 from a plurality of control modules that may be stored in the library 12. The control module 34 may be selected or instantiated from a class of control modules. In such an embodiment, each instance of a control module of the same class may be displayed to the process plant operator in the same standard format by the user interface 120. Such modules may be distinguished by labels applied by the controller 11 or the user interface 120. In any case, the controller 11 receives an indication of one or more control modules 34 at box 702, which are then connected to the field device 20 via the universal masking block 36. In some embodiments, one or more control modules 34 may be selected by a user during development of a control system, which may be executed at a location separate from the process plant. In such an embodiment, information about the control module 34 may be stored and later transmitted to the memory 32 of the controller 11.
[0111] At block 704, one or more generic masking blocks 36 are associated with the selected control module 34. This may include specifying a reference to an instance of a generic masking block 36 for one or more inputs or outputs of the control module 34. The reference may identify a generic masking block 36 that will receive process control data from an output of the control module 34 or provide process control data to an input of the control module 34. The reference may specify a path to an instance of the generic masking block 36. In some embodiments, the reference may also specify a path to a field device 20 within the process control network 100, or otherwise indicate a field device 20 that the masking block 36 will mask. As described above, some inputs or outputs of the control module 34 may reference constant values or static information via reference constants 37. Each masking block 36 may be automatically associated based on the type or class of the control module 34, or each masking block 36 may be selected by a user of the process control network 100. Alternatively, each masking block 36 may be automatically associated based on previously generated information during development of the control system. For example, a plurality of modules 34 and references to associated generic masking blocks may be stored in a database 140 and retrieved by the controller 11 .
[0112] At block 706, descriptive data 13 for configuring one or more universal masking blocks 36 is received at the controller 11. The descriptive data 13 may be obtained from the field device 20 or the database 140. For example, the universal masking block 36 may poll the field device 140 with a request for information, which may cause the field device to generate or send the descriptive data 13. As another example, the user may select an option via the user interface 120 to cause the masking block 36 to request and receive the descriptive data 13 from the database 140. The descriptive data 13 may be received in a standardized text-based format that describes the operation of the function block 14 to any universal masking block 36 in a manner that allows the universal masking block 36 to mask the function block 14. Once the descriptive data 13 is received, the descriptive data 13 may be used to configure one or more universal masking blocks 36. In fact, the universal masking blocks 36 may be identical before being configured with descriptive data from different field devices (which may differ in type, type of function block in the field device, or communication protocol used to communicate with the controller 11).
[0113] At block 708, one or more generic masking blocks 36 are configured to emulate the function blocks 14 of one or more field devices 20 using the received description data 13. Configuration of the masking blocks 36 may include configuring the masking blocks 36 to: handle communications with the field devices 20 via the associated I / O architecture of the process control network 100, emulate the operation of the function blocks 14 by providing process control data to or receiving process control data from the control modules 20, and convert process control data between a standard communication format used by the control modules 34 and a communication protocol used by the field devices 20. This may involve parsing the text of the received description data 13 to extract identification information, and then adjusting the parameters of the generic masking blocks 36 to include the information extracted from the description data 13. In some embodiments, some portion of the extracted information may be used to look up further information in a database or library, thereby reducing the amount of description data 13 that must be stored in the field devices 20 and sent to the controllers 11 via the process control protocol using the process control communication infrastructure between the field devices 20 and the controllers 11. For example, a field entry within the description data 13 may indicate, by code, a general type of function block, which may be used by the controller 11 to retrieve additional information from the database 140. After configuration at block 708, the configured masking block 36 operates like other masking blocks for emulating function blocks 14 and handling communications between the controller 11 and the field device 20 via the associated I / O architecture.
[0114] At block 710, the controller 11 may use the control module 34 to operate the process plant or a portion thereof containing the field device 20. The control module 34 receives process control data from one or more masking blocks 36 in a standard communication format. Output from the control module 34, data from other control modules, or from other sources may also be used as input to the control module 34. For example, the reference constant 37 may be used as an input to the control module 34. The process control data output from the control module 34 to the masking block 36 may be converted to an appropriate communication protocol for the local I / O architecture and sent to the field device 20 to control the operation of the process plant. For example, the standard communication format data from the control module 34 may be converted to a Wireless Controller. The process control network 100 may be used to control the valve actuator 100 and process control data to the valve actuator 100. ...
[0115] At box 712, the controller 712 determines whether the control modules 34 and the mask blocks 36 are fully configured, which may include determining whether any parameters are missing or inoperative. For example, a reference may be missing from an input or output of a control module 34 when the I / O architecture of the process plant has changed or information is not needed for a particular process control network 100. Errors in the descriptive data 13 or changes to the configuration may also result in missing or corrupted references. Similarly, a reference or portion of a reference identifying a field device may be missing or incorrect, in which case the general mask block 36 may not be able to obtain the descriptive data 13 associated with the field device 20. When all control modules 34 and mask blocks 36 are determined to be fully configured at box 712, operation of the control system of the process plant can continue until the controller 11 determines at box 720 that operation of the process plant is no longer in progress.
[0116] When the controller 11 determines that one or more references are missing or incorrect, the process plant operator can be prompted at box 714 to provide additional information about the reference. This prompt can be presented to the process plant operator using the user interface 120. The prompt can alert the operator to missing or damaged references and request information for creating or updating the reference. In some embodiments, the prompt may include an option for allowing the operator to set a flag to ignore certain information. For example, due to system configuration or I / O architecture, a specific input of the control module 34 may not be required for the normal operation of the process control network 100. In this example, the operator can choose to set a flag to ignore the option of the input. The flag can be set at the control module 34 or at the configured shielding block 36, and the shielding block 36 can still be used to communicate between the field device 20 and other inputs or outputs of the control module 34.
[0117] When the prompt is presented at box 714, the controller 11 may receive additional information from the process plant operator at box 716. The operator may provide an indication of a field device 20 or function block 14 from which the mask block 36 may be configured as described above. The operator may alternatively provide a selection of an option for ignoring missing references. In some embodiments, the controller 11 may receive a selection of one or more function blocks 14 or field devices 20 from a list of function blocks or field devices detected in the process control network 100. The received information may also include information related to the interpretation or use of data received from the field device 20. For example, the operator may specify the units of the data output by the function block 14, which information may be used for scaling operations performed by the control module 34.
[0118] Upon receiving input from the process plant operator at block 716, the controller 11 may determine whether additional configuration of the mask block 36 is required at block 718. If additional configuration is required, the method 700 may continue at block 708 by configuring the mask block 36. If additional configuration is not required, the controller 11 may also determine whether operation of the process plant is ongoing at block 720. If operation is ongoing, the controller 11 may continue to execute the process control system to operate the process plant at block 710. If operation of the process plant is not ongoing, the method 700 may end.
[0119] Additional considerations
[0120] The following additional considerations apply to the foregoing discussion. Throughout this specification, actions described as being performed by a server 150, a UI device 112, or any other device or routine generally refer to the process of the action of a processor manipulating or transforming data according to machine-readable instructions. Machine-readable instructions can be stored on a memory device communicatively coupled to a processor and retrieved from the memory device. That is, the methods described herein can be embodied by a set of machine-executable instructions stored on a non-transitory computer-readable medium (i.e., on a memory device). These instructions, when executed by one or more processors of a corresponding device (e.g., a server, a mobile device, etc.), cause the processor to perform the method. Where instructions, routines, modules, processes, services, programs, and / or applications are referred to herein as being stored or stored on a computer-readable memory or computer-readable medium, the words "store" and "save" are intended to exclude transient signals.
[0121] Furthermore, while the terms "operator," "personnel," "human," "user," "technician," and similar other terms are used to describe persons in a process plant environment who may use or interact with the systems, apparatus, and methods described herein, these terms are not intended to be limiting. As can be appreciated from the foregoing description, the systems, apparatus, and methods described herein may have the benefit or effect of improving the ability of such persons to configure or operate a process control system. When a particular term is used in the description, the term is used in part due to traditional activities in which plant personnel participate, but is not intended to limit the persons who may participate in the particular activity.
[0122] In addition, throughout this specification, multiple instances can implement components, operations or structures described as single instances. Although the individual operations of one or more methods are shown and described as individual operations, one or more of the individual operations can be performed simultaneously, and the operations do not need to be performed in the order shown. The structure and function presented as the individual components in the example configuration can be implemented as a combined structure or component. Similarly, the structure and function presented as a single component can be implemented as an individual component. These and other changes, modifications, additions and improvements fall within the scope of this paper theme.
[0123] Unless otherwise specifically stated, words such as "process," "calculate," "calculate," "determine," "identify," "present," "display," and the like used herein may refer to the action or process of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electrical, magnetic, optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, send, or display information.
[0124] When implemented in software, any of the applications, services, and engines described herein may be stored in any tangible, non-transitory computer-readable memory (e.g., on a disk, a laser disk, a solid-state memory device, a molecular memory storage device, or other storage medium), in the RAM or ROM of a computer or processor, etc. Although the example systems disclosed herein are disclosed as including, in addition to other components, software and / or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered restrictive. For example, it is contemplated that any or all of these hardware, software, and firmware components may be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Therefore, one of ordinary skill in the art will readily appreciate that the provided embodiments are not the only way to implement such a system.
[0125] Therefore, although the present invention has been described with reference to specific embodiments, these specific embodiments are intended to be illustrative only and not limiting of the present invention, but it is obvious to those skilled in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the present invention.
[0126] All aspects
[0127] The following aspects of the present disclosure are merely exemplary and are not intended to limit the scope of the present disclosure.
[0128] 1. A computer-implemented method for operating a process plant, comprising: selecting a control module associated with a control process, wherein the control module has at least one input configured to receive process control data; associating a first signal object with the at least one input of the control module; and assigning a first path to the first signal object, wherein the first path specifies an output of a process control device of the process plant, wherein the control module receives process control data associated with the process control device from the first signal object.
[0129] 2. The computer-implemented method of aspect 1, wherein the process control data received from the first signal object is independent of an I / O architecture of the process plant.
[0130] 3. A computer-implemented method according to aspect 1 or aspect 2, wherein the first signal object receives output data from a field device via one or more protocols, extracts the process control data from the received output data, and provides the process control data to the control module in a standard format, regardless of the one or more protocols of the received output data.
[0131] 4. The computer-implemented method according to any one of aspects 1-3 further includes: associating a second signal object with an output end of the control module; and assigning a second path to the second signal object, wherein the second path specifies an input end of one of the process control devices or another process control device of the process plant, wherein the control module transmits process control data to the process control device or the other process control device through the second signal object, regardless of the I / O architecture associated with the process control device or the other process control device.
[0132] 5. The computer-implemented method according to aspect 4 further includes: selecting a second control module, wherein the second control module includes an input end; and associating the input end of the second control module with the second signal object, wherein associating the input end of the second control module with the second signal object enables the second control module to receive the process control data from the output end of the first control module at the input end of the second control module.
[0133] 6. The computer-implemented method according to any one of Aspects 1-5 further includes: before assigning the first path to the first signal object, the processor of the first computer stores the control module and the associated first signal object in a memory; before assigning the first path to the first signal object, the processor of the second computer obtains the control module and the associated first signal object from the memory.
[0134] 7. The computer-implemented method of aspect 6, wherein the first path is assigned to the first signal object during execution of the control module in operation of the process plant.
[0135] 8. The computer-implemented method according to any one of aspects 1-7 further includes: associating a third signal object with at least one input terminal of the control module; and assigning a third path to the third signal object, wherein the third path defines a constant value.
[0136] 9. A computer-implemented method according to any one of aspects 1-8, wherein the process control device comprises a field device.
[0137] 10. The computer-implemented method of any one of aspects 1-9, wherein the control module is an instance of a class using an object-oriented programming language.
[0138] 11. The computer-implemented method of aspect 10, further comprising updating the class of which the control module is an instance, wherein updates to the class are automatically applied to the instances of the class.
[0139] 12. The computer-implemented method of any of aspects 1-11, wherein selecting the control module comprises receiving a user selection of a control module from a library comprising a plurality of control modules.
[0140] 13. A computer-implemented method according to any one of aspects 1-12, wherein: multiple control modules are associated with the first signal object, and the first path is assigned to the first signal object so that each of the multiple control modules associated with the first signal object receives process control data associated with the process control device from the first signal object.
[0141] 14. A computer-implemented method according to any one of aspects 1-13, wherein the selection of the control module and the association of the first signal object with the at least one input terminal of the control module are performed by selecting a control strategy from a library of control strategies, so that the selected control strategy includes both the control module and the associated first signal.
[0142] 15. The computer-implemented method of aspect 14, wherein the selected control strategy does not include the first path.
[0143] 16. The computer-implemented method according to any one of aspects 1-15 further includes: selecting a fourth signal object to be directly included in a user interface; causing the selected fourth signal object to be included in the user interface; assigning a fourth path to the fourth signal object, wherein the fourth path specifies an output end of another process control device of the process plant; and displaying at the user interface an indication of process control data associated with the other process control device received through the fourth signal object.
[0144] 17. The computer implemented method of aspect 16, wherein the fourth signal object is not associated with any control module.
[0145] 18. A computer-implemented method according to aspect 16 or aspect 17, wherein the fourth signal object includes information about the scope of the process control data.
[0146] 19. The computer-implemented method of any of aspects 16-18, wherein the fourth signal object comprises an alarm based on the process control data.
[0147] 20. The computer-implemented method of aspect 19, further comprising: receiving a selection of one or more alert criteria from the user; and causing the user interface to present an alert to the user when the one or more alert criteria are met.
[0148] 21. The computer-implemented method of any of aspects 16-20, wherein the fourth signal object includes information for selecting specific bits from one or more output streams of the process control data for presentation in the user interface.
[0149] 22. The computer-implemented method of any one of aspects 1-21, further comprising: assigning a test path to the first signal object, wherein the test path is associated with test data; and executing the control module using the test data to simulate operation of the control module.
[0150] 23. A computer-implemented method according to aspect 22, wherein the test data includes multiple test data sets representing different operating conditions of the process plant, and further includes: receiving output process control data from the module for each test data set; recording the received output process control data; and using the recorded output process control data to verify the correct operation of the control module.
[0151] 24. The computer-implemented method according to aspect 23 further includes: using the recorded output process control data to determine that the control module is not operating within predetermined quality parameters; adjusting one or more parameters of the control module or the first signal object; after adjusting the one or more parameters, using the test data to execute the control module to simulate the operation of the control module; receiving output process control data from the module for each test data set; and recording the received output process control data.
[0152] 25. A computer-implemented method according to aspect 23 or aspect 24, wherein the test data is independent of an I / O architecture of the process plant.
[0153] 26. The computer-implemented method of any one of aspects 23-25 further comprises receiving information indicative of at least a portion of an I / O architecture of the process plant, wherein the first path is assigned to the first object after normal operation of the control module is verified and after the information indicative of at least a portion of the I / O architecture of the process plant is received.
[0154] 27. A process control system for operating a process plant, comprising: a plurality of process control devices, which are arranged in the process plant; and a controller, which is communicatively connected to a plurality of field devices and has at least one control module, the control module having an input terminal for receiving input process control data and an output terminal for transmitting output process control data, wherein the input terminal of the control device is associated with a first signal object to receive process control data; wherein the first signal object has an assigned first path, the assigned first path specifies the output terminal of a process control device among a plurality of process control devices, and wherein the control module receives process control data associated with the process control device from the first signal object.
[0155] 28. The process control system of aspect 27, wherein the process control data received from the first signal object is independent of an I / O architecture of the process plant.
[0156] 29. A process control system according to aspect 27 or aspect 28, wherein the first signal object receives an output signal from a field device via one or more protocols, extracts the process control data from the received output data, and provides the process control data to the control module in a standard format, regardless of the one or more protocols of the received output data.
[0157] 30. A process control system according to any one of Aspects 27-29, wherein the output end of the control module is associated with a second signal object; the second signal object has an assigned second path, and the assigned second path specifies the input end of a second process control device among the multiple process control devices; and wherein the control module transmits process control data to the second process control device through the second signal object, regardless of the I / O architecture associated with the second process control device.
[0158] 31. A process control system according to aspect 30, wherein: the second signal object is associated with an input end of a second control module of the controller; and the input end of the second control module receives process control data from the output end of the control module through the second signal object.
[0159] 32. The process control system of any of aspects 27-31, wherein the first path is assigned to the first signal object during operation of the process plant while the control module is executed by the controller.
[0160] 33. The process control system of claims 27-32, wherein the control module is an instance of a class using an object-oriented programming language.
[0161] 34. The process control system of any one of aspects 27-33, wherein the control module is a member of a control module class, such that when the control module class is updated, each member of the control module class is automatically updated.
[0162] 35. The process control system of any of aspects 27-34, further comprising a user interface communicatively connected to the plurality of process control devices and the at least one control module.
[0163] 36. The process control system of aspect 35, wherein the user interface is communicatively coupled to a third process control device of the plurality of process control devices via a third signal object that is not associated with any control module.
[0164] 37. The process control system of aspect 36, wherein the user interface presents process control data received from the third signal object to a user of the user interface.
[0165] 38. A process control system according to aspect 36 or aspect 37, wherein the third signal object provides process control data to the user interface in a standard format regardless of the I / O architecture associated with the third process control device.
[0166] 39. A process control system according to any one of aspects 36-38, wherein the third signal object provides information to the user interface about one or more of: the scope of the process control data; an alarm associated with the process control data; or a specific bit picked up from one or more output streams of the third process control device.
[0167] 40. A computer-implemented method for operating a process plant, comprising: receiving, at a processor of a controller communicatively connected to a plurality of field devices, an indication of a control module for operating the process plant; associating a universal masking block within the controller with the control module; receiving, at the controller, descriptive data regarding a field device communicatively connected to the controller, wherein the descriptive data describes a functional block of the field device; and configuring the universal masking block to mimic the operation of the functional block of the field device within the controller based on the received descriptive data.
[0168] 41. The computer-implemented method of clause 40, wherein associating the universal masking block with the control module comprises specifying a reference to an input or an output of the control module to identify the universal masking block.
[0169] 42. The computer implemented method of aspect 41, wherein the reference specifies a path to the field device.
[0170] 43. The computer-implemented method of clause 41, further comprising specifying a second reference to another input or output of the control module to identify a constant value.
[0171] 44. The computer-implemented method according to any one of aspects 40-43 further includes: associating an additional universal masking block within the controller with the control module; receiving, at the controller, additional descriptive data about an additional field device communicatively connected to the controller, wherein the additional descriptive data describes a functional block of the additional field device, wherein, before configuration, the additional universal masking block is the same as the masking block; configuring the additional universal masking block to mimic the operation of the functional block of the additional field device within the controller based on the received additional descriptive data.
[0172] 45. The computer implemented method of aspect 44, wherein the functional block of the further field device is different in type from the functional block of the field device.
[0173] 46. A computer implemented method according to aspect 44 or 45, wherein the further field device is different in type from the field device.
[0174] 47. The computer-implemented method of any of aspects 44-46, wherein the additional field device uses a different communication protocol than the field device.
[0175] 48. The computer-implemented method of any of aspects 40-47, wherein the description data comprises data describing the field device in a standard text-based description language.
[0176] 49. The computer-implemented method of any one of aspects 40-48, wherein receiving the description data about the field device comprises: sending a request for the description data to the field device; and receiving the description data from the field device.
[0177] 50. The computer-implemented method of any of aspects 40-49, wherein receiving the descriptive data about the field device comprises receiving the descriptive data from a database containing information about the process plant.
[0178] 51. The computer-implemented method according to any one of aspects 40-50 further includes: when executing the control module, determining whether the universal masking block has been configured; and if the universal masking block has not been configured, receiving an indication of the field device; wherein receiving the descriptive data about the field device is based on the received indication of the field device.
[0179] 52. The computer-implemented method of any of aspects 40-51, wherein the indication of the field device is selected by a process plant operator.
[0180] 53. The computer-implemented method of any of aspects 40-52, wherein the indication of the field device is received from a database including information about the process plant.
[0181] 54. The computer-implemented method of any one of aspects 40-53, wherein the description data includes information about an I / O architecture associated with the field device.
[0182] 55. The computer-implemented method according to any one of aspects 40-54 further includes: receiving process control data from the field device at the configured masking block; converting the received process control data into a standard format used by the control module at the configured masking block, wherein the standard format is independent of the configuration of the universal masking block based on the descriptive data; and providing the converted process control data to the input of the control module.
[0183] 56. The computer-implemented method according to any one of aspects 40-55 further includes: receiving process control data from the output end of the control module at the configured shielding block, wherein the process control data is an output in a standard format independent of the field device and the I / O architecture of the process plant; converting the process control data from the standard format to a second format used by the field device at the configured shielding block; and transmitting the converted process control data to the field device.
[0184] 57. The computer-implemented method of any of aspects 40-56, wherein the control module is an instance of a control module class that is independent of the type of the field device and the I / O architecture of the process plant.
[0185] 58. The computer-implemented method of clause 57, wherein the control module includes an option for ignoring one or more inputs from the universal masking block.
[0186] 59. The computer-implemented method according to aspect 57 or aspect 58 further includes: generating, by a user device, a user interface configured to operate the process plant, wherein the user interface includes a representation of the control module; and displaying the user interface to a process plant operator at a user station, wherein each control module within the control module class is represented by the same standard format.
[0187] 60. The computer-implemented method of any of clauses 57-59, wherein the generic masking block is an instance of a generic masking block class.
[0188] 61. The computer-implemented method of clause 60, wherein the generic masking block is automatically associated with the control module based on the control module class.
[0189] 62. A process control system for operating a process plant, comprising: a plurality of field devices, which are arranged in the process plant; and a controller, which is communicatively connected to the plurality of field devices and has at least one control module for operating the process plant, wherein the controller also includes computer-readable instructions, and the computer-readable instructions enable the controller to: associate a universal masking block in the controller with the control module; receive description data about a field device among the plurality of field devices, wherein the description data describes a functional block of the field device; and based on the received description data, configure the universal masking block to mimic the operation of the functional block of the field device in the controller.
[0190] 63. The process control system of aspect 62, wherein associating the universal masking block with the control module comprises specifying a reference to an input or an output of the control module to identify the universal masking block.
[0191] 64. The process control system of aspect 63, wherein the reference specifies a path to the field device.
[0192] 65. A process control system according to any one of aspects 62-64, wherein the computer-readable instructions further cause the controller to: associate an additional universal masking block within the controller with the controller; receive additional descriptive data regarding an additional field device of a plurality of field devices, wherein the additional descriptive data describes a functional block of the additional field device, wherein, before configuration, the additional universal masking block is the same as the masking block; and based on the received additional descriptive data, configure the additional universal masking block to mimic the operation of the functional block of the additional field device within the controller.
[0193] 66. The process control system of aspect 65, wherein the function block of the further field device is different in type from the function block of the field device.
[0194] 67. The process control system of aspect 66, wherein the additional field device is different in type from the field device.
[0195] 68. The process control system of any of aspects 62-67, wherein the description data comprises data describing the field device in a standard text-based description language.
[0196] 69. The process control system of any of aspects 62-68, wherein the descriptive data about the field device is received from the field device.
[0197] 70. The process control system of any of aspects 62-69, wherein the descriptive data about the field device is received from a database containing information about the process plant.
[0198] 71. A process control system according to any one of aspects 62-70, wherein the computer-readable instructions further cause the controller to: determine whether the universal masking block has been configured when executing the control module; and if the universal masking block has not been configured, receive an indication of the field device, wherein the descriptive data about the field device is received based on the received indication of the field device.
[0199] 72. The process control system of aspect 71, wherein the indication to the field device is selected by a process plant operator.
[0200] 73. A process control system according to aspect 71 or 72, wherein the indication of the field device is received from a database containing information about the process plant.
[0201] 74. A process control system according to any of aspects 62-73, wherein the descriptive data includes information about an I / O architecture associated with the field device.
[0202] 75. A process control system according to any one of Aspects 62-74, wherein the computer-readable instructions further cause the controller to: receive process control data from the field device at the configured masking block; convert the received process control data into a standard format used by the field device in the configured masking block; wherein the standard format is independent of the configuration of the universal masking block based on the descriptive data; and provide the converted process control data to the input of the control module.
[0203] 76. The process control system of any of aspects 62-75, wherein the control module is an instance of a control module class that is independent of the type of the field device and the I / O architecture of the process plant.
[0204] 77. The process control system of aspect 76, wherein the generic masking block is automatically associated with the control module based on the control module class.
[0205] 78. A process control system according to any of aspects 62-77, wherein the generic masking block is an instance of a generic masking block class.
[0206] 79. A process control system according to any of aspects 62-78, wherein the control module includes an option for ignoring one or more inputs from the generic masking block.
Claims
1. A computer-implemented method of operating a process plant, comprising: selecting, by one or more processors, a control module associated with a control process, wherein the control module is implemented as a software module within a process control system and has at least one input configured to receive process control data; associating, by the one or more processors, a first signal object with the at least one input of the control module, wherein the first signal object is implemented as a data object within the process control system, and wherein the first signal object has a path specifying a data source and a variable providing data obtained from the data source; and assigning, by the one or more processors, a first path to the first signal object as the path, wherein the first path specifies an output of a process control device of the process plant, wherein the first signal object receives output data from the process control device via one or more protocols, extracts process control data from the received output data, and provides the process control data to the control module in a standard format regardless of the one or more protocols of the received output data, and The control module receives the process control data associated with the process control device from the variable of the first signal object.
2. The computer-implemented method of claim 1 , wherein: The process control data received from the first signal object is independent of an I / O architecture of the process plant.
3. The computer-implemented method of claim 1 , further comprising: associating, by the one or more processors, a second signal object with an output of the control module; as well as assigning, by the one or more processors, a second path to the second signal object, wherein the second path specifies an input of one of the process control device or another process control device of the process plant, The control module transmits process control data to the process control device or another process control device via the second signal object without regard to an I / O architecture associated with the process control device or another process control device.
4. The computer-implemented method of claim 3, further comprising: selecting, by the one or more processors, a second control module, wherein the second control module includes an input terminal; and associating, by the one or more processors, the input of the second control module with the second signal object, The input terminal of the second control module is associated with the second signal object so that the second control module receives the process control data from the output terminal of the control module at the input terminal of the second control module.
5. The computer-implemented method of claim 1 , wherein: During execution of the control module in operation of the process plant, the first path is assigned to the first signal object.
6. The computer-implemented method of claim 1 , wherein: selecting the control module and associating the first signal object with the at least one input of the control module is performed by selecting a control strategy from a library of control strategies such that the selected control strategy includes both the control module and the associated first signal; and The selected control strategy does not include the first path.
7. The computer-implemented method of claim 1 , further comprising: assigning, by the one or more processors, a test path to the first signal object, wherein the test path is associated with test data, and wherein the test data includes a plurality of test data sets indicative of different operating conditions of the process plant; executing, by the one or more processors, the control module using the test data to simulate operation of the control module; receiving, at the one or more processors, output process control data from the control module for each test data set; logging, by the one or more processors, the received output process control data; and The recorded output process control data is used by the one or more processors to verify proper operation of the control module.
8. The computer-implemented method of claim 7, further comprising: Information indicative of at least a portion of an I / O architecture of the process plant is received by the one or more processors, wherein the first path is assigned to the first signal object after normal operation of the control module is verified and after the information indicative of at least a portion of the I / O architecture of the process plant is received.
9. A process control system for operating a process plant, comprising: a plurality of process control devices disposed within the process plant; as well as a controller communicatively connected to the plurality of process control devices and having at least one control module implemented by the controller as a software module of a process control system, the control module having an input for receiving input process control data and an output for transmitting output process control data, wherein the input of the control module is associated with a first signal object to receive process control data, wherein the first signal object is implemented as a data object within the process control system, and wherein the first signal object has a path specifying a data source and a variable providing data obtained from the data source; wherein the first signal object has an assigned first path as the path of the first signal object, the assigned first path designating an output terminal of a process control device among the plurality of process control devices, wherein the first signal object receives output data from the process control device via one or more protocols, extracts process control data from the received output data, and provides the process control data to the control module in a standard format regardless of the one or more protocols of the received output data, and The control module receives process control data associated with the process control device from the first signal object.
10. The process control system of claim 9, wherein: The process control data received from the first signal object is independent of an I / O architecture of the process plant.
11. The process control system of claim 9, wherein: The output of the control module is associated with a second signal object; The second signal object has an assigned second path that specifies an input of a second process control device of the plurality of process control devices; and The control module transmits process control data to the second process control device via the second signal object without regard to an I / O architecture associated with the second process control device.
12. The process control system of claim 9, wherein: During operation of the process plant while the control module is executed by the controller, the first path is assigned to the first signal object.
13. A tangible, non-transitory computer-readable medium storing executable instructions for implementing a process control system for operating a process plant, the executable instructions, when executed by one or more processors of the process control system, causing the process control system to: receiving a selection of a control module associated with a control process, wherein: The control module is implemented as a software module within the process control system and has at least one input configured to receive process control data; associating a first signal object with the at least one input of the control module, wherein the first signal object is implemented as a data object within the process control system, and wherein the first signal object has a path specifying a data source and a variable providing data obtained from the data source; and assigning a first path to the first signal object as the path, wherein the first path specifies an output of a process control device of the process plant, wherein the first signal object receives output data from the process control device via one or more protocols, extracts process control data from the received output data, and provides the process control data to the control module in a standard format regardless of the one or more protocols of the received output data, and The control module receives the process control data associated with the process control device from the variable of the first signal object.
14. The tangible, non-transitory computer-readable medium of claim 13, wherein: The process control data received from the first signal object is independent of an I / O architecture of the process plant.
15. The tangible, non-transitory computer-readable medium of claim 13, wherein: The executable instructions further cause the process control system to: Associating a second signal object with an output of the control module; as well as assigning a second path to the second signal object, wherein the second path specifies an input of one of the process control device or another process control device of the process plant, The control module transmits process control data to the process control device or another process control device via the second signal object without regard to an I / O architecture associated with the process control device or another process control device.
16. The tangible, non-transitory computer-readable medium of claim 15, wherein: The executable instructions further cause the process control system to: receiving an additional selection of a second control module, wherein the second control module includes an input; and Associating the input terminal of the second control module with the second signal object, The input terminal of the second control module is associated with the second signal object so that the second control module receives the process control data from the output terminal of the control module at the input terminal of the second control module.
17. The tangible, non-transitory computer-readable medium of claim 13, wherein: During execution of the control module in operation of the process plant, the first path is assigned to the first signal object.
18. The tangible, non-transitory computer-readable medium of claim 13, wherein: The selection of the control module includes selection of a control strategy from a library of control strategies such that the control strategy includes both the control module and the associated first signal; and The control strategy does not include the first path.
19. The tangible, non-transitory computer-readable medium of claim 13, wherein: The executable instructions further cause the process control system to: assigning a test path to the first signal object, wherein the test path is associated with test data, and wherein the test data includes a plurality of test data sets indicative of different operating conditions of the process plant; executing the control module using the test data to simulate operation of the control module; receiving output process control data from the control module for each test data set; recording the received output process control data; and The recorded output process control data is used to verify proper operation of the control module.
20. The tangible, non-transitory computer-readable medium of claim 19, wherein: The executable instructions further cause the process control system to: Receiving information indicative of at least a portion of an I / O architecture of the process plant, wherein the first path is assigned to the first signal object after normal operation of the control module is verified and after the information indicative of the at least a portion of the I / O architecture of the process plant is received.
Citation Information
Patent Citations
Diagnostics in a process control system
US6298454B1