Apparatus and Method for Merging Wireless Data Into an Established Process Control System

Information

  • Patent Application
  • 20080081579
  • Publication Number
    20080081579
  • Date Filed
    September 29, 2006
    18 years ago
  • Date Published
    April 03, 2008
    17 years ago
Abstract
A method and system of communicating between a wireless network and a process control system communicatively coupled to a server via a process control system interface, such as OPC or a proprietary API. The wireless network may be a mesh network and the server may be a mesh server. The server receives data from the wireless network, where the data is generated from an input/output data point within the wireless network. The server maps the data between the input/output data point and a data point placeholder within the process control system. The server writes the mapped data to the corresponding data point placeholder of the process control system via the process control interface, and the mapped data is provided to the process control system as process control data native to the process control system. Process control data may also be provided to the server, mapped between a data point placeholder of the process control system and an input/output data point of the wireless network, and the mapped process control data is written to the corresponding input/output data point.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic diagram of a process plant displaying an example of a hierarchical structure of equipment and instructions implemented in a process plant;



FIGS. 2A and 2B are schematic diagrams of wireless networks deployed in a process control system;



FIGS. 3A and 3B are a representative block diagrams depicting layering of middleware with respect to process control system nodes and a physical network within a process control system utilizing a wireless network; and



FIG. 4 is a representative block diagram of a server for facilitating communication between a process control system and a wireless network.





DETAILED DESCRIPTION

Referring now to FIG. 1, a process plant 10 includes a distributed process control system having one or more controllers 12, each of which is connected to one or more field devices 14 and 16 via input/output (I/O) devices or cards which may be, for example, Fieldbus interfaces, Profibus interfaces, HART interfaces, standard 4-20 ma interfaces, etc. The controllers 12 are also coupled to one or more host or operator workstations 20 and 22 via a data highway 24 which may be, for example, an Ethernet link. A database 28 may be connected to the data highway 24 and operates as a data historian to collect and store parameter, status and other data associated with the controllers 12 and field devices 14, 16 within the plant 10. Additionally or alternatively, the database 28 may operate as a configuration database that stores the current configuration of the process control system within the plant 10 as downloaded to and stored within the controllers 12 and field devices 14 and 16. While the controllers 12, the I/O cards and the field devices 14 and 16 are typically located down within and are distributed throughout the sometimes harsh plant environment, the operator workstations 20 and 22 and the database 28 are usually located in control rooms or other less harsh environments easily assessable by controller or maintenance personnel.


As is known, each of the controllers 12, which may be by way of example, the DeltaV controller sold by Fisher-Rosemount Systems, Inc., stores and executes a controller application that implements a control strategy using any number of different, independently executed, control modules or blocks. Each of the control modules can be made up of what are commonly referred to as function blocks wherein each function block is a part or a subroutine of an overall control routine and operates in conjunction with other function blocks (via communications called links) to implement process control loops within the process plant 10. As is well known, function blocks, which may but need not be objects in an object oriented programming protocol, typically perform one of an input function, such as that associated with a transmitter, a sensor or other process parameter measurement device, a control function, such as that associated with a control routine that performs proportional-integral-derivative (PID), fuzzy logic, etc. control, or an output function that controls the operation of some device, such as a valve, to perform some physical function within the process plant 10. Of course hybrid and other types of complex function blocks exist such as model predictive controllers (MPCs), optimizers, etc. While the Fieldbus protocol and the DeltaV system protocol use control modules and function blocks designed and implemented in an object oriented programming protocol, the control modules could be designed using any desired control programming scheme including, for example, sequential function chart, ladder logic, etc. and are not limited to being designed and implemented using the function block or any other particular programming technique.


In the plant 10 illustrated in FIG. 1, the field devices 14 and 16 connected to the controllers 12 may be standard 4-20 ma devices, may be smart field devices, such as HART, Profibus, or FOUNDATION® Fieldbus field devices, which include a processor and a memory, or may be any other desired type of field device. Some of these devices, such as Fieldbus field devices (labeled with reference number 16 in FIG. 1), may store and execute modules, or sub modules, such as function blocks, associated with the control strategy implemented in the controllers 12. Function blocks, which may be disposed in two different ones of the Fieldbus field devices 16, maybe executed in conjunction with the execution of the control modules within the controllers 12 to implement one or more process control loops, as is well known. Of course, the field devices 14 and 16 may be any types of devices, such as sensors, valves, transmitters, positioners, etc. and the I/O devices may be any types of I/O devices conforming to any desired communication or controller protocol such as HART, Fieldbus, Profibus, etc.


Still further, in a known manner, one or more of the workstations 20 and 22 may include user interface applications to enable a user, such as an operator, a configuration engineer, a maintenance person, etc. to interface with the process control network within the plant 10. In particular, the workstation 22 may include one or more user interface applications which may be executed on a processor within the workstation 22 to communicate with the database 28, the control modules or other routines within the controllers 12 or I/O devices, with the field devices 14 and 16 and the modules within these field devices, etc. to obtain information from the plant, such as information related to the ongoing state of the process control system. The user interface applications may process and/or display this collected information on a display device associated with one or more of the workstations 20 and 22. The collected, processed and/or displayed information may be, for example, process state information, alarms and alerts generated within plant, maintenance data, etc. Likewise, one or more applications may be stored in an executed in the workstations 22 and 20 to perform configuration activities such as creating or configuring the modules to be executed within the plant, to perform control operator activities, such as changing set-points or other control variables, within the plant, etc. Of course the number and type of routines is not limited by the description provided herein and other numbers and types of process control related routines may be stored in an implemented within the workstations 20 and 22 if desired. The workstations 20, 22 may also be connected via, for example, the internet 30, extranet, bus, Ethernet, etc., to a corporate WAN 32 as well as to a computer system 34 that enables remote monitoring of or communication with the plant 10 from remote locations.


