hello world!

Controller Performance Monitoring

  • Is a practice to monitor controller performance and determine the root causes
  • There are 3 main objectives of CPM, which is to report
    • Controller Utilization
    • Controller Performance
    • Controller Diagnostic
  • A CPM tool will typically analyse a sample of data. The Sampled data quality is typically measured and shown as the following KPIs
    • Compression Factor
    • 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!
  • Controller Mode
    • 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
    • Controller Behavior Analysis (Controller Utilization Analysis)
      • Service Factor
        • %Time controller is in auto or manual
      • Output Saturation
        • %Time the controller output is saturated (<0% or >100%)
        • A good controller does not have output saturations
    • Performance Analysis (Controller Performance Analysis)
      • 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
          • Settling time
            • 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)
          • Hardly used
          • 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
            • clip_image002[15]
            • 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
            • Fast oscillations – over tuned
          • Diagram below shows Matrikon CPM’s closed loop impulse response plot
            • 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.
            • clip_image004[15]
        • 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.
          • clip_image006[15]
      • Oscillation Analysis
        • Is used to calculate Oscillation Index
        • 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
      • Valve Analysis
        • Is used to calculate the following
          • Non-linearity Index
          • Stiction
    • Data Preparation
      • 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
        •  clip_image008[15]
    • CPM Programs will analyse controllers by their control scheme. Typical Control Schemes are:-
      • Normal PID
      • Cascade Control
      • Selective Control
    • 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. 

OPEN-PLANT PTY LTD

Perth, Australia

EMAIL

info@open-plant.com