beautypg.com

Appendix g. crbasic program library, G-20 – Campbell Scientific CDM-VW300 Series Dynamic Vibrating-Wire Analyzer System User Manual

Page 112

background image

Appendix G. CRBasic Program Library

Dim

OutForm(2)

As Long

=

{ 1, 1}

'Use a multiplier of 0.001 to divide by 1000 and get digits

'Then scale further to get to Strain

Dim

Mult(2)

=

{ 0.001*GageFactor*NomBatchFactor,

0.001*GageFactor*NomBatchFactor}

'Digits (Hz^2/1000) times G times B results in strain

Dim

Off(2)

=

{ 0.0, 0.0}

'Use Steinhart-Hart coefficients To get Thermistor output in DegC

Dim

SteinA(2)

=

{1.4051E-3, 1.4051E-3}

Dim

SteinB(2)

=

{ 2.369E-4, 2.369E-4}

Dim

SteinC(2)

=

{ 1.019E-7, 1.019E-7}

Dim

RFMB(2)

As Long

=

{ 20, 20}

Dim

RFAB(2)

As Long

=

{ 20, 20}

Dim

RFLL(2)

=

{ 400.0, 400.0}

Dim

RFHL(2)

=

{4000.0,4000.0}

Dim

RFHY(2)

=

{ 0.005, 0.005}

Dim

RFOF(2)

As Long

=

{ 100, 100}

CDM_VW300Config

(0,CPI_ADDR,0,Enable(),Max_AMP(),F_Low(),F_High(), _

OutForm(),Mult(),Off(), SteinA(),SteinB(),SteinC(), _

RFMB(),RFAB(),RFLL(),RFHL(),RFHY(),RFOF())

DataTable

(static,true,-1)

DataInterval

(0,1,Min,10)

CardOut

(0 ,-1)

Average

(2,StaticStrain(),IEEE4,False)

Average

(2,Temp(),IEEE4,False)

Average

(2,StrainStdDev(),IEEE4,False)

EndTable

DataTable

(dynamic,true,-1)

CardOut (0 ,-1)

DataEvent

(100,(Strain(1) > 200) OR (Strain(2) > 200),1,100)

Sample

(2,Strain(),IEEE4)

Sample

(2,DCode(),IEEE4)

EndTable

DataTable(CalHist,NewFieldCal,-1)

CardOut

(0 ,-1)

SampleFieldCal

EndTable

BeginProg

'50 Hz/20msec scan rate

Scan

(20,msec,500,0)

CDM_VW300Dynamic

(CPI_ADDR,Strain(),DCode())

'Get unshifted strain

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


CallTable

dynamic

CallTable

CalHist

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