[HGen22] Heat generation, 2 boilers with external boiler control (on/off command, setpoint, feedback, common fault)

Plant example HGen22 has two identical boilers with own control (external control).

Functions

Plant diagram

Components

Components and functions

Components and functions of the plant example:

Component

Function

BACnet object

Sensor for outside temperature

Measures outside temperature.

> [AI] Outside air temperature

Fire detection contact

Switches the plant off.

[BI] Fire detection contact

Operating mode switch

Switches the plant to: Auto | Off | On

[MI] Operating mode switch

 

Manual operating mode selection

Switches the plant to: Auto | Off | On

[MCnfVal] Manual operating mode selection

Profile selector.

Switches the profile to: Auto | Profile 1 | Profile 2

[MI] Profile switch

[MCalcVal] Present profile

 

Manual profile selection

Switches the profile to: Auto | Profile 1 | Profile 2

[MConfigVal] Manual profile selection

 

Present operating mode

Reports the present operating mode: Off | On

Plant operating modes and control sequence

[MCalcVal] Present operating mode

 

Reason for present operating mode

Reports the reason for the present operating mode: Exception | Operating mode switch | Manual operating mode selection | Heat request

[MCalcVal] Reason for present operating mode

Heat request

Acquires and evaluates the heat request.

[ACnfVal] Offset for setpoint heating request

[ACnfVal] Minimum setpoint heating request

Main pump group, consumer side

Switches on/off one pump each time based on demand.

Selects the pump based on pump operating hours.

Main pump group (Folder)

> [BO] Command pump 1

> [BO] Command pump 2

Reports the fault on the corresponding pump and switches it off. The backup pump is switched on if needed and possible.

The plant is switched off if both pumps are in fault.

> [BI] Fault pump 1

> [BI] Fault pump 2

Hydraulic separator, temperature measurement

 

Main flow temperature sensor

Measures the main flow temperature on the consumer side.

[AI] Main flow temperature consumer side

Main return temperature sensor

Measures the main return temperature on the generation side.

[AI] Main return temperature generation side

 

Setpoint determination

Calculates the setpoint for the boiler temperature.

Function diagram setpoint generation

[ACalcVal] Present setpoint for main flow temperature

[ACnfVal] Delta setpoint for boiler temperature

 

Step up/down

Selects the relevant temperature sensor based on the maximum value.

Compares the setpoint against the relevant actual value (max selection) and demands more or less power after a delay.

 

 

Power control and compensation

Acquires the power demand.

Compensates power demand by profile tables in two directions:

  • More power (one or more lines down)
  • Less power (one or more lines up)

 

 

Profile table

Table of the sequence operation of boilers and their stages. Each additional line in the table (up or down) represents additional power.

Controls the boiler by heat request and predefined sequence.

Determines whether to add or switch off a boiler.

 

Fault message expansion vessel

Switches the plant off.

[BI] Fault expansion vessel

Boilers 1 & 2

Two identical boilers

Boilers 1 & 2

Component

Function

BACnet object

 

Boilers 1/2

Boilers (1)/(2) (Folder)

Manual switch

Switches off the boiler. Auto | Off | On

[MI] Manual switch

Boiler temperature

Sensor for boiler temperature

Measures the boiler temperature.

[AI] Temperature

Safety temperature limiter

Monitors the boiler temperature.

Switches off external control of the boiler.

Keeps the shutoff valve open and switches on the boiler pump for two minutes. The shutoff valve is then closed and the pump switched off.

> [BI] Safety temperature limiter

Interface to external control

External control (Folder)

Release

Release for external control

> [BO] Command

Setpoint for boiler temperature

Transfers a temperature setpoint for external control.

> [AO] Temperature setpoint

Fault message

Reports faults.

Switches off the boiler.

> [BI] Fault

Feedback, binary

> [BI] Feedback

Return temperature sensor

Measures the return temperature.

[AI] Return temperature

Pump

Pump (Folder)

Command

Switches on/off the pump as needed.

> [BO] Command

Fault message

Reports faults.

Switches off the boiler.

> [BI] Fault

Shutoff valve

Locks the boiler return up/down.

Valve (Folder)

Command

Closes or opens the boiler circuit: Close | Open

> [BO] Command

Functions and diagrams

Overview

The following diagram is a simplified illustration of plant example HGen22.
Sequencing energy generators

Key

1

 

PrSpTMnFl

Present setpoint for main flow temperature

3

 

Bo1

