Machines, Computer Program Products, and Computer-Implemented Methods Providing an Integrated Node for Data Acquisition and Control
First Claim
1. A programmable logic controller (PLC) positioned to allow a remote host to interface with a plurality of remote subsystems to thereby define an integrated node, the integrated node comprising:
- a central processing unit;
a network interface to route network connections with the remote host and the plurality of remote subsystems;
a protocol translator to translate communications with each of the plurality of subsystems according to one of a plurality of communication protocols;
an input/output unit positioned to transfer communications between the integrated node, the plurality of remote subsystems, and the remote host;
a database server module positioned to archive data acquired from the plurality of subsystems in a plurality of time-stamped archive files;
a non-transitory computer-readable storage medium having stored thereon;
first executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations;
synchronizing an internal clock in the remote host and in each of the plurality of remote subsystems to thereby define a plurality of remote time-synchronized subsystems,acquiring time-stamped process data from each of the plurality of remote time-synchronized subsystems responsive to a first pre-defined rate,archiving the time-stamped process data responsive to the acquiring operation in a time-stamped archive file,extracting time-stamped process data from at least one time-stamped archive file responsive to receiving a command from the remote host, andtransmitting the time-stamped process data to the remote host responsive to receiving the command from the remote host;
second executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations;
detecting a time of a communication failure and a time of a corresponding communication recovery in a communication link between the integrated node and any of the plurality of remote time-synchronized subsystems,retrieving at least one data file from one of the plurality of remote time-synchronized subsystems responsive to the detected time of the communication failure and the detected time of the corresponding communication recovery,extracting time-stamped process data from the at least one data file retrieved, the time-stamped process data being extracted starting from the time of the communication failure and ending at the time of the corresponding communication recovery, andtransmitting the time-stamped process data to the remote host responsive to the extracting operation; and
third executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations;
detecting a time of a communication failure and a time of a corresponding communication recovery in a communication link between the integrated node and the remote host,extracting time-stamped process data from at least one time-stamped archive file, the time-stamped process data being extracted starting from the time of the communication failure and ending at the time of the corresponding communication recovery,transmitting the time-stamped process data to the remote host responsive to the extracting operation, andbuffering data transmissions in the communication link between the integrated node and the remote host responsive to detecting bandwidth starvation therein.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of an integrated node, such as a programmable logic controller, are provided for process automation and seamless, flexible subsystem communications, allowing a remote host to interface with a plurality of remote and in-plant subsystems and services using a wired or wireless network interface and having a database server and a protocol translator or translation server to convert and manipulate various industrial interfaces and protocols. Embodiments of the integrated node time-synchronize the plurality of remote subsystems, acquire and archive time-stamped process data, report exceptions therein to the remote host, and extract and transmit time-stamped process data to the remote host. Embodiments of computer program products and computer implemented methods also are provided to detect a time of communication failure and a time of a corresponding recovery between a node and either a remote subsystem or a remote host.
-
Citations
24 Claims
-
1. A programmable logic controller (PLC) positioned to allow a remote host to interface with a plurality of remote subsystems to thereby define an integrated node, the integrated node comprising:
-
a central processing unit; a network interface to route network connections with the remote host and the plurality of remote subsystems; a protocol translator to translate communications with each of the plurality of subsystems according to one of a plurality of communication protocols; an input/output unit positioned to transfer communications between the integrated node, the plurality of remote subsystems, and the remote host; a database server module positioned to archive data acquired from the plurality of subsystems in a plurality of time-stamped archive files; a non-transitory computer-readable storage medium having stored thereon; first executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations; synchronizing an internal clock in the remote host and in each of the plurality of remote subsystems to thereby define a plurality of remote time-synchronized subsystems, acquiring time-stamped process data from each of the plurality of remote time-synchronized subsystems responsive to a first pre-defined rate, archiving the time-stamped process data responsive to the acquiring operation in a time-stamped archive file, extracting time-stamped process data from at least one time-stamped archive file responsive to receiving a command from the remote host, and transmitting the time-stamped process data to the remote host responsive to receiving the command from the remote host; second executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations; detecting a time of a communication failure and a time of a corresponding communication recovery in a communication link between the integrated node and any of the plurality of remote time-synchronized subsystems, retrieving at least one data file from one of the plurality of remote time-synchronized subsystems responsive to the detected time of the communication failure and the detected time of the corresponding communication recovery, extracting time-stamped process data from the at least one data file retrieved, the time-stamped process data being extracted starting from the time of the communication failure and ending at the time of the corresponding communication recovery, and transmitting the time-stamped process data to the remote host responsive to the extracting operation; and third executable computer program comprising a set of instructions that, when executed by the central processing unit, causes the integrated node to perform the following operations; detecting a time of a communication failure and a time of a corresponding communication recovery in a communication link between the integrated node and the remote host, extracting time-stamped process data from at least one time-stamped archive file, the time-stamped process data being extracted starting from the time of the communication failure and ending at the time of the corresponding communication recovery, transmitting the time-stamped process data to the remote host responsive to the extracting operation, and buffering data transmissions in the communication link between the integrated node and the remote host responsive to detecting bandwidth starvation therein. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A programmable logic controller having a central processing unit and a non-transitory computer-readable storage medium to allow a remote host to interface with a plurality of remote subsystems to thereby define an integrated node, the integrated node comprising:
-
an input/output unit positioned to transfer communications between the node the plurality of remote subsystems and the remote host; a database server module positioned to archive data acquired from the plurality of subsystems in a plurality of time-stamped archive files; a time-synchronizer positioned to synchronize an internal clock in each of the plurality of remote subsystems to thereby define a plurality of remote time-synchronized subsystems; a data acquirer positioned to periodically acquire time-stamped data from each of the plurality of remote time-synchronized subsystems and archive the time-stamped data using the database server module; an exception reporter positioned to determine exceptions in the time-stamped data acquired from each of the plurality of remote time-synchronized subsystems and report the exceptions to the remote host; a data uploader positioned to periodically upload archived time-stamped data to the remote host; and a subsystems restorer positioned to retrieve time-stamped data from any of the plurality of remote time-synchronized subsystems responsive to communications failure between the integrated node and any of the plurality of remote time-synchronized subsystems. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-implemented method for providing a uniform restoration of interrupted data transmissions between a plurality of remote subsystems and a programmable logic controller positioned to allow a remote host to interface with the plurality of remote subsystems, the programmable logic controller thereby defining an integrated node, the method comprising the steps of:
-
detecting a time of a communication failure and a time of a corresponding communication recovery in a communications link between the integrated node and any of the plurality of remote subsystems, each of the integrated node and the plurality of remote subsystems being time-synchronized according to a uniform time source; retrieving at least one data file from one of the plurality of remote time-synchronized subsystems responsive to the detected time of the communication failure and the detected time of the corresponding communication recovery; and restoring the time-stamped process data to the remote host computer responsive to the retrieving step. - View Dependent Claims (17, 18)
-
-
19. A computer-implemented method for providing a uniform restoration of interrupted data transmissions between a remote host and a programmable logic controller acquiring process data from a plurality of remote subsystems, the programmable logic controller thereby defining an integrated node, the computer-implemented method comprising the steps of
detecting a time of a communication failure and a time of a corresponding communication recovery in a communications link between the integrated node and the remote host, each of the integrated node and the remote host being time-synchronized according to a uniform time source; - and
restoring time-stamped process data to the remote host computer responsive to the time of the communication failure and the time of the corresponding communication recovery. - View Dependent Claims (20, 21)
- and
-
22. A programmable logic controller having a central processing unit and a non-transitory computer-readable storage medium to allow a remote host to interface with a plurality of remote subsystems to thereby define an integrated node, the integrated node comprising:
-
an input/output unit positioned to transfer communications between the node the plurality of remote subsystems and the remote host; a database server positioned to archive data acquired from the plurality of subsystems in a plurality of time-stamped archive files; a time-synchronizer positioned to synchronize an internal clock in each of the plurality of remote subsystems to thereby define a plurality of remote time-synchronized subsystems; a data acquirer positioned to periodically acquire time-stamped data from each of the plurality of remote time-synchronized subsystems and archive the time-stamped data using the database server module; a data verifier to substitute out-of-bounds measurements in measurements of the time-stamped data with new measurements responsive to a preconfigured filtering scheme and to suspend data acquisition upon detecting an out-of-bounds measurement, to thereby define a plurality of verified measurements; and a data reconciler to determine an operating state of the plurality of remote time-synchronized subsystems and to reconcile the plurality of verified measurements responsive to a reconciler corresponding to the operating state of the plurality of remote time-synchronized subsystems. - View Dependent Claims (23, 24)
-
Specification