Controllers



Controller

Name

Description

Controller

Name

Description

 

PI-Controllers

The Proportional-Integral (PI) controller computes and transmits a controller output signal every timestep to the component (e.g., valve). The computed output from the PI algorithm is influenced by the controller tuning parameters and the controller error. For more info about the PI algorithm itself, please visit https://controlguru.com/integral-action-and-pi-control/

Parameters

  • Proportional band: the value of the proportional band determines how fast the system responds, whereas the value of the integral gain determines how fast the steady-state error is eliminated. When the value of these gains is larger, the control performance is better. However, large gains may lead to an oscillatory response and result in an unstable system.

  • Repeat time: provides a separate weight to the integral term of the PI algorithm, so the influence of integral action can be independently adjusted. It is in the denominator so smaller values provide a larger weight to (i.e. increase the influence of) the integral term. It has units of time so it is always positive.
    Warning: the proportional band and repeat time interact with each other and their influence must be balanced by the designer.

  • Setpoint configuration : see below

How to overrule/de-activate the output of a PI controller?

Suppose you have a PI controller, of which you want to use the output in certain operating conditions.
In other operating conditions, you want to disable or overrule this PI controller, and just close the valve.

Sometimes this is done like in the following example.
The output of the PI controller is multiplied with an overruling signal (see the yellow line).
If the value of the yellow line is zero, then the valve will close, regardless of the output of the PI controller.

This practice has a problem : Although the PI controller is successfully overruled, the PI controller itself will still continuously execute it’s “I action” and keep integrating the error over time. As soon as you re-use the output of the PI controller (by sending the signal ‘one’ on the yellow line), this might result in temporary unexpected and undesired behavior, like unstable or overshooting output values.

Therefore use the de-activation (and reset) control signal on the PI controller itself, that will de-activate the error integration.
This signal behaves like the activation on a pump : it is optional, and by default it is activated.

Modulating Room Controller

A Modulating Room Controller allows to increase or reduce the heating power to the actual required output and therefore allows efficient heating control and high comfort at the same time. It uses a PI control algorithm.

Parameters

  • Proportional band & repeat time : see PI Controller

  • Setpoint configuration : see below

  • Enable economizer / learning function : the room controller will 'remember' how much time it took in the past to heat the room, based on 1) the external temperature 2) the difference between room temperature and setpoint temperature. The room controller stores this data in a so called twodimensional matrix. Based on this historic data, the room controller will start heating / cooling towards the day setpoint, and that before the actual day setpoint starts (as defined in the setpoint configuration).

    Please see the economizer video for more information :

    More info on comfort analysis can be found here : Pareto calculations

On/Off Room Controller

The most common room controller is still the On/Off control via a relay. It allows a controller to request either none or full heating power.

Parameters

  • Trigger offset : when the room temperature exceeds the setpoint minus the trigger offset, the output is high. When the input exceeds the setpoint plus the trigger offset the output is low, and when the input is between the two levels, the output retains its value. This dual threshold action is called hysteresis.

  • Setpoint configuration : see below

Thermostatic Room Controller For Radiator Valve 

A thermostatic room controller for application on the Base Circuit "Radiator with Thermostatic Radiator Valve"

Parameters

  • Setpoint configuration : see below

Programmable Controller

Write your own algorithm using the programmable controller. 
You can use C-like syntax including :

  • assignment statements

  • if and if-else statements

  • switch statements

  • operators :

    • increment operators (++ and --)

    • unary operators (- and !) 

    • binary operators : power (^), multiply (*), modulo (%), divide (/), sum (+), min (-)

    • ternary operator (a = x ? b : x)  see https://www.freecodecamp.org/news/c-ternary-operator/

    • conditional operators (|| and &&)

    • comparison (<=', >=, >, <, ==, '!=)

    • mathematical functions :  exp, ln, sin, cos, sqrt, min, max

    • comments : single line (//) and multiline (/*...*/)

here is an example with code : example.txt

Setpoint configuration

You can define 4 types of setpoint profiles :

  1. continuous

  2. unimodal

  3. bimodal

  4. trimodal (see screenshot below)

The Exclude weekends option will set a permanent night during Saturdays and Sundays.

The optional Holiday period allows you to set a period for permanent night setpoint.

You can define a range for randomness on both the setpoints as on the start/end hours.
You can 'lock' the randomness so the same randomness is applied for each simulation, by setting the re-randomize parameter to 'NO' :

Control delay 

With the control delay up and down it is possible to insert the delay time of the valve actuator.