As shown in FIG. 1, the process control system includes three network layers. The first layer (level one) 40 is between the field devices 14, 16 and the controllers 12, the second layer (level two) 42 is among the controllers 12 and the workstations 20, 22, and the third layer (level three) 44 is between the workstations 20, 22 and systems external to the process plant 10. Communications at each of the layers 40, 42, 44 may be wireline. However, as will be described further below, wireless networks may be implemented at any of the three network layers of the process control system. As a result, some or all of the I/O devices within a process control system, such as sensors and actuators, may be deployed and communicatively coupled to the process control system using wireline technologies, wireless technologies or combination thereof For example, wireline communications may be maintained between and among the controllers 12, between and among the workstations 20, 22, and between and among the devices 14, 16, whereas wireless communications may be established at the first layer 40 between the devices 14, 16 and the controllers 12, at the second layer 42 between the controllers 12 and the workstations 20, 22 and/or at the third layer 44 between the workstations 20, 22 and the external systems.


The first layer 40 runs the process and has a tight real-time requirement of high predictability and reliability. As indicated above, the network protocols may be industry standards such as HART, Foundation Fieldbus, DeviceNet, etc. The first layer 40 generally utilizes reliable short range data transmissions, and communications at the first layer 40 may involve small data package sizes, such as less than 100 bytes. Wireless technologies at the first layer 40 may include, but are not limited to, ZigBee, WiFi, Bluetooth, Ultra Wideband (UWB), etc., or any other short-range wireless technology. In particular, wireless technologies at the first layer 40 may include any commercial off-the-shelf wireless products to transmit process control data. A network protocol may be implemented on top of the wireless technology at the first layer 40, or a new process control standard may be developed for wireless communication at the first layer 40. In one example, mesh technologies, such as a self-healing wireless mesh technology, may be implemented at the first layer 40.


The second layer 42 supports user interaction, including configuration, control and monitoring. The timing requirement of the second layer 42 may be less than that of the first layer 40, but still has good reliability. The network protocol for the second layer 42 may be proprietary, or an industry standard such as Ethernet. The second layer 42 generally utilizes longer transmission ranges and bigger data package sizes. As a result, the second layer 42 may have less strict requirements as compared to the first layer 40 and commercial off-the-shelf wireless products to transmit process control data, such as satellite, Wi-Max, and other wireless technologies, may be used at this level to support long-range wireless transmission. Microwave and radio may also be used for shorter distances.


The third layer 44 may be considered a gateway of the process control system to other systems, such as corporate systems which may include, but are not limited to, accounting, inventory, management decision systems, etc. At the third layer 44, conventional networks may be deployed, such as an office network, intranet, etc. Communications at the third layer 44 may be of less concern to process control communications, and various conventional wireless technologies may be utilized.


Regardless of the communication technology utilized within the process control system, each of the devices 14, 16 may include one or more actuators, sensors, or other I/O devices. Each of the I/O devices may correspond to an input/output data point, where an input/output data point within the process control system is a source of process control data. Critical process control data may be collected utilizing point-to-point wireline communications. On the other hand, wireless communications, such as a wireless mesh network, may be deployed within the process control system to collect non-critical process control data. However, in a further example, a wireless mesh network may also be used to collect critical process control data, and, as a result, may be used throughout the process control system. Process control systems having an existing wireline, point-to-point communications may have wireline I/O devices gradually replaced with wireless I/O devices, or otherwise have the wireline communications network replaced with a wireless communications network, with minimal change to the existing process control system, such as utilizing the same network protocols used by the wireline, point-to-point process control system.


Referring to FIGS. 2A and 2B, examples of wireless mesh networks are shown at the second layer 42 between the workstations 20, 22 and the controllers 12, although it should be understood that the wireless mesh network may be deployed throughout the process control system at any point, as mentioned above. In particular, with the wireless mesh network of FIG. 2A all communications among the distributed nodes are wireless. On the other hand, with the wireless mesh network of FIG. 2B, there is only one wireless connection between a workstation 20, 22 and a controller 12, where the workstations 20, 22 are interconnected by a wireline network and the controllers 12 are interconnected by a wireline network so as to reduce wireless exposure and provide better data quality However, it should be understood that different combinations of wireline and wireless networks may be used, including, but not limited to, a mesh network among the field devices 14, 16 and a wireline network among the controllers 12 and the workstations 20, 22. In another example, a wireless mesh network may be deployed among any of the controllers 12, the field devices 14, 16 and on the workstations 20, 22 along with an underlying wireline network deployed across all or part of the process control system, so as to provide network redundancy.


The deployment of a mesh network anywhere within a process control system results in multiple wireless process control system nodes that transmit mesh network data, such as process control data, within the mesh network. For example, with a wireless mesh network between the controllers 12 and the workstations 20, 22, each of the controllers 12 may correspond to a wireless process control system node. With a wireless mesh network between the field devices 14, 16 and the controllers 12, each of the field devices 14, 16, or each of the associated I/O devices, may correspond to a wireless process control system node. While each of the process control nodes may communicate with the physical network, one or a few process control nodes within a mesh network may be dedicated as a communications gateway node. The gateway node within a wireless mesh network may act as a control node for the mesh network and facilitate communication between different networks, such as between the controllers 12 and the workstations 20, 22 or between the field devices 14, 16 and the controllers 12. For example, as shown in the wireless mesh network of FIG. 2B, one or a few of the controllers 12 may act as a gateway node for the controllers 12. The gateway node for the controllers 12 engages in wireless communication with one or a few of the workstations 20, 22 which in turn acts as a gateway node for the workstations 20, 22.


