Controller types

For closed-loop control purposes, two controller blocks are provided in the Desigo system, which cover the majority of requirements:

  • [PID_CTR]
  • [CAS_CTR]

PID_CTR stand-alone controller – Sequence controller

The PID_CTR block is used as:

  • A universal stand-alone PID controller
  • A universal PID controller with external tracking
  • An individual sequence-controller element in a sequence controller or sequence cascade controller

The PID_CTR block integrates the following functions:

  • Can be programmed for P, PI, PID or PD control action
  • Gain, integral action and derivative action can be programmed individually
  • Proportional control output with minimum and maximum limit control
  • Programmable gain factor
  • Programmable neutral zone
  • Programmable offset (for P and PD controllers)
  • Programmable initial integrator value (for PI or PID controllers)
  • Programmable runtime for control variable (0 – 100%, 100 – 0%) and positioning speed
  • Type of operation (direct acting or reverse acting) can be selected

A sequence controller can be implemented by interconnecting several PID_CTR blocks. The sequence linker SEQLINK can also be used, where appropriate. The only function of this block is to enable individual sequence elements to be deleted without the need to create new connections.

CAS_CTR cascade controller

The PID_CTR block is used:

  • As the lead controller in a sequence cascade control configuration (e.g., room/supply air cascade).
  • In temperature and humidity control loops

The following functions are integrated in the CAS_CTR block:

  • Can be programmed for P, PI, PID or PD control action
  • Proportional controller output with minimum and maximum limit control
  • Setpoints for heating and cooling sequences, and for energy recovery
  • Setpoint depending on type of operation, for energy recovery
  • Initialization of integrator (initial value)

Universal PID controller

The PID_CTR block can be used as a universal stand-alone controller in a plant for the control of any control variables, e.g.:

  • Temperature, temperature differential
  • Pressure, pressure differential
  • Velocity
  • Absolute humidity, relative humidity

Control action

The PID_CTR block can be configured as a P, PI or PID controller. The following parameter settings are used to define the control action:

  • Gain [Gain]
  • Integral action time [Tn]
  • Derivative action time [Tv]

As an option, the gain [Gain] can be influenced with the [GainFac] input. It can be useful to correct the gain factor in this way when controlling outside air dampers, e.g., as the effect of the damper positions can depend on the outside air temperature. The correction factor is defined with the gain scheduling block ADAGAIN.

The actuator runtime can be set. Specifying the actual actuator run-times makes it possible to tune the controller more accurately to the actuator concerned, so improving the control quality of the control system.

Correcting range

The correcting range is limited by specifying the minimum and maximum output variable. In this process, the minimum of the two values is always set as the maximum value. In other words, the maximum value may be below the minimum value; there is no need to update the minimum value.

Neutral zone [Nz]

[Nz] is a zone on either side of the setpoint, within which the controller does not respond. As soon as the difference between the setpoint [Sp] and the measured value [Xctl] is less than half of the [Nz], the output is driven for a further 7 cycles, so that the measured value [Xctl] is as close as possible to the middle of the [Nz]. The output signal [Yctr] then remains constant. The output signal is only re-adjusted when the parameters move outside the [Nz] again.

P/PD controller

If the PID_CTR block is configured as a P-controller or PD-controller, a calibration point (Offset) [YctrOfs] can be specified, e.g., the P-controller can be calibrated so that the set point is maintained with a 50% load.

With a 0% or 100% load, the P-deviation is then half the amplitude of the proportional range [Gain].

Tracking [Track]

[Track] is used, e.g., where the PI(D) controller, operates as a limit controller, e.g., acting on a valve or actuator via an intermediary minimum or maximum selector block. The tracking input ensures the availability of the controller during the period in which it is blocked by the minimum or maximum selector block. During this time, its integrator (and, hence, its output) is maintained at the value of the signal received, so that if the limit conditions are violated, it is able to respond immediately. [Track] is also used in conjunction with special actuators with positioning feedback.

Direct/reverse-acting control action [Actg]

[Actg] is a characteristic parameter of the controller and indicates the relationship between the setpoint deviation and the change in energy flow. A distinction is made between direct action and indirect [Actg].

  • Direct control [Actg]: As the controlled variable rises, the controller output increases, and as the controlled variable falls, so the controller output decreases.
  • Example: Cooling or dehumidification – as the measured value rises above the setpoint, so the flow of energy is required to increase.
  • Indirect control [Actg]: As the controlled variable decreases, the controller output decreases.
  • Example: Heating or humidification – as the measured value falls below the setpoint, so the flow of energy is required to increase.

Inversion [Inv]

[Inv] of the output signal is required, e.g., for air dampers. The outside air and exhaust air damper must close in response to an increasing heating demand. The inversion of the manipulated variable affects only the output signal [Yctr] and not the action of the controller.

Sequence controller

Sequence controllers are used primarily in ventilation and air conditioning systems to control the temperature and humidity. Other applications are also possible, e.g., in heating systems.

