
Appendix G. CRBasic Program Library
'Standard Deviation of the dynamic readings that occurred during the latest one-second interval
Public DynStdDev(8)
'The following arrays are used to configure the CDM-VW300 series device. Refer to the
'CDM_VW300Config instruction used below.
'
' CH1 CH2 CH3 CH4 CH5 CH6 CH7 CH8
' --- --- --- --- --- --- --- ---
'Set to true (Enabled=1, Disabled=0) only those channels which have sensors connected
Dim Enable(8) As Long = { 1, 1, 1, 1, 1, 1, 1, 1}
'Specify the target/desired resonant amplitude at which the sensor will be maintained
'via excitation, given in volts. This should be in the range 0.010 to 0.001
Dim Max_AMP(8) = { 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002}
'Low Frequency Boundary (sensor frequency should never fall below
'this value regardless of environmental changes)
Dim F_Low(8) = { 300, 300, 300, 300, 300, 300, 300, 300}
'High Frequency Boundary (sensor frequency should never exceed
'this value regardless of environmental changes)
Dim F_High(8) = { 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000}
'Output Format - Hz vs. Hz^2 :: Value of 0 – measured frequency is given in units of Hz,
'Value of 1 – measured frequency is squared and given in units of Hz^2
Dim OutForm(8) As Long = { 0, 0, 0, 0, 0, 0, 0, 0}
'Multiplier (factor) to be applied to sensor output frequency
Dim Mult(8) = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
'Offset (shift) to be applied to sensor output frequency
Dim Off(8) = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
'Steinhart-Hart coefficients [A,B,C] for converting thermistor ohms to
'temperature in Celsius. Specifying zeroes for A,B,C results in a reading in Ohms.
Dim SteinA(8) = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
Dim SteinB(8) = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
Dim SteinC(8) = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
'Rainflow configuration (not used in this program, but required as configuration arguments)
Dim RFMB(8) As Long = { 20, 20, 20, 20, 20, 20, 20, 20}
Dim RFAB(8) As Long = { 20, 20, 20, 20, 20, 20, 20, 20}
Dim RFLL(8) = { 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0}
Dim RFHL(8) = {4000.0,4000.0,4000.0,4000.0,4000.0,4000.0,4000.0,4000.0}
Dim RFHY(8) = { 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005, 0.005}
Dim RFOF(8) As Long = { 100, 100, 100, 100, 100, 100, 100, 100}
'Configure the CDM-VW300 series device. Use the variable arrays declared above.
CDM_VW300Config(1,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)
'Static Frequency reading (1Hz output)
Sample (8,StaticFreq(),IEEE4)
'Thermistor reading : Ohms or DegC
Sample (8,Therm(),IEEE4)
'Standard Deviation of dynamic readings taken during the most recent second
Sample (8,DynStdDev(),IEEE4)
EndTable
DataTable (dynamic,true,-1)
'Dynamic Frequency (20Hz output)
Sample (8,Freq(),IEEE4)
'Diagnostic code for the current dynamic reading
Sample (8,Diag(),IEEE4)
EndTable
BeginProg
'20 Hz/50msec scan rate
Scan(50,msec,500,0)
CDM_VW300Dynamic(CPI_ADDR,Freq(),Diag()) 'Get dynamic readings
CallTable dynamic
If TimeIntoInterval (0,1,Sec) Then 'Process static data only once per second
CDM_VW300Static(CPI_ADDR,StaticFreq(),Therm(),DynStdDev()) 'Get static readings
CallTable static
EndIf
NextScan
EndProg
G-3
Komentarze do niniejszej Instrukcji