Patent Description:
In a typical industrial automation system, a Supervisory Control and Data Acquisition (SCADA) system communicates with many industrial assets, including smart devices such as remote terminal units (RTUs) and programmable logic controllers (PLCs). These devices provide remote industrial or resource monitoring and control and are configured for use in a particular application (e.g., oil and gas, water and waste water, renewable energy). The SCADA system typically communicates with remote devices via a private data radio network and/or a cellular telephone network. For example, the private data radio network includes a data radio coupled to the SCADA system acting as a base station, or access point, and other data radios coupled to the remote devices for transmitting telemetry data to the SCADA system and for receiving messages back for controlling their operations. In a typical installation, the access point handles communications with hundreds of remote data radios.

The data radios (also referred to as remote wireless terminals) access a shared wireless channel by using either a random access protocol or a centrally coordinated protocol or a combination of the two. Random access protocols generally achieve low latency under low traffic conditions but suffer long queue times (latency) and poor throughout under higher traffic conditions. Under typical high traffic conditions, throughput using a random access protocol is limited to approximately <NUM>% of the channel capacity.

Although centrally coordinated access protocols theoretically achieve near <NUM>% of the channel capacity, the access point must have knowledge of when the radios are ready with data to transmit. In remote SCADA and telemetry networks, however, only a subset of radios may be ready with data at any given time and the access point is generally unaware which of the radios are actually ready. This situation leads to significantly lower throughput of about <NUM>%, which is comparable to random access protocols. <NPL>, discloses cognitive radio (CR) applied to enable devices to share primary channels with the aim of enhancing the transmission performance of the WirelessHART network. <NPL> fiscloses the relation between Wi-Fi Networks and machine learning models. <CIT> a computer-implemented method for reducing access contention in a wireless medium. <CIT> discloses a method affecting the contention window of access points based on system load to improve performance in a dense Wi-Fi deployment.

Aspects of the present disclosure manage remote terminal communications in remote SCADA and telemetry networks and the like by enabling an access point of a private data radio network to predict which remote data radios are ready to transmit data and when. In turn, this enables a centrally coordinated access protocol to achieve its full potential resulting in high throughput and servicing more remote data radios per access point than traditional access protocols.

In an aspect, a method of managing communications in a SCADA system comprises establishing communication between a plurality of remote industrial assets and a SCADA server of the SCADA system via a private data radio network. The SCADA server is configured for monitoring telemetry data from the industrial assets and providing supervisory control. The private data radio network comprises a plurality of data radios, one of which is an access point. The method further comprises executing reinforced machine learning on messages transmitted between the data radios and the access point. The machine learning includes processing header data of a training set of the messages from the access point to the data radios to learn which of the header data correlates to soliciting a response from the data radios and learning response time delays of the data radios for retrieving the telemetry data from the at least one of the industrial assets associated therewith in response to the training set of the messages. The method also includes inspecting header data of the messages transmitted by the access point to predict a set of solicitation messages from which the data radios are being solicited for responses and corresponding response time delays and generating a coordinated access protocol for communicating the responses to the predicted solicitation messages from the data radios to the access point based on which of the data radios are being solicited for responses and the predicted response time delays corresponding thereto.

In another aspect, an automation system includes a plurality of remote industrial assets and a SCADA system configured for monitoring telemetry data from the industrial assets and providing supervisory control. The system also includes a private data network configured for communication between the industrial assets and a SCADA server of the SCADA system. The private data radio network comprises a plurality of data radios, one of which is an access point that includes a coordinated access processor. A memory device stores computer-executable instructions that, when executed by the coordinated access processor, configure the coordinated access processor for executing reinforced machine learning on messages transmitted between the data radios and the access point. The machine learning includes processing header data of a training set of the messages from the access point to the data radios to learn which of the header data correlates to soliciting a response from the data radios, learning response time delays of the data radios for retrieving the telemetry data from the at least one of the industrial assets associated therewith in response to the training set of the messages, and inspecting header data of the messages transmitted by the access point to predict a set of solicitation messages from which the data radios are being solicited for responses and corresponding response time delays. The computer-executable instructions, when executed by the coordinated access processor, further configure the coordinated access processor for generating a coordinated access protocol for communicating the responses to the predicted solicitation messages from the data radios to the access point based on which of the data radios are being solicited for responses and the predicted response time delays corresponding thereto.

