Override Control With Pid_Temp - Siemens SIMATIC S7-1200 Function Manual

Pid control
Hide thumbs Also See for SIMATIC S7-1200:
Table of Contents

Advertisement

Using PID_Temp

6.6 Override control with PID_Temp

6.6
Override control with PID_Temp
Override control
In case of override control, two or more controllers share one actuator. Only one controller
has access to the actuator at any time and influences the process.
A logic operation decides which controller has access to the actuator. This decision is often
made based on a comparison of the output values of all controllers, for example, in case of a
maximum selection, the controller with the largest output value gets access to the actuator.
The selection based on the output value requires that all controllers operate in automatic
mode. The controllers that do not have an effect on the actuator are updated. This is
necessary to prevent windup effects and their negative impacts on the control response and
the switchover between the controllers.
PID_Temp supports override controls as of version 1.1 by offering a simple process for
updating the controllers that are not active: By using the tags OverwriteInitialOutputValue
and PIDCtrl.PIDInit, you can pre-assign the integral action of the controller in automatic
mode as though the PID algorithm had calculated PidOutputSum =
OverwriteInititalOutputValue for the PID output value in the last cycle. To do this,
OverwriteInitialOutputValue is interconnected with the PID output value of the controller that
currently has access to the actuator. By setting the bit PIDCtrl.PIDInit, you trigger the pre-
assignment of the integral action as well as the restart of the controller cycle and the PWM
period. The subsequent calculation of the PID output value in the current cycle takes place
based on the pre-assigned (and synchronized for all controllers) integral action as well as the
proportional action and integral action from the current control deviation. The derivative
action is not active during the call with PIDCtrl.PIDInit = TRUE and therefore does not
contribute to the output value.
This procedure ensures that the calculation of the current PID output value and thus the
decision on which controller is to have access to the actuator is only based on the current
process state and the PI parameters. Windup effects for controllers that are not active and
thus incorrect decisions of the switchover logic are prevented.
Requirement
● PIDCtrl.PIDInit is only effective if the integral action is activated (tags
Retain.CtrlParams.Heat.Ti and Retain.CtrlParams.Cool.Ti > 0.0).
● You must assign PIDCtrl.PIDInit and OverwriteInitialOutputValue in your user program
yourself (see example below). PID_Temp does not automatically change these tags.
● PIDCtrl.PIDInit is only effective when PID_Temp is in automatic mode (parameter State =
3).
● If possible, select the sampling time of the PID algorithm ( Retain.CtrlParams.Heat.Cycle
and Retain.CtrlParams.Cool.Cycle tags) so that it is identical for all controllers, and call all
controllers in the same cyclic interrupt OB. In this way, you ensure that the switchover
does not take place within a controller cycle or a PWM period.
202
Function Manual, 03/2017, A5E35300227-AC
PID control

Advertisement

Table of Contents
loading

This manual is also suitable for:

Simatic s7-1500

Table of Contents