[CAS_CTR] Cascade controller

Function block CAS_CTR is a PI primary controller for cascade control of the room supply air.

CAS_CTR is a PI primary controller for cascade control of the room supply air.

CAS_CTR supplies the upper and lower supply air setpoints. In addition, the supply air setpoint for energy recovery is determined in dependence of its direction of control action.

CAS_CTR can be used for temperature or humidity cascade control.

Functioning

Cascade control

The supply air setpoints [SpLoSu], [SpHiSu], and [SpErcSu] are calculated as follows:

  1. The reference controller is switched by the inputs [EnFnct] and [OoServ] (operating modes).
  2. The lower and upper supply air setpoint [SpLoSu], [SpHiSu] are controlled by the controlled variable [XctrR] (upper, lower supply air setpoints).
  3. The control action of energy recovery [ActgErc] determines the supply air setpoint for energy recovery [SpErcSu] (supply air setpoint for energy recovery).

Operating modes

Condition

Result

EnFnct

OoServ

CtrSta

 

0

0

1 (CtrOff)

The controller is switched off.

1

0

3 (CtrOn)
or
4 (CtrMin)
or
5 (CtrMax)

The controller is switched on.

0
or
1

1

2 (CtrCmd)

The controller is switched off. The default value [DefVal] is available at the outputs.

Upper, lower supply air setpoints

The CAS_CTR block works as a reference controller for cascade control of the room supply air. The reference controller controls the control variable [XctrR] of the outer control loop to an interval value [SpLoR],[SpHiR]. To do this, the reference controller CAS_CTR determines the three setpoints [SpLoSu], [SpErcSu], and [SpHiSu], controlled by the inner control loop.

The sequence controller that controls the controlled variable [XctrSu] of the inner control loop to the setpoints supplied by the CAS_CTR block is part of the inner control loop ([CTR] Controller).

Calculation of the upper and lower supply air setpoint depends on the operating mode and the controlled variable [XctrR].

Condition

Result

EnFnct

OoServ

0
or
1

1

The reference controller is switched off.

The default value [SpCmdSu] is available at outputs [SpLoSu], [SpHiSu], and [SpErcSu].

[CtrSta] = 2 (CtrCmd)

0

0

The reference controller is switched off.

[CtrSta] = 1 (CtrOff)

1

0

The reference controller calculates the lower supply air setpoint [SpLoSu] and the upper supply air setpoint [SpHiSu] from the corresponding room setpoints [SpLoR], [SpHiR], and the controlled variable of the room [XctrR].

[CtrSta] = 3 (CtrOn)

The calculated supply air setpoints are limited by [SpMinSu] and [SpMaxSu].

[CtrSta] = 4 (CtrMin) or 5 (CtrMax)

 

 

Supply air setpoint for energy recovery.

Calculation of the supply air setpoint for energy recovery [SpErcSu] depends on the operating mode, the setpoint selection for energy recovery [SelSpErc], and on the present direction of control action for energy recovery [ActgErc].

OoServ

SelSpErc

 

1

 

The supply air setpoint for energy recovery [SpErcSu] is equal to [DefVal].

0

1

The supply air setpoint for energy recovery [SpErcSu] corresponds to the average value of the lower and upper supply air setpoint.

[SpErcSu] = Average [SpLoSu], [SpHiSu]

0

The supply air setpoint for energy recovery [SpErcSu] depends on the present direction of control action [ActgErc].

ActgErg = 0 (direct)

Supply air setpoint cooling[SpErcSu] = [SpHiSu]

ActgErc = 1 (inverted)

Supply air setpoint heating[SpErcSu] = [SpLoSu]

 

Integration in sequence control

CAS_CTR can be integrated in sequence control by connecting pins [ToLower] and [FmHigher] as well as [FmLower] and [ToHigher]. It can be reached directly or via SEQLINK. Integration of CAS_CTR in sequence control corresponds to integration of a PID sequence controller, where it is described in detail.

The following diagram shows control of a ventilation system. The air volume flow is increased when the min. or max. supply air setpoint is reached.

Pins

Input

Description

Data type

Default value
Value range

EnFnct

Enable function

Enables the function.

Boolean

1

0 - The function is disabled.
1 - The function is enabled.

OoServ

