200 likes | 356 Views
Airside Control Applications. Airside Control Applications. Minimize - installation, commissioning, and operating costs Maximize - energy savings Repeatable - performance from building to building and job to job Sustainable - performance over the life of the installation
E N D
Airside Control Applications • Minimize - installation, commissioning, and operating costs • Maximize - energy savings • Repeatable - performance from building to building and job to job • Sustainable - performance over the life of the installation • Provable - demonstrate we are providing the functions as promised
Airside Control Applications • Comply with ASHRAE 62.1-2004 ventilation requirements • Comply with ASHRAE 90.1-2004 energy saving requirements • Achieve LEED-NC v2.2 certification • Energy and Atmosphere Prerequisite 2Must comply with ASHRAE 90.1-2004 • Indoor Environmental Quality Prerequisite 1Must comply with ASHRAE 62.1-2004
Terminal Reheat Unconditioned outdoor air Supply Fan Where The Dollars Go Outdoor-air Inlet Terminal VAV Box Diffusers Central Air handler Return-air Inlet
Today’s Topics of Discussion: • Fan pressure optimization • Dynamic ventilation optimization • Demand controlled Ventilation at zone level • Ventilation reset at system level
VAV Fan Pressure Optimization • Control system duct pressure to the lowest level possible • Saves 20% to 45% of the system fan energy • Significant acoustical benefits • Required by ASHRAE 90 *When system design is > 10,000 CFM
VAV Fan-Pressure Optimization Goal: Control system static pressure to the lowest level while maintaining zone airflow requirements • The BAS determines the “most open” damper in the system • The system static pressure is controlled to keep the “most open” zone damper between 65% and 75% open • With this strategy, location of sensor is not critical • Take advantage of labor savings and mount the sensor at the fan discharge
Fan-Pressure Optimization DamperPositions Duct Pressure Sensor DamperPositions Communicating BAS Fan SpeedOr Inlet Vane Position • Minimize - installation, commissioning, and operating costs
2.0 2.5 1.0 0.1 75 65 15 Tracer Summit Standard Applications Defobj VAV[boxes], // array of vav box objects (array size = boxes) setpoint // object used to store the calculated setpt Defflt maxpos, // the maximum air valve position staticsp, // calculation of the static pressure setpoint increment = 0.1, // amount by which the the setpoint may be changed high_limit = 95.0, // adjust setpoint up if max greater than this value low_limit = 85.0, // adjust setpoint down if max less than this value initial_staticsp = 2.0, // initial static pressure setpoint min_staticsp = 0.5, // minimum static pressure setpoint allowed max_staticsp = 3.0 // maximum static pressure setpoint allowed // define the property (from the database) that confirms that the // AHU is running. // IMPORTANT! Use the Add Obj&Property selection under the Edit menu // to select the correct property. ahu_status = {RTU-3 Engineering}.{Supply Fan Status} // define the AOP object (from the database) for the vav boxes served // by a particular air handling unit. This AOP should be referenced // by the ahu as its static pressure setpoint // IMPORTANT! Use the Add Object selection under the Edit menu // to select the correct objects. setpoint = {RTU-3 Static Pressure Setpt} // load the object array with the VAV objects VAV[1] = {VAV 3-01 Engineering} VAV[2] = {VAV 3-02 South America Conf. Rm} VAV[3] = {VAV 3-03 Engineering} VAV[4] = {VAV 3-04 Engineering} VAV[5] = {VAV 3-05 Engineering} VAV[6] = {VAV 3-06 Engineering} VAV[7] = {VAV 3-07 Engineering} VAV[8] = {VAV 3-08 Engineering} VAV[9] = {VAV 3-09 Test Room} VAV[10] = {VAV 3-10 Hardware Lab} VAV[11] = {VAV 3-11 Order Fulfillment} VAV[12] = {VAV 3-12 Order Fulfillment} VAV[13] = {FP VAV 3-01 Engineering} VAV[14] = {FP VAV 3-02 Engineering} VAV[15] = {FP VAV 3-03 Asia Conf. Room} VAV[16] = {FP VAV 3-04 Order Fulfillment} VAV[17] = {FP VAV 3-05 Corridor} VAV[18] = {FP VAV 3-06 Corridor} PROGRAM VAV_Critical_Zone_Reset_RTU_3 // Written: // Modified: 03/98 // Properties Read: VAV[i].{Communication State} // VAV[i].{Diag: Flow Sensor Fail} // VAV[i].{Control Mode} // VAV[i].{Air Valve Position} // VAV[i].{Communication Address} // Properties Modified: setpoint.{Present Value} // Routine Summary: /// This routine calculates the static pressure setpoint for an air /// handling unit. It resets the AHU static pressure setpoint based on /// a "critical zone". VAV terminal units' maximum air valve position /// is determined, which is the basis for calculating an AHU static pressure /// setpoint. The AHU static pressure setpoint is adjusted to satisfy /// the critical zone, which inherently satisfies all other zones. // Fan horsepower is minimized and comfort in all spaces is maintained. // For background information about this routine, see SYS-EB-2. // This cpl object, the AHU object and all (or the majority of) the VAV // objects should reside in the same BCU. (Do not put this cpl object in // one BCU if the VAV boxes and AHU reside in another BCU.) /// Routine Execution: This program is executed every 1 minute. // Note: this routine executes every minute but the reset calculation is // done only at a user defined interval (usually much less frequently). /// Routine Text File: VAV_CZR3.CPL // ***** Define Variables ***** // In this section, the programmer defines the variables used throughout // this routine. The only variables that require editing are in the "User // Edited Variables" section. No other changes are required. Defint On = 1, // define enumeration Up = 1, // define enumeration Normal = 0, // define enumeration Occupy = 0, // define enumeration for VAV control mode i, // index used in the For-Next loop ahu_status, // status feedback from AHU ahu_timer, // number of minutes since the ahu started // ***** begin User Edited Variables ***** startup_delay = 30, // number of minutes after the ahu starts before // allowing the reset to occur reset_interval = 15, // number of minutes between reset calculations // Reset Interval will depend on actual system dynamics. // Tuning the reset interval should be done with // the system operating. boxes = 18 // number of vav boxes included in the calculation // ***** end User Edited Variables ***** // No changes are required beyond this point. // ***** ahu timer ***** // In this section a counter keeps the number of minutes the ahu // status shows the unit has been On. The counter is stored in // Local.{Saved Value}[16]. If the ahu status is Off the counter is // reset to 0 and the setpoint is reset to its user defined initial // value. The routine also stops if the ahu status is Off; there is // no reason to run the rest of the routine with the ahu Off. This // counter is used to verify the ahu has been On a user defined // number of minutes before allowing the static pressure to be // adjusted. ahu_timer = Local.{Saved Value}[16] If (ahu_status = On) Then ahu_timer = ahu_timer + 1 Else Local.{Saved Value}[16] = 0 If (setpoint.{Present Value} <> initial_staticsp) Then CONTROL(setpoint,{Present Value},initial_staticsp,16,Set) End If Stop End If Local.{Saved Value}[16] = ahu_timer // ***** vav box data ***** // In this section the air valve position is read from each vav box that // is communicating with the bcu and has a valid air flow reading. A // failed flow results in air valve position based control. This strategy // requires "pressure independent" flow control. The vav UCMs must be // in occupied mode and communicating with the bcu to properly read // values and perform calculations. This for-next loop finds the position // of the most open VAV box air valve. The routine will only find the // most open box after the ahu has gone through its user defined startup // delay. It only performs the rest of the routine every user interval, not // every minute. // No changes are required in this section. If (Local.{Saved Value}[1] >= reset_interval) and (ahu_timer > startup_delay) Then Local.{Saved Value}[1] = 0 Local.{Saved Value}[2] = 0 For i = 1 To boxes Step 1 If (VAV[i].{Communication State} = Up) and (VAV[i].{Diag: Flow Sensor Fail} = Normal) and (VAV[i].{Control Mode} = Occupy) Then If (VAV[i].{Air Valve Position} > maxpos) Then maxpos = VAV[i].{Air Valve Position} Local.{Saved Value}[2] = VAV[i].{Communication Address} End If End If Next Else Local.{Saved Value}[1] = Local.{Saved Value}[1] + 1 Stop End If Local.{Saved Value}[3] = maxpos // ***** adjust setpoint ***** // If the maximum air valve position is greater than the high limit the static // pressure setpoint is increased. If it is less than the low limit the setpoint // is decreased. The setpoint is adjusted only if the air handling unit is On and // the maximum air valve position is nonzero. It will be zero if all boxes // are not communicating or if all the flow sensors have failed. It will also // be zero if all boxes are unoccupied, (with unocc min allowed to go to zero). // The setpoint will be set to the user defined initial setpoint if the adjustment // calculation is not done. After the setpoint is calculated, it is verified that // it does not exceed its minimum or maximum. // No changes are required in this section. staticsp = setpoint.{Present Value} If (maxpos <> 0.0) Then If (maxpos > high_limit) Then staticsp = (staticsp + increment) End If If (maxpos < low_limit) Then staticsp = (staticsp - increment) End If Else staticsp = initial_staticsp End If staticsp = Min (staticsp, max_staticsp) staticsp = Max (staticsp, min_staticsp) // ***** control AOP ***** // Control the analog output to the calculated static pressure // setpoint only if it has changed. // No changes are required in this section. If (setpoint.{Present Value} <> staticsp) Then CONTROL(setpoint,{Present Value},staticsp,16,Set) End If End // end of routine The Trane Way (Tracer Summit v15 and later) Typical Way Repeatable - performance from building to building and job to job
System Status Information Provable - demonstrate we are providing the functions as promised
System Performance Summary Sustainable - performance over the life of the installation Provable - demonstrate we are providing the functions as promised
VAV System Control Features • Fan pressure optimization • Dynamic ventilation optimization • Demand controlled Ventilation at zone level • Ventilation reset at system level • Introduce TRAQ dampers
Why is Ventilation Important • Odors • Out gassing (Carpeting, paints, furniture) • Bioeffluents (People) • Carbon dioxide levels • Sleepy employees / students • Solution: Introduce fresh outdoor air • Determine and control the proper amount of fresh air required for each zone • Introduce that fresh air through the AHU in the most efficient manner
Demand Controlled Ventilation at Zone Level • 4 Basic Methods – determine required ventilation rate • Fixed schedule • Occupancy sensors • Detect the presence of people in each monitored space • Variable schedules • Predict the current population based on the time of day • Carbon dioxide (CO2) sensors • Monitor the concentration of CO2 that the occupants continuously produce • Each are appropriate for types of zone
OCC CO2 TOD TOD VV550 VAV controllers • Required ventilation (TOD, OCC, CO2) • Actual primary airflow (flow ring) Demand Controlled Ventilation at the Zone OA SA RA CO2 OCC • Minimize - installation, commissioning, and operating costs
IntelliPak rooftop unitwith Traq dampers • Reset outdoor airflow OCC TOD TOD CO2 Tracer Summit VAS VV550 controllers • Required ventilation (TOD, OCC, CO2) • Actual primary airflow (flow ring) DCV and Ventilation Reset OA 4. Control the OA damper SA RA 3. Communicate the OA setpoint to AHU CO2 OCC 2. Calculate the minimum OA requirement 1. Determine the critical zone
Outside Air Delivered Outside Air Required by ASHRAE62.1-2004 Stategy #3: Allowing reset Traq Damper Strategy #1: Damper Fixed at 67% Strategy #2: OA Flow Control at 933 cfm Design SA = 3000 = 1000 + 1000 + 1000 OA = 700 = 200 + 200 + 300 Vent Fraction = 0.20 0.20 0.30 25% or750 cfm 25% or750 cfm 2010 cfm 31% Critical Zone 1260 cfm excess 183 cfm excess 70% SA = 2100 = 650 + 550 + 900 OA = 700 = 200 + 200 + 300 Vent Fraction = 0.31 0.36 0.33 34% or714 cfm 34% or714 cfm 1474 cfm 42% 40% SA = 1400 = 500 + 500 + 400 OA = 700 = 200 + 200 + 300 Vent Fraction = 0.40 0.40 0.75 67% or933 cfm 67% or933 cfm 933 cfm 67% Worst case Note: Credit for unused air Ventilation ResetOA requirements for a Multiple-Space System –System Load–
Ventilation Optimization • Use a combination of control strategies to always provide the exact amount of ventilation air • Properly ventilates ALL spaces of a building at ALL operating and load conditions, while minimizing operating energy costs! • Saves up to 25 % HVAC system energy Maximize - energy savings
Ventilation Optimization Application Defobj VAV[boxes], // array of vav box objects (array size = boxes) setpoint // object used to store the calculated setpt Defflt maxpos, // the maximum air valve position staticsp, // calculation of the static pressure setpoint increment = 0.1, // amount by which the the setpoint may be changed high_limit = 95.0, // adjust setpoint up if max greater than this value low_limit = 85.0, // adjust setpoint down if max less than this value initial_staticsp = 2.0, // initial static pressure setpoint min_staticsp = 0.5, // minimum static pressure setpoint allowed max_staticsp = 3.0 // maximum static pressure setpoint allowed // define the property (from the database) that confirms that the // AHU is running. // IMPORTANT! Use the Add Obj&Property selection under the Edit menu // to select the correct property. ahu_status = {RTU-3 Engineering}.{Supply Fan Status} // define the AOP object (from the database) for the vav boxes served // by a particular air handling unit. This AOP should be referenced // by the ahu as its static pressure setpoint // IMPORTANT! Use the Add Object selection under the Edit menu // to select the correct objects. setpoint = {RTU-3 Static Pressure Setpt} // load the object array with the VAV objects VAV[1] = {VAV 3-01 Engineering} VAV[2] = {VAV 3-02 South America Conf. Rm} VAV[3] = {VAV 3-03 Engineering} VAV[4] = {VAV 3-04 Engineering} VAV[5] = {VAV 3-05 Engineering} VAV[6] = {VAV 3-06 Engineering} VAV[7] = {VAV 3-07 Engineering} VAV[8] = {VAV 3-08 Engineering} VAV[9] = {VAV 3-09 Test Room} VAV[10] = {VAV 3-10 Hardware Lab} VAV[11] = {VAV 3-11 Order Fulfillment} VAV[12] = {VAV 3-12 Order Fulfillment} VAV[13] = {FP VAV 3-01 Engineering} VAV[14] = {FP VAV 3-02 Engineering} VAV[15] = {FP VAV 3-03 Asia Conf. Room} VAV[16] = {FP VAV 3-04 Order Fulfillment} VAV[17] = {FP VAV 3-05 Corridor} VAV[18] = {FP VAV 3-06 Corridor} PROGRAM VAV_Critical_Zone_Reset_RTU_3 // Written: // Modified: 03/98 // Properties Read: VAV[i].{Communication State} // VAV[i].{Diag: Flow Sensor Fail} // VAV[i].{Control Mode} // VAV[i].{Air Valve Position} // VAV[i].{Communication Address} // Properties Modified: setpoint.{Present Value} // Routine Summary: /// This routine calculates the static pressure setpoint for an air /// handling unit. It resets the AHU static pressure setpoint based on /// a "critical zone". VAV terminal units' maximum air valve position /// is determined, which is the basis for calculating an AHU static pressure /// setpoint. The AHU static pressure setpoint is adjusted to satisfy /// the critical zone, which inherently satisfies all other zones. // Fan horsepower is minimized and comfort in all spaces is maintained. // For background information about this routine, see SYS-EB-2. // This cpl object, the AHU object and all (or the majority of) the VAV // objects should reside in the same BCU. (Do not put this cpl object in // one BCU if the VAV boxes and AHU reside in another BCU.) /// Routine Execution: This program is executed every 1 minute. // Note: this routine executes every minute but the reset calculation is // done only at a user defined interval (usually much less frequently). /// Routine Text File: VAV_CZR3.CPL // ***** Define Variables ***** // In this section, the programmer defines the variables used throughout // this routine. The only variables that require editing are in the "User // Edited Variables" section. No other changes are required. Defint On = 1, // define enumeration Up = 1, // define enumeration Normal = 0, // define enumeration Occupy = 0, // define enumeration for VAV control mode i, // index used in the For-Next loop ahu_status, // status feedback from AHU ahu_timer, // number of minutes since the ahu started // ***** begin User Edited Variables ***** startup_delay = 30, // number of minutes after the ahu starts before // allowing the reset to occur reset_interval = 15, // number of minutes between reset calculations // Reset Interval will depend on actual system dynamics. // Tuning the reset interval should be done with // the system operating. boxes = 18 // number of vav boxes included in the calculation // ***** end User Edited Variables ***** // No changes are required beyond this point. // ***** ahu timer ***** // In this section a counter keeps the number of minutes the ahu // status shows the unit has been On. The counter is stored in // Local.{Saved Value}[16]. If the ahu status is Off the counter is // reset to 0 and the setpoint is reset to its user defined initial // value. The routine also stops if the ahu status is Off; there is // no reason to run the rest of the routine with the ahu Off. This // counter is used to verify the ahu has been On a user defined // number of minutes before allowing the static pressure to be // adjusted. ahu_timer = Local.{Saved Value}[16] If (ahu_status = On) Then ahu_timer = ahu_timer + 1 Else Local.{Saved Value}[16] = 0 If (setpoint.{Present Value} <> initial_staticsp) Then CONTROL(setpoint,{Present Value},initial_staticsp,16,Set) End If Stop End If Local.{Saved Value}[16] = ahu_timer // ***** vav box data ***** // In this section the air valve position is read from each vav box that // is communicating with the bcu and has a valid air flow reading. A // failed flow results in air valve position based control. This strategy // requires "pressure independent" flow control. The vav UCMs must be // in occupied mode and communicating with the bcu to properly read // values and perform calculations. This for-next loop finds the position // of the most open VAV box air valve. The routine will only find the // most open box after the ahu has gone through its user defined startup // delay. It only performs the rest of the routine every user interval, not // every minute. // No changes are required in this section. If (Local.{Saved Value}[1] >= reset_interval) and (ahu_timer > startup_delay) Then Local.{Saved Value}[1] = 0 Local.{Saved Value}[2] = 0 For i = 1 To boxes Step 1 If (VAV[i].{Communication State} = Up) and (VAV[i].{Diag: Flow Sensor Fail} = Normal) and (VAV[i].{Control Mode} = Occupy) Then If (VAV[i].{Air Valve Position} > maxpos) Then maxpos = VAV[i].{Air Valve Position} Local.{Saved Value}[2] = VAV[i].{Communication Address} End If End If Next Else Local.{Saved Value}[1] = Local.{Saved Value}[1] + 1 Stop End If Local.{Saved Value}[3] = maxpos // ***** adjust setpoint ***** // If the maximum air valve position is greater than the high limit the static // pressure setpoint is increased. If it is less than the low limit the setpoint // is decreased. The setpoint is adjusted only if the air handling unit is On and // the maximum air valve position is nonzero. It will be zero if all boxes // are not communicating or if all the flow sensors have failed. It will also // be zero if all boxes are unoccupied, (with unocc min allowed to go to zero). // The setpoint will be set to the user defined initial setpoint if the adjustment // calculation is not done. After the setpoint is calculated, it is verified that // it does not exceed its minimum or maximum. // No changes are required in this section. staticsp = setpoint.{Present Value} If (maxpos <> 0.0) Then If (maxpos > high_limit) Then staticsp = (staticsp + increment) End If If (maxpos < low_limit) Then staticsp = (staticsp - increment) End If Else staticsp = initial_staticsp End If staticsp = Min (staticsp, max_staticsp) staticsp = Max (staticsp, min_staticsp) // ***** control AOP ***** // Control the analog output to the calculated static pressure // setpoint only if it has changed. // No changes are required in this section. If (setpoint.{Present Value} <> staticsp) Then CONTROL(setpoint,{Present Value},staticsp,16,Set) End If End // end of routine The Trane Way (Tracer Summit v15 and later) Typical Way Repeatable - performance from building to building and job to job
Airside Control Applications • Minimize - installation, commissioning, and operating costs • Maximize - energy savings • Repeatable - performance from building to building and job to job • Sustainable - performance over the life of the installation • Provable - demonstrate we are providing the functions as promised