From a6fd5af72c433dea86605dba8e7d681f6f19a96c Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Fri, 13 Jul 2012 15:48:30 +1000 Subject: [PATCH] Made the isobus address configurable for the Oxford Mercury ITC. NOTE: Address is option and defaults to @1 Eg Set tol=5.0 and isobus address= @8 for the Mercury ITC add_itc500 tc1 localhost 7777 5.0 "@8" r3642 | ffr | 2012-07-13 15:48:30 +1000 (Fri, 13 Jul 2012) | 5 lines --- .../temperature/sct_oxford_itc.tcl | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/site_ansto/instrument/config/environment/temperature/sct_oxford_itc.tcl b/site_ansto/instrument/config/environment/temperature/sct_oxford_itc.tcl index 629d2580..fc1b73b4 100644 --- a/site_ansto/instrument/config/environment/temperature/sct_oxford_itc.tcl +++ b/site_ansto/instrument/config/environment/temperature/sct_oxford_itc.tcl @@ -15,7 +15,7 @@ namespace eval ::scobj::itc500 { proc getValue {nextState cmd} { debug_log "getValue $cmd sct=[sct]" - sct send "@1$cmd" + sct send "$cmd" return $nextState } proc setValue {tc_root nextState cmd} { @@ -26,7 +26,7 @@ debug_log "setValue $cmd sct=[sct]" } else { set par "[sct target]" } - sct send "@1$cmd $par" + sct send "$cmd $par" debug_log "setValue $cmd $par" return $nextState } @@ -44,7 +44,7 @@ debug_log "setPoint $tc_root $nextState $cmd sct=[sct]" # Called by drive adapter hsetprop $tc_root/setpoint driving 1 } - sct send "@1$cmd$par" + sct send "$cmd$par" debug_log "setPoint $cmd$par" return $nextState } @@ -92,7 +92,7 @@ debug_log "rdValue new data for $tc_root [sct] $my_model result=$data" return idle } - proc getState {tc_root nextState cmd} { + proc getState {tc_root nextState addr cmd} { debug_log "getState $tc_root $nextState $cmd sct=[sct]" if {[ catch { set my_state "[SplitReply [hgetprop $tc_root/itc500_state my_state]]" @@ -123,7 +123,7 @@ debug_log "getState $tc_root $nextState $cmd sct=[sct]" hsetprop $tc_root/itc500_state my_state "STATE_X" set my_cmd "X" } - sct send "@1$my_cmd" + sct send "${addr}$my_cmd" debug_log "getState end $tc_root state=$my_state, cmd=$my_cmd" } catch_message ]} { debug_log "getState error: $catch_message" @@ -324,7 +324,7 @@ debug_log "halt $tc_root" return idle } - proc mk_sct_oxford_itc500 {sct_controller klass tempobj tol} { + proc mk_sct_oxford_itc500 {sct_controller klass tempobj tol addr } { if {[ catch { set ns ::scobj::itc500 @@ -334,8 +334,8 @@ debug_log "halt $tc_root" set scobj_hpath /sics/$tempobj hfactory $scobj_hpath/setpoint plain user float - hsetprop $scobj_hpath/setpoint read ${ns}::getValue rdValue "R0" - hsetprop $scobj_hpath/setpoint write ${ns}::setPoint $scobj_hpath noResponse "T" + hsetprop $scobj_hpath/setpoint read ${ns}::getValue rdValue "${addr}R0" + hsetprop $scobj_hpath/setpoint write ${ns}::setPoint $scobj_hpath noResponse "${addr}T" hsetprop $scobj_hpath/setpoint check ${ns}::check $scobj_hpath hsetprop $scobj_hpath/setpoint rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/setpoint noResponse ${ns}::noResponse @@ -349,7 +349,7 @@ debug_log "halt $tc_root" hfactory $scobj_hpath/sensor plain spy none hfactory $scobj_hpath/sensor/value plain internal float - hsetprop $scobj_hpath/sensor/value read ${ns}::getValue rdValue "R1" + hsetprop $scobj_hpath/sensor/value read ${ns}::getValue rdValue "${addr}R1" hsetprop $scobj_hpath/sensor/value rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/sensor/value oldval UNKNOWN hsetprop $scobj_hpath/sensor/value lowerlimit 1.5 @@ -358,7 +358,7 @@ debug_log "halt $tc_root" hfactory $scobj_hpath/sensor2 plain spy none hfactory $scobj_hpath/sensor2/value plain internal float - hsetprop $scobj_hpath/sensor2/value read ${ns}::getValue rdValue "R2" + hsetprop $scobj_hpath/sensor2/value read ${ns}::getValue rdValue "${addr}R2" hsetprop $scobj_hpath/sensor2/value rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/sensor2/value oldval UNKNOWN hsetprop $scobj_hpath/sensor2/value lowerlimit 0.25 @@ -367,7 +367,7 @@ debug_log "halt $tc_root" hfactory $scobj_hpath/sensor3 plain spy none hfactory $scobj_hpath/sensor3/value plain internal float - hsetprop $scobj_hpath/sensor3/value read ${ns}::getValue rdValue "R3" + hsetprop $scobj_hpath/sensor3/value read ${ns}::getValue rdValue "${addr}R3" hsetprop $scobj_hpath/sensor3/value rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/sensor3/value oldval UNKNOWN hsetprop $scobj_hpath/sensor3/value lowerlimit 1.0 @@ -375,17 +375,17 @@ debug_log "halt $tc_root" hsetprop $scobj_hpath/sensor3/value units "K" hfactory $scobj_hpath/heating_power_percent plain internal float - hsetprop $scobj_hpath/heating_power_percent read ${ns}::getValue rdValue "R5" + hsetprop $scobj_hpath/heating_power_percent read ${ns}::getValue rdValue "${addr}R5" hsetprop $scobj_hpath/heating_power_percent rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/heating_power_percent oldval UNKNOWN hfactory $scobj_hpath/heating_power_volts plain internal float - hsetprop $scobj_hpath/heating_power_volts read ${ns}::getValue rdValue "R6" + hsetprop $scobj_hpath/heating_power_volts read ${ns}::getValue rdValue "${addr}R6" hsetprop $scobj_hpath/heating_power_volts rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/heating_power_volts oldval UNKNOWN hfactory $scobj_hpath/gas_flow plain internal float - hsetprop $scobj_hpath/gas_flow read ${ns}::getValue rdValue "R7" + hsetprop $scobj_hpath/gas_flow read ${ns}::getValue rdValue "${addr}R7" hsetprop $scobj_hpath/gas_flow rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/gas_flow oldval UNKNOWN @@ -409,19 +409,19 @@ debug_log "halt $tc_root" hset $scobj_hpath/apply_tolerance 1 hfactory $scobj_hpath/proportional_band plain user float - hsetprop $scobj_hpath/proportional_band read ${ns}::getValue rdValue "R8" + hsetprop $scobj_hpath/proportional_band read ${ns}::getValue rdValue "${addr}R8" hsetprop $scobj_hpath/proportional_band rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/proportional_band oldval 30.0 hset $scobj_hpath/proportional_band 30.0 hfactory $scobj_hpath/integral_time plain user float - hsetprop $scobj_hpath/integral_time read ${ns}::getValue rdValue "R9" + hsetprop $scobj_hpath/integral_time read ${ns}::getValue rdValue "${addr}R9" hsetprop $scobj_hpath/integral_time rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/integral_time oldval 2.0 hset $scobj_hpath/integral_time 2.0 hfactory $scobj_hpath/derivative_time plain user float - hsetprop $scobj_hpath/derivative_time read ${ns}::getValue rdValue "R10" + hsetprop $scobj_hpath/derivative_time read ${ns}::getValue rdValue "${addr}R10" hsetprop $scobj_hpath/derivative_time rdValue ${ns}::rdValue $scobj_hpath hsetprop $scobj_hpath/derivative_time oldval 0.0 hset $scobj_hpath/derivative_time 0.0 @@ -438,7 +438,7 @@ debug_log "halt $tc_root" hsetprop $scobj_hpath/status values busy,idle hfactory $scobj_hpath/itc500_state plain spy text - hsetprop $scobj_hpath/itc500_state read ${ns}::getState $scobj_hpath rdState "X" + hsetprop $scobj_hpath/itc500_state read ${ns}::getState $scobj_hpath rdState $addr "X" hsetprop $scobj_hpath/itc500_state rdState ${ns}::rdState $scobj_hpath hsetprop $scobj_hpath/itc500_state oldval UNKNOWN hsetprop $scobj_hpath/itc500_state my_state "STATE_V" @@ -485,7 +485,7 @@ debug_log "halt $tc_root" } ::scobj::hinitprops $tempobj - hsetprop $scobj_hpath klass NXenvironment + hsetprop $scobj_hpath klass environment ::scobj::set_required_props $scobj_hpath hsetprop $scobj_hpath type part foreach snsr {sensor sensor2 sensor3} { @@ -523,14 +523,14 @@ debug_log "halt $tc_root" # @param IP, the IP address of the device, this can be a hostname, (eg ca1-kowari) # @param port, the IP protocol port number of the device # @param _tol (optional), this is the initial tolerance setting -proc add_itc500 {name IP port {_tol 5.0}} { +proc add_itc500 {name IP port {_tol 5.0} {addr "@1"} } { set fd [open "/tmp/itc500.log" a] if {[SplitReply [environment_simulation]]=="false"} { puts $fd "makesctcontroller sct_itc500 oxford ${IP}:$port" makesctcontroller sct_itc500 oxford ${IP}:$port } - puts $fd "mk_sct_oxford_itc500 sct_itc500 environment $name $_tol" - mk_sct_oxford_itc500 sct_itc500 environment $name $_tol + puts $fd "mk_sct_oxford_itc500 sct_itc500 environment $name $_tol $addr" + mk_sct_oxford_itc500 sct_itc500 environment $name $_tol $addr puts $fd "makesctemon $name /sics/$name/emon/monmode /sics/$name/emon/isintol /sics/$name/emon/errhandler" makesctemon $name /sics/$name/emon/monmode /sics/$name/emon/isintol /sics/$name/emon/errhandler close $fd