This document may contain valuable information proprietary to CleanTech Analytics which is private and confidential. It may not be shared, copied, stored or transmitted in any form without the prior written consent of CleanTech Analytics
And to illistrate...here is a bit of code epmacro i used to create the CO2 part of my idf for the different zones to which it must be applied.
I ran this sepperately (still using eplaunch and just exchanged the include file for the CO2 for this one. It expands into the CO2 idf that I then later included...if that makes sense. Unfortunately it expands with a character that has to be manually removed with find and replace. I can't remember what the character was...possibly a '#' or a space?
##DEF CO2_EMS_FOR_ZONES[mmZone]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!EMS for Damper Control by CO2 Level
!*****THIS FILE IS USED TO GENERATE A FILE THAT HAS "" THAT NEED TO BE REMOVED******!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! CC = CurrentCO2Concentration
! CCSP = CurrentCO2SP
! CDP = CurrentDamperPos
! CO2SPUL = CO2_SP_Sensor UPPER LIMIT
! CO2SPLL = CO2_SP_Sensor LOWER LIMIT
! ODACO2SPUL = ODA CO2_SP_Sensor
! ZDCS = ZDC_Sensor
! ZDC = Zone_Damper_Changer
! MDF = MINDAMPERFRACTION
! CMM = CO2ModificationManager
! CMMPr = CO2ModificationManager Program
! CS = CO2_Sensor
! DaLL = Damper Lower Limit
EnergyManagementSystem:GlobalVariable,
#[mmZone // _CC] ,
#[mmZone // _CCSP ] ,
#[mmZone // _CDP ] ,
#[mmZone // _dDamper ] ,
#[mmZone // _dCO2 ] ,
#[mmZone // _MM ] ,
#[mmZone // _ODACO2SPULV ],
#[mmZone // _CO2SPULV ],
#[mmZone // _CO2SPLLV ],
#[mmZone // _DaLLV ]; !- Erl Variable 2 Name
EnergyManagementSystem:Sensor,
#[mmZone // _CS] , ! Sensor Name...reporting temperature
mmZone ,! Output:Variable or Output:Meter Index Key Name Output:Variable,*,Outdoor Dry Bulb,hourly; !- Zone Average [C]
Zone Air Carbon Dioxide Concentration ; ! Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
#[mmZone // _ODACO2SPUL] , ! Sensor Name...reporting temperature
Outdoor CO2 Schedule , ! Output:Variable or Output:Meter Index Key Name Zone/Sys Thermostat Cooling Setpoint Output:Variable,*,Zone/Sys Thermostat Cooling Setpoint,hourly; !- Zone Average [C]
Schedule Value ; ! Output:Variable or Output:Meter Name
!Setpoint Value
EnergyManagementSystem:Sensor,
#[mmZone // _CO2SPLL] , ! Sensor Name...reporting schedule properties
CO2SPLL , ! Output:Variable or Output:Meter Index Key Name Zone/Sys Thermostat Cooling Setpoint Output:Variable,*,Zone/Sys Thermostat Cooling Setpoint,hourly; !- Zone Average [C]
Schedule Value ; ! Output:Variable or Output:Meter Name
!Setpoint Value
EnergyManagementSystem:Sensor,
#[mmZone // _CO2SPUL] , ! Sensor Name...reporting schedule properties
CO2SPUL , ! Output:Variable or Output:Meter Index Key Name Zone/Sys Thermostat Cooling Setpoint Output:Variable,*,Zone/Sys Thermostat Cooling Setpoint,hourly; !- Zone Average [C]
Schedule Value ; ! Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
#[mmZone // _DaLL] , !- Name
DaLL , ! Output:Variable or Output:Meter Index Key Name...in this case !-EnergyManagementSystem:Actuator Available,COOLING SP SCH,Schedule:Compact,Schedule Value,[ ]
Schedule Value ;!Damper Lower Limit Schedule
EnergyManagementSystem:Sensor,
#[mmZone // _ZDCS] , !- Name
mmZone MDF , ! Output:Variable or Output:Meter Index Key Name...in this case !-EnergyManagementSystem:Actuator Available,COOLING SP SCH,Schedule:Compact,Schedule Value,[ ]
Schedule Value ;!VAV Terminal Damper Position ; ! Output:Variable or Output:Meter Name
! <EnergyManagementSystem:Actuator Available>, Component Unique Name, Component Type, Control Type, Units
!EnergyManagementSystem:Actuator Available,MDF,Schedule:Compact,Schedule Value,[ ]
EnergyManagementSystem:Actuator,
#[mmZone // _ZDC] , !- Name
mmZone MDF , !- Actuated Component Unique Name...in this case !-EnergyManagementSystem:Actuator Available,COOLING SP SCH,Schedule:Compact,Schedule Value,[ ]
Schedule:Compact, !- Actuated Component Type
Schedule Value ; !- Actuated Component Control Type
!***Program Calling Proceedure***
EnergyManagementSystem:ProgramCallingManager,
#[mmZone // _CMM] , ! Name
AfterPredictorAfterHVACManagers,!BeginTimestepBeforePredictor , ! EnergyPlus Model Calling Point
#[mmZone // _CMMPr] ; ! Program 1 Name
!***Main Program***
!******************
EnergyManagementSystem:Program,
#[mmZone // _CMMPr] , ! Program 1 Name
SET #[mmZone // _ODACO2SPULV ] = #[mmZone // _ODACO2SPUL],
SET #[mmZone // _CO2SPULV ] = #[mmZone // _CO2SPUL],
SET #[mmZone // _CO2SPLLV ] = #[mmZone // _CO2SPLL],
SET #[mmZone // _DaLLV ] = #[mmZone // _DaLL] ,
SET #[mmZone // _CC] = #[mmZone // _CS] ,
SET #[mmZone // _CDP] = #[mmZone // _ZDCS] ,
SET #[mmZone // _dDamper ] = (1 - #[mmZone // _DaLLV ]), !max min damper positions
SET #[mmZone // _dCO2 ] = #[mmZone // _CO2SPULV] - #[mmZone // _CO2SPLLV] , !max min CO2 levels, i.e. SP and ODA CO2
SET #[mmZone // _MM ] = 1 - (#[mmZone // _dDamper ] / #[mmZone // _dCO2 ] * #[mmZone // _CO2SPULV] ) ,
IF (#[mmZone // _CC] >= #[mmZone // _CO2SPLLV ] ) && (#[mmZone // _CC] <= #[mmZone // _CO2SPULV ] ),
SET #[mmZone // _ZDC] = #[mmZone // _CC] * #[mmZone // _dDamper ] / #[mmZone // _dCO2 ] + #[mmZone // _MM ] ,
ELSEIF #[mmZone // _CC] < #[mmZone // _CO2SPLLV ] ,
SET #[mmZone // _ZDC] = #[mmZone // _DaLLV ] ,
ELSEIF #[mmZone // _CC] > #[mmZone // _CO2SPULV ] ,
SET #[mmZone // _ZDC] = 1 ,
ENDIF;
!***End Main Program***
!**********************
##EndDEF
CO2_EMS_FOR_ZONES [U12]
CO2_EMS_FOR_ZONES [PE00WN]
CO2_EMS_FOR_ZONES [PE00WS]
CO2_EMS_FOR_ZONES [PE00WW]
CO2_EMS_FOR_ZONES [PE0Z02W]
CO2_EMS_FOR_ZONES [PE03W]
CO2_EMS_FOR_ZONES [HE00]
CO2_EMS_FOR_ZONES [HE0Z03]
CO2_EMS_FOR_ZONES [PavN]
CO2_EMS_FOR_ZONES [PavS]
!*******************************************DEFINE DAMPER SCHEDULES FOR ZONES*****************************
##def DAMPER_SCH_ZONES[mmZone]
Schedule:Compact,
mmZone MDF,
Fraction,
Through: 12/31,
For: AllDays,
Until: 05:00, 0.3,!0,
Until: 23:00, 0.7,
Until: 24:00, 0.3;
##EndDef
DAMPER_SCH_ZONES [U12]
DAMPER_SCH_ZONES [PE00WN]
DAMPER_SCH_ZONES [PE00WS]
DAMPER_SCH_ZONES [PE00WW]
DAMPER_SCH_ZONES [PE0Z02W]
DAMPER_SCH_ZONES [PE03W]
DAMPER_SCH_ZONES [HE00]
DAMPER_SCH_ZONES [HE0Z03]
DAMPER_SCH_ZONES [PavN]
DAMPER_SCH_ZONES [PavS]
!*******************************************END DEFINE DAMPER SCHEDULES FOR ZONES **********************
Attachment not found: d:\eudora\attach\BASELINE-INCLUDE.idf
Attachment not found: d:\eudora\attach\IMFTEST2.epg
Attachment not found: d:\eudora\attach\M27.IMF
Attachment not found: d:\eudora\attach\M51.IMF
Attachment not found: d:\eudora\attach\M91.IMF
Attachment not found: d:\eudora\attach\M182.IMF
Attachment not found: d:\eudora\attach\Q21.IMF
Attachment not found: d:\eudora\attach\Q23.IMF
Attachment not found: d:\eudora\attach\Q25.IMF
Attachment not found: d:\eudora\attach\Q27.IMF
Attachment not found: d:\eudora\attach\BASELINE-INCLUDE.err
Attachment not found: d:\eudora\attach\IMFTEST2.errgrp