Update "Decimal" processing for 4100/6100
This commit is contained in:
@@ -34,7 +34,7 @@ driver west_6100 = {
|
||||
fetch_function = getInteger;
|
||||
read_function = rdInteger;
|
||||
var model = { type = int; read_command = "122"; }
|
||||
var decimal = { type = int; read_command = "18"; }
|
||||
var decimal = { type = int; read_command = "18"; value = 0; }
|
||||
var instatus = { type = int; read_command = "133"; }
|
||||
}
|
||||
code fetch_function getInteger = {
|
||||
@@ -59,12 +59,20 @@ driver west_6100 = {
|
||||
}
|
||||
code read_function rdDecimal = {
|
||||
@TCL
|
||||
set data [expr {0.10 * ${data}}]
|
||||
set decimal [hval ${tc_root}/aux/decimal]
|
||||
if { ${decimal} > 0 } {
|
||||
set data [expr {pow(10, -${decimal}) * ${data}}]
|
||||
}
|
||||
@END
|
||||
}
|
||||
code write_function wrDecimal = {
|
||||
@TCL
|
||||
set par [expr {round(10.0 * [sct target])}]
|
||||
set decimal [hval ${tc_root}/aux/decimal]
|
||||
set par [sct target]
|
||||
if { ${decimal} > 0 } {
|
||||
set par [expr {pow(10, ${decimal}) * ${par}}]
|
||||
}
|
||||
set par [expr {round(${par})}]
|
||||
set cmd "1:16:${cmd_str}:1:U16:${par}"
|
||||
@END
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user