Support Forums
Very need help with program for DT80-3 (version 3)

Hello there.
I am newbie with dataTaker (I have dataTaker DT80 version 3) but I need example of program for connect my sensor and calculate some data after measurement. After calculating I must send results thru RS232 for show rate on display and thru RS232 to computer for creating graphics in my software.

My sensor is Hall effect sensor with pulse voltage output for flow rate - if from sensor goes 0 pulses then flow rate = 0 liters per seconds, If from sensor goes 2000 pulses then flow rate = 55,947998 liters per second. I need measure how many liters per seconds goes thru sensor and after that calculate how many liters goes thru sensor per minute , then translate it into cubic meters (1 cubic meter = 1000 liters) and based on this calculations I need calculate (in real time mode) total volume of pumped liquid and send this data too thru RS232 to display.

Please I need help and example of program for study. Thanks

Hello there. I am newbie with dataTaker (I have dataTaker DT80 version 3) but I need example of program for connect my sensor and calculate some data after measurement. After calculating I must send results thru RS232 for show rate on display and thru RS232 to computer for creating graphics in my software. My sensor is Hall effect sensor with pulse voltage output for flow rate - if from sensor goes 0 pulses then flow rate = 0 liters per seconds, If from sensor goes 2000 pulses then flow rate = 55,947998 liters per second. I need measure how many liters per seconds goes thru sensor and after that calculate how many liters goes thru sensor per minute , then translate it into cubic meters (1 cubic meter = 1000 liters) and based on this calculations I need calculate (in real time mode) total volume of pumped liquid and send this data too thru RS232 to display. Please I need help and example of program for study. Thanks

Hi AlexeySR,

Hall effect sensor has a voltage pulse output which mean you must use counter channel.
It is recommended to use high speed counter channel, assuming you connect that sensor to terminal 1C and DGND then you can use 1HSC.

Then you must create a scaling factor for number of pulses against flow:
S1=0,55.947998,0,2000

Remember to reset the counter on each reading using R option, and finally apply that scaling and reset into high speed counter channel: 1HSC(S1,R,=1CV)
1CV will be used to pool litres per second data.

Then you can create a string set for RS232 transmission.

Example:
BEGIN
PROFILE SERSEN_PORT BPS=9600

S1=0,55.947998,0,2000
RA1S LOGONA
1HSC(S1,R,=1CV,"Flow~lps")
2CV(W)=2CV+1CV

RB1M
2CV("Flow~lpm")
1SERIAL("{%f[2CV]}")

END

%f[2CV] inside curly brackets indicates you want to send out string from SERIAL port as floating point number and the value is taken from 2CV.

Best regards,
Rudy Gunawan

Hi AlexeySR, Hall effect sensor has a voltage pulse output which mean you must use counter channel. It is recommended to use high speed counter channel, assuming you connect that sensor to terminal 1C and DGND then you can use 1HSC. Then you must create a scaling factor for number of pulses against flow: S1=0,55.947998,0,2000 Remember to reset the counter on each reading using R option, and finally apply that scaling and reset into high speed counter channel: 1HSC(S1,R,=1CV) 1CV will be used to pool litres per second data. Then you can create a string set for RS232 transmission. Example: BEGIN PROFILE SERSEN_PORT BPS=9600 S1=0,55.947998,0,2000 RA1S LOGONA 1HSC(S1,R,=1CV,"Flow~lps") 2CV(W)=2CV+1CV RB1M 2CV("Flow~lpm") 1SERIAL("{%f[2CV]}") END %f[2CV] inside curly brackets indicates you want to send out string from SERIAL port as floating point number and the value is taken from 2CV. Best regards, Rudy Gunawan

Thank you very much Rudy.

Please explain me about this operand (I read the manual but can not find something about it) - (W) what is it for?

Thanks.

Thank you very much Rudy. Please explain me about this operand (I read the manual but can not find something about it) - (W) what is it for? Thanks.

Hi AlexeySR.

W is one of many channel option.
If you include W as channel option, then you tell dataTaker to use that channel as a working channel.

