Patent ID: 7894460

Claim:
A method for exposing data from a programmable logic controller (PLC) device, comprising: accessing a configuration file identifying a plurality of PLC addresses to expose; initializing a shared memory array, wherein the shared memory array includes a plurality of elements each used to store data obtained from the PLC device; invoking a first thread, wherein the first thread is configured to, repeatedly: transmit a request for one of the identified PLC addresses, wherein the request is configured according to a first communication protocol, wherein the first protocol comprises a Non-Intelligent Terminal Protocol (NITP), and store a data value returned by the PLC device in response to the request in one of the elements of the shared memory array; and invoking a second thread, wherein the second thread is configured to: receive a request, communicated according to a second communication protocol, for one or more of the data values stored in the shared memory array, retrieve the requested one or more data values, and return the requested data values in a format consistent with the second communication protocol.