CRBasic Editor
Start
New Code
My Snippets
Public Snippets
Templates
Resources
crbasic 'CRBasic Program for Geokon Vibrating Wire Sensors with Barometric Pressure Correction 'Assumptions: ' - Vibrating wire sensors are connected to appropriate channels ' - A barometric sensor is available and connected ' - Measurements are taken every 10 seconds ' - Logger is a CR1000 or similar capable datalogger '---- Declarations ---- Public VW1Hz, VW2Hz, VW3Hz ' Variables for vibrating wire frequencies Public VW1Strain, VW2Strain, VW3Strain ' Computed strain values from VW frequencies Public BaroPressure ' Barometric pressure Public CorrectedVW1Strain, CorrectedVW2Strain, CorrectedVW3Strain ' Strain corrected for pressure ' Constants or calibration factors for strain calculations - these would be sensor-specific Const Factor1 = 1.0 Const Factor2 = 1.0 Const Factor3 = 1.0 '---- Initialization ---- BeginProg ' Scan every 10 seconds Scan(10, Sec, 0, 0) ' Read vibrating wire frequencies, assuming VW sensors are connected to SE channels VibratingWire(VW1Hz,1,1) ' Read VW1 connected to SE1 VibratingWire(VW2Hz,1,2) ' Read VW2 connected to SE2 VibratingWire(VW3Hz,1,3) ' Read VW3 connected to SE3 ' Calculate strain from frequency for each VW sensor VW1Strain = CalculateStrain(VW1Hz, Factor1) VW2Strain = CalculateStrain(VW2Hz, Factor2) VW3Strain = CalculateStrain(VW3Hz, Factor3) ' Read barometric pressure, assuming it is connected to an analog channel VoltSe(BaroPressure, 1, 4, 1, 0, 2500, False, 0, 250, 1, 0) ' Example for SE4 ' Correct strain readings using barometric pressure CorrectedVW1Strain = VW1Strain - BaroPressure CorrectedVW2Strain = VW2Strain - BaroPressure CorrectedVW3Strain = VW3Strain - BaroPressure ' DataTable to store results ' Adjust the DataTable interval as needed DataTable(VWData, True, -1) DataInterval(0, 10, Sec, 10) Average(1, VW1Strain, FP2, False) Average(1, VW2Strain, FP2, False) Average(1, VW3Strain, FP2, False) Average(1, CorrectedVW1Strain, FP2, False) Average(1, CorrectedVW2Strain, FP2, False) Average(1, CorrectedVW3Strain, FP2, False) Sample(1, BaroPressure, FP2) EndTable NextScan EndProg '---- Function to calculate strain from frequency ---- Function CalculateStrain(VibrateFreq As Float, Factor As Float) As Float CalculateStrain = Factor * VibrateFreq^2 EndFunction
Make snippet public
Use mock deployment
Save & Share
Validate Code
Fix Missing Variables
Explain Code
Get Assistance
Simulate Code
Deploy to Datalogger
Versions
Version 1 (2025-06-16 19:04:31)
Load Selected Version