'Program Name Little Ventilation Public LoggerTemp_C, Public Therm_kOhm(22), Temp_C(22), therm(22) Public BROANsupply_RH, BROANreturn_RH, BROANincoming_RH, BROANexhaust_RH, BROANroom_RH, TWIN1_RH, TWIN2_RH, TWIN1OUT_RH Public BROANRH_raw(8) Public pressure_raw, pressure_PA Dim i Dim D(22) ' For thermistors -- conversion of kOHM to deg C Const a=0.00114288192250106 Const b=0.000231314273877631 Const c=0.00000010934242301857 Const f=(-0.0000000000725110851146496) Alias Temp_C (1)=BROANsupply_C1 Alias Temp_C (2)=BROANsupply_C2 Alias Temp_C (3)=BROANsupply_C3 Alias Temp_C (4)=BROANreturn_C1 Alias Temp_C (5)=BROANreturn_C2 Alias Temp_C (6)=BROANreturn_C3 Alias Temp_C (7)=BROANincoming_C1 Alias Temp_C (8)=BROANincoming_C2 Alias Temp_C (9)=BROANincoming_C3 Alias Temp_C (10)=BROANexhaust_C1 Alias Temp_C (11)=BROANexhaust_C2 Alias Temp_C (12)=BROANexhaust_C3 Alias Temp_C (13)=BROANroom_C1 Alias Temp_C (14)=TWIN1_C1 Alias Temp_C (15)=TWIN1_C2 Alias Temp_C (16)=TWIN1_C3 Alias Temp_C (17)=TWIN2_C1 Alias Temp_C (18)=TWIN2_C2 Alias Temp_C (19)=TWIN2_C3 Alias Temp_C (20)=TWIN1OUT_C1 Alias Temp_C (21)=TWIN1OUT_C2 '\\\\\\\\\\\\\\\\\\\\\\\\ OUTPUT SECTION //////////////////////// DataTable(LV_minbackup, true, -1) DataInterval(0,60,sec,10) Average (22,Temp_C(),FP2,false) Average (1,pressure_raw,FP2,false) Average (7,BROANRH_raw(), FP2, false) EndTable DataTable (LV_Min, true, -1) DataInterval(0,60,sec,10) Average (14,Temp_C(), FP2, false) Average (1,BROANexhaust_RH,FP2,False) Average (1,BROANincoming_RH,FP2,False) Average (1,BROANreturn_RH,FP2,False) Average (1,BROANsupply_RH,FP2,False) Average (1,BROANroom_RH,FP2,False) Average (1, pressure_PA,FP2,false) EndTable DataTable (LV_fiveMin, true, -1) DataInterval(0,5,min,10) Average (14,Temp_C(), FP2, false) Average (1,BROANexhaust_RH,FP2,False) Average (1,BROANincoming_RH,FP2,False) Average (1,BROANreturn_RH,FP2,False) Average (1,BROANsupply_RH,FP2,False) Average (1,BROANroom_RH,FP2,False) Average (1,pressure_PA,FP2,false) EndTable DataTable (LV_hour, true, -1) DataInterval(0,60,min,10) Average (14,Temp_C(), FP2, false) Average (1,BROANexhaust_RH,FP2,False) Average (1,BROANincoming_RH,FP2,False) Average (1,BROANreturn_RH,FP2,False) Average (1,BROANsupply_RH,FP2,False) Average (1,BROANroom_RH,FP2,False) Average (1,pressure_PA,FP2,false) EndTable DataTable (TWIN_Min, true, -1) DataInterval(0,60,sec,10) Average (1,TWIN1_C1,FP2,False) Average (1,TWIN1_C2,FP2,False) Average (1,TWIN1_C3,FP2,False) Average (1,TWIN2_C1,FP2,False) Average (1,TWIN2_C2,FP2,False) Average (1,TWIN2_C3,FP2,false) Average (1,TWIN1_RH,FP2,False) Average (1,TWIN2_RH,FP2,false) Average (1,TWIN1OUT_RH,FP2,False) Average (1,TWIN1OUT_C1,FP2,False) Average (1,TWIN1OUT_C2,Fp2,false) EndTable DataTable (TWIN_fiveMin, true, -1) DataInterval(0,5,min,10) Average (1,TWIN1_C1,FP2,False) Average (1,TWIN1_C2,FP2,False) Average (1,TWIN1_C3,FP2,False) Average (1,TWIN2_C1,FP2,False) Average (1,TWIN2_C2,FP2,False) Average (1,TWIN2_C3,FP2,false) Average (1,TWIN1_RH,FP2,False) Average (1,TWIN2_RH,FP2,false) Average (1,TWIN1OUT_RH,FP2,False) Average (1,TWIN1OUT_C1,FP2,False) Average (1,TWIN1OUT_C2,Fp2,false) EndTable DataTable (TWIN_hour, true, -1) DataInterval(0,60,min,10) Average (1,TWIN1_C1,FP2,False) Average (1,TWIN1_C2,FP2,False) Average (1,TWIN1_C3,FP2,False) Average (1,TWIN2_C1,FP2,False) Average (1,TWIN2_C2,FP2,False) Average (1,TWIN2_C3,FP2,false) Average (1,TWIN1_RH,FP2,False) Average (1,TWIN2_RH,FP2,false) Average (1,TWIN1OUT_RH,FP2,False) Average (1,TWIN1OUT_C1,FP2,False) Average (1,TWIN1OUT_C2,Fp2,false) EndTable '\\\\\\\\\\\\\\\\\\\\\\\\\\\ PROGRAM //////////////////////////// BeginProg Scan(5,Sec,1, 0) PanelTemp(LoggerTemp_C, 250) 'Measure RH sensors, convert mV to V with .001 multiplier VoltSe (BROANRH_raw(),8,mV5000,1,1,0,250,.001,0) 'Convert Raw voltage to RH TWIN1OUT_RH=(BROANRH_raw(1)-.8)/0.031 TWIN1_RH=(BROANRH_raw(2)-.8)/0.031 TWIN2_RH=(BROANRH_raw(3)-.8)/0.031 BROANsupply_RH=(BROANRH_raw(4)-.8)/0.031 BROANreturn_RH=(BROANRH_raw(5)-.8)/0.031 BROANincoming_RH=(BROANRH_raw(6)-.8)/0.031 BROANexhaust_RH=(BROANRH_raw(7)-.8)/0.031 BROANroom_RH=(BROANRH_raw(8)-.8)/0.031 'measure pressure, convert mV to V with .001 multiplier, convert raw to PA VoltSe (pressure_raw,1,mV5000,16,1,0,250,.001,0) pressure_PA=(24.909*pressure_raw)-62.272 'MEASURE THERMISTORS PortSet (1,1) ' Turn on mux i=1 SubScan (0,Sec,11) PulsePort(4,10000) ' Clock mux BrHalf(therm(i),2,mV2500,9,Vx2,2,2500,True,0,_60Hz, 1.0, 0) i=i+2 NextSubScan PortSet (1,0) ' turn mux off. For i=1 To 22 Therm_kOhm(i) = (10*therm(i))/(1-therm(i)) D(i) = LN (1000*Therm_kOhm(i)) 'ln resistance (ohm) Temp_C(i) = (1/(a + b*D(i) + c*(D(i))^3)) - 273.15 'Steinhart & Hart Equation for new thermistors Next i 'OUTPUT CallTable (LV_fiveMin) CallTable (LV_hour) CallTable (LV_Min) CallTable (LV_minbackup) CallTable TWIN_fiveMin CallTable TWIN_hour CallTable TWIN_Min NextScan EndProg