Campbell Scientific AVW200-series Vibrating Wire Interfaces User Manual
Page 102

Appendix H. Additional Programming Examples
PortSet(1,1)
'Enable Mux1
For i = 1 To 16
'Do the following for each of 16 sensors:
PulsePort(2,1000)
'Provide pulse to advance to next channel on Mux1
Delay (0,100,mSec)
AVW200(VWResults,ComRS232,0,15,Mux(1),1,1,1,2500,3500,2,_60Hz,1,0) 'Make VW measurement
VWFreq1(i) = Mux(1)
'Assign vw frequency to the VWFreq1 variable
Amp1(i) = Mux(2)
'Assign signal amplitude to Amp1 variable
Sig2Noise1(i) = Mux(3)
'Assign signal to noise ratio to Sig2Noise1 variable
FreqOfNoise1(i) = Mux(4)
'Assign frequency of competing noise to FreqOfNoise1 variable
DecayRatio1(i) = Mux(5)
'Assign signal decay ratio to DecayRatio1 variable
Digits = (VWFreq3(i)/1000)^2 * 1000
'Convert frequency to Digits
Temp1(i) = (1/(A + B*LN(Mux(6)) + C*(LN(Mux(6)))^3)-273.15)*1.8+32 'Convert resistance to temp F.
'Calculate displacement (inches) from Digits and calibration polynomial
Displacement1(i)=Coef1(3*i-2)*Digits^2 + Coef1(3*i-1)*Digits + Coef1(3*i)
Next i
PortSet(1,0)
'Reset and Disable Mux1
PortSet(3,1)
'Enable Mux2
For i = 1 To 16
'Do the following for each of 16 sensors:
PulsePort(4,1000)
'Provide pulse to advance to next channel on Mux2
AVW200(VWResults,ComRS232,0,15,Mux(1),1,1,1,2500,3500,2,_60Hz,1,0) 'Make VW measurement
VWFreq2(i) = Mux(1)
'Assign vw frequency to the VWFreq2 variable
Amp2(i) = Mux(2)
'Assign signal amplitude to Amp2 variable
Sig2Noise2(i) = Mux(3)
'Assign signal to noise ratio to Sig2Noise2 variable
FreqOfNoise2(i) = Mux(4)
'Assign frequency of competing noise to FreqOfNoise2 variable
DecayRatio2(i) = Mux(5)
'Assign signal decay ratio to DecayRatio2 variable
Digits = (VWFreq2(i)/1000)^2 * 1000
'Convert frequency to Digits
Temp2(i) = (1/(A + B*LN(Mux(6)) + C*(LN(Mux(6)))^3)-273.15)*1.8+3 'Convert resistance to temp F.
'Calculate displacement (inches) from Digits and calibration ploynomial
Displacement2(i) = Coef2(3*i-2)*Digits^2 + Coef2(3*i-1)*Digits + Coef2(3*i)
Next i
PortSet(3,0)
'Reset and Disable Mux2
PortSet(5,1)
'Enable Mux3
For i = 1 To 9
'Do the following for each of 9 sensors:
PulsePort(6,1000)
'Provide pulse to advance to next channel on Mux3
AVW200(VWResults,ComRS232,0,15,Mux(1),1,1,1,2500,3500,2,_60Hz,1,0)
VWFreq3(i) = Mux(1)
'Assign vw frequency to the VWFreq2 variable
Amp3(i) = Mux(2)
'Assign signal amplitude to Amp2 variable
Sig2Noise3(i) = Mux(3)
'Assign signal to noise ratio to Sig2Noise2 variable
FreqOfNoise3(i) = Mux(4)
'Assign frequency of competing noise to FreqOfNoise2 variable
DecayRatio3(i) = Mux(5)
'Assign signal decay ratio to DecayRatio2 variable
Digits = (VWFreq3(i)/1000)^2 * 1000
'Convert frequency to Digits
Temp3(i) = (1/(A + B*LN(Mux(6)) + C*(LN(Mux(6)))^3)-273.15)*1.8+3 'Convert resistance to temp F.
'Calculate displacement (inches) from Digits and calibration ploynomial
Displacement3(i) = Coef3(3*i-2)*Digits^2 + Coef3(3*i-1)*Digits + Coef3(3*i)
Next i
PortSet(5,0)
'Reset and disable Mux3
H-10