When implementing a wireless communication network for a process control system, a basic commercial wireless network, such as a commercial off-the-shelf mesh wireless network may be utilized, on top of which process control data communication middleware may be established. The middleware provides an application programming interface (API) to the process control system. The process control system transmits process control data to the middleware with transmission constraint requirements, but with little knowledge or awareness of the underlying wireless network. In other words, the underlying mesh wireless network is transparent to the process control system.


Referring to FIG. 3A, examples of the layering of the middleware are shown with respect to the process control system nodes and a physical network such as the data highway 24 or the internet 30. In particular, the middleware is established on top of the wireless network communication protocol (e.g., TCP/IP). The API provided by the middleware for the process control system supports regular process control data communication, such as initialize, open, close, send, receive, acknowledge, cancel, etc. The middleware executes the commands by calling the corresponding functions at the lower layer, and monitors the performance of the calls. The performance monitoring is captured in a set of parameters in the middleware. The difference of parameter values provides information about the difference of the underlying wireline and wireless networks. Examples of parameters that may be tracked include, but are not limited to, a flag indicating a node on the network, the type of network connection, message timeout value, a message round-trip delay, a number of message retries, a flag indicating whether message data is encrypted and the type of encryption, a flag indicating if the note has a redundant network connection, auto message timing indicating whether the lower level automatically translates the message timeout and retries based on round-trip timing or configured values, a flag indicating if there is a failed communication or corrupted integrity, license information and security information. Some or all of the above parameters may be configurable.


During execution, the middleware carries out the commands from the process control system and maintains the parameters. In one example, the middleware automatically adjusts itself by taking into account a response time, bandwidth, number of packets, number of unacknowledged packets, delay times, cost and choosing between transmission media based on time of day, etc. One particular function of the middleware is maintenance of the network connections, because communications within a wireless network may be intermittent. Depending on configuration, the connection may be permanent between two nodes or ad hoc whenever a connection is available. In the case of redundant connections, the middleware may switch between primary and standby connections, where such switches are transparent to the process control applications. The middleware may add variable retries and timeout times for each connection to account for propagation delays, or allow multiple outstanding messages for more efficient bandwidth use.


During an active data transmission, the middleware may perform various tasks, including, but not limited to, round-trip delay timing, send message processing, receive message processing, retry of timeouts, message packing and unpacking, and other optimizations. With the round-trip delay timing task, the initial round-trip delay is based on the time between the synchronous request and the synchronous response when establishing a connection. The round-trip delay may be updated over time by timing the delay between sending a message and the receipt of the acknowledgment. The round-trip delay value is added to the message header to communicate the initial value to the passive end of the connection and to keep both ends of the connection in agreement of the current value.


With the send message processing task, remote connections should have the ability to support multiple outstanding send messages. A window parameter may define limits on how many messages are to be outstanding at any particular time, change the message sending function to send ail messages on the pending message queue up to the window limit, request an ackowledgment only on the last message sent, and add a timer to trigger sending messages that have queued while waiting for an acknowledgment on previous message.


For the received message processing task, when acknowledging a message the time send value may be copied from the received message into the acknowledgment message. This may be used to calculate round-trip times and provides a mechanism for validating that the acknowledgment is associated with the acknowledged message. If an out-of-order message is received, acknowledgment for messages that have been accepted up to this point may be returned. This prevents messages that have already been received but not yet acknowledged from being needlessly retransmitted. When an acknowledgment is received, the time sent value is checked against the time sent value in the message being acknowledged. If the times match, the round-trip time may be averaged into the round-trip time value.


For a retry and timeout task, in order to support multiple outstanding messages, each message must have a timeout value. As messages are acknowledged, they are removed from the acknowledgment time queue leaving messages to be timed out at the proper time. An acknowledgment may acknowledge multiple messages. All messages within the window that precede the sequence number being acknowledged are also acknowledged and are taken off the retransmit queue. Acknowledgments for messages with sequence numbers that are not in the window may be ignored. Management of the retransmit queue handles timing out multiple sets of messages sent at different times with each message given the same fixed amount of time to remain in the retransmit queue before being considered timed out. The retry value may be based on the configured timeout or on the round-trip delay. The timeout value for a link may be based on the number of retries for the link, where the retry count may be configurable depending on the link.


With the message packing and unpacking task, in order to better utilize a given bandwidth on a remote connection, as much information as possible may be packed into each packet, which may be particularly valuable if it is common for several small messages to be queued waiting for a message to be acknowledged or for the window to open up. In order to accomplish this, if two or more messages can fit into a single message buffer, a large message may be allocated and all available messages that will fit are copied into large buffer. As messages are received that contain more than one message as a result of being packed, new receive messages are allocated and data is copied from the packed message into individual message buffers to be processed. All messages contained in a single message may be acknowledged by a single acknowledgment of the last sequence number on the packed messages.


The middleware layer may farther enable many additional kinds of optimizations. If several applications request the same data, multiple requests for the same data may be sent over the wireless link. For remote network connections using delayed transmission media, such as satellite or modems, runtime data may be collected on the remote side of the network over the communication link and distributed to the other side, which reduces the amount of message traffic sent over the network. The remote applications may then retrieve the runtime data from the local middleware instead of requests and over the communications link.


