diff --git a/site_ansto/instrument/bilby/config/chopper/astrium_chopper_sct.tcl b/site_ansto/instrument/bilby/config/chopper/astrium_chopper_sct.tcl index b4b6d368..1d7f36a6 100644 --- a/site_ansto/instrument/bilby/config/chopper/astrium_chopper_sct.tcl +++ b/site_ansto/instrument/bilby/config/chopper/astrium_chopper_sct.tcl @@ -251,9 +251,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/disk_1 plain spy none - hsetprop ${scobj_hpath}/disk_1 data "true" - hsetprop ${scobj_hpath}/disk_1 klass "@none" - hsetprop ${scobj_hpath}/disk_1 type "part" + hfactory ${scobj_hpath}/disk_1/aphase plain user float hsetprop ${scobj_hpath}/disk_1/aphase control true @@ -266,6 +264,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/aphase type "part" hsetprop ${scobj_hpath}/disk_1/aphase nxalias "${name}_disk_1_aphase" + hfactory ${scobj_hpath}/disk_1/aspeed plain user float hsetprop ${scobj_hpath}/disk_1/aspeed control true hsetprop ${scobj_hpath}/disk_1/aspeed data true @@ -277,6 +276,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/aspeed type "part" hsetprop ${scobj_hpath}/disk_1/aspeed nxalias "${name}_disk_1_aspeed" + hfactory ${scobj_hpath}/disk_1/frequency plain user float hsetprop ${scobj_hpath}/disk_1/frequency control true hsetprop ${scobj_hpath}/disk_1/frequency data true @@ -288,6 +288,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/frequency type "part" hsetprop ${scobj_hpath}/disk_1/frequency nxalias "${name}_disk_1_frequency" + hfactory ${scobj_hpath}/disk_1/master plain user text hsetprop ${scobj_hpath}/disk_1/master control true hsetprop ${scobj_hpath}/disk_1/master data true @@ -299,6 +300,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/master type "part" hsetprop ${scobj_hpath}/disk_1/master nxalias "${name}_disk_1_master" + hfactory ${scobj_hpath}/disk_1/rphase plain user float hsetprop ${scobj_hpath}/disk_1/rphase control true hsetprop ${scobj_hpath}/disk_1/rphase data true @@ -310,6 +312,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/rphase type "part" hsetprop ${scobj_hpath}/disk_1/rphase nxalias "${name}_disk_1_rphase" + hfactory ${scobj_hpath}/disk_1/rspeed plain user float hsetprop ${scobj_hpath}/disk_1/rspeed control true hsetprop ${scobj_hpath}/disk_1/rspeed data true @@ -321,6 +324,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_1/rspeed type "part" hsetprop ${scobj_hpath}/disk_1/rspeed nxalias "${name}_disk_1_rspeed" + hfactory ${scobj_hpath}/disk_1/state plain user text hsetprop ${scobj_hpath}/disk_1/state read ${ns}::fetchState ${scobj_hpath} readState {1} hsetprop ${scobj_hpath}/disk_1/state readState ${ns}::readState ${scobj_hpath} @@ -340,11 +344,12 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul } else { ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" } + hsetprop ${scobj_hpath}/disk_1 data "true" + hsetprop ${scobj_hpath}/disk_1 klass "@none" + hsetprop ${scobj_hpath}/disk_1 type "part" hfactory ${scobj_hpath}/disk_2 plain spy none - hsetprop ${scobj_hpath}/disk_2 data "true" - hsetprop ${scobj_hpath}/disk_2 klass "@none" - hsetprop ${scobj_hpath}/disk_2 type "part" + hfactory ${scobj_hpath}/disk_2/aphase plain user float hsetprop ${scobj_hpath}/disk_2/aphase control true @@ -357,6 +362,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/aphase type "part" hsetprop ${scobj_hpath}/disk_2/aphase nxalias "${name}_disk_2_aphase" + hfactory ${scobj_hpath}/disk_2/aspeed plain user float hsetprop ${scobj_hpath}/disk_2/aspeed control true hsetprop ${scobj_hpath}/disk_2/aspeed data true @@ -368,6 +374,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/aspeed type "part" hsetprop ${scobj_hpath}/disk_2/aspeed nxalias "${name}_disk_2_aspeed" + hfactory ${scobj_hpath}/disk_2/frequency plain user float hsetprop ${scobj_hpath}/disk_2/frequency control true hsetprop ${scobj_hpath}/disk_2/frequency data true @@ -379,6 +386,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/frequency type "part" hsetprop ${scobj_hpath}/disk_2/frequency nxalias "${name}_disk_2_frequency" + hfactory ${scobj_hpath}/disk_2/master plain user text hsetprop ${scobj_hpath}/disk_2/master control true hsetprop ${scobj_hpath}/disk_2/master data true @@ -390,6 +398,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/master type "part" hsetprop ${scobj_hpath}/disk_2/master nxalias "${name}_disk_2_master" + hfactory ${scobj_hpath}/disk_2/rphase plain user float hsetprop ${scobj_hpath}/disk_2/rphase control true hsetprop ${scobj_hpath}/disk_2/rphase data true @@ -401,6 +410,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/rphase type "part" hsetprop ${scobj_hpath}/disk_2/rphase nxalias "${name}_disk_2_rphase" + hfactory ${scobj_hpath}/disk_2/rspeed plain user float hsetprop ${scobj_hpath}/disk_2/rspeed control true hsetprop ${scobj_hpath}/disk_2/rspeed data true @@ -412,6 +422,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_2/rspeed type "part" hsetprop ${scobj_hpath}/disk_2/rspeed nxalias "${name}_disk_2_rspeed" + hfactory ${scobj_hpath}/disk_2/state plain user text hsetprop ${scobj_hpath}/disk_2/state read ${ns}::fetchState ${scobj_hpath} readState {2} hsetprop ${scobj_hpath}/disk_2/state readState ${ns}::readState ${scobj_hpath} @@ -431,11 +442,12 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul } else { ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" } + hsetprop ${scobj_hpath}/disk_2 data "true" + hsetprop ${scobj_hpath}/disk_2 klass "@none" + hsetprop ${scobj_hpath}/disk_2 type "part" hfactory ${scobj_hpath}/disk_3 plain spy none - hsetprop ${scobj_hpath}/disk_3 data "true" - hsetprop ${scobj_hpath}/disk_3 klass "@none" - hsetprop ${scobj_hpath}/disk_3 type "part" + hfactory ${scobj_hpath}/disk_3/aphase plain user float hsetprop ${scobj_hpath}/disk_3/aphase control true @@ -448,6 +460,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/aphase type "part" hsetprop ${scobj_hpath}/disk_3/aphase nxalias "${name}_disk_3_aphase" + hfactory ${scobj_hpath}/disk_3/aspeed plain user float hsetprop ${scobj_hpath}/disk_3/aspeed control true hsetprop ${scobj_hpath}/disk_3/aspeed data true @@ -459,6 +472,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/aspeed type "part" hsetprop ${scobj_hpath}/disk_3/aspeed nxalias "${name}_disk_3_aspeed" + hfactory ${scobj_hpath}/disk_3/frequency plain user float hsetprop ${scobj_hpath}/disk_3/frequency control true hsetprop ${scobj_hpath}/disk_3/frequency data true @@ -470,6 +484,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/frequency type "part" hsetprop ${scobj_hpath}/disk_3/frequency nxalias "${name}_disk_3_frequency" + hfactory ${scobj_hpath}/disk_3/master plain user text hsetprop ${scobj_hpath}/disk_3/master control true hsetprop ${scobj_hpath}/disk_3/master data true @@ -481,6 +496,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/master type "part" hsetprop ${scobj_hpath}/disk_3/master nxalias "${name}_disk_3_master" + hfactory ${scobj_hpath}/disk_3/rphase plain user float hsetprop ${scobj_hpath}/disk_3/rphase control true hsetprop ${scobj_hpath}/disk_3/rphase data true @@ -492,6 +508,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/rphase type "part" hsetprop ${scobj_hpath}/disk_3/rphase nxalias "${name}_disk_3_rphase" + hfactory ${scobj_hpath}/disk_3/rspeed plain user float hsetprop ${scobj_hpath}/disk_3/rspeed control true hsetprop ${scobj_hpath}/disk_3/rspeed data true @@ -503,6 +520,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_3/rspeed type "part" hsetprop ${scobj_hpath}/disk_3/rspeed nxalias "${name}_disk_3_rspeed" + hfactory ${scobj_hpath}/disk_3/state plain user text hsetprop ${scobj_hpath}/disk_3/state read ${ns}::fetchState ${scobj_hpath} readState {3} hsetprop ${scobj_hpath}/disk_3/state readState ${ns}::readState ${scobj_hpath} @@ -522,11 +540,12 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul } else { ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" } + hsetprop ${scobj_hpath}/disk_3 data "true" + hsetprop ${scobj_hpath}/disk_3 klass "@none" + hsetprop ${scobj_hpath}/disk_3 type "part" hfactory ${scobj_hpath}/disk_4 plain spy none - hsetprop ${scobj_hpath}/disk_4 data "true" - hsetprop ${scobj_hpath}/disk_4 klass "@none" - hsetprop ${scobj_hpath}/disk_4 type "part" + hfactory ${scobj_hpath}/disk_4/aphase plain user float hsetprop ${scobj_hpath}/disk_4/aphase control true @@ -539,6 +558,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/aphase type "part" hsetprop ${scobj_hpath}/disk_4/aphase nxalias "${name}_disk_4_aphase" + hfactory ${scobj_hpath}/disk_4/aspeed plain user float hsetprop ${scobj_hpath}/disk_4/aspeed control true hsetprop ${scobj_hpath}/disk_4/aspeed data true @@ -550,6 +570,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/aspeed type "part" hsetprop ${scobj_hpath}/disk_4/aspeed nxalias "${name}_disk_4_aspeed" + hfactory ${scobj_hpath}/disk_4/frequency plain user float hsetprop ${scobj_hpath}/disk_4/frequency control true hsetprop ${scobj_hpath}/disk_4/frequency data true @@ -561,6 +582,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/frequency type "part" hsetprop ${scobj_hpath}/disk_4/frequency nxalias "${name}_disk_4_frequency" + hfactory ${scobj_hpath}/disk_4/master plain user text hsetprop ${scobj_hpath}/disk_4/master control true hsetprop ${scobj_hpath}/disk_4/master data true @@ -572,6 +594,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/master type "part" hsetprop ${scobj_hpath}/disk_4/master nxalias "${name}_disk_4_master" + hfactory ${scobj_hpath}/disk_4/rphase plain user float hsetprop ${scobj_hpath}/disk_4/rphase control true hsetprop ${scobj_hpath}/disk_4/rphase data true @@ -583,6 +606,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/rphase type "part" hsetprop ${scobj_hpath}/disk_4/rphase nxalias "${name}_disk_4_rphase" + hfactory ${scobj_hpath}/disk_4/rspeed plain user float hsetprop ${scobj_hpath}/disk_4/rspeed control true hsetprop ${scobj_hpath}/disk_4/rspeed data true @@ -594,6 +618,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/disk_4/rspeed type "part" hsetprop ${scobj_hpath}/disk_4/rspeed nxalias "${name}_disk_4_rspeed" + hfactory ${scobj_hpath}/disk_4/state plain user text hsetprop ${scobj_hpath}/disk_4/state read ${ns}::fetchState ${scobj_hpath} readState {4} hsetprop ${scobj_hpath}/disk_4/state readState ${ns}::readState ${scobj_hpath} @@ -613,6 +638,9 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul } else { ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" } + hsetprop ${scobj_hpath}/disk_4 data "true" + hsetprop ${scobj_hpath}/disk_4 klass "@none" + hsetprop ${scobj_hpath}/disk_4 type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/bilby/config/motors/shutters_sct.tcl b/site_ansto/instrument/bilby/config/motors/shutters_sct.tcl index d189a36c..c20d8cc4 100644 --- a/site_ansto/instrument/bilby/config/motors/shutters_sct.tcl +++ b/site_ansto/instrument/bilby/config/motors/shutters_sct.tcl @@ -205,6 +205,7 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/fast_shutter plain user text hsetprop ${scobj_hpath}/fast_shutter read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[5], @IN[6]} hsetprop ${scobj_hpath}/fast_shutter read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} @@ -218,6 +219,13 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f hsetprop ${scobj_hpath}/fast_shutter sdsinfo "::nexus::scobj::sdsinfo" hsetprop ${scobj_hpath}/fast_shutter type "part" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/fast_shutter 1 + } else { + ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" + } + + hfactory ${scobj_hpath}/rough_100 plain user text hsetprop ${scobj_hpath}/rough_100 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[15], @IN[16]} hsetprop ${scobj_hpath}/rough_100 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} @@ -235,6 +243,14 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f hsetprop ${scobj_hpath}/rough_100 sdsinfo "::nexus::scobj::sdsinfo" hsetprop ${scobj_hpath}/rough_100 type "part" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/rough_100 1 + ${sct_controller} write ${scobj_hpath}/rough_100 + } else { + ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" + } + + hfactory ${scobj_hpath}/rough_40 plain user text hsetprop ${scobj_hpath}/rough_40 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[13], @IN[14]} hsetprop ${scobj_hpath}/rough_40 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} @@ -252,20 +268,17 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f hsetprop ${scobj_hpath}/rough_40 sdsinfo "::nexus::scobj::sdsinfo" hsetprop ${scobj_hpath}/rough_40 type "part" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} nxsave "true" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/fast_shutter 1 - ${sct_controller} poll ${scobj_hpath}/rough_100 1 ${sct_controller} poll ${scobj_hpath}/rough_40 1 - ${sct_controller} write ${scobj_hpath}/rough_100 ${sct_controller} write ${scobj_hpath}/rough_40 } else { ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" } + + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} nxsave "true" + hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/bilby/config/motors/tank_sct.tcl b/site_ansto/instrument/bilby/config/motors/tank_sct.tcl index 0dd7d9a5..780e6930 100644 --- a/site_ansto/instrument/bilby/config/motors/tank_sct.tcl +++ b/site_ansto/instrument/bilby/config/motors/tank_sct.tcl @@ -213,6 +213,7 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/pos plain spy float hsetprop ${scobj_hpath}/pos read ${ns}::getValue ${scobj_hpath} read_pos {MG _TPH} hsetprop ${scobj_hpath}/pos read_pos ${ns}::read_pos ${scobj_hpath} @@ -226,20 +227,18 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag hsetprop ${scobj_hpath}/pos type "part" hsetprop ${scobj_hpath}/pos nxalias "${name}_pos" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { ${sct_controller} poll ${scobj_hpath}/pos 1 } else { ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" } + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" + hfactory ${scobj_hpath}/limits plain spy none - hsetprop ${scobj_hpath}/limits data "true" - hsetprop ${scobj_hpath}/limits klass "@none" - hsetprop ${scobj_hpath}/limits type "part" + hfactory ${scobj_hpath}/limits/forward plain user text hsetprop ${scobj_hpath}/limits/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG _LFH} @@ -254,6 +253,13 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag hsetprop ${scobj_hpath}/limits/forward type "part" hsetprop ${scobj_hpath}/limits/forward nxalias "${name}_limits_forward" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/limits/forward 1 + } else { + ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" + } + + hfactory ${scobj_hpath}/limits/reverse plain user text hsetprop ${scobj_hpath}/limits/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG _LRH} hsetprop ${scobj_hpath}/limits/reverse read_switch ${ns}::read_switch ${scobj_hpath} @@ -268,16 +274,16 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag hsetprop ${scobj_hpath}/limits/reverse nxalias "${name}_limits_reverse" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/limits/forward 1 ${sct_controller} poll ${scobj_hpath}/limits/reverse 1 } else { ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" } + hsetprop ${scobj_hpath}/limits data "true" + hsetprop ${scobj_hpath}/limits klass "@none" + hsetprop ${scobj_hpath}/limits type "part" hfactory ${scobj_hpath}/switches plain spy none - hsetprop ${scobj_hpath}/switches data "true" - hsetprop ${scobj_hpath}/switches klass "@none" - hsetprop ${scobj_hpath}/switches type "part" + hfactory ${scobj_hpath}/switches/forward plain user text hsetprop ${scobj_hpath}/switches/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[5]} @@ -292,6 +298,13 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag hsetprop ${scobj_hpath}/switches/forward type "part" hsetprop ${scobj_hpath}/switches/forward nxalias "${name}_switches_forward" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/switches/forward 1 + } else { + ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" + } + + hfactory ${scobj_hpath}/switches/reverse plain user text hsetprop ${scobj_hpath}/switches/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[6]} hsetprop ${scobj_hpath}/switches/reverse read_switch ${ns}::read_switch ${scobj_hpath} @@ -306,11 +319,13 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag hsetprop ${scobj_hpath}/switches/reverse nxalias "${name}_switches_reverse" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/switches/forward 1 ${sct_controller} poll ${scobj_hpath}/switches/reverse 1 } else { ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" } + hsetprop ${scobj_hpath}/switches data "true" + hsetprop ${scobj_hpath}/switches klass "@none" + hsetprop ${scobj_hpath}/switches type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/environment/hiden_xcs_sct.tcl b/site_ansto/instrument/config/environment/hiden_xcs_sct.tcl index d42c1544..f7e2a94d 100644 --- a/site_ansto/instrument/config/environment/hiden_xcs_sct.tcl +++ b/site_ansto/instrument/config/environment/hiden_xcs_sct.tcl @@ -757,6 +757,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/enabled plain user int hsetprop ${scobj_hpath}/enabled read ${ns}::getValue ${scobj_hpath} read_digital {?DOUT,2} hsetprop ${scobj_hpath}/enabled read_digital ${ns}::read_digital ${scobj_hpath} @@ -776,6 +777,14 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/enabled type "part" hsetprop ${scobj_hpath}/enabled nxalias "${name}_enabled" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/enabled 10 + ${sct_controller} write ${scobj_hpath}/enabled + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/flow1 plain user float hsetprop ${scobj_hpath}/flow1 control false hsetprop ${scobj_hpath}/flow1 data false @@ -787,6 +796,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/flow1 type "part" hsetprop ${scobj_hpath}/flow1 nxalias "${name}_flow1" + hfactory ${scobj_hpath}/flow2 plain user float hsetprop ${scobj_hpath}/flow2 control false hsetprop ${scobj_hpath}/flow2 data false @@ -798,6 +808,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/flow2 type "part" hsetprop ${scobj_hpath}/flow2 nxalias "${name}_flow2" + hfactory ${scobj_hpath}/flow3 plain user float hsetprop ${scobj_hpath}/flow3 control false hsetprop ${scobj_hpath}/flow3 data false @@ -809,6 +820,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/flow3 type "part" hsetprop ${scobj_hpath}/flow3 nxalias "${name}_flow3" + hfactory ${scobj_hpath}/gas_factor plain user float hsetprop ${scobj_hpath}/gas_factor control true hsetprop ${scobj_hpath}/gas_factor data true @@ -821,6 +833,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/gas_factor type "part" hsetprop ${scobj_hpath}/gas_factor nxalias "${name}_gas_factor" + hfactory ${scobj_hpath}/temperature plain user float hsetprop ${scobj_hpath}/temperature control false hsetprop ${scobj_hpath}/temperature data false @@ -837,17 +850,8 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath} nxsave "true" hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/enabled 10 - ${sct_controller} write ${scobj_hpath}/enabled - } else { - ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" - } - hfactory ${scobj_hpath}/analog plain spy none - hsetprop ${scobj_hpath}/analog data "false" - hsetprop ${scobj_hpath}/analog klass "@none" - hsetprop ${scobj_hpath}/analog type "part" + hfactory ${scobj_hpath}/analog/ansto_temp plain user float hsetprop ${scobj_hpath}/analog/ansto_temp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,12} @@ -863,6 +867,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/ansto_temp type "part" hsetprop ${scobj_hpath}/analog/ansto_temp nxalias "${name}_analog_ansto_temp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/ansto_temp 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/pv1 plain user float hsetprop ${scobj_hpath}/analog/pv1 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,0} hsetprop ${scobj_hpath}/analog/pv1 read_sixteen ${ns}::read_sixteen ${scobj_hpath} @@ -877,6 +888,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/pv1 type "part" hsetprop ${scobj_hpath}/analog/pv1 nxalias "${name}_analog_pv1" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/pv1 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/pv2 plain user float hsetprop ${scobj_hpath}/analog/pv2 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,1} hsetprop ${scobj_hpath}/analog/pv2 read_sixteen ${ns}::read_sixteen ${scobj_hpath} @@ -891,6 +909,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/pv2 type "part" hsetprop ${scobj_hpath}/analog/pv2 nxalias "${name}_analog_pv2" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/pv2 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/pv3 plain user float hsetprop ${scobj_hpath}/analog/pv3 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,2} hsetprop ${scobj_hpath}/analog/pv3 read_sixteen ${ns}::read_sixteen ${scobj_hpath} @@ -905,6 +930,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/pv3 type "part" hsetprop ${scobj_hpath}/analog/pv3 nxalias "${name}_analog_pv3" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/pv3 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/rhsense plain user float hsetprop ${scobj_hpath}/analog/rhsense read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,9} hsetprop ${scobj_hpath}/analog/rhsense read_sixteen ${ns}::read_sixteen ${scobj_hpath} @@ -919,6 +951,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/rhsense type "part" hsetprop ${scobj_hpath}/analog/rhsense nxalias "${name}_analog_rhsense" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/rhsense 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/rhtemp plain user float hsetprop ${scobj_hpath}/analog/rhtemp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,8} hsetprop ${scobj_hpath}/analog/rhtemp read_sixteen ${ns}::read_sixteen ${scobj_hpath} @@ -933,6 +972,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/rhtemp type "part" hsetprop ${scobj_hpath}/analog/rhtemp nxalias "${name}_analog_rhtemp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/rhtemp 5 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/sp1 plain user float hsetprop ${scobj_hpath}/analog/sp1 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,0} hsetprop ${scobj_hpath}/analog/sp1 read_twelve ${ns}::read_twelve ${scobj_hpath} @@ -950,6 +996,14 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/sp1 type "part" hsetprop ${scobj_hpath}/analog/sp1 nxalias "${name}_analog_sp1" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/sp1 5 + ${sct_controller} write ${scobj_hpath}/analog/sp1 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/sp2 plain user float hsetprop ${scobj_hpath}/analog/sp2 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,1} hsetprop ${scobj_hpath}/analog/sp2 read_twelve ${ns}::read_twelve ${scobj_hpath} @@ -967,6 +1021,14 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/sp2 type "part" hsetprop ${scobj_hpath}/analog/sp2 nxalias "${name}_analog_sp2" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/analog/sp2 5 + ${sct_controller} write ${scobj_hpath}/analog/sp2 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/analog/sp3 plain user float hsetprop ${scobj_hpath}/analog/sp3 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,2} hsetprop ${scobj_hpath}/analog/sp3 read_twelve ${ns}::read_twelve ${scobj_hpath} @@ -985,27 +1047,17 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/analog/sp3 nxalias "${name}_analog_sp3" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/analog/ansto_temp 5 - ${sct_controller} poll ${scobj_hpath}/analog/pv1 5 - ${sct_controller} poll ${scobj_hpath}/analog/pv2 5 - ${sct_controller} poll ${scobj_hpath}/analog/pv3 5 - ${sct_controller} poll ${scobj_hpath}/analog/rhsense 5 - ${sct_controller} poll ${scobj_hpath}/analog/rhtemp 5 - ${sct_controller} poll ${scobj_hpath}/analog/sp1 5 - ${sct_controller} poll ${scobj_hpath}/analog/sp2 5 ${sct_controller} poll ${scobj_hpath}/analog/sp3 5 - ${sct_controller} write ${scobj_hpath}/analog/sp1 - ${sct_controller} write ${scobj_hpath}/analog/sp2 ${sct_controller} write ${scobj_hpath}/analog/sp3 } else { ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" } + hsetprop ${scobj_hpath}/analog data "false" + hsetprop ${scobj_hpath}/analog klass "@none" + hsetprop ${scobj_hpath}/analog type "part" hfactory ${scobj_hpath}/flow plain spy none - hsetprop ${scobj_hpath}/flow data "true" - hsetprop ${scobj_hpath}/flow klass "@none" - hsetprop ${scobj_hpath}/flow nxsave "true" - hsetprop ${scobj_hpath}/flow type "part" + hfactory ${scobj_hpath}/flow/sensor plain user float hsetprop ${scobj_hpath}/flow/sensor read ${ns}::fetch_flow ${scobj_hpath} read_flow {None} @@ -1029,6 +1081,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/flow/sensor type "part" hsetprop ${scobj_hpath}/flow/sensor nxalias "${name}_flow_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/flow/sensor 1 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/flow/setpoint plain user float hsetprop ${scobj_hpath}/flow/setpoint write ${ns}::write_flow ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/flow/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -1055,17 +1114,18 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/flow/setpoint nxalias "${name}_flow_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/flow/sensor 1 ${sct_controller} write ${scobj_hpath}/flow/setpoint } else { ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" } + hsetprop ${scobj_hpath}/flow data "true" + hsetprop ${scobj_hpath}/flow klass "@none" + hsetprop ${scobj_hpath}/flow nxsave "true" + hsetprop ${scobj_hpath}/flow type "part" + ansto_makesctdrive ${name}_flow_setpoint ${scobj_hpath}/flow/setpoint ${scobj_hpath}/flow/sensor ${sct_controller} hfactory ${scobj_hpath}/humidity plain spy none - hsetprop ${scobj_hpath}/humidity data "true" - hsetprop ${scobj_hpath}/humidity klass "@none" - hsetprop ${scobj_hpath}/humidity nxsave "true" - hsetprop ${scobj_hpath}/humidity type "part" + hfactory ${scobj_hpath}/humidity/sensor plain user float hsetprop ${scobj_hpath}/humidity/sensor read ${ns}::getValue ${scobj_hpath} read_all_data {?ALL DATA} @@ -1089,6 +1149,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/humidity/sensor type "part" hsetprop ${scobj_hpath}/humidity/sensor nxalias "${name}_humidity_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/humidity/sensor 1 + } else { + ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" + } + + hfactory ${scobj_hpath}/humidity/setpoint plain user float hsetprop ${scobj_hpath}/humidity/setpoint write ${ns}::write_humidity ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/humidity/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -1115,18 +1182,18 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/humidity/setpoint nxalias "${name}_humidity_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/humidity/sensor 1 ${sct_controller} write ${scobj_hpath}/humidity/setpoint } else { ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" } + hsetprop ${scobj_hpath}/humidity data "true" + hsetprop ${scobj_hpath}/humidity klass "@none" + hsetprop ${scobj_hpath}/humidity nxsave "true" + hsetprop ${scobj_hpath}/humidity type "part" + ansto_makesctdrive ${name}_humidity_setpoint ${scobj_hpath}/humidity/setpoint ${scobj_hpath}/humidity/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_flow_setpoint ${scobj_hpath}/flow/setpoint ${scobj_hpath}/flow/sensor ${sct_controller} - ansto_makesctdrive ${name}_humidity_setpoint ${scobj_hpath}/humidity/setpoint ${scobj_hpath}/humidity/sensor ${sct_controller} - } # mkDriver hook code starts # mkDriver hook code ends } catch_message ] diff --git a/site_ansto/instrument/config/environment/huber_pilot_sct.tcl b/site_ansto/instrument/config/environment/huber_pilot_sct.tcl index ffdbafe2..586ee0c0 100644 --- a/site_ansto/instrument/config/environment/huber_pilot_sct.tcl +++ b/site_ansto/instrument/config/environment/huber_pilot_sct.tcl @@ -302,9 +302,7 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Loop1 plain spy none - hsetprop ${scobj_hpath}/Loop1 data "true" - hsetprop ${scobj_hpath}/Loop1 klass "@none" - hsetprop ${scobj_hpath}/Loop1 type "part" + hfactory ${scobj_hpath}/Loop1/sensor_int plain user float hsetprop ${scobj_hpath}/Loop1/sensor_int read ${ns}::getValue ${scobj_hpath} rdTemp {01} @@ -321,6 +319,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/sensor_int type "part" hsetprop ${scobj_hpath}/Loop1/sensor_int nxalias "${name}_Loop1_sensor_int" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/sensor_int 1 + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/setpoint plain user float hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdTemp {00} hsetprop ${scobj_hpath}/Loop1/setpoint rdTemp ${ns}::rdTemp ${scobj_hpath} @@ -348,6 +353,14 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/setpoint type "drivable" hsetprop ${scobj_hpath}/Loop1/setpoint nxalias "${name}_Loop1_setpoint" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 1 + ${sct_controller} write ${scobj_hpath}/Loop1/setpoint + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/vMaxSP plain user float hsetprop ${scobj_hpath}/Loop1/vMaxSP read ${ns}::getValue ${scobj_hpath} rdTemp {31} hsetprop ${scobj_hpath}/Loop1/vMaxSP rdTemp ${ns}::rdTemp ${scobj_hpath} @@ -361,6 +374,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/vMaxSP type "part" hsetprop ${scobj_hpath}/Loop1/vMaxSP nxalias "${name}_Loop1_vMaxSP" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/vMaxSP 1 + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/vMinSP plain user float hsetprop ${scobj_hpath}/Loop1/vMinSP read ${ns}::getValue ${scobj_hpath} rdTemp {30} hsetprop ${scobj_hpath}/Loop1/vMinSP rdTemp ${ns}::rdTemp ${scobj_hpath} @@ -374,6 +394,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/vMinSP type "part" hsetprop ${scobj_hpath}/Loop1/vMinSP nxalias "${name}_Loop1_vMinSP" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/vMinSP 1 + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/vTE plain user float hsetprop ${scobj_hpath}/Loop1/vTE read ${ns}::getValue ${scobj_hpath} rdTemp {07} hsetprop ${scobj_hpath}/Loop1/vTE rdTemp ${ns}::rdTemp ${scobj_hpath} @@ -389,6 +416,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/vTE type "part" hsetprop ${scobj_hpath}/Loop1/vTE nxalias "${name}_Loop1_vTE" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/vTE 1 + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/vTmpActive plain user int hsetprop ${scobj_hpath}/Loop1/vTmpActive read ${ns}::getValue ${scobj_hpath} rdStatus {14} hsetprop ${scobj_hpath}/Loop1/vTmpActive rdStatus ${ns}::rdStatus ${scobj_hpath} @@ -402,6 +436,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/vTmpActive type "part" hsetprop ${scobj_hpath}/Loop1/vTmpActive nxalias "${name}_Loop1_vTmpActive" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/vTmpActive 1 + } else { + ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" + } + + hfactory ${scobj_hpath}/Loop1/vTmpMode plain user int hsetprop ${scobj_hpath}/Loop1/vTmpMode read ${ns}::getValue ${scobj_hpath} rdStatus {13} hsetprop ${scobj_hpath}/Loop1/vTmpMode rdStatus ${ns}::rdStatus ${scobj_hpath} @@ -416,23 +457,17 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/Loop1/vTmpMode nxalias "${name}_Loop1_vTmpMode" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop1/sensor_int 1 - ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 1 - ${sct_controller} poll ${scobj_hpath}/Loop1/vMaxSP 1 - ${sct_controller} poll ${scobj_hpath}/Loop1/vMinSP 1 - ${sct_controller} poll ${scobj_hpath}/Loop1/vTE 1 - ${sct_controller} poll ${scobj_hpath}/Loop1/vTmpActive 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vTmpMode 1 - ${sct_controller} write ${scobj_hpath}/Loop1/setpoint } else { ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" } + hsetprop ${scobj_hpath}/Loop1 data "true" + hsetprop ${scobj_hpath}/Loop1 klass "@none" + hsetprop ${scobj_hpath}/Loop1 type "part" + ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor_int ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor_int ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/isotech_ps_sct.tcl b/site_ansto/instrument/config/environment/isotech_ps_sct.tcl index b8a36ecf..79ccac81 100644 --- a/site_ansto/instrument/config/environment/isotech_ps_sct.tcl +++ b/site_ansto/instrument/config/environment/isotech_ps_sct.tcl @@ -252,6 +252,7 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/amps plain user float hsetprop ${scobj_hpath}/amps read ${ns}::getValue ${scobj_hpath} rdValue {A} hsetprop ${scobj_hpath}/amps rdValue ${ns}::rdValue ${scobj_hpath} @@ -266,6 +267,13 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation hsetprop ${scobj_hpath}/amps type "part" hsetprop ${scobj_hpath}/amps nxalias "${name}_amps" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/amps 5 + } else { + ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" + } + + hfactory ${scobj_hpath}/relay plain user int hsetprop ${scobj_hpath}/relay read ${ns}::getValue ${scobj_hpath} read_relay {F} hsetprop ${scobj_hpath}/relay read_relay ${ns}::read_relay ${scobj_hpath} @@ -282,6 +290,14 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation hsetprop ${scobj_hpath}/relay type "part" hsetprop ${scobj_hpath}/relay nxalias "${name}_relay" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/relay 5 + ${sct_controller} write ${scobj_hpath}/relay + } else { + ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" + } + + hfactory ${scobj_hpath}/volts plain user float hsetprop ${scobj_hpath}/volts read ${ns}::getValue ${scobj_hpath} rdValue {V} hsetprop ${scobj_hpath}/volts rdValue ${ns}::rdValue ${scobj_hpath} @@ -299,19 +315,16 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation hsetprop ${scobj_hpath}/volts type "part" hsetprop ${scobj_hpath}/volts nxalias "${name}_volts" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/amps 5 - ${sct_controller} poll ${scobj_hpath}/relay 5 ${sct_controller} poll ${scobj_hpath}/volts 5 - ${sct_controller} write ${scobj_hpath}/relay ${sct_controller} write ${scobj_hpath}/volts } else { ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" } + + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/environment/magneticField/tsi_smc_sct.tcl b/site_ansto/instrument/config/environment/magneticField/tsi_smc_sct.tcl index 7e20af72..58833475 100644 --- a/site_ansto/instrument/config/environment/magneticField/tsi_smc_sct.tcl +++ b/site_ansto/instrument/config/environment/magneticField/tsi_smc_sct.tcl @@ -275,6 +275,7 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/setpoint plain user float hsetprop ${scobj_hpath}/setpoint write ${ns}::setGauss ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -301,6 +302,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/setpoint units "G" hsetprop ${scobj_hpath}/setpoint nxalias "${name}_setpoint" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/setpoint + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/value plain user float hsetprop ${scobj_hpath}/value control true hsetprop ${scobj_hpath}/value data true @@ -319,17 +327,10 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} type "part" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} write ${scobj_hpath}/setpoint - } else { - ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" - } + ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/value ${sct_controller} hfactory ${scobj_hpath}/a plain spy none - hsetprop ${scobj_hpath}/a data "false" - hsetprop ${scobj_hpath}/a klass "@none" - hsetprop ${scobj_hpath}/a type "part" + hfactory ${scobj_hpath}/a/G plain user text hsetprop ${scobj_hpath}/a/G read ${ns}::getValue ${scobj_hpath} rdValue {G} @@ -344,6 +345,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/G type "part" hsetprop ${scobj_hpath}/a/G nxalias "${name}_a_G" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/a/G 1 + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/a/J plain user text hsetprop ${scobj_hpath}/a/J read ${ns}::getValue ${scobj_hpath} rdValue {J} hsetprop ${scobj_hpath}/a/J rdValue ${ns}::rdValue ${scobj_hpath} @@ -356,6 +364,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/J type "part" hsetprop ${scobj_hpath}/a/J nxalias "${name}_a_J" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/a/J 1 + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/a/K plain user text hsetprop ${scobj_hpath}/a/K read ${ns}::getValue ${scobj_hpath} rdValue {K} hsetprop ${scobj_hpath}/a/K rdValue ${ns}::rdValue ${scobj_hpath} @@ -368,6 +383,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/K type "part" hsetprop ${scobj_hpath}/a/K nxalias "${name}_a_K" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/a/K 1 + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/a/N plain user text hsetprop ${scobj_hpath}/a/N read ${ns}::getValue ${scobj_hpath} rdValue {N} hsetprop ${scobj_hpath}/a/N rdValue ${ns}::rdValue ${scobj_hpath} @@ -380,6 +402,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/N type "part" hsetprop ${scobj_hpath}/a/N nxalias "${name}_a_N" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/a/N 1 + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/a/O plain user text hsetprop ${scobj_hpath}/a/O read ${ns}::getValue ${scobj_hpath} rdValue {O} hsetprop ${scobj_hpath}/a/O rdValue ${ns}::rdValue ${scobj_hpath} @@ -392,6 +421,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/O type "part" hsetprop ${scobj_hpath}/a/O nxalias "${name}_a_O" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/a/O 1 + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/a/S plain user text hsetprop ${scobj_hpath}/a/S read ${ns}::getValue ${scobj_hpath} rdValue {S} hsetprop ${scobj_hpath}/a/S rdValue ${ns}::rdValue ${scobj_hpath} @@ -405,20 +441,16 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/a/S nxalias "${name}_a_S" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/a/G 1 - ${sct_controller} poll ${scobj_hpath}/a/J 1 - ${sct_controller} poll ${scobj_hpath}/a/K 1 - ${sct_controller} poll ${scobj_hpath}/a/N 1 - ${sct_controller} poll ${scobj_hpath}/a/O 1 ${sct_controller} poll ${scobj_hpath}/a/S 1 } else { ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" } + hsetprop ${scobj_hpath}/a data "false" + hsetprop ${scobj_hpath}/a klass "@none" + hsetprop ${scobj_hpath}/a type "part" hfactory ${scobj_hpath}/b plain spy none - hsetprop ${scobj_hpath}/b data "true" - hsetprop ${scobj_hpath}/b klass "@none" - hsetprop ${scobj_hpath}/b type "part" + hfactory ${scobj_hpath}/b/Lower plain user float hsetprop ${scobj_hpath}/b/Lower write ${ns}::setValue ${scobj_hpath} noResponse {L} @@ -437,6 +469,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/b/Lower units "A" hsetprop ${scobj_hpath}/b/Lower nxalias "${name}_b_Lower" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/b/Lower + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/b/Pause plain user int hsetprop ${scobj_hpath}/b/Pause write ${ns}::setValue ${scobj_hpath} noResponse {P} hsetprop ${scobj_hpath}/b/Pause noResponse ${ns}::noResponse ${scobj_hpath} @@ -454,6 +493,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/b/Pause type "part" hsetprop ${scobj_hpath}/b/Pause nxalias "${name}_b_Pause" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/b/Pause + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/b/Ramp plain user int hsetprop ${scobj_hpath}/b/Ramp write ${ns}::setValue ${scobj_hpath} noResponse {R} hsetprop ${scobj_hpath}/b/Ramp noResponse ${ns}::noResponse ${scobj_hpath} @@ -471,6 +517,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/b/Ramp type "part" hsetprop ${scobj_hpath}/b/Ramp nxalias "${name}_b_Ramp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/b/Ramp + } else { + ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" + } + + hfactory ${scobj_hpath}/b/Rate plain user float hsetprop ${scobj_hpath}/b/Rate write ${ns}::setValue ${scobj_hpath} noResponse {A} hsetprop ${scobj_hpath}/b/Rate noResponse ${ns}::noResponse ${scobj_hpath} @@ -486,19 +539,16 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/b/Rate nxalias "${name}_b_Rate" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} write ${scobj_hpath}/b/Lower - ${sct_controller} write ${scobj_hpath}/b/Pause - ${sct_controller} write ${scobj_hpath}/b/Ramp ${sct_controller} write ${scobj_hpath}/b/Rate } else { ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" } + hsetprop ${scobj_hpath}/b data "true" + hsetprop ${scobj_hpath}/b klass "@none" + hsetprop ${scobj_hpath}/b type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/value ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/nhq_200_sct.tcl b/site_ansto/instrument/config/environment/nhq_200_sct.tcl index c8064467..6dbddec8 100644 --- a/site_ansto/instrument/config/environment/nhq_200_sct.tcl +++ b/site_ansto/instrument/config/environment/nhq_200_sct.tcl @@ -281,6 +281,7 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/break plain user int hsetprop ${scobj_hpath}/break read ${ns}::getValue ${scobj_hpath} rdValue {W} hsetprop ${scobj_hpath}/break rdValue ${ns}::rdValue ${scobj_hpath} @@ -294,6 +295,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/break type "part" hsetprop ${scobj_hpath}/break nxalias "${name}_break" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/break 10 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/id plain user text hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} rdValue {#} hsetprop ${scobj_hpath}/id rdValue ${ns}::rdValue ${scobj_hpath} @@ -307,21 +315,18 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/id type "part" hsetprop ${scobj_hpath}/id nxalias "${name}_id" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/break 10 ${sct_controller} poll ${scobj_hpath}/id 10 } else { ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" } + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" + hfactory ${scobj_hpath}/ch1 plain spy none - hsetprop ${scobj_hpath}/ch1 data "true" - hsetprop ${scobj_hpath}/ch1 klass "@none" - hsetprop ${scobj_hpath}/ch1 type "part" + hfactory ${scobj_hpath}/ch1/auto_start plain user int hsetprop ${scobj_hpath}/ch1/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A1} @@ -339,6 +344,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/auto_start type "part" hsetprop ${scobj_hpath}/ch1/auto_start nxalias "${name}_ch1_auto_start" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/auto_start 5 + ${sct_controller} write ${scobj_hpath}/ch1/auto_start + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/current plain user text hsetprop ${scobj_hpath}/ch1/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I1} hsetprop ${scobj_hpath}/ch1/current rdCurrent ${ns}::rdCurrent ${scobj_hpath} @@ -352,6 +365,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/current type "part" hsetprop ${scobj_hpath}/ch1/current nxalias "${name}_ch1_current" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/current 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/go plain user int hsetprop ${scobj_hpath}/ch1/go write ${ns}::setValue ${scobj_hpath} noResponse {G1} hsetprop ${scobj_hpath}/ch1/go noResponse ${ns}::noResponse ${scobj_hpath} @@ -366,6 +386,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/go type "part" hsetprop ${scobj_hpath}/ch1/go nxalias "${name}_ch1_go" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/ch1/go + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/i_lim plain user int hsetprop ${scobj_hpath}/ch1/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N1} hsetprop ${scobj_hpath}/ch1/i_lim rdValue ${ns}::rdValue ${scobj_hpath} @@ -379,6 +406,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/i_lim type "part" hsetprop ${scobj_hpath}/ch1/i_lim nxalias "${name}_ch1_i_lim" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/i_lim 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/i_trip plain user int hsetprop ${scobj_hpath}/ch1/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L1} hsetprop ${scobj_hpath}/ch1/i_trip rdValue ${ns}::rdValue ${scobj_hpath} @@ -395,6 +429,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/i_trip type "part" hsetprop ${scobj_hpath}/ch1/i_trip nxalias "${name}_ch1_i_trip" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/i_trip 5 + ${sct_controller} write ${scobj_hpath}/ch1/i_trip + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/module plain user int hsetprop ${scobj_hpath}/ch1/module read ${ns}::getValue ${scobj_hpath} rdValue {T1} hsetprop ${scobj_hpath}/ch1/module rdValue ${ns}::rdValue ${scobj_hpath} @@ -408,6 +450,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/module type "part" hsetprop ${scobj_hpath}/ch1/module nxalias "${name}_ch1_module" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/module 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/status plain user text hsetprop ${scobj_hpath}/ch1/status read ${ns}::getValue ${scobj_hpath} rdValue {S1} hsetprop ${scobj_hpath}/ch1/status rdValue ${ns}::rdValue ${scobj_hpath} @@ -421,6 +470,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/status type "part" hsetprop ${scobj_hpath}/ch1/status nxalias "${name}_ch1_status" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/status 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/v_lim plain user int hsetprop ${scobj_hpath}/ch1/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M1} hsetprop ${scobj_hpath}/ch1/v_lim rdValue ${ns}::rdValue ${scobj_hpath} @@ -434,6 +490,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/v_lim type "part" hsetprop ${scobj_hpath}/ch1/v_lim nxalias "${name}_ch1_v_lim" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/v_lim 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/v_ramp plain user int hsetprop ${scobj_hpath}/ch1/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V1} hsetprop ${scobj_hpath}/ch1/v_ramp rdValue ${ns}::rdValue ${scobj_hpath} @@ -450,6 +513,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/v_ramp type "part" hsetprop ${scobj_hpath}/ch1/v_ramp nxalias "${name}_ch1_v_ramp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/v_ramp 5 + ${sct_controller} write ${scobj_hpath}/ch1/v_ramp + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/v_sp plain user int hsetprop ${scobj_hpath}/ch1/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D1} hsetprop ${scobj_hpath}/ch1/v_sp rdValue ${ns}::rdValue ${scobj_hpath} @@ -475,6 +546,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/v_sp type "drivable" hsetprop ${scobj_hpath}/ch1/v_sp nxalias "${name}_ch1_v_sp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch1/v_sp 5 + ${sct_controller} write ${scobj_hpath}/ch1/v_sp + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch1/voltage plain user int hsetprop ${scobj_hpath}/ch1/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U1} hsetprop ${scobj_hpath}/ch1/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath} @@ -489,29 +568,17 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch1/voltage nxalias "${name}_ch1_voltage" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/ch1/auto_start 5 - ${sct_controller} poll ${scobj_hpath}/ch1/current 5 - ${sct_controller} poll ${scobj_hpath}/ch1/i_lim 5 - ${sct_controller} poll ${scobj_hpath}/ch1/i_trip 5 - ${sct_controller} poll ${scobj_hpath}/ch1/module 5 - ${sct_controller} poll ${scobj_hpath}/ch1/status 5 - ${sct_controller} poll ${scobj_hpath}/ch1/v_lim 5 - ${sct_controller} poll ${scobj_hpath}/ch1/v_ramp 5 - ${sct_controller} poll ${scobj_hpath}/ch1/v_sp 5 ${sct_controller} poll ${scobj_hpath}/ch1/voltage 5 - ${sct_controller} write ${scobj_hpath}/ch1/auto_start - ${sct_controller} write ${scobj_hpath}/ch1/go - ${sct_controller} write ${scobj_hpath}/ch1/i_trip - ${sct_controller} write ${scobj_hpath}/ch1/v_ramp - ${sct_controller} write ${scobj_hpath}/ch1/v_sp } else { ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" } + hsetprop ${scobj_hpath}/ch1 data "true" + hsetprop ${scobj_hpath}/ch1 klass "@none" + hsetprop ${scobj_hpath}/ch1 type "part" + ansto_makesctdrive ${name}_ch1_v_sp ${scobj_hpath}/ch1/v_sp ${scobj_hpath}/ch1/voltage ${sct_controller} hfactory ${scobj_hpath}/ch2 plain spy none - hsetprop ${scobj_hpath}/ch2 data "true" - hsetprop ${scobj_hpath}/ch2 klass "@none" - hsetprop ${scobj_hpath}/ch2 type "part" + hfactory ${scobj_hpath}/ch2/auto_start plain user int hsetprop ${scobj_hpath}/ch2/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A2} @@ -529,6 +596,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/auto_start type "part" hsetprop ${scobj_hpath}/ch2/auto_start nxalias "${name}_ch2_auto_start" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/auto_start 5 + ${sct_controller} write ${scobj_hpath}/ch2/auto_start + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/current plain user text hsetprop ${scobj_hpath}/ch2/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I2} hsetprop ${scobj_hpath}/ch2/current rdCurrent ${ns}::rdCurrent ${scobj_hpath} @@ -542,6 +617,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/current type "part" hsetprop ${scobj_hpath}/ch2/current nxalias "${name}_ch2_current" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/current 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/go plain user int hsetprop ${scobj_hpath}/ch2/go write ${ns}::setValue ${scobj_hpath} noResponse {G2} hsetprop ${scobj_hpath}/ch2/go noResponse ${ns}::noResponse ${scobj_hpath} @@ -556,6 +638,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/go type "part" hsetprop ${scobj_hpath}/ch2/go nxalias "${name}_ch2_go" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} write ${scobj_hpath}/ch2/go + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/i_lim plain user int hsetprop ${scobj_hpath}/ch2/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N2} hsetprop ${scobj_hpath}/ch2/i_lim rdValue ${ns}::rdValue ${scobj_hpath} @@ -569,6 +658,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/i_lim type "part" hsetprop ${scobj_hpath}/ch2/i_lim nxalias "${name}_ch2_i_lim" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/i_lim 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/i_trip plain user int hsetprop ${scobj_hpath}/ch2/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L2} hsetprop ${scobj_hpath}/ch2/i_trip rdValue ${ns}::rdValue ${scobj_hpath} @@ -585,6 +681,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/i_trip type "part" hsetprop ${scobj_hpath}/ch2/i_trip nxalias "${name}_ch2_i_trip" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/i_trip 5 + ${sct_controller} write ${scobj_hpath}/ch2/i_trip + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/module plain user int hsetprop ${scobj_hpath}/ch2/module read ${ns}::getValue ${scobj_hpath} rdValue {T2} hsetprop ${scobj_hpath}/ch2/module rdValue ${ns}::rdValue ${scobj_hpath} @@ -598,6 +702,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/module type "part" hsetprop ${scobj_hpath}/ch2/module nxalias "${name}_ch2_module" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/module 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/status plain user text hsetprop ${scobj_hpath}/ch2/status read ${ns}::getValue ${scobj_hpath} rdValue {S2} hsetprop ${scobj_hpath}/ch2/status rdValue ${ns}::rdValue ${scobj_hpath} @@ -611,6 +722,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/status type "part" hsetprop ${scobj_hpath}/ch2/status nxalias "${name}_ch2_status" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/status 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/v_lim plain user int hsetprop ${scobj_hpath}/ch2/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M2} hsetprop ${scobj_hpath}/ch2/v_lim rdValue ${ns}::rdValue ${scobj_hpath} @@ -624,6 +742,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/v_lim type "part" hsetprop ${scobj_hpath}/ch2/v_lim nxalias "${name}_ch2_v_lim" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/v_lim 5 + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/v_ramp plain user int hsetprop ${scobj_hpath}/ch2/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V2} hsetprop ${scobj_hpath}/ch2/v_ramp rdValue ${ns}::rdValue ${scobj_hpath} @@ -640,6 +765,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/v_ramp type "part" hsetprop ${scobj_hpath}/ch2/v_ramp nxalias "${name}_ch2_v_ramp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/v_ramp 5 + ${sct_controller} write ${scobj_hpath}/ch2/v_ramp + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/v_sp plain user int hsetprop ${scobj_hpath}/ch2/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D2} hsetprop ${scobj_hpath}/ch2/v_sp rdValue ${ns}::rdValue ${scobj_hpath} @@ -665,6 +798,14 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/v_sp type "drivable" hsetprop ${scobj_hpath}/ch2/v_sp nxalias "${name}_ch2_v_sp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ch2/v_sp 5 + ${sct_controller} write ${scobj_hpath}/ch2/v_sp + } else { + ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" + } + + hfactory ${scobj_hpath}/ch2/voltage plain user int hsetprop ${scobj_hpath}/ch2/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U2} hsetprop ${scobj_hpath}/ch2/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath} @@ -679,31 +820,17 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl hsetprop ${scobj_hpath}/ch2/voltage nxalias "${name}_ch2_voltage" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/ch2/auto_start 5 - ${sct_controller} poll ${scobj_hpath}/ch2/current 5 - ${sct_controller} poll ${scobj_hpath}/ch2/i_lim 5 - ${sct_controller} poll ${scobj_hpath}/ch2/i_trip 5 - ${sct_controller} poll ${scobj_hpath}/ch2/module 5 - ${sct_controller} poll ${scobj_hpath}/ch2/status 5 - ${sct_controller} poll ${scobj_hpath}/ch2/v_lim 5 - ${sct_controller} poll ${scobj_hpath}/ch2/v_ramp 5 - ${sct_controller} poll ${scobj_hpath}/ch2/v_sp 5 ${sct_controller} poll ${scobj_hpath}/ch2/voltage 5 - ${sct_controller} write ${scobj_hpath}/ch2/auto_start - ${sct_controller} write ${scobj_hpath}/ch2/go - ${sct_controller} write ${scobj_hpath}/ch2/i_trip - ${sct_controller} write ${scobj_hpath}/ch2/v_ramp - ${sct_controller} write ${scobj_hpath}/ch2/v_sp } else { ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" } + hsetprop ${scobj_hpath}/ch2 data "true" + hsetprop ${scobj_hpath}/ch2 klass "@none" + hsetprop ${scobj_hpath}/ch2 type "part" + ansto_makesctdrive ${name}_ch2_v_sp ${scobj_hpath}/ch2/v_sp ${scobj_hpath}/ch2/voltage ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_ch1_v_sp ${scobj_hpath}/ch1/v_sp ${scobj_hpath}/ch1/voltage ${sct_controller} - ansto_makesctdrive ${name}_ch2_v_sp ${scobj_hpath}/ch2/v_sp ${scobj_hpath}/ch2/voltage ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/omron_hldc_sct.tcl b/site_ansto/instrument/config/environment/omron_hldc_sct.tcl index 24690617..a0bfc252 100644 --- a/site_ansto/instrument/config/environment/omron_hldc_sct.tcl +++ b/site_ansto/instrument/config/environment/omron_hldc_sct.tcl @@ -202,6 +202,7 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/distance plain user float hsetprop ${scobj_hpath}/distance read ${ns}::getValue ${scobj_hpath} read_mm {0201C02030008001} hsetprop ${scobj_hpath}/distance read_mm ${ns}::read_mm ${scobj_hpath} @@ -215,6 +216,13 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation hsetprop ${scobj_hpath}/distance type "part" hsetprop ${scobj_hpath}/distance nxalias "${name}_distance" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/distance 1 + } else { + ::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc" + } + + hfactory ${scobj_hpath}/id plain user text hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} read_id {0501} hsetprop ${scobj_hpath}/id read_id ${ns}::read_id ${scobj_hpath} @@ -228,16 +236,15 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation hsetprop ${scobj_hpath}/id type "part" hsetprop ${scobj_hpath}/id nxalias "${name}_id" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/distance 1 ${sct_controller} poll ${scobj_hpath}/id 10 } else { ::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc" } + + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/environment/temperature/julabo_lh45_gen_sct.tcl b/site_ansto/instrument/config/environment/temperature/julabo_lh45_gen_sct.tcl index 19074726..244c838c 100644 --- a/site_ansto/instrument/config/environment/temperature/julabo_lh45_gen_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/julabo_lh45_gen_sct.tcl @@ -376,6 +376,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/heating_power_percent plain user float hsetprop ${scobj_hpath}/heating_power_percent read ${ns}::getValue ${scobj_hpath} rdValue {in_pv_01} hsetprop ${scobj_hpath}/heating_power_percent rdValue ${ns}::rdValue ${scobj_hpath} @@ -389,6 +390,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/heating_power_percent type "part" hsetprop ${scobj_hpath}/heating_power_percent nxalias "${name}_heating_power_percent" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/heating_power_percent 1 + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/lh45_lasterror plain user text hsetprop ${scobj_hpath}/lh45_lasterror control true hsetprop ${scobj_hpath}/lh45_lasterror data true @@ -400,6 +408,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/lh45_lasterror type "part" hsetprop ${scobj_hpath}/lh45_lasterror nxalias "${name}_lh45_lasterror" + hfactory ${scobj_hpath}/lh45_state plain user text hsetprop ${scobj_hpath}/lh45_state read ${ns}::getState ${scobj_hpath} rdState {status} hsetprop ${scobj_hpath}/lh45_state rdState ${ns}::rdState ${scobj_hpath} @@ -413,6 +422,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/lh45_state type "part" hsetprop ${scobj_hpath}/lh45_state nxalias "${name}_lh45_state" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/lh45_state 1 + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/overtemp_warnlimit plain user float hsetprop ${scobj_hpath}/overtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_03} hsetprop ${scobj_hpath}/overtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath} @@ -426,6 +442,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/overtemp_warnlimit type "part" hsetprop ${scobj_hpath}/overtemp_warnlimit nxalias "${name}_overtemp_warnlimit" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/overtemp_warnlimit 1 + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/remote_ctrl plain spy text hsetprop ${scobj_hpath}/remote_ctrl control true hsetprop ${scobj_hpath}/remote_ctrl data true @@ -437,6 +460,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/remote_ctrl type "part" hsetprop ${scobj_hpath}/remote_ctrl nxalias "${name}_remote_ctrl" + hfactory ${scobj_hpath}/setpoint plain user float hsetprop ${scobj_hpath}/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_00} hsetprop ${scobj_hpath}/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -464,6 +488,14 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/setpoint units "C" hsetprop ${scobj_hpath}/setpoint nxalias "${name}_setpoint" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/setpoint 1 + ${sct_controller} write ${scobj_hpath}/setpoint + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/subtemp_warnlimit plain user float hsetprop ${scobj_hpath}/subtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_04} hsetprop ${scobj_hpath}/subtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath} @@ -477,25 +509,19 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/subtemp_warnlimit type "part" hsetprop ${scobj_hpath}/subtemp_warnlimit nxalias "${name}_subtemp_warnlimit" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/heating_power_percent 1 - ${sct_controller} poll ${scobj_hpath}/lh45_state 1 - ${sct_controller} poll ${scobj_hpath}/overtemp_warnlimit 1 - ${sct_controller} poll ${scobj_hpath}/setpoint 1 ${sct_controller} poll ${scobj_hpath}/subtemp_warnlimit 1 - ${sct_controller} write ${scobj_hpath}/setpoint } else { ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" } + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" + ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/sensor/value ${sct_controller} + hfactory ${scobj_hpath}/mode plain spy none - hsetprop ${scobj_hpath}/mode data "true" - hsetprop ${scobj_hpath}/mode klass "@none" - hsetprop ${scobj_hpath}/mode type "part" + hfactory ${scobj_hpath}/mode/ext_else_bath plain user int hsetprop ${scobj_hpath}/mode/ext_else_bath read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_04} @@ -513,6 +539,14 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/mode/ext_else_bath type "part" hsetprop ${scobj_hpath}/mode/ext_else_bath nxalias "${name}_mode_ext_else_bath" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/mode/ext_else_bath 1 + ${sct_controller} write ${scobj_hpath}/mode/ext_else_bath + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/mode/on_else_off plain user int hsetprop ${scobj_hpath}/mode/on_else_off read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_05} hsetprop ${scobj_hpath}/mode/on_else_off rdValue ${ns}::rdValue ${scobj_hpath} @@ -530,18 +564,17 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/mode/on_else_off nxalias "${name}_mode_on_else_off" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/mode/ext_else_bath 1 ${sct_controller} poll ${scobj_hpath}/mode/on_else_off 1 - ${sct_controller} write ${scobj_hpath}/mode/ext_else_bath ${sct_controller} write ${scobj_hpath}/mode/on_else_off } else { ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" } + hsetprop ${scobj_hpath}/mode data "true" + hsetprop ${scobj_hpath}/mode klass "@none" + hsetprop ${scobj_hpath}/mode type "part" hfactory ${scobj_hpath}/sensor plain spy none - hsetprop ${scobj_hpath}/sensor data "true" - hsetprop ${scobj_hpath}/sensor klass "@none" - hsetprop ${scobj_hpath}/sensor type "part" + hfactory ${scobj_hpath}/sensor/bathtemp plain internal float hsetprop ${scobj_hpath}/sensor/bathtemp read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_00} @@ -558,6 +591,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/sensor/bathtemp units "C" hsetprop ${scobj_hpath}/sensor/bathtemp nxalias "${name}_sensor_bathtemp" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/bathtemp 1 + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/sensor/end_temperature plain internal float hsetprop ${scobj_hpath}/sensor/end_temperature control true hsetprop ${scobj_hpath}/sensor/end_temperature data true @@ -570,6 +610,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/sensor/end_temperature units "C" hsetprop ${scobj_hpath}/sensor/end_temperature nxalias "${name}_sensor_end_temperature" + hfactory ${scobj_hpath}/sensor/external plain internal float hsetprop ${scobj_hpath}/sensor/external read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_02} hsetprop ${scobj_hpath}/sensor/external rdSensor ${ns}::rdSensor ${scobj_hpath} @@ -585,6 +626,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/sensor/external units "C" hsetprop ${scobj_hpath}/sensor/external nxalias "${name}_sensor_external" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/external 1 + } else { + ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" + } + + hfactory ${scobj_hpath}/sensor/start_temperature plain internal float hsetprop ${scobj_hpath}/sensor/start_temperature control true hsetprop ${scobj_hpath}/sensor/start_temperature data true @@ -597,6 +645,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/sensor/start_temperature units "C" hsetprop ${scobj_hpath}/sensor/start_temperature nxalias "${name}_sensor_start_temperature" + hfactory ${scobj_hpath}/sensor/value plain internal float hsetprop ${scobj_hpath}/sensor/value control true hsetprop ${scobj_hpath}/sensor/value data true @@ -610,19 +659,12 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul hsetprop ${scobj_hpath}/sensor/value type "part" hsetprop ${scobj_hpath}/sensor/value units "C" hsetprop ${scobj_hpath}/sensor/value nxalias "${name}_sensor_value" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/sensor/bathtemp 1 - ${sct_controller} poll ${scobj_hpath}/sensor/external 1 - } else { - ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" - } + hsetprop ${scobj_hpath}/sensor data "true" + hsetprop ${scobj_hpath}/sensor klass "@none" + hsetprop ${scobj_hpath}/sensor type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/sensor/value ${sct_controller} - } # mkDriver hook code starts if { ${ctrl_sensor} == "external" } { hset ${scobj_hpath}/mode/ext_else_bath 1 diff --git a/site_ansto/instrument/config/environment/temperature/lakeshore_218_sct.tcl b/site_ansto/instrument/config/environment/temperature/lakeshore_218_sct.tcl index 00d754f6..d59f0e33 100644 --- a/site_ansto/instrument/config/environment/temperature/lakeshore_218_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/lakeshore_218_sct.tcl @@ -169,6 +169,7 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/krdg plain user text hsetprop ${scobj_hpath}/krdg read ${ns}::getValue ${scobj_hpath} rdValue {KRDG? 0} hsetprop ${scobj_hpath}/krdg rdValue ${ns}::rdValue ${scobj_hpath} @@ -182,20 +183,18 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/krdg type "part" hsetprop ${scobj_hpath}/krdg nxalias "${name}_krdg" - hsetprop ${scobj_hpath} data "false" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { ${sct_controller} poll ${scobj_hpath}/krdg 1 } else { ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" } + hsetprop ${scobj_hpath} data "false" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" + hfactory ${scobj_hpath}/sensor plain spy none - hsetprop ${scobj_hpath}/sensor data "true" - hsetprop ${scobj_hpath}/sensor klass "@none" - hsetprop ${scobj_hpath}/sensor type "part" + hfactory ${scobj_hpath}/sensor/ch1 plain user float hsetprop ${scobj_hpath}/sensor/ch1 read ${ns}::getTemp ${scobj_hpath} rdValue {0} @@ -210,6 +209,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch1 type "part" hsetprop ${scobj_hpath}/sensor/ch1 nxalias "${name}_sensor_ch1" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch1 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch2 plain user float hsetprop ${scobj_hpath}/sensor/ch2 read ${ns}::getTemp ${scobj_hpath} rdValue {1} hsetprop ${scobj_hpath}/sensor/ch2 rdValue ${ns}::rdValue ${scobj_hpath} @@ -223,6 +229,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch2 type "part" hsetprop ${scobj_hpath}/sensor/ch2 nxalias "${name}_sensor_ch2" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch2 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch3 plain user float hsetprop ${scobj_hpath}/sensor/ch3 read ${ns}::getTemp ${scobj_hpath} rdValue {2} hsetprop ${scobj_hpath}/sensor/ch3 rdValue ${ns}::rdValue ${scobj_hpath} @@ -236,6 +249,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch3 type "part" hsetprop ${scobj_hpath}/sensor/ch3 nxalias "${name}_sensor_ch3" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch3 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch4 plain user float hsetprop ${scobj_hpath}/sensor/ch4 read ${ns}::getTemp ${scobj_hpath} rdValue {3} hsetprop ${scobj_hpath}/sensor/ch4 rdValue ${ns}::rdValue ${scobj_hpath} @@ -249,6 +269,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch4 type "part" hsetprop ${scobj_hpath}/sensor/ch4 nxalias "${name}_sensor_ch4" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch4 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch5 plain user float hsetprop ${scobj_hpath}/sensor/ch5 read ${ns}::getTemp ${scobj_hpath} rdValue {4} hsetprop ${scobj_hpath}/sensor/ch5 rdValue ${ns}::rdValue ${scobj_hpath} @@ -262,6 +289,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch5 type "part" hsetprop ${scobj_hpath}/sensor/ch5 nxalias "${name}_sensor_ch5" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch5 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch6 plain user float hsetprop ${scobj_hpath}/sensor/ch6 read ${ns}::getTemp ${scobj_hpath} rdValue {5} hsetprop ${scobj_hpath}/sensor/ch6 rdValue ${ns}::rdValue ${scobj_hpath} @@ -275,6 +309,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch6 type "part" hsetprop ${scobj_hpath}/sensor/ch6 nxalias "${name}_sensor_ch6" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch6 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch7 plain user float hsetprop ${scobj_hpath}/sensor/ch7 read ${ns}::getTemp ${scobj_hpath} rdValue {6} hsetprop ${scobj_hpath}/sensor/ch7 rdValue ${ns}::rdValue ${scobj_hpath} @@ -288,6 +329,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch7 type "part" hsetprop ${scobj_hpath}/sensor/ch7 nxalias "${name}_sensor_ch7" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor/ch7 1 + } else { + ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" + } + + hfactory ${scobj_hpath}/sensor/ch8 plain user float hsetprop ${scobj_hpath}/sensor/ch8 read ${ns}::getTemp ${scobj_hpath} rdValue {7} hsetprop ${scobj_hpath}/sensor/ch8 rdValue ${ns}::rdValue ${scobj_hpath} @@ -302,17 +350,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/sensor/ch8 nxalias "${name}_sensor_ch8" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/sensor/ch1 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch2 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch3 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch4 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch5 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch6 1 - ${sct_controller} poll ${scobj_hpath}/sensor/ch7 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch8 1 } else { ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" } + hsetprop ${scobj_hpath}/sensor data "true" + hsetprop ${scobj_hpath}/sensor klass "@none" + hsetprop ${scobj_hpath}/sensor type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/environment/temperature/mercury_base_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_base_sct.tcl index e5d1a059..0c842081 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_base_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_base_sct.tcl @@ -279,9 +279,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Loop1 plain spy none - hsetprop ${scobj_hpath}/Loop1 data "true" - hsetprop ${scobj_hpath}/Loop1 klass "@none" - hsetprop ${scobj_hpath}/Loop1 type "part" + hfactory ${scobj_hpath}/Loop1/nick plain user text hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} @@ -296,6 +294,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/nick type "part" hsetprop ${scobj_hpath}/Loop1/nick nxalias "${name}_Loop1_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop1/power plain user float hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -309,6 +314,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/power type "part" hsetprop ${scobj_hpath}/Loop1/power nxalias "${name}_Loop1_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/power 5 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop1/sensor plain user float hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -324,6 +336,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/sensor type "part" hsetprop ${scobj_hpath}/Loop1/sensor nxalias "${name}_Loop1_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop1/setpoint plain user float hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -352,19 +371,18 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/setpoint nxalias "${name}_Loop1_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop1/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop1/setpoint } else { ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" } + hsetprop ${scobj_hpath}/Loop1 data "true" + hsetprop ${scobj_hpath}/Loop1 klass "@none" + hsetprop ${scobj_hpath}/Loop1 type "part" + ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} hfactory ${scobj_hpath}/Loop2 plain spy none - hsetprop ${scobj_hpath}/Loop2 data "true" - hsetprop ${scobj_hpath}/Loop2 klass "@none" - hsetprop ${scobj_hpath}/Loop2 type "part" + hfactory ${scobj_hpath}/Loop2/nick plain user text hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} @@ -379,6 +397,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/nick type "part" hsetprop ${scobj_hpath}/Loop2/nick nxalias "${name}_Loop2_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop2/power plain user float hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -392,6 +417,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/power type "part" hsetprop ${scobj_hpath}/Loop2/power nxalias "${name}_Loop2_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/power 5 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop2/sensor plain user float hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -407,6 +439,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/sensor type "part" hsetprop ${scobj_hpath}/Loop2/sensor nxalias "${name}_Loop2_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop2/setpoint plain user float hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -435,19 +474,18 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/setpoint nxalias "${name}_Loop2_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop2/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop2/setpoint } else { ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" } + hsetprop ${scobj_hpath}/Loop2 data "true" + hsetprop ${scobj_hpath}/Loop2 klass "@none" + hsetprop ${scobj_hpath}/Loop2 type "part" + ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} hfactory ${scobj_hpath}/Loop3 plain spy none - hsetprop ${scobj_hpath}/Loop3 data "true" - hsetprop ${scobj_hpath}/Loop3 klass "@none" - hsetprop ${scobj_hpath}/Loop3 type "part" + hfactory ${scobj_hpath}/Loop3/nick plain user text hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} @@ -462,6 +500,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/nick type "part" hsetprop ${scobj_hpath}/Loop3/nick nxalias "${name}_Loop3_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop3/power plain user float hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -475,6 +520,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/power type "part" hsetprop ${scobj_hpath}/Loop3/power nxalias "${name}_Loop3_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/power 5 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop3/sensor plain user float hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -490,6 +542,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/sensor type "part" hsetprop ${scobj_hpath}/Loop3/sensor nxalias "${name}_Loop3_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 + } else { + ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" + } + + hfactory ${scobj_hpath}/Loop3/setpoint plain user float hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -518,22 +577,18 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/setpoint nxalias "${name}_Loop3_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop3/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop3/setpoint } else { ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" } + hsetprop ${scobj_hpath}/Loop3 data "true" + hsetprop ${scobj_hpath}/Loop3 klass "@none" + hsetprop ${scobj_hpath}/Loop3 type "part" + ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} - ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} - ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/temperature/mercury_level_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_level_sct.tcl index 6bd2ee09..da638f8e 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_level_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_level_sct.tcl @@ -150,9 +150,7 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Level plain spy none - hsetprop ${scobj_hpath}/Level data "true" - hsetprop ${scobj_hpath}/Level klass "@none" - hsetprop ${scobj_hpath}/Level type "part" + hfactory ${scobj_hpath}/Level/Helium plain user float hsetprop ${scobj_hpath}/Level/Helium read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:HEL:LEV} @@ -169,6 +167,13 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/Level/Helium type "part" hsetprop ${scobj_hpath}/Level/Helium nxalias "${name}_Level_Helium" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Level/Helium 15 + } else { + ::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level" + } + + hfactory ${scobj_hpath}/Level/Nitrogen plain user float hsetprop ${scobj_hpath}/Level/Nitrogen read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:NIT:LEV} hsetprop ${scobj_hpath}/Level/Nitrogen rdValue ${ns}::rdValue ${scobj_hpath} @@ -185,11 +190,13 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/Level/Nitrogen nxalias "${name}_Level_Nitrogen" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Level/Helium 15 ${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15 } else { ::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level" } + hsetprop ${scobj_hpath}/Level data "true" + hsetprop ${scobj_hpath}/Level klass "@none" + hsetprop ${scobj_hpath}/Level type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/environment/temperature/mercury_pres_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_pres_sct.tcl index 0dfcdfa6..c2211c13 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_pres_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_pres_sct.tcl @@ -285,9 +285,7 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Loop8 plain spy none - hsetprop ${scobj_hpath}/Loop8 data "true" - hsetprop ${scobj_hpath}/Loop8 klass "@none" - hsetprop ${scobj_hpath}/Loop8 type "part" + hfactory ${scobj_hpath}/Loop8/nick plain user text hsetprop ${scobj_hpath}/Loop8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.P1:PRES:NICK} @@ -302,6 +300,13 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop8/nick type "part" hsetprop ${scobj_hpath}/Loop8/nick nxalias "${name}_Loop8_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop8/nick 15 + } else { + ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" + } + + hfactory ${scobj_hpath}/Loop8/sensor plain user float hsetprop ${scobj_hpath}/Loop8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:SIG:PRES} hsetprop ${scobj_hpath}/Loop8/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -318,6 +323,13 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop8/sensor type "part" hsetprop ${scobj_hpath}/Loop8/sensor nxalias "${name}_Loop8_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop8/sensor 1 + } else { + ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" + } + + hfactory ${scobj_hpath}/Loop8/setpoint plain user float hsetprop ${scobj_hpath}/Loop8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:TSET} hsetprop ${scobj_hpath}/Loop8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -347,19 +359,18 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop8/setpoint nxalias "${name}_Loop8_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop8/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop8/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop8/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop8/setpoint } else { ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" } + hsetprop ${scobj_hpath}/Loop8 data "true" + hsetprop ${scobj_hpath}/Loop8 klass "@none" + hsetprop ${scobj_hpath}/Loop8 type "part" + ansto_makesctdrive ${name}_Loop8_setpoint ${scobj_hpath}/Loop8/setpoint ${scobj_hpath}/Loop8/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Loop8_setpoint ${scobj_hpath}/Loop8/setpoint ${scobj_hpath}/Loop8/sensor ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/temperature/mercury_scpi_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_scpi_sct.tcl index a066b76f..3514c07e 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_scpi_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_scpi_sct.tcl @@ -313,9 +313,7 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Level plain spy none - hsetprop ${scobj_hpath}/Level data "true" - hsetprop ${scobj_hpath}/Level klass "@none" - hsetprop ${scobj_hpath}/Level type "part" + hfactory ${scobj_hpath}/Level/Helium plain user float hsetprop ${scobj_hpath}/Level/Helium read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:HEL:LEV} @@ -332,6 +330,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Level/Helium type "part" hsetprop ${scobj_hpath}/Level/Helium nxalias "${name}_Level_Helium" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Level/Helium 15 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Level/Nitrogen plain user float hsetprop ${scobj_hpath}/Level/Nitrogen read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:NIT:LEV} hsetprop ${scobj_hpath}/Level/Nitrogen rdValue ${ns}::rdValue ${scobj_hpath} @@ -348,16 +353,16 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Level/Nitrogen nxalias "${name}_Level_Nitrogen" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Level/Helium 15 ${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15 } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Level data "true" + hsetprop ${scobj_hpath}/Level klass "@none" + hsetprop ${scobj_hpath}/Level type "part" hfactory ${scobj_hpath}/Loop1 plain spy none - hsetprop ${scobj_hpath}/Loop1 data "true" - hsetprop ${scobj_hpath}/Loop1 klass "@none" - hsetprop ${scobj_hpath}/Loop1 type "part" + hfactory ${scobj_hpath}/Loop1/nick plain user text hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} @@ -372,6 +377,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/nick type "part" hsetprop ${scobj_hpath}/Loop1/nick nxalias "${name}_Loop1_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop1/power plain user float hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -385,6 +397,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/power type "part" hsetprop ${scobj_hpath}/Loop1/power nxalias "${name}_Loop1_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/power 5 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop1/sensor plain user float hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -400,6 +419,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/sensor type "part" hsetprop ${scobj_hpath}/Loop1/sensor nxalias "${name}_Loop1_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop1/setpoint plain user float hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -428,19 +454,18 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop1/setpoint nxalias "${name}_Loop1_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop1/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop1/setpoint } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Loop1 data "true" + hsetprop ${scobj_hpath}/Loop1 klass "@none" + hsetprop ${scobj_hpath}/Loop1 type "part" + ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} hfactory ${scobj_hpath}/Loop2 plain spy none - hsetprop ${scobj_hpath}/Loop2 data "true" - hsetprop ${scobj_hpath}/Loop2 klass "@none" - hsetprop ${scobj_hpath}/Loop2 type "part" + hfactory ${scobj_hpath}/Loop2/nick plain user text hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} @@ -455,6 +480,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/nick type "part" hsetprop ${scobj_hpath}/Loop2/nick nxalias "${name}_Loop2_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop2/power plain user float hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -468,6 +500,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/power type "part" hsetprop ${scobj_hpath}/Loop2/power nxalias "${name}_Loop2_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/power 5 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop2/sensor plain user float hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -483,6 +522,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/sensor type "part" hsetprop ${scobj_hpath}/Loop2/sensor nxalias "${name}_Loop2_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop2/setpoint plain user float hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -511,19 +557,18 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop2/setpoint nxalias "${name}_Loop2_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop2/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop2/setpoint } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Loop2 data "true" + hsetprop ${scobj_hpath}/Loop2 klass "@none" + hsetprop ${scobj_hpath}/Loop2 type "part" + ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} hfactory ${scobj_hpath}/Loop3 plain spy none - hsetprop ${scobj_hpath}/Loop3 data "true" - hsetprop ${scobj_hpath}/Loop3 klass "@none" - hsetprop ${scobj_hpath}/Loop3 type "part" + hfactory ${scobj_hpath}/Loop3/nick plain user text hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} @@ -538,6 +583,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/nick type "part" hsetprop ${scobj_hpath}/Loop3/nick nxalias "${name}_Loop3_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop3/power plain user float hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -551,6 +603,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/power type "part" hsetprop ${scobj_hpath}/Loop3/power nxalias "${name}_Loop3_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/power 5 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop3/sensor plain user float hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -566,6 +625,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/sensor type "part" hsetprop ${scobj_hpath}/Loop3/sensor nxalias "${name}_Loop3_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop3/setpoint plain user float hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -594,19 +660,18 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop3/setpoint nxalias "${name}_Loop3_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop3/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop3/setpoint } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Loop3 data "true" + hsetprop ${scobj_hpath}/Loop3 klass "@none" + hsetprop ${scobj_hpath}/Loop3 type "part" + ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} hfactory ${scobj_hpath}/Loop4 plain spy none - hsetprop ${scobj_hpath}/Loop4 data "true" - hsetprop ${scobj_hpath}/Loop4 klass "@none" - hsetprop ${scobj_hpath}/Loop4 type "part" + hfactory ${scobj_hpath}/Loop4/nick plain user text hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} @@ -621,6 +686,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/nick type "part" hsetprop ${scobj_hpath}/Loop4/nick nxalias "${name}_Loop4_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop4/power plain user float hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -634,6 +706,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/power type "part" hsetprop ${scobj_hpath}/Loop4/power nxalias "${name}_Loop4_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/power 5 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop4/sensor plain user float hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -649,6 +728,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/sensor type "part" hsetprop ${scobj_hpath}/Loop4/sensor nxalias "${name}_Loop4_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Loop4/setpoint plain user float hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -677,19 +763,18 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/setpoint nxalias "${name}_Loop4_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop4/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop4/setpoint } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Loop4 data "true" + hsetprop ${scobj_hpath}/Loop4 klass "@none" + hsetprop ${scobj_hpath}/Loop4 type "part" + ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} hfactory ${scobj_hpath}/Valve plain spy none - hsetprop ${scobj_hpath}/Valve data "true" - hsetprop ${scobj_hpath}/Valve klass "@none" - hsetprop ${scobj_hpath}/Valve type "part" + hfactory ${scobj_hpath}/Valve/sensor plain user float hsetprop ${scobj_hpath}/Valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:OPEN} @@ -706,6 +791,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Valve/sensor type "part" hsetprop ${scobj_hpath}/Valve/sensor nxalias "${name}_Valve_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 + } else { + ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" + } + + hfactory ${scobj_hpath}/Valve/setpoint plain user float hsetprop ${scobj_hpath}/Valve/setpoint write ${ns}::setValve ${scobj_hpath} noResponse {SET:DEV:DB4.G1:AUX:SIG:OPEN:} hsetprop ${scobj_hpath}/Valve/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -732,21 +824,17 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Valve/setpoint nxalias "${name}_Valve_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 ${sct_controller} write ${scobj_hpath}/Valve/setpoint } else { ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" } + hsetprop ${scobj_hpath}/Valve data "true" + hsetprop ${scobj_hpath}/Valve klass "@none" + hsetprop ${scobj_hpath}/Valve type "part" + ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} - ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} - ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} - ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} - ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/temperature/mercury_temp_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_temp_sct.tcl index f870fa48..9e3fba62 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_temp_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_temp_sct.tcl @@ -279,9 +279,7 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Loop4 plain spy none - hsetprop ${scobj_hpath}/Loop4 data "true" - hsetprop ${scobj_hpath}/Loop4 klass "@none" - hsetprop ${scobj_hpath}/Loop4 type "part" + hfactory ${scobj_hpath}/Loop4/nick plain user text hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} @@ -296,6 +294,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/nick type "part" hsetprop ${scobj_hpath}/Loop4/nick nxalias "${name}_Loop4_nick" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 + } else { + ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" + } + + hfactory ${scobj_hpath}/Loop4/power plain user float hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath} @@ -309,6 +314,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/power type "part" hsetprop ${scobj_hpath}/Loop4/power nxalias "${name}_Loop4_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/power 5 + } else { + ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" + } + + hfactory ${scobj_hpath}/Loop4/sensor plain user float hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath} @@ -324,6 +336,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/sensor type "part" hsetprop ${scobj_hpath}/Loop4/sensor nxalias "${name}_Loop4_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 + } else { + ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" + } + + hfactory ${scobj_hpath}/Loop4/setpoint plain user float hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath} @@ -352,20 +371,18 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati hsetprop ${scobj_hpath}/Loop4/setpoint nxalias "${name}_Loop4_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 - ${sct_controller} poll ${scobj_hpath}/Loop4/power 5 - ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5 ${sct_controller} write ${scobj_hpath}/Loop4/setpoint } else { ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" } + hsetprop ${scobj_hpath}/Loop4 data "true" + hsetprop ${scobj_hpath}/Loop4 klass "@none" + hsetprop ${scobj_hpath}/Loop4 type "part" + ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/temperature/mercury_valve_sct.tcl b/site_ansto/instrument/config/environment/temperature/mercury_valve_sct.tcl index fd6c0057..830a0669 100644 --- a/site_ansto/instrument/config/environment/temperature/mercury_valve_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/mercury_valve_sct.tcl @@ -257,9 +257,7 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat set scobj_hpath /sics/${name} hfactory ${scobj_hpath}/Valve plain spy none - hsetprop ${scobj_hpath}/Valve data "true" - hsetprop ${scobj_hpath}/Valve klass "@none" - hsetprop ${scobj_hpath}/Valve type "part" + hfactory ${scobj_hpath}/Valve/sensor plain user float hsetprop ${scobj_hpath}/Valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:OPEN} @@ -276,6 +274,13 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/Valve/sensor type "part" hsetprop ${scobj_hpath}/Valve/sensor nxalias "${name}_Valve_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 + } else { + ::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve" + } + + hfactory ${scobj_hpath}/Valve/setpoint plain user float hsetprop ${scobj_hpath}/Valve/setpoint write ${ns}::setValve ${scobj_hpath} noResponse {SET:DEV:DB4.G1:AUX:SIG:OPEN:} hsetprop ${scobj_hpath}/Valve/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -302,17 +307,17 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat hsetprop ${scobj_hpath}/Valve/setpoint nxalias "${name}_Valve_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 ${sct_controller} write ${scobj_hpath}/Valve/setpoint } else { ::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve" } + hsetprop ${scobj_hpath}/Valve data "true" + hsetprop ${scobj_hpath}/Valve klass "@none" + hsetprop ${scobj_hpath}/Valve type "part" + ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} - } # mkDriver hook code goes here } catch_message ] handle_exception ${catch_status} ${catch_message} diff --git a/site_ansto/instrument/config/environment/temperature/pfeiffer_hg_sct.tcl b/site_ansto/instrument/config/environment/temperature/pfeiffer_hg_sct.tcl index 4807e921..1925674d 100644 --- a/site_ansto/instrument/config/environment/temperature/pfeiffer_hg_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/pfeiffer_hg_sct.tcl @@ -384,6 +384,7 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/status plain user int hsetprop ${scobj_hpath}/status control true hsetprop ${scobj_hpath}/status data true @@ -400,9 +401,7 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath} type "part" hfactory ${scobj_hpath}/pressure plain spy none - hsetprop ${scobj_hpath}/pressure data "true" - hsetprop ${scobj_hpath}/pressure klass "@none" - hsetprop ${scobj_hpath}/pressure type "part" + hfactory ${scobj_hpath}/pressure/sensor plain user float hsetprop ${scobj_hpath}/pressure/sensor read ${ns}::sendPR1 ${scobj_hpath} readPR1 {PR1} @@ -428,6 +427,13 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/pressure/sensor type "part" hsetprop ${scobj_hpath}/pressure/sensor nxalias "${name}_pressure_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pressure/sensor 1 + } else { + ::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg" + } + + hfactory ${scobj_hpath}/pressure/setpoint plain user float hsetprop ${scobj_hpath}/pressure/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {@} hsetprop ${scobj_hpath}/pressure/setpoint noResponse ${ns}::noResponse ${scobj_hpath} @@ -454,17 +460,17 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio hsetprop ${scobj_hpath}/pressure/setpoint nxalias "${name}_pressure_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/pressure/sensor 1 ${sct_controller} write ${scobj_hpath}/pressure/setpoint } else { ::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg" } + hsetprop ${scobj_hpath}/pressure data "true" + hsetprop ${scobj_hpath}/pressure klass "@none" + hsetprop ${scobj_hpath}/pressure type "part" + ansto_makesctdrive ${name}_pressure_setpoint ${scobj_hpath}/pressure/setpoint ${scobj_hpath}/pressure/sensor ${sct_controller} hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 - if {[string equal -nocase "${simulation_flag}" "false"]} { - ansto_makesctdrive ${name}_pressure_setpoint ${scobj_hpath}/pressure/setpoint ${scobj_hpath}/pressure/sensor ${sct_controller} - } # mkDriver hook code starts hsetprop ${scobj_hpath}/pressure/sensor read ${ns}::sendPR1 ${scobj_hpath} ack_enq {PR1} hsetprop ${scobj_hpath}/pressure/sensor ack_enq ${ns}::ack_enq ${scobj_hpath} diff --git a/site_ansto/instrument/config/environment/temperature/west_6100_sct.tcl b/site_ansto/instrument/config/environment/temperature/west_6100_sct.tcl index ddf8561d..54239686 100644 --- a/site_ansto/instrument/config/environment/temperature/west_6100_sct.tcl +++ b/site_ansto/instrument/config/environment/temperature/west_6100_sct.tcl @@ -274,6 +274,7 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/alarm1 plain user float hsetprop ${scobj_hpath}/alarm1 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {13} hsetprop ${scobj_hpath}/alarm1 rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -290,6 +291,14 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/alarm1 type "part" hsetprop ${scobj_hpath}/alarm1 nxalias "${name}_alarm1" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/alarm1 1 + ${sct_controller} write ${scobj_hpath}/alarm1 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/alarm2 plain user float hsetprop ${scobj_hpath}/alarm2 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {14} hsetprop ${scobj_hpath}/alarm2 rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -306,6 +315,14 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/alarm2 type "part" hsetprop ${scobj_hpath}/alarm2 nxalias "${name}_alarm2" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/alarm2 1 + ${sct_controller} write ${scobj_hpath}/alarm2 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/power plain user int hsetprop ${scobj_hpath}/power read ${ns}::getInteger ${scobj_hpath} rdInteger {3} hsetprop ${scobj_hpath}/power rdInteger ${ns}::rdInteger ${scobj_hpath} @@ -319,6 +336,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/power type "part" hsetprop ${scobj_hpath}/power nxalias "${name}_power" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/power 1 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/powermax plain user int hsetprop ${scobj_hpath}/powermax read ${ns}::getInteger ${scobj_hpath} rdInteger {20} hsetprop ${scobj_hpath}/powermax rdInteger ${ns}::rdInteger ${scobj_hpath} @@ -335,6 +359,14 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/powermax type "part" hsetprop ${scobj_hpath}/powermax nxalias "${name}_powermax" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/powermax 1 + ${sct_controller} write ${scobj_hpath}/powermax + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/ramprate plain user float hsetprop ${scobj_hpath}/ramprate read ${ns}::getDecimal ${scobj_hpath} rdDecimal {24} hsetprop ${scobj_hpath}/ramprate rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -351,6 +383,14 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/ramprate type "part" hsetprop ${scobj_hpath}/ramprate nxalias "${name}_ramprate" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/ramprate 1 + ${sct_controller} write ${scobj_hpath}/ramprate + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/sensor plain user float hsetprop ${scobj_hpath}/sensor read ${ns}::getDecimal ${scobj_hpath} rdDecimal {1} hsetprop ${scobj_hpath}/sensor rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -364,6 +404,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/sensor type "part" hsetprop ${scobj_hpath}/sensor nxalias "${name}_sensor" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/sensor 1 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/setpoint plain user float hsetprop ${scobj_hpath}/setpoint read ${ns}::getDecimal ${scobj_hpath} rdDecimal {2} hsetprop ${scobj_hpath}/setpoint rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -380,6 +427,14 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/setpoint type "part" hsetprop ${scobj_hpath}/setpoint nxalias "${name}_setpoint" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/setpoint 1 + ${sct_controller} write ${scobj_hpath}/setpoint + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/w_sp plain user float hsetprop ${scobj_hpath}/w_sp read ${ns}::getDecimal ${scobj_hpath} rdDecimal {21} hsetprop ${scobj_hpath}/w_sp rdDecimal ${ns}::rdDecimal ${scobj_hpath} @@ -396,33 +451,19 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/w_sp type "part" hsetprop ${scobj_hpath}/w_sp nxalias "${name}_w_sp" - hsetprop ${scobj_hpath} data "true" - hsetprop ${scobj_hpath} klass "@none" - hsetprop ${scobj_hpath} type "part" - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/alarm1 1 - ${sct_controller} poll ${scobj_hpath}/alarm2 1 - ${sct_controller} poll ${scobj_hpath}/power 1 - ${sct_controller} poll ${scobj_hpath}/powermax 1 - ${sct_controller} poll ${scobj_hpath}/ramprate 1 - ${sct_controller} poll ${scobj_hpath}/sensor 1 - ${sct_controller} poll ${scobj_hpath}/setpoint 1 ${sct_controller} poll ${scobj_hpath}/w_sp 1 - ${sct_controller} write ${scobj_hpath}/alarm1 - ${sct_controller} write ${scobj_hpath}/alarm2 - ${sct_controller} write ${scobj_hpath}/powermax - ${sct_controller} write ${scobj_hpath}/ramprate - ${sct_controller} write ${scobj_hpath}/setpoint ${sct_controller} write ${scobj_hpath}/w_sp } else { ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" } + hsetprop ${scobj_hpath} data "true" + hsetprop ${scobj_hpath} klass "@none" + hsetprop ${scobj_hpath} type "part" + hfactory ${scobj_hpath}/aux plain spy none - hsetprop ${scobj_hpath}/aux data "false" - hsetprop ${scobj_hpath}/aux klass "@none" - hsetprop ${scobj_hpath}/aux type "part" + hfactory ${scobj_hpath}/aux/decimal plain user int hsetprop ${scobj_hpath}/aux/decimal read ${ns}::getInteger ${scobj_hpath} rdInteger {18} @@ -437,6 +478,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/aux/decimal type "part" hsetprop ${scobj_hpath}/aux/decimal nxalias "${name}_aux_decimal" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/aux/decimal 2 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/aux/instatus plain user int hsetprop ${scobj_hpath}/aux/instatus read ${ns}::getInteger ${scobj_hpath} rdInteger {133} hsetprop ${scobj_hpath}/aux/instatus rdInteger ${ns}::rdInteger ${scobj_hpath} @@ -449,6 +497,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/aux/instatus type "part" hsetprop ${scobj_hpath}/aux/instatus nxalias "${name}_aux_instatus" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/aux/instatus 2 + } else { + ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" + } + + hfactory ${scobj_hpath}/aux/model plain user int hsetprop ${scobj_hpath}/aux/model read ${ns}::getInteger ${scobj_hpath} rdInteger {122} hsetprop ${scobj_hpath}/aux/model rdInteger ${ns}::rdInteger ${scobj_hpath} @@ -462,12 +517,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_ hsetprop ${scobj_hpath}/aux/model nxalias "${name}_aux_model" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/aux/decimal 2 - ${sct_controller} poll ${scobj_hpath}/aux/instatus 2 ${sct_controller} poll ${scobj_hpath}/aux/model 2 } else { ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" } + hsetprop ${scobj_hpath}/aux data "false" + hsetprop ${scobj_hpath}/aux klass "@none" + hsetprop ${scobj_hpath}/aux type "part" hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5 diff --git a/site_ansto/instrument/config/source/reactor_status_sct.tcl b/site_ansto/instrument/config/source/reactor_status_sct.tcl index acb06bab..5c1d482a 100644 --- a/site_ansto/instrument/config/source/reactor_status_sct.tcl +++ b/site_ansto/instrument/config/source/reactor_status_sct.tcl @@ -228,6 +228,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula set scobj_hpath /sics/${name} + hfactory ${scobj_hpath}/cg123 plain spy float hsetprop ${scobj_hpath}/cg123 control true hsetprop ${scobj_hpath}/cg123 data true @@ -239,6 +240,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath}/cg123 type "part" hsetprop ${scobj_hpath}/cg123 nxalias "${name}_cg123" + hfactory ${scobj_hpath}/cns_out plain spy float hsetprop ${scobj_hpath}/cns_out control true hsetprop ${scobj_hpath}/cns_out data true @@ -250,6 +252,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath}/cns_out type "part" hsetprop ${scobj_hpath}/cns_out nxalias "${name}_cns_out" + hfactory ${scobj_hpath}/power plain spy float hsetprop ${scobj_hpath}/power control true hsetprop ${scobj_hpath}/power data true @@ -261,6 +264,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath}/power type "part" hsetprop ${scobj_hpath}/power nxalias "${name}_power" + hfactory ${scobj_hpath}/status plain spy text hsetprop ${scobj_hpath}/status read ${ns}::getState ${scobj_hpath} rdAll {GET /Bragg/proposal/reactor.jsp?type=ALL} hsetprop ${scobj_hpath}/status rdAll ${ns}::rdAll ${scobj_hpath} @@ -273,6 +277,13 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath}/status type "part" hsetprop ${scobj_hpath}/status nxalias "${name}_status" + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/status 30 + } else { + ::scobj::reactor_status::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for reactor_status" + } + + hfactory ${scobj_hpath}/tg123 plain spy float hsetprop ${scobj_hpath}/tg123 control true hsetprop ${scobj_hpath}/tg123 data true @@ -284,6 +295,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath}/tg123 type "part" hsetprop ${scobj_hpath}/tg123 nxalias "${name}_tg123" + hfactory ${scobj_hpath}/tg4 plain spy float hsetprop ${scobj_hpath}/tg4 control true hsetprop ${scobj_hpath}/tg4 data true @@ -299,12 +311,6 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} type "part" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/status 30 - } else { - ::scobj::reactor_status::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for reactor_status" - } hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} debug_threshold 5