I'm trying to model a simple, single zone building with typical small CV AHU. I'd like to add CO2 setpoint DCV. I'd like to model this in the way it's normally implemented, i.e. no ventilation when CO2 concentration is naturally below its setpoint, and enough ventilation to meet the setpoint when CO2 concentration would naturally be above the setpoint. EnergyPlus calls this control "IndoorAirQualityProcedure." There is an example file, HeatPumpIAQP_DCV that implements this control. It seems simple there, and works as I just described. But I cannot seem to duplicate it in my model.
First I copied or made analogous objects in my model: a CO2 setpoint schedule, a ZoneControl:ContaminantController object, a Controller:MechanicalVentilation object. I modified the Controller:OutdoorAir to reference the mechvent controller, and filled in everything as in the example file. This did not work. I simply get no ventilation, ever. In an extreme case, when I make infiltration zero, the CO2 concentration indoors goes up linearly over the entire year. The issue is definitely in something that affects the calculations: the Zone Air CO2 Predicted Load to Setpoint Mass Flow Rate is always 0, even when the setpoint is much lower than the indoor concentration. The fact that the issue is in something affecting calculations not in fundamental node/branch layout is supported by the fact that changing the System Outdoor Air Method in the Mechanical Ventilation controller to VentilationRateProcedure yields ventilation proportional to occupants as it is supposed to. So the MV controller is actually talking to the OA controller.
I've subsequently tried to reduce all differences between the example file and my file, including: eliminating autosizing from my file by putting in the hardsized capacities; removing the constant non-occupant CO2 generation from the example file; adding a DesignSpecification for Zone Air Distribution to my file, despite the fact that the I/O Reference specifically says these fields in the Mech Vent controller are not used when the System Outdoor Air Method is set to IAQP; adding a zone list to my model even though I only have one zone. None of these changes made an impact.
I can't really see further differences between the working control in the example file and the unworking control in my file. Anyone have experience with this or a thought as to what I might be missing?
Thanks for any help!