G.1.11, 50 hz measurement example — one cdm-vw300, two, Steinb(8) – Campbell Scientific CDM-VW300 Series Dynamic Vibrating-Wire Analyzer System User Manual
Page 109: Appendix g. crbasic program library, G-17

Appendix G. CRBasic Program Library
'Now shift the given Strain using the Baseline/Offset value
Strain(1)
=
Strain(1) + StrainBL(1) : Strain(2)
=
Strain(2) + StrainBL(2)
'Zeroing calibration for Geokon 4000 Vibrating Wire Strain Gage
'Strain offset and Temperature baseline readings
FieldCal(0,Strain(),2,0,StrainBL(),ZeroMode,0,1,100)
'Calibrate for 2 seconds
FieldCal(4,Temp(),2,0,TempBL(),ZeroMode,0,1,100)
'Process the Diagnostic codes to keep an eye on the health of the monitored date
ExciteStr(1)
=
( DCode(1) AND 255) * VoltFactor : ExciteStr(2)
=
( DCode(2) AND 255) * _
VoltFactor
If
(DCode(1) AND 256)
Then
LowAmpCount(1) +
=
1
If
(DCode(2) AND 256)
Then
LowAmpCount(2) +
=
1
If
(DCode(1) AND 512)
Then
HighAmpCount(1) +
=
1
If
(DCode(2) AND 512)
Then
HighAmpCount(2) +
=
1
If
(DCode(1) AND 1024)
Then
LowFreqCount(1) +
=
1
If
(DCode(2) AND 1024)
Then
LowFreqCount(2) +
=
1
If
(DCode(1) AND 2048)
Then
LowFreqCount(1) +
=
1
If
(DCode(2) AND 2048)
Then
LowFreqCount(2) +
=
1
If
ResetCounts Then
LowAmpCount(1)
=
0 : LowAmpCount(2)
=
0
HighAmpCount(1)
=
0 : HighAmpCount(2)
=
0
LowFreqCount(1)
=
0 : LowFreqCount(2)
=
0
HighFreqCount(1)
=
0 : HighFreqCount(2)
=
0
ResetCounts
=
False
EndIf
CallTable
dynamic
CallTable
CalHist
CallTable
slow
If TimeIntoInterval
(0,1,Sec) Then
CDM_VW300Static
(CPI_ADDR,StaticStrain(),Temp(),StrainStdDev())
'Obtain un-shifted
'static strain.
'Calculate static digits reading (for troubleshooting)
StaticDigits(1)
=
StaticStrain(1)/GageFactor/NomBatchFactor
StaticDigits(2)
=
StaticStrain(2)/GageFactor/NomBatchFactor
'Now shift the given StaticStrain using the Offset/Baseline reading to obtain
'Final/adjusted StaticStrain.
StaticStrain(1)
=
StaticStrain(1) + StrainBL(1) : StaticStrain(2)
=
StaticStrain(2) + _
StrainBL(2)
'Calculate static frequency from static digits (for troubleshooting)
StaticFreq(1)
=
SQR(StaticDigits(1)*1000) : StaticFreq(2)
=
SQR(StaticDigits(2)*1000)
CallTable
static
EndIf
NextScan
EndProg
G.1.11 50 Hz Measurement Example — One CDM-VW300, Two
Geokon 4000 Sensors with FieldCal()
'===Geokon4000-50Hz2Ch_4-25-13.CR3===
'CR3000 datalogger
'CDM-VW300 vibrating-wire analyzer
'Program to read 50-Hz dynamic data from one CDM-VW300 measuring two Geokon 4000
strain gages
'IMPORTANT -- Ensure that the CPI address coded on the following line matches the address
'reported for the attached analyzer in the DevConfig or DVWTool software.
Const
CPI_ADDR
=
1
'<<<<<<<<<<<<< 'Constants specific to the Geokon 4000 strain gages Const GageFactor = 4.062 'G = 4.062 - Gage factor taken from sensor manual Const NomBatchFactor = 0.97 'B=0.97 - Batch Factor taken from sensor calibration sheet 'Output will be in Strain, not Digits nor Frequency Public Strain(2) : Units Strain() = Microstrain 'Measured strain output in units of Microstrain Public StrainBL(2) : Units Strain() = Microstrain 'Baseline/offset strain reading in units of 'Microstrain (for calibration) G-17