DesignBuilder-logo

Connexion

Script de modulation Débit de ventilation mécanique selon CO2 en CVC Simple

Publié dans Script EMS

Le script EMS ci-dessous permet de moduler le débit de soufflage d'une zone selon sa concentration en CO2. Les paramètres min/max de concentration et de % de débit sont à saisir directement dans le script car ils ne sont pas affichés en CVC Simple.

Cela permet d'obtenir un comportement VAV sur CO2 en CVC SImple.

 Version : 6.1

Préquis : Module Script

Script :

! Ce programme nécessite :
! - Cocher le contrôle du CO2 au niveau Site > Détail du site
! - Utiliser le CVC Simple

! Description du programme
! Il module le débit d'air dans chaque zone selon la concentration en ppm du CO2.
! Le débit d'air varie entre un minimum (fraction à saisir ci-dessous) et 100%.
! La concentration min et max de CO2 de chaque zone sont utilisées pour :
! * décider lorsque le débit est à son min
! * définir la pente de la droite de modulation du débit

! A noter
! Le code suivant crée ce mécanisme pour toute zone occupée. Vous devez filtrer les zones sur leur nom ou prédéfinition (voir Aide DesignBuilder) pour éviter de générer ce code sur des zones non raccordées à la centrale d'air.

! Modifications à faire dans le code ci-dessous
! Les variables à saisir dans le script ci-dessous sont :
! > ZoneCO2Min : concentration min en CO2 (300 ppm par défaut)
! > ZoneCO2Max : concentration max en CO2 (900 ppm par défaut)
! > FactZoneCO2Min : fraction minimale de soufflage (30% par défaut)
! > FactZoneCO2Max : fraction maximale de soufflage (100% par défaut)

<ForAllOccupiedZones>
EnergyManagementSystem:Sensor,
<LoopZoneVariableName>_ConcentrationCO2Air,
<LoopZoneIDFName>,
Zone Air CO2 Concentration;

EnergyManagementSystem:Actuator,
<LoopZoneVariableName>_DebitMassiqueIL,
<LoopZoneIDFName> IDEAL LOADS AIR,
Ideal Loads Air System,
Air Mass Flow Rate;

EnergyManagementSystem:InternalVariable,
<LoopZoneVariableName>_ZoneDebitVolMaxIL,
<LoopZoneIDFName>,
Zone Outdoor Air Design Volume Flow Rate;

EnergyManagementSystem:Sensor,
<LoopZoneVariableName>_Temperature_Air,
<LoopZoneIDFName>,
Zone Mean Air Temperature;

EnergyManagementSystem:Sensor,
<LoopZoneVariableName>_Ratio_Humidite,
<LoopZoneIDFName>,
Zone Mean Air Humidity Ratio;

<LoopNextZone>

EnergyManagementSystem:Sensor,
Site_Pression_Air_Exterieur,
Environment,
Site Outdoor Air Barometric Pressure;

EnergyManagementSystem:ProgramCallingManager,
AppelControleVentilMecaCVCSimpleCO2,
InsideHVACSystemIterationLoop,
ControleVentilMecaCVCSimpleCO2;

EnergyManagementSystem:Program,
ControleVentilMecaCVCSimpleCO2,

<ForAllOccupiedZones>
! CO2 dans la zone
SET ZoneCO2 = <LoopZoneVariableName>_ConcentrationCO2Air,
! Concentration min CO2 de la zone
SET ZoneCO2Min = 300,
! Fraction minimale du débit. Achanger selon vos besoins.
SET FactZoneCO2Min = 0.3,

! Concentration max CO2 de la zone
SET ZoneCO2Max = 900,
SET FactZoneCO2Max = 1,

IF ZoneCO2 <= ZoneCO2Min,
SET Fact = FactZoneCO2Min,
ELSEIF ZoneCO2 >= ZoneCO2Max,
SET Fact = FactZoneCO2Max,
ELSE,
SET pente = (FactZoneCO2Max - FactZoneCO2Min) / (ZoneCO2Max - ZoneCO2Min),
SET Cste = (FactZoneCO2Min + FactZoneCO2Max - pente * (ZoneCO2Min + ZoneCO2Max)) / 2,
SET Fact = pente * ZoneCO2 + Cste,
ENDIF,

SET DensiteAir = @RhoAirFnPbTdbW Site_Pression_Air_Exterieur <LoopZoneVariableName>_Temperature_Air <LoopZoneVariableName>_Ratio_Humidite,
SET <LoopZoneVariableName>_DebitMassiqueIL = Fact * <LoopZoneVariableName>_ZoneDebitVolMaxIL * DensiteAir,
<LoopNextZone>
;

! extra outputs for viewing in the results viewer
<If BuildingAttribute HourlyOutput = 1 Then>
Output:Variable, *, Zone Air CO2 Concentration, hourly;
<Endif>
<If BuildingAttribute TimesteplyOutput = 1 Then>
Output:Variable, *, Zone Air CO2 Concentration, timestep;
<Endif>