Design Two-Degree-of-Freedom PID Controllers

Use the PID Tuner to tune two-degree-of-freedom PID Controller (2DOF) blocks to achieve both good setpoint tracking and good disturbance rejection.

About Two-Degree-of-Freedom PID Controllers

A two-degree-of-freedom PID compensator, commonly known as an ISA-PID compensator, is equivalent to a feedforward compensator and a feedback compensator, as shown in the following figure.

The feedforward compensator is PD and the feedback compensator is PID. In the PID Controller (2DOF) block, the setpoint weights b and c determine the strength of the proportional and derivative action in the feedforward compensator. See the PID Controller (2DOF) block reference page for more information.

Tuning Two-Degree-of-Freedom PID Controllers

The PID Tuner tunes the PID gains P, I, D, and N. The tuner does not automatically tune the setpoint weights b and c. However, you can use the PID Tuner to tune a two-degree-of-freedom PID controller by the following process:

  1. Use the PID Tuner to tune the PID gains P, I, D, and N to meet your disturbance rejection requirement.

    To tune this portion of the compensator, follow the procedure for tuning a one-degree-of-freedom PID compensator, as described in Analyze Design in PID Tuner. and Refine the Design. Focus on the disturbance rejection plot to make sure that the tuned controller meets your disturbance rejection requirements.

  2. After you have tuned the PID gains P, I, D, and N, update the PID Controller (2DOF) block with the tuned parameters. In the PID Tuner tab, click to update the Simulink® PID Controller block with the tuned PID parameters.

      Tip   To update PID block parameters automatically as you tune the controller in the PID Tuner, click Update Block and check Auto-update block.

  3. Adjust the setpoint weights b and c of the feedforward portion of the compensator to meet your setpoint tracking requirements as follows:

    In the PID Controller (2DOF) block dialog box, enter values for the setpoint weights b and c between 0 and 1.

    To reduce undesirable controller response to sudden changes in the reference signal (derivative kick), set c to 0. Typically, give b a value in the range 0-1. Smaller b values generally result in slower reference tracking. However, b and c values do not affect loop stability or disturbance rejection.

  4. Evaluate whether the compensator design meets your design requirements by viewing a simulation of the Simulink mode as described in Verify the PID Design in Your Simulink Model.

Related Examples

Was this topic helpful?