Technology instructions
10.2 PID control
S7-1200 Programmable controller
614 System Manual, V4.2, 09/2016, A5E02486680-AK
Operation of the PID_Temp controller
Selecting heating and/or cooling control
You must first select if you need a cooling device in addition to the heating output at
parameter "ActivateCooling". Afterwards, you must define if you want to use two PID-
parameter-sets (advanced mode) or only one PID-parameter-set with an additional
heating/cooling-factor at parameter "AdvancedCooling".
In case you want to apply a heating/cooling-factor, you must define the value manually. You
have to identify the value from the technical data of your application (ratio of proportional
gain of the actuators (for example, the ratio of maximum heating- and cooling-power of the
actuators) and assign it to parameter "CoolFactor". A heating/cooling-factor of 2.0 means
that the heating device is two times more effective than the cooling device. If you use cooling
factor, PID_Temp calculates the output signal and, depending on its sign, multiply the output
signal with the heating/cooling-factor (when sign is negative) or not (when sign is positive).
Using two PID-parameter-sets
Different PID-parameter-sets for heating and cooling can be automatically detected during
commissioning. You can expect a better control performance compared to heating/cooling-
factor because, in addition to different proportional gains, you can consider different delay
times with two parameters-sets. However, the disadvantage is that this can take more time
for the tuning process. If PID-parameter switchover is activated (Config.AdvancedCooling =
TRUE), the PID_Temp controller detects in "Automatic mode" (controlling is active) if heating
or cooling is necessary at that time and uses PID-parameter-sets for control.
With the PID_Temp controller, you can define a control zone for each parameter-set at
parameter "ControlZone". If the control deviation (setpoint – input) is within the control zone,
PID_Temp uses the PID-algorithm to calculate the output signals. However, if the control
deviation leaves the defined range, the output is set to the maximum heating or maximum
cooling output value (cooling output activated) / minimum heating output value (cooling
output deactivated). You can use this functionality to reach the desired setpoint faster,
especially for initial heating-up of slow temperature processes.
In the "DeadZone" parameter, you can define a width of control deviation for heating and
cooling that is neglected by the PID-algorithm. This means a control deviation within this
range is suppressed, and the PID_Temp controller behaves like the setpoint and process
values are identical. Thus, you can reduce unnecessary intervention by the controller around
the setpoint and conserve the actuator. If you want to apply a DeadZone, you must define
the value manually. Auto tuning does not automatically set the DeadZone value. DeadZone
is symmetric (between -Retain.CtrlParams.Heat.DeadZone and
+Retain.CtrlParams.Heat.DeadZone) for heating controllers without cooling or
heating/cooling controllers using CoolFactor. DeadZone can be asymmetric (between -
Retain.CtrlParams.Cool.DeadZone and +Retain.CtrlParams.Heat.DeadZone) for
heating/cooling controllers using two PID-parameter sets.