Support Forums
DataTaker configuration Series 2/3 converting to Series 4

Hello DataTaker Support Team,

i have a simple question. I like to replace my old DT80 series2/3 with the new DT80M serie 4. The problem is, when i replaced a series2 with a series3 DT i just had to copy and paste the config. Sadly, this method isn´t working for the current version. I already searched the forum because i heard, that there exists already a work around for this problem, but sadly i found nothing. So could anybody plz give me the link to an existing thread or explain to me what i have to do?

Thanks in advance and best regards,

Markus

Hello DataTaker Support Team, i have a simple question. I like to replace my old DT80 series2/3 with the new DT80M serie 4. The problem is, when i replaced a series2 with a series3 DT i just had to copy and paste the config. Sadly, this method isn´t working for the current version. I already searched the forum because i heard, that there exists already a work around for this problem, but sadly i found nothing. So could anybody plz give me the link to an existing thread or explain to me what i have to do? Thanks in advance and best regards, Markus

Hi Markus,

I assume you were referring to the old dEX program on flash player. Did you still use dEX 1.0 to program your logger? I recommend you to start the migration to dEX 2.0, please contact us if you need assistance on using dEX 2.0.

About the old dEX program, it is based on the dataTaker model. Naturally, you cannot use the same program on different series as per your statement. However, there is a trick, although you need to be very careful on implementing this trick. You can download the program as dex file and open it using a notepad. Find and change the first or second line with the model and series information the target.

I recommend you to make a comparison to the target model and series by creating a simple program. After changing the information you can re-save the file and open it again using dEX 1.0 on connection with the target logger.

Best regards,
dataTaker Expert

Hi Markus, I assume you were referring to the old dEX program on flash player. Did you still use dEX 1.0 to program your logger? I recommend you to start the migration to dEX 2.0, please contact us if you need assistance on using dEX 2.0. About the old dEX program, it is based on the dataTaker model. Naturally, you cannot use the same program on different series as per your statement. However, there is a trick, although you need to be very careful on implementing this trick. You can download the program as dex file and open it using a notepad. Find and change the first or second line with the model and series information the target. I recommend you to make a comparison to the target model and series by creating a simple program. After changing the information you can re-save the file and open it again using dEX 1.0 on connection with the target logger. Best regards, dataTaker Expert

Hello dT Expert,

thanks for your reply. I think i asked my question kinda misleading. We already use dEX2 to implement the old config into the new dataTaker series 4. With config i mean the jobs from the old series2 and series3. It´s not possible to just copy and paste the old jobs to the new loggers and i heard that you need to make small changes in the jobs file so the new logger can work with it.

For example that´s an old job file which i like to use with the actual dataTaker.

BEGIN"FREBEST"
CATTN
'Spans and polynomial declarations
S1=0,100,0,100"Ah"
S2=0,100,0,100"Vol%"
S3=0,100,0,100"%Cap"
S4=0,100,0,100"V"
S5=0,100,0,100"mA"
S6=0,100,0,100"degC"
S7=0,0.1,0,1"l"
S8=0,0.5,0,1"l"
S9=0,1,0,1"l"
Y10=0,6"µm"
S11=0,100,0,100"mV"
S12=0,0.005,0,1"l"
'Thermistor declarations
T1=0.001471388,0.0002376138,0.0000001051058"K"
'Switches declarations
'Parameter declarations
'Global declarations
RS1M
'schedule definition

'Init Serial Sensor Port
PROFILE"SERSEN_PORT" "FUNCTION"="SERIAL"
PROFILE"SERSEN_PORT" "BPS"="9600"
PROFILE"SERSEN_PORT" "DATA_BITS"="8"
PROFILE"SERSEN_PORT" "STOP_BITS"="1"
PROFILE"SERSEN_PORT" "PARITY"="NONE"
PROFILE"SERSEN_PORT" "FLOW"="NONE"
'Init von Geräten
1DSO=0 'Turn Trase off
'Init von verwendeten Variablen
1CV=14
9CV=0
4CV=50
'Trase
90CV=26 'Anzahl der TRASE Multiplexer Kanaele (+1)
91..99CV=0
'Init von Countern
3DSO=1
4DSO=1
8DSO=0
' Counter 8 auf Input setzen
8DS(W)

'Init Display Funktionen
FUNCTION1="Remove USB"{REMOVEMEDIA}
FUNCTION2="Copy logged data"{COPYDATA}
FUNCTION3=""
FUNCTION4="Neue Batterie"{SDI12SEND 7 "1XN!"}
FUNCTION5="Modem an"{2DSO(W)=1}
FUNCTION6="Modem aus"{2DSO(W)=0}