Boiler 1

Bo2

Boiler 2

4

 

TraSta1

Transient state 1

TraSta2

Transient state 2

PwrCap1

Available power 1

PwrCap2

Available power 2

Step up/down (1)

Key

DlyUp

Delay for an up impulse

DlyDn

Delay for a down impulse

Nz

Neutral zone

TraSta1

Transient state 1

TraSta2

Transient state 2

PrSpTMnFl

Present setpoint for main flow temperature

TMnRt

Temperature in the main return prior to the hydraulic separator (generator side)

TMnFl

Temperature in the main flow after the hydraulic separator (consumer side)

Important settings:

  • Neutral zone (Nz) = 3 K
  • Delay for up impulse (DlyUp) = 10 min
  • Delay for down impulse (DlyUp) = 10 min

If the function is enabled, the higher value of the two temperatures in main flow 'TMnFl' and main return 'TMnRt' is selected as the controlled variable. If the measured temperature exits the neutral zone 'Nz' by setpoint 'SpT', an impulse "Step up" or "Step down" is sent over output 'StepUp' or 'StepDn' to power balance. The impulse is sent with a delay. The delays are determined using the settings 'DlyUp' and 'DlyDn'.

There are two cases:

  • One or both temperatures drop. Pulse "Step up" is generated.
    Heat generation supplies too little power and/or flow in the consumer circuit is higher than in the generation circuit.
  • One or both temperatures increase. Pulse "Step down" is generated.
    Heat generation supplies too much power and/or flow in the consumer circuit is lower than in the generation circuit.

To prevent continued switching prematurely, the evaluation logic is held after each impulse. The enabled heat generator returns its 'TraSta' to "Step up/down". The evaluation logic restarts once the transition state expires.
Step up or step down

Power control and compensation (2)

Key

PwrCap1

Available power 1

PwrCap2

Available power 2

EnCmpLack

Automatic power compensation for a loss of power

Important settings:

  • Automatic power control and compensation for a loss of power (EnCmpLack) = 1 (see below)

Power control and compensation receive the request from "Step up/down" for more or less power as a result of the pulse "Step up" or "Step down". In this way, Power control and compensation" triggers a change to the following or previous line in the profile table.

"Power control and compensation" then checks whether the change in row in the "profile table" resulted in the desired increase or reduction to the currently produced output. It receives the feedback on input [PwrCap] on the power currently produced and compares it against the value in internal memory [PrPwrCap].

In the event that the desired result does not arrive, "Power control and compensation" changes the row until the desired increase or reduction to current power is reached.

Automatic power compensation in the event of a power shortage [EnCmpLack]: Power shortage is detected based on input [PwrCap] and balanced by sequential steps, e.g. due to a loss of a heat generator due to a fault.
Power control and compensation

Profile table (3)

In the profile table, the sequence is determined for switching on the heat generators. Four different profiles can be created. The entries are entered in each profile so that total power of the enabled heat generators or stages increases as the row number increases.

Function block SELP_8MS determines the profile table.
[SELP_8MS] Profile and table value selection for 8 multistate values

Two profiles are prepared in the example:

Profile 1: Boiler 1 is switched on first.

Boiler 1 (100 KW) is a boiler with own control.

Boiler 2 is added in the following 2 cases:

  • The power for boiler 1 is not sufficient
  • Boiler 1 is in fault

Profile 2: Boiler 2 is switched on first.

Boiler 2 (100 KW) is a boiler with own control.

It changes over to boiler 1 in the following 2 cases:

  • The power for boiler 2 is not sufficient
  • Boiler 2 is in fault

A profile changeover is planned in the example, based on the boiler operating hours.

Manual profile selection is also possible.
Profile table

The profile changeover is implemented in function block ROT_8.
[ROT_8] Rotation switch with 8 outputs

Heat generator (Boiler 1 and 2) (4)

The heat generators enabled by the profile table report on available power [PwrCap] to power control and compensation.

They also report in the event of an active change of the power stage, the transient state [TraSta] to "Step up/down". No further "Step up" or "Step down" is triggered during an active transient state.

Key

TraSta1

Transient state 1

TraSta2

Transient state 2

PwrCap1

Available power 1

PwrCap2

Available power 2

Bo1

Boiler 1

Bo2

Boiler 2

SwiOnTra

Transient state at switch-on

SwiOffTra

Transient state at switch-off

Boiler 1/2 with external control, single-stage pump, shutoff valve