While the above disclosure describes the implementation and deployment of a wireless mesh network within a process control system, wireless mesh networks may also be deployed in whole or in part outside of a process control system. For example, mesh networks may be deployed in areas that are inhospitable or inaccessible by traditional wireline networks. Further, mesh networks may be deployed to collect non-critical process control data or auxiliary data which may be cost prohibitive to collect using traditional wireline networks, or which may be otherwise inaccessible by the process control system. Auxiliary data may include data that is unrelated to process control but which may nonetheless be useful to a user accessing the auxiliary data from within the process control system, including, but not limited to, control room light switches, stock prices, weather forecasts, etc. However, because a process control system can only communicate with I/O devices that it understands, mesh network data generated from wireless I/O devices within a mesh network, whether it be critical process control data, non-critical process control data, auxiliary data, etc., should be provided to a process control system assist the mesh network data is native to the process control system. This may further apply to mesh networks that are deployed within a process control system as part of the control system itself In other words, an appropriate interface merges mesh network data from a mesh network to a process control system. In particular, the mesh network data should be provided to the process control system 10 so that the mesh network data shows up in the process control system as if it is native process control data. Although mesh networks and corresponding mesh components have been, and are further, disclosed, it should be understood that different wireless technologies and different wireless networks may be utilized in place of wireless mesh networks, and that communications between a process control system and other wireless networks may be facilitated by the methods and apparatus described herein.


Referring to FIG. 4, an example of a mesh server 100 for facilitating communications between a mesh network 102 and a process control system 104 is shown. The mesh server 100 provides a software package for merging wireless data with a process control system, and vice versa. The mesh server 100 may be provided as a single server or computer, or as a cluster of servers or computers. Although one mesh network 102 and one process control system 104 are shown, the mesh server 100 may be used to facilitate communications between a plurality of mesh networks and one or more process control systems. Further, although the following disclosure primarily involves merging mesh network data from the wireless mesh network 102 to process control system 104, it should be understood that the mesh server 100 may facilitate communicating process control information from the process control system to the wireless mesh network 102.


As seen in FIG. 4, the mesh server 100 is communicatively coupled to the mesh network 102 via a wireless communication link, which may be accomplished using commercial off-the-shelf wireless communication products, including wireless receivers and transmitters. As is understood, the wireless mesh network 102 is a decentralized network having a plurality of nodes which may be interconnected so that each node need only transmit to the nearest node or plurality of nodes. The wireless mesh network 102 provides a relatively inexpensive yet robust wireless network that may be easily repaired should any of the nodes cease to function or should any of the communication links within the wireless network degrade or breakdown. Still further, a wireless mesh network may be easily expanded to include additional nodes and input/output data points.


Each node may correspond to one or more I/O devices which generate information and which may receive information, such as instructions from the process control system 104. Each node may correspond to one or more input/output data points where each input/output data point is a source of information from the wireless mesh network 102. For example, each I/O device within the mesh network may correspond to an input/output data point within the mesh network. A central control node, such as a central control computer, may be provided within the mesh network 102 to control the mesh network nodes. The central control node may act as a communication gateway node for the mesh network to communicate mesh network data from the input/output data points to the mesh server 100, and each node within the mesh network 102 may function as a repeater to transmit data from other nodes to the central control node. It is noted, however, that the central control node need not necessarily correspond to an I/O device to collect or provide mesh network data itself.


The process control system 104, which may be the process control system 10 disclosed above or any other process control system implementation, may support object linking and embedding (OLE) for process control (OPC), or another process control interface. OPC provides a common process control interface for entities, such as field devices 14, 16, within the process control system 104. The process control system 104 may be communicatively coupled to the mesh server 100 via a communications link, such as an OPC communications link. In particular, the process control system 104 may include an OPC server (not shown) which communicates with the mesh server 100. As shown in FIG. 4, part of the mesh network 102 may be deployed in the same area as the process control system 104, and may collect the same data as the process control system 104. Nonetheless, the mesh network 102, including the input/output data points providing redundancy for input/output data points of the process control system, utilizes the mesh server 100 to merge mesh network data into the process control system 104.


Data point placeholders are defined within the process control system 104, with a data point placeholder configured within the process control system 104 for each input/output data point within the mesh network 102. In particular, a user may configure each data point placeholder in the process control system 104 for each input/output data point in the mesh network 102 that the user wants to merge into the process control system 104. The data point placeholders are treated within the process control system as if they are input/output data points native to the process control system 104, as opposed to input/output data points in the mesh network 102. A data point placeholder provides a unique identification for an input/output data point within the mesh network 102, and reserves a spot within the process control system for mesh network data from the corresponding input/output data point. In other words, a data point placeholder provides a way for mesh network data from an input/output data point in the mesh network 102 to be referenced within the process control system, without establishing a new input/output data point in the process control system and without requiring the process control system to know of the existence of the mesh network, much less the input/output data point.


The unique identification of a data point placeholder distinguishes the different input/output data points. For example, the unique identification may specify the name of a component within the wireless mesh network 102, such as the switch for a fan XYZ (e.g., “on_XYZ”), where an input/output data point corresponds to an I/O device that generates the on/off data for the fan (e.g., a switch) and mesh network data from the input/output data point is the on/off data from the switch. As discussed further below, this mesh network data is provided to the mesh server 100, which in turn provides the data to the corresponding data point placeholder (e.g., “on_XYZ”) in the process control system 104. The data point placeholders may then be treated within the process control system 104 as if they are process control system input/output data points, even though the process control system 104 does not necessarily know the source of the data. As a result, the mesh network data may be treated as process control data native to the process control system. 104. Further, the process control system may use the data point placeholders to provide process control data, such as instructions or requests, to the input/output data points in the wireless mesh network 102 via the mesh server 100, as will be described further below. It is noted, however, that data values from the mesh network 102 may not be as real-time to the process control system 104 as compared to process control data from the process control system 104. However, the mesh network data that may still be used includes, but is not limited to, configuration data, displayed data, alarm/event data, the diagnostics data, etc., and the mesh network data may be used via a tool or toolset in the control system. Further, the mesh network data may be employed to improve process control in the process control system 104.


