TMS320F28027: pi resist saturation

Part Number: TMS320F28027
Other Parts Discussed in Thread: MOTORWARE

D:\ti\motorware\motorware_1_01_00_18\sw\solutions\instaspin_foc\boards\boostxldrv8305_revA\f28x\f2802xF\projects\ccs\proj_lab10a  

     CTRL_setup_user(ctrlHandle,
                      angle_pu,
                      speed_ref_pu,
                      speed_pu,
                      speed_outMax_pu,
                      &Idq_offset_pu,
                      &Vdq_offset_pu,
                      flag_enableSpeedCtrl,
                      flag_enableCurrentCtrl);
      // run the appropriate controller
      if(ctrlState == CTRL_State_OnLine)//&&mcflagbit.Flag_enableSelfcheck == false && mcflagbit.Bee_test_flag == false)//20240307
      {
        // run the online controller
        CTRL_runPiOnly(ctrlHandle); //,&gAdcData,&gPwmData);

        // get the controller output
        CTRL_getVdq_out_pu(ctrlHandle,&Vdq_out_pu);

 

Hello, when the other main chip is driving the motor without load, if the command is much higher than the maximum rotational speed that the motor can reach with its current voltage, the reference iq will continuously increase until it reaches the set maximum value. As a result, when a deceleration command is given at this time, it takes some time to complete the deceleration action. However, in the code of TI, no matter whether it is changing the pi or setting the iq to a very large value, it can immediately decelerate. How is this achieved? How does pi resist saturation? Only this is seen. Vq_max = sqrt(Vmax² - Vd²)
Vq_output = sat(Vq_output, Vq_max)