Out of service

Commanding the controller output.

Boolean

0

0 - No commanding.
1 - The default value [SpCmdSu] is available at outputs [SpLoSu], [SpHiSu], and [SpErcSu].

DefVal

Default value

Default supply air setpoint

The default value for [SpLoSu], [SpHiSu], and [SpErcSu] if [OoServ] = True.

Real

20.0 [°C]
68.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

SpHiR

Setpoint high: Room

Setpoint for the room temperature (cooling) or room humidity (dehumidify).

Real

21.0 [°C]
70.0 [°F]

0.0…100.0 [°C]
32.0…212.0 [°F]

SpLoR

Setpoint low: Room

Setpoint for the room temperature (heating) or room humidity (humidify).

Real

20.0 [°C]
68.0 [°F]

0.0…100.0 [°C]
32.0…212.0 [°F]

XctrR

Controller input for room

Measured value for room temperature or room humidity.

Real

0.0 [°C]
0.0 [°F]

0.0…100.0 [°C]
0.0…212.0 [°F]

XctrSu

Controller input for supply air

Measured value for supply air or supply air humidity

The input must be interconnected for PI response. For P-response, [XctrSu] is not required.

Real

0.0 [°C]
0.0 [°F]

0.0…100.0 [°C]
0.0…212.0 [°F]

ActgErc

Control action for energy recovery

Boolean

1

0 - Direct - Energy recovery occurs on cooling or dehumidifying.
1 - Reverse - Energy recovery occurs on heating or humidifying.

Gain

Gain

Real

10.0 [°C / °F]

0.0…100.0 [°C / °F]

Tn

Integral action time Tn

Time

2m

0ms: The cascade controller has a P control response.
…: The cascade controller has a PI control response.

SpMaxSu

Maximum supply air setpoint

Real

32.0 [°C]
90.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

SpMinSu

Minimum supply air setpoint

Real

15.0 [°C]
59.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

SelSpErc

Selection of energy recovery setpoint

See supply air setpoint for energy recovery.

Boolean

0

0 - Edge (The supply air setpoint for energy recovery [SpErcSu] depends on the present direction of control action [ActgErc]).
1 - Centre (The supply air setpoint for energy recovery [SpErcSu] corresponds to the average value of the lower and upper supply air setpoint [SpHiSu], [SpLoSu]).

EnIntini

Enable integrator initialization

Boolean

0

0 - The start value calculated internally is valid on startup.
1 - Integrator initialization [IntgInit] is valid on startup.

IntgInit

Integrator initialization

Integrator initialization for special applications. Engineering: Integrator initialization.

Real

0.0 [°C]
0.0 [°F]

0.0…100.0 [°C]
0.0…212.0 [°F]

FmHigher

From higher neighbor element

Structure

-

FmHigher
> CtlMod

Control mode

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Active - CTR is active.
3: Off - CTR is switched off.
4: On - CTR is switched on.

FmHigher
> Crdn

Sequence coordination

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

FmHigher
> Ctkn

Control token

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

FmHigher
> IsInt

Is integrator

Boolean

0

0 - Sequence element has a non-integrative behavior (default).
1 - Sequence element has an integrative behavior.

FmHigher
> DeltaE

Covered error

Error covered by the proportional part of the controller.

Real

0.0

FmLower

From lower neighbor element

Structure

-

FmLower
> CtlMod

Control mode

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Active - CTR is active.
3: Off - CTR is switched off.
4: On - CTR is switched on.

FmLower
> Crdn

Sequence coordination

CTR coordination signal.

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

FmLower
> Ctkn

Control token

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

FmLower
> IsInt

Is integrator.

Boolean

0

0 - Sequence element has a non-integrative behavior (default).
1 - Sequence element has an integrative behavior.

FmLower
> DeltaE

Covered error

Error covered by the proportional part of the controller.

Real

0.0

 

Output

Description

Data type

Default value
Value range

ErSta

Error state

Boolean

0

0 - No error, [TknSta] is not HEL_CSEQ nor CEL_HSEQ nor RT_FAULT.
1 - Error, [TknSta] is HEL_CSEQ or CEL_HSEQ or RT_FAULT.

CtrSta

Controller state

Integer

1: CtrOff