'Init sonstiges System
P15=0
P17=30
'schedule definition
RA"LogBATT"("B:",ALARMS:OV:100KB,DATA:OV:1MB)1H LOGONA GA
7SDI12(AD1,R001,CM,W,=201CV)
7SDI12(AD1,R002,CM,W,=202CV)
7SDI12(AD1,R003,CM,W,=203CV)
7SDI12(AD1,R004,CM,W,=204CV)
7SDI12(AD1,R101,CM,W,=211CV)
7SDI12(AD1,R102,CM,W,=212CV)
7SDI12(AD1,R103,CM,W,=213CV)
7SDI12(AD1,R104,CM,W,=214CV)
'tensioCON abfragen
' Abfrage tensioCON (SDI12) Plausibilitaetskontrolle wegen fehlerhafter Abfragen
IF(201CV><0,16){1CV(W)=201CV}
IF(202CV><-12000,12000){2CV(W)=202CV}
IF(203CV><-1,120){3CV(W)=203CV}
IF(204CV><0,101){4CV(W)=204CV}
IF(211CV><0,5000){6CV(W)=211CV}
IF(212CV><0,5000){7CV(W)=212CV}
IF(213CV><0,5000){8CV(W)=213CV}
IF(214CV><0,5000){9CV(W)=214CV}
'1CV=Batterie Spannung
'2CV=Batterie Strom gesamt (negativ=Laden, positiv=Entladen)
'3CV=Batterie Ladung [Ah]
'4CV=Batterie SOC [%]
'5CV=Solar Panel Strom
'6CV=Logger Strom momentan
'7CV=Trase Strom momentan
'8CV=Free Strom momentan
'9CV=Modem Strom momentan
1CV(S4,"Batterie Volt")
2CV(S5,"Batterie Current")
4CV(S3,"Batterie SOC")
6CV(S5,"Logger Current",NL)
8CV(S5,"Trase Current",NL)
9CV(S5,"Modem Current",NL)
10CV("Power Save Mode")
'Aktionen durfuehren aufgrund Batteriezustand
ALARM(4CV><10,40)"Batterie Low"{RA1H RB15M RE1M RF10M RH6H RS5M P15=1 10CV(W)=1}
ALARM(4CV<10)"Batterie Very Low"{HH XJ RA1H RB1H RE1M RF4H RS10M P15=1 10CV(W)=2}
ALARM(4CV>50)"Batterie ok"{GH RA1H RB15M RE10S RF10M RH30M RS1M P15=0 10CV(W)=0}
'schedule definition
RB"BoTMP"("B:",ALARMS:OV:100KB,DATA:OV:1MB)15M LOGONB GB
2PT385(4W,"BoTMP05",AV)
3PT385(4W,"BoTMP10",AV)
'schedule definition
RC"LogTDR"("B:",ALARMS:OV:100KB,DATA:OV:1MB)X LOGONC GC
100CV(S2,"W1")
102CV(S2,"W2")
104CV(S2,"W3")
106CV(S2,"W4")
108CV(S2,"W5")
110CV(S2,"W6")
112CV(S2,"W7")
114CV(S2,"W8")
116CV(S2,"W9")
118CV(S2,"W10")
120CV(S2,"W11")
122CV(S2,"W12")
124CV(S2,"W13")
126CV(S2,"W14")
128CV(S2,"W15")
130CV(S2,"W16")
132CV(S2,"W17")
134CV(S2,"W18")
136CV(S2,"W19")
138CV(S2,"W20")
140CV(S2,"W21")
142CV(S2,"W22")
144CV(S2,"W23")
146CV(S2,"W24")
148CV(S2,"W25")
'schedule definition
RD"LogNB"("B:",ALARMS:OV:100KB,DATA:OV:1MB)450+CV LOGOND GD
3C(R,S7,"NBR1")
4C(R,S7,"NBR2")
8C(R,S9,"STA_B39")
1HSC(R,S8,"STA_B62")
2HSC(R,S8,"STA_B61")
3HSC(R,S8,"STA_B23")
4HSC(R,S8,"STA_B35")
450CV(W)=0
'schedule definition
RE"TriggNB"("B:",ALARMS:OV:100KB,DATA:OV:1MB)10S LOGOFFE GE
3C("NBR1",W,+=450CV)
4C("NBR2",W,+=450CV)
8C("STA_B39",W,+=450CV)
1HSC("STA_B62",W,+=450CV)
2HSC("STA_B61",W,+=450CV)
3HSC("STA_B23",W,+=450CV)
4HSC("STA_B35",W,+=450CV)
'schedule definition
RH"ReadTDR"("B:",ALARMS:OV:100KB,DATA:OV:1MB)30M LOGONH GH
DO{SATTN}
'config serial Sensor interface
PS=RS232,9600,N,8,1,NOFC
'Starte Messung ueber Schedule F
93CV(W)=1
'Setze Multiplexer Kanal auf 1
95CV(W)=1
'Fehlerzaeler auf 0
91CV(W)=0
'Power on TRASE
1DSO(W)=1
DELAY(W)=1000
1SERIAL("{\r1\w[250]\r0#P1;}",W)
1SERIAL("{\w[500]#TAG\034UMS\034;}",W)
1SERIAL("{\w[500]#MOD 0;}",W)
'Set Trase Time
1ST(W,=80CV)
2ST(W,=81CV)
3ST(W,=82CV)
1SERIAL("{\w[500]#TIM%02d[82CV]:%02d[81CV]:%02d[80CV];}\w[50]",W)
DO{GI}
'schedule definition
RI"TraseCOM"("B:",ALARMS:OV:100KB,DATA:OV:1MB)25S LOGOFFI HI
'Get last reading
96CV(W)=99
IF(93CV><2,3){1SERIAL("{\e}{#GTRR,1,0;}\m[0,\034UMS\034,]%f[97CV]\044%f[98CV]\m[0,\034BUR\034,]%d[99CV],%d[96CV]\e\w[100]",=94CV,1)}
'Setze naechsten Kanal wenn erfolgreich
IF(96CV<98){95CV(W)=96CV+1}
'Fehlerzaehler, wenn Antwort fehlerhaft oder keine Antwort
IF(93CV><1,2){96CV(W)=0} 'nicht beim ersten Mal
IF(96CV><99,100){91CV(W)=91CV+1} 'Abfrage ob Fehler
IF(91CV>3){92CV(W)=92CV+1 93CV(W)=3 XJ} 'Fehler Abbruch nach 3 Fehlversuchen
'IF(92CV>10){93CV(W)=3 XJ 92CV(W)=0} ' Reset Trase nach 10 Fehlversuchen (Reset nicht implementiert)
'Hilfe zu Channel Variablen
'90CV=Anzahl Multiplexerkanaele +1
'91CV=Fehlerzaeler in der Abfrage
'92CV=Fehlerzaeler fuer Abfragen
'93CV=Status
'94CV=serieller Status
'95CV=Aktueller Kanal
'96CV=Eingelesener Kanal
'97CV=Wassergehalt
'98CV=K-Wert
'99CV=eingelesener digital Wert
'Assign Measurement to static Channel Variable
IF(96CV><1,2){100CV("W1")=97CV 101CV("K1")=98CV}
IF(96CV><2,3){102CV("W2")=97CV 103CV("K2")=98CV}
IF(96CV><3,4){104CV("W3")=97CV 105CV("K3")=98CV}
IF(96CV><4,5){106CV("W4")=97CV 107CV("K4")=98CV}
IF(96CV><5,6){108CV("W5")=97CV 109CV("K5")=98CV}
IF(96CV><6,7){110CV("W6")=97CV 111CV("K6")=98CV}
IF(96CV><7,8){112CV("W7")=97CV 113CV("K7")=98CV}
IF(96CV><8,9){114CV("W8")=97CV 115CV("K8")=98CV}
IF(96CV><9,10){116CV("W9")=97CV 117CV("K9")=98CV}
'Assign Measurement to static Channel Variable
IF(96CV><10,11){118CV("W10")=97CV 119CV("K10")=98CV}
IF(96CV><11,12){120CV("W11")=97CV 121CV("K11")=98CV}
IF(96CV><12,13){122CV("W12")=97CV 123CV("K12")=98CV}
IF(96CV><13,14){124CV("W13")=97CV 125CV("K13")=98CV}
IF(96CV><14,15){126CV("W14")=97CV 127CV("K14")=98CV}
IF(96CV><15,16){128CV("W15")=97CV 129CV("K15")=98CV}
IF(96CV><16,17){130CV("W16")=97CV 131CV("K16")=98CV}
IF(96CV><17,18){132CV("W17")=97CV 133CV("K17")=98CV}
IF(96CV><18,19){134CV("W18")=97CV 135CV("K18")=98CV}
IF(96CV><19,20){136CV("W19")=97CV 137CV("K19")=98CV}

