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.