I prepare project for 20 VW sensors.
Plan to use CR6 with 4xFlexi-MUX from RST Inc.
According RST Flexi-MUX instruction, all 4 muxes must be cascade, connected to one CR6 VW input (using instruction VibratingWire() for CR6 U1-U4 terminals) and controlled by CLK (CR6 C1 port) and RES (CR6 C2 port).
Question 1:
I don`t understand how the switching between different RST muxes inputs occurs?
In case using a few CSI muxes AM16/32, all muxes can be connected to the same CLK and RES but each mux will then be connected to different CR6 VW input.
Question 2:
Maybe the forum members could share the CRBasic fragment, how to scan 20VWsensors/4xFlexi-MUX to one CR6 table?
Thanks in advance
Gintaris
Lithuania
Hello everyone,
Stephen Pooran, RST Instruments, helped solve this problem:
_________________________________________________________
' CR6 Data Logger monitors 10 Piezometers and 10 thermistors
' (c) Stephen Pooran, RST Instruments
SequentialMode
Const nVW = 10
'*** Declare Public Variables and DataTables ***
Public battV, pTemp
Public bUnits(nVW), therm(nVW), KPA(nVW)
Public Htz(nVW),Amp(nVW),S2N(nVW),NF(nVW),DR(nVW),Res(nVW)
Public VW(6), i
Const A = 1.40503E-03
Const B = 2.36939E-04
Const C = 1.01266E-07
Units bUnits() = B
Units therm() = °C
Units KPA() = kPa
Units battV = V
Units pTemp = °C
DataTable (DEMO_10VW,-1,-1)
Sample (nVW,bUnits(),IEEE4)
Sample (nVW,KPA(),IEEE4)
Sample (nVW,therm(),FP2)
Sample (1,battV, FP2)
Sample (1,pTemp, FP2)
EndTable
'*** Main Program ****
BeginProg
Scan (1,min,0,0)
'***Vibrating Wire Piezometers ***'
PortSet (C1,1)
Delay (0,15,mSec)
For i = 1 To nVW
PulsePort (C2,5000)
Delay (0,100,msec)
VibratingWire (VW(1),1,U1,1500,3500,1,0.05,"",60,A,B,C)
Htz(i)=VW(1)'frequency
Amp(i)=VW(2)'amplitude
S2N(i)=VW(3)'signal to noise ratio
NF(i)=VW(4)'noise frquency
DR(i)=VW(5)'decay ratio
Res(i)=VW(6)'thermistor temp
therm(i) = VW(6)
bUnits(i) = (VW(1)^2)/1000 'Convert to B Units
Next i
PortSet (C1,0)
'*** Engineering Units ***
'Converts Piezometer B units to Pressure (KPA)
'Serial Number must match channel
'Example: KPA(1)=(<Zero Reading> - bUnits(1))*<Calibration Factor> - (<Zero Temperature> - therm(1))*<Temperature Factor> 'VW Sensor s/n VW12345, mux1, ch.1
'Enter calibration constants from cal sheets below
KPA(1)=(0.000 - bUnits(1)) * 0.000 - (0.000 - therm(1)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 1, CH.1
KPA(2)=(0.000 - bUnits(2)) * 0.000 - (0.000 - therm(2)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 1, CH.2
KPA(3)=(0.000 - bUnits(3)) * 0.000 - (0.000 - therm(3)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 1, CH.3
KPA(4)=(0.000 - bUnits(4)) * 0.000 - (0.000 - therm(4)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 1, CH.4
KPA(5)=(0.000 - bUnits(5)) * 0.000 - (0.000 - therm(5)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 1, CH.5
KPA(6)=(0.000 - bUnits(6)) * 0.000 - (0.000 - therm(6)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 2, CH.1
KPA(7)=(0.000 - bUnits(7)) * 0.000 - (0.000 - therm(7)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 2, CH.2
KPA(8)=(0.000 - bUnits(8)) * 0.000 - (0.000 - therm(8)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 2, CH.3
KPA(9)=(0.000 - bUnits(9)) * 0.000 - (0.000 - therm(9)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 2, CH.4
KPA(10)=(0.000 - bUnits(10)) * 0.000 - (0.000 - therm(10)) * 0.000 ' VW SENSOR s/n VWxxxx, MUX 2, CH.5
'*** Datalogger Temperature and Battery Voltage ***
Battery(battV)
PanelTemp(pTemp, 250)
'*** Save to DataTable ***
CallTable DEMO_10VW
NextScan
EndProg
This post is under review.