The input pins for the function block are EffOccCurrentState, ScheduleNextState, ScheduleTUNCOS, Setpoint, HeatRampRate, CoolRampRate and ManualOverrideState. The output pins are EFF_HEAT_SETPT and EFF_COOL_SETPT. This function calculates the current Effective Heat setpoint and Effective Cool setpoint based on the current schedule information, occupancy override, and intelligent recovery information.
Inputs
| Range | ||||
| Input Name | Low | High | Input Value | Description |
| EffOccCurrentState | 0 | 3 | unconnected | Eff Occ Current State = 0 (OCC) |
| invalid | Eff Occ Current State = 0 (OCC) | |||
| VAL < low | Eff Occ Current State = 0 (OCC) | |||
| VAL > high | Eff Occ Current State = 0 (OCC) | |||
| ScheduleNextState | 0 | 1, 3, 255 | unconnected | Schedule Next State = 255 (OCCNUL) |
| invalid | Schedule Next State = 255 (OCCNUL) | |||
| VAL < low | Schedule Next State = 255 (OCCNUL) | |||
| VAL > high | Schedule Next State = 255 (OCCNUL) | |||
| ScheduleTUNCOS | 0 | 11520 | unconnected | Schedule TUNCOS = 11520 |
| (min) | invalid | Schedule TUNCOS = 11520 | ||
| VAL < low | Schedule TUNCOS = 0 | |||
| VAL > high | Schedule TUNCOS = 11520 | |||
| Setpoint | >=-Infinity | <+Infinity | unconnected | Setpoint = 0 |
| invalid | Setpoint = 0 | |||
| VAL < low | Setpoint = 0 | |||
| VAL > high | Setpoint = 0 | |||
| HeatRampRate | 0 | <+Infinity | unconnected | Heat Ramp Rate = 0 |
| invalid | Heat Ramp Rate = 0 | |||
| VAL < low | Heat Ramp Rate = 0 | |||
| VAL > high | Heat Ramp Rate = 0 | |||
| CoolRampRate | 0 | <+Infinity | unconnected | Cool Ramp Rate = 0 |
| invalid | Cool Ramp Rate = 0 | |||
| VAL < low | Cool Ramp Rate = 0 | |||
| VAL > high | Cool Ramp Rate = 0 | |||
| ManualOverrideState | 0 | 3,255 | unconnected | Manual Override State = 255 (OCCNUL) |
| invalid | Manual Override State = 255 (OCCNUL) | |||
| VAL < low | Manual Override State = 255 (OCCNUL) | |||
| VAL > high | Manual Override State = 255 (OCCNUL) | |||
Occ = 0, Unocc=1, Bypass =2, Standby = 3, Null = 255.
Outputs
| Output Name | Range | Description |
| EFF_HEAT_SETPT | Any floating point number | Effective Heat Setpoint |
| EFF_COOL_SETPT | Any floating point number | Effective Cool Setpoint |
SetpointType
| Property Value | Description |
| Global | For Lon devices, setpoints are taken from the nciTempSetpoints, which is created in NV configuration view during drag and drop action of the function block on the wiresheet. For BACnet devices, setpoints are taken from the six objects (AV_occupieedCool, AV_standbyCool, AV_unoccupiedCool, AV_occupiedHeat, AV_standbyHeat, AV_unoccupiedHeat) created in Object Configuration view during drag and drop action of the function block on the wiresheet |
| Custom | Applicable only to Spyder Relay models. Applies
setpoints to that function block alone. In the Function block, the following
six extra inputs appear that are available for connection:
|
Configuration
Specify the 6 setpoints. When the TempSPCalc Function Block is used, nciSetpoints (SNVT temp setpt) is added by the Spyder Tool. nciTempSetpoints is mapped by the Tool to the first 6 Public variables under Control non-volatile. The order is:
Occupied Cool
Standby Cool
Unoccupied Cool
Occupied Heat
Standby Heat
Unoccupied Heat
You may have more than one TempSPCalc Function Block, however all blocks use the same nciSetpoints network variable and map to the same 6 public variables. The input parameters provided to TempSPCalc are EffOccCurrentState, ScheduleNextState, ScheduleTUNCOS, Setpoint, HeatRampRate, CoolRampRate and ManualOverrideState.
The valid values for each of these parameters are given below:
| Parameter | Valid values |
| EffOccCurrentState | Occ, Stdby, Byp, Unocc |
| ScheduleNextState | Occ, Stdby, Unocc, Null |
| ScheduleTUNCOS | 0 to 11520 |
| Setpoint | Float |
| HeatRampRate | 0 to +infinity |
| CoolRampRate | 0 to +infinity |
| ManualOverrideState | Occ, Stdby, Byp, Unocc, Null |
Temperature Setpoint Calculator
The Temperature Setpoint Calculator uses the following 6 programmed setpoints to determine the effective heat setpoint and effective cool setpoint:
- Effective occupancy current state
- Scheduled next state and TUNCOS
- Center/offset setpoint
- Manual override state
- Recovery heat ramp rate
- Recovery cool ramp rate
The algorithm:
- If the effective occupancy current state is in unoccupied mode and not in manual override, then calculates the recovery ramps.
- If the effective occupancy current state is in occupied or bypass mode, uses the occupied setpoints.
- If the effective occupancy current state is in standby mode, uses the standby setpoints.
Programmed Set Points
The controller is programmed with six setpoints. There are three setpoints of occupied, standby and unoccupied for heating and the same for cooling. All six can be changed from the Network via nciSetpoints. The Temperature Setpoint calculator does not place any restrictions on relationships between the setpoints and other inputs and the resulting calculations. This function block depends on the Tools writing nciSetpoints to enforce the range and relationship.
For reference, the LonMark Space Comfort Controller profile defines nciSetpoints as having a range of 10 Deg. C to 35 Deg. C with the following relationship unoccupied heat = standby heat = occupied heat = occupied cool = standby cool = unoccupied cool.
Setpoint Input
This input allows the temperature setpoint for the occupied and standby mode to be changed via the wall module and/or network. This input can be either center or offset setpoint. If the input is less than 10, then it is treated as offset setpoint. If the input is greater than or equal to 10, it is treated as center setpoint. It is the responsibility of the user to insure the results are within the desired range. That is, it is possible to combine the setpoint input and the programmed heat and cool setpoints and get an effective setpoint outside of the unoccupied setpoints.
Offset Setpoint
The setpoint acts in offset mode (that is, relative setpoint) when the value on the Setpoint input is less than 10. The setpoint input adjusts the programmed occupied and standby heating and cooling setpoints up and down by the amount on the input. The user must insure the input range is less than +10 for offset setpoint to be used. The setpoint input does not affect the unoccupied setpoints. During bypass, the occupied setpoints are adjusted. If the setpoint input is not connected or the sensor has failed, the offset is zero. You must insure consistent units. That is, if the Setpoint input is in degrees Fahrenheit, the programmed setpoints should also be in degrees Fahrenheit.
- Occupied cool setpoint = programmed occupied cool setpoint + Setpoint input.
- Occupied heat setpoint = programmed occupied heat setpoint + Setpoint input.
- Standby cool setpoint = programmed standby cool setpoint + Setpoint input.
- Standby heat setpoint = programmed standby heat setpoint + Setpoint input.
Center Setpoint
If the value on the Setpoint input is greater than or equal to 10, it is used as the center setpoint (that is, absolute setpoint). If an invalid setpoint is on the Setpoint input, then the programmed setpoints are used. The individual heat or cool setpoints for occupied and standby mode then derive from the Setpoint input minus/plus half the zero energy bands calculated from the programmed setpoints.
Example
zeb occ = programmed occupied cool - programmed occupied heat
zeb standby = programmed standby cool - programmed standby heat.
Occupied cool setpoint = setpoint + 1/2 zeb occ
Occupied heat setpoint = setpoint - 1/2 zeb occ
Standby cool setpoint = setpoint + 1/2 zeb standby
Standby heat setpoint = setpoint - 1/2 zeb standby
Manual Override State
The Manual Override State is required to turn off recovery if in manual mode. If the Manual Override State is any value other than null, then the algorithm does not know the scheduled next state and setpoint recovery is NOT done.
Note: Manual Override State does not affect the effective occupancy state. The OccArb function block already handles this. The effective setpoints never go to the state commanded by the Manual Override state input. Manual Override State just affects recovery as stated above.
Effective Occupied State
This is used by the algorithm to determine the setpoints for the current occupancy state. When the Effective Occupancy Current state is occupied or bypass, use the occupied setpoints. When the Effective Occupancy Current state is standby, use the standby setpoints. When the Effective Occupancy Current state is unoccupied, recover the setpoint to the next state of occupied or standby. No recovery is done if in manual mode. See Adaptive Intelligent Recovery section.
Heating and Cooling Ramp rates
These are used by the adaptive recovery algorithm to recover the heating and cooling setpoints from their unoccupied values.
Schedule Next state and TUNCOS
These are used by the adaptive recovery algorithm to recover the heating and cooling setpoints from their unoccupied values.
Adaptive Intelligent Recovery
Set point recovery applies to setpoint changes associated with the following schedule state changes:
Setpoint changes from occupied or standby to unoccupied state, changes from occupied to standby state, and changes from standby to occupied state use a step change in setpoint.
The heating or cooling recovery ramp begins before the next state transition time.
During the recovery ramps, the heating and cooling set points are ramped from the unoccupied setpoint to the next state setpoint. The setpoint ramps are at the target setpoint 10 minutes prior to the occupied/standby event time.
This allows the HVAC equipment an extra 10 minutes to get the space temperature to the target setpoint during recovery.
Note: Recovery is NOT done if manual occupancy is in effect.
You provide the heat and cool recovery ramp rates to the Temperature Setpoint Calculator. These can be constants, values calculated using the Ratio function block using outdoor air temperature, or some other method.
Heating and cooling recovery ramp rates can be any value greater than or equal to zero and have units of degree/Hr. A ramp rate of 0 degree/Hr means no recovery ramp for that mode. This means the setpoint steps from one setpoint to the other at the event time. (that is, No extra 10 minutes). The user must insure consistent units. That is, the ramp rates should be in the same units as the setpoints.
Note: If the user programs a rate of 1 degree/Hr and has more than 192 degree spread between OCC and UNOCC set points, the algorithm is in recovery immediately when going to UNOCC. This is because the maximum TUNCOS is 11520 minutes times 1 degree/Hr = 192 degree maximum delta.
TUNCOS Mesa
The controller implements the TUNCOS Mesa feature. This feature, also known as the Smith Mesa after Gary Smith implemented it in the T7300 series 1000. The TUNCOS Mesa was added to the algorithm to insure the HVAC equipment gets the space temperature up to setpoint by the occupied time. The recovery algorithm subtracts 10 minutes from the TUNCOS and uses that to calculate the setpoint ramps.
Effective Setpoint Limiting
This algorithm does nothing to insure the effective cooling setpoint does not go above the unoccupied cooling setpoint and the effective heating setpoint does not go below the unoccupied heating setpoint. No check is made to insure the effective heat and cool setpoints stay a minimum distance apart.