not sure why my earlier post never showed, but I'll try again. I'm doing some work to control a pump that's the input to a pneumatic system. I developed a transfer function that defines the plant as the output pressure divided by the input pressure. I also developed a controller: PID&I (double integrator b/c of a zero at the origin). The pump of my system can not be adjusted to change the flow. It can only on or off. So, we've (my advisor and I) have decided to control the system by duty cycling the pump. To determine the length of the time the pump should be on, my advisor instructed me to rearrange my block diagram. Originally it was just a plant*controller with a step input and unity feedback: Original TF = PC/(1+PC) where P=plant and C=controller. The new block diagram for determining the length of time the pump should remain on is the controller in the feedforward path and the plant in the feedback so the new TF New TF = C/(1+CP). I believe this TF is the pressure after the controller divided by the input pressure. My adviors expects the result to be an s-shaped curve where the initial slope is zero, the function ramps to 1. and the final slope of the function is zero. I however do not get this. I get just a ramp. Does anyone understand this approach? Is it possible that there's a different way to do this?