DesignBuilder-logo

Connexion

Script de Pilotage CTA en free-cooling avec hystérésis de T° et bypass saisonnier de récupérateur (CVC Détaillé)

Publié dans Script EMS

Ce script EMS permet de redémarrer une CTA à l'arrêt pour rafraichir ses locaux. Ce script nécessite d'être en CVC Détaillé.

Il correspond à une évolution du script de free-cooling en lui apportant les fonctions suivantes :

  • Utilisatation d'une température intérieure de démarrage différente de celle d'arrêt
  • La température intérieure peut aussi être choisie comme la température d'air de reprise de la CTA (à l'arrêt correspond à une moyenne des zones)
  • Bypass du récupérateur selon un couple de températures intérieur et extérieur et la saison

Version : 6.1

Préquis : Module Script, CVC Détaillé

Script :

! Ce programme nécessite :
! - Utiliser le CVC Détaillé
! - Ne pas utiliser le Cycle Nocturne

! Description du programme
! Il permet de redémarrer une CTA lorsque des conditions intérieures et extérieures permettent de rafraichir les locaux.
! Les critères de tests proposés sont :
! * la température extérieure
! * le delta de température entre l'extérieur et une zone ou la moyenne des température de zones
! * une consigne de température intérieur au choix : T) d'une zone, T° moyenne de plusieurs zones, T° de reprise de CTA
! Vous devez modifier les températures, deltaT à ceux voulus et si besoin mettre en commentaire les tests dont vous ne voulez pas à l'aide du carcatère "!" en début de ligne.
! Le programme gère aussi le bypass de l'échangeur de chaleur pour des T° intérieure et extérieure en hiver et en été.

! A noter
! Le code du cas Température moyenne des zones, effectue la moyenne sur toutes les zones occupées. 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.

! Remplacer le nom du planning "Planning fct CTA" ci-dessous par celui paramétré dans la CTA
! Rappel Valeurs possibles : 2 = ForceOff, 1 = CycleOn
EnergyManagementSystem:Sensor,
PlanningFonctionnementCTA,
_CTA Ens for all_ 6h-20hh,
Schedule Value;

EnergyManagementSystem:Sensor,
TemperatureExterieure,
Environment,
Site Outdoor Air Drybulb Temperature;

! Remplacer le nom de la boucle d'air "DISTRIBUTION AIR" par celle à piloter
! Rappel Valeurs possibles : 0 = NoAction, 1 = ForceOff, 2 = CycleOn, 3 = CycleOnZoneFansOnly
EnergyManagementSystem:Actuator,
FonctionnementCTA,
CTA 5_ENS 1-3,
AirLoopHVAC,
Availability Status;

! Choix d'une température intérieure qui servira au test de déclenchement du free-cooling.
! Trois options sont proposées :
! 1) Utilisation de la température d'une seule zone
! 2) Calcul d'une température moyenne sur plusieurs zones (ici les zones occupées)
! Il faut dé/commenter (carctère "!" en début de ligne) les pararagraphes suivants y compris dans le programme plus bas.
! 3) Utilisation de la température de reprise de la CTA, remplacer alors le nom de la boucle ci-dessous.

! 1) une zone
! Remplpacer le nom de la zone
!EnergyManagementSystem:Sensor,
!TemperatureAirMoyZone,
!Floor0:Zone1,
!Zone Mean Air Temperature;

! 2) température moyenne sur zones occupées
!<ForAllOccupiedZones>
!EnergyManagementSystem:Sensor,
! <LoopZoneVariableName>_TemperatureAir,
! <LoopZoneIDFName>,
! Zone Mean Air Temperature;
!<LoopNextZone>

! 3) température de reprise d'une CTA
! Remplacer le nom de la CTA en conservant " Supply Side Inlet" derrière
EnergyManagementSystem:Sensor,
TemperatureAirMoyZone,
CTA 5_Ens 1-3 Supply Side Inlet,
System Node Temperature;

! Variable de mémorisation de l'état de fonctionnement de la CTA au pas de temps précédent pour le test sur les T° intérieures d'arrêt/démarrage.
EnergyManagementSystem:GlobalVariable,
StatutFctntCTA_DISTRIBUTION_AIR;

