37 lines
875 B
Tcl
37 lines
875 B
Tcl
namespace eval lowdpflow {} {
|
|
}
|
|
|
|
proc stdConfig::lowdpflow {} {
|
|
controller std "\r\n"
|
|
|
|
# driver for mass flow meter bronkhorst low-dp-flow
|
|
# serial interface is set to:
|
|
# Char Size/Stop Bits: 8/1 Input Speed: 38400
|
|
# Flow Ctrl: None Output Speed: 38400
|
|
# Parity: None Modem Control: None
|
|
|
|
|
|
obj low-dp-flow rd
|
|
|
|
# 0C=length
|
|
# 80=address
|
|
# 04=read
|
|
# 00 not chained, custom process 0
|
|
# 40 not chained, float, custom parameter 0
|
|
# 21 process 33
|
|
# 40 float, parameter 0
|
|
prop readcmd ":06800400402140"
|
|
prop readfmt ":0880020040%8s"
|
|
prop update lowdpflow::update
|
|
|
|
}
|
|
|
|
proc lowdpflow::update {} {
|
|
if {[scan [sct result] [sct readfmt] flow] != 1} {
|
|
error "bad result format: '[sct result]' $flow"
|
|
}
|
|
set flow [cnvrt xieee2float $flow]
|
|
sct update $flow
|
|
return idle
|
|
}
|