Hi Waseem
I replied to you there. However, I am also posting the PPD code (which hasn't been validated but it should work) here just in case anyone else might find it useful.
Best regards,
Ivan Korolija
##set1 PPDBedThershold 10
EnergyManagementSystem:Sensor,
ActualBedPPD, !- Name
Bedroom, !- Output:Variable or Output:Meter Index Key Name
Zone Thermal Comfort Fanger Model PPD; !- Output:Variable or Output:Meter Name
! If you already defined occupancy sensor for the overheating hours, you should delete this one
EnergyManagementSystem:Sensor,
BedOcc, !- Name
Occupancy_Bedroom Sch, !- Output:Variable or Output:Meter Index Key Name
Schedule Value; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
PPD, !- Name
EndOfZoneTimestepBeforeZoneReporting, !- EnergyPlus Model Calling Point
PPDProg; !- Program Name 1
EnergyManagementSystem:Program,
PPDProg, !- Name
IF BedOcc > 0 && ActualBedPPD > PPDBedThershold[],
SET BedPPD = ZoneTimeStep,
ELSE,
SET BedPPD = 0,
ENDIF;
EnergyManagementSystem:GlobalVariable,
BedPPD;
EnergyManagementSystem:OutputVariable,
Bedroom Zones PPD Over 10 While Occupied, !- Name
BedPPD, !- EMS Variable Name
Summed, !- Type of Data in Variable
ZoneTimestep; !- Update Frequency
Output:Variable,*,Bedroom Zones PPD Over 10 While Occupied,Annual;
Thanks All. I appreciate your help. I will try these.
@Ivan: I have replied on Unmet Hours but in case you see this here. just wondering, can we do the same for PPD during occupied hours? e.g. Number of occupied hours when PPD was greater than 10%?
Thanks
Kindest Regards
Waseem