Operating modes: Off, On, Min.

Settings for power feedback:

Complete the power settings on function block SELMS_R

1 Off = 0 KW

2 On = 100 KW

Settings for feedback of the transient state on the nested chart BoTraSta(1):

Components, sequence, and functions in CMDSEQ_B (Bo1/2)

Plant operating mode

Component

 

Vlv

Pu

ExtCtl

Off

Off

Off

Off

On

On

On

On

 

Sequences

 

Start sequence

1

2

2

Start function

Feedback

AND (Group with next aggregate)

AND (Group with next aggregate)

Start delay

-

-

-

 

Stop sequence

2

2

1

Stop function

AND (Group with next aggregate)

AND (Group with next aggregate)

Delay

Stop delay

-

-

2m

[CMDSEQ_B] Command sequence for binary

Start sequence

  1. The shutoff valve opens. It is further switched if an operating message comes from the shutoff valve on the input pin for CmdSeq(Bo1).
  2. The pump and external control coil switch on at the same time (function AND, Group with next aggregate).

Stop sequence

  1. External control switches off. It waits for 2 minutes (function Delay).
  2. The shutoff valve closes and the pump switches off (Function AND, Group with the next aggregate).

Main pump group, consumer side

The example implements two main pumps, each with a fault message.

The changeover occurs:

  • Every 168 hours regardless of operating hours
  • Regardless of fault

The changeover is implemented in function block ROT_8.
[ROT_8] Rotation switch with 8 outputs

Setpoint generation and temperature control

Individual heat consumption transmits its heat request and forms the temperature setpoint for main flow as per this heat request. The setpoint is increased slightly and sent to the heat generators.
Setpoint generation

Key

1, 2

 

PrSpTMnFl

Present setpoint for main flow temperature

DSpTBo

Delta setpoint for boiler temperature

3

 

Bo1

Boiler 1

Bo2

Boiler 2

4

 

Bo1'ExtCtl'SpT

Setpoint for boiler 1

Bo2'ExtCtl'SpT

Setpoint for boiler 2

Plant operating modes and control sequence

Plant operating modes:

  • Off (1)
  • On (2)

The operating modes are reported on [MCalcVal] object 'Present operating mode'.

At the same time, the reason for the present operating mode is reported to another [MCalcVal] object:

  • Exception (1)
  • Operating mode switch (2), resulting from an active (not equal to Auto) operating mode switch
  • Operating mode (3), resulting from an active (not equal to Auto) manual operating mode selection
  • Heat request (4)

There is a normal mode and exception mode.

Normal operation

Sources for normal mode:

  • [MI] Operating mode switch
  • [MCnfVal] Manual operating mode selection
  • [HReq (1)] Heat request

In normal operation, operating mode 'On', the main pumps are switched on and the logic for boiler sequence operation (step up/down, power control and compensation and profile table) is enabled. The logic for boiler sequence operation controls the individual energy generators using their function blocks CMDSEQ_B.
[CMDSEQ_B] Command sequence for binary

Exception mode

Sources for exception mode:

  • Fire detection contact
  • Fault to expansion vessel
  • Faults to both pumps in the main pump group
  • Fault to both boilers

In exception mode, all outputs are switched off directly at priority 5 and the present operating mode is set to 'Off'.

It is reported on input [RpdOff] from all CMDSEQ_B on the energy generators.

Start-up control and alarm handling

Start-up control (nested chart SttUpAlmHdl)

The following functionality is available for an automatic startup of the plant, e.g. after a loss of power and return of power:

  1. Fixed switch-on delay (can be set on input pin [DlySttUp])
  2. The plant remains off to ensure communications are reliable and cross-check references are triggered. 'Exception' is reported as the reason for the present operating mode.
  3. Automatic acknowledge (2x) of possible pending alarms during a fixed switch-on delay.
  4. Additional adjustable delay for staged plant ramp-up (can be set on input pin [DlyOn])

Alarm handling (nested chart SttUpAlmHdl)

The state of events on the plant is acquired by BACnet object 'Plant state'. The state is mapped on function block CMN_EVT.
[CMN_EVT] Common event

The following functions are available:

  1. Automatic acknowledge (2x) after startup
  2. Alarm acknowledgement with a value object
  3. Alarm indication:
    - For pending alarms On
    - For unprocessed alarms flashing
  4. Ability to connect the acknowledge button [BI]
  5. Ability to connect to an alarm indication [BO], e.g. an alarm lamp through an output block [BO]
  6. Ability to connect to other alarm handling functions on other plants, e.g. acknowledge button and alarm indication for multiple plants in the same control cabinet

