METHOD FOR PREVENTING WINDUP IN PID CONTROLLERS EMPLOYING NONLINEAR GAIN
    2.
    发明公开
    METHOD FOR PREVENTING WINDUP IN PID CONTROLLERS EMPLOYING NONLINEAR GAIN 有权
    方法避WINDUP IN PID的控制器通过非线性增益

    公开(公告)号:EP1004060A1

    公开(公告)日:2000-05-31

    申请号:EP98942075.7

    申请日:1998-08-17

    申请人: Honeywell Inc.

    IPC分类号: G05B11/42 G05B5/01

    CPC分类号: G05B11/42 G05B5/01

    摘要: A method of preventing windup in a PID controller when using a nonlinear gain parameter is disclosed that is used in the PID controller of a process control system. The PID controller is arranged to produce within a current execution cycle a Control Variable (CV) to a device that is controlling a process responsive to an input Process Variable (PV), a setpoint (SP), and a gain parameter (K). The present invention receives the PV, the SP, and the K and generates a proportional, integral, and derivative component of the deviation of the PV from the SP. The components so generated are used to calculate an incremental output CV for the current execution cycle. A current value of gain is next calculated by subtracting the value of the gain for the current cycle from the value of the gain from the previous cycle. Testing for a linear or nonlinear gain parameter is done next and, responsive to a nonlinear gain parameter, a nonlinear gain change component is calculated and added to the incremental output CV. An output CV is generate for the current execution cycle by adding the incremental ouput CV modified by the nonlinear gain change component to the CV value of the previous execution cycle. The accumulated sum of proportional, integral, and derivative components of previous execution cycles are updated with the proportional, integral, and derivative components generated by the current execution cycle. These accumulated values will be used in calculating the nonlinear gain change component in the next cycle. However, if the testing identifies a linear gain parameter, the nonlinear gain change calculation is skipped and the output CV is generated by adding the incremental output CV to the CV value of the previous execution cycle.