In yet another aspect, a method for managing remote terminal communications in remote SCADA and telemetry networks comprises transmitting solicitation messages to a plurality of remote data radios using a centrally coordinated wireless access point. The method further includes processing header data of multiple messages received from the remote data radios using a solicitation detection device to learn which of the header data in the received messages correlates with a response being generated by the data radios in response to the solicitation messages, and which of the header data correlates with other types of messages received from the data radios. In addition, the method comprises learning the time delay of the data radios to generate the response to the solicitation messages, inspecting packets transmitted by the centrally coordinated wireless access point to predict which of the data radios are currently ready with a response to transmit based on or using information associated with the learned time delay, and using information associated with the predictions to efficiently allocate time on the shared wireless channels to the data radios that are currently ready with the response. In this manner, the method increases the throughput limits of the channels and reduces latency.

Other objects and features of the present disclosure will be in part apparent and in part pointed out herein.

Corresponding reference numbers indicate corresponding parts throughout the drawings.

Referring to <FIG>, an automation system is generally indicated <NUM>. <FIG> is a block diagram of the system <NUM> according to another embodiment. The automation system <NUM> includes a Supervisory Control and Data Acquisition (SCADA) system <NUM> communicating with one or more industrial assets, generally indicated <NUM>. In the illustrated embodiment, the industrial assets <NUM> include one or more industrial control and monitoring devices, such as a remote terminal unit (RTU) <NUM>, a programmable logic controller (PLC) <NUM>, and/or a peripheral, such as a multivariable transmitter (MVT) <NUM> or sensor <NUM>. Other peripherals include actuators, variable frequency drives, motor controllers, pressure transmitters, Coriolis meters, magnetic flow meters, etc. (not shown). In another embodiment, asset <NUM> comprises a computing device.

The SCADA system <NUM> of <FIG> is coupled to a remote substation <NUM> via a communications network, such as a private data radio network and/or a cellular telephone network. In the illustrated embodiment, the remote substation <NUM> and the SCADA system <NUM> communicate with each other via a private data radio network, which including a plurality of remote radios <NUM> associated with one or more remote substations <NUM> and a base station, or access point, <NUM> associated with SCADA system <NUM>. The substation <NUM> typically includes a number of peripherals and at least one RTU <NUM> for data acquisition from substation <NUM> and/or from SCADA system <NUM>. The RTU <NUM> transmits telemetry data to SCADA system <NUM> and receives messages back for controlling connected physical objects of remote substation <NUM>. In addition to the RTU <NUM>, peripherals, and other components of remote substation <NUM>, the SCADA system <NUM> communicates with at least one PLC <NUM>. In a SCADA-based control system, PLC <NUM> is connected to, for example, a sensor <NUM> for collecting the sensor output signals and converting the signals into digital data. The SCADA system <NUM> may also communicate with a multi-variable transmitter, such as MVT <NUM>, which is used to measure flow, differential pressure, temperature, pressure, or the like. The various assets <NUM>, including RTU <NUM>, PLC <NUM>, MVT <NUM>, and/or sensor <NUM>, communicate with SCADA system <NUM> according to different protocols (e.g., DNP3, Modbus, IEC-<NUM>). The automation system <NUM>, including data radios <NUM>, may be an electrical grid automation system, a water grid network monitoring system, or the like.

According to aspects of the present disclosure, a centrally coordinated wireless access protocol employs machine learning to predict which data radios <NUM> will respond to messages, which allows access point <NUM> to efficiently allocate channel time to the data radios <NUM> that are ready and waiting to transmit data. As described in greater detail below, the access point <NUM> comprises a processor coupled to a memory device storing computer-executable instructions, including reinforced machine learning algorithms. The processor and associated computer-executable instructions are indicated ML_Device <NUM> in <FIG>. When executed, these instructions configure ML_Device <NUM> to coordinate time on the channel for selected radios <NUM> to transmit their data. Suitable data radios for use as remote radio <NUM> and/or access point <NUM> are Trio licensed Ethernet and serial data radios available from Schneider Electric. These licensed UHF data radios provide serial and Ethernet connectivity for long range wireless data communications in a wide range of SCADA and telemetry applications.

