Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor, tzacq, !- Name MasterZone, !- Output:Variable or Output:Meter Index Key Name Zone Air Temperature; !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor, tzsp, !Name MyTzSP, ! Output:Variable Index Key Name Schedule Value; ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,

Control Program, !- Name

EndOfZoneTimestepAfterZoneReporting, !- EnergyPlus Model Calling Point

controlprogram; !- Program Name 1

EnergyManagementSystem:Actuator,

HVACschavail, !- Name

ChangeMe, !- Component Name

Schedule:Year, !- Component Type

Schedule Value; !- Control Variable

EnergyManagementSystem:Program,

controlprogram, !- Name

SET diff = tzsp-tzacq,

IF (diff>=2),

SET HVACschavail = 1,

ELSEIF (diff<=(-2)),

SET HVACschavail = 0,

ENDIF;

Output:EnergyManagementSystem,

Verbose, Verbose, Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

image:Zone Temperature Graph

image:Loop Setup

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor, tzacq, !- Name MasterZone, !- Output:Variable or Output:Meter Index Key Name Zone Air Temperature; !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor, tzsp, !Name MyTzSP, ! Output:Variable Index Key Name Schedule Value; ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,

Control Program, !- Name

EndOfZoneTimestepAfterZoneReporting, !- EnergyPlus Model Calling Point

controlprogram; !- Program Name 1

EnergyManagementSystem:Actuator,

HVACschavail, !- Name

ChangeMe, !- Component Name

Schedule:Year, !- Component Type

Schedule Value; !- Control Variable

EnergyManagementSystem:Program,

controlprogram, !- Name

SET diff = tzsp-tzacq,

IF (diff>=2),

SET HVACschavail = 1,

ELSEIF (diff<=(-2)),

SET HVACschavail = 0,

ENDIF;

Output:EnergyManagementSystem,

Verbose, Verbose, Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

image:Zone Temperature Graph

image:Loop Setup

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor,
  tzacq,                      !- Name
  MasterZone,                 !- Output:Variable or Output:Meter Index Key Name
  Zone Air Temperature;           !- Output:Variable or Output:Meter Name

Name EnergyManagementSystem:Sensor, tzsp, !Name MyTzSP, ! Output:Variable Index Key Name Schedule Value; ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,

Name EnergyManagementSystem:ProgramCallingManager, Control Program, !- Name

Name EndOfZoneTimestepAfterZoneReporting, !- EnergyPlus Model Calling Point

Point controlprogram; !- Program Name 1

EnergyManagementSystem:Actuator,

1 EnergyManagementSystem:Actuator, HVACschavail, !- Name

Name ChangeMe, !- Component Name

Name Schedule:Year, !- Component Type

Type Schedule Value; !- Control Variable

EnergyManagementSystem:Program,

Variable EnergyManagementSystem:Program, controlprogram, !- Name

Name SET diff = tzsp-tzacq,

tzsp-tzacq, IF (diff>=2),

(diff>=2),
    SET HVACschavail = 1,

ELSEIF (diff<=(-2)),

(diff<=(-2)),
    SET HVACschavail = 0,
  ENDIF;

Output:EnergyManagementSystem,
  Verbose,
  Verbose,
  Verbose;

ENDIF;

Output:EnergyManagementSystem,

Verbose, Verbose, Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

image:Zone Temperature Graph

image:Loop Setup

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor,
  tzacq,                      !- Name
  MasterZone,                 !- Output:Variable or Output:Meter Index Key Name
  Zone Air Temperature;           !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
  tzsp,                   !Name
  MyTzSP,                     ! Output:Variable Index Key Name
  Schedule Value;             ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,
  Control Program,                !- Name
  EndOfZoneTimestepAfterZoneReporting,    !- EnergyPlus Model Calling Point
  controlprogram;                 !- Program Name 1

EnergyManagementSystem:Actuator,
  HVACschavail,               !- Name
  ChangeMe,           !- Component Name
  Schedule:Year,              !- Component Type
  Schedule Value;             !- Control Variable