Startup function and alarm handling for flat plants

I/O data points

Name

Description

Type

Signal/connection

State text

Engineering unit

FireDetCont

Fire detection contact

Alarm function: Extended (Notification class 7)

Reference value: Tripped

Time deviation: 0 [s]

BI

NC contact

Normal | Tripped

N/A

OpModSwi

Operating mode switch

MI

N/A

Auto | Off | On

N/A

TOa

Outside air temperature

AI

LG-Ni1000

N/A

-70...70 [°C]

 

PrfSwi

Profile switch

MI

N/A

Auto | Profile 1 | Profile 2

N/A

FltPu (1)

Fault pump (1)

Alarm function: Extended (Notification class 7)

Reference value: Tripped

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

FltPu (2)

Fault pump (2)

Alarm function: Extended (Notification class 7)

Reference value: Tripped

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

CmdPu (1)

Command pump (1)

BO

NO contact

Off | On

N/A

CmdPu (2)

Command pump (2)

BO

NO contact

Off | On

N/A

TMnFlCns

Main flow temperature consumer side

AI

LG-Ni1000

N/A

0...100 [°C]

TMnRtGen

Main return temperature generation side

AI

LG-Ni1000

N/A

0...100 [°C]

FltExpsVss

Expansion vessel fault

BI

NO contact

Normal | Tripped

N/A

Bo1'ManSwi

Boiler 1 manual switch

MI

N/A

Auto | Off | On

N/A

Bo1'T

Boiler 1 temperature

AI

LG-Ni1000

N/A

0...100 [°C]

Bo1'TRt

Boiler 1 return temperature

AI

LG-Ni1000

N/A

0...100 [°C]

Bo1'SftyTLm

Boiler 1 Safety temperature limiter

Alarm function: Basic (Notification class 8)

Reference value: Triggered

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

Bo1'ExtCtl'Flt

Boiler 1 external control fault

Alarm function: Basic (Notification class 8)

Reference value: Triggered

Time deviation: 0 [s]

BI

NC contact

Normal | Tripped

N/A

Bo1'ExtCtl'Fb

Boiler 1 external control feedback

BI

NO contact

Off | On

N/A

Bo1'ExtCtl'SpT

Boiler 1 external control temperature setpoint

AO

0...10V

N/A

0...100 [°C]

Bo1'ExtCtl'Cmd

Boiler 1 external control command

BO

NO contact

Off | On

N/A

Bo1'Pu'Cmd

Boiler 1 pump command

BO

NO contact

Off | On

N/A

Bo1'Pu'Flt

Boiler 1 pump fault

Alarm function: Extended (Notification class 7)

Reference value: Triggered

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

Bo1'Vlv'Pos

Boiler 1 valve command

BO

NO contact

Close | Open

N/A

Bo2'ManSwi

Boiler 2 manual switch

MI

N/A

Auto | Off | On

N/A

Bo2'T

Boiler 2 temperature

AI

LG-Ni1000

N/A

0...100 [°C]

Bo2'TRt

Boiler 2 return temperature

AI

LG-Ni1000

N/A

0...100 [°C]

Bo2'SftyTLm

Boiler 2 safety temperature limiter

Alarm function: Basic (Notification class 8)

Reference value: Triggered

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

Bo2'ExtCtl'Flt

Boiler 2 external control fault

Alarm function: Basic (Notification class 8)

Reference value: Triggered

Time deviation: 0 [s]

BI

NC contact

Normal | Tripped

N/A

Bo2'ExtCtl'Fb

Boiler 2 external control feedback

BI

NO contact

Off | On

N/A

Bo2'ExtCtl'SpT

Boiler 2 external control temperature setpoint

AO

0...10V

N/A

0...100 [°C]

Bo2'ExtCtl'Cmd

Boiler 2 external control command

BO

NO contact

Off | On

N/A

Bo2'Pu'Cmd

Boiler 2 pump command

BO

NO contact

Off | On

N/A

Bo2'Pu'Flt

Boiler 2 pump fault

Alarm function: Extended (Notification class 7)

Reference value: Triggered

Time deviation: 0 [s]

BI

NO contact

Normal | Tripped

N/A

Bo2'Vlv'Pos

Boiler 2 valve command

BO

NO contact

Close | Open

N/A