Example 12. Variable Refrigerant Flow System Override[LINK]
The variable refrigerant flow heat pump air conditioner has several available thermostat control options. These operation control schemes may not provide the type of control desired. How can we use a simple EMS addition to an input file that can override the specified thermostat control logic and set an alternate mode of operation?
EMS Design Discussion[LINK]
Depending on the type of thermostat control logic, the EnergyPlus program will review the loads in each zone, the number of zones in cooling or heating, the deviation from set point temperature, etc. to determine the mode of operation for the heat pump condenser. Alternate control logic may be developed to more accurately reflect the operation of a specific manufacturers product, or investigate other control techniques. This control logic may be added to an input file and used as the operating control logic of the heat pump.
This simple example shows how to use EMS actuators to SET the operating mode and cause a specific terminal unit to operate at a specified part-load ratio (PLR). When setting the terminal unit PLR, the terminal unit will turn on only if the condenser is allowed to operate according to the minimum and maximum outdoor temperature limits.
EMS Input Objects[LINK]
The main input objects that implement this example are the variable refrigerant flow actuators that control the VRF system and specific terminal unit. Note that the terminal unit PLR can be controlled without controlling the mode of the VRF condenser, however, the specific terminal unit will operate in whatever mode the existing operation control scheme chooses. This example program simply “sets” the operating mode and PLR, other more complex control algorithms can be developed by the user as needed.
Output:EnergyManagementSystem, Verbose, !- Actuator Availability Dictionary Reporting Verbose, !- Internal Variable Availability Dictionary Reporting Verbose; !- EMS Runtime Language Debug Output Level EnergyManagementSystem:ProgramCallingManager, VRF OnOff Management, !- Name InsideHVACSystemIterationLoop, !- EnergyPlus Model Calling Point VRFControl; !- Program Name 1 EnergyManagementSystem:Program, VRFControl, !- Name SET VRF_Actuator_OnOff = VRF_Status_Heating, !- Program Line 2 SET VRF_TerminalUnit1_PLR = 0.5; EnergyManagementSystem:Actuator, VRF_Actuator_OnOff, !- Name VRF Heat Pump, !- Actuated Component Unique Name Variable Refrigerant Flow Heat Pump, !- Actuated Component Type Operating Mode; !- Actuated Component Control Type EnergyManagementSystem:Actuator, VRF_TerminalUnit1_PLR, !- Name TU1, !- Actuated Component Unique Name Variable Refrigerant Flow Terminal Unit, !- Actuated Component Type Part Load Ratio; !- Actuated Component Control Type EnergyManagementSystem:OutputVariable, Erl VRF Control Status, !- Name VRF_Actuator_OnOff, !- EMS Variable Name Averaged, !- Type of Data in Variable SystemTimeStep; !- Update Frequency Output:Variable,*,Erl VRF Control Status, detailed; Output:Variable,*,VRF Heat Pump Operating Mode, detailed; Output:Variable,*,Cooling Coil Runtime Fraction, detailed; Output:Variable,*,Heating Coil Runtime Fraction, detailed; EnergyManagementSystem:ProgramCallingManager, Init VRF Control Mode Constants, !- Name BeginNewEnvironment, !- EnergyPlus Model Calling Point InitializeVRFControlModes; !- Program Name 1 EnergyManagementSystem:Program, InitializeVRFControlModes, !- Name Set VRF_Status_Off = 0.0, !- Program Line 1 Set VRF_Status_Cooling = 1.0, !- Program Line 2 Set VRF_Status_Heating = 2.0; !- Program Line 3 EnergyManagementSystem:GlobalVariable, VRF_Status_Off, !- Erl Variable 1 Name VRF_Status_Cooling, !- Erl Variable 2 Name VRF_Status_Heating; !- Erl Variable 3 Name