Each controlled aggregate functional unit incorporates a universal PID controller function block, PID_CTR, as a sequence-controller element.

The statements made about the universal PID controller also apply to the use of the PID_CTR function block as a sequence-controller element.

The sequence-controller elements coordinate their own interaction independently. Interaction is coordinated with coordination signals [FmHigher] and [ToLower], which are mutually exchanged by adjacent sequence-controller elements. This is the only link between the sequence-controller elements. This process allows the setting of individual parameters for each individual controller or aggregate, and hence effective optimization of the entire plant.

Properties and design of sequences and sequence controllers:

  • Each sequence may include any number of elements
  • The setpoint for each element of a sequence can be defined separately, but set points must not be allowed to decrease in the direction from the heating sequence to the cooling sequence.
  • The setpoint for energy recovery can be selected and is either at the midpoint between the setpoint of the first heating element and that of the first cooling element, or (depending on the method of energy recovery currently possible), it may be equivalent to the setpoint of the first heating element (if the extract air temperature is higher than the outside air temperature) or equivalent to the setpoint of the first cooling element (if the extract air temperature is lower than the outside air temperature).
  • The gain of each sequence element can be influenced individually. In this way, e.g., the amplification factor (gain) of the energy-recovery element varies as a function of the difference between the extract air temperature and the outside air temperature, in order to achieve an almost constant loop gain.
  • For each element, P, PI, PID, PD or on/off control can be selected. The control parameters for each element (controller gain, integral action time and derivative action time) can be adjusted individually.
  • If all the sequence elements have the same parameter values, the sequence responds in exactly the same way as a single PI(D) controller whose output variable is distributed to individual aggregates within the plant.
  • The controller output and the integrator of the sequence element is limited in the range [YctrMin] to [YctrMax]. For this purpose, the high limit of the last enabled sequence element of the heating and cooling sequence is limited with an anti-windup strategy (limitation of I/portion on manipulated variable limits). All other limit values are controlled by straightforward selection of the minimum or maximum value.
  • The rate of change of the output of each sequence element is limited to the speed of the connected actuator. This helps improve control quality.
  • The type of operation of each element (heating/cooling or humidification/dehumidification) can be selected individually for each element.
  • Only one element of the sequence can have a controlling function. When the output of a controlling sequence element reaches [YctrMin] or [YctrMax], control is transferred to the nearest adjacent active element ("ON").

Naming convention

The term higher is applied to sequence elements that correspond to higher set points in the sequence diagram (normally cooling or dehumidification).

The term lower is applied to sequence elements that correspond to lower set points in the sequence diagram (normally heating, energy recovery or humidification).

Configuration of a sequence controller

Essentially, the sequence controller consists of individual PID_CTR blocks. with each PID_CTR block acting as a sequence-controller element for an aggregate.

The PID_CTR blocks are connected (from "Low" to "High") in the same order as the control sequences (1…n) of the sequence controller. Accordingly, the connection of the PID_CTR blocks must take account of the intended operating range (e.g., for heating) and the order of switching.

For example, aggregates:

1 = Re-heater, 2 = Pre-heater, 3 = Dampers, 4 = Cooling coil

Control series for heating: 3 ---> 2 ---> 1

Cooling control sequence: 4 ---> …

The lowest sequence-controller element (Low) corresponds to control sequence 1, and the highest (High) to control sequence n.

The lowest sequence-controller element controls a reverse-acting aggregate (if used).

The type of operation may also be reversed during normal operation, (e.g., for energy recovery) but the order of the sequences must not be affected.

In the sequence controller, the set points [Sp] of sequence-controller elements (1…n) must increase incrementally:

[Sp]1 ≤ [Sp]2 ≤ [Sp]3 ≤ ... ≤ [Sp]n

In the transition from one control sequence to the next, continuous control is maintained if all the control sequences with the same type of operation (direct or reverse acting) also have the same setpoint.

When the type of operation changes, the neutral zone is defined by the set points (e.g., heating setpoint / cooling setpoint).

Options for connecting sequence controller elements

The PID_CTR blocks can be connected to form a sequence controller via:

  • Direct connection
  • SEQLINK connection

Direct connection

The individual PID_CTR blocks are connected directly with each other. The [ToLower] pins are connected to the [FmHigher] pins, and the [FmLower] pins are connected to the [ToHigher] pins.

SEQLINK connection

With this method, the individual PID_CTL blocks are connected via the SEQLINK block. The sequence linker block SEQLINK is a wiring block with no function other than that of connecting other blocks.

The connection is made between the pins of block PID_CTL and a location on the SEQLINK block. The order in which the PID_CTR blocks are connected must be the same as that of the sequence. The connections to the SEQLINK block need not be continuous: connected pins and unused pins may be interspersed.

For example, 1 = Re-heater, 2 = Pre-heater, 3 = Dampers, 6 = Cooling coil.

