• Not Answered

MPC to control oil viscosity by adding butane and diluent trim


We are currently trying to control our thermal oil sands blend by adding diluent and butane to get a viscosity of 380 cP.  The issue we are having is that the blend points are far upstream of the where the viscosity analyzer is.  (The analyzer is owned by the shipping company, and they send the signal to our DCS)  The dead time appears to be around 75 seconds.  The other issue we are having is that the viscosity of the tanks we are shipping from is not 100 percent constant, meaning with the diluent flow control valve in manual, you would expect the viscosity to be fairly stable but it does fluctuate somewhat.

The other issue we seem to be having is that when we increase our oil shipping flow rate, the amount of diluent we need to add changes and does not appear to be linear.  (More oil flow means we need more diluent trim, but the ratio is not linear)

I have been trying to build MPC models, but cannot get them to be accurate.  Even worse, when I try to verify the models by selecting all of the current data the accuracy goes out the window.

If anyone has any experience with MPC of this particualr or a similar application it would be appreciated!


1 Reply

  • Hi,
    For the first issue with delay of data from analyzer , there are different approaches but it's a typicall case of use the PID PLUS algorithm existing into FRSI OPtion of the PIDBlock
    This option is not well known but it was especially designed for measure having a big sampling time versus Control execution time . The sampling data is also characterized by square step response. That means you can't use derivate rate with classic PID algoritm ( derivate of a pulse is an infinite step); The PID PLUS allow you the Rate and Reset alogorithm PID to get robust answer over disturbances or setpoint change.
    To get more info on PID PUS have a look on DeltaV Bookonline, or search from you Guardian section support/document Search or call your Emerson Support.

    For the non linear flow rate issue, whatever the algorithm, you use,the control will not be robust. MPC is not exception because MPC use a linear model. If the multivariables approach to control you process is required ( I'm quite sure it's not the case) you have to use MPCPLUS controller which can use non linear Gain, but MPC plus is a very "BIG" algorithm not running into controllers but into application station. To be honest I thing it's a wrong way for you're case.

    A simple approach easy to implement is to linearize you signal into a bloc. (This very known principle is often done into Valve positionner)
    With a linearization block, the PID block will see a "fake" data linearized and will give a robust answer

    A simple way to linearize signal is to use the DeltaV Signal characterizer Betweeen Analog input and PV entry of PID , or between Analog output and PID Out ( the second case is more often use) . The approximative linearization with line segments if often enough for control. IF you want a very accurate linearization you can use a calc block with a polynomial equation ( a1X^n + a2 X n-1+...An where n is the number of points), to find the n Ax parameters you have to solve the matrice of n equation with n data, which is now easy to do with matrice resolution available on internet.

    As I don't know how to attach drawing in the forum you can contact me to send you more detail about these technics.
    I spent some nights on FPSO and I know how the day can be long, it's a great opportunity to improve control algorithm because you can find time to do it ;-)