[OSSC] Optimum start stop control

Function block OSSC optimizes activation of HVAC equipment before start and end of room occupancy.

OSSC optimizes activation of HVAC equipment before start and end of room occupancy. OSSC is used to provide the desired room temperature at the beginning of occupancy at the lowest possible energy consumption (short duration of start phase). Additionally, energy supply (heating or cooling) is cut prior to the end of occupancy (longest possible stop phase).

Functioning

OSSC determines the start and stop phases based on the scheduler values: Present operating mode, next operating mode, and time to next operating mode. The outside and room temperature are also considered.

Adaptation is carried out after each plant start or stop.

The following functions are integrated in OSSC:

  • Optimum start stop control (OSSC) function for heating and cooling plants (not simultaneous)
  • Automatic adaptation of operating values

Start phase

The start phase comprises:

Step

Process

1

Prior to the start of occupancy ([OpModR] = Comfort or [OpModR] = Pre-Comf), the OSSC calculates the following values:

  • Required duration of the start phase [TiSttEst].
  • Time [DTiStt] to start phase.
  • Required room temperature setpoint [SpTRStt] in the start phase.

2

At the calculated time, the operating mode changes to [PrOpMod] = Start. The start phase begins.

3

In the start phase, the OSSC controls the room temperature via the room temperature setpoint [SpTRStt].
Control intends to ensure that the room temperature [TR] at the beginning of occupancy corresponds to the temperature setpoint [SpCmf] or [SpPcf].

4

After expiration of the start phase [TiSttEst], the operating mode is [PrOpMod] = Inactive. The start phase ends. Occupancy begins at this time.

5

During occupancy ([OpModR] = Comfort or [OpModR] = Pre-Comf), a start phase is not possible.

Stop phase

The stop phase comprises:

Step

Process

1

When [OpModR] = Comfort, OSSC calculates the following values:

  • Required duration of the stop phase [TiSttEst].
  • Time [DTiStt] to stop phase.
  • Required room temperature setpoint [SpTRStp] in the stop phase.

2

At the calculated time, the operating mode changes to [PrOpMod] = Stop. The stop phase begins.

3

In the stop phase, the OSSC controls the room temperature via the room temperature setpoint [SpTRStp].
Control intends to ensure that the room temperature [TR] at the end of occupancy corresponds to the temperature setpoint [SpPcf].

4

After expiration of the stop phase [TiSttEst], the operating mode is [PrOpMod] = Inactive. The stop phase ends. Occupancy ends at this time.

If the room temperature sensor is not used ([TRSen] = 0), OSSC disables stop optimization.

Start phase: Temperature reached too soon

If the temperature setpoint [SpCmf] in the start phase is reached prior to expiration of [TiSttEst], the operating mode changes to [PrOpMod] = Pre-Comf and the setpoint [SpTRStt] to [SpPcf]. Another start phase is impossible.

The time deviation to [TiSttEst] is indicated by [ErTiStt] > 0 and the temperature deviation [ErTRStt] is set to zero.

Start phase: Temperature reached too late

If the temperature setpoint [SpCmf] is reached later than after the expiration of [TiSttEst], the operating mode remains at [PrOpMod] = Start and start setpoint increased until the temperature setpoint is reached. The operating state changes to [OsscSta] = Late Start.

The time deviation to [TiSttEst] is indicated by [ErTiStt] < 0 and the temperature deviation by [ErTRStt] > 0.

Stop phase: Temperature reached too soon

If the temperature setpoint [SpPcf] in the stop phase is reached sooner than [TiStpEst], the operating mode changes to [PrOpMod] = Pre-Comf and the setpoint to [SpTRStp] = [SpPcf]. Another stop phase is impossible.
The time deviation to [TiStpEst] is indicated by [ErTiStp] > 0 and the temperature deviation [ErTRStp] is set to zero.

Stop phase: Temperature reached too late

If the temperature setpoint [SpPcf] in the stop phase is not reached after [TiStpEst], the operating mode still changes to [PrOpMod] = Inactive.
The time deviation to [TiStpEst] is indicated by [ErTiStp] = 0, the temperature deviation by [ErTRStp] < 0.

Special cases during room occupation

If the room operating mode changes to [OpModR] = Pre-Comf, the operating mode remains at [PrOpMod] = Inactive.

info

OSSC does not control the room temperature outside the start and stop phases. Outside the start/stop phases [PrOpMod] = Inactive and room temperature control must be taken over by other function blocks. For example, OSSC together with function block HCRV can be used for occupancy phases and sustained mode function for non-occupancy phases.
[HCRV] Heating curve

Determination of design start and stop times

The estimated time for start and stop phases requires configuration parameters. They are set as per the building properties and updated when adaptation to OSSC is enabled.

info

The parameters must be available on the associated BACnet object as extension property (Extension by persistence = Optimum start stop control).