The mesh server 100 includes a configuration 106, a mesh service 108, and a mesh interface 110. A mesh driver 112 may be published by the mesh network 102, and provided to the mesh server 100. The mesh driver 112 may be assumed to exist within the mesh network 102, and different mesh networks 102 may support different drivers. The mesh server 100 accesses the mesh network 102 through the mesh driver 112, and accesses the process control system 104 through the process control interface, for example through OPC. The mesh server 100 thus provides the software to interface between the mesh network 102 and the process control system 104. The mesh server 100 may facilitate the use of the process control system 104 as a process control system for the underlying mesh network 102, as will be described further.


The configuration 106 is stored within a file in a memory or database of the mesh server 100, and may be provided as an XML data file. The configuration 106 includes a list of data point maps between the process control system data point placeholders and the mesh network input/output data points. In particular, each data point map identifies which data point placeholders correspond with which input/output data points. The data point map also defines where data attributes defined in OPC come from, including, but not limited to, attributes such as timestamp, quality, etc.


Different data point maps may be provided for different groups of input/output data points or for different groups of data point placeholders. For example, the data point maps may be defined according to the mesh network 102 to which an input/output data point may belong, or according to the process control system to which a data point placeholder may belong. Alternatively, entities within the mesh network 102, and corresponding input/output data points, may be grouped according logical groupings, such as location, update frequency or function. For a mesh network 102 deployed in a process control system, entities may include groups of devices and/or equipment such as loops, sub-units, units, areas or other process control entities. In short, different data point maps may be provided for each entity within the mesh network 102, such as a data point map for each loop, sub-unit, a unit, area or any other logical grouping.


Further, the configuration 106 includes an update period which dictates how often mesh network data needs to be retrieved from the mesh network 102, updated to the mesh server 100 and provided to the process control system 104. Different update periods may be provided for different data point maps. For example, mesh network data from some input/output data points may need to be updated to the process control system 104 more frequently than mesh network data from other input/output data points. Connection information may also be provided with the configuration 106 to provide the information necessary to connect with the process control system OPC server.


The mesh service 108 communicates with the process control system 104 via a communications link. As mentioned above, the communications link may be an OPC communications link, although the OPC communications link may be replaced with a proprietary link in which the mesh service 108 invokes a proprietary or private process control system application programming interface (API) to read/write data directly to/from the process control system 104, in which case the configuration 106 may indicate how to handle attributes of tile data, such as timestamp, quality, etc. The mesh service 108 makes function calls to the mesh interface 110, where the function calls may be requests to read data from, or write data to, the mesh network 102. If the mesh service 108 is executed on a Windows workstation, the mesh service 108 may be run as a Windows service.


The mesh interface 110 serves as a interface to access the mesh network 102. The mesh interface is responsible for marshalling calls between the mesh service 108 and the mesh network 102. The mesh interface 110 receives requests from the mesh service 108 and makes a request to the mesh driver 112 The mesh interface 110 further translates the request into a request understood by the mesh driver API.


In one example, the mesh interface 110 provides a set of uniformed APIs for the mesh service 108, and calls into the mesh driver 110 to access data from the mesh network 102. A different API may be provided and invoked by the mesh interface 110 for each mesh network 102 (or each mesh driver 112) that interfaces with the mesh server 100. In another example, the mesh interface 110 may be provided as a unified wireless interface which serves as a common interface to access the mesh network, and the common interface may serve as a data source for any third party clients. The API for the common interface may be defined to best fit the process control system requirements. For example, the mesh interface 110 may use OPC as a common interface. In yet another example, the mesh service 108 and the mesh interface 110 may be provided as a unified interface.


In operation, the mesh service 108 reads the configuration 106 and connects with the process control system by the communications link. Using the data point map from the configuration 106, the mesh service 108 may create data point placeholders within the process control system 104 for any unmapped input/output data points within the mesh network 102. The mesh service 108 further accesses the mesh network 102 via the mesh driver 112 of the mesh interface 110. In order to communicate with the mesh network 102, the mesh service 108 makes function calls to the mesh interface 110. The mesh interface 110 receives a request from the mesh service 108 makes a request to the mesh driver 112. In particular, the mesh interface 110 translates the mesh service request into a request understood by the mesh driver API. In other words, the mesh interface 110 marshals calls between the mesh service 108 and the mesh network 102.


For each input/output data point in the mesh network 102, and for each data point map, the mesh service 108 reads mesh network data from the mesh network 102, for example via the central control node. As such, the mesh server 100 may receive the mesh network data for some or all of the entities within the mesh network 102, including some or all of the input/output data points within the mesh network 102. In addition, because each data point map may correspond to different mesh network, reading mesh network data for each data point map may result in reading mesh network data for a plurality of wireless mesh networks. However, it should be understood that mesh network data generated by input/output data points may be read individually, for example in response to a request from the process control system 104 for mesh network data from a data point placeholder, and hence from a particular input/output data point in the mesh network.