As shown in <FIG>, SCADA system <NUM> operates in conjunction with a human-machine interface (HMI) <NUM>. The HMI <NUM> is an input-output device that presents process information to a human operator. The SCADA system <NUM> links to HMI <NUM> for providing maintenance procedures, detailed schematics, logistic information, trend data, diagnostic data, configuration data transfer, and the like for a specific sensor or machine. In an embodiment, HMI <NUM> comprises a personal computer, smartphone, tablet, touchscreen HMI device, or the like. Although illustrated in a control room remotely from the various industrial assets <NUM>, it is to be understood that HMI <NUM> could be hosted on the device itself.

As described above, industrial automation systems, such as system <NUM>, typically include many industrial assets <NUM> executing many applications. For the sake of convenience, however, the description below refers to an example in which the industrial asset <NUM> is RTU <NUM> of SCADA system <NUM>.

In an embodiment, the RTU <NUM> is used as a control device. A communication bus provides communication for the complete substation <NUM> and all parts of the substation are accordingly connected thereto, whether directly or indirectly. The RTU <NUM> is configured to be connected to a computer (e.g., a personal computer, desktop, laptop, workstation machine, etc.) of SCADA system <NUM> to access and control settings and parameters as well as a real-time database.

The RTU <NUM> is well-suited for use in oil and gas environments, such as upstream oil and gas production, including gas well heads, oil extraction, and multi-well shale gas well pads. Additional customer use cases in the oil and gas segment include energy optimization, asset age prolongation, production optimization, and 'cradle-to-grave' operation with the same equipment to allow changes in extraction technique using the same control system equipment. Oil and gas segment use cases also include: management of control system and IT equipment, including security configurations, and deployment of trusted application content; and midstream gas transportation including compressor stations and multiple geographies. The functions of RTU <NUM> in an oil and gas application include: tank monitoring and automation; well test automation; Emergency Shut-Down (ESD) at well heads; well production and optimization; and measurement.

In an oil and gas environment, for example, substation <NUM> is located at a well site to gather data about various aspects of the well site for monitoring and tracking purposes. The substation <NUM>, which acts as a control unit, includes RTU <NUM> for collecting data on pump motor operation (e.g., motor speed and load). A variable speed drive motor controller, for example, generates this motor data. The RTU <NUM> also collects measurements from various wireless and wired field sensors around the well site. These field sensors include a proximity sensor mounted near the crank arm of a rod pump assembly and a load cell mounted between the bridle and polished rod of the rod pump assembly. From this data, RTU <NUM> can determine the tension or load (vertical axis) on the rod versus the displacement (horizontal axis) of the rod per stroke or pump cycle (i.e., upward and downward movement). Other data collected by RTU <NUM> from the field sensors may include fluid flow rate, temperature, pressure, and the like.

In an embodiment, RTU <NUM> is also well-suited for use in the water/wastewater segment, including critical infrastructure pumping stations. Additional customer use cases in the water and wastewater segment include energy optimization for critical infrastructure pumping stations and management of control system and IT equipment including security configurations, and deployment of trusted application content. Examples of water and wastewater functions of RTU <NUM> include: pump/lift stations; leakage detection; equipment monitoring and control; water quality monitoring; irrigation; managing a District Metering Area (DMA) and/or Pressure Monitoring Area (PMS); and monitoring flow, level, pressure, temperature, etc..

Another use case for the RTU <NUM> embodying aspects of the present disclosure involves electrical applications such as wind, solar, transformer stations, etc. Diversification of energy production resources require utility operators to manage a much wider portfolio of assets. Moreover, assets such as wind turbines and solar cells are often located in harsh, remote environments. In an embodiment, RTU <NUM> monitors active and reactive power, phase voltage, connection status of switches, and the like.

Yet another use case for the RTU <NUM> embodying aspects of the present disclosure involves autonomous, remotely located assets <NUM>, including critical infrastructure assets, where high control system, monitoring, and reporting availability as well as data analytics associated with control systems, asset performance, and custom application features are requested.

