This disclosure relates generally to industrial process control and automation systems. More specifically, this disclosure relates to methods for on-process migration from one type of process control device to a different type of process control device.
Industrial process control and automation systems are often used to automate large and complex industrial processes. These types of systems routinely include sensors, actuators, controllers, and servers. The controllers typically receive measurements from the sensors and generate control signals for the actuators. The servers typically oversee the operation of lower-level devices, including the controllers.
It may become necessary or desirable to upgrade an existing device in a control and automation system. This upgrade could take different forms, such as the installation of new software on an existing device or the replacement of existing device hardware with new device hardware. Upgrades may be needed or desired for various reasons, such as obsolescence of an existing device, feature or function improvements available in a new device, or greater capacity available in a new device.
Ideally, a device could be upgraded while an industrial process remains online, meaning the industrial process continues to operate during the upgrade. This can help to avoid a manufacturing shutdown and allow continued management of critical support infrastructures. Unfortunately, it has been difficult to provide this type of on-process upgrade when a new device is a different type from its predecessor, such as when the new device has a different software basis, physical form-factor, cabinet layout, power subsystem, or physical supervisory network medium.
This disclosure relates to methods for on-process migration from one type of process control device to a different type of process control device.
In a first embodiment, a method includes installing new communication interfaces in first process controllers of an industrial process control and automation system. The first process controllers are configured to communicate over a first supervisory network, and the communication interfaces are configured to communicate over a second supervisory network of a different type. The method also includes migrating the first process controllers to second process controllers of a different type while maintaining control over an industrial process being controlled by the first process controllers. The second process controllers are configured to communicate over the second supervisory network.
In a second embodiment, a method includes installing new communication interfaces in process controllers of an industrial process control and automation system. The process controllers are configured to communicate over a first supervisory network, and the communication interfaces are configured to communicate over a second supervisory network of a different type. The method also includes migrating first supervisory servers to second supervisory servers while maintaining control over an industrial process being controlled by the process controllers. The first supervisory servers are configured to communicate over the first supervisory network, and the second supervisory servers are configured to communicate over the second supervisory network.
In a third embodiment, a method includes controlling an industrial process using first process controllers of an industrial process control and automation system. The method also includes installing a direct-connected operator station configured to communicate with the first process controllers. The method further includes replacing a secondary one of the first process controllers with a primary one of multiple second process controllers. The method also includes operating the primary one of the second process controllers using at least a primary server while operating a primary one of the first process controllers using the direct-connected operator station. In addition, the method includes replacing the primary one of the first process controllers with a secondary one of the second process controllers. The first process controllers are replaced with the second process controllers while maintaining control over the industrial process.
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:
In
At least one network 104 is coupled to the sensors 102a and actuators 102b. The network 104 facilitates interaction with the sensors 102a and actuators 102b. For example, the network 104 could transport measurement data from the sensors 102a and provide control signals to the actuators 102b. The network 104 could represent any suitable network or combination of networks. As particular examples, the network 104 could represent an Ethernet network, an electrical signal network (such as a HART or FOUNDATION FIELDBUS network), a pneumatic control signal network, or any other or additional type(s) of network(s).
In the Purdue model, “Level 1” may include one or more controllers 106, which are coupled to the network 104. Among other things, each controller 106 may use the measurements from one or more sensors 102a to control the operation of one or more actuators 102b. For example, a controller 106 could receive measurement data from one or more sensors 102a and use the measurement data to generate control signals for one or more actuators 102b. Multiple controllers 106 could also operate in a redundant configuration, such as when one controller 106 operates as a primary controller while another controller 106 operates as a backup controller (which synchronizes with the primary controller and can take over for the primary controller in the event of a fault with the primary controller). Each controller 106 includes any suitable structure for interacting with one or more sensors 102a and controlling one or more actuators 102b. Each controller 106 could, for example, represent a proportional-integral-derivative (PID) controller or a multivariable controller, such as a Robust Multivariable Predictive Control Technology (RMPCT) controller or other type of controller implementing model predictive control (MPC) or other advanced predictive control (APC). As a particular example, each controller 106 could represent a computing device running a real-time operating system.
One or more networks 108 are coupled to the controllers 106. The networks 108 facilitate interaction with the controllers 106, such as by transporting data to and from the controllers 106. The networks 108 could represent any suitable networks or combination of networks. As a particular example, the networks 108 could represent an Ethernet network or a redundant pair of Ethernet networks, such as a FAULT TOLERANT ETHERNET (FTE) network from HONEYWELL INTERNATIONAL INC.
At least one switch/firewall 110 couples the networks 108 to two networks 112. The switch/firewall 110 may transport traffic from one network to another. The switch/firewall 110 may also block traffic on one network from reaching another network. The switch/firewall 110 includes any suitable structure for providing communication between networks, such as a HONEYWELL CONTROL FIREWALL (CF9) device. The networks 112 could represent any suitable networks, such as an FTE network.
In the Purdue model, “Level 2” may include one or more machine-level controllers 114 coupled to the networks 112. The machine-level controllers 114 perform various functions to support the operation and control of the controllers 106, sensors 102a, and actuators 102b, which could be associated with a particular piece of industrial equipment (such as a boiler or other machine). For example, the machine-level controllers 114 could log information collected or generated by the controllers 106, such as measurement data from the sensors 102a or control signals for the actuators 102b. The machine-level controllers 114 could also execute applications that control the operation of the controllers 106, thereby controlling the operation of the actuators 102b. In addition, the machine-level controllers 114 could provide secure access to the controllers 106. Each of the machine-level controllers 114 includes any suitable structure for providing access to, control of, or operations related to a machine or other individual piece of equipment. Each of the machine-level controllers 114 could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. Although not shown, different machine-level controllers 114 could be used to control different pieces of equipment in a process system (where each piece of equipment is associated with one or more controllers 106, sensors 102a, and actuators 102b).
One or more operator stations 116 are coupled to the networks 112. The operator stations 116 represent computing or communication devices providing user access to the machine-level controllers 114, which could then provide user access to the controllers 106 (and possibly the sensors 102a and actuators 102b). As particular examples, the operator stations 116 could allow users to review the operational history of the sensors 102a and actuators 102b using information collected by the controllers 106 and/or the machine-level controllers 114. The operator stations 116 could also allow the users to adjust the operation of the sensors 102a, actuators 102b, controllers 106, or machine-level controllers 114. In addition, the operator stations 116 could receive and display warnings, alerts, or other messages or displays generated by the controllers 106 or the machine-level controllers 114. Each of the operator stations 116 includes any suitable structure for supporting user access and control of one or more components in the system 100. Each of the operator stations 116 could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.
At least one router/firewall 118 couples the networks 112 to two networks 120. The router/firewall 118 includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The networks 120 could represent any suitable networks, such as an FTE network.
In the Purdue model, “Level 3” may include one or more unit-level controllers 122 coupled to the networks 120. Each unit-level controller 122 is typically associated with a unit in a process system, which represents a collection of different machines operating together to implement at least part of a process. The unit-level controllers 122 perform various functions to support the operation and control of components in the lower levels. For example, the unit-level controllers 122 could log information collected or generated by the components in the lower levels, execute applications that control the components in the lower levels, and provide secure access to the components in the lower levels. Each of the unit-level controllers 122 includes any suitable structure for providing access to, control of, or operations related to one or more machines or other pieces of equipment in a process unit. Each of the unit-level controllers 122 could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. Although not shown, different unit-level controllers 122 could be used to control different units in a process system (where each unit is associated with one or more machine-level controllers 114, controllers 106, sensors 102a, and actuators 102b).
Access to the unit-level controllers 122 may be provided by one or more operator stations 124. Each of the operator stations 124 includes any suitable structure for supporting user access and control of one or more components in the system 100. Each of the operator stations 124 could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.
At least one router/firewall 126 couples the networks 120 to two networks 128. The router/firewall 126 includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The networks 128 could represent any suitable networks, such as an FTE network.
In the Purdue model, “Level 4” may include one or more plant-level controllers 130 coupled to the networks 128. Each plant-level controller 130 is typically associated with one of the plants 101a-101n, which may include one or more process units that implement the same, similar, or different processes. The plant-level controllers 130 perform various functions to support the operation and control of components in the lower levels. As particular examples, the plant-level controller 130 could execute one or more manufacturing execution system (MES) applications, scheduling applications, or other or additional plant or process control applications. Each of the plant-level controllers 130 includes any suitable structure for providing access to, control of, or operations related to one or more process units in a process plant. Each of the plant-level controllers 130 could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system.
Access to the plant-level controllers 130 may be provided by one or more operator stations 132. Each of the operator stations 132 includes any suitable structure for supporting user access and control of one or more components in the system 100. Each of the operator stations 132 could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.
At least one router/firewall 134 couples the networks 128 to one or more networks 136. The router/firewall 134 includes any suitable structure for providing communication between networks, such as a secure router or combination router/firewall. The network 136 could represent any suitable network, such as an enterprise-wide Ethernet or other network or all or a portion of a larger network (such as the Internet).
In the Purdue model, “Level 5” may include one or more enterprise-level controllers 138 coupled to the network 136. Each enterprise-level controller 138 is typically able to perform planning operations for multiple plants 101a-101n and to control various aspects of the plants 101a-101n. The enterprise-level controllers 138 can also perform various functions to support the operation and control of components in the plants 101a-101n. As particular examples, the enterprise-level controller 138 could execute one or more order processing applications, enterprise resource planning (ERP) applications, advanced planning and scheduling (APS) applications, or any other or additional enterprise control applications. Each of the enterprise-level controllers 138 includes any suitable structure for providing access to, control of, or operations related to the control of one or more plants. Each of the enterprise-level controllers 138 could, for example, represent a server computing device running a MICROSOFT WINDOWS operating system. In this document, the term “enterprise” refers to an organization having one or more plants or other processing facilities to be managed. Note that if a single plant 101a is to be managed, the functionality of the enterprise-level controller 138 could be incorporated into the plant-level controller 130.
Access to the enterprise-level controllers 138 may be provided by one or more operator stations 140. Each of the operator stations 140 includes any suitable structure for supporting user access and control of one or more components in the system 100. Each of the operator stations 140 could, for example, represent a computing device running a MICROSOFT WINDOWS operating system.
Various levels of the Purdue model can include other components, such as one or more databases. The database(s) associated with each level could store any suitable information associated with that level or one or more other levels of the system 100. For example, a historian 141 can be coupled to the network 136. The historian 141 could represent a component that stores various information about the system 100. The historian 141 could, for instance, store information used during production scheduling and optimization. The historian 141 represents any suitable structure for storing and facilitating retrieval of information. Although shown as a single centralized component coupled to the network 136, the historian 141 could be located elsewhere in the system 100, or multiple historians could be distributed in different locations in the system 100.
In particular embodiments, the various controllers and operator stations in
As noted above, it may become necessary or desirable to upgrade one or more existing controllers 106 or other devices in the system 100, such as by installing new software on an existing device or by replacing existing hardware of a device with new hardware. However, it has been difficult to provide an on-process upgrade when a new device is a different type from its predecessor, such as when the new device has a different software basis, physical form-factor, cabinet layout, power subsystem, physical supervisory network medium, or processor or memory hardware.
This disclosure describes techniques to solve these and other problems by providing an on-process upgrade capability for unlike devices. Among other things, this approach supports the following features or any combination thereof. A path to an input/output (I/O) subsystem can be maintained during a migration, and the approach can ensure that I/O values hold their last values on a migration transition. The approach can also ensure that control blocks are initialized and their operation is maintained across the upgrade. Disruption of peer-to-peer (P2P) communications with other “Level 1” devices and “Level 2” supervisory device controllers can be reduced or minimized across the upgrade, and the approach can maintain operator views and alarms/events when upgrading. Disruption to history (logging) when upgrading can be reduced or minimized, and this approach can provide a physical migration kit that allows a secondary device to be updated to a new hardware form factor. Finally, this approach can allow for unlike supervisory network updates.
Additional details regarding specific implementations of this migration technique are provided below. Note that in particular embodiments described in this patent document, an example upgrade from a HONEYWELL EXPERIONPKS C200 controller to a HONEYWELL EXPERIONPKS C300 controller is described. The C200 controller is a classic rack-based control device with network cards that allow for uplink (DCS) access and downlink (I/O) access. The C300 is a chassis-less design that supports Ethernet for the DCS connection and on-board I/O link communications to PM and Series-C style I/O. A technique for providing on-process migration from a C200 controller to a C300 controller can leverage the capability to do database image synchronization and dynamic state data transfers from the C200 controller to the C300 controller. One specific example technique is to first move a ControlNet-based C200 controller to simultaneously support Ethernet so that it can have a common path to the C300 controller for this database transfer as well as to support peer-peer communications. The C300 controller is also built with support for both C200 Series-A style I/O and PM IOL-based I/O. The EXPERION system is enhanced to allow plant personnel to coordinate and command the upgrade from all C200 controllers to C300 controllers and to support, if necessary, the change from ControlNet to Ethernet. This, however, is an example only and merely meant to illustrate one possible upgrade between devices with different form factors and different network connectivities. Different permutations can also apply, such as for devices having the same form factor with different network connectivities, different form factors with the same network connectivity, or even the same factor with the same network connectivity.
Although
In this example, a pair of redundant process controllers 205a-205b (referred to as “old” controllers) is being migrated to a pair of redundant process controllers 210a-210b of a different type (referred to as “new” controllers). Each process controller 205a-205b can have the ability to hold its I/O outputs through short disconnects between the Level 1 process controllers and their I/O. Also, each process controller 210a-210b can have the ability to take or resume control from an unlike partner with configuration and run-time data from the unlike partner. Optionally, a pair of redundant servers 215a-215b (referred to as “old” servers) may also or alternatively be migrated to a pair of redundant servers 220a-220b (referred to as “new” servers), although the servers need not be upgraded while the process controllers are being upgraded. The controllers 205a-205b, 210a-210b here could denote multiple controllers 106, and the servers here could denote higher-level components. The servers could be physical servers or virtual servers operating in one or more virtual environments. Also shown is a supervisory network 230 (referred to as an “old” network) being upgraded to a supervisory network 235 (referred to as a “new” network), which could denote different versions of the network 108. In addition, at least one operator station 225 is provided that can connect directly to “Level 1” process controllers 205a-205b, 210a-210b and that can provide process views independent of server nodes.
Referring to
As part of the migration process, each of the old controllers 205a-205b can be configured to communicate over the new network 235 in addition to the old network 230. For example, a communication module can be installed in each of the old controllers 205a-205b to allow each controller 205a-205b to communicate over the new network 235. The addition of the communication modules to the old controllers 205a-205b can be done on-process, meaning the controllers 205a-205b can continue to operate and control one or more industrial processes while the addition of the new communication modules occurs. In this way, a supervisory network between the “Level 2” redundant servers and the “Level 1” process controllers can be upgraded while staying on-process and maintaining view. Once the controllers 205a-205b are able to communicate over both networks 230-235, the old redundant servers 215a-215b on the old network 230 can be migrated to the new redundant servers 220a-220b on the new network 235 (if desired) as shown in
Referring to
In some embodiments, the portion of the migration process shown in
As shown in
The second server 215b is powered back on, the new network type for the new network 235 is enabled on the server 215b, and the server 215b is configured to communicate with the “Level 1” process controllers 205a-205b over the new network 235 at step 246. Replication of the new supervisory network configuration from the server 215b to the server 215a is disabled at step 247. The second server 215b is connected to the new network 235 at step 248. The server 215b is synchronized with run-time or other data of the server 215a (excluding network configuration data) at step 249. A failover occurs from the server 215a to the server 215b at step 250, which allows the server 215b to become the primary server and communicate over the new network 235 with the “Level 1” process controllers 205a-205b. The server 215b can then maintain view and control over the process controllers 205a-205b.
The server 215a is powered off and its network connections are disconnected from the old network 230 at step 251. Infrastructure for the new network 235 (such as a suitable network interface card, cabling, and switches) is added to the server 215a at step 252. Replication of the new supervisory network configuration from the server 215b to the server 215a is enabled at step 253. The server 215a is powered on, the new network type for the new network 235 is enabled on the server 215a, and the configuration performed on the server 215b to communicate with the “Level 1” process controllers 205a-205b over the new network 235 is replicated to the server 215a at step 254. The server 215a is connected to the new network 235 at step 255, which allows the server 215a to become the new secondary server. The server 215a is synchronized with the server 215b at step 256. At this point, both servers 215a-215b are able to communicate with the process controllers 205a-205b via the new network 235, and (if needed) the server 215a is ready to take over and act as the primary server.
In other embodiments, the portion of the migration process shown in
As shown in
The old second server 215b is decommissioned at step 264. New software (if not already installed) can be installed on the new second server 220b and data from the old second server 215b is transferred to the new second server 220b at step 265. Note that some systems may allow the installation of the new software prior to initiating the on-process migration. The new second server 220b is connected to the new network 235 and powered on (if not already on) at step 266. The new network type for the new network 235 is enabled on the new second server 220b at step 267. The new second server 220b is configured to communicate with the “Level 1” process controllers 205a-205b over the new network 235 at step 268.
The “Level 1” process controllers 205a-205b are connected to the new network 235 at step 269, such as via the new modules in the process controllers 205a-205b. The new second server 220b is commanded to run in dual primary mode at step 270. This allows the new second server 220b and the new network 235 to be verified while the old first server 215a is used to control the underlying industrial process(es). Once verification of the new second server 220b and the new network 235 is complete, the new second server 220b is commanded to become the sole primary server at step 271. This allows the old first server 215a to be replaced and upgraded while the new second server 220b controls the underlying industrial process(es).
A new first server 220a is installed in the system at step 272. The new first server 220a can already include hardware that allows the new first server 220a to communicate over the new network 235. If not, new network infrastructure (such as a suitable network interface card, cabling, and switches) can be added to the server 220a. The old first server 215a is decommissioned at step 273. New software (if not already installed) can be installed on the new first server 220a, and the new first server 220a is connected to the new network 235 and powered on (if not already on) at step 274. The new network type for the new network 235 is enabled on the new first server 220a at step 275. The new first server 220a is synchronized with the new second server 220b at step 276. The synchronization data includes configuration data that allows the new first server 220a to communicate with the “Level 1” process controllers 205a-205b over the new network 235. At this point, both servers 220a-220b are able to communicate with the process controllers 205a-205b via the new network 235, and (if needed) the server 220a is ready to take over and act as the primary server.
Note that in
In some embodiments, the portion of the migration process shown in
As shown in
Path information of connections initiated by other controllers to the old controllers 205a-205b is reconfigured offline so the other controllers can initiate connections to the new controllers 210a-210b over the new network 235 at step 283. This configuration reconfigures path information from the other controllers that initiate connections to the old controllers 205a-205b so that the connections can be restored when the new controllers 210a-210b take over. This is a different configuration from the additional offline “Level 1” process controller configuration created earlier in step 282. The configuration in step 282 is used to load the controller 210b before it takes control from the controller 205a, while the configuration in step 283 is used after the controller 210b takes control.
The redundancy between the old process controllers 205a-205b is terminated at step 284, so the industrial process(es) can be controlled from a non-redundant process controller 205a. This could denote a standard function in systems that use redundant controllers. The old second controller 205b is powered off, supervisory and I/O network cables are disconnected from the controller 205b, and the controller 205b and its associated components are removed at step 285. Unlike “Level 1” process controllers 210a-210b and associated components (such as supervisory network modules) are installed in place of the old second controller 205b or in another location at step 286. In some embodiments, this could be done using a kit in which two new controllers can be installed in place of one old controller chassis. The supervisory and I/O network cables that were previously connected to the old second controller 205b are connected to the new second controller 210b, and the new second controller 210b and other associated components are powered on at step 287. Firmware is loaded onto the new second controller 210b and replication of a process control configuration from the primary server 220a/220b to the direct-connected operator station 225 is disabled at step 288. At this point, operator controls and process views by the original controller 205b can be controlled using the direct-connected operator station 225.
The original “Level 1” process controller configuration is removed from storage, such as from Engineering Repository and Server nodes (but not from the direct-connected operator station 225), and replaced with the offline configuration prepared for the new controllers at step 289. This can be done in an automated manner. The offline configuration is also loaded to the new second controller 210b at step 289. Run-time or other data is retrieved from the old first controller 205a, translated if needed to be compatible with the new second controller 210b, and stored to the new second controller 210b at step 290. The new second controller 210b is commanded to take over control, such as by performing a redundancy role change to the primary role with cold or warm activation, at step 291. The following can be performed to allow the new second controller 210b to take control of an industrial process. The new controller 210b communicates with the original controller 205a to ensure control can be transferred to the new controller 210b. The new controller 210b takes mastership of I/O, and the new controller 210b delays control executions to ensure field-connected inputs have valid field values. The new controller 210b then resumes control execution as specified, including off-node connections initiated from the new controller 210b. During this time, the new controller 210b is operated from the primary server, and the direct-connected operator station 225 is used to operate the controller 205b until the controller 210b takes control.
Replication of the process control configuration from the primary server 220a or 220b to the direct-connected operator station 225 is enabled at step 292. The result of enabling the replication to the operator station 225 is that the configuration is synchronized from the servers 220a-220b to the operator station 225, which will allow operation and view of the controller 210b from the operator station 225. At that point, the off-node configuration (from step 283) can be automatically loaded to other controllers so off-node connections can be restored and associated execution resumed. The old first controller 205a is powered off, supervisory and I/O network cables from the controller 205a are disconnected, and the controller 205a is removed at step 293. The supervisory and I/O network cables that were previously connected to the old first controller 205a are connected to the new first controller 210a and the new first controller 210a and other associated components are powered on at step 294. Firmware is loaded onto the new first controller 210a at step 295, and synchronization is enabled between the new second controller 210b and the new first controller 210a at step 296. At this point, the new controller 210b is functioning as the primary controller, and the new controller 210a (when synchronized) is ready to take over and become primary if and when necessary.
The second step of the migration process shown in
Note that the upgrade to a different physical supervisory network medium of the “Level 2” servers could be done along with or separate from the migration of the “Level 1” process controllers. Also note that during the migration of the “Level 1” process controllers and/or the migration of the “Level 2” servers, many of the steps described above could be performed in an automated manner. For example, a software tool or other tool could oversee the migration process, trigger various actions on the devices, obtain information identifying status or results, and interact with users as needed.
Although
The remainder of the description below relates to an example upgrade from a HONEYWELL EXPERIONPKS C200 controller to a HONEYWELL EXPERIONPKS C300 controller. This example upgrade is illustrative of the inventive approaches described in this patent document, but this patent document is not limited to this particular example upgrade.
As shown in
Communications can occur over the control networks 325-330 with pairs of equipment 340a-340d, where each equipment pair includes a serial interface module (SIM) and a control network interface (CNI). The serial interface modules support communications with various switches 350a-350d, which communicate with several programmable logic controllers (PLCs) 360 and 365. The architecture in
As shown in
As shown in
As shown in
Once the configuration in
Once these operations are completed, the C300 controller 425a is transitioned into the primary role, while simultaneously the C200 controller in the chassis 320a is reset. This could be done by the wizard commanding the C300 controller 425a to activate as primary and the controller 425a commanding the C200 controller in the chassis 320a to reset. The C200 and FTE configurations 310a and 510a can be removed from the servers 305, and P2P traffic to and from the C300 controller 425a can be moved onto the network 415. During this time, outputs from various devices can be held.
The wizard can then continue by instructing the user to perform specific actions and waiting for an acknowledgement that these actions have been completed. The actions include connecting I/O cables from the chassis 320a to the (currently unpowered) C300 controller 425b and then powering on the C300 controller 425b. At this point, the server 305 and the operator station 605 can be used to operate points resident on the C300 configuration 410a and 610c, and the chassis 320a can be removed. The resulting structure of the system is shown in
Although
As shown in
The memory 1130 and a persistent storage 1135 are examples of storage devices 1115, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The memory 1130 may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage 1135 may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
The communications unit 1120 supports communications with other systems or devices. For example, the communications unit 1120 could include a network interface card or a wireless transceiver facilitating communications over the network 105. The communications unit 1120 may support communications through any suitable physical or wireless communication link(s). When the device 100 denotes a Level 1 controller or a Level 2 server or operator station, the communications unit 1120 could denote the interface(s) used to communicate over the networks 230-235.
The I/O unit 1125 allows for input and output of data. For example, the I/O unit 1125 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 1125 may also send output to a display, printer, or other suitable output device.
Although
In some embodiments, various functions described in this patent document 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 term “communicate,” as well as derivatives thereof, encompasses 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 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.
The description in the present application should not be read as implying that any particular element, step, or function is an essential or critical element that must be included in the claim scope. The scope of patented subject matter is defined only by the allowed claims. Moreover, none of the claims is intended to invoke 35 U.S.C. § 112(f) with respect to any of the appended claims or claim elements unless the exact words “means for” or “step for” are explicitly used in the particular claim, followed by a participle phrase identifying a function. Use of terms such as (but not limited to) “mechanism,” “module,” “device,” “unit,” “component,” “element,” “member,” “apparatus,” “machine,” “system,” “processor,” or “controller” within a claim is understood and intended to refer to structures known to those skilled in the relevant art, as further modified or enhanced by the features of the claims themselves, and is not intended to invoke 35 U.S.C. § 112(f).
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 scope of this disclosure, as defined by the following claims.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 62/145,371 filed on Apr. 9, 2015, which is hereby incorporated by reference in its entirety.
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 |
5898826 | Pierce et al. | Apr 1999 | A |
6141769 | Petivan et al. | Oct 2000 | A |
6192232 | Iseyama | Feb 2001 | B1 |
6256297 | Haferbeck et al. | Jul 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 |
7802016 | Eimers-Klose et al. | Sep 2010 | B2 |
8108853 | Bale et al. | Jan 2012 | B2 |
8498201 | Budampati et al. | Jul 2013 | B2 |
8756412 | Pulini et al. | Jun 2014 | B2 |
9261868 | Torigoe | Feb 2016 | B2 |
9869984 | Tsuchiya | Jan 2018 | B2 |
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 |
20030200323 | Dold | Oct 2003 | A1 |
20030212768 | Sullivan | Nov 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 |
20040254648 | Johnson | Dec 2004 | A1 |
20040259533 | Nixon | Dec 2004 | 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 |
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 |
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 |
20070089063 | Breyer | 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 |
20080267259 | Budampati et al. | Oct 2008 | A1 |
20080273547 | Phinney | Nov 2008 | A1 |
20080288120 | Lindenmuth | Nov 2008 | A1 |
20090022121 | Budampati | Jan 2009 | A1 |
20090034441 | Budampati | Feb 2009 | A1 |
20090060192 | Budampati et al. | Mar 2009 | A1 |
20090086692 | Chen | Apr 2009 | A1 |
20090109889 | Budampati et al. | Apr 2009 | A1 |
20090125156 | Killian | May 2009 | A1 |
20090138541 | Wing et al. | May 2009 | A1 |
20100042869 | Szabo et al. | Feb 2010 | A1 |
20100128699 | Yang et al. | May 2010 | A1 |
20100287548 | Zhou et al. | Nov 2010 | A1 |
20100291897 | Ghai | Nov 2010 | A1 |
20110305206 | Junell et al. | Dec 2011 | A1 |
20120017031 | Mashtizadeh et al. | Jan 2012 | A1 |
20120101663 | Fervel et al. | Apr 2012 | A1 |
20120117416 | McLaughlin | May 2012 | A1 |
20130219161 | Fontignie et al. | Aug 2013 | A1 |
20130253671 | Torigoe | Sep 2013 | A1 |
20150205280 | Tsuchiya | Jul 2015 | A1 |
20160062350 | Prall | Mar 2016 | A1 |
20160174406 | Dobler | Jun 2016 | A1 |
20170242771 | Khemani et al. | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
101819545 | Sep 2010 | CN |
103605561 | Feb 2014 | CN |
4134207 | Apr 1993 | DE |
103 14 721 | Nov 2004 | DE |
1 081 895 | Mar 2001 | 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 03079616 | Sep 2003 | WO |
WO 2004047385 | Jun 2004 | WO |
WO 2004114621 | Dec 2004 | WO |
WO 2006017994 | Feb 2006 | WO |
WO 2006053041 | May 2006 | WO |
Entry |
---|
Bernard Pagurek et al., Mobile Agents for Network Management, 1998 IEEE, [Retrieved on May 20, 2019]. Retrieved from the internet: <https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5340400> 8 Pages (1-8) (Year: 1998). |
D.M. Desai et al., BladeCenter system overview, 2005, [Retrieved on May 20, 2019]. Retrieved from the internet: <https://pdfs.semanticscholar.org/1ae5/133f566a7280f45585e162fda38dadf1910e.pdf> 13 Pages (809-821) (Year: 2005). |
Jerker Delsing et al., Migration of Industrial Process Control Systems into Service , 2012, [Retrieved on Nov. 22, 2016]. Retrieved from the internet: <URL: https://www.diva-portal.org/smash/get/diva2:1000535/FULLTEXT01.pdf> 7 Pages (5790-5796) (Year: 2012). |
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. |
Communication pursuant to Article 94(3) EPC dated Apr. 2, 2009 in connection with European Patent Application No. 07 761 784.3, 9 pgs. |
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, 10 pgs. |
International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069614 dated Nov. 22, 2007, 9 pgs. |
International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069710 dated Nov. 27, 2007, 10 pgs. |
International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2007/069705 dated Apr. 15, 2008, 9 pgs. |
Pereira, J.M. Dias, “A Fieldbus Prototype for Educational Purposes”, IEEE Instrumentation & Measurement Magazine, New York, NY vol. 7, No. 1, Mar. 2004, p. 24-31. |
International Search Report and Written Opinion of the International Searching Authority in PCT Application No. PCT/US2006/048334 dated Jul. 5, 2007, 10 pgs. |
European Search Report dated Oct. 6, 2008 in connection with European Patent Application No. 08 16 1387.9, 3 pgs. |
Strilich, et al.; “Gateway Offering Logical Model Mapped to Independent Underlying Networks”; U.S. Appl. No. 14/269,903, filed May 5, 2014; 49 pages. |
David E. Lowell, et al., “Devirtualizable Virtual Machines Enabling General, Single-Node, Online Maintenance”, ASPLOS'04, Oct. 9-13, 2004, p. 211-223. |
Olivier Crameri, et al., “Staged Deployment in Mirage, an Integrated Software Upgrade Testing and Distribution System”, SOSP'07, Oct. 14-17, 2007, 16 pages. |
Ramakrishna S. Budampati, et al., “Apparatus and Method for Improving the Reliability of Industrial Wireless Networks That Experience Outages in Backbone Connectivity”, U.S. Appl. No. 12/869,557, filed Aug. 26, 2010, 27 pgs. |
Christopher Pulini, et al. “Gateway Supporting Transparent Redundancy in Process Control Systems and Other Systems and Related Method”, U.S. Appl. No. 12/762,215, filed Apr. 16, 2010, 56 pgs. |
Paul F. McLaughlin et al., “On-Process Migration From One Type of “Level 1” Process Controller to a Different Type of “Level 1” Process Controller”, U.S. Appl. No. 62/145,371, filed Apr. 9, 2015, 22 pgs. |
John M. Prall et al., “Apparatus and Method for On-Process Migration of Industrial Control and Automation System Across Disparate Network Types”, U.S. Appl. No. 14/476,355, filed Sep. 3, 2014, 39 pgs. |
Prakash Mani et al., “Method and Apparatus for an On-Process Migration in a Virtual Environment Within an Industrial Process Control and Automation System”, U.S. Appl. No. 14/871,898, filed Sep. 30, 2015, 45 pgs. |
Paul F. McLaughlin, “Method and System for Process Control Network Migration”, U.S. Appl. No. 12/942,177, filed Nov. 9, 2010, 39 pgs. |
Sreenivasamurthy et al., “Method and System for Distributed Control System (DCS) Process Data Cloning and Migration Through Secured File System”, U.S. Appl. No. 14/681,536, filed Apr. 8, 2015, 31 pgs. |
Emerson, “PLC to DeltaV Systems Migration PLC to DeltaV(TM) Systems Migration This document describes PLC to DeltaV(TM) system integration and methods for migrating PLC functions to a DeltaV system. PLC to DeltaV Systems Migration.”, Mar. 12, 2012. |
Number | Date | Country | |
---|---|---|---|
20160299497 A1 | Oct 2016 | US |
Number | Date | Country | |
---|---|---|---|
62145371 | Apr 2015 | US |