Using the data point map, each item of mesh network data is mapped between the input/output data point which provided the mesh network data and the data point placeholder in the process control system 104 that corresponds to the input/output data point. The mapped mesh network data is then written to the data point placeholder of the process control system 104 which corresponds to the input/output data point. In one example, the data may be read from the mesh network 102 and written immediately to the OPC server of the process control system 104 through OPC to minimize any delay in providing the mesh network data in real-time.


After writing data to the process control system 104, the mesh service 108 may sleep for a configurable length of time, after which the mesh service 108 may repeat the read/write operation between the mesh network 102 and process control system 104. As indicated above, the read write operation may be dictated by the update periods defined in the configuration 106.


When the mesh network data is written to a data point placeholder in the process control system 104, the process control system treats the data point placeholder as an input/output data point within the process control system 104 and the mesh network data is provided within the process control system 104 as process control data native to the process control system 104. As a result, the mesh network 102, and the input/output data points therein, are transparent to the process control system 104. A user is able to manage the mesh network data within the process control system environment using any process control system tool or toolset, including, but not limited to, diagnostics routines, process control operations, maintenance routines, business functions, analysis routines, and the like.


In addition to providing mesh network data to a process control system 104, the mesh server 100 may be used to provide process control information, such as commands requests etc., to input/output data points within the mesh network 102. In particular, an indication may be provided in the configuration 106 to write data front the process control system 104 to the mesh network 102, and the mesh service 108 may read the process control data through the process control interface and write the data to the mesh driver 112. For example, the mesh service 108 may receive process control data from the process control system via the process control interface, such as OPC. The process control data may include a command to turn on fan XYZ. Using the data point placeholder (e.g., “on_XYZ”) of the process control system 104 corresponding to the input/output data point of the switch of fan XYZ, the process control system 104 may issue the command using the data point placeholder as an input/output data point, and the command is read by the mesh server 100. Using the data point maps from the configuration 106, the mesh service 108 maps the process control data between the data point placeholder of the process control system and the corresponding input/output data point of the mesh network 102. For example, the mesh service 108 may map the “on” command between the data point placeholder “on_XYZ” and the wireless node corresponding to the I/O device of the switch for fan XYZ. Communication with the mesh network 102 may be established, as described above, and the mapped process control data may be written to the mesh network 102 via the mesh driver 112.


If the OPC link between the mesh service 108 and the process control system 104 is replaced with a proprietary link and the process control system interface utilizes a private process control system API, as mentioned above, the mesh service 108 may invoke the private process control system API to read a mesh network data directly from the mesh network 102 to the process control system 104, and particularly to write the mesh network data directly from the mesh network 102 to the data point placeholder of the process control system 104. Likewise, read/write operations may be performed directly from the process control system 104 to the mesh network 102.


Still further, using the mesh server 100, the process control system 104 may be used as a pure control system for the underlying mesh network 102, which may be particularly useful if the mesh network 102 is being used as all or part of the process control system 104 (e.g. gradual replacement of wireline I/O devices within the process control system). Generally, a process control system includes various I/O devices for entities within the process control system, such as sensors, actuators, etc. for components, controllers, equipment, field devices, etc. Each I/O device may correspond to an input/output data point within the process control system software. However, using the mesh server 100, the process control system software may be deployed without any input/output data points. Instead, data point placeholders are used in place of the input/output data points.


As a result, a wireless mesh network deployed in all or in part of the process control system 104 may be used to collect process control data, and provide the process control data to the process control system 104 via the mesh server 100. The process control system 104 may use data point placeholders for the input/output data points within the wireless mesh network 102, and, as described above, the process control system software may utilize only data point placeholders in place of input/output data points. The process control system 104, including the application and algorithms therein, use the data point placeholders as input/output data points native to the process control system 104 in order to facilitate operations of the physical part of the process control system 104, such as the controllers 12, the field devices 14, 16, etc., including controlling, communicating or otherwise interacting with an entity in the process control system 104.


Although the forgoing text sets Forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possibly embodiment of the invention because describing, every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.


Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.