Referring further to <FIG>, in an embodiment, access point <NUM> comprises a processor that executes reinforced machine learning algorithms, indicated ML_Device <NUM>. Aspects of the present disclosure use the reinforced machine learning algorithms of ML_Device <NUM> implemented within access point <NUM> (i.e., a central wireless coordinator) to predict whether remote data radios <NUM> will respond to messages from access point <NUM> and, if so, when remote data radios <NUM> will become ready with data to transmit (i.e., what is the predicted response delay). In other words, ML_Device <NUM> of the access point <NUM> radio attempts to predict if a message sent over the air to the remote site, i.e., remote substation <NUM>, will solicit a response from any device (e.g., RTU <NUM>, PLC <NUM>, sensor <NUM>) that is connected to the remote data radio <NUM> or from the remote data radio <NUM> itself (e.g., Simple Network Management Protocol is implemented in the remote data radio).

For training its predictive model, ML_Device <NUM> observes if a response is solicited and the actual delay to generate the response. Depending on the actual behavior matching the predicted behavior, the ML_Device <NUM> adjust the bias in the state-behavior mapping table (reinforced learning) to improve the accuracy of its predictive model. The remote radio <NUM> measures and reports the actual delay for the RTU <NUM> to generate a response, which is shared with the ML_Device <NUM> of access point <NUM> when the response is delivered up to the access point <NUM>. Based on the predictions, access point <NUM> subsequently coordinates time on the channel for selected radios <NUM> to transmit their data.

To determine if a response is solicited, ML_Device <NUM> inspects flags within the packet headers of messages from access point <NUM> to remote data radios <NUM>. The messages may be formatted according to any of a number of known protocols (e.g., ICMP, TCP, DNP3, Modbus/TCP) but ML_Device <NUM> learns which flags in the headers correlate with a response being generated by the data radios <NUM>. In this manner, ML_Device <NUM> detects response solicitations. Once the packet headers' flags have been determined to solicit responses, the time delays of the data radios <NUM> to generate the responses are also learned. In this manner, the reinforced machine learning algorithms of ML_Device <NUM> implemented within access point <NUM> can generate a prediction of when a particular data radio <NUM> will become ready with data to transmit after being solicited for data from a central computer (i.e., a SCADA server) of SCADA system <NUM> via access point <NUM>.

<FIG> and <FIG> illustrate an example header for a communication within the system <NUM>. In this example, a message header <NUM> is formatted according to the DNP3 protocol transported over the TCP protocol and a value 0x01 at offset 0x42 indicates a read command <NUM>, which will solicit a response from RTU <NUM> when the DNP3/TCP protocol is in use, in this example. In turn, ML_Device <NUM> detects the response solicitation for training the predictive model. Once the solicitation and time delay attributes have been learned and ML_Device <NUM> has trained the predictive model, ML_Device <NUM> inspects packets transmitted by access point <NUM> and predicts which data radios <NUM> are currently ready with a response to transmit. In general, the message packets are integrated such that solicitation requests cannot be discerned from simply examining the packet. The access point <NUM> then uses the predictions of the ML_Device <NUM> to efficiently allocate time on the channel to data radios <NUM> that are currently ready, increasing the throughput limits of the channel and reducing latency.

The ML_Device <NUM> embodies a solicitation detection device configured to record header data of messages transmitted by access point <NUM> according to an embodiment. If a response is received from data radio <NUM>, the outbound message from access point <NUM> to data radio <NUM> is deemed a solicitation by the solicitation detection device. The solicitation detection device processes header data of multiple solicitation and non-solicitation messages to learn which header data, without regard to the protocol, indicates a solicitation message. Then, with each outbound message, access point <NUM> receives a prediction from the solicitation detection device indicating whether a particular message is a solicitation. For each solicitation message, the response delay estimate for the message represents a deadline after which the response will be ready in the data radio <NUM>. This information permits access point <NUM> to implement a centrally coordinated wireless access protocol (e.g., preemptive polling) that efficiently allocates channel time to the solicited data radios <NUM>. With each response received by the centrally coordinated wireless access protocol, the actual time for the data radio <NUM> to become ready is input to the response delay estimate, which permits ML_Device <NUM> to update its model to improve prediction accuracy.

As ML_Device <NUM> continues to learn and predict with some accuracy which/when remote radios <NUM> have responses to deliver, the remote radios <NUM> utilize coordinated channel access orchestrated by the base station radio of access point <NUM>. In an embodiment, the centrally coordinated wireless access protocol resorts to a random access mode to deliver responses from remote radios <NUM> to the base station radio, i.e., access point <NUM>, so long as access point <NUM> does not preemptively allocate time/bandwidth to the remote radio on time (which is typical in an 'untrained' state).

