Peter's response is for feedforward that is used for setpoint tracking, not feedforward that is used for disturbance rejection. That follows from his knowledge of motion control systems that are trying to track a changing setpoint.
For disturbance rejection in process control, i.e., regulating a variable to a constant setpoint, feedforward is used differently. Given a known output disturbance transfer function Gd(s) that relates the disturbance input to the controlled output variable, and a known plant transfer function Gp(s), the feedforward controller transfer function CFF(s) for disturbance rejection would be:
CFF(s) = -Gd(s)/Gp(s)
The measured disturbance is passed through this transfer function and the resulting signal is added to the output of the feedback controller to make the total control signal sent to the plant.
There are two methods typically used to find the CFF, both deriving from the above equation. If first-order transfer function approximations (without dead time) are known for the disturbance and the plant, the resulting controller is a lead-lag controller:
CFF(s) = [-Kd(τps+1)]/[-Kp(τds+1)]
The lead-lag function is available in most commercial controllers like PLCs or DCSs. However, for many people it's too complicated to find both transfer function models, so an approximation is used that just requires the steady-state gains to be known for the disturbance and plant functions:
CFF = -Kd/-Kp
This works fine for most applications, as the feedback controller will "trim" any remaining errors that the feedforward controller doesn't remove from disturbances.
xnuke
"Live and act within the limit of your knowledge and keep expanding it to the limit of your life." Ayn Rand, Atlas Shrugged.
Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.