! Bypass de l'échangeur
! Remplacer le nom du planning "Bypass echangeur CTA" ci-dessous par celui paramétré dans la CTA dans la rubrique Récupérateur de chaleur du 2e onglet.
EnergyManagementSystem:Sensor,
PlanningBypassEchangeurCTA,
Bypass echangeur CTA,
Schedule Value;

EnergyManagementSystem:ProgramCallingManager,
AppelInitialisationVariablesGlobales,
BeginNewEnvironment,
CtrlCTAFreeCooling;

EnergyManagementSystem:Program,
InitialisationVariablesGlobales,
SET StatutFctntCTA_DISTRIBUTION_AIR = 0,
;

EnergyManagementSystem:ProgramCallingManager,
AppelCtrlCTAFreeCooling,
AfterPredictorAfterHVACManagers,
CtrlCTAFreeCooling;

EnergyManagementSystem:Program,
CtrlCTAFreeCooling,

!Initialisation variable de mode de fonctionnement à NoAction afin de ne pas imposer le mode On ou Off si le planning de fonctionnement est actif
SET varFctCTA = 0,

! Vérification que le planning de la CTA indique Off. Si oui, on peut évaluer l'intérêt du free-cooling sinon on laisse tourner la CTA normalement

IF PlanningFonctionnementCTA <= 0,

! Premiers tests sur les conditions intérieurs

! Par défaut CTA à l'arrêt

! Si T° intérieur au dessus de la consigne, démarrage de la CTA
IF TemperatureAirMoyZone > 20,
SET varFctCTA = 2,
EndIf,

! Si la CTA était en route pour du freecooling et que la température des zones descend sous une température, ce test l'arrête
IF StatutFctntCTA_DISTRIBUTION_AIR == 1,
IF TemperatureAirMoyZone < 16,
SET varFctCTA = 1,
EndIf,
EndIf,

! Contrôle sur la température extérieure
! La CTA est en route par défaut, ce test l'arrête
IF TemperatureExterieure < 10 ,
SET varFctCTA = 1,
EndIf,

! Pour le cas 2 de calcul de température moyenne des zones. A décommenter si vous l'utilisez.
!SET TemperatureAirMoyZone = 0,
!SET NbZones = 0,

!<ForAllOccupiedZones>
!SET NbZones = NbZones + 1,
!SET TemperatureAirMoyZone = TemperatureAirMoyZone + <LoopZoneVariableName>_TemperatureAir,
!<LoopNextZone>

!SET TemperatureAirMoyZone = TemperatureAirMoyZone / NbZones,
!Fin du code du cas 2

! Contrôle sur le DeltaT
! La CTA est en route par défaut, ce test l'arrête
IF varFctCTA == 2,
IF TemperatureAirMoyZone - TemperatureExterieure < 3,
SET varFctCTA = 1,
EndIf,
EndIf,

SET StatutFctntCTA_DISTRIBUTION_AIR = 0,
IF varFctCTA == 2,
SET StatutFctntCTA_DISTRIBUTION_AIR = 1,
EndIf,

! Gestion du bypass de l'échangeur
! Si la T° intérieure est supérieure à l'extérieur, on évalue l'intérêt du bypass
IF TemperatureAirMoyZone > TemperatureExterieure,
! Cas hiver entre octobre et avril (n° des mois). Rq : la date peut être ajoutée à l'aide du mot clé DayOfMonth.
! Par exemple : IF (Month >= 10 && DayOfMonth > 14) || (Month <=4 && DayOfMonth < 16),
! encadre l'hiver entre le 15 octobre et le 15 avril
IF Month >= 10 || Month <=4,
IF TemperatureAirMoyZone > 22 && TemperatureExterieure > 18,
SET PlanningBypassEchangeurCTA = 0,
Endif,
ELSE,
! Cas été
IF TemperatureAirMoyZone > 22 && TemperatureExterieure > 12,
SET PlanningBypassEchangeurCTA = 0,
Endif,
Endif,
Endif,

EndIf,

SET FonctionnementCTA = varFctCTA,
;