Set Temperature Mode

The input pins are sysSwitch, cmdMode, supplyTemp, effHeatSP, effCoolSP and allowAutoChange. The output pins are EFF_SETPT and EFF_TEMP_MODE. The control type input can be CVAHU or VAV. This function automatically calculates the effective temperature control mode based on the control type, system switch setting, network mode command, temperature set points, supply temperature and space temperature. From iteration to iteration, the Function Block keeps track of the previous command mode and the effective temperature mode. On power up or reset, these are cleared.

effTempMode indicates the current Mode determined by input states and arbitrated by control logic. SetTempMode does not generate all the possible Modes available. The valid enumerated values have the following meanings:

effTempMode Meaning
COOL_MODE=0 Cool air is being supplied to the node via the central air supply and cooling energy is being supplied to the controlled space.
REHEAT_MODE=1 Cool air is being supplied to the node via the central air supply. The air is being reheated by a local Heat source.
HEAT_MODE=2 Heated air is being supplied to the node via the central air supply and heated air is being supplied to the controlled space.
EMERG_HEAT=3 Emergency Heat is being supplied to the node via the central air supply.
OFF_MODE=255 Controller is commanded off.

Analog Inputs

Range
Input Name Cfg Low High Input Value Description
sysSwitch IN 0 255 unconnected SystemSwitch = SS_AUTO(0)
invalid SystemSwitch = SS_AUTO(0)
VAL < low SystemSwitch = SS_AUTO(0)
VAL > high SystemSwitch = SS_AUTO(0)
cmdMode IN 0 255 unconnected val = CMD_AUTO_MODE(0)
invalid val = CMD_AUTO_MODE(0)
VAL < low val = CMD_AUTO_MODE(0)
VAL > high val = CMD_AUTO_MODE(0)
supplyTemp IN 0 255 unconnected SupplyTemp = invalid
invalid SupplyTemp = invalid
VAL < low SupplyTemp = low
Val > high SupplyTemp = high
spaceTemp IN 0 255 unconnected SpaceTemp = invalid
invalid SpaceTemp = invalid
Val < low SpaceTemp = low
Val > high SpaceTemp = high
effHeatSP IN >=- infinity <+ infinity unconnected EffHeatSp = 68
invalid EffHeatSp = 68
effCoolSP IN >=- infinity <+ infinity unconnected EffCoolSp = 75
invalid EffCoolSp = 75
allowAutoChange IN_PAR 0 1 unconnected allowAutoChange=1
invalid allowAutoChange=1
Val < low allowAutoChange=1
Val > high allowAutoChange=1

Outputs

Range
Output Name Cfg Low High Description
effSetpt OUT_FLT 0.0 255.0 If effTempMode=COOL_MODE then val= effCoolSetPt, else val=effHeatSetPt
effTempMode OUT_DIG 0 255 See arbitration table for VAV and CVAHU behavior

Configuration

Specify the control Type (controlType)

Input Enumerations

sysSwitch  
SS_AUTO = 0
SS_COOL = 1
SS_HEAT = 2
SS_EMERG_HEAT = 3
SS_OFF = 255
cmdMode  
CMD_AUTO_MODE = 0 = 0
CMD_HEAT_MODE = 1 = 1
CMD_COOL_MODE = 2 = 2
CMD_OFF_MODE = 3 = 3
CMD_EMERG_HEAT_MODE = 4 = 4
CMD_NUL_MODE = 255 = 255

The CVAHU arbitration logic for ControlType = 0 (CVAHU) is summarized by the table below:

Space Temp sysSwitch cmdMode effTempMode
X X CMD_OFF(3) OFF_MODE(255)
X X CMD_EMERG_HEAT_MODE(4) EMERG_HEAT(3)
X X CMD_COOL_MODE(2) COOL_MODE(0)
X X CMD_HEAT_MODE(1) HEAT_MODE(2)
X X ENUMERATION (5) through
ENUMERATION (254)
HEAT_MODE(2)
X SS_COOL (1) CMD_AUTO_MODE(0), CMD_NUL_MODE(255) COOL_MODE (0)
X SS_HEAT (2)
or ENUMERATION(4) through ENUMERATION (254)
CMD_AUTO_MODE(0), CMD_NUL_MODE(255) HEAT_MODE(2)
X SS_EMERGENCY_HEAT(3) CMD_AUTO_MODE(0), CMD_NUL_MODE(255), EMERG_HEAT(3)
X SS_OFF (255) CMD_AUTO_MODE(0), CMD_NUL_MODE(255) OFF_MODE(255)
INVALID SS_AUTO(0), invalid, unconnected, or a non-listed enumeration. CMD_AUTO_MODE(0), CMD_NUL_MODE(255) HEAT_MODE(2)
VALID SS_AUTO(0), invalid, unconnected, or a non-listed enumeration. CMD_AUTO_MODE(0), CMD_NUL_MODE(255), COOL_MODE(0) or HEAT_MODE(2)
(see note 2)

X means Do not Care

Note 2: If allowAutoChange = 1 then allow to switch between HEAT_MODE and COOL_MODE. Must have valid effHeatSP and effCoolSP. If allowAutoChange = 1 and effHeatSp > effCoolSp, then effHeatSp is internally set to effCoolSP.

The VAV Mode arbitration logic for controlType = 1 (VAV) is summarized by the table below:

Space Temp sysSwitch Supply Temp cmdMode effTempMode
X X X CMD_OFF_MODE(3) OFF_MODE(255)
X X X CMD_EMERG_HEAT_MODE(4) HEAT_MODE(2)
X X X ENUMERATION (5) through
ENUMERATION (254)
COOL_MODE(0)
Valid X <70.0 CMD_AUTO_MODE (0), CMD_HEAT_MODE (1), CMD_NUL_MODE (255) COOL_MODE (0) or REHEAT_MODE (1) (see note 1)
Valid X <70.0 CMD_COOL_MODE(2) COOL_MODE (0)
Valid X 70.0 TO 75.0 CMD_AUTO_MODE (0), CMD_HEAT_MODE (1), CMD_COOL_MODE (2), CMD_NUL_MODE (255) COOL_MODE (0), REHEAT_MODE (1), HEAT_MODE (2) (see note 1 for transition between cool mode and reheat mode)
Valid X >75 CMD_AUTO_MODE (0), CMD_HEAT_MODE (1), CMD_NUL_MODE (255) HEAT_MODE(2)
Valid X Invalid or unconnected CMD_HEAT_MODE (1) HEAT_MODE (2)
Valid X Invalid or unconnected CMD_COOL_MODE (2) COOL_MODE (0)
Valid SS_COOL(1) Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255) COOL_MODE(0)
Valid SS_HEAT(2) Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255) HEAT_MODE(2)
Valid SS_
EMERGENCY_HEAT(3)
Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255) HEAT_MODE(2)
Valid SS_OFF(255) Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255) OFF_MODE(255)
Valid SS_AUTO(0), invalid, unconnected, or a non-listed enumeration. Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255), COOL_MODE(0) or REHEAT_MODE(1)
(see note 1)
InValid SS_AUTO(0), invalid, unconnected, or a non-listed enumeration. Invalid or unconnected CMD_AUTO_MODE (0), CMD_NUL_MODE (255), COOL_MODE(0)

X means Do not Care

Note 1: If allowAutoChange = 1 then allow to switch between REHEAT_MODE and COOL_MODE. Must have valid effHeatSP and effCoolSP.

If in cool mode and spacetemp < effheat setpt and space temp < effcoolsetpt - 1.0 then go to reheat mode. If in reheat mode and spacetemp > effCoolSetpt and spacetemp > effHeatsetpt + 1.0 then go to cool mode.