Sequence controller
In heating, ventilation, and air-conditioning systems, it is often the case that several actuators, working in a so-called controller sequence, are used in order to achieve a control variable.
In the air conditioning system shown below, three actuators are involved in the regulation of the supply air temperature. In the BA library, a dedicated sequence controller is instantiated for each of these actuators.
During active control only one of these sequence controllers is active. The other, non-active controllers fix their control signal so that it is energetically optimal for the tempering of the supply air temperature.
Depending on the control direction of the individual controller, this means either the maximum or the minimum for the control variable lrY.
If the effect of the active actuator (controller) is insufficient when reaching an end position, the active controller switches to the adjacent controller to the left or right.
This then takes over control. The previously active controller remains at the limit position of lrYMax or rYMin, depending on the direction of control. This is repeated with the remaining actuators until the set value or the left or right end of the sequence is reached.
In the sequence of the illustrated air conditioning system, all actuators that influence the control variable are shown from left to right. At the far left is the actuator, which enables the highest increase of the inlet air temperature, at the far right is the actuator, which enables the greatest decrease of inlet air temperature.
Some actuators, such as a recirculating air flap or a heat recovery unit change their direction of action during operation. (indirect = heating, direct = cooling)
Actuators with varying direction of action, such as outside air flap, recirculating air flap or heat recovery unit, are only listed once.
- Controller 1: Pre-heater
- Controller 2: Mixed air
- Controller 3: Cooler
Schematic diagram
This plant is schematically represented as follows:
Rules for creating a sequence
The following rules must be followed for creating the sequences; inlet air control is used as reference:
- The sequence controllers are numbered starting with the heating sequences with low ordinal numbers to the cooling sequences with high ordinal numbers.
- A series of heating sequences should not include a cooling sequence. Conversely, a series of cooling sequences should not contain a heating sequence. Sequences with reversal of direction of action for a mixed air system or heat recovery should be positioned between the heating and cooling sequences.
-
In this diagram controller 4 would be placed incorrectly, if controller 5 changed to heating mode. Or: Controller 4 is correct, but controller 5 would have to be a pure cooling controller. In both cases there would be two switches from heating to cooling. - The setpoints within the sequence must be monotonically increasing. This requirement is a result of the switching behaviour explained above: If the setpoint of a controller with a lower number is higher than the next higher one, the result could be continuous switching between the two controllers. As mentioned above, controllers with the same direction of action usually have the same setpoint.
SP1 ≤ SP2 ≤ SP3 ≤ SP4 ≤ SP5 ≤ SP6 ≤ SP7 ≤ SP8 ≤ SP9
Sequence controllers in the PLC
The BA library provides two function blocks for realising a sequence control in the PLC program:
- The function block FB_BA_SeqCtrl. This function block provides an individual controller as part of a sequence of up to 16 controllers.
- The function block FB_BA_SeqLink. This function block is the control function block of the sequence and therefore only exists once per sequence. It decides which controller of the sequence is currently active and checks the sequence for certain error states, such as duplicate allocation of ordinal number at the controllers.
The structure variable ST_BA_SeqLink is used to link the sequence controllers with the sequence linker FB_BA_SeqLink.
This structure variable has to be declared once per sequence control.
The sequence control is enabled at input bEn of the function block FB_BA_SeqLink. The variable usiStartCtrl is used to determine which controller is used as the first one after the start of automatic control mode. In the example, the sequence controller with the no. 5 is assigned as the start controller. Switching from controller 5 to another controller in the sequence is locked for 60 seconds after the restart of the control system based on the value of the input variable tIniSwiOvrDly.