Here is something to consider for the questions you asked:
- How to design practical saturation limit of PI control for speed control
The output of your speed loop's PI controller is a current command for Iq, or for both Id and Iq. Particularly for IPMSM, Id current command should always be negative (or 0). If you know the current constraint Ismax for your current loop, then a practical saturation limit for the speed loop's PI should be Iq: [-Ismax, Ismax]. Id: [-Ismax, 0].
- How to design practical saturation limit of PI control for id and iq control
The output of your current loop's PI is voltage reference Vd and Vq. If you are not using a per-unitized system, then the constraint for Vd and Vq depends on the PWM strategy you are adopting. For SVPWM, the linear maximum modulation voltage is calculated by Vdc/sqrt(3). Therefore the saturation limit for both current loop PI controllers should be [-Vdc/sqrt(3), Vdc/sqrt(3)].