How do you use the Weintek PID function block?

How do you use the Weintek PID function block?
none 0.0 0

I’ve just started using the Weintek PID function block in Codesys and would like to know if there is any example code that demonstrates how the FB is intended to be used. E.g. - 1) the Time Base is entered into the inputs, but should the FB be solved at the same interval? 2) What is the best method to prevent windup? 3) What’s the best way to use the I_MV (Accumulated Integral Value)? 4) This is very slow moving heating application (change in MV won’t cause a change in PV for 15-20 minutes.) I was going to try using the AutoTune feature. Will the AutoTune work with a slow moving PV?

I’ve already downloaded the Weintek Library User Manual and the PID chapter isn’t very useful.

Thanks!

Hi @donnedved25,

  1. The “Time Base” is entered into the inputs, but should the FB be solved at the same interval?
    The “Time Base” is defined as the “sampling time” it is not related to the amount time required for “Autotune” to determine the PID parameters.

  2. What is the best method to prevent windup?
    There are various methods described online, so you may choose a solution that best fits your application. In general, you may prevent Integral windup by either limiting the controller output, limiting the integral to produce feasible output, or by using external reset feedback.

  3. What’s the best way to use the I_MV (Accumulated Integral Value)?
    I am not sure how the developer of this function block intended for I_MV to be used, perhaps as a means to determine the accuracy of PID parameters in producing the target value since it represents the Accumulated Integral Value". Beyond this, there may not be any other applications for I_MV.

  4. This is very slow moving heating application (change in MV won’t cause a change in PV for 15-20 minutes.) I was going to try using the AutoTune feature. Will the AutoTune work with a slow moving PV?
    The documentation does not indicate a time limit for AutoTune and the “iR Application Oven Demo” available within the “Demo” projects post contains an example of our PID function block. I would also recommend that you review this tutorial: Link