Support Forums
High scan rate - turbulance

Hi guys,

I'm quite inexperienced in the dataTaker world. I have a DT80 V8.06. I would like to store data from a Metek USA1 turbulence device on the DT80. The data transfer is performed via RS232.

I'm using a sample frequency of 20 Hz. (= scan interval of 50ms). What "I have" already is this program code:

PS=RS232,57600,N,8,1,SWFC 
P28=1 
BEGIN "USA_V1" 
RA"USA"(A:,DATA:OV:15MB)1SERIAL"SNC" 
1SERIAL("SNC %S[1$]",W) 
1$(Timestamp ~") 
1SERIAL("\m [x=]%f","x~m/s") 
1SERIAL("\m [y=]%f","y~m/s") 
1SERIAL("\m [Tv=]%f","Tv~C") 
LOGON 
END

Due to the constant scan rate of the turbulence device there have to be 20 values each second, but I've recognized, that in the stored dataset there are always some records missing.

According to the dataTaker manual DT80 is able to scan every 1 ms. To test this I've written an other short program:

/k ' auto calibration off 
/S ' synchronize to full hour
/U 
P62=1  'no relays test 
P11=2000 ' reduces measurement time (1/2000s) 
P21=1 ' excitation is always on
P4=1 ' wake up latency 
BEGIN"TEST" 
RA"INT_COMP"("B:")10T 
REFT("int_temp~C") 
VEXT("ext_V~V") 
VBAT("batt_V~V") 
IBAT("batt_I~mA") 
LOGON 
END

This does not work really good. It works quite correct with 50 ms (in the dataset are 20 values for each second). I cant recognize the problem source. I think there must be a switch wo speed up the logger?! I hope I've explained the problem a bit clear and someone can help me

Thanks and Greets,
Flori

Hi guys, I'm quite inexperienced in the dataTaker world. I have a DT80 V8.06. I would like to store data from a Metek USA1 turbulence device on the DT80. The data transfer is performed via RS232. I'm using a sample frequency of 20 Hz. (= scan interval of 50ms). What "I have" already is this program code: ```` PS=RS232,57600,N,8,1,SWFC P28=1 BEGIN "USA_V1" RA"USA"(A:,DATA:OV:15MB)1SERIAL"SNC" 1SERIAL("SNC %S[1$]",W) 1$(Timestamp ~") 1SERIAL("\m [x=]%f","x~m/s") 1SERIAL("\m [y=]%f","y~m/s") 1SERIAL("\m [Tv=]%f","Tv~C") LOGON END ```` Due to the constant scan rate of the turbulence device there have to be 20 values each second, but I've recognized, that in the stored dataset there are always some records missing. According to the dataTaker manual DT80 is able to scan every 1 ms. To test this I've written an other short program: ```` /k ' auto calibration off /S ' synchronize to full hour /U P62=1 'no relays test P11=2000 ' reduces measurement time (1/2000s) P21=1 ' excitation is always on P4=1 ' wake up latency BEGIN"TEST" RA"INT_COMP"("B:")10T REFT("int_temp~C") VEXT("ext_V~V") VBAT("batt_V~V") IBAT("batt_I~mA") LOGON END ```` This does not work really good. It works quite correct with 50 ms (in the dataset are 20 values for each second). I cant recognize the problem source. I think there must be a switch wo speed up the logger?! I hope I've explained the problem a bit clear and someone can help me Thanks and Greets, Flori

Good morning flori,

Sorry can't help here, he logger is simply not possible to do the speed you want.

Cheers,
Roger

Good morning flori, Sorry can't help here, he logger is simply not possible to do the speed you want. Cheers, Roger

Dear flori,

RS232 data acquisition on serial channel can run much faster than acquisition on analogue channels. DT8x is not a real time data acquisition system so it does the assigned work as fast as he can.

Back to you first program, when you said "in the stored dataset there are always some records missing" what is the actual number / size of missing records?
You haven't specify any timeout in the serial input action. If something goes wrong the logger waits for 10s (default timeout).

Regards,
teo

Dear flori, RS232 data acquisition on serial channel can run much faster than acquisition on analogue channels. DT8x is not a real time data acquisition system so it does the assigned work as fast as he can. Back to you first program, when you said "in the stored dataset there are always some records missing" what is the actual number / size of missing records? You haven't specify any timeout in the serial input action. If something goes wrong the logger waits for 10s (default timeout). Regards, teo

Good morning Flori,

If DT80 can't sample when the schedule falls due (Busy doing other things like time out on the serial port etc) then it will drop that sample, hence missing data.

Once again this task is not for DT80, it is not have high sample speed capabilities.

Cheers,
Roger

Good morning Flori, If DT80 can't sample when the schedule falls due (Busy doing other things like time out on the serial port etc) then it will drop that sample, hence missing data. Once again this task is not for DT80, it is not have high sample speed capabilities. Cheers, Roger

Hi Roger and teo,

Thanks for your answers. I've found out, that 20 Hz works quite okay. there are only little gaps in the dataset (less than 1 per 1000 records). I think the part in the code which makes the DT8x slow is just the processing of the incoming data structure, e.g. looking for a string like ''x = ''. If the hole incoming data block is stored directly, everything works fine.

The now used code looks like (its a little shortened compared to the 1st version):

BEGIN"USA_20HZ"

PS=RS232,57600,N,8,1,SWFC 
RA"USA1"("B:",DATA:OV:90MB)1SERIAL"SNC"

1SERIAL(" %s[1$]") 1$ 'stores directly the 1st line as string
1SERIAL(" %s[2$]") 2$ 'stores directly the 2nd line as string
1SERIAL(" %s[3$]") 3$ 'stores directly the 3rd line as string

LOGON
END

Additionally I've turned of the automatic calibration: /k

Thanks again,
Greets flori

Hi Roger and teo, Thanks for your answers. I've found out, that 20 Hz works quite okay. there are only little gaps in the dataset (less than 1 per 1000 records). I think the part in the code which makes the DT8x slow is just the processing of the incoming data structure, e.g. looking for a string like ''x = ''. If the hole incoming data block is stored directly, everything works fine. The now used code looks like (its a little shortened compared to the 1st version): ```` BEGIN"USA_20HZ" PS=RS232,57600,N,8,1,SWFC RA"USA1"("B:",DATA:OV:90MB)1SERIAL"SNC" 1SERIAL(" %s[1$]") 1$ 'stores directly the 1st line as string 1SERIAL(" %s[2$]") 2$ 'stores directly the 2nd line as string 1SERIAL(" %s[3$]") 3$ 'stores directly the 3rd line as string LOGON END ```` Additionally I've turned of the automatic calibration: /k Thanks again, Greets flori
28
4
3
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