A network appliance for a programmable controller controlling a plurality of I/O nodes on different I/O networks (16a, 16b, 16d) 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 nodes; 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, and configuration files; 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 the I/O network according to the associated configuration file; and (d) in response to communication between an I/O node and the programmable controller, execute a script associated with the I/O network to translate between protocols of the I/O network and controller network; whereby the programmable controller may communicate with I/O nodes as if they were connected directly to the controller network; and wherein the programmable controller and I/O nodes communicate between each other using a buffer table subject to distinct read and write cycles. a plurality of I/O network interface circuits providing hardware connections to the different I/O networks of the I/O nodes; 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, and configuration files; 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 the I/O network according to the associated configuration file; and (d) in response to communication between an I/O node and the programmable controller, execute a script associated with the I/O network to translate between protocols of the I/O network and controller network; whereby the programmable controller may communicate with I/O nodes as if they were connected directly to the controller network; and wherein the programmable controller and I/O nodes communicate between each other using a buffer table subject to distinct read and write cycles. (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 the I/O network according to the associated configuration file; and (d) in response to communication between an I/O node and the programmable controller, execute a script associated with the I/O network to translate between protocols of the I/O network and controller network; whereby the programmable controller may communicate with I/O nodes as if they were connected directly to the controller network; and wherein the programmable controller and I/O nodes communicate between each other using a buffer table subject to distinct read and write cycles.