This doesn't solve the problem, I tried it. The X2^n function will still round to 0 or -1. The only way I've come up with to solve this is to remove the scaling function completely from the the P, I & D actions individually and apply it only at the control output, the cost is resolution.