Bumpless operating mode switchover
Original instructions
Method of switching over
Bumpless on/off switching of the various components (P, I, D) is implemented.
Bumpless switching with connected I component
If the P component is connected/disconnected, the internal I component will be corrected by the P component. This way, the connection/disconnection of the P component is bumpless even if the system deviation is not 0.
If the D component is disconnected, the internal I component takes over the remaining D component. If the D component is connected, it is set to 0.
Bumpless switching for disconnected D component
Bumpless switching for a disconnected D component is only implemented if parameter bump = 0. In this case, the OFF parameter is used to achieve the bumpless switchover.
If the P component is connected/disconnected, the value in the OFF parameter is corrected by the P component. This way, the connection/disconnection of the P component is bumpless even if the system deviation is not 0.
If the D component is disconnected, the remaining D component is added to the OFF parameter value. If the D component is connected, it is set to 0 (OFF remains unchanged).
Bumpless I component switching
Bumpless I component disconnection is only performed if parameter bump = 0. In this case, the OFF parameter as well as the internal I component (YI) are used to make the bumpless switchover possible.
Bumpless switchover from a PI(D) to a P(D) controller
The principle consideration for bumpless switching from a PI(D) to P(D) controller is based on the assumption that the PI(D) controller has reached a static condition. In this case, the process is in an idle state. The I component has a specific value in this case. To allow a bumpless switch to P(D) operation now, the I contribution of the PI(D) controller would have to serve as the PD controller operating point (offset), thus allowing the switch to take place without equalization processes (new transient condition) taking place. Based on the above consideration, bumpless I component disconnection is implemented in such a way that the OFF parameter retrieves its value.
Value of the manipulated variable Y depending on en_i:
If...
Then...
en_i = 1
Y = YP + YI + YD + FEED_FWD
en_i = 0
Y = YP + OFF + YD + FEED_FWD
Starting up the I component
I component enabling is based on a similar consideration. The internal I component is set to the OFF parameter value. This allows the I component to be connected without giving rise to equalization processes.
NOTE: If the OFF parameter is calculated by a previous function block (EFB or DFB output, e.g. MOVE), the corrections for bumpless switching become ineffective (at the latest, when this function block is edited).
Example of a bumpless switchover of the D component
In order to achieve the bumpless P(D) controller switchover as well as OFF parameter modification by the user program, the following example can serve as a starting point.
In this example, the OFF parameter is set to the new_off variable value via a velocity limiter VLIM in ramp form using the velocity provided in pvlim.rate.
Note on the example
In this example, it is important to note the use of the off variable at the YMAN input of the VLIM as well as at the Y output of the VLIM, and the link of the output from VLIM to the OFF input of COMP_PID. The link between the Y output from VLIM and the OFF input from COMP_PID causes the VLIM function block to be processed prior to the COMP_PID function block (this is a prerequisite for proper operation). As long as the manual mode (mvlim.man = 1) is enabled in the VLIM, the manual value of the VLIM function block is transferred to the COMP_PID OFF parameter. The COMP_PID function block is now able to modify the content of the variable for bumpless handling. In the next cycle, this modified value is now available at the YMAN input of the VLIM function block. At an appropriate time, the manual mode in the VLIM function block can be disabled, and the function block drives up the value of the off variable in ramp form from its current value to that of new_off. In the example above, manual mode enabling is controlled in the function block OR. As long as COMP_PID has connected the I component (mkpid.en_i = 1), the VLIM function block remains in manual mode.
NOTE: If mkpid.en_i = 1, the OFF parameter from COMP_PID will not be included in the calculation of the COMP_PID output.
In the above example, the OR function block requires a second condition in order to change off to new_off: The variable change_off must be 1.
Bumpless alteration of gain
Modification of the proportional action coefficient gain is bumpless. As in the connection/disconnection of operating modes, this requires an internal correction to be carried out.
If the I component is connected (en_i = 1 and ti > 0), the internal I component will be corrected by the expected P component jump which is caused by the gain modification.
If the I component is disconnected, the value in the OFF parameter will be corrected by the expected P component jump, provided the parameter bump = 0. If bump = 1, OFF is not modified and a P(D) controller gain variation leads to equalization processes.