OBJECTIVE
This technical information details the new PID cascade algorithm that can be selected within the OpenTherm page of the RegConfig Configurator.
CASCADE ALGORITHMS FOR HEATING AND COOLING
The following image shows, within the OpenTherm page of the RegConfig, the position of the System Cascade control Algorithm section (red) and the Buffer tank Compensation Temperature section (blue), closely related to the PID cascade algorithm:
The cascade algorithm can be of three types:
Parallel functioning: all OpenTherm generators enabled for heating and cooling are required to work simultaneously;
Power cascade: this control can be applied to those generators that are able to return the power output to RegConfig as data point, as the function aims to keep the enabled OpenTherm generators on within a certain power output range;
PID: stands for Proportional – Integral – Derivative. This last control allows you to switch on or off the enabled OpenTherm generators in relation to how close the temperature measured by a sensor (generally positioned in a buffer tank to which all the generators are connected) and the set point is.
Enabled OpenTherm generators are those generators that have a number (which can range from 1, highest priority, to 8, lowest priority) in the Generators section (highlighted in green) on the OpenTherm page and not OFF in the box corresponding to the “Heat/Cool” column. The number indicates the priority of the call, so in the image below G1 and G3 generators have priority 1 (they are called first), while G2 has priority 2 and G4 priority 3:
Warning
Do not use G0 as it is the OpenTherm generator used with the DOT product, not with the REG system, therefore it is never considerate in the cascade logic.
PID CONTROL ALGORITHM
This is a feedback control system, which varies the number of active generators with the aim of maintaining the output temperature of generators to the required set point.
In this specific case, the PI version (without the derivative D) is used.
By changing the P and I parameters, it is possible to control how the system reacts when the measured temperature is different from the set point, which makes this system very flexible.
The system compares the measured temperature with a probe, which must be put in a place where the all the generators arrive (typically a balancing manifold, or the input of an exchanger, or a buffer tank) with the desired set point.
The difference between the two values (measured temperature and set point), called “Error Signal”, is used to determine the number of generators to be activated.
In particular, the system is aware of two factors:
The CURRENT (or “immediate”) value of the Error Signal (proportional action)
The trend over time (the “integral) of the Error Signal (integral action)
Within the OpenTherm page of the RegConfig is the Buffer Tank Compensation Temperature:
The system assumes that the sensor used by the “PID Cascade” algorithm is the same one used by the “Buffer tank compensation temperature” function, and it is therefore set via the “Buffer tank Sensor” parameter.
However, it is important to underline that “PID Cascade” and “Buffer Tank Compensation Temperature” are two different and separate functions, which can operate together or separately (e.g., the “Buffer Tank Compensation Temperature” can be also used for other types of cascade algorithms, and also for Parallel functioning), which incidentally “share” the same sensor, as the requirement for both algorithms is to monitor the “final” temperature provided by the group of generators.
Note
The “Buffer Tank Compensation Temperature” is not the subject of this technical part, which instead focuses on the “PID Cascade”.
Once the reference sensor for the cascade PI algorithm has been defined, it is possible to enter the values that affect the PI control output variable, that is how many OpenTherm generators are to be switched on and when:
Stop between changes (s): the variation is the change corresponding to the switching on or off of an OpenTherm generator. The pause between two variations it the minimum time that passes between the switching on or off of an OpenTherm generator and its subsequent switching on (or subsequent switching off) of another OpenTherm generator. For example, if at time x a generator is switched on, for the time indicated in the Stop between changes box, the algorithm will not add or remove generators (even though the result of the calculation would require it) to give the switched-on generators time to get up to speed and see the effects on the system;
Pid P (dimensionless): Proportional parameter in the calculation of the number of OpenTherm generators to be switched on or off. The proportional parameter depends on the difference between the desired set point and the current temperature read by the sensor used for the PI controller:
Pid P = 160 / delta T
so, if it desired that with a delta T of 4 K a generator is immediately switched on, then the value of Pid P to be entered is 40 (160 / 40). The higher the proportional parameter, the faster the generators will be switched on.
Pid I (dimensionless): Integral parameter in the calculation of the number of OpenTherm generators to be switched on or off. The integral parameter complements the proportional parameter by taking into account the time the system takes to approach the desired set point. To determine the Pid I parameter, let us assume that the delta T, after switching on the first generator, has changed from 4 K to 2 K and that a second generator is to be switched on after 5 minutes (for example):
Pid I = 1740 / delta T * T delay
so, if we consider a delta T of 4 K and a delay T of 5 minutes before switching on a second generator, then the value of Pid I to be entered is 87 (1740 / 4 * 5). The lower the Pid I parameter, the more time will pass before an additional generator is added.
Note
The values 160 and 1740 were derived from formulas implemented for this specific algorithm!
N. Start Generators: indicates the number of generators that are switched on starting from the condition “all OpenTherm generators are off”. For example, let us assume that the Start generators number is 2: you are in the condition “all OpenTherm generators are off” and the cascade algorithm results in only one generator switched on, but at least two generators are switched on at the same time. After switch-on (and therefore at least after the time indicated by “Stop between changes”) the algorithm may assess if the number of generators is appropriate to the demand of the system (and therefore leave it unchanged) or decrease or increase it; the number of generators at the start is useful if there are systems with many generators. Let us suppose we have a system with 8 generators: if the system starts with only one generator and then every “Stop between changes” (typically 3 minutes) adds another one, it will pass at least 21 minutes before the system goes at full speed; instead, if we set the initial number at 4, the system starts immediately with 4 generators, and then we decide if increase this number (and, in any case, in 12 minutes it would go to the maximum) or decrease it.
N. Minimum Generators: indicates the minimum number of active generators. If, for example, it is set to 3 and 3 generators are currently active, even if the cascade algorithm were to determine the need to switch off a further generator, none would be switched off; in another way, they would have never less than 3 generators on (Note: this means that the REG System enables 3 generators which can then decide to switch off the flame/compressor, because they determine that their water outlet temperature is satisfied).
N. Maximum Generators: indicates the maximum number of generators that can be switched on at the same time. If 5 generators are enabled, but the maximum number is 3, this means that the algorithm can switch on maximum 3 generators, even though 4 would be needed. This choice has the direct consequence that the set point may never be reached or that may be reached but over a long period of time.
The Power and Degraded Temperature parameters refer to the Power Cascade, so the values entered are ignored if the Cascade PI control algorithm is selected.
The result of the settings made is displayed at the top right of the OpenTherm page “Generator Demand Status”:
Enable/set Heating: if the square is ticked, this means that there is a request to the generators and in the rectangle on the right is indicated the required set point. For heat pumps, the set point is either heating or cooling. If the square is not ticked and the set point is zero, this means that no demand is coming from the circuits to OpenTherm.
Enable/Set DHW: if the square is ticked, this means there is a request to the generators and in the rectangle on the right is indicated the required set point for the production of Domestic Hot Water. If the square is not ticked and the set point is zero, this means that no demand is coming from the circuits or the DHW page to OpenTherm.
N. active generators (cascade): indicate how many generators have been activated for the cascade in heating or cooling (not for DHW production).
The last rectangle at the bottom (yellow box) is the countdown of the Stop between changes in hundredths of a second.
Always referring to the image in the Generators section of the OpenTherm page:
note the following:
Domestic Hot Water production does not respond to the PI cascade algorithm;
PI algorithm switches on the OpenTherm generators according to the priority entered and according to the request selected in the third column (Only Heat, Only Cool or Always)
The lower part of the OpenTherm page shows for each generator the result of the heating/cooling and DHW requests (red box) and the feedback from the generators to the REG System (yellow):
Highlighted in red you have:
The demand for H = Heating, W = DHW, and C = Cooling;
The required temperature in heating or cooling [°C];
The power required in heating or cooling [%].
Warning
If the generator is used for DHW production only both the required temperature and power are zero, the values that are passed in case of DHW production are those that are displayed in Generator Demand Status (top right of the OpenTherm page)
The OpenTherm page can manage both boiler via OpenTherm protocol (without dedicated firmware) and heat pumps or boilers via Modbus protocol with dedicated firmware. In yellow are highlighted the values transmitted by the boiler or the heat pump and are closely linked to how the generators’ manufacturer has implemented the OpenTherm protocol on the boiler or the Modbus protocol on the heat pump/boiler (always refer to the documentation of the generator or, in the case of dedicated firmware, to the documentation supplied with the firmware). By hovering the mouse over the various rectangles/squares, a tag with extended description appears:
Generators Status: indicates in which status the generator is (F = fault, H = heating, D = domestic hot water, F = flame, C = cooling etc.) If not implemented, no square will be ticked.
Water outlet temperature (T outlet), Water inlet Temperature (T inlet), DHW Temperature [°C]: are the readings of the generator sensors if present and/or if mapped in the dedicated firmware.
Pow.: power delivered by the generator in %, in electric kW, in thermal kW (refer to boiler manufacturer’s manual or to the dedicated firmware manual).
OT error: most frequent OpenTherm error (Ts = service request, Rr = remote reset enabled, Lp = low water pressure, etc.). In the case of dedicated firmware, refer to the documentation provided for decoding.
OEM Error: indication of the number of the error, refer to generator manual for diagnostic or to the dedicated firmware documentation.
Reset: reset of the error, it only works if implemented or if the boiler manages it; refer to the generator manual for diagnostic or to the dedicated firmware documentation.
EXAMPLE
Let us assume we have selected 1 as the number of Start and Minimum generators, while the maximum number is 9:
The hypothetical system has 4 OpenTherm generators:
G1 and G3 has priority 1, G1 is enabled only in Heating, while G3 is always available.
G2 has priority 2 and is available only in Cooling
G4 has priority 3 and it is always available
Starting from the condition “all the OpenTherm generators are switched off”, the switch-on sequence is as follows:
In Summer G3 → G2 → G4
In Winter G1 → G3 → G4
With equal priority, the power on follows the numerical order of the generators for the first power on, while for the subsequent power on the generators are rotated.
In Summer no generator has the same priority, so the order will always be the same (G3 → G2 → G4).
In Winter G1 and G3 have the same priority, during the first ignition the sequence is G1 and then G3, at the second ignition G3 will be switched on first and then G1. G4 will always follow as it has a lower priority.
Concerning the switch off, the “First On First Off” rule applies, therefore, taking the winter case, if G1 was switched first, then G3 and finally G4, the first to switch off will be G4 as it has a lower priority, then between G1 and G3 (that have the same priority) the first to switch off is the first one that was switched on, therefore G1.
Concerning the PI control parameters, it was decided to include 600 s, which means that for at least 10 minutes after a generator is switched on or off, the system will not change the number of generators switched on. While the delta T for which the system must immediately enter a generator is 2 K, so the value 80 is used for Pid P, by entering a Pid I of 40 the delay time for switching on the second generator is approximately 20 minutes.