EnergyManagementSystem:Program,
  controlprogram,                 !- Name
  SET diff = tzsp-tzacq,
  IF (diff>=2),
    SET HVACschavail = 1,
  ELSEIF (diff<=(-2)),
    SET HVACschavail = 0,
  ENDIF;

Output:EnergyManagementSystem,
  Verbose,
  Verbose,
  Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

image:Zone Temperature Graph

image:Loop Setup

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor,
  tzacq,                      !- Name
  MasterZone,                 !- Output:Variable or Output:Meter Index Key Name
  Zone Air Temperature;           !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
  tzsp,                   !Name
  MyTzSP,                     ! Output:Variable Index Key Name
  Schedule Value;             ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,
  Control Program,                !- Name
  EndOfZoneTimestepAfterZoneReporting,    !- EnergyPlus Model Calling Point
  controlprogram;                 !- Program Name 1

EnergyManagementSystem:Actuator,
  HVACschavail,               !- Name
  ChangeMe,           !- Component Name
  Schedule:Year,              !- Component Type
  Schedule Value;             !- Control Variable

EnergyManagementSystem:Program,
  controlprogram,                 !- Name
  SET diff = tzsp-tzacq,
  IF (diff>=2),
    SET HVACschavail = 1,
  ELSEIF (diff<=(-2)),
    SET HVACschavail = 0,
  ENDIF;

Output:EnergyManagementSystem,
  Verbose,
  Verbose,
  Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

image:Zone Temperature Graphhttps://www.dropbox.com/s/vtjz4iq0foaruv6/Snip1.PNG?dl=0

image:Loop Setuphttps://www.dropbox.com/s/pejvagwk29kv4wr/Snip2.PNG?dl=0

On/Off HVAC Dynamics Issue

Hello, I'm a new poster here although I've been using the forum for awhile. I've run into the issue of erratic zone temperature dynamics while using EMS to implement an On/Off Furnace control with a 1C deadband.

This program just changes the availability of the loop through a Scheduled AVM 1) to off if zone temperature is 0.5C over the setpoint and 2) to available if it is 0.5C below the setpoint. Only heating season is being simulated. The setpoint used for the program is 21C and the setpoint being imposed on the zones is 30C (to ensure the furnace is at capacity whenever it is on). The program works fine, but whenever the action changes, the two timesteps afterwards show a massive, unrealistic jump in zone temperature, only to slow their rate of change afterwards to a more normal pace. This happens despite constant heat losses from the envelope and infiltration.

It has showed severe oscillation in the explained setup. I think it may be a timestep issue somewhere because when I widen the deadband is when I see the rate of temperature change go back to normal (given a few more timesteps before it triggers the control action).

I'm working in OpenStudio, and am inputting this IDF text through the EP measure to do so:

EnergyManagementSystem:Sensor,
  tzacq,                      !- Name
  MasterZone,                 !- Output:Variable or Output:Meter Index Key Name
  Zone Air Temperature;           !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
  tzsp,                   !Name
  MyTzSP,                     ! Output:Variable Index Key Name
  Schedule Value;             ! Output:Variable or Output:Meter Name

EnergyManagementSystem:ProgramCallingManager,
  Control Program,                !- Name
  EndOfZoneTimestepAfterZoneReporting,    !- EnergyPlus Model Calling Point
  controlprogram;                 !- Program Name 1

EnergyManagementSystem:Actuator,
  HVACschavail,               !- Name
  ChangeMe,           !- Component Name
  Schedule:Year,              !- Component Type
  Schedule Value;             !- Control Variable

EnergyManagementSystem:Program,
  controlprogram,                 !- Name
  SET diff = tzsp-tzacq,
  IF (diff>=2),
    SET HVACschavail = 1,
  ELSEIF (diff<=(-2)),
    SET HVACschavail = 0,
  ENDIF;

Output:EnergyManagementSystem,
  Verbose,
  Verbose,
  Verbose;

Here is the test case zone air temperature output with a 4C deadband instead for a day in January.

https://www.dropbox.com/s/vtjz4iq0foaruv6/Snip1.PNG?dl=0

https://www.dropbox.com/s/pejvagwk29kv4wr/Snip2.PNG?dl=0