This method of connection is used to interconnect PID_CTR blocks on different charts, or in cases where individual project-specific sequence-controller elements or aggregates are to be deleted from an off-the-shelf solution (CAS library).

Communication between one sequence controller element and another flows via the pins [ToLower] → [FmHigher] and [ToHigher] → [FmLower].

The block recognizes configuration errors and shows these at the Token State output [TknSta]. If, e.g., the control action [Actg] of an individual sequence-controller element is incorrectly set, the associated sequence controller element is disabled and an error message is displayed.

Example: Output from elements 4 and 6 [TknSta] = HEL_CSEQ Output from elements 3 and 5 [TknSta] = CEL_HSEQ:

Examples of automatically deactivated sequence elements:

In all the examples illustrated, several aggregates are deactivated. This is a precaution, as the sequence elements cannot determine which of the aggregates has incorrectly set parameters. For this reason, the aggregates are disabled one after the other until there is a clear transition to the next sequence.

Cascade control

The CAS_CTR block integrated into the Desigo system is a PI lead controller for room supply air cascade control. It delivers three supply air set points on the basis of the difference between the measured room temperature and the room setpoint.

The following functions are integrated into the block:

  • Facility to select P or PI control
  • Gain and integral action time (can be configured)
  • Low supply air setpoint for the reverse-acting part of the sequence
  • High supply air setpoint for the direct-acting part of the sequence
  • Supply air setpoint for energy recovery
  • Min/Max setpoint limit control (supply air setpoint)
  • Selection of type of operation for heat recovery
  • Initial value for the integrator can be defined

Compared with control without a cascade, e.g., cascade control improves the dynamics of the control process.

If the temperature in a ventilated room is below the setpoint, e.g., the supply air temperature must be increased, at least for a brief period, in order to raise the temperature to the room setpoint. This can be achieved by measuring and controlling not only the room temperature, (that is, the value which actually concerns the user), but also the supply air temperature, whose setpoint depends on the difference between the room setpoint and the room temperature.

If the room temperature is lower than the room setpoint, the supply air setpoint is adjusted in proportion to the room control differential, and the supply air temperature is increased via the supply air control loop.

The lead controller generates the setpoint for the auxiliary variable (e.g., the supply air temperature) on the basis of the difference between the primary setpoint and the primary controlled variable (e.g., the room setpoint and the room temperature).

The lead controller must include an integrator function (I component), because even under static conditions (that is, when the measured value and the setpoint are equal) there is generally a negligible control deviation, which means that the controller output must be at a different operating point. For improved control dynamics, a P-component should be connected in parallel with the integrator. This is why the lead controller in this case has a PI control structure.

Even when the primary controlled variable (room temperature) is identical to its setpoint, the auxiliary controlled variable (supply air temperature) must generally be at a value other than 0, (that is, setpoint ≠ 0). This is only possible if the output of the lead controller is not equal to 0, even if the P component = 0. In other words, the lead controller must have an I-component which remains constant when the control differential = 0. This is why the lead controller has a proportional and an integral component. It is a numerical PI controller for use as a lead controller in a room/supply air cascade.

To save energy in the ventilation plant, various room set points are selected for different types of air handling (heating/cooling and humidification/dehumidification). The lead controller in the cascade must therefore be able to generate different supply air set points, depending on how the kind of air treatment (heating/cooling or humidification/dehumidification).

The supply air controller must determine whether the heating or cooling sequence is to be activated and the decision-making strategy does not affect the calculation of the two supply air set points. Within the cascade control loop, the supply air set points always move parallel to each other, and their offset is determined by the integral component.

If the air handling plant includes an energy recovery aggregate, this aggregate may be either reverse-acting (e.g., heating) or direct-acting (e.g., cooling) depending on the relationship between the condition of the outside air and the condition of the exhaust air.

To avoid external calculation of the energy recovery setpoint, this, too, is done by the lead cascade controller, and made available to the energy recovery aggregate, if there is one, at a separate output pin:

In a humidity control system with various physical control variables, the initial value of the integrator should be predefined.


If the humidity of the supply air is measured with an absolute humidity value [g/kg], while the room air humidity is measured in terms of relative humidity [%Hu], an initial value must be defined for the I-component, otherwise the mean value from [SpLoR] and [SpHiR] will be used as the initial value. If the room set points are expressed in terms of relative humidity, then the initial value for the integrator will start at a numerically high value, and decrease as a function of the preset integral action time [Tn]. The result of this can be that even if the room needs to be dehumidified, the humidifier is enabled in the controller start-up phase until the integrator reaches its correct value.

To prevent this, the current measured supply air humidity value is linked to the initial value of the integrator, or a fixed parameter value is defined for the integrator.

If control accuracy is critical (e.g., no deadband or zero-energy control zone), then the current measured value is linked to the initial value of the integrator, or a fixed parameter value is defined for the integrator.