Hello,
I would like to know how i can use rate of change for my vaisala barometer connected to my cr1000 datalogger. I use crbasic to write the program...
Mavada,
You'll have to be more explicit in your request for help. If you are looking to calculate rate of change, this can be accomplished in a variety of ways.
Two of those ways include:
-------------------------------------------------
Public BP_mmHg
Public BP_mmHg_Change
DataTable (Test,True,1000)
DataInterval (0,1,Min,10)
Sample (1,BP_mmHg,IEEE4)
EndTable
BeginProg
Scan(1,Min,1,0)
'CS106 Barometric Pressure Sensor measurement BP_mmHg
PortSet(1,1)
VoltSe(BP_mmHg,1,mV2500,1,1,0,_60Hz,0.240,500)
BP_mmHg=BP_mmHg*0.75006
PortSet(1,0)
If Test.Record(1,1) > 0 Then
'calculate change for one minute
BP_mmHg_Change = BP_mmHg - Test.BP_mmHg(1,1)
EndIf
CallTable (Test)
NextScan
EndProg
-------------------------------------------------
--------------------------------------------------
Public BP_mmHg
Public BP_mmHg_Last
Public BP_mmHg_Change
Public First As Boolean
BeginProg
First = TRUE
Scan(1,Min,1,0)
'CS106 Barometric Pressure Sensor measurement BP_mmHg
PortSet(1,1)
VoltSe(BP_mmHg,1,mV2500,1,1,0,_60Hz,0.240,500)
BP_mmHg=BP_mmHg*0.75006
PortSet(1,0)
If First = FALSE Then
'calculate change in 1 minute
BP_mmHg_Change = BP_mmHg - BP_mmHg_Last
EndIf
BP_mmHg_Last = BP_mmHg
NextScan
EndProg
-----------------------------------------------------------
Hello Sam,
I have a Vaisala ptb101b barometer.
I want to have a rate of change over a 1 and 10 minute interval.
And how do i import it into my program in crbasic:
'CR1000
'Created by Short Cut (2.8)
'Declare Variables and Units
Public BattV
Public Windr
Public Temp
Public Vocht
Public Windskm
Public Rain_mm
Public BP_mbar
Public SlrW
Public SlrkJ
Public Tot24
Public Windskn
Public Beaufort
Units BattV=Volts
Units Windr=mV
Units Temp=mV
Units Vocht=mV
Units Windskm=mV
Units Rain_mm=mm
Units BP_mbar=mbar
Units SlrW=W/m^2
Units SlrkJ=kJ/m^2
'Define Data Tables
DataTable(Table1,True,-1)
DataInterval(0,10,Min,10)
Average(1,Windr,FP2,False)
Average(1,Temp,FP2,False)
Maximum(1,Temp,FP2,False,True)
Minimum(1,Temp,FP2,False,True)
Average(1,Vocht,FP2,False)
Maximum(1,Vocht,FP2,False,True)
Minimum(1,Vocht,FP2,False,True)
Average(1,Windskm,FP2,False)
Maximum(1,Windskm,FP2,False,True)
Maximum(1,Windskn,FP2,False,True)
Average(1,Windskn,FP2,False)
Average(1,Beaufort,FP2,False)
Sample(1,BP_mbar,IEEE4)
EndTable
DataTable(Table2,True,-1)
DataInterval(0,1,Min,10)
Minimum(1,BattV,FP2,False,False)
Sample(1,BP_mbar,IEEE4)
Sample(1,Windr,FP2)
Sample(1,SlrW,FP2)
Sample(1,Windskn,FP2)
Sample(1,Vocht,FP2)
Sample(1,Temp,FP2)
EndTable
DataTable(Table3,True,-1)
DataInterval(0,1,Sec,10)
Sample(1,BP_mbar,IEEE4)
Sample(1,Windr,FP2)
Sample(1,Temp,FP2)
Sample(1,Vocht,FP2)
Sample(1,SlrW,FP2)
Sample(1,Windskn,FP2)
Sample(1,Beaufort,FP2)
EndTable
'Main Program
BeginProg
Scan(1,Sec,1,0)
'Default Datalogger Battery Voltage measurement BattV
Battery(BattV)
'Generic 4-20 mA Input measurement Windr
VoltDiff(Windr,1,mV2500,2,True,0,_50Hz,0.18,-89.1)
'Generic 4-20 mA Input measurement Temp
VoltDiff(Temp,1,mV2500,3,True,0,_50Hz,0.05,-65)
'Generic 4-20 mA Input measurement Vocht
VoltDiff(Vocht,1,mV2500,4,True,0,_50Hz,0.05,-25)
'Generic 4-20 mA Input measurement Windskm
VoltDiff(Windskm,1,mV2500,1,True,0,_50Hz,0.081035,-39.9875)
'Generic Tipping Bucket Rain Gauge measurement Rain_mm
PulseCount(Rain_mm,1,1,2,0,0.2,0)
'PTB101B Barometric Pressure Sensor (CSL) measurement BP_mbar
PortSet(1,1)
VoltSE(BP_mbar,1,mV2500,11,1,0,_50Hz,0.184,600)
BP_mbar=BP_mbar*1
'CM3 Pyranometer (CSL) measurements SlrkJ and SlrW
VoltDiff(SlrW,1,mV250,7,True,0,_50Hz,1,0)
If SlrW<0 Then SlrW=0
SlrkJ=SlrW*0.04330879
SlrW=SlrW*43.30879
'24 hour running total calculation Tot24
Tot24=Tot24+Rain_mm
If IfTime(24,1440,Min) Then Tot24=0
'User Entered Calculation
Windskn=(Windskm/1.852)
'User Entered Calculation
If Windskm<1 Then
'User Entered Calculation
Beaufort=0
'User Entered Calculation
ElseIf Windskm<6 Then
'User Entered Calculation
Beaufort=1
'User Entered Calculation
ElseIf Windskm<12 Then
'User Entered Calculation
Beaufort=2
'User Entered Calculation
ElseIf Windskm<20 Then
'User Entered Calculation
Beaufort=3
'User Entered Calculation
ElseIf Windskm<29 Then
'User Entered Calculation
Beaufort=4
'User Entered Calculation
ElseIf Windskm<39 Then
'User Entered Calculation
Beaufort=5
'User Entered Calculation
ElseIf Windskm<50 Then
'User Entered Calculation
Beaufort=6
'User Entered Calculation
ElseIf Windskm<62 Then
'User Entered Calculation
Beaufort=7
'User Entered Calculation
ElseIf Windskm<75 Then
'User Entered Calculation
Beaufort=8
'User Entered Calculation
ElseIf Windskm<89 Then
'User Entered Calculation
Beaufort=9
'User Entered Calculation
ElseIf Windskm<103 Then
'User Entered Calculation
Beaufort=10
'User Entered Calculation
ElseIf Windskm<117 Then
'User Entered Calculation
Beaufort=11
'User Entered Calculation
ElseIf Windskm>117 Then
'User Entered Calculation
Beaufort=12
'User Entered Calculation
EndIf
'Call Data Tables and Store Data
CallTable(Table1)
CallTable(Table2)
CallTable(Table3)
NextScan
EndProg
Also, ive made part of the program in shortcut, than imported it into crbasic, bu now i cant import it into shortcut anymore...
ive tried both, both dont work.
ive tried both, both dont work.
Are you saying the examples provided do not work?
yes ive implemented them in my program (maybe i did something wrong there, ive posted my program before, so maybe its possible to have someone apply the rate of change program in mine...?)im not that experienced with crbasic...
anyone got some more ideas?