1: CtrOff - Controller switched off.
2: CtrCmd - Controller switched off or [YctrMin] ≥ [YctrMax].
3: CtrOn - Controller switched on.
4: CtrMin - Controller output [Yctr] = [YctrMin].
5: CtrMax - Controller output [Yctr] = [YctrMax].

TknSta

Token state

Integer

1: NoTkn

NoTknRTFault

1: NoTkn - No token.
2: CtrTkn - Controller token active.
3: IntgTkn - Integrator token active.
4: BothTkns - Both tokens active.
5: Hel_CSeq - Configuration error: Heating element in the cooling sequence.
6: Cel_HSeq - Configuration error: Cooling element in the heating sequence.
7: RTFault - Error: Sequence element.

SpHiSu

Setpoint high: Supply air

The setpoint for the supply air temperature (cooling) or supply air humidity (dehumidify) is available (direct direction of control action).

Real

26.0 [°C]
79.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

SpErcSu

Supply air setpoint for energy recovery

The setpoint for energy recovery is available.

Real

23.0 [°C]
73.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

SpLoSu

Setpoint low: Supply air

The setpoint for the supply air temperature (heating) or supply air humidity (humidifying) is available (indirect direction of control action).

Real

20.0 [°C]
68.0 [°F]

-50.0…150.0 [°C]
-58.0…302.0 [°F]

ToHigher

To higher neighbor element

Structure

-

ToHigher
> CtlMod

Control mode

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Active - CTR is active.
3: Off - CTR is switched off.
4: On - CTR is switched on.

ToHigher
> Crdn

Sequence coordination

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

ToHigher
> Ctkn

Control token

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

ToHigher
> IsInt

Is integrator

Boolean

0

0 - Sequence element has a non-integrative behavior (default).
1 - Sequence element has an integrative behavior.

ToHigher
> DeltaE

Covered error

Error covered by the proportional part of the controller.

Real

0.0

ToLower

To higher neighbor element

Structure

-

ToLower
> CtlMod

Control mode

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Active - CTR is active.
3: Off - CTR is switched off.
4: On - CTR is switched on.

ToLower
> Crdn

Sequence coordination

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

ToLower
> Ctkn

Control token

Integer

1: Nil

1: Nil - Not connected (Default value).
2: Link - Connected in a sequence.
3: Low - Low controller output.
4: ErrLow - Error in sequence coordination.
5: Act - Controller active.
6: High - High controller output.
7: ErrHigh - Error high (reserved).

ToLower
> IsInt

Is integrator

Boolean

0

0 - Sequence element has a non-integrative behavior (default).
1 - Sequence element has an integrative behavior.

ToLower
> DeltaE

Covered error

Error covered by the proportional part of the controller.

Real

0.0

Process response

Temperature or humidity control

The reference controller is used for both temperature and humidity control. Change the following settings when using it as a reference controller for humidity control:

  1. Change the pin unit with dependence 1 from °C to g/kg.
  2. Change the pin unit with dependence 1 from °F to lb/lbda.
  3. Change the pin unit with dependence 2 from °C to %rh.
  4. Change the pin unit with dependence 2 from °F to %rh.
  5. Adjust the default values for the following pins.

Connecting thread

Unit

Default value

DefVal

g/kg

5

Lb/lbda

0.005

SpHiR

%r.h.

60

SpLoR

%r.h.

30

XctrR

%r.h.

0.0

XctrSu

%r.h.

0.0

Gain.

(g/kg)/(%rh)

1

(lb/lbda)/(%rh)

0.001

Tn

Time

10

SpMaxSu

g/kg

10.5

lb/lbda

0.011

SpMinSu

g/kg

4.5

lb/lbda

0.005

IntgInit

g/kg

0.0

lb/lbda

0.0

SpHiSu

g/kg

N/A

lb/lbda

na

SpErcSu

g/kg

na

lb/lbda

na

SpLoSu

g/kg

na

lb/lbda

na

Humidity control by different physical controlled variables

If the supply air [XctrSu] is measured in absolute humidity [g/kg], and the room air [XctrR] in relative humidity [%hu], the integrator initialization value must be predefined; otherwise, the mean value calculated from [SpLoR] + [SpHiR] is used. If the room setpoints are defined in absolute humidity, the integrator initialization value starts at a high value and returns to the set integral action time [Tn]. As a result, humidification may be enabled during controller initialization until the integrator has reached the correct value, even if the room would need dehumidification.