'Assign Measurement to static Channel Variable
IF(96CV><20,21){138CV("W20")=97CV 139CV("K20")=98CV}
IF(96CV><21,22){140CV("W21")=97CV 141CV("K21")=98CV}
IF(96CV><22,23){142CV("W22")=97CV 143CV("K22")=98CV}
IF(96CV><23,24){144CV("W23")=97CV 145CV("K23")=98CV}
IF(96CV><24,25){146CV("W24")=97CV 147CV("K24")=98CV}
IF(96CV><25,26){148CV("W25")=97CV 149CV("K25")=98CV}
IF(96CV><26,27){150CV("W26")=97CV 151CV("K26")=98CV}
IF(96CV><27,28){152CV("W27")=97CV 153CV("K27")=98CV}
IF(96CV><28,29){154CV("W28")=97CV 155CV("K28")=98CV}
IF(96CV><29,30){156CV("W29")=97CV 157CV("K29")=98CV}

'Assign Measurement to static Channel Variable
IF(96CV><30,31){158CV("W30")=97CV 159CV("K30")=98CV}
IF(96CV><31,32){160CV("W31")=97CV 161CV("K31")=98CV}
IF(96CV><32,33){162CV("W32")=97CV 163CV("K32")=98CV}
IF(96CV><33,34){164CV("W33")=97CV 165CV("K33")=98CV}
IF(96CV><34,35){166CV("W34")=97CV 167CV("K34")=98CV}
IF(96CV><35,36){168CV("W35")=97CV 169CV("K35")=98CV}
IF(96CV><36,37){170CV("W36")=97CV 171CV("K36")=98CV}
IF(96CV><37,38){172CV("W37")=97CV 173CV("K37")=98CV}
IF(96CV><38,39){174CV("W38")=97CV 175CV("K38")=98CV}
IF(96CV><39,40){176CV("W39")=97CV 177CV("K39")=98CV}

