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

Revision history [back]

click to hide/show revision 1
initial version

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet based on the new Fan Outlet SP, and for the cooling coil outlet (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide. In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet based on the new Fan Outlet SP, and for the cooling coil outlet (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide. Guide.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet based on the new Fan Outlet SP, and for the cooling coil outlet (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image descriptionimage description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet outlet, and for the cooling coil outlet, based on the new Fan Outlet SP, and for the cooling coil outlet SP, (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet, and for the cooling coil outlet, based on the new Fan Outlet SP, (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide.Guide. This is needed to override the values that SPM:Mixed has already set at these nodes when the setpoint managers executed.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet, and for the cooling coil outlet, based on the new Fan Outlet SP, (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide. This is needed to override the values that SPM:Mixed SPM:Mixed has already set at these nodes when the setpoint managers executed.

In my question, I had mentioned that I was concerned that the SPM:Warmest SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet, and for the cooling coil outlet, based on the new Fan Outlet SP, (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide. This is needed to override the values that SPM:MixedSPM:MixedAir has already set at these nodes when the setpoint managers executed.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

I think I got this working using EMS. Here is what I did in a Test file:

  1. I used the expanded IDF from the Example file "HVAC Template- 5ZoneVAVWaterCooled" as a starting point.

  2. I put in an SPM:Warmest instead of the SPM:Scheduled in the example file (with min SP 12.78C and max SP 18.33C)

  3. I used the calling point "AfterPredictorAfterHVACManagers" for my EMS program. With this calling point, the SPM:Warmest is executed prior to the EMS program being executed.

  4. My EMS program does these things:

    a. Senses the SP values on the fan outlet node that was established by SPM:Warmest

    b. Based on the current OAT value, determines a new SP for the fan outlet node as follows: For OAT >=18.33: SP=12.78C; For OAT<=12.78: SP:maintain at value established by SPM:Warmest; For OAT between 12.78 and 18.33: SP= MINIMUM of (SPM:Warmest value, Ramped limit value calculated as: (15.56-(0.5*(OAT-12.78))))

    c. Establishes new SP values for the mixed air outlet, and for the cooling coil outlet, based on the new Fan Outlet SP, (as would normally be done by the SPM:MixedAir, and as demonstrated in Example 1 of the EMS Application Guide. This is needed to override the values that SPM:MixedAir has already set at these nodes when the setpoint managers executed.

In my question, I had mentioned that I was concerned that the SPM:Warmest was also setting flow rates to the zone, but this is not the case. E+ is handling calculation of the zone flow rates subsequent to my EMS program.

Here is a graph comparing results from the file created in Step #2 (SPM:Warmest) with my modified file using EMS to impose a variable Maximum reset limit based on OAT. Graph shows several warm OAT days in August. (I used the SFO weather file.):

image description

The results from the file with the OAT based max reset limit show the EMS is forcing the supply SP and supply air temp down to 12.78 as desired, when OAT (ORANGE line) is above 18.33. This is resulting in lower SAT (BROWN line), lower airflows (PINK line) compared to the original SPM:Warmest results which show higher SAT(BLUE line), higher airflows (DARK GREEN line).

@Aaron Boranian, @Chandan Sharma: you both had suggested that I should use a SPM:Scheduled in order to override setpoints. My approach seems like it is working. Am I overlooking a pitfall? Please let me know if so!

Here is the EMS:

EnergyManagementSystem:ProgramCallingManager,                                                           
    EMS-based Setpoint Managers,  !- Name                                                               
    AfterPredictorAfterHVACManagers,  !- EnergyPlus Model Calling Point                                 
    VAV_1_Setpoint;     !- Program Name 1                                                               

EnergyManagementSystem:Sensor,                                                                          
    OAT,           !- Name                                                                              
    *,  !- Output:Variable or Output:Meter Index Key Name                                               
    Site Outdoor Air Drybulb Temperature;  !- [C] Output:Variable or Output:Meter Name                  

EnergyManagementSystem:Sensor,                                                                          
    Warmest,                 !- Name                                                                    
    VAV Sys 1 Supply Fan Outlet,!- Output:Variable or Output:Meter Index Key Name                       
    System Node Setpoint Temperature; !- [C] Output:Variable or Output:Meter Name                       

EnergyManagementSystem:Sensor,                                                                          
    T_VAV1FanIn,             !- Name                                                                    
    VAV Sys 1 Heating Coil Outlet,  !- Output:Variable or Output:Meter Index Key Name                   
    System Node Temperature; !- Output:Variable or Output:Meter Name                                    

EnergyManagementSystem:Sensor,                                                                          
    T_VAV1FanOut,            !- Name                                                                    
    VAV Sys 1 Supply Fan Outlet,  !- Output:Variable or Output:Meter Index Key Name                     
    System Node Temperature; !- Output:Variable or Output:Meter Name                                    

EnergyManagementSystem:Actuator,                                                                        
    VAV_1_SAT_setpoint,      !- Name                                                                    
    VAV Sys 1 Supply Fan Outlet,  !- Actuated Component Unique Name                                     
    System Node Setpoint,    !- Actuated Component Type                                                 
    Temperature Setpoint;    !- Actuated Component Control Type                                         

EnergyManagementSystem:Actuator,                                                                        
    VAV_1_MixedAir_Setpoint,       !- Name                                                              
    VAV Sys 1 Mixed Air Outlet,!- Actuated Component Unique Name                                        
    System Node Setpoint,    !- Actuated Component Type                                                 
    Temperature Setpoint;    !- Actuated Component Control Type                                         

EnergyManagementSystem:Actuator,                                                                        
    VAV_1_CCOutlet_Setpoint,       !- Name                                                              
    VAV Sys 1 Cooling Coil Outlet,!- Actuated Component Unique Name                                     
    System Node Setpoint,    !- Actuated Component Type                                                 
    Temperature Setpoint;    !- Actuated Component Control Type                                         

EnergyManagementSystem:Program,                                                                         
    VAV_1_Setpoint,     !- Name                                                                         
    IF OAT>=18.33,                                                                                      
    SET FanOutletSetpoint = 12.78,                                                                      
    ENDIF,                                                                                              
    IF OAT<=12.78,                                                                                      
    SET FanOutletSetpoint = Warmest,                                                                    
    ENDIF,                                                                                              
    IF OAT>12.78 && OAT<18.33,                                                                          
    SET WSPM = Warmest,                                                                                 
    SET OA = OAT,                                                                                       
    SET FanOutletSetpoint = @MIN (15.56-(0.5*(OAT-12.78))) Warmest,                                     
    ENDIF,                                                                                              
    SET VAV_1_SAT_setpoint = FanOutletSetpoint,  !- Program Line 1                                      
    SET VAV_1_CCOutlet_Setpoint = FanOutletSetpoint - ( T_VAV1FanOut - T_VAV1FanIn),  !- Program Line 1 
    SET VAV_1_MixedAir_Setpoint = FanOutletSetpoint - ( T_VAV1FanOut - T_VAV1FanIn);  !- <none>