Embedded prognostics on PLC platforms for equipment condition monitoring, diagnosis and time-to-failure/service prediction
First Claim
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.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
14 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
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.
-
Specification