This disclosure relates generally to automation and control systems. More specifically, this disclosure relates to a system and method for controller redundancy and controller network redundancy with EtherNet/IP I/O.
Ethernet Industrial Protocol (EtherNet/IP) is a communication protocol used in industrial automation for process control. EtherNet/IP is an application layer protocol used for communication between industrial control systems and their components, such as programmable automation controllers, programmable logic controllers, and input/output (I/O) systems. In some respects, EtherNet/IP is similar to the Simple Network Management Protocol (SNMP). Various vendors manufacture EtherNet/IP I/O devices or provide control systems with controllers that can work with EtherNet/IP. The Open DeviceNet Vendors Association (ODVA) provides management of the EtherNet/IP protocol and assures multi-vendor system interoperability by requiring adherence to established standards.
This disclosure provides a system and method for controller redundancy and controller network redundancy with EtherNet/IP I/O.
In a first embodiment, an apparatus includes a first controller having at least one interface and at least one processing device. The at least one interface is configured to communicate with a second controller and with a controlled network having multiple EtherNet/IP-compatible input/output (I/O) modules and multiple EtherNet/IP-compatible controlled devices. The at least one processing device is configured to detect a fault associated with the second controller while the second controller is in communication with at least one of the I/O modules and at least one of the controlled devices. The at least one processing device is also configured, upon detection of the fault associated with the second controller, to resume the communication with the at least one I/O module and the at least one controlled device without the at least one I/O module updating the at least one controlled device to a failsafe condition.
In a second embodiment, a method includes detecting, at a first controller configured to communicate with a second controller, a fault associated with the second controller while the second controller is in communication with at least one of multiple EtherNet/IP-compatible input/output (I/O) modules and at least one of multiple EtherNet/IP-compatible controlled devices in a controlled network. The method also includes, upon detection of the fault associated with the second controller, resuming the communication with the at least one I/O module and the at least one controlled device at the first controller without the at least one I/O module updating the at least one controlled device to a failsafe condition.
In a third embodiment, a non-transitory computer readable medium is encoded with computer-executable instructions that when executed cause at least one processing device to detect, at a first controller configured to communicate with a second controller, a fault associated with the second controller while the second controller is in communication with at least one of multiple EtherNet/IP-compatible input/output (I/O) modules and at least one of multiple EtherNet/IP-compatible controlled devices in a controlled network. The non-transitory computer readable medium is also encoded with computer-executable instructions that when executed cause at least one processing device to, upon detection of the fault associated with the second controller, resume the communication with the at least one I/O module and the at least one controlled device at the first controller without the at least one I/O module updating the at least one controlled device to a failsafe condition.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Some process control systems, such as EXPERION by HONEYWELL, are configured to support the EtherNet/IP communication protocol. In general, most EtherNet/IP systems do not provide any kind of network or controller redundancy that is particularly suited for the EtherNet/IP protocol. If a fault occurs in these systems at either the controller level or the controller network level, an I/O shed can occur at one or more controlled devices of the system. More particularly, when a fault occurs in an EtherNet/IP system without suitable redundancy provisions, the connection to one or more controlled devices can be lost, and the lost connection may cause the controlled devices to shed their I/O. For example, if an output device in an EtherNet/IP system loses connection to the controller that controls the output device, the output device may enter a failsafe operating state that is different than its previous operating state. In an industrial plant environment, this can cause an interruption in one or more processes while the plant is running. In such situations, maintenance workers or engineers have to identify the cause of the problem (the fault that caused the lost connection) and then bring the system back to a running state. This can lead to significant financial and temporal losses at the plant.
To resolve these issues, embodiments of this disclosure provide an EtherNet/IP network that includes controller redundancy or controller network redundancy features. Such features may be used in conjunction with a wide variety of controllers, such as the EXPERION C300 controller by HONEYWELL. The embodiments of this disclosure are described with respect to an industrial plant's process control system. However, this disclosure is not limited to industrial plant environments. The principles disclosed here are applicable to other environments and industries, as well.
Two controllers 104a-104b are coupled to the process elements 102a-102b. The controllers 104a-104b control the operation of the process elements 102a-102b. For example, the controllers 104a-104b could receive measurements from sensors and generate control signals for actuators in order to control the production of chemical, pharmaceutical, paper, petrochemical, or other products. Each controller 104a-104b includes any suitable structure 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 support the operation and control of the controllers 104a-104b and the process elements 102a-102b. For example, the servers 106a-106b could log information collected or generated by the controllers 104a-104b, such as status information related to the operation of the process elements 102a-102b. The servers 106a-106b could also execute applications that control the operation of the controllers 104a-104b, thereby controlling the operation of the process elements 102a-102b. In addition, the servers 106a-106b could provide secure access to the controllers 104a-104b. Each of the servers 106a-106b includes any suitable structure for providing access to or control of the controllers 104a-104b.
One or more operator stations 108a-108b are coupled to the servers 106a-106b, and one or more operator stations 108c are coupled to the controllers 104a-104b. The operator stations 108a-108b represent computing or communication devices providing user access to the servers 106a-106b, which could then provide user access to the controllers 104a-104b and the process elements 102a-102b. The operator stations 108c represent computing or communication devices providing direct user access to the controllers 104a-104b. As particular examples, the operator stations 108a-108c could allow users to review the operational history of the process elements 102a-102b using information collected by the controllers 104a-104b and/or the servers 106a-106b. The operator stations 108a-108c could also allow the users to adjust the operation of the process elements 102a-102b, controllers 104a-104b, or servers 106a-106b. Each of the operator stations 108a-108c includes any suitable structure for supporting user access and control of the system 100.
In this example, at least one of the operator stations 108b is remote from the servers 106a-106b. The remote station is coupled to the servers 106a-106b through a network 110. The network 110 facilitates communication between various components in the system 100. For example, the network 110 may communicate Internet Protocol (IP) packets, frame relay frames, Asynchronous Transfer Mode (ATM) cells, or other information between network addresses. The network 110 may include one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of a global network such as the Internet, or any other communication system or systems at one or more locations.
In this example, the system 100 includes two additional servers 112a-112b. The servers 112a-112b execute various applications to control the overall operation of the system 100. For example, the system 100 could be used in a processing or production plant or other facility, and the servers 112a-112b could execute applications used to control the plant or other facility. As particular examples, the servers 112a-112b could execute applications such as enterprise resource planning (ERP), manufacturing execution system (MES), or any other or additional plant or process control applications. Each of the servers 112a-112b includes any suitable structure for controlling the overall operation of the system 100.
In some embodiments, each of the controllers 104a-104b includes one or more processing devices 116, such as one or more microprocessors, microcontrollers, digital signals processors, field programmable gate arrays, application specific integrated circuits, or discrete logic devices. Each of the controllers 104a-104b also includes one or more memories 118 storing instructions and data used, collected, or generated by the processing device(s) 116, such as a random access memory or a Flash or other read-only memory. In addition, each of the controllers 104a-104b includes one or more interfaces 120 facilitating communication over one or more networks or communication links. In particular embodiments, each of the controllers 104a-104b includes three interfaces 120, two for communicating over a redundant pair of networks and a third for communicating with the other controller.
As shown in
In one aspect of operation, the system 100 manages one or multiple processes for producing or processing one or more products (or parts thereof). As particular examples, the controllers 104a-104b and the servers 106a-106b could manage one or multiple processes used to produce chemical, pharmaceutical, paper, or petrochemical products using the process elements 102a-102b. The system 100 may implement a procedural automation mechanism that helps to automate the production processes. For example, the procedural automation mechanism may determine when certain tasks in a production process can be performed and which process elements 102a-102b are used during those tasks.
In accordance with this disclosure, various components of the system 100 support an EtherNet/IP communication protocol. For example, the controllers 104a-104b may represent EtherNet/IP controllers, the process elements 102a-102b may represent EtherNet/IP devices, and the networks 114a-114b and 116a-116c may represent EtherNet/IP networks. The controllers 104a-104b and one or more of the networks 114a-114b, 116a-116c may be configured with controller redundancy or controller network redundancy to provide failover support without causing an input/output shed. Additional details regarding this functionality are provided below.
In normal operation, the controller 202 receives input data associated with operation of the input device 210 (the sensor), such as by periodically scanning data from the input I/O module 206. The controller 202 performs processing on the input data and, based on the processed input data, controls the output device 212 (the motor) by transmitting data or signals to the output I/O module 208. The output I/O module 208 can, in turn, drive appropriate voltage, current, or other signals to the output device 212.
The output I/O module 208 may expect to regularly receive control signals from the controller 202. If the output I/O module 208 fails to receive a signal from the controller 202 at an expected time, a timeout clock may be started to measure the amount of time that elapses with no signal from the controller. If a predetermined period of time elapses without recovery of the signal from the controller 202, the output I/O module 208 can determine that a fault condition has occurred.
In the event of a fault condition, the output I/O module 208 may close the connection with the controller 202, and an output shed may occur. In an output shed, the output I/O module 208 updates the output device 212 to a failsafe condition. In the failsafe condition, one or more parameters of the output device 212 are updated from a current value to a failsafe value. For example, if the output device 212 is a motor, the motor speed may be reduced from a current operating speed to a slower failsafe speed or even stopped. The parameters associated with the failsafe condition may be pre-configured with the output I/O module 208 or may be user-configurable.
While the failsafe mode may help to protect the output device 212 or associated system from damage, the overall process in which the output device 212 operates is still interrupted. In an industrial plant environment, maintenance workers or engineers have to identify the cause of the interruption and then bring the system back to a running state. In a large industrial setting, this can lead to significant financial and time losses.
To solve this problem, embodiments of this disclosure provide an EtherNet/IP-based process control system that includes controller redundancy and controller network redundancy. These mechanisms can be used in order to reduce or avoid a system failure and a corresponding I/O shed.
Although
As shown in
The primary controller 304 is directly coupled to the secondary controller 306 via a wired connection or cable 316. The cable 316 allows direct communication between the controllers 304-306. In accordance with this disclosure, the controllers 304-306 are able to share, through the cable 316, status information regarding the operating condition or “health” of each controller 304-306 and each controller network 308-310 (or any other status information that may be used to determine when a fault condition has occurred or is about to occur). This is described in greater detail below.
The controller system 302 also includes at least one server 318 coupled to the controllers 304-306. The server 318 may represent one or more of the servers 106a-106b, 112a-112b of
The controller system 302 is coupled to a controlled network 350 via a pair of switches 330-332. The switches 330-332 route information and signals between the controller system 302 and the controlled network 350. Each switch 330-332 may represent any suitable switch for use in an EtherNet/IP network.
The controlled network 350 includes a number of controlled devices that are controlled by one or more of the controllers 304-306. The controlled network 350 also includes other equipment or devices that may not be directly controlled by the controllers 304-306 but are part of the operations of the controlled network 350. In this example, the controlled network 350 includes one or more firewalls 352, one or more switches 354, one or more PF drives 356, one or more network supervisors 358, one or more input or output I/O modules 360, one or more controlled devices 362, and one or more operator stations 364. Certain devices among the controlled network 350 may be organized into one or more sub-networks. Example sub-networks may be configured as rings, as stars, linearly, or in any other suitable network configuration. For example, as shown in
In accordance with this disclosure, the system 300 is configured for both controller redundancy and controller network redundancy in order to avoid a system failure and a corresponding I/O shed. Controller redundancy is provided in the system 300 by the primary controller 304 and the secondary controller 306. In one aspect of operation, the primary controller 304 is usually the active controller of the system 300, and the secondary controller 306 is usually passive. The primary controller 304 sends and receives signals to and from the controlled network 350 through the switches 330-332. Thus, in normal operating conditions, the primary controller 304 provides control over the controlled network 350 and the associated controlled devices 362.
While the primary controller 304 provides control over the controlled network 350, the primary controller 304 is in communication with the secondary controller 306 via exchanges of signals through the cable 316. As the primary controller 304 executes controller operations, controller operation information and other status information regarding the operating condition or “health” of the primary controller 304 can be synchronized across the cable 316 to the secondary controller 306. Such information may include which I/O modules 360 or controlled devices 362 the primary controller 304 most recently communicated with and what operating values or data was exchanged with these I/O modules 360 or controlled devices 362.
If the operation of the primary controller 304 fails in some manner, such as due to a power failure or hardware failure, a fault condition occurs at the primary controller 304. In the event of a fault condition at the primary controller 304, the secondary controller 306 take over the control functions of the primary controller 304. At that point, the secondary controller 306 (operating in the primary mode) continues to control one or more components in the EtherNet/IP controlled network 350 without resulting in a connection loss to any I/O modules 360 or controlled devices 362 and without resulting in an I/O shed.
In order to avoid a connection loss and I/O shed, the secondary controller 306 detects the fault condition at the primary controller 304 and resumes control operations for the controlled network 350 quickly. In this way, the I/O modules 360 and controlled devices 362 do not detect an interruption or fault at the primary controller 304, which would result in an I/O shed. In other words, the secondary controller 306 is configured to detect the fault condition at the primary controller 304 and take over control in a seamless manner so that the devices of the controlled network 350 still believe that they are in communication with the primary controller 304.
Controller network redundancy is provided in the system 300 by the primary controller network 308 and the secondary controller network 310. The primary controller 304 and the secondary controller 306 are each coupled to at least two network cables, where each cable is associated with one of the controller networks 308-310. Specifically, the primary controller 304 is coupled to a cable 308a associated with the primary controller network 308 and to a cable 310a associated with the secondary controller network 310. Similarly, the secondary controller 306 is coupled to a cable 308b associated with the primary controller network 308 and to a cable 310b associated with the secondary controller network 310. In some embodiments the cables 308a-308b and 310a-310b are Ethernet cables, and each controller 304-306 includes a plurality of Ethernet connection points or jacks to which the associated cables are connected.
In one aspect of operation, the primary controller network 308 is usually the active controller network through which communications between the primary controller 304 or secondary controller 306 and the controlled network 350 occurs. Communications to the controlled network 350 pass through the primary controller network 308, through one or both switches 330-332, and to a destination device in the controlled network 350. The reverse path is followed for communications from the controlled network 350. In contrast, the secondary controller network 310 is usually passive. That is, during normal operations, the secondary controller network 310 does not carry the main signal transmissions associated with control of the controlled network 350, although the secondary controller network 310 may carry ancillary signal transmissions (such as those related to detection of fault conditions) during normal operations.
While the primary controller 304 or secondary controller 306 provides control over the controlled network 350 via the primary controller network 308, the primary controller 304 or secondary controller 306 may continually detect and determine status information regarding the operating condition or “health” of the primary controller network 308. If the operation of the primary controller network 308 fails in some manner (such as due to a cable break), a fault condition occurs on the primary controller network 308. If the primary controller 304 or secondary controller 306 detects a fault condition on the primary controller network 308, the primary controller 304 or secondary controller 306 opens communication with the secondary controller network 310. At that point, I/O communication is resumed on the secondary controller network 310 without resulting in a connection loss to any I/O modules 360 or controlled devices 362 and without resulting in an I/O shed. In order to avoid a connection loss and I/O shed, the primary controller 304 or secondary controller 306 detects the fault condition in the primary controller network 308 and switches communications to the secondary controller network 310 quickly. As a result, the I/O modules 360 and controlled devices 362 do not detect any interruption or fault, which would result in an I/O shed.
In some embodiments, programming instructions are implemented in the application layer of the controllers 304-306 in order to provide the redundancy capability. The instructions can be specifically developed to be compatible with the EtherNet/IP protocol. For example, the secondary controller 306 may be programmed with instructions to detect all devices in the EtherNet/IP controlled network 350 that the primary controller 304 was in communication with at the time of a fault. The secondary controller 306 may also be programmed with instructions to resume communications with those devices in the event of a fault condition at the primary controller 304. Likewise, each controller 304-306 may be programmed with instructions to detect a fault in the primary controller network 308 and resume communications via the secondary controller network 310. Such instructions may be initially installed into the controllers 304-306 and later maintained by an engineer or system personnel using the server 318 or operator stations 320. Once the instructions are installed, the controllers 304-306 may operate and provide the redundancy capabilities independently without continual management or oversight by the operator stations 320 or server 318.
Although
At step 401, a primary controller in the EtherNet/IP system communicates with at least one I/O module and at least one controlled device over a primary controller network. At step 403, a secondary controller detects whether or not a fault associated with the primary controller occurs while the primary controller is in communication with the at least one I/O module and the at least one controlled device.
If a fault is detected at step 403, the method continues to step 405. At step 405, upon detection of the fault, the secondary controller resumes communication with the at least one I/O module and the at least one controlled device. The secondary controller takes over the communication quickly enough so that the at least one I/O module does not update the at least one controlled device to a failsafe condition.
If no fault is detected at step 403, the method continues to step 407. At step 407, the primary controller (or the secondary controller if the secondary controller is operating in the primary mode) detects whether or not a fault associated with the primary controller network occurs. If a fault is detected at step 407, the method continues to step 409. At step 409, upon detection of the fault, the primary controller or secondary controller switches communication with the at least one I/O module and the at least one controlled device to the secondary controller network. The switch to the secondary controller network occurs quickly enough so that the at least one I/O module does not update the at least one controlled device to a failsafe condition. If no fault is detected at step 407, the method returns to step 401, and the method repeats.
Although
In some embodiments, various functions described above are implemented or supported by a computer program that is formed from computer readable program code and that is 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. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
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 terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The term “controller” means any device, system, or part thereof that controls at least one operation. A controller may be implemented in hardware or a combination of hardware and software/firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
While this 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. Accordingly, the above description of example 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.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4679189 | Olson et al. | Jul 1987 | A |
| 5537414 | Takiyasu et al. | Jul 1996 | A |
| 5566356 | Taketsugu | Oct 1996 | A |
| 5664195 | Chatterji | Sep 1997 | A |
| 5749053 | Kusaki et al. | May 1998 | A |
| 5790419 | Matsuda | Aug 1998 | A |
| 5898826 | Pierce et al. | Apr 1999 | A |
| 6170044 | McLaughlin et al. | Jan 2001 | B1 |
| 6192232 | Iseyama | Feb 2001 | B1 |
| 6256297 | Haferbeck et al. | Jul 2001 | B1 |
| 6272386 | McLaughlin et al. | Aug 2001 | B1 |
| 6292905 | Wallach et al. | Sep 2001 | B1 |
| 6374352 | Goldman et al. | Apr 2002 | B1 |
| 6427071 | Adams et al. | Jul 2002 | B1 |
| 6437692 | Petite et al. | Aug 2002 | B1 |
| 6631416 | Bendinelli et al. | Oct 2003 | B2 |
| 6694447 | Leach et al. | Feb 2004 | B1 |
| 6701453 | Chrabaszcz | Mar 2004 | B2 |
| 6751219 | Lipp et al. | Jun 2004 | B1 |
| 6847316 | Keller | Jan 2005 | B1 |
| 6850486 | Saleh et al. | Feb 2005 | B2 |
| 6917584 | Kuwabara | Jul 2005 | B2 |
| 6963781 | Fehrer et al. | Nov 2005 | B2 |
| 7031308 | Garcia-Luna-Aceves et al. | Apr 2006 | B2 |
| 7035937 | Haas et al. | Apr 2006 | B2 |
| 7058848 | Sicola et al. | Jun 2006 | B2 |
| 7190961 | Burr | Mar 2007 | B2 |
| 7203743 | Shah-Heydari | Apr 2007 | B2 |
| 7236987 | Faulkner et al. | Jun 2007 | B1 |
| 7240188 | Takata et al. | Jul 2007 | B2 |
| 7275157 | Cam Winget | Sep 2007 | B2 |
| 7366114 | Park et al. | Apr 2008 | B2 |
| 7440735 | Karschnia et al. | Oct 2008 | B2 |
| 7460865 | Nixon et al. | Dec 2008 | B2 |
| 7620409 | Budampati et al. | Nov 2009 | B2 |
| 7688802 | Gonia et al. | Mar 2010 | B2 |
| 7792126 | Montestruque et al. | Sep 2010 | B1 |
| 7802016 | Eimers-Klose et al. | Sep 2010 | B2 |
| 7860495 | McFarland | Dec 2010 | B2 |
| 8350691 | Mcfarland | Jan 2013 | B2 |
| 8498201 | Budampati et al. | Jul 2013 | B2 |
| 8503288 | Howard | Aug 2013 | B1 |
| 8582470 | Collins et al. | Nov 2013 | B2 |
| 8756412 | Pulini et al. | Jun 2014 | B2 |
| 20020045969 | Dierauer | Apr 2002 | A1 |
| 20020072329 | Bandeira et al. | Jun 2002 | A1 |
| 20020120671 | Daffner et al. | Aug 2002 | A1 |
| 20020122230 | Izadpanah et al. | Sep 2002 | A1 |
| 20020176396 | Hammel et al. | Nov 2002 | A1 |
| 20030003912 | Melpignano et al. | Jan 2003 | A1 |
| 20030005149 | Haas et al. | Jan 2003 | A1 |
| 20030177150 | Fung et al. | Sep 2003 | A1 |
| 20040010694 | Collens et al. | Jan 2004 | A1 |
| 20040028023 | Mandhyan et al. | Feb 2004 | A1 |
| 20040029553 | Cain | Feb 2004 | A1 |
| 20040083833 | Hitt et al. | May 2004 | A1 |
| 20040174829 | Ayyagari | Sep 2004 | A1 |
| 20040230899 | Pagnano et al. | Nov 2004 | A1 |
| 20040259533 | Nixon et al. | Dec 2004 | A1 |
| 20050005200 | Matena et al. | Jan 2005 | A1 |
| 20050059379 | Sovio et al. | Mar 2005 | A1 |
| 20050071708 | Bartfai et al. | Mar 2005 | A1 |
| 20050102562 | Shinohara et al. | May 2005 | A1 |
| 20050141553 | Kim et al. | Jun 2005 | A1 |
| 20050164684 | Chen et al. | Jul 2005 | A1 |
| 20050201349 | Budampati | Sep 2005 | A1 |
| 20050228509 | James | Oct 2005 | A1 |
| 20050254653 | Potashnik et al. | Nov 2005 | A1 |
| 20050281215 | Budampati et al. | Dec 2005 | A1 |
| 20050289553 | Miki | Dec 2005 | A1 |
| 20060002368 | Budampati et al. | Jan 2006 | A1 |
| 20060015641 | Ocko et al. | Jan 2006 | A1 |
| 20060039347 | Nakamura et al. | Feb 2006 | A1 |
| 20060083200 | Emeott et al. | Apr 2006 | A1 |
| 20060104301 | Beyer et al. | May 2006 | A1 |
| 20060128349 | Yoon | Jun 2006 | A1 |
| 20060171344 | Subramanian et al. | Aug 2006 | A1 |
| 20060171346 | Kolavennu et al. | Aug 2006 | A1 |
| 20060227729 | Budampati et al. | Oct 2006 | A1 |
| 20060256740 | Koski | Nov 2006 | A1 |
| 20060271814 | Fung et al. | Nov 2006 | A1 |
| 20060274644 | Budampati et al. | Dec 2006 | A1 |
| 20060274671 | Budampati et al. | Dec 2006 | A1 |
| 20060282498 | Muro | Dec 2006 | A1 |
| 20060287001 | Budampati et al. | Dec 2006 | A1 |
| 20070021140 | Keyes, IV | Jan 2007 | A1 |
| 20070022317 | Chen et al. | Jan 2007 | A1 |
| 20070030816 | Kolavennu | Feb 2007 | A1 |
| 20070030832 | Gonia et al. | Feb 2007 | A1 |
| 20070067458 | Chand | Mar 2007 | A1 |
| 20070073861 | Amanuddin et al. | Mar 2007 | A1 |
| 20070076638 | Kore et al. | Apr 2007 | A1 |
| 20070077941 | Gonia et al. | Apr 2007 | A1 |
| 20070087763 | Budampati et al. | Apr 2007 | A1 |
| 20070091824 | Budampati et al. | Apr 2007 | A1 |
| 20070091825 | Budampati et al. | Apr 2007 | A1 |
| 20070103303 | Shoarinejad | May 2007 | A1 |
| 20070147294 | Bose et al. | Jun 2007 | A1 |
| 20070153677 | McLaughlin et al. | Jul 2007 | A1 |
| 20070153789 | Barker, Jr. et al. | Jul 2007 | A1 |
| 20070155423 | Carmody et al. | Jul 2007 | A1 |
| 20070237137 | McLaughlin | Oct 2007 | A1 |
| 20070261052 | Bale et al. | Nov 2007 | A1 |
| 20070280178 | Hodson et al. | Dec 2007 | A1 |
| 20080043637 | Rahman | Feb 2008 | A1 |
| 20080140844 | Halpern | Jun 2008 | A1 |
| 20080225737 | Gong et al. | Sep 2008 | A1 |
| 20080267259 | Budampati et al. | Oct 2008 | A1 |
| 20080273547 | Phinney | Nov 2008 | A1 |
| 20090022121 | Budampati et al. | Jan 2009 | A1 |
| 20090034441 | Budampati et al. | Feb 2009 | A1 |
| 20090060192 | Budampati et al. | Mar 2009 | A1 |
| 20090086692 | Chen | Apr 2009 | A1 |
| 20090109889 | Budampati et al. | Apr 2009 | A1 |
| 20110161538 | Decker | Jun 2011 | A1 |
| 20120260127 | Jibbe et al. | Oct 2012 | A1 |
| 20130274900 | Uhde et al. | Oct 2013 | A1 |
| 20130277506 | Baldwin et al. | Oct 2013 | A1 |
| 20140211661 | Gorkemli et al. | Jul 2014 | A1 |
| Number | Date | Country |
|---|---|---|
| 4134207 | Apr 1993 | DE |
| 103 14 721 | Nov 2004 | DE |
| 10314721 | Nov 2004 | DE |
| 1 081 895 | Mar 2001 | EP |
| 1 401 171 | Mar 2004 | EP |
| 1 401 171 | Mar 2004 | EP |
| 1 439 667 | Jul 2004 | EP |
| 2 427 329 | Dec 2006 | GB |
| WO 0135190 | May 2001 | WO |
| WO 0135190 | May 2001 | WO |
| WO 03079616 | Sep 2003 | WO |
| WO 2004047385 | Jun 2004 | WO |
| WO 2004047385 | Jun 2004 | WO |
| WO 2004114621 | Dec 2004 | WO |
| WO 2006017994 | Feb 2006 | WO |
| WO 2006053041 | May 2006 | WO |
| Entry |
|---|
| “Series 8, C300 Controller, User's Guide”, Honeywell, Feb. 2014, see pp. 207-223, 271 pages. |
| Salman Taherian, et al., “Event Dissemination in Mobile Wireless Sensor Networks”, 2004 IEEE International Conference on Mobile Ad-Hoc and Sensor Systems, p. 573-575. |
| Dongyan Chen et al., “Dependability Enhancement for IEEE 802.11 Wireless LAN with Redundancy Techniques,” Proceedings of the 2003 International Conference on Dependable Systems and Networks, 2003, 8 pages. |
| Dr. Soumitri Kolavennu, Presentation, “WNSIA MAC Layer”, ISA SP100 meeting, Feb. 14, 2007, 24 pages, see esp. p. 17. |
| Ying Zhang, et al., “A Learning-based Adaptive Routing Tree for Wireless Sensor Networks”, Journal of Communications, vol. 1, No. 2, May 2006, p. 12-21. |
| Yau-Ming Sun, et al., “An Efficient Deadlock-Free Tree-Based Routing Algorithm for Irregular Wormhole-Routed Networks Based on the Turn Model”, Proceedings of the 2004 International Conference on Parallel Processing (ICPP'04), 10 pages. |
| Sejun Song, “Fault Recovery Port-based Fast Spanning Tree Algorithm (FRP-FAST) for the Fault-Tolerant Ethernet on the Arbitrary Switched Network Topology”, 2001 IEEE, p. 325-332. |
| “XYR 5000 Wireless Transmitters, Honeywell Solutions for Wireless Data Acquisiton and Monitoring,” www.acs.honeywell.com, Feb. 2006, 6 pages. |
| Rahul Mangharam, et al., “Voice over Sensor Networks”, RTSS, 2006, 10 pages. |
| A. Aiello et al., “Wireless Distributed Measurement System by Using Mobile Devices,” IEEE Workshop on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications, Sep. 5-7, 2005, Sofia, Bulgaria, pp. 316-319. |
| International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069717 dated Dec. 10, 2007. |
| International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069614 dated Nov. 22, 2007. |
| International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069710 dated Nov. 27, 2007. |
| International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069705 dated Apr. 15, 2008. |
| Pereira, J.M. Dias, “A Fieldbus Prototype for Educational Purposes”, IEEE Instrumentation & Measurement Magazine, New York, NY vol. 7, No. 1, Mar. 2004, p. 1-2. |
| International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2006/048334 dated Jul. 5, 2007. |
| Joseph Polastre, et al., “Versatile Low Power Media Access for Wireless Sensor Networks”, SenSys '04, Nov. 3-5, 2004, Baltimore, Maryland, 13 pages. |
| U.S. Office Action dated Aug. 6, 2014 in connection with U.S. Appl. No. 12/628,918; 19 pages. |
| “Nano-RK: A Wireless Sensor Networking Real-Time Operating System”, http://nanork.org/wiki, 3 pages. |
| “FireFly 2.2 Datasheet”, Wireless Sensor Networks, Aug. 20, 2007, 24 pages. |
| Wei Ye, et al., “An Energy-Efficient MAC protocol for Wireless Sensor Networks”, USC/ISI Technical Report ISI-TR-543, Infocom, Jun. 2002, p. 1-10. |
| Rahul Mangharam, et al., “Embedded Virtual Machines for Robust Wireless Control Systems”, 29th IEEE Int'l. Conf. on Distributed Computing Systems, Jun. 2009, 6 pages. |
| Jason Hill, et al., “System Architecture Directions for Networked Sensors”, ASPLOS-IX, Nov. 2000, Cambridge, MA, 12 pages. |
| Philip Levis, et al., “Mate: A Tiny Virtual Machine for Sensor Networks”, ACM ASPLOS-X, 2002, 11 pages. |
| Phillip Stanley-Marbell, et al., “Scylla: A Smart Virtual Machine for Mobile Embedded Systems”, In WMCSA, 2000, 10 pages. |
| Rene Muller, et al., “A Virtual Machine for Sensor Networks”, ACM EuroSys, 2007, 14 pages. |
| Chih-Chieh Han, et al., “A Dynamic Operating System for Sensor Nodes”, MobiSys, 2005: The Third International Conference on Mobile Systems, Applications, and Services, p. 163-176. |
| Adam Dunkels, et al., “Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks”, SenSys '06, Nov. 1-3, 2006, Boulder, Colorado, 14 pages. |
| Rahul Mangharam, et al., “FireFly: A Cross-Layer Platform for Real-Time Sensor Networks”, Real Time Systems Journal, 2007, 40 pages. |
| Jason Hill, et al., “The Platforms Enabling Wireless Sensor Networks”, Communications of the ACM, Jun. 2004, vol. 47, No. 6, p. 41-46. |
| Anthony Rowe, et al., “RT-Link: A Time-Synchronized Link Protocol for Energy-Constrained Multi-hop Wireless Networks”, IEEE SECON, 2006, 10 pages. |
| Paul F. McLaughlin, et al., “Redundant Process Controllers for Segregated Supervisory and Industrial Control Networks”, U.S. Appl. No. 14/272,058, filed May 7, 2014. |
| International Search Report and Written Opinion issued for PCT/US2015/041512 dated Apr. 15, 2016, 11 pgs. |
| Number | Date | Country | |
|---|---|---|---|
| 20160036626 A1 | Feb 2016 | US |