To prevent this, the present measured value for the supply air humidity [XctrSu] is interconnected to the integrator initialization [IntgInit] or a fixed parameter value for the integrator is preset.

Requirement for high accuracy of control

If there are high requirements of the control accuracy (e.g. work without energy-free control zone), the present measured value for the supply air humidity [XctrSu] is interconnected to the integrator initialization [IntgInit] or a fixed parameter value is defined for the integrator.

Details for cascade controller operation: PID sequence controller

A sequence controller is used if several components control a controlled value in accordance with the predefined control sequence. The sequence controller switches the individual sequence controller elements according to the control sequences and coordinates control for the individual controller elements in an interrelated control behavior across all sequence controller elements or components.

The functioning of the sequence controller comprises all processes that influence each other:

  • Enabling or disabling a sequence controller
  • Control process of the sequence controller
  • Enabling/disabling/commanding an individual sequence controller element
  • Control process of the individual sequence controller elements. The control process corresponds to that of a universal PID controller.

Enabling or disabling a sequence controller

The sequence controller is disabled by disabling [EnFnct] = 0 or commanding [OoServ] = 1 all sequence controller elements. If then a selection of sequence controller elements is enabled with properly parameterized control action ([EnFnct] = 1 and [OoServ] = 0), the sequence controller elements are initiated within this selection: The control process is started with that sequence controller element of the enabled selection that is closest to the control action changeover and that contains the control action for the respective situation determined by the present actual values and setpoints.

If the sequence control process is to be initiated by a particular sequence controller element, the corresponding sequence controller element must be enabled prior to all other elements; else, the above described process is used.

Control process of the sequence controller

The sequence controller switches control of the individual sequence controller elements via the controller token. Further signals to coordinate control of the sequence controller elements are necessary in addition to the controller token. The associated signals are exchanged via the pins [ToLower] and [FmHigher] and the pins [FmLower] and [ToHigher].

In each process cycle, the individual sequence controller elements independently determine the sequence controller element that carries out control (independent of the operating mode of the sequence controller).

  • If a sequence controller element satisfies the following conditions, the controller token adopts [TknSta] = CntrTkn.
    • The sequence controller element must be enabled ([EnFnct] = 1) and not commanded ([OoServ] = 0).
    • The sequence controller element controls the requested demand, e.g., the heating demand: [Actg] = Reverse and [Xctr] < [Sp].
    • The sequence controller element controls the responsible component in the operating sequence, e.g., the previous components have been removed from control or cannot be controlled.
  • The sequence controller must be enabled.
  • The sequence controller element featuring the controller token controls the plant [Yctr]. All other sequence controller elements are constant.
    • [TknSta] = CntrTkn
    • [CtrSta] = CntrOn
    • Exception: Enabling/disabling/commanding individual sequence controller elements
  • If the control range of the controlling sequence controller element is exhausted, [Yctr] > [YctrMax] or [Yctr] < [YctrMin], the controller token is passed on to the following sequence controller element (according to the operating sequence).
    • [TknSta] = NoTkn
    • [CtrSta] = CntrMin or CntrMax
    • Exception: Sequence controller elements with [EnFnct] = No or [OoServ] = On are not switched.
info

If all controller outputs of the enabled sequence elements are set to their limit values [CtlSta] = CntrMin or [CtlSta] = CntrMax, the sequence controller element does not have a controller token. This may occur in different parameter settings of the sequence controller elements, e.g., within the energy-free zone due to different setpoints.

Enabling/disabling/commanding an individual sequence controller element

The sequence controller considers the influence on control and integration if a sequence controller element is enabled, disabled or commanded via its operating mode (e.g. via operator intervention).

Condition

Result

EnFnct

OoServ

Sequence controller element

Sequence controller

0

0

The sequence controller element immediately sets the controller output [Yctr] = 0.

The sequence controller skips the sequence controller element in the operating sequence.

If the controlling sequence controller element is disabled, the subsequent sequence controller element starts controlling.

1

0

The sequence controller element checks if it was skipped by the sequence controller in the operating sequence.

