Is a practice to monitor controller performance and determine the root causes
There are 3 main objectives of CPM, which is to report
A CPM tool will typically analyse a sample of data. The Sampled data quality is typically measured and shown as the following KPIs
A measure of the compression level in the tracking error (PV-SP).
If the compression level in the given dataset is very high, the data cannot be trusted and may not be suitable for analysis. The Compression Factor is calculated as follows:
Compression Factor = length of data / (length of data - length of compressed data)
The length of data is the overall length of the entire data to be analysed, including all the interpolated points
The Compressed data is the portion of data which has been compressed
This is actually a poor way of describing it. Since length of data – compressed data = uncompressed data, CF is actually the ratio of length of data to uncompressed data. Uncompressed data in this case is the raw data obtained. So in can actually be rewritten as
Compression Factor = length of data / raw data
Compression factor larger than 3 is generally seen as no good, i.e. if the raw data contributes less than 1/3 of the overall data.
We can also view compression factor is actually an expansion factor i.e. an expansion of the raw data
Compression Factor is always known to cause problems. Commonly, the PA is not executed. One of the reason is due to the pins not correctly assigned as in PV assigned to SP and etc. Checked carefully!
Auto – OP will change automatically to achieve SP
Manual - OP changes manually, SP ignored
Manual Tracking – OP changes manually, SP ignored, But SP will change to be equal to PV so that when controller changes from Manual to Auto, there will not be a bump in the process
The KPIs are typically segregated by their analysis type
Performance analysis is an analysis done through use of process models which involves complex Fourier transform calculations. Since it is a ‘Performance’ analysis, It must benchmark against a good performance
Benchmarking Parameters are typically set by the following parameters
Benchmark response level
The border definition for the settling time to be considered as stable in percentage. For example, if benchmark response level is 5%, this means that if the oscillation is less than 5%, the loop is considered settled
Defined as the time it takes for the controller to stabilize at it’s set point < the benchmark response level in oscillations
Autocorrelation (Displayed as a graph)
Determines how much a particular PV correlates with it’s past values
A good controller will have less correlation
Frequency Response (Displayed as a graph)
Displays the response at different frequencies
Typical analysis is to look at peaks which indicates oscillations
Peaks at low frequency indicates detuned controller
Peaks at high frequency indicated over tuned controller
This is a good controller as it matches the benchmark
Impulse Response (Displayed as a graph)
Displays how fast a controller reaches it settling time. It is actually the same thing as frequency response but instead of showing it in the frequency domain, it shows it in the time domain
CPM software will need to model the process response to obtain this parameter
Typical Analysis that can be done
Measuring rise time
Measuring settling time
If the graph rises forever, or decays so slowly that it never reaches 0 – loop in manual, or controller saturated
If the graph rises, then dying oscillations – usually an oscillatory disturbance. Possibly oscillations brought on by too much integral action
Exponential decay from 1.0 to 0.0 – that’s what you want
Graph Immediately drops from 1 to some value above 0, then slow dynamics
in a slow loop – loop has significant measurement noise.
in a fast loop – not enough control action
Oscillations close to 0 in an otherwise fast loop – valve stiction
The red color is the benchmark impulse response, which a user defined in the benchmarking parameters
In this example, the impulse response is bad. The settling time is 11 min in comparison to 2 mins of actual benchmark time.
Relative Performance Index (RPI)
Is measured by taking the squared area under the curve of the closed loop response benchmark divide by the actual performance
If the Actual performance is taking longer to settle than the benchmark, the value will be < 1, this indicates a poor performing controller
If RPI = 1, this indicates a good control
If RPI > 1, this indicates that the actual is better than the benchmark. This can typically mean that the benchmark time was set too loose.
Economic Benefit Index
The economic benefit measures how much potential benefit the controller has to realize if it’s working at the benchmark level. (In a way, it’s actually economic lost)
It’s measured as
If RPI < 1, EB = 1 – RPI
If RPI > 1 ,EB = 1 – (1/RPI)
One question one would ask, is how come if the RPI is higher, the EB gets higher as well? The reason is because EB sets a penalty for setting the benchmark time higher than expected.
Is used to calculate Oscillation Index
A value between 0 to 1 which measures closer to 1 for higher oscillations
Is calculated by performing autocorrelation by itself and taken as the amplitude of the first overshoot in impulse response
Is used to calculate the following
One of the key thing in any condition monitoring tool is how data is processed before analyser
Any condition monitoring tool will obtain a sample from a process, typically obtained from a historian or OPC server
Reasons why data preparation is needed are as follows :-
Missing or bad data
Data is out of bounds
Data needs to be linearized (e.g. using log linearization for pH or O2 analyser)
Dynamic CPM tools such as Matrikon CPM will provide 2 expression fields for a user for each tags, they are
The Evaluation Expression Field
An expression executed on each points
Will return either true or false
The Replacement Expression Field
An expression that executes when the evaluation field is returned as true
The expressions are typically written in a programming style language. Predefined variables are used to refer to certain point of data. The table below is an example from Matrikon CPM. As can be seen, Matrikon uses last_good, point and next_good
CPM Programs will analyse controllers by their control scheme. Typical Control Schemes are:-
No matter what the controller scheme is, A controller is a controller. It will always try to control PV at a SP by manipulating OP (or MV). The only thing that differs between controller schemes is the when and when not to analyse the control. For example,
In a selective control scheme, we mat not want to run analysis on the controller if it is not selected.
In a cascade control scheme
In Matrikon CPM, when and when not to perform an analysis is manipulated in the controller mode.
Ratio blocks for ratio controllers need not be analysed as it is just a simple multiplier. The controller is the one that can be analysed
Open-Plant is a revolutionary Industrial IOT Platform software, used to create and deploy Industrial IT apps/solutions. It is an all-encompassing solution offering both back-end and front-end components i.e. the full stack. From our user's experience, creating and deploying Industrial IT apps became 10x faster and 10x less cost. We serve the mining, energy, oil & gas, construction and manufacturing industry.