SMHCC – Sliding mode heating/cooling controller

Block SymbolLicensing group: ADVANCED
Qt SVG Document Exported by REXYGEN Studio sp pv hv MAN mv mve de SAT isv t_ukp t_ukm t_sk t_pv t_dpv t_d2pv SMHCC

Function Description
The sliding mode heating/cooling controller SMHCC is a novel high quality control algorithm intended for temperature control of heating-cooling (possibly asymmetrical) processes with ON-OFF heaters and/or ON-OFF coolers. The plastic extruder is a typical example of such process. However, it can also be applied to many similar cases, for example in thermal systems where a conventional thermostat is employed. To provide the proper control function the block SMHCC must be combined with the block PWM (Pulse Width Modulation) as depicted in the following figure.

d_smhcc Exported by REXYGEN Studio setpoint process_temperature hand_value MAN_AUT_switch heater_contactor cooler_contactor u UP DN PWM sp pv hv MAN mv mve de SAT isv t_ukp t_ukm t_sk t_pv t_dpv t_d2pv SMHCC d_smhcc

It is important to note that the block SMHCC works with several time periods. The first period TS is the sampling time of the process temperature, and this period is equal to the period with which the block SMHCC itself is executed. The second period TC = ipwmcTS is the control period with which the block SMHCC generates manipulated variable. This period TC is also equal to the cycle time of PWM block. At every instant when the manipulated variable mv is changed by SMHCC the PWM algorithm recalculates the width of the output pulse and starts a new PWM cycle. The time resolution TR of the PWM block is third time period involved with. This period is equal to the period with which the block PWM is run and generally may be different from TS. To achieve the high quality of control it is recommended to choose TS as minimal as possible (ipwmc as maximal as possible), the ratio TCTS as maximal as possible but TC should be sufficiently small with respect to the process dynamics. An example of reasonable values for an extruder temperature control is as follows:

TS = 0.1,ipwmc = 100,TC = 10s,TR = 0.01s.

The control law of the block SMHCC in automatic mode (MAN = off) is based on the discrete dynamic sliding mode control technique and special 3rd order filters for estimation of the first and second derivatives of the control error.

The first control stage, after a setpoint change or upset, is the reaching phase when the dynamic sliding variable

sk=ëk + 2ξΩėk + Ω2e k

is forced to zero. In the above definition of the sliding variable, ek ,ėk,ëk denote the filtered deviation error (pvsp) and its first and second derivatives in the control period k, respectively, and ξ, Ω are the control parameters described below. In the second phase, sk is hold at the zero value (the sliding phase) by the proper control "bangs". Here, the heating action is alternated by cooling action and vice versa rapidly. The amplitudes of control actions are adapted appropriately to guarantee sk = 0 approximately. Thus, the hypothetical continuous dynamic sliding variable

s=ë + 2ξΩė + Ω2e

is approximately equal to zero at any time. Therefore the control deviation behaves according to the second order differential equation

s=ë + 2ξΩė + Ω2e = 0

describing so called zero sliding dynamics. From it follows that the evolution of e can be prescribed by the parameters ξ and Ω. For stable behavior, it must hold ξ > 0 and Ω > 0. A typical optimal value of ξ ranges in the interval [0.1,8] and ξ about 6 is often a satisfactory value. The optimal value of Ω strongly depends on the controlled process. The slower processes the lower optimal Ω. The recommended value of Ω for start of tuning is π(5TC).

The manipulated variable mv usually ranges in the interval [1,1]. The positive (negative) value corresponds to heating (cooling). For example, mv = 1 means the full heating. The limits of mv can be reduced when needed by the controller parameters hilim_p and hilim_m. This reduction is probably necessary when the asymmetry between heating and cooling is significant. For example, if in the working zone the cooling is much more aggressive than heating, then these parameters should be set as hilim_p = 1 and hilim_m < 1. If we want to apply such limitation only in some time interval after a change of setpoint (during the transient response) then it is necessary to set initial value of the heating (cooling) action amplitude u0_p (u0_m) to the suitable value less than hilim_p (hilim_m). Otherwise set u0_p = hilim_p and u0_m = hilim_m.

The current amplitudes of heating and cooling uk_p, uk_m, respectively, are automatically adapted by the special algorithm to achieve so called quasi sliding mode, where the sign of sk alternately changes its value. In such a case the controller output isv alternates the values 1 and 1. The rate of adaptation of the heating (cooling) amplitude is given by the time constant taup (taum). Both of these time constants have to be sufficiently high to provide the proper function of adaptation but the fine tuning is not necessary. Note for completeness that the manipulated variable mv is determined from the action amplitudes uk_p, uk_m by the following expression

if(sk < 0.0)thenmv = t_ukpelsemv = t_ukm.

Further, it is important to note that quasi sliding is seldom achievable because of a process dead time or disturbances. The suitable indicator of the quality of sliding is again the output isv. If the extraordinary fine tuning is required then it may be tried to find the better value for the bandwidth parameter beta of derivative filter, otherwise the default value 0.1 is preferred.

In the manual mode (MAN = on) the controller input hv is (after limitation to the range [hilim_m,hilim_p]) copied to the manipulated variable mv. The controller output mve provides the equivalent amplitude-modulated value of the manipulated variable mv for informative purposes. The output mve is obtained by the first order filter with the time constant tauf applied to mv.

This block propagates the signal quality. More information can be found in the 1.4 section.

Input

sp

Setpoint variable

Double (F64)

pv

Process variable

Double (F64)

hv

Manual value

Double (F64)

MAN

Manual or automatic mode

Bool

off ..

Automatic mode

on ...

Manual mode

Parameter

ipwmc

PWM cycle (in sampling periods of the block)  100

Long (I32)

xi

Relative damping of sliding zero dynamics  1.0

Double (F64)

om

Natural frequency of sliding zero dynamics  0.01

Double (F64)

taup

Time constant for adaptation - heating [s]  700.0

Double (F64)

taum

Time constant for adaptation - cooling [s]  400.0

Double (F64)

beta

Bandwidth parameter of the derivative filter  0.01

Double (F64)

hilim_p

Upper limit of the heating action amplitude  1.0

Double (F64)

hilim_m

Upper limit of the cooling action amplitude  1.0

Double (F64)

u0_p

Initial amplitude - heating action  1.0

Double (F64)

u0_m

Initial amplitude - cooling action  1.0

Double (F64)

sp_dif

Setpoint difference threshold  10.0

Double (F64)

tauf

Equivalent manipulated variable filter time constant  400.0

Double (F64)

Output

mv

Manipulated variable (controller output)

Double (F64)

mve

Equivalent manipulated variable

Double (F64)

de

Deviation error

Double (F64)

SAT

Saturation flag

Bool

off ..

The controller implements a linear control law

on ...

The controller output is saturated

isv

Number of sliding variable steps

Long (I32)

t_ukp

Current amplitude of heating

Double (F64)

t_ukm

Current amplitude of cooling

Double (F64)

t_sk

Discrete dynamic sliding variable

Double (F64)

t_pv

Filtered process variable

Double (F64)

t_dpv

Filtered first derivative of process variable

Double (F64)

t_d2pv

Filtered second derivative of process variable

Double (F64)

2024 © REX Controls s.r.o., www.rexygen.com