System and method of connection management during synchronization of high availability industrial control systems
AssigneeRockwell Automation Technologies, Inc.
InventorsNicholas Stay, Kyle Neet
Life of this patent
Estimating the term…
Abstract
An industrial controller executes a control program held in non-transitory medium to: (a) open connections for the communication of data on the industrial control network, the connection subject to a timeout; (b) operate in a synchronized state with the second industrial controller to execute a same control program to communicate same control data; (c) operate in an unsynchronized state providing no-operation data to the industrial control network, the no-operation data preventing timeout of the open connections on which it is communicated.
Claims19
An industrial controller of a type providing control data on an industrial control network to one or more I/O circuits generating signals to control an industrial process, the industrial controller operating in conjunction with a second industrial controller also communicating with the one or more I/O circuits to provide high-availability control of the industrial process, the industrial controller comprising a processor executing a control program held in non-transitory media to:
- (a) open a plurality of connections for communication of data on the industrial control network via a concurrent connection data packet, the plurality of connections subject to a timeout upon which they are closed when no concurrent connection data packet is communicated for a predetermined interval;
- (b) operate in a synchronized state with the second industrial controller to execute a same control program to communicate same control data to the industrial control network using the plurality of connections;
- and
- (c) operate in an unsynchronized state for communication of no-operation data via a second data packet to the industrial control network using the plurality of connections, wherein:
- the no-operation data present in the second data packet is different from the control data communicated by the concurrent connection data packet, and
- communication of the second data packet prevents closing of the plurality of connections as a result of the timeout of the plurality of connections even when the concurrent connection data packet is not communicated within the predetermined interval.
The industrial controller of claim I wherein the industrial controller further (d) operates in a failed state providing no data to the industrial control network using the plurality of connections.
An industrial control system comprising:
- an industrial control network;
- one or more I/O circuits configured to generate signals to control an industrial process, wherein the one or more I/O circuits are operatively connected to the industrial control network;
- a first industrial controller configured to provide control data via the industrial control network to the one or more I/O circuits;
- a second industrial controller configured to provide control data via the industrial control network to the one or more I/O circuits, wherein:
- the first and the second industrial controllers operate together to provide high availability control of the industrial process, and
- the first industrial controller includes a processor configured to execute a control program held in non-transitory media to:
- open a plurality of connections for communication of data on the industrial control network via a concurrent connection data packet, the plurality of connections subject to a timeout upon which they are closed when no concurrent connection data packet is communicated for a predetermined interval;
- operate in a synchronized state with the second industrial controller to execute a same control program to communicate same control data to the industrial control network using the plurality of connections;
- operate in an unsynchronized state for communication of no-operation data via a second data packet to the industrial control network using the plurality of connections, wherein:
- the no-operation data present in the second data packet is different from the control data communicated by the concurrent connection data packet, and
- communication of the second data packet prevents closing of the plurality of connections as a result of the timeout of the plurality of connections even when the concurrent connection data packet is not communicated within the predetermined interval;
- and
- attach a hop counter value to the second data packetno operation data;
- and further including
- network communication nodes receiving configured to receive data on the open plurality of connections for forwarding that data on other connections, wherein the network communication nodes:
- (i) when presented with control data and no-operation data on the plurality of connections, forward the control data and decrement the hop counter value of the second data packet and forward the second data packet on to an other connection connections only when the hop counter value has not decremented to zero;
- and
- (ii) when presented with first control data and second control data, select between the first control data and second control data to forward one of the first control data and second control data to the other connection.
A method of operating an industrial controller of a type providing control data on an industrial control network to one or more I/O circuits generating signals to control an industrial process, the industrial controller operating in conjunction with a second industrial controller also communicating with the one or more I/O circuits to provide high-availability control of the industrial process, the method comprising operating the industrial controller to execute a control program held in non- transitory media to:
- (a) open a plurality of connections for communication of data on the industrial control network via a concurrent connection data packet, the plurality of connections subject to a timeout upon which they are closed when no concurrent connection data packet is communicated for a predetermined interval;
- (b) operate in a synchronized state with the second industrial controller to execute a same control program to communicate same control data to the industrial control network using the plurality of connections;
- and
- (c) operate in an unsynchronized state for communication of no-operation data via a second data packet to the industrial control network using the open plurality of connections, wherein:
- the no-operation data present in the second data packet is different from the control data communicated by the concurrent connection data packet, and
- communication of the second data packet prevents closing of the plurality of connections as a result of the timeout of the plurality of connections even when the concurrent connection data packet is not communicated within the predetermined interval.
Dependencies are inferred from the claim text.