IP Library Granted Patent US 9,996,405
Granted Patent B2
US 9,996,405 · App. 14/391,268 · Granted Jun 12, 2018

Embedded prognostics on PLC platforms for equipment condition monitoring, diagnosis and time-to-failure/service prediction

Inventors: Linxia Liao (Mountain View, CA); Ertan Eligul (Bagcilar, TR); Zachery Edmondson (Los Angeles, CA)
Assignee: Siemens Corporation
G06F11/00G05B19/058
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,996,405
App. No.
14/391,268
Granted
Jun 12, 2018
Kind
B2
Abstract

A prognostics analysis software module is embedded in a programmable logic controller (PLC) software platform. During cycling of the PLC real-time operating program, data is read from sensors and written to a buffer only when the prognostics analysis software module is idle. The prognostics analysis software module is then activated by a system function block of the PLC software platform. Before determining any prognostic information, prediction models within the prognostics analysis software module are automatically trained using features extracted from the sensor data.

Claims (60)

1. A method for determining prognostic information for equipment controlled by a programmable logic controller, using a prognostics analysis program embedded in a software platform of the programmable logic controller, the method comprising:

determining whether the prognostics analysis program has an idle status;

only if the prognostics analysis program has an idle status, then, by the programmable logic controller during programmable logic controller real-time cycles, reading a predetermined number of data samples from a data acquisition device and writing the data samples to a buffer;

after writing the predetermined number of data samples to the buffer, activating, by a system function block of the programmable logic controller software platform, the prognostics analysis program to have an active status;

reading the data samples from the buffer into the prognostics analysis program;

identifying an operating condition of the equipment based on the data samples from the buffer;

based on the operating condition of the equipment, extracting a plurality of features from the data samples from the buffer;

determining whether a model corresponding to the identified operating condition has been trained;

if the model corresponding to the operating condition is not trained, then performing the following:

saving the extracted features into a data array containing data records accumulated from previous activations of the prognosis analysis program, each data record comprising features extracted during a single activation; and

only if a number of data records in the data array exceeds a threshold number of records, training the model using the data records;

using the trained model, determining the prognostic information based on the features;

providing the prognostic information of the trained model to a user to indicate a need for a maintenance operation on the equipment; and

after determining the prognostic information, setting the prognostics analysis program status to idle.

2. The method of claim 1 , further comprising:

before reading the predetermined number of data samples, determining that a data acquisition trigger is met.

3. The method of claim 2 , wherein the data acquisition trigger is that the equipment is operating.

4. The method of claim 1 , further comprising:

before reading the predetermined number of data samples, determining that a data acquisition trigger is not met;

in response to determining the data acquisition trigger is not met:

clearing the buffer; and

returning to determining whether the prognosis analysis program has an idle status.

5. The method of claim 4 , wherein the data acquisition trigger is that the equipment is operating.

6. The method of claim 1 , further comprising:

after reading the data samples from the data buffer to the prognosis analysis program, selecting a most stable window of the data samples for extracting the plurality of features.

7. The method of claim 1 , further comprising:

applying a fast Fourier transform to the window of the data samples to decompose a subject signal into component frequencies and amplitudes.

8. The method of claim 7 , wherein the features comprise band energies calculated within equally distributed frequency ranges along a fast Fourier transform spectrum.

9. The method of claim 1 , wherein the features comprise a wavelet packet transform representing a signal as a waveform having a finite length or a fast decaying oscillating characteristic.

10. The method of claim 9 , wherein the features further comprise energies calculated for all nodes at an end of a decomposition level.

11. The method of claim 1 , wherein the features comprise at least one time domain feature selected from the group consisting of: mean, standard deviation, root mean square and kurtosis.

12. The method of claim 1 , wherein determining the prognostic information based on the features further comprises using the features as an input to a self-organizing map.

13. A non-transitory computer-readable medium having stored thereon computer readable instructions for determining prognostic information for equipment controlled by a programmable logic controller, using a prognostics analysis program embedded in a software platform of the programmable logic controller, wherein execution of the computer readable instructions by a processor causes the processor to perform operations comprising:

determining whether the prognostics analysis program has an idle status;

only if the prognostics analysis program has an idle status, then, by the programmable logic controller during programmable logic controller real-time cycles, reading a predetermined number of data samples from a data acquisition device and writing the data samples to a buffer;

after writing the predetermined number of data samples to the buffer, activating, by a system function block of the programmable logic controller software platform, the prognostics analysis program to have an active status;

reading the data samples from the buffer into the prognostics analysis program;

identifying an operating condition of the equipment based on the data samples from the buffer;

based on the operating condition of the equipment, extracting a plurality of features from the data samples from the buffer;

determining whether a model corresponding to the identified operating condition has been trained;

only if the model corresponding to the operating condition is not trained, then performing the following:

saving the extracted features into a data array containing data records accumulated from previous activations of the prognosis analysis program, each data record comprising features extracted during a single activation; and

only if a number of data records in the data array exceeds a threshold number of records, training the model using the data records

using the trained model, determining the prognostic information based on the features;

providing the prognostic information of the trained model to a user to indicate a need for a maintenance operation on the equipment; and

after determining the prognostic information, setting the prognostics analysis program status to idle.

14. A programmable logic controller comprising data acquisition inputs, a prognosis analysis output, a processor and a non-transitory computer-readable medium having stored thereon computer readable instructions for determining prognostic information for equipment controlled by the programmable logic controller, wherein execution of the computer readable instructions by the processor causes the processor to perform operations comprising:

determining whether a prognostics analysis program embedded in a software platform of the programmable logic controller has an idle status;

only if the prognostics analysis program has an idle status, then, by the programmable logic controller during programmable logic controller real-time cycles, reading, by the data acquisition inputs, a predetermined number of data samples from a data acquisition device and writing the data samples to a buffer;

after writing the predetermined number of data samples to the buffer, activating, by a system function block of the programmable logic controller software platform, the prognostics analysis program to have an active status;

reading the data samples from the buffer into the prognostics analysis program;

identifying an operating condition of the equipment based on the data samples from the buffer;

based on the operating condition of the equipment, extracting a plurality of features from the data samples from the buffer;

determining whether a model corresponding to the identified operating condition has been trained;

only if the model corresponding to the operating condition is not trained, then performing the following:

saving the extracted features into a data array containing data records accumulated from previous activations of the prognosis analysis program, each data record comprising features extracted during a single activation; and

only if a number of data records in the data array exceeds a threshold number of records, training the model using the data records

using the trained model, determining the prognostic information based on the features;

providing the prognostic information of the trained model to a user to indicate a need for a maintenance operation on the equipment; and

after determining the prognostic information, setting the prognostics analysis program status to idle.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2023
From: SIEMENS CORPORATION
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 063681/0070 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2023
From: SIEMENS CORPORATION
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 063681/0116 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2017
From: EDMONDSON, ZACHERY
To: SIEMENS CORPORATION
Reel/Frame 042768/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2017
From: LIAO, LINXIA; ELIGUL, ERTAN
To: SIEMENS CORPORATION
Reel/Frame 042501/0550 →
Continuity (2)
Provisional Application 61623647 · Apr 13, 2012
Related Publication 20150073751A1 · Mar 12, 2015