Patent ID: 8046444

Claim:
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.