Delta V discrete PID algorithm (z-transform)

Dear all,

We have a control problem not solved for 30 years, because of the very fast and peculiar characteristics of our process. We can’t make any kind of disturbance test in this control loop, because of the risk of plant trip. In order to try to solve this problem we’ve made a process model, based on phenomenological modeling allowing us to test control strategies and different tuning parameters. This process model has very good fit to actual data and we tested some control strategies with standard discrete PID algorithm in Matlab, with encouraging results, when we adjust this control loop to run in 100 msec execution time

But, for our surprise, we could not reproduce the behavior of Delta V PID algorithm in Matlab. If we collect PV and SP data and try to apply PID algorithm we could not reproduce OUT data behavior. Since in Delta V  online manual there is not the discrete algorithm of PID function (difference equation), we used a standard trapezoidal discretization algorithm of the continuous PID algorithm shown in the Online manual, with no success. 

As the major DCS vendors supply the discrete PID algorithm of their systems,  we supposed Emerson could also supply Delta V PID discrete algorithm, but they said that they can´t give us this kind of information.

 So, even with a very good process model we can’t use it, because we can’t guarantee the tuning data are suitable to the real process response we need.

 Can you provide or recommend some reference of the discrete algorithm of Delta V (we are in version 12.3)? Or some implementation of it in Matlab?

 Thanks.

  • In reply to neilrbrown:

    The DeltaV PID block is a full-featured industrial PID, not the simple & generic PID supplied in MATLAB. If you continue trying to model the controls in MATLAB, at a minimum you should turn on the anti-windup feature in MATLAB and add the bumpless transfer logic recommended in the MATLAB Help.

    I suggest that the digital implementations printed by other control vendors are incomplete--showing only the basic PID and missing the alternate control structures, gain scheduling, and many other useful features of the modern controller. Asking for the full listing of that is like asking Microsoft for their source code whenever you make an MS-Excel spreadsheet.

    However, Neil's suggestion is more relevant since your plant DCS is DeltaV. DeltaV Simulate faithfully reproduces the features of all DeltaV blocks in my experience, and is very useful for a full loop simulation. So your new path should be to convert the MATLAB process model to a process model in DeltaV. As Andre pointed out, you can include the AI and AO blocks. Since your process model fits your plant data then I would hope the model already includes realistic behavior of the control valves and transmitters.

    You can do this on a DeltaV Simulate standalone workstation if you have such (for example, some plants have a separate network for operator training). However, if allowed, you can also do this on your regular DeltaV system by creating a new area and making sure that you don't connect to any real I/O.

    Emerson has a team of Control Performance specialists who frequently solve in a few hours the "difficult process" control problems that the plant struggled with for months or years. Emerson's EnTech Toolkit can model complex process dynamics and its controller library (among many makes and models) includes several useful features of DeltaV PID. So if you feel that an expert consultant might help you get to the solution faster, please contact your Emerson Local Business Partner or Field Sales Office.