Although described in the context of a SCADA environment, it is to be understood that aspects of the present disclosure are applicable to other polled systems in which responses are solicited from a base station.

Embodiments of the present disclosure may comprise a special purpose computer including a variety of computer hardware, as described in greater detail herein.

For purposes of illustration, programs and other executable program components may be shown as discrete blocks. It is recognized, however, that such programs and components reside at various times in different storage components of a computing device, and are executed by a data processor(s) of the device.

Although described in connection with an example computing system environment, embodiments of the aspects of the invention are operational with other special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of any aspect of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the example operating environment. Examples of computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.

Embodiments of the aspects of the present disclosure may be described in the general context of data and/or processor-executable instructions, such as program modules, stored one or more tangible, non-transitory storage media and executed by one or more processors or other devices. Aspects of the present disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote storage media including memory storage devices.

In operation, processors, computers and/or servers may execute the processor-executable instructions (e.g., software, firmware, and/or hardware) such as those illustrated herein to implement aspects of the invention.

Embodiments may be implemented with processor-executable instructions. The processor-executable instructions may be organized into one or more processor-executable components or modules on a tangible processor readable storage medium. Also, embodiments may be implemented with any number and organization of such components or modules. For example, aspects of the present disclosure are not limited to the specific processor-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments may include different processor-executable instructions or components having more or less functionality than illustrated and described herein.

The order of execution or performance of the operations in accordance with aspects of the present disclosure illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of the invention.

When introducing elements of the invention or embodiments thereof, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of the elements.

Not all of the depicted components illustrated or described may be required. In addition, some implementations and embodiments may include additional components. Variations in the arrangement and type of the components may be made. Additional, different or fewer components may be provided and components may be combined. Alternatively, or in addition, a component may be implemented by several components.

The above description illustrates embodiments by way of example and not by way of limitation. This description enables one skilled in the art to make and use aspects of the invention, and describes several embodiments, adaptations, variations, alternatives and uses of the aspects of the invention, including what is presently believed to be the best mode of carrying out the aspects of the invention. Additionally, it is to be understood that the aspects of the invention are not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The aspects of the invention are capable of other embodiments and of being practiced or carried out in various ways. Also, it will be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.

It will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims. As various changes could be made in the above constructions and methods without departing from the scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.

In view of the above, it will be seen that several advantages of the aspects of the invention are achieved and other advantageous results attained.

Claim 1:
A method of managing communications in a Supervisory Control and Data Acquisition (SCADA) system (<NUM>), the SCADA system (<NUM>) comprising a SCADA server configured for monitoring telemetry data from a plurality of remote industrial assets (<NUM>) and providing supervisory control, the method comprising:
establishing communication between the industrial assets (<NUM>) and the SCADA server of the SCADA system (<NUM>) via a private data radio network (<NUM>), wherein the private data radio network (<NUM>) comprises a plurality of data radios (<NUM>), and wherein one of the data radios (<NUM>) comprises an access point (<NUM>);
executing, by the access point (<NUM>), reinforced machine learning on messages transmitted between the data radios (<NUM>) and the access point (<NUM>), wherein the machine learning includes:
processing header data of a training set of the messages from the access point (<NUM>) to the data radios (<NUM>) to learn which of the header data correlates to soliciting a response from the data radios (<NUM>);
learning response time delays of the data radios (<NUM>) for retrieving the telemetry data from the at least one of the industrial assets (<NUM>) associated therewith in response to the training set of the messages; and
inspecting header data of the messages transmitted by the access point (<NUM>) to predict a set of solicitation messages from which the data radios (<NUM>) are being solicited for responses and corresponding response time delays; and
generating, by the access point (<NUM>), a centrally coordinated access protocol for communicating the responses to the predicted solicitation messages from the data radios (<NUM>) to the access point (<NUM>) based on which of the data radios (<NUM>( are being solicited for responses and the predicted response time delays corresponding thereto, wherein generating the coordinated access protocol comprises efficiently allocating time on shared wireless channels between the data radios (<NUM>) and the access point (<NUM>).