Universal network adapter for industrial control networks
AssigneeRockwell Automation Technologies, Inc.
InventorsDarren R. Klug, Petr Ptacek
Life of this patent
Estimating the term…
Abstract
A universal network adapter for a control system provides an appliance receiving a user selection of network cards for different proprietary network types and an internal interpreter running custom scripts downloadable to the appliance to map the network protocols of the different networks to a single common network communicating with the programmable controller. A buffer table interposed between the networks provides for a consistent ordering of data transfer in separate input and output sessions. Configuration data may be held by the appliance to configure the networks and the devices using the same scripting translation.
Claims17
A network appliance for a programmable controller configured to control a plurality of I/O nodes on different I/O networks using different communication protocols, the network appliance comprising:
- a plurality of I/O network interface circuits providing hardware connections to the different I/O networks of the I/O node;
- a controller network interface circuit providing a hardware connection to a controller network communicating with the programmable controller;
- a memory holding a network appliance program, script files, configuration files, a communication schedule, a mapping table, and a buffer;
- a processor executing the network appliance program to:
- (a) store in memory, script files associated with the different I/O networks, the script files associated with particular I/O networks and executing to translate between protocols of the controller network and the particular I/O network;
- (b) receive from the programmable controller and store in memory, configuration files associated with particular I/O networks and describing configuration parameters for the particular I/O networks;
- (c) before communication between an I/O node and the programmable controller, configuring each of the I/O networks and generating the mapping table according to the associated configuration files;
- and
- (d) coordinate communications between the programmable controller and the I/O nodes according to the communication schedule, wherein
- (i) during a first phase of the communication schedule, data is placed in the buffer according to the mapping table concurrently from each of the I/O nodes via the associated script file and from the programmable controller, and
- (ii) during a second phase of the communication schedule, data is sent from the buffer according to the mapping table concurrently to the appropriate I/O nodes via the associated script file and to the programmable controller;
- whereby the programmable controller may communicate with I/O nodes as if they were connected directly to the controller network.
An industrial controller comprising:
- a set of I/O nodes attached to a plurality of networks and providing electrical connections to actuators and sensors of a controlled process;
- a programmable controller having a stored program for controlling the controlled process by providing signals to the actuators and receiving signals from the sensors through the I/O nodes;
- a network appliance having:
- (a) a plurality of I/O network interface circuits providing hardware connections to the different I/O networks corresponding to each I/O node;
- (b) a controller network interface circuit providing a hardware connection to a controller network communicating with the programmable controller;
- (c) a memory holding a network appliance program, script files, configuration files, a communication schedule, a mapping table, and a buffer;
- (d) a processor executing the network appliance program to:
- (i) store in memory, script files associated with the different I/O networks, the script files associated with particular I/O networks and executing to translate between protocols of the controller network and the particular I/O network;
- (ii) receive from the programmable controller and store in memory, configuration files associated with particular I/O networks and describing configuration parameters for the particular I/O networks;
- (iii) before communication between an I/O node and the programmable controller, configuring each of the I/O networks and generating the mapping table according to the associated configuration file;
- and
- (iv) coordinate communications between the programmable controller and the I/O nodes according to the communication schedule, wherein
- during a first phase of the communication schedule, data is placed in the buffer according to the mapping table concurrently from each of the I/O nodes via the associated script file and from the programmable controller, and
- during a second phase of the communication schedule, data is sent from the buffer according to the mapping table concurrently to the appropriate I/O nodes via the associated script file and to the programmable controller;
- whereby the programmable controller may communicate with I/O nodes as if they were connected directly to the controller network.
A network appliance for a programmable controller configured to control a plurality of I/O nodes communicating on I/O networks using different protocols, the network appliance comprising:
- a plurality of I/O network interface circuits configured to connect to the different I/O networks of the I/O nodes;
- a controller network interface circuit configured to connect to a controller network communicating with the programmable controller;
- a memory configured to store a network appliance program, an I/O buffer table, and a communication schedule;
- and
- a processor configured to execute the network appliance program to coordinate periodic communications between the plurality of I/O nodes and the programmable controller according to the communication schedule wherein during a first phase of the schedule the I/O nodes and the programmable controller concurrently write to the I/O buffer table and during a second phase of the schedule the I/O nodes and the programmable controller concurrently read data from the I/O buffer table.
Dependencies are inferred from the claim text.