Three-point-step controller
This block implements a PID-type controller with binary control output (three-point control) of a positioning drive without position feedback. It computes the switching points accounting for the program cycle time quantization.
When input X is open-ended or Tv is set to 0.0, the block works as a discontinuous PI controller. The X signal input is used in the derivation of the internal D-term; this avoids overdrive conditions at the control outputs caused by surges in the error signal at Xw via the D-term.
Sign reversal may be effected by choosing a negative gain at Kr.
The bit 3 of the Status byte HA is used to switch the controller into manual operation. If a manual fine-positioning forward-reverse capability is required, the corresponding forward and reverse signals should be fed into bit 1 and bit 0 of the same byte.
Signals
Name | I/O | Type(s) | Function |
---|---|---|---|
X | I | FLOAT | process variable value |
Xw | I | FLOAT | Error signal |
HA | I | BYTE | Manual/Auto control byte |
Kr | I | FLOAT | Proportional gain |
Tn | I | FLOAT | Integral time in [s] |
Tv | I | FLOAT | Derivative time in [s] |
TS | I | FLOAT | Full travel time in [s] |
Tmin | I | FLOAT | Minimal impulse length in [s] |
TVR | I | FLOAT | Commutation pause in [s] |
FNa | I | FLOAT | Stop error in [%] |
dY | O | FLOAT | Current internal position error |
Qauf | O | BIT | Forward direction drive signal |
Qzu | O | BIT | Reverse direction drive signal |
Parametrization
TS, Full travel time:
Time in [s] needed by the drive to travel from one extreme position to the other.
Tmin, Minimal impulse length:
The minimal duration of an impulse at Qauf or Qzu required to effect any drive movement, expressed in [s].
TVR, Commutation pause:
The pause time in [s] to allow a direction reversal between e.g. turning Qauf off and turning Qzu on.
FNa, Stop allowance:
To compute the internal turn-off points, this percentage is taken into account. Its use prevents low-frequency oscillations of the feedback control loop.
Comments
When using this function block, the quantization of the control signal will always result in a steady-state error. This should be "ironed out" with the aid of a dead band function block.