'Assign Measurement to static Channel Variable
IF(96CV><40,41){178CV("W40")=97CV 179CV("K40")=98CV}
IF(96CV><41,42){180CV("W41")=97CV 181CV("K41")=98CV}
IF(96CV><42,43){182CV("W42")=97CV 183CV("K42")=98CV}
IF(96CV><43,44){184CV("W43")=97CV 185CV("K43")=98CV}
IF(96CV><44,45){186CV("W44")=97CV 187CV("K44")=98CV}
IF(96CV><45,46){188CV("W45")=97CV 189CV("K45")=98CV}
IF(96CV><46,47){190CV("W46")=97CV 191CV("K46")=98CV}
IF(96CV><47,48){192CV("W47")=97CV 193CV("K47")=98CV}
IF(96CV><48,49){194CV("W48")=97CV 195CV("K48")=98CV}
IF(96CV><49,50){196CV("W49")=97CV 197CV("K49")=98CV}

'Assign Measurement to static Channel Variable
IF(96CV><50,51){198CV("W50")=97CV 199CV("K50")=98CV}
IF(96CV><51,52){200CV("W51")=97CV 201CV("K51")=98CV}
IF(96CV><52,53){202CV("W52")=97CV 203CV("K52")=98CV}
IF(96CV><53,54){204CV("W53")=97CV 205CV("K53")=98CV}
IF(96CV><54,55){206CV("W54")=97CV 207CV("K54")=98CV}
IF(96CV><55,56){208CV("W55")=97CV 209CV("K55")=98CV}
IF(96CV><56,57){210CV("W56")=97CV 211CV("K56")=98CV}
IF(96CV><57,58){212CV("W57")=97CV 213CV("K57")=98CV}
IF(96CV><58,59){214CV("W58")=97CV 215CV("K58")=98CV}
IF(96CV><59,60){216CV("W59")=97CV 217CV("K59")=98CV}

'Assign Measurement to static Channel Variable
IF(96CV><60,61){218CV("W60")=97CV 219CV("K60")=98CV}
IF(96CV><61,62){220CV("W61")=97CV 221CV("K61")=98CV}

'Set Multiplexer Channel
IF(95CV<90CV){1SERIAL("{\e}{#MCN%02d[95CV];}\m[,]%d[250CV]",=94CV,3,W)}
'Iniitiate active Channel Measurement
IF(95CV<90CV){1SERIAL("{#MES;}{\e}",=93CV,1,W)}
93CV(W)=2
'Messung fertig wenn kein weiterer Kanal
IF(95CV>90CV){93CV(W)=0 92CV(W)=0 XC XJ}

'schedule definition
RJ"TraseOFF"("B:",ALARMS:OV:100KB,DATA:OV:1MB)X LOGONJ GJ
'Turn TRASE off
1SERIAL("{\r0\w[100]#P0;\w[500]}",W)
1DSO(W)=0
DO{HI CATTN}
'schedule definition
RK"Modem"("B:",ALARMS:OV:100KB,DATA:OV:1KB)10M LOGOFFK GK
'Modem Control
IF(T>08:20){500CV=1}
IF(T>16:00:00){500CV=0}
IF(500CV>1){2DSO(W)=1}
IF(500CV<1){2DSO(W)=0}
END

Thanks in advance and best regards,

Markus

Hello dT Expert, thanks for your reply. I think i asked my question kinda misleading. We already use dEX2 to implement the old config into the new dataTaker series 4. With config i mean the jobs from the old series2 and series3. It&acute;s not possible to just copy and paste the old jobs to the new loggers and i heard that you need to make small changes in the jobs file so the new logger can work with it. For example that&acute;s an old job file which i like to use with the actual dataTaker. BEGIN&quot;FREBEST&quot; CATTN &#039;Spans and polynomial declarations S1=0,100,0,100&quot;Ah&quot; S2=0,100,0,100&quot;Vol%&quot; S3=0,100,0,100&quot;%Cap&quot; S4=0,100,0,100&quot;V&quot; S5=0,100,0,100&quot;mA&quot; S6=0,100,0,100&quot;degC&quot; S7=0,0.1,0,1&quot;l&quot; S8=0,0.5,0,1&quot;l&quot; S9=0,1,0,1&quot;l&quot; Y10=0,6&quot;&micro;m&quot; S11=0,100,0,100&quot;mV&quot; S12=0,0.005,0,1&quot;l&quot; &#039;Thermistor declarations T1=0.001471388,0.0002376138,0.0000001051058&quot;K&quot; &#039;Switches declarations &#039;Parameter declarations &#039;Global declarations RS1M &#039;schedule definition &#039;Init Serial Sensor Port PROFILE&quot;SERSEN_PORT&quot; &quot;FUNCTION&quot;=&quot;SERIAL&quot; PROFILE&quot;SERSEN_PORT&quot; &quot;BPS&quot;=&quot;9600&quot; PROFILE&quot;SERSEN_PORT&quot; &quot;DATA_BITS&quot;=&quot;8&quot; PROFILE&quot;SERSEN_PORT&quot; &quot;STOP_BITS&quot;=&quot;1&quot; PROFILE&quot;SERSEN_PORT&quot; &quot;PARITY&quot;=&quot;NONE&quot; PROFILE&quot;SERSEN_PORT&quot; &quot;FLOW&quot;=&quot;NONE&quot; &#039;Init von Ger&auml;ten 1DSO=0 &#039;Turn Trase off &#039;Init von verwendeten Variablen 1CV=14 9CV=0 4CV=50 &#039;Trase 90CV=26 &#039;Anzahl der TRASE Multiplexer Kanaele (+1) 91..99CV=0 &#039;Init von Countern 3DSO=1 4DSO=1 8DSO=0 &#039; Counter 8 auf Input setzen 8DS(W) &#039;Init Display Funktionen FUNCTION1=&quot;Remove USB&quot;{REMOVEMEDIA} FUNCTION2=&quot;Copy logged data&quot;{COPYDATA} FUNCTION3=&quot;&quot; FUNCTION4=&quot;Neue Batterie&quot;{SDI12SEND 7 &quot;1XN!&quot;} FUNCTION5=&quot;Modem an&quot;{2DSO(W)=1} FUNCTION6=&quot;Modem aus&quot;{2DSO(W)=0} &#039;Init sonstiges System P15=0 P17=30 &#039;schedule definition RA&quot;LogBATT&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)1H LOGONA GA 7SDI12(AD1,R001,CM,W,=201CV) 7SDI12(AD1,R002,CM,W,=202CV) 7SDI12(AD1,R003,CM,W,=203CV) 7SDI12(AD1,R004,CM,W,=204CV) 7SDI12(AD1,R101,CM,W,=211CV) 7SDI12(AD1,R102,CM,W,=212CV) 7SDI12(AD1,R103,CM,W,=213CV) 7SDI12(AD1,R104,CM,W,=214CV) &#039;tensioCON abfragen &#039; Abfrage tensioCON (SDI12) Plausibilitaetskontrolle wegen fehlerhafter Abfragen IF(201CV&gt;&lt;0,16){1CV(W)=201CV} IF(202CV&gt;&lt;-12000,12000){2CV(W)=202CV} IF(203CV&gt;&lt;-1,120){3CV(W)=203CV} IF(204CV&gt;&lt;0,101){4CV(W)=204CV} IF(211CV&gt;&lt;0,5000){6CV(W)=211CV} IF(212CV&gt;&lt;0,5000){7CV(W)=212CV} IF(213CV&gt;&lt;0,5000){8CV(W)=213CV} IF(214CV&gt;&lt;0,5000){9CV(W)=214CV} &#039;1CV=Batterie Spannung &#039;2CV=Batterie Strom gesamt (negativ=Laden, positiv=Entladen) &#039;3CV=Batterie Ladung [Ah] &#039;4CV=Batterie SOC [%] &#039;5CV=Solar Panel Strom &#039;6CV=Logger Strom momentan &#039;7CV=Trase Strom momentan &#039;8CV=Free Strom momentan &#039;9CV=Modem Strom momentan 1CV(S4,&quot;Batterie Volt&quot;) 2CV(S5,&quot;Batterie Current&quot;) 4CV(S3,&quot;Batterie SOC&quot;) 6CV(S5,&quot;Logger Current&quot;,NL) 8CV(S5,&quot;Trase Current&quot;,NL) 9CV(S5,&quot;Modem Current&quot;,NL) 10CV(&quot;Power Save Mode&quot;) &#039;Aktionen durfuehren aufgrund Batteriezustand ALARM(4CV&gt;&lt;10,40)&quot;Batterie Low&quot;{RA1H RB15M RE1M RF10M RH6H RS5M P15=1 10CV(W)=1} ALARM(4CV&lt;10)&quot;Batterie Very Low&quot;{HH XJ RA1H RB1H RE1M RF4H RS10M P15=1 10CV(W)=2} ALARM(4CV&gt;50)&quot;Batterie ok&quot;{GH RA1H RB15M RE10S RF10M RH30M RS1M P15=0 10CV(W)=0} &#039;schedule definition RB&quot;BoTMP&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)15M LOGONB GB 2PT385(4W,&quot;BoTMP05&quot;,AV) 3PT385(4W,&quot;BoTMP10&quot;,AV) &#039;schedule definition RC&quot;LogTDR&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)X LOGONC GC 100CV(S2,&quot;W1&quot;) 102CV(S2,&quot;W2&quot;) 104CV(S2,&quot;W3&quot;) 106CV(S2,&quot;W4&quot;) 108CV(S2,&quot;W5&quot;) 110CV(S2,&quot;W6&quot;) 112CV(S2,&quot;W7&quot;) 114CV(S2,&quot;W8&quot;) 116CV(S2,&quot;W9&quot;) 118CV(S2,&quot;W10&quot;) 120CV(S2,&quot;W11&quot;) 122CV(S2,&quot;W12&quot;) 124CV(S2,&quot;W13&quot;) 126CV(S2,&quot;W14&quot;) 128CV(S2,&quot;W15&quot;) 130CV(S2,&quot;W16&quot;) 132CV(S2,&quot;W17&quot;) 134CV(S2,&quot;W18&quot;) 136CV(S2,&quot;W19&quot;) 138CV(S2,&quot;W20&quot;) 140CV(S2,&quot;W21&quot;) 142CV(S2,&quot;W22&quot;) 144CV(S2,&quot;W23&quot;) 146CV(S2,&quot;W24&quot;) 148CV(S2,&quot;W25&quot;) &#039;schedule definition RD&quot;LogNB&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)450+CV LOGOND GD 3C(R,S7,&quot;NBR1&quot;) 4C(R,S7,&quot;NBR2&quot;) 8C(R,S9,&quot;STA_B39&quot;) 1HSC(R,S8,&quot;STA_B62&quot;) 2HSC(R,S8,&quot;STA_B61&quot;) 3HSC(R,S8,&quot;STA_B23&quot;) 4HSC(R,S8,&quot;STA_B35&quot;) 450CV(W)=0 &#039;schedule definition RE&quot;TriggNB&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)10S LOGOFFE GE 3C(&quot;NBR1&quot;,W,+=450CV) 4C(&quot;NBR2&quot;,W,+=450CV) 8C(&quot;STA_B39&quot;,W,+=450CV) 1HSC(&quot;STA_B62&quot;,W,+=450CV) 2HSC(&quot;STA_B61&quot;,W,+=450CV) 3HSC(&quot;STA_B23&quot;,W,+=450CV) 4HSC(&quot;STA_B35&quot;,W,+=450CV) &#039;schedule definition RH&quot;ReadTDR&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)30M LOGONH GH DO{SATTN} &#039;config serial Sensor interface PS=RS232,9600,N,8,1,NOFC &#039;Starte Messung ueber Schedule F 93CV(W)=1 &#039;Setze Multiplexer Kanal auf 1 95CV(W)=1 &#039;Fehlerzaeler auf 0 91CV(W)=0 &#039;Power on TRASE 1DSO(W)=1 DELAY(W)=1000 1SERIAL(&quot;{\r1\w[250]\r0#P1;}&quot;,W) 1SERIAL(&quot;{\w[500]#TAG\034UMS\034;}&quot;,W) 1SERIAL(&quot;{\w[500]#MOD 0;}&quot;,W) &#039;Set Trase Time 1ST(W,=80CV) 2ST(W,=81CV) 3ST(W,=82CV) 1SERIAL(&quot;{\w[500]#TIM%02d[82CV]:%02d[81CV]:%02d[80CV];}\w[50]&quot;,W) DO{GI} &#039;schedule definition RI&quot;TraseCOM&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)25S LOGOFFI HI &#039;Get last reading 96CV(W)=99 IF(93CV&gt;&lt;2,3){1SERIAL(&quot;{\e}{#GTRR,1,0;}\m[0,\034UMS\034,]%f[97CV]\044%f[98CV]\m[0,\034BUR\034,]%d[99CV],%d[96CV]\e\w[100]&quot;,=94CV,1)} &#039;Setze naechsten Kanal wenn erfolgreich IF(96CV&lt;98){95CV(W)=96CV+1} &#039;Fehlerzaehler, wenn Antwort fehlerhaft oder keine Antwort IF(93CV&gt;&lt;1,2){96CV(W)=0} &#039;nicht beim ersten Mal IF(96CV&gt;&lt;99,100){91CV(W)=91CV+1} &#039;Abfrage ob Fehler IF(91CV&gt;3){92CV(W)=92CV+1 93CV(W)=3 XJ} &#039;Fehler Abbruch nach 3 Fehlversuchen &#039;IF(92CV&gt;10){93CV(W)=3 XJ 92CV(W)=0} &#039; Reset Trase nach 10 Fehlversuchen (Reset nicht implementiert) &#039;Hilfe zu Channel Variablen &#039;90CV=Anzahl Multiplexerkanaele +1 &#039;91CV=Fehlerzaeler in der Abfrage &#039;92CV=Fehlerzaeler fuer Abfragen &#039;93CV=Status &#039;94CV=serieller Status &#039;95CV=Aktueller Kanal &#039;96CV=Eingelesener Kanal &#039;97CV=Wassergehalt &#039;98CV=K-Wert &#039;99CV=eingelesener digital Wert &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;1,2){100CV(&quot;W1&quot;)=97CV 101CV(&quot;K1&quot;)=98CV} IF(96CV&gt;&lt;2,3){102CV(&quot;W2&quot;)=97CV 103CV(&quot;K2&quot;)=98CV} IF(96CV&gt;&lt;3,4){104CV(&quot;W3&quot;)=97CV 105CV(&quot;K3&quot;)=98CV} IF(96CV&gt;&lt;4,5){106CV(&quot;W4&quot;)=97CV 107CV(&quot;K4&quot;)=98CV} IF(96CV&gt;&lt;5,6){108CV(&quot;W5&quot;)=97CV 109CV(&quot;K5&quot;)=98CV} IF(96CV&gt;&lt;6,7){110CV(&quot;W6&quot;)=97CV 111CV(&quot;K6&quot;)=98CV} IF(96CV&gt;&lt;7,8){112CV(&quot;W7&quot;)=97CV 113CV(&quot;K7&quot;)=98CV} IF(96CV&gt;&lt;8,9){114CV(&quot;W8&quot;)=97CV 115CV(&quot;K8&quot;)=98CV} IF(96CV&gt;&lt;9,10){116CV(&quot;W9&quot;)=97CV 117CV(&quot;K9&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;10,11){118CV(&quot;W10&quot;)=97CV 119CV(&quot;K10&quot;)=98CV} IF(96CV&gt;&lt;11,12){120CV(&quot;W11&quot;)=97CV 121CV(&quot;K11&quot;)=98CV} IF(96CV&gt;&lt;12,13){122CV(&quot;W12&quot;)=97CV 123CV(&quot;K12&quot;)=98CV} IF(96CV&gt;&lt;13,14){124CV(&quot;W13&quot;)=97CV 125CV(&quot;K13&quot;)=98CV} IF(96CV&gt;&lt;14,15){126CV(&quot;W14&quot;)=97CV 127CV(&quot;K14&quot;)=98CV} IF(96CV&gt;&lt;15,16){128CV(&quot;W15&quot;)=97CV 129CV(&quot;K15&quot;)=98CV} IF(96CV&gt;&lt;16,17){130CV(&quot;W16&quot;)=97CV 131CV(&quot;K16&quot;)=98CV} IF(96CV&gt;&lt;17,18){132CV(&quot;W17&quot;)=97CV 133CV(&quot;K17&quot;)=98CV} IF(96CV&gt;&lt;18,19){134CV(&quot;W18&quot;)=97CV 135CV(&quot;K18&quot;)=98CV} IF(96CV&gt;&lt;19,20){136CV(&quot;W19&quot;)=97CV 137CV(&quot;K19&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;20,21){138CV(&quot;W20&quot;)=97CV 139CV(&quot;K20&quot;)=98CV} IF(96CV&gt;&lt;21,22){140CV(&quot;W21&quot;)=97CV 141CV(&quot;K21&quot;)=98CV} IF(96CV&gt;&lt;22,23){142CV(&quot;W22&quot;)=97CV 143CV(&quot;K22&quot;)=98CV} IF(96CV&gt;&lt;23,24){144CV(&quot;W23&quot;)=97CV 145CV(&quot;K23&quot;)=98CV} IF(96CV&gt;&lt;24,25){146CV(&quot;W24&quot;)=97CV 147CV(&quot;K24&quot;)=98CV} IF(96CV&gt;&lt;25,26){148CV(&quot;W25&quot;)=97CV 149CV(&quot;K25&quot;)=98CV} IF(96CV&gt;&lt;26,27){150CV(&quot;W26&quot;)=97CV 151CV(&quot;K26&quot;)=98CV} IF(96CV&gt;&lt;27,28){152CV(&quot;W27&quot;)=97CV 153CV(&quot;K27&quot;)=98CV} IF(96CV&gt;&lt;28,29){154CV(&quot;W28&quot;)=97CV 155CV(&quot;K28&quot;)=98CV} IF(96CV&gt;&lt;29,30){156CV(&quot;W29&quot;)=97CV 157CV(&quot;K29&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;30,31){158CV(&quot;W30&quot;)=97CV 159CV(&quot;K30&quot;)=98CV} IF(96CV&gt;&lt;31,32){160CV(&quot;W31&quot;)=97CV 161CV(&quot;K31&quot;)=98CV} IF(96CV&gt;&lt;32,33){162CV(&quot;W32&quot;)=97CV 163CV(&quot;K32&quot;)=98CV} IF(96CV&gt;&lt;33,34){164CV(&quot;W33&quot;)=97CV 165CV(&quot;K33&quot;)=98CV} IF(96CV&gt;&lt;34,35){166CV(&quot;W34&quot;)=97CV 167CV(&quot;K34&quot;)=98CV} IF(96CV&gt;&lt;35,36){168CV(&quot;W35&quot;)=97CV 169CV(&quot;K35&quot;)=98CV} IF(96CV&gt;&lt;36,37){170CV(&quot;W36&quot;)=97CV 171CV(&quot;K36&quot;)=98CV} IF(96CV&gt;&lt;37,38){172CV(&quot;W37&quot;)=97CV 173CV(&quot;K37&quot;)=98CV} IF(96CV&gt;&lt;38,39){174CV(&quot;W38&quot;)=97CV 175CV(&quot;K38&quot;)=98CV} IF(96CV&gt;&lt;39,40){176CV(&quot;W39&quot;)=97CV 177CV(&quot;K39&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;40,41){178CV(&quot;W40&quot;)=97CV 179CV(&quot;K40&quot;)=98CV} IF(96CV&gt;&lt;41,42){180CV(&quot;W41&quot;)=97CV 181CV(&quot;K41&quot;)=98CV} IF(96CV&gt;&lt;42,43){182CV(&quot;W42&quot;)=97CV 183CV(&quot;K42&quot;)=98CV} IF(96CV&gt;&lt;43,44){184CV(&quot;W43&quot;)=97CV 185CV(&quot;K43&quot;)=98CV} IF(96CV&gt;&lt;44,45){186CV(&quot;W44&quot;)=97CV 187CV(&quot;K44&quot;)=98CV} IF(96CV&gt;&lt;45,46){188CV(&quot;W45&quot;)=97CV 189CV(&quot;K45&quot;)=98CV} IF(96CV&gt;&lt;46,47){190CV(&quot;W46&quot;)=97CV 191CV(&quot;K46&quot;)=98CV} IF(96CV&gt;&lt;47,48){192CV(&quot;W47&quot;)=97CV 193CV(&quot;K47&quot;)=98CV} IF(96CV&gt;&lt;48,49){194CV(&quot;W48&quot;)=97CV 195CV(&quot;K48&quot;)=98CV} IF(96CV&gt;&lt;49,50){196CV(&quot;W49&quot;)=97CV 197CV(&quot;K49&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;50,51){198CV(&quot;W50&quot;)=97CV 199CV(&quot;K50&quot;)=98CV} IF(96CV&gt;&lt;51,52){200CV(&quot;W51&quot;)=97CV 201CV(&quot;K51&quot;)=98CV} IF(96CV&gt;&lt;52,53){202CV(&quot;W52&quot;)=97CV 203CV(&quot;K52&quot;)=98CV} IF(96CV&gt;&lt;53,54){204CV(&quot;W53&quot;)=97CV 205CV(&quot;K53&quot;)=98CV} IF(96CV&gt;&lt;54,55){206CV(&quot;W54&quot;)=97CV 207CV(&quot;K54&quot;)=98CV} IF(96CV&gt;&lt;55,56){208CV(&quot;W55&quot;)=97CV 209CV(&quot;K55&quot;)=98CV} IF(96CV&gt;&lt;56,57){210CV(&quot;W56&quot;)=97CV 211CV(&quot;K56&quot;)=98CV} IF(96CV&gt;&lt;57,58){212CV(&quot;W57&quot;)=97CV 213CV(&quot;K57&quot;)=98CV} IF(96CV&gt;&lt;58,59){214CV(&quot;W58&quot;)=97CV 215CV(&quot;K58&quot;)=98CV} IF(96CV&gt;&lt;59,60){216CV(&quot;W59&quot;)=97CV 217CV(&quot;K59&quot;)=98CV} &#039;Assign Measurement to static Channel Variable IF(96CV&gt;&lt;60,61){218CV(&quot;W60&quot;)=97CV 219CV(&quot;K60&quot;)=98CV} IF(96CV&gt;&lt;61,62){220CV(&quot;W61&quot;)=97CV 221CV(&quot;K61&quot;)=98CV} &#039;Set Multiplexer Channel IF(95CV&lt;90CV){1SERIAL(&quot;{\e}{#MCN%02d[95CV];}\m[,]%d[250CV]&quot;,=94CV,3,W)} &#039;Iniitiate active Channel Measurement IF(95CV&lt;90CV){1SERIAL(&quot;{#MES;}{\e}&quot;,=93CV,1,W)} 93CV(W)=2 &#039;Messung fertig wenn kein weiterer Kanal IF(95CV&gt;90CV){93CV(W)=0 92CV(W)=0 XC XJ} &#039;schedule definition RJ&quot;TraseOFF&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1MB)X LOGONJ GJ &#039;Turn TRASE off 1SERIAL(&quot;{\r0\w[100]#P0;\w[500]}&quot;,W) 1DSO(W)=0 DO{HI CATTN} &#039;schedule definition RK&quot;Modem&quot;(&quot;B:&quot;,ALARMS:OV:100KB,DATA:OV:1KB)10M LOGOFFK GK &#039;Modem Control IF(T&gt;08:20){500CV=1} IF(T&gt;16:00:00){500CV=0} IF(500CV&gt;1){2DSO(W)=1} IF(500CV&lt;1){2DSO(W)=0} END Thanks in advance and best regards, Markus

Hi Markus,

There is a complete explanation of building the program syntax from scratch or modifying the existing old program (ex dEX or ex text) in this forum, please check this link: https://datatakerforum.com/index.php?u=/topic/1018/new-release-of-dex-2-0-v2-1-25.

You can modify your code easily but some of them might be better to pack inside a manual channel for efficiency reasons.

Best regards,
dataTaker Expert

Hi Markus, There is a complete explanation of building the program syntax from scratch or modifying the existing old program (ex dEX or ex text) in this forum, please check this link: https://datatakerforum.com/index.php?u=/topic/1018/new-release-of-dex-2-0-v2-1-25. You can modify your code easily but some of them might be better to pack inside a manual channel for efficiency reasons. Best regards, dataTaker Expert

Hello dT Expert,

thnks for ur reply. I guess it´s more complex then i thought but i will try it.

Thnks and best regards,

Markus

Hello dT Expert, thnks for ur reply. I guess it&acute;s more complex then i thought but i will try it. Thnks and best regards, Markus
44
4
2
live preview
enter atleast 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
With selected deselect posts show selected posts
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft