Detailed Description
Figures 1 through 4, discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should in no way be construed to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any type of suitably arranged device or system.
Distributed process control systems built today are integrated into the functional control layers, each layer providing a system of control ranging from a local control level to an enterprise control level. At a first level, the process instrument and sensor are controlled by a local controller. Data from the connected sensors and commands to the controller are typically transmitted to/from the supervisory control layer over a network. The supervisory control layer uses a supervisory server to record information collected or generated by the controller, such as status information related to the operation of the process elements. The server may also execute applications that control the operation of the controller, generating functional control blocks for implementing control strategies to control the operation of the process elements. One or more operator stations coupled to the servers provide user access to the servers, which in turn can provide user access to the controllers and process elements.
In the past, supervisory controllers and engineering control services for control systems have required the use of dedicated servers to perform these functions of the control system due to hardware, memory, processing power and bandwidth constraints. This embodiment contemplates a distributed control system architecture that decouples the supervisory layer and the supervisory server from the process controller allowing the control applications and engineering databases to reside in memory in the process controller, thereby allowing the embedded processor within the process controller to perform control of the process elements of the system.
FIG. 1 illustrates an example distributed process control system architecture 100 currently used to provide control of a manufacturing process. The embodiment of the process control system 100 shown in FIG. 1 is for illustration only. Other embodiments of the process control system 100 may be used without departing from the scope of this disclosure.
In this example embodiment, the process control system 100 includes one or more process elements 102a-102b. The process elements 102a-102b represent components in a processing environment that perform any of a wide variety of functions. For example, the process elements 102a-102b could represent motors, valves, and other industrial equipment in a processing environment. The process elements 102a-102b could represent any other or additional components in a processing environment. Each of the process elements 102a-102b includes any hardware, software, firmware, or combination thereof for performing one or more functions in a processing environment. The process elements 102a-102b may represent, for example, any component, device, or system capable of manipulating, modifying, or otherwise processing one or more materials in a processing environment. Two process controllers 104a-104b are coupled to the process elements 102a-102b. The process controllers 104a-104b control the operation of the process elements 102a-102b. For example, the controllers 104a-104b typically provide control signals to the process elements 102a-102b. Each of the controllers 104a-104b includes any hardware, software, firmware, or combination thereof for controlling one or more of the process elements 102a-102b.
Two servers 106a-106b are coupled to the controllers 104a-104b. The servers 106a-106b perform various functions to provide supervisory support for the operation and control of the controllers 104a-104b and the process elements 102a-102 b. For example, the servers 106a-106b could record information collected or generated by the controllers 104a-104b, such as state information related to the operation of the process elements 102a-102 b. The servers 106a-106b could also execute applications that control the operation of the controllers 104a-104b, and thus the process elements 102a-102 b. In addition, the servers 106a-106b could provide secure access to the controllers 104a-104b. Each of the servers 106a-106b includes any hardware, software, firmware, or combination thereof for providing access to or control of the controllers 104a-104b. Each of the servers 106a-106b could, for example, include one or more processors and one or more memories capable of storing data and instructions for use by the processors.
Control execution events are typically transmitted to the supervisory servers 106a-106b in a timely manner due to storage limitations within the controller product, such as a dedicated hardened controller platform. In addition, links or one or more of these platforms are sometimes unavailable due to the nature of the controller/server communications. This may occur, for example, during a redundant server failover (failover), a redundant controller failover, or an interruption of a communication link between the controller and the server. Control events generated in the control execution environment remain in the event buffers in the process controllers 104a-104b and are sent to the supervisory server when defined interrupts are no longer present.
One or more operator stations 108a-108b are coupled to the servers 106a-106b. The operator stations 108a-108b represent computing or communication devices providing user access to the servers 106a-106b, which servers 106a-106b could then provide user access to the controllers 104a-104b and the process elements 102a-102 b. For example, the operator stations 108a-108b could allow users to view the operational histories of the process elements 102a-102b using information collected by the controllers 104a-104b and the servers 106a-106b.
The operator stations 108a-108b could also allow users to adjust the operation of the process elements 102a-102b, controllers 104a-104b, or servers 106a-106 b. Each of the operator stations 108a-108b includes any hardware, software, firmware, or combination thereof for supporting user access and control of the system 100. Each of the operator stations 108a-108b could, for example, include one or more processors and one or more memories capable of storing data and instructions used by the processors.
In this example, at least one of the operator stations 108b is a remote station. The remote stations are coupled to the servers 106a-106b through a remote network 110. Network 110 facilitates communication between various components in system 100. For example, network 110 may communicate Internet Protocol (IP) packets, frame relay frames, asynchronous Transfer Mode (ATM) cells, or other suitable information between network addresses. Network 110 may include one or more Local Area Networks (LANs), metropolitan Area Networks (MANs), wide Area Networks (WANs), all or a portion of the global network (such as the internet), or any one or more other communication systems at one or more locations.
In this example, the system 100 includes two additional servers 112a-112b. Servers 112a-112b execute various applications to control the overall operation of system 100. For example, the system 100 may be used in a processing or production plant or other facility, and the servers 112a-112b may execute applications for controlling the overall operation of the plant or other facility. As a particular example, the servers 112a-112b could execute applications such as Enterprise Resource Planning (ERP), manufacturing Execution Systems (MES), or any other or additional plant or process control applications. Each of the servers 112a-112b includes any hardware, software, firmware, or combination thereof for controlling the overall operation of the system 100. Each of the servers 112a-112b could, for example, include one or more processors and one or more memories capable of storing data and instructions for use by the processors.
As shown in FIG. 1, the system 100 includes various redundant networks 114a-114b and individual networks 116a-116c that support communication between components in the system 100. Each of these networks 114a-114b, 116a-116c represents any suitable network or combination of networks that facilitate communications between components in the system 100. The networks 114a-114b, 116a-116c could, for example, represent ethernet networks.
In one aspect of operation, the control process is implemented by the controllers 104a-104b and the control process is built using the function block 118. The function block 118 represents an executable software object that performs a particular task. Each functional block 118 may also be graphically represented by a symbol and have specified parameters (such as one or more inputs and/or one or more outputs). To define a control procedure, a user may select a particular function block 118 and link the inputs and outputs of the selected function block 118. The controllers 104a-104b may then implement the defined control process.
Any suitable type and number of function blocks 118 may be present in the system 100. The functional blocks 118 may, for example, include "component blocks" that represent basic functions. These basic functions may be combined into larger functional blocks called "container blocks". "independent block" means a functional block that does not contain a component block and is not contained within a container block. These blocks represent merely examples of the types of functional blocks 118 that may be used in the system 100. Other or additional types of functional blocks 118 may be used in the system 100.
Different types of function blocks 118 are associated with different block definition files 120. The block definition file 120 defines various characteristics of the associated type of function block 118. For example, the block definition file 120 may define parameters (such as inputs and outputs) for one type of functional block 118. The block definition file 120 may also define symbols that graphically represent one type of functional block 118. The block definition file 120 may further define a window layout for one type of function block 118, where the window layout is later used by a user to configure the function block 118 for use in a control process.
In this example, the block definition file 120 is stored in a database 122. Database 122 includes any hardware, software, firmware, or combination thereof for storing information and facilitating retrieval of information. Database 122 may store information and facilitate retrieval of information using any of a variety of data structures, arrangements, and compilations. In some embodiments, database 122 represents an Engineering Repository Database (ERDB).
Control is built using a process builder application 124 with function blocks 118. The process builder application 124 provides a graphical user interface that allows a user to create or edit a control process using graphical symbols representing the type of function block 118. For example, the process builder application 124 may allow a user to select particular types of function blocks that present graphical symbols to the user that represent the selected types of function blocks. The user may then link the input and output of the selected type of function block. An instance of the selected function block type (function block 118) may then be created and used to implement the control process. The process builder application 124 includes any hardware, software, firmware, or combination thereof for creating or editing a control process. The process BUILDER application 124 may represent, for example, a CONTROL BUILDER (CONTROL BUILDER) application of the company holmivir international (HONEYWELL INTERNATIONAL).
As noted above, conventional process control systems often lack mechanisms for allowing a user to create or edit a function block type or a parameter associated with a function block type. In accordance with the present disclosure, a user can access the function block editor 126. The block editor 126 provides a graphical user interface that allows a user to create or edit a function block type and to create or edit parameters associated with the function block type. For example, the block editor 126 may allow a user to create, edit, or delete a block definition file 120 that allows the user to control which types of function blocks 118 are transmitted to the controllers 104a-104b for use in the process control system 100.
In particular embodiments, the block editor 126 may be used to create or edit custom algorithm function block types, custom data block types, and function block types for foundation fieldbus (Foundation Fieldbus) devices. The custom algorithm block contains a user-defined algorithm and a user-defined data structure. The custom data block supports user-defined data parameters. Foundation fieldbus blocks are used with devices that support foundation fieldbus technology that supports dynamic integration of dedicated field devices with digital-based control systems. The process builder application 124 may then be used to incorporate instances of these function block types defined by the user into the control process. This represents just a few examples of the types of functional blocks that may be created, edited, or deleted using the block editor 126. The block editor 126 may be used to create, edit, or delete any other or additional types of functional blocks. As a particular example, the block editor 126 may be used to create, edit, or delete proprietary function block types used within a system or controller.
Block editor 126 includes any hardware, software, firmware, or combination thereof for creating or editing a function block type or its associated parameters. The block editor 126 may be implemented, for example, as an Active-X control.
Fig. 2 illustrates an example of a controller 200 according to the present disclosure. The process controller 200 may represent any of the process controllers 104a-104b in FIG. 1, for example. However, the device 200 may be used in any other suitable system and may represent any suitable device in the system.
As shown in fig. 2, the controller 200 includes at least one processor 202, at least one storage device 204, at least one communication unit 206, and at least one input/output (I/O) unit 208. Each processor 202 may execute instructions, such as those that may be loaded into memory 210. Each processor 202 represents any suitable processing device, such as one or more microprocessors, microcontrollers, digital signal processors, application Specific Integrated Circuits (ASICs), field Programmable Gate Arrays (FPGAs), or discrete circuits. The processor 202 will execute any suitable instructions, such as those that enable control and supervision of the process elements 102a-102 b.
Memory 210 and persistent storage 212 are examples of storage devices 204 that represent any structure capable of storing information (such as data, program code, and/or other suitable information, either temporary or persistent) and facilitating retrieval of information. Memory 210 may represent random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 212 may contain one or more components or devices that support longer-term storage of data, such as read-only memory, hard drives, flash memory, or optical disks. In this disclosure, persistent storage 212 includes databases 230 and 240, where these databases 230 and 240 include any hardware, software, firmware, or combination thereof for storing information and facilitating retrieval of information. Databases 230 and 240 may use any of a variety of data structures, arrangements, and compilations to store information and facilitate retrieval of information.
The communication unit 206 supports communication with other systems or process instruments and devices. For example, the at least one communication unit 206 may include one or more wired communication networks that support data communication over any suitable physical or communication link using any number or form of communication protocols for communicating with process instruments, such as foundation fieldbuses, HART, PROFIBUS, and MODBUS. The communication unit 206 also connects the controller 200 to a data communication network, such as networks 114a-114b that support communication between components in the system 100.
The I/O unit 208 allows data and commands to be input and output to the network. For example, the unit 206 may provide a connection for user input by an operator station through a keyboard, mouse, keypad, touch screen, or other suitable input device. The unit 206 may also send output to a display, printer, or other suitable output device.
FIG. 3 illustrates components of an industrial automation system architecture with a decoupled controller in accordance with one or more embodiments. As shown in FIG. 3, the industrial automation system 300 is organized into three main layers, namely an open platform layer, a plant network layer, and a plant control layer. The plant control layer may include one or more process instruments or devices, such as sensors, actuators, flow meters, pressure and temperature transmitters and other devices operating in the process facility as well as controllers and wireless gateways. The controller 304 provides local and supervisory control of one or more wired process instruments or devices 330a-330c through a wired network 335 operating in accordance with one or more bus protocols, such as a foundation fieldbus, PROFIBUS, HART, or MODBUS. The controller 304 may be a single controller or a dual redundant controller pair operating in a single network configuration or a dual redundant network configuration.
The controller 305 provides local and supervisory control of one or more wireless process instruments or devices 320a-320c through a wireless gateway device 325. Wireless gateway 325 uses wireless network 350 to wirelessly transmit and receive data to wireless process instruments or devices 320a-320c using one or more industrial wireless communication protocols, such as WirelessHART and ISA 100. The controller 305 may also be a single controller or a dual redundant controller pair operating in a single network configuration or a dual redundant network configuration.
Network layer 314 may include any suitable wired or wireless network, such as, for example, a Local Area Network (LAN), wide Area Network (WAN), ethernet, wireless fidelity (WiFi), IEEE 802.11, or ISA100. As a specific example, network 314 represents a pair of redundant ethernet networks in this embodiment, such as Fault Tolerant Ethernet (FTE) networks from HONEYWELL INTERNATIONAL inc.
The plant network layer may also be connected to a cloud network 340 and one or more remote operator stations 341. Remote station 341 is coupled to factory network layer 314 through cloud network 340. The cloud network 340 facilitates communication between various components in the system 300, including the controllers 304, 305, modules 312a-312c, and operator stations 307, 308. For example, network 340 may communicate Internet Protocol (IP) packets, frame relay frames, asynchronous Transfer Mode (ATM) cells, or other suitable information between network addresses. Cloud network 340 may include one or more Local Area Networks (LANs), metropolitan Area Networks (MANs), wide Area Networks (WANs), all or a portion of the global network (such as the internet), or any one or more other communication systems at one or more locations. In addition, cloud network 340 may also support any open data communication protocol such as OPC UA (open platform connection unified architecture) data protocol and its core services for synchronous and asynchronous data distribution, alarm and event distribution, historical data transmission, and the like.
The open platform layer includes at least an analysis module 312a, a history module 312b, and a high-level control module 312c, and an operator station 308 running any suitable HMI software application. Modules 312a-312c provide various functions to the overall operation of system 300. For example, the analysis module 312a may be used to provide a tool for predictive analysis to deliver insight into future performance based upon historical data. The historian module 312b serves as a repository for process data from the controllers 304, 305, the process instruments and devices 330a-330c, 320a-320c of the system 300. The history data stored in the history record 312b may be retrieved by other modules of the open platform layer and the operator station 308 and the remote station 341 through the cloud network 340. For example, historical data may be used as a basis for predictive analysis and may also be used by the high-level control module 312c to develop high-level software models. The task of the advanced control module 312c is to implement a Model Predictive Control (MPC) or other Advanced Predictive Control (APC) model that can be sent to one or more controllers to control process instruments and other devices using the models and predictions developed by the module 312 c. Each of the modules 312a-312c includes any hardware, software, firmware, or combination thereof for controlling the overall operation of the system. Each module 312a-312c of the open platform layer may be configured as a single or multiple server platforms and may include, for example, one or more processors and one or more memories capable of storing data and instructions for use by the processors. Even though FIG. 3 illustrates the modules 312a-312c as being locally connected in the plant via the plant network 314, the modules 312a-321c may be located at a remote location and connected to the system 300 via the cloud network 340.
The open platform layer also includes an operator station 308. Station 308 represents a computing or communication device that provides user access to the components and devices of system 300. For example, the operator station 308 may allow a user to view on an in-contained display the operating history of the process instruments and devices stored in the history record 312b and collected by the controllers 304 and 305. The operator station 308 may also execute software programs to allow a user to run "pattern-based discovery and predictive process analysis" using data from the analysis module 312 a.
The operator station 308 uses Human Machine Interface (HMI) software applications to implement overall user communications and control for the system 300. HMIs represent software applications whose tasks are to provide user access to the open platform layer and its modules, as well as to the plant control layer and its controllers, process instruments, and devices. For example, the HMI may allow a user and operator of the system 300to adjust the operation of the process instruments and devices and the controllers. The HMI will include any hardware, software, firmware, or combination thereof for supporting user access and control of the system 300. The HMI may, for example, provide advanced process control from an advanced control module implementing Model Predictive Control (MPC) or other Advanced Predictive Control (APC) to one or more controllers to control process instruments and other devices in real-time using models and predictions developed by the advanced control module.
Turning to fig. 4, a controller 304 of the present disclosure is illustrated. For the purposes of this embodiment, the controller 304 will be used to explain the operation of the decoupled controller. Controller 305 is also a decoupled controller and includes the same internal components as controller 304 and operates in the same manner as controller 304. The controller 304 includes the processor 202, the memory 210, the storage device 204, the I/O unit 208, the communication unit 206, and the controller bus 200. The controller bus 200 provides a unified bi-directional high speed system bus that provides data connections, address connections, and memory connections to the components and devices of the controller 304. The communication unit 206 supports data communication with other systems and process instruments and devices 330a-330c via a network bus 335, the network bus 335 employing any suitable bus protocol, such as a foundation fieldbus, PROFIBUS, HART, or MODBUS. The communication unit 206 also provides network data communication to the platform layer via the network 314 to user-operated input/output devices (such as data terminals, displays, printers) or other suitable communication devices (such as operator stations 307, 308 and remote station 341).
The processor 202 of the controller 304 may run command and control applications, streaming and batch analysis, and send device-generated telemetry data to the open platform layer via the communication unit 206 and the plant network 314. Similarly, data originating from the open platform layer may be sent to the process instruments and devices (e.g., devices 330a-330 c) through the controller 304, such as, for example, MPC and APC control and command data and instructions to the connected devices and sensors.
The controller 304 of the present embodiment includes an open protocol data communication and security software application 225 stored in the persistent storage 212 that operates as a common protocol machine arranged for delivery to downstream connections of plant control layers and other devices and systems using an open communication protocol. In addition, the open protocol data communication and security software 225 is arranged to provide upstream connections to the modules 312a-312c, the operator station 308, and other devices of the open platform layer connected to the plant network 314, as well as any remote stations or other devices connected to the cloud network 340. Data collected from the downstream protocols is mapped to a unified abstraction layer that provides consistent namespaces and data services for information publishing to the modules 312a-312c and operator stations 308 associated with the open platform layer.
In the past, each software or application developer had to write custom interfaces (or servers/drivers) to exchange data with hardware process instrumentation and devices. Industry open protocol standards replace this convention by providing a common interface that permits this work to be done once and then easily reused by HMI and custom applications.
For example, the Open Platform Connectivity (OPC) specification is based on MicrosoftObject link and embed OLE (now active x), component Object Model (COM) and Distributed Component Object Model (DCOM) technologies. DCOM provides a set of interfaces that allow clients and servers to communicate within the same computer running compatible operating systems. OPC defines a set of standard interfaces, properties and methods for use in process control, manufacturing and automation applications. These applications include distributed control systems, programmable logic controllers, input/output (IO) systems, smart field devices, and other real-time information servers. ActiveX/COM technology defines how individual software components interact and share data. By using Microsoft Visual Basic object-oriented components, OLE automation, OPC can provide factory floor data for office applications via a Local Area Network (LAN), remote site, or the internet.
OPC protocols provide many benefits to end users and hardware and software manufacturers, including open connectivity, high performance, and improved vendor productivity and security. OPC provides open connectivity allowing users to choose among a wider variety of factory floor devices and client software, allowing better utilization of best-chosen (best-in-breed) applications. Because OPC is an open standard, software and hardware manufacturers spend less time with connectivity issues and more time with application issues, eliminating a significant amount of repetitive effort. OPC facilitates greater interoperability between automation and control applications, field devices, and business and office applications. Other open protocol data communication protocols may be used to communicate in system 300 including, for example, ethernet/IP, profiNet, IEC-61850, modbus/TCP, HART/IP, etc.
The processor 202 uses a communication stack supporting the open platform connection unified architecture (OPC UA) data protocol and its core services to enable synchronous and asynchronous data publication, alarm and event publication, historical data transmission, blind recording or "BLOB" transmission, etc. The OPC UA architecture is platform and operating system independent in that it does not rely on DCOM technology to communicate between components of the system. OPC UA also includes security features including encryption and certificate-based authentication. Security services are available for their devices to bi-directionally provide secure protection traffic flows to protect both the open platform layer modules and the operator stations, as well as the platforms, network connections, and control layers of the plant control layer systems and devices. Instead of or in addition to OPC UA, other open platform protocols may be supported.
This embodiment decouples the supervisory layer and the supervisory servers 106a-106b from the process controllers 304, 305. The control applications, engineering databases, and name services previously resident in the supervisory servers 106a-106b now reside in the persistent storage 212 of the controller 304. Persistent storage 212 includes databases 230 and 240, where these databases 230 and 240 include any hardware, software, firmware, or combination thereof for storing information and facilitating retrieval of information.
Database 230 performs the functions of the supervision servers 106a-106 b. In this embodiment, database 230 acts as a system repository configured to record information collected or generated by controller 304, such as status information related to the operation of the process device, into memory file 232. The information collected and stored in the memory file 232 is uploaded to the network 314 through the communication unit 206 for storage and use by the modules 312a-312b and access by the operator station 308.
The name and name services are provided by the executable software application 252 and are also stored in the system repository database 230 along with the supporting translation library for this service. The name and name service application 252 provides plain text name references that are used directly with the controller 304 to access control objects or other configuration data without the use of a specific control object identifier. For example, a library of controller objects and functions is maintained in database 230 that supports the operation of controller 304 (such as function blocks, algorithms, processes, or any other executable elements). In addition, the name and name services may support access using plain text messaging, alarm functions, attributes/parameters, tags, and improved control functions for process instruments and devices connected to the controller 304. The translation library is built on the control execution environment of the controller 304.
Database 240 stores executable software applications that control the operation of the controller and contain function block definitions 220 of function control blocks 218. The function block 218 implements a control strategy to control the operation of process instruments and devices coupled to the controller 304. As explained in FIG. 1, functional block 218 represents an executable software object that performs a particular task. Each functional block 218 may also be graphically represented by a symbol and have specified parameters (such as one or more inputs and/or one or more outputs). To define a control procedure, a user may select a particular function block 218 and link the inputs and outputs of the selected function block 218.
Any suitable type and number of functional blocks 218 may be stored in persistent memory 212. The functional blocks 218 may, for example, include "component blocks" that represent basic functions. These basic functions may be combined into larger functional blocks called "container blocks". "independent block" means a functional block that does not contain a component block and is not contained within a container block. These blocks represent only examples of the types of functional blocks 218 that may be used by the controller 304.
Different types of function blocks 218 are associated with different block definition files 220. The block definition file 220 defines various characteristics of the associated type of function block 218. For example, the block definition file 220 stored in the database 240 may define parameters (such as inputs and outputs) for one type of functional block 218. The block definition file 220 may also define symbols that graphically represent one type of functional block 218. The block definition file 220 may further define a window layout for one type of function block 218, where the window layout is later used by a user to configure the function block 218 for use in the control process.
In this embodiment, the block definition file 220 is stored in a database 240. Database 240 includes any hardware, software, firmware, data structures or arrangements or combinations thereof for storing information and facilitating retrieval of information. In some embodiments, database 240 represents an Engineering Repository Database (ERDB).
In the example of the system 100 of FIG. 1, the control instructions are built for the function blocks 118 using the process builder application 124 maintained in the supervisory servers 106a-106 b. The process builder application 124 provides a graphical user interface that allows a user to create or edit a control process using graphical symbols representing the type of function block 118. For example, the process builder application 124 may allow a user to select particular types of function blocks that present graphical symbols to the user that represent the selected types of function blocks. The user may then link the input and output of the selected type of function block. An instance of the selected function block type (function block 118) may then be created and used to implement the control process. The process builder application 124 includes any hardware, software, firmware, or combination thereof for creating or editing a control process. The process builder application 124 may represent, for example, a control builder application from the company holmivir international.
However, in the embodiment of the system 300, the operator station 307 is used to connect the controller 304 to the process builder application 224 executing in the operator station 307. The user may use the process builder application 224 to create or edit the function block 218 using the data stored in the ERDB 220. The process builder application 224 may allow a user to create, edit, or delete a block definition file 220 to control which types of function blocks 218 are controlled by the controller 304. The operator station 307 and the process builder application 224 are coupled to the controller 304 through the network layer 314.
The data communications and security application software stored in the persistent storage 225 provides core security for the plant control layer's device controller 304. The open protocol application 225 works in conjunction with the communication unit 206 to perform deep packet inspection of incoming traffic from the network 314 and the operator station 307 and from the operator station 341 and the network 314 over the cloud network 340.
Because each controller 304 in the plant control layer includes open protocol communications and security applications 225, the controllers may provide flexible extensibility and deployment within the plant control layer using the plant network layer 314. For example, new controllers and other control devices may be added to the plant control layer by connecting the controllers and devices to the network 314 without configuring a supervisory server to handle the new devices. An industry or business protocol based on the open standard Internal Protocol (IP) decouples controllers from the supervisory system, making each controller independent of any supervisory device or server. For example, the controller 304 of the present embodiment may be integrated into an industrial plant control layer and operated from the operator station 308HMI via the network 314. Upstream and downstream data processing and security are implemented by the open protocol application 225 connecting the controller 304 to the HMI using at least one open protocol such as ethernet/IP, OPC UA, profiNet, IEC-61850, modbus/TCP, HART/IP, etc.
In addition, the plant control layer and controller 304, which uses at least one open data communication and security protocol, may operate in a hybrid configuration capable of communicating to devices and operator stations over the network 314 and to devices and remote stations using an open platform protocol connected through the cloud network 340.
While fig. 4 illustrates one example of the decoupling controller 304, various changes may be made to fig. 4. For example, the components and functions of the controller 304 may be in a wide variety of configurations. The controller 304 shown in fig. 4 is intended to illustrate one example and type of decoupled controller and does not limit the present disclosure to any particular type of controller configuration.
Controller 305 operates in a similar manner to controller 304, however, as illustrated in fig. 3, controller 305 is connected to wireless gateway 325 through a wired network connection 336. Wireless gateway 325 includes at least one radio wave device that operates using an industrial wireless protocol, such as WirelessHART or ISA100, for example. The wireless gateway 325 transmits data and command signals to the wireless process instruments 320a-320c via the wireless network 350. The sensor and process data are then transmitted from the wireless process instruments 320a-320c to the wireless gateway 325 via the wireless network 350. The wireless gateway transmits data received over the wireless network 350 to the controller 305 for open platform layer processing over the network connection 336.
In some embodiments, the various functions described in this patent document are implemented or supported by a computer program that is formed from a computer. This embodiment contemplates a distributed control system architecture that decouples the supervisory layer and the supervisory server from the process controller allowing the control applications and engineering databases to reside in memory in the process controller, thereby allowing the embedded processor contained within the process controller to perform control of the process elements of the system, readable program code embodied in a computer readable medium. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium capable of being accessed by a computer, such as Read Only Memory (ROM), random Access Memory (RAM), a hard disk drive, a Compact Disc (CD), a Digital Video Disc (DVD), or any other type of memory. "non-transitory" computer-readable media exclude wired, wireless, optical, or other communication links that transmit transient electrical signals or other signals. Non-transitory computer readable media include media that can permanently store data and media that can store and later rewrite data, such as rewritable optical disks or erasable memory devices.
It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code). The term "communication" and its derivatives encompass both direct and indirect communication. The terms "include" and "comprise," as well as derivatives thereof, are intended to be inclusive and not limited thereto. The term "or" is inclusive, meaning and/or. The phrase "associated with" and derivatives thereof may mean included, included within, interconnected with, contained within, connected to, or connected to, coupled to, communicable with, cooperated with, interleaved with, juxtaposed with, proximate to, joined to, or in combination with, having, with the attribute of..a relationship with or with, etc. When used with a list of items, the phrase "at least one of the terms" means that different combinations of one or more of the listed items can be used, and that only one item in the list may be required. For example, "at least one of A, B and C" includes any combination of A, B, C, A and B, A and C, B and C, and A and B and C.
The description of the present application should not be taken as implying that any particular element, step, or function is a basic or critical element which must be included in the scope of the claims. The scope of patented subject matter is defined only by the allowed claims. Furthermore, none of the claims are intended to recite 35u.s.c. ≡112 (f) with respect to any one of the appended claims or claim elements unless the exact word "means for..or" step for..step "followed by a word-splitting phrase identifying the function is explicitly used in the particular claim. The use of terms such as, but not limited to, "mechanism," "module," "apparatus," "unit," "component," "element," "member," "device," "machine," "system," "processor," or "controller" in the claims is understood and intended to refer to structures known to those skilled in the relevant art, as further modified or enhanced by the features of the claims themselves, and are not intended to introduce 35u.s.c. ≡112 (f).
While the present disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Thus, the foregoing description of exemplary embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.