Claims
  • 1. A method of merging wireless data collected from a wireless network into a process control system, the wireless network having a plurality of entities each associated with a corresponding input/output data point, the method comprising: receiving wireless data from a wireless network, wherein the wireless data relates to an entity within the wireless network;mapping the wireless data between an input/output data point corresponding to the entity within the wireless network and a data point placeholder within the process control system corresponding to the input/output data point;establishing communication with the process control system via a process control interlace, wherein the process control interface comprises a common interface for entities within the process control system; andwriting the mapped wireless data to the corresponding data point placeholder of the process control system via the process control interface.
  • 2. The method of claim 1 further comprising providing the wireless data within the process control system as process control data native to the process control system.
  • 3. The method of claim 2, wherein providing the wireless data within the process control system as process control data native to the process control system comprises utilizing each of the data point placeholders within the process control system as an input/output data point from the process control system.
  • 4. The method of claim 2, further comprising managing the wireless data with a process control tool.
  • 5. The method of claim 1, wherein the process control system comprises one or more of the plurality of entities from the wireless network.
  • 6. The method of claim 1, further comprising: receiving process control data from the process control system via the process control interface;mapping the process control data between an data point placeholder of the process control system and an input/output data point of the wireless network;establishing communication with the wireless network via a wireless network driver, andwriting the mapped process control data to the wireless network via the wireless network driver.
  • 7. The method of claim 1, further comprising: receiving wireless data relating to a plurality of entities, wherein the wireless data is inaccessible by the process control system and each of the plurality of entities corresponds to an input/output data point, each of the input/output data points maintained in a data point map which corresponds each input/output data point with a data point placeholder within the process control system;mapping the wireless data for each of the plurality of entities between the input/output data point and the corresponding data point placeholder according to the data point map; andwriting the mapped wireless data for each of the plurality of entities to the corresponding data point placeholder of the process control system via the process control interface.
  • 8. The method of claim 7, wherein receiving wireless data relating to a plurality of entities comprises receiving the wireless data relating to a plurality of entities from a plurality of wireless networks.
  • 9. The method of claim 7, wherein the input/output data points are maintained in a plurality of data point maps and wherein receiving wireless data relating to a plurality of entities comprises receiving the wireless data at an update rate established according to the data point map that comprises the input/output data point corresponding to the entity of the wireless data.
  • 10. The method of claim 1, wherein the wireless network comprises a decentralized wireless network infrastructure.
  • 11. The method of claim 1, wherein the wireless network comprises a mesh network and wherein the wireless data comprises mesh network data collected from the mesh network.
  • 12. The method of claim 1, wherein the wireless network comprises a process control wireless communications network.
  • 13. The method of claim 1, wherein the process control interface comprises object linking and embedding (OLE) for process control (OPC).
  • 14. The method of claim 13, wherein establishing communication with the process control system comprises establishing communication with the process control system via an OPC communications link.
  • 15. The method of claim 1, wherein the process control system interface comprises a private process control system application program interface,wherein establishing communication with the process control system comprises invoking a private process control system application program interface,wherein receiving wireless data from the wireless network comprises reading the wireless data from a wireless network to the process control system, andwherein writing the mapped wireless data to the corresponding data point placeholder of the process control system comprises writing the mapped wireless data directly from the wireless network to the process control system.
  • 16. The method of claim 1, wherein the wireless data comprises auxiliary data inaccessible by the process control system.
  • 17. The method of claim 1, wherein the wireless data comprises process control data collected within the wireless network.
  • 18. A system within a process plant comprising: a mesh network comprising a plurality of input/output data points, wherein the mesh network is adapted to generate mesh network data from an input/output data point within the mesh network;a process control interface, wherein the process control interface comprises a common interface for entities within a process control system which is unable to access the input/output data points within the mesh network; anda mesh server communicatively coupled to the mesh network aid to the process control interface, wherein the mesh server is adapted to map mesh network data read from the mesh network between the input/output data point and a data point placeholder within a process control system, wherein the data point placeholder provides a reference within the process control system for the mesh network data from the input/output data point within the mesh network, and wherein the mesh server is further adapted to write the mapped mesh network data to the process control system via the process control interface.
  • 19. The system of claim 18, wherein the mesh server is adapted to call into a mesh driver of the mesh network to access the mesh network data.
  • 20. The system of claim 18, further comprising a plurality of mesh networks each comprising a plurality of input/output data points and a mesh driver, wherein each mesh network is adapted to generate mesh network data from an input/output data point within each mesh network, wherein the mesh server comprises a mesh network interface for each type of mesh network drivers and wherein each mesh network interface is adapted to call into the corresponding, mesh driver to access the mesh network data from the mesh network.
  • 21. The system of claim 18, further comprising a plurality of mesh networks each comprising a plurality of input/output data points and a mesh driver, wherein each mesh network is adapted to generate mesh network data from an input/output data point within each mesh network, wherein the mesh server comprises a mesh network interface adapted to call into each mesh network driver to access the mesh network data from each mesh network.
  • 22. The system of claim 18, wherein the mesh server is adapted to invoke the process control interface and is adapted to read/write mesh network data directly to the process control system.
  • 23. The system of claim 18, wherein the mesh server is adapted to read the mesh network data from the mesh network for each input/output data point within the mesh network, wherein the mesh server is adapted to map mesh network data read from the mesh network between each input/output data point and a corresponding data point placeholder within a process control system, and wherein the mesh server is adapted to write the mapped mesh network data to the process control system for each input/output data point via the process control interface.
  • 24. The system of claim 18, wherein the mesh server is adapted to store configuration data relating to a data point map corresponding each input/output data point within the mesh network to a data point placeholder within the process control system.
  • 25. The system of claim 18, wherein the mesh server is adapted to store configuration data relating to a plurality of data point maps each corresponding at least one input/output data point within the mesh network to a data point placeholder within the process control system, wherein the mesh server is adapted to update the mesh network data to the process control system according to different rate for each data point map.
  • 26. The system of claim 18, wherein the mesh server is adapted to store configuration data relating to a rate for updating the mesh network data to the process control system.
  • 27. The system of claim 18, wherein the mesh server is adapted to store configuration data relating to information for connecting to the process control system.
  • 28. The system of claim 18, wherein the mesh server is adapted to store configuration data relating to attributes of the mesh network data.
  • 29. The system of claim 18, wherein the mesh server is adapted to create a data point placeholder within the process control system for an input/output data point within the mesh network.
  • 30. The system of claim 18, further comprising a process control system which comprises a process control server communicatively coupled to the mesh server and adapted to define the data point placeholder for each input/output data point in the mesh network.
  • 31. The system of claim 30, wherein the process control server comprises an object linking and embedding (OLE) for process control (OPC) server, and wherein the process control interface comprises OPC.
  • 32. The system of claim 30, wherein the process control server is adapted to utilize the data point placeholder as an input/output data point native to the process control system.
  • 33. The system of claim 30, wherein the mesh server is adapted to write the mapped mesh network data to the process control server.
  • 34. The system of claim 18, wherein the mesh network at least partially overlaps with the process control system, wherein the input/output data point relates to an entity within the process control system and wherein the mesh network data comprises process control data.
  • 35. The system of claim 18, wherein process control system comprises the mesh network, wherein the input/output data point within the mesh network and the data point placeholder within the process control system relate to an entity within the process control system, and wherein the process control system is adapted to use the data point placeholder to interact with the entity.
  • 36. The system of claim 18, wherein the mesh server is adapted to map process control data read from the process control system between a data point placeholder within the process control system and an input/output data point with the mesh network, and wherein the mesh server is further adapted to write the mapped process control data to the mesh network via a mesh network interface.
  • 37. A method of communication between a process control system and an input/output data point within a mesh network, wherein the input/output data point is not accessible by the process control system, the method comprising: receiving process control data from the process control system;mapping the process control data between a data point placeholder within the process control system configured for the input/output data point and the input/output data point within the mesh network;establishing communication with the mesh network via a mesh network interface; andwriting the mapped process control data to the input/output data point within the mesh network via the mesh network interface.
  • 38. The method of claim 37, wherein receiving process control data from the process control system comprises receiving process control data from the process control system via a process control interface, wherein the process control interface comprises a common interface for entities within the process control system.
  • 39. The method of claim 38, wherein the process control interface comprises object linking and embedding (OLE) for process control (OPC).
  • 40. The method of claim 39, wherein receiving process control data from the process control system comprises receiving process control data from the process control system via an OPC communications link.
  • 41. The method of claim 37, wherein the mesh network interface comprises a common interface for a plurality of mesh networks.
  • 42. The method of claim 37, wherein the process control system comprises one or more entities each comprising an input/output data point and communicatively coupled to the mesh network, wherein the process control system comprises a data point placeholder for each input/output data point.
  • 43. The method of claim 37, wherein the process control system comprises a private process control system application program interface, the method further comprising invoking a private process control system application program interface;reading the wireless data from a wireless network to the process control system; andwriting the wireless data directly from the wireless network to the process control system.
  • 44. A process control system within a plant comprising: a database adapted to store a plurality of data point placeholders, wherein a data point placeholder references an input/output data point of an entity communicatively coupled to a wireless mesh network and relates to a place reserved within the process control system for data from the input/output data point; anda process control system server communicatively coupled to the database and to a mesh server, the process control system server adapted to receive mesh network data from an input/output data point via a mesh server, wherein the input/output data point relates to a process control entity communicatively coupled to a wireless mesh network, wherein the process control system server is further adapted to use the data and the data point placeholder to perform a function within the plant without using an input/output data point.
  • 45. The process control system of claim 44, further comprising a process control interface communicatively coupled to process control server and the mesh server.
  • 46. The process control system of claim 45, wherein the process control interface comprises an object linking and embedding (OLE) for process control (OPC) interface.
  • 47. The process control system of claim 44, wherein the process control system server comprises an object linking and embedding (OLE) for process control (OPC) server.
  • 48. The process control system of claim 44, wherein the process control system server is adapted to write data to the mesh server for communicating with the entity.
  • 49. The process control system of claim 44, wherein the entity comprises a process control entity.
  • 50. The process control system of claim 44, further comprising: a plurality of process control entities each associated with one or more input/output data points;a mesh network comprising a plurality of input/output data points, wherein each of the plurality of process control entities comprises one or more of the plurality of input/output data points;wherein the process control server is adapted to receive mesh network data and send data to the mesh network from each of the input/output data points via the mesh server and further adapted to use the mesh network data and the data point placeholders to perform a function within the plant without using any input/output data points.
  • 51. A server system for communicating between a mesh network and a process control system comprising: a processor;a database adapted to store a data point map which correlates data point placeholders within the process control system with input/output data points within the mesh network;an interface routine adapted to be executed by the processor which calls into a mesh driver of the mesh network to access mesh network data of one or more of the input/output data points within the mesh network; anda service routine adapted to be executed by the processor which connects with the mesh network via the interface routine, which reads the mesh network data from the mesh network, which maps the mesh network data of an input/output data point to a corresponding data point placeholder according to the data point map, and which writes the mapped mesh network data to the process control system.
  • 52. The server system of claim 51, wherein the database is adapted to store a plurality of data point maps which correlate data point placeholders within the process control system with input/output data points within one or more mesh networks, and wherein the service routine is adapted to be executed by the processor to update data from the mesh network to the process control system in accordance with an update rate for each of the plurality of data point maps.
  • 53. The server system of claim 51, wherein the interface routine is further adapted to be executed by the processor to receive a request from the service routine, translate the request into a request understood by the mesh driver, and transmit the translated request to the mesh network driver.
  • 54. The server system of claim 51 wherein the database is adapted to store a plurality of application programming interfaces, and wherein the interface routine is further adapted to be executed by the processor to call into a plurality of mesh drivers using one of the plurality of application programming interfaces for each mesh driver, wherein each mesh driver corresponds to a mesh network to access mesh network data of one or more of the input/output data points within each mesh network.
  • 55. The server system of claim 51, wherein the interface routine is further adapted to be executed by the processor to call into a plurality of mesh drivers using the same application programming interface.
  • 56. The server system of claim 51 wherein the service routine is further adapted to write the mapped mesh network data to the process control system via an object linking and embedding (OLE) for process control (OPC) interface of the process control system.
  • 57. The server system of claim 51, wherein the service routine is further adapted to read process control data from the process control system, map the process control data of a data point placeholder within the process control system to a corresponding input/output data point within the mesh network according to the data point map and write the mapped process control data to the input/output data point within the mesh network via the interface routine.