Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

Rate of change


Mavada Jul 27, 2010 06:43 PM

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...


Sam Jul 30, 2010 02:25 AM

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
-----------------------------------------------------------


Mavada Jul 30, 2010 06:04 AM

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...


Mavada May 22, 2011 07:03 PM

ive tried both, both dont work.


Mavada May 22, 2011 07:03 PM

ive tried both, both dont work.


Sam May 23, 2011 03:49 AM

Are you saying the examples provided do not work?


Mavada May 23, 2011 06:59 AM

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...


Mavada Jul 13, 2012 06:57 PM

anyone got some more ideas?

Log in or register to post/reply in the forum.