If the sequence controller element was skipped, its controller output [Yctr] increases to [Yctr] = YctrMax at speed Ti0to100.

If the sequence controller element was not skipped, [Yctr] decreases to [Yctr] = YctrMin at speed Ti100to0.

The sequence controller adds the sequence controller element to the operating sequence.

0
or
1

1

The sequence controller element immediately sets the controller output [Yctr] = 0.

The sequence controller skips the sequence controller element in the operating sequence.

If the controlling sequence controller element is newly commanded, the subsequent sequence controller element starts controlling.

Details for cascade controller engineering: Engineering - PID sequence controller

The sequence controller is formed by interconnecting and parameterizing CTR function blocks (sequence controller elements). The sequence controller functionality is generated automatically via information channels. The sequence of the individual components is determined by the interconnection sequence of the CTR function block.

Engineering comprises the following steps:

  1. Determining the order of the sequence controller elements.
  2. Interconnecting sequence controller elements.
  3. Parameterizing the sequence controller element.
    If all sequence controller elements are parameterized the same, the entire sequence controller responds like one single controller.
    • Parameterizing the control behavior (analogous to the PID controller).
    • Parameterizing the sequence controller element' control action.
    • Parameterizing setpoints and an energy-free zone.
  4. Setting/tuning the sequence controller

Determining the order of the sequence controller elements

Essentially, the sequence controller consists of individual CTR function blocks. Each PID_CTR block acts as a sequence-controller element for a component.

The interconnection sequence of the CTR function blocks (from low to high) corresponds to the order of the control sequences (1..n) of the sequence controller. Accordingly, both the intended operating range (e.g. heating) and the switching sequence must be considered when interconnecting the CTR blocks.

For example: Components
 1 = Reheater, 2 = Preheater, 3 = Air dampers, 4 = Cooler

Control sequence for heating: 1 ---> 2 ---> 3.

Control sequence for cooling: 4 ---> ....

  • The lowest sequence controller element corresponds to control sequence 1, the highest to control sequence n.
  • The lowest sequence-controller element controls a reverse-acting component (if used)

Interconnecting sequence controller elements

There are two ways to interconnect the CAS_CTR function blocks with a sequence controller:

1. Direct interconnection

The individual CAS_CTR function blocks are interconnected with each other.

Interconnection is made between the pins [ToLower] and [FmHigher] and the pins [FmLower] and [ToHigher].

This type of interconnection is used if the PID_CTR function blocks are located on the same chart.

2. Interconnection to SEQLINK

The individual PID_CTL function blocks are interconnected via the SEQLINK block.

Interconnection occurs between the pins for function block CTR and a place on the SEQLINK. The sequence of CTR must match the order of the places. However, free places are possible on the SEQLINK. Several SEQLINKs can be interconnected in series.

This type of interconnection is used if the CTR function blocks are located on different charts or if the individual sequence controller elements or components may not be interconnected (CAS library).

info

The sequence elements must be parameterized in accordance with the interconnection.

The pins [ToLower] and [FmHigher], [FmLower] and [ToHigher] are interconnected only on a sequence controller.

Parameterizing the sequence controller element' control action

The set operating range (e.g. heating, cooling) determines the direction of control action [Actg] for a sequence controller element. Direction of control action changeover during operation is possible (e.g. energy recovery). If component control demands an inverted signal, inversion [Inv] of the controller output [Yctr] helps solve this problem.

In the sequence controller, the direction of control action must feature the following response:

  • The first or lowest sequence controller elements have reverse direction for control action [Actg] = Reverse.
  • The first or highest sequence controller elements have direct direction of control action [Actg] = Direct.
  • A sequence controller element with changing direction of control action (e.g. ERC) can only be in between.

Deviations generate an error signal [ErSta] = Yes. Troubleshooting

Parameterizing setpoints and an energy-free zone

In the sequence controller, the setpoints [Sp] of the sequence controller elements (1...n) must increase monotonously:

[Sp]1 <= [Sp]2 <= [Sp]3 <= ... <= [Sp]n

Modulating control on transition from one control sequence to another is ensured if the control sequences with the same direction of control action have the same setpoint.

The energy-free zone is defined by the setpoints on changeover of the direction of control action (e.g. heating setpoint, cooling setpoint).