Parameters

Meaning

TiSttDs

Start time for design conditions

For [ActgHC] = 0: [TiSttDs] is the start time required to heat up the room from 15°C to 20°C at an outside temperature of [TOaDsgn]. During start phase, the target room temperature setpoint ([SpCmf] or [SpPcf]) is increased by [DSpTRStt].
For [ActgHC] = 1: [TiSttDs] is the start time required to cool the room from 28°C to 24°C at a design outside temperature of [TOaDsgn]. During start phase, the target room temperature setpoint ([SpCmf] or [SpPcf]) is reduced by [DSpTRStt].
A change in [DSpTRStt] impacts all start parameters.

TiSttLld

Start time for low load conditions

For [ActgHC] = 0: [TiSttLld] is the start time that is required to heat up the room an outside temperature of 15°C from 15°C to 20°C. During start phase, the target room temperature setpoint ([SpCmf] or [SpPcf]) is increased by [DSpTRStt].
For [ActgHC] = 1: [TiSttLld] is the start time required to cool the room from 28°C to 24°C at an outside temperature of 20°C. During start phase, the target room temperature setpoint ([SpCmf] or [SpPcf]) is reduced by [DSpTRStt].
A change in [DSpTRStt] impacts all start parameters.

TiSttWe

Start time for weekend conditions

[TiSttWe] is the time that is added to the base start time at an design outside temperature [TOaDsgn], if the room is unoccupied over a longer period ([OpModR] = Protection or [OpModR] = Economy).
After a weekend, the start phase can be started earlier with this parameter.
[OpModFb] must be correctly generated and feedbacked to this parameter to influence the process.

TcnTRStp

Time constant of room temperature during stop time

[TcnTRStp] is the time constant at which a room is cooled or heating when shutting down heating or cooling (constant outside temperature).
Determination of time constant: Time constant is the time required to maintain 63% of the end value. After expiration of the time constant, a change to room temperature starts at 63% of the end temperature.

Typical interconnection to other function blocks

Connecting thread

Use

EnFnct

This input typically is used to indicate to OSSC if the scheduler R_MSCHED sets the room operating mode. If this is the case, OSSC can take effect (set [EnFnct] to 1) or not (set [EnFnct] to 0).

OpModRNxOpModRTnxOpMod

These inputs typically are interconnected to the R_MSCHED scheduler.

OpModFb

The winning (modified) changed room operating mode must be sent to this input. The modification is implemented as follows:

Heating/cooling plant off

[OpModFb] = Inactive

Else

[OpModFb] = Winning room operating mode.

OSSC only improves start/stop times [TiSttDs], [TiSttLld], [DTiSttWe], [TiStt0], [TcnTRStp] if feedback to [OpModFb] meets expectations. It checks whether the start and stop phases occurred as provided by the block. This prevents adaptations to start/stop times based on manual intervention or faults.

If [OsscSta] =

Setback
Early start
Late start
Early occupancy
Pre-Comfort
Comfort
Stop
Late occupancy

Expected by OSSC at [OpModFb]:

Inactive, Economy, Protection, Purge, NightCool
Start, Purge
Start
Pre-Comfort, Purge
Pre-Comfort
Comfort
Stop, Inactive
Pre-Comfort

PrOpMod

[PrOpMod] = Inactive

Other functional units must determine the room operating mode.

[PrOpMod] <> Inactive

The OSSC block determines the room operating mode if no functional units with higher priority determine the room operating mode.

SpTRSttSpTRStp

If [PrOpMod] = Start

the corresponding room temperature setpoint [SpTRStt] is valid.

If [PrOpMod] = Stop

the corresponding room temperature setpoint [SpTRStp] is valid.

During the stop phases, the heating/cooling plant must be switched off to ensure that the setpoint is not active. However, [SpTRStp] is the room temperature the OSSC block is supposed to reach at the end of occupancy.

OsscSta

If an OSSC block is used both for heating and cooling, [OsscSta] can be used to coordinate the two blocks.

Reset parameters.

The configuration parameters can be reset to the defaults. This can occur via input [ResetPar].

Parameters

Meaning

None

Normal function (Default value).

StartPar

Parameters [TiSttDs], [TiSttLld], [TiSttWe], [TiStt0] have default values.

StopPar

Parameter [TcnTRStp] is set to the default value.

Room temperature sensors

Condition

Result

TRSen = Yes

The room temperature is measured and available at input [TR].

TRSen = No

If the room temperature is not available as a measured value, [TRSen] must be set to No. In this case, no stop phases are triggered and start times are not improved. Input [TR] must be set either with a fixed value or receive a value calculated by a logic outside OSSC.

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.

OpModR

Operating mode for room

Present operating mode for room

Integer

4: Pre-Comfort

1…9

1: Inactive
2: Protection
3: Economy
4: Pre-Comfort
5: Comfort
6: NightCool.
7: Purge
8: Stop
9: Start

NxOpModR

Next operating mode for room

Next operating mode for room, requested by the scheduler

Integer

2: Protection

1…9

1: Inactive
2: Protection
3: Economy
4: Pre-Comfort
5: Comfort
6: NightCool.
7: Purge
8: Stop
9: Start

TiNxOpM

Time till next operating mode

Time

0

0…48h

SpPcf

Setpoint pre-comfort

Real

19.0

5.0…35.0 [°C]

SpCmf

Setpoint for comfort

Real

20.0

5…35 [°C]

TOa

Outside temperature

Real

20.0 [°C]
68.0 [°F]

-100.0…100.0 [°C]
-148.0…212.0 [°F]

ErTOa

Error for outside temperature

Indicates if the outside air temperature [TOa] is faulty.

Boolean

0

TR

Room temperature

Measures the (reference) room temperature.

Real

20.0 [°C]
68.0 [°F]

0.0…50.0 [°C]
32.0…122.0 [°F]

TRSen

Room temperature sensor

Boolean

1

ErTR

Error room temperature

Indicates if the room temperature [TR] is faulty.

Boolean

0

OpModFb

Operating mode feedback

Integer

1

1…9

1: Inactive
2: Protection
3: Economy
4: Pre-Comfort
5: Comfort
6: NightCool.
7: Purge
8: Stop
9: Start

EnAda

Enable adaptation

Boolean

1

ActgHC

Control action for heating or cooling

Boolean

0

0 - Heating
1 - Cooling

TOaDsgn

Design outside temperature

Defined as per heating plant planning data

Real

-11.0 [°C]
12.2 [°F]

-50.0…10.0 [°C]
-58.0…50.0 [°F]

TiSttMax

Maximum start time

Time

12h

0…72h

TiStpMax

Maximum stop time

Maximum time (duration) for stop phase

Time

1h

0…12h

DSpTRStt

Delta setpoint room temperature upon start

Real

10.0

ResetPar

Reset parameters

Integer

1: None

1…3

1: None
2: Start parameter
3: Stop parameter

BaObjRef

BA-Object reference
Link between function block and BACnet object.

Structure

---

BaObjRef
> DeviceID

Device identifier
[DeviceID] includes object type and object instance in one ID.
Identifies the device object: local or remote. A local device object can also be identified by value 16#3FFFFF.

Double Word

16#3FFFFF

BaObjRef
> ObjectID

Object identifier
[ObjectID] includes object type and object instance in one ID.
Identifies the object on a device.

Double Word

16#3FFFFF

BaObjRef
> ItemID

Item identifier
[ItemID] represents an index in a view node object that references the BACnet object.
[ObjectID] and [ItemID] together define an indirect reference to the BACnet object.
Value -1 indicates a direct interface.

Integer

-1

 

Output

Description

Data type

Default value
Value range

PrOpMod

Present operating mode

Integer

1

1…9

1: Inactive
2: Protection
3: Economy
4: Pre-Comfort
5: Comfort
6: NightCool.
7: Purge
8: Stop
9: Start

SpTRStt

Room temperature setpoint for start

Real

30.0

0.0…50.0 [°C]

SpTRStp

Room temperature setpoint for stop

Real

19.0

0.0…50.0 [°C]

OsscSta

OSSC state (optimum start stop control)

Integer

1: Setback

1…8

1: Setback
2: Early start
3: Late start
4: Early occupancy
5: Pre-Comfort
6: Comfort
7: Stop
8: Late occupancy

DTiStt

Delta to start time

Time

24h

0…72h

TiSttEst

Estimated start time

Time

0 ms

0…72h

DTiStp

Delta to stop time

Time

24h

0…72h

TiStpEst

Estimated stop time

Time

0 ms

0…12h

ErTiStt

Error start time

Time

0 ms

ErTRStt

Error room temperature at start time

Real

0.0 [K]

ErTiStp

Error stop time

Time

0 ms

ErTRStp

Error room temperature at stop time

Real

0.0 [K]

SysUnits

System of units

Indicates the system of units used by the block.

Integer

1: International system of units (SI) (fallback)

1...5

1: International system of units (SI) (fallback)
2: International system of units (SI)
3: US system of units
4: Imperial system of units
5: Canadian system of units

ErrCode

Error code indication

Integer

0: No error

= 0 - No error
> 0 - Error codes

Troubleshooting

Outside temperature error

If the outside air temperature is faulty, the OSSC block does not start the stop phase.

Room temperature error

If the room temperature is faulty, the OSSC block neither starts the start nor the stop phase.

Access to BACnet object

In the event of error accessing the BACnet object properties, start and stop optimization is performed with the default values.

No start and stop optimization is performed if the BACnet object reference is invalid.