As a working channel, all operation will be in the background.
You will not see any return data using DeTransfer or dEX command console, there will be no data recorded in memory and no entry in dataTaker display.

You can find this information from DT8x user manual, section B - Channel, sub Section Channel Option - page 44.

Best regards,
Rudy Gunawan

Hi AlexeySR. W is one of many channel option. If you include W as channel option, then you tell dataTaker to use that channel as a working channel. As a working channel, all operation will be in the background. You will not see any return data using DeTransfer or dEX command console, there will be no data recorded in memory and no entry in dataTaker display. You can find this information from DT8x user manual, section B - Channel, sub Section Channel Option - page 44. Best regards, Rudy Gunawan

Hello Rudy.
Thanks for your reply. Please see my programm (I try to do couple of action in my DT80 - 1- read value from densitometer (4-20 mAmps) , 2 - reading data from pressure sensor (4-20 mAmps) and 3-rd - reading pulses from flowmeter (it gives in maximum flow rate - 54600 pulses per minute , that is equal to 3356.8 liters per minute. In my program I try to measure flow rate in real time (see line 20) and convert "liters per minute" to "cubic meters per minute" (1 cubic meter = 1000 liters) see line 24. After that I try to collect all pumped fluid in liters and convert it to "cubic meter" - its need to now how cubic meter pumped in total (line 25), and (if neeeded) reset total value of pumped liquid (end of line 25). I programm my DT80 and try to simulate conditions for this program but total collect very quickly (near 150 cubic meters per minute). And after all operations I need indicate all data with time period 1 second (for example - if rate go up then total value go up too) Please see my program, may be I make something wrong. Thank you for your help.

CODE: SELECT ALL
1) BEGIN "READER"
2) /D
3) /T
4) /k
5) P41=0
6) S1=0,1034.25,4.0,20.0"Atm"
7) S2=0,3000.0,4.00,20.00"kg/m3"
8) S3=0,3356.8,0,54600"l/min"
9) S5=0.0,3.3568"m3/min"
10) S6=0,100"m3"
11) 1..9CV(W)=0.0
12) 11..19CV(W)=0.0
13) 21CV(W)=0.0
14) 24CV(W)=4.0
15) 25..27CV(W)=0.0
16) RA1S
17) 1#I(W,=26CV)
18) 2#I(W,=27CV)
19) 2C(R,W,=25CV)
'-----------------------------------
20) 4HSC(S3,R,RS=15CV)
21) 5CV(W)=5CV+15CV/1000
'-----------------------------------
22) 1CV(S1,FF0)=26CV-24CV+4.0
23) 2CV(S2,FF0)=27CV
'-----------------------------------
24) 3CV(S5,FF3)=15CV/1000
25) 4CV(S6,FF2)=(5CV)*(25CV=0.0)
'-----------------------------------
26) RC1-E 1#I(W,=24CV) 1DSO=1
27) LOGONA
28) END

AlexeySR

Hello Rudy. Thanks for your reply. Please see my programm (I try to do couple of action in my DT80 - 1- read value from densitometer (4-20 mAmps) , 2 - reading data from pressure sensor (4-20 mAmps) and 3-rd - reading pulses from flowmeter (it gives in maximum flow rate - 54600 pulses per minute , that is equal to 3356.8 liters per minute. In my program I try to measure flow rate in real time (see line 20) and convert "liters per minute" to "cubic meters per minute" (1 cubic meter = 1000 liters) see line 24. After that I try to collect all pumped fluid in liters and convert it to "cubic meter" - its need to now how cubic meter pumped in total (line 25), and (if neeeded) reset total value of pumped liquid (end of line 25). I programm my DT80 and try to simulate conditions for this program but total collect very quickly (near 150 cubic meters per minute). And after all operations I need indicate all data with time period 1 second (for example - if rate go up then total value go up too) Please see my program, may be I make something wrong. Thank you for your help. CODE: SELECT ALL 1) BEGIN "READER" 2) /D 3) /T 4) /k 5) P41=0 6) S1=0,1034.25,4.0,20.0"Atm" 7) S2=0,3000.0,4.00,20.00"kg/m3" 8) S3=0,3356.8,0,54600"l/min" 9) S5=0.0,3.3568"m3/min" 10) S6=0,100"m3" 11) 1..9CV(W)=0.0 12) 11..19CV(W)=0.0 13) 21CV(W)=0.0 14) 24CV(W)=4.0 15) 25..27CV(W)=0.0 16) RA1S 17) 1#I(W,=26CV) 18) 2#I(W,=27CV) 19) 2C(R,W,=25CV) '----------------------------------- 20) 4HSC(S3,R,RS=15CV) 21) 5CV(W)=5CV+15CV/1000 '----------------------------------- 22) 1CV(S1,FF0)=26CV-24CV+4.0 23) 2CV(S2,FF0)=27CV '----------------------------------- 24) 3CV(S5,FF3)=15CV/1000 25) 4CV(S6,FF2)=(5CV)*(25CV=0.0) '----------------------------------- 26) RC1-E 1#I(W,=24CV) 1DSO=1 27) LOGONA 28) END AlexeySR

Hi AlexeySR,

Your flowmeter gives an output of liters per minutes, but you are reading it every second.
Please change schedule A into 1M.

Or you may scale down you reading into per second.
A maximum 54600 pulses per minute equal to 910 pulses per second (approx 55.9 liters per second) and basically when you read it using counter it will automatically scale down.
And you do not need to return counter reading as frequency since you read it every second.

S3=0,3356.8,0,54600"l/sec"
RA1S
4HSC(S3,R,=15CV)
15CV("Flow1~l/s")
16CV("Flow2~m3/s")=15/1000
5CV(W)=5CV+16CV

RB1M
5CV("Flow3~m3/m")
DO{5CV=0}

The above program will detect flow figure every second and make a report every minute before the value is reset back to 0.

Best regards,
Rudy Gunawan

Hi AlexeySR, Your flowmeter gives an output of liters per minutes, but you are reading it every second. Please change schedule A into 1M. Or you may scale down you reading into per second. A maximum 54600 pulses per minute equal to 910 pulses per second (approx 55.9 liters per second) and basically when you read it using counter it will automatically scale down. And you do not need to return counter reading as frequency since you read it every second. S3=0,3356.8,0,54600"l/sec" RA1S 4HSC(S3,R,=15CV) 15CV("Flow1~l/s") 16CV("Flow2~m3/s")=15/1000 5CV(W)=5CV+16CV RB1M 5CV("Flow3~m3/m") DO{5CV=0} The above program will detect flow figure every second and make a report every minute before the value is reset back to 0. Best regards, Rudy Gunawan

5cb58e8c77661

Hello Rudy. It's me again. Thank you very much for your help, but I have one question for you - I have DT80 with program (I do not know who make this program) - I need understand how this program work. My question:

This program (see code below) , after all operations , transmit data from 1CV,2CV,3CV,4CV via RS232 (DB9 male connector on DT80) to computer and DYCOR Data display (DYCOR Data display DT v 2.00 works on RS232).

To this connector on our system connect DYCOR Data display (manufacturer - Dycor Technologies Ltd.) , on DT80 DB9 male connector this display use only two signal lines - TxD and SG. That display have 4 lines with 5 LED digital indicators in each line (please see attached picture). In first line it shows data from 1CV, second line it shows data from 2CV, third line it show data from 3CV and in fourth line it shows data from 4CV. Rudy please explain me how it works - I realy do not understand how I can make it in my program? Thank you.

BEGIN"CONFIG"
/D
/T
/k
P41=0
S1=0,1034.25,4.0,20.0"Atm"
S2=0,5000,4.00,20.00"kg/m3"
S3=0.0,5.1,4.0,20.0"m3/min"
S4=0,100"m3/min"
S5=0,100"m3"
1..9CV(W)=0.0
11..19CV(W)=0.0
24CV(W)=4.0
25..27CV(W)=0.0
RA1S
1#I(W,=26CV)
2#I(W,=27CV)
3#I(S3,W,=9CV)
2C(R,W,=25CV)
13CV(W)=14CV
14CV(W)=15CV
15CV(W)=(9CV(9CV>0.0))
1CV(S1,FF0)=26CV-24CV+4.0
2CV(S2,FF0)=27CV
3CV(S4,FF3)=(13CV+14CV+15CV)/3
4CV(S5,FF2)=(4CV+3CV/60)
(25CV=0.0)
RC1-E 1#I(W,=24CV) 1DSO=1
LOGONA
END

AlexeySR

![5cb58e8c77661](serve/attachment&path=5cb58e8c77661) Hello Rudy. It's me again. Thank you very much for your help, but I have one question for you - I have DT80 with program (I do not know who make this program) - I need understand how this program work. My question: This program (see code below) , after all operations , transmit data from 1CV,2CV,3CV,4CV via RS232 (DB9 male connector on DT80) to computer and DYCOR Data display (DYCOR Data display DT v 2.00 works on RS232). To this connector on our system connect DYCOR Data display (manufacturer - Dycor Technologies Ltd.) , on DT80 DB9 male connector this display use only two signal lines - TxD and SG. That display have 4 lines with 5 LED digital indicators in each line (please see attached picture). In first line it shows data from 1CV, second line it shows data from 2CV, third line it show data from 3CV and in fourth line it shows data from 4CV. Rudy please explain me how it works - I realy do not understand how I can make it in my program? Thank you. BEGIN"CONFIG" /D /T /k P41=0 S1=0,1034.25,4.0,20.0"Atm" S2=0,5000,4.00,20.00"kg/m3" S3=0.0,5.1,4.0,20.0"m3/min" S4=0,100"m3/min" S5=0,100"m3" 1..9CV(W)=0.0 11..19CV(W)=0.0 24CV(W)=4.0 25..27CV(W)=0.0 RA1S 1#I(W,=26CV) 2#I(W,=27CV) 3#I(S3,W,=9CV) 2C(R,W,=25CV) 13CV(W)=14CV 14CV(W)=15CV 15CV(W)=(9CV*(9CV>0.0)) 1CV(S1,FF0)=26CV-24CV+4.0 2CV(S2,FF0)=27CV 3CV(S4,FF3)=(13CV+14CV+15CV)/3 4CV(S5,FF2)=(4CV+3CV/60)*(25CV=0.0) RC1-E 1#I(W,=24CV) 1DSO=1 LOGONA END AlexeySR

Hello Rudy,

Previous question I understand, but I have problem - in my program I use two HSC (high speed counters) - 3HSC and 4HCS, but only one counter (4HSC) count pulses. Please see my program and tell me what I do wrong.

BEGIN"HALOGAD"
/D
/T
/k
P41=0
S1=0,1034.25,4.0,20.0"Atm" 'Pressure gauge 0 (Passenger side)
S3=0,3000,4.00,20.00"kg/m3" 'Density (RCM)
S4=0.0,55.947998,0,2000 'Flow meter 0 (Driver side pump) litters per second
S5=0.0,55.947998,0,2000 'Flow meter 1 (Passenger side pump) litters per second
S6=0,100"m3/min" 'Total flow from FM0+FM1
S7=0,100"m3" 'Total volume of pumped fluid (m3)
1..9CV(W)=0.0
11..19CV(W)=0.0
24CV(W)=4.0
25..27CV(W)=0.0
28..40CV(W)=0.0
RA1S
1#I(W,=26CV) 'Assighn analog channel for pressure gauge 0
2#I(W,=27CV) 'Assighn analog channel for pressure gauge 1
3#I(W,=28CV) 'Assighn analog channel for densometr
2C(R,W,=25CV) 'Assighn digital input 2 as low frequency counter for reset total value of pumped fluid
3HSC(S4,R,W,=29CV) 'Assighn High speed counter #3 for FM0
4HSC(S5,R,W,=15CV) 'Assighn High speed counter #3 for FM1
12CV(W)=13CV
13CV(W)=14CV
16CV(W)=15CV/1000 'Calculate m3/sec from l/sec for FM1
17CV(W)=16CV60 'Calculate m3/min from m3/sec for FM1, result stored to 17CV
31CV(W)=29CV/1000 'Calculate m3/sec from l/sec for FM0
32CV(W)=31CV
60 'Calculate m3/min from m3/sec for FM0, result stored to 32CV
33CV(W)=16CV+31CV 'Summ of pumped fluid (m3) from both pumps
34CV(W)=17CV+32CV 'Summ of flow speed (m3/min) from both pump
36CV(S1,W)=27CV-24CV+4.0 'Calculate volume of pressure from Pressure gauge 1
1CV(S1,FF0)=36CV 'Total pressure from both pumps
2CV(S3,FF0)=28CV 'Calculate density
3CV(S6,FF3)=34CV 'Calculate and show flow rate (m3/min)
4CV(S7,FF3)=(4CV+33CV)*(25CV=0.0) 'Calculate and show total volume of pumped fluid
RC1-E 1#I(W,=24CV) 1DSO=1 'Enable data out from RS232
LOGONA 'Enable logging to internal disk "A"
END

Thank you.

Hello Rudy, Previous question I understand, but I have problem - in my program I use two HSC (high speed counters) - 3HSC and 4HCS, but only one counter (4HSC) count pulses. Please see my program and tell me what I do wrong. BEGIN"HALOGAD" /D /T /k P41=0 S1=0,1034.25,4.0,20.0"Atm" 'Pressure gauge 0 (Passenger side) S3=0,3000,4.00,20.00"kg/m3" 'Density (RCM) S4=0.0,55.947998,0,2000 'Flow meter 0 (Driver side pump) litters per second S5=0.0,55.947998,0,2000 'Flow meter 1 (Passenger side pump) litters per second S6=0,100"m3/min" 'Total flow from FM0+FM1 S7=0,100"m3" 'Total volume of pumped fluid (m3) 1..9CV(W)=0.0 11..19CV(W)=0.0 24CV(W)=4.0 25..27CV(W)=0.0 28..40CV(W)=0.0 RA1S 1#I(W,=26CV) 'Assighn analog channel for pressure gauge 0 2#I(W,=27CV) 'Assighn analog channel for pressure gauge 1 3#I(W,=28CV) 'Assighn analog channel for densometr 2C(R,W,=25CV) 'Assighn digital input 2 as low frequency counter for reset total value of pumped fluid 3HSC(S4,R,W,=29CV) 'Assighn High speed counter #3 for FM0 4HSC(S5,R,W,=15CV) 'Assighn High speed counter #3 for FM1 12CV(W)=13CV 13CV(W)=14CV 16CV(W)=15CV/1000 'Calculate m3/sec from l/sec for FM1 17CV(W)=16CV*60 'Calculate m3/min from m3/sec for FM1, result stored to 17CV 31CV(W)=29CV/1000 'Calculate m3/sec from l/sec for FM0 32CV(W)=31CV*60 'Calculate m3/min from m3/sec for FM0, result stored to 32CV 33CV(W)=16CV+31CV 'Summ of pumped fluid (m3) from both pumps 34CV(W)=17CV+32CV 'Summ of flow speed (m3/min) from both pump 36CV(S1,W)=27CV-24CV+4.0 'Calculate volume of pressure from Pressure gauge 1 1CV(S1,FF0)=36CV 'Total pressure from both pumps 2CV(S3,FF0)=28CV 'Calculate density 3CV(S6,FF3)=34CV 'Calculate and show flow rate (m3/min) 4CV(S7,FF3)=(4CV+33CV)*(25CV=0.0) 'Calculate and show total volume of pumped fluid RC1-E 1#I(W,=24CV) 1DSO=1 'Enable data out from RS232 LOGONA 'Enable logging to internal disk "A" END Thank you.

Hi AlexeySR,

I did not find any error on your code.
Could you check the voltage level for counter 3HSC?

Best regards,
Rudy Gunawan

Hi AlexeySR, I did not find any error on your code. Could you check the voltage level for counter 3HSC? Best regards, Rudy Gunawan
53
8
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