Regenerate knauer_pump.sct
This commit is contained in:
@ -147,8 +147,8 @@ proc ::scobj::knauer_pump::flow_fetch {tc_root nextState cmd_str} {
|
||||
# flow_fetch hook code starts
|
||||
set data [hgetpropval ${tc_root}/dummy/status real_data]
|
||||
set dlist [split ${data} ","]
|
||||
set flow [lindex ${dlist} 4]
|
||||
sct result [expr {0.001 * ${flow}}]
|
||||
set flow_pv [lindex ${dlist} 4]
|
||||
sct result [expr {0.001 * ${flow_pv}}]
|
||||
set cmd "@@NOSEND@@"
|
||||
# flow_fetch hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
@ -248,12 +248,12 @@ proc ::scobj::knauer_pump::ratios_check {tc_root} {
|
||||
set hilimit [sct target]
|
||||
}
|
||||
# ratios_check hook code starts
|
||||
set ratios [split ${setpoint} /]
|
||||
if { [llength ${ratios}] != 4 } {
|
||||
sct geterror "${setpoint} has [llength ${ratios}] components, needs 4"
|
||||
set rlist [split ${setpoint} /]
|
||||
if { [llength ${rlist}] != 4 } {
|
||||
sct geterror "${setpoint} has [llength ${rlist}] components, needs 4"
|
||||
error [sct geterror]
|
||||
}
|
||||
set sum [expr [lindex ${ratios} 0] + [lindex ${ratios} 1] + [lindex ${ratios} 2] + [lindex ${ratios} 3]]
|
||||
set sum [expr [lindex ${rlist} 0] + [lindex ${rlist} 1] + [lindex ${rlist} 2] + [lindex ${rlist} 3]]
|
||||
if { ${sum} != 100 } {
|
||||
sct geterror "sum is ${sum}, must be 100"
|
||||
error [sct geterror]
|
||||
@ -278,8 +278,8 @@ proc ::scobj::knauer_pump::ratios_fetch {tc_root nextState cmd_str} {
|
||||
# ratios_fetch hook code starts
|
||||
set data [hgetpropval ${tc_root}/dummy/status real_data]
|
||||
set dlist [split ${data} ","]
|
||||
set ratios "[lindex ${dlist} 5]/[lindex ${dlist} 6]/[lindex ${dlist} 7]/[lindex ${dlist} 8]"
|
||||
sct result ${ratios}
|
||||
set ratio_vals "[lindex ${dlist} 5]/[lindex ${dlist} 6]/[lindex ${dlist} 7]/[lindex ${dlist} 8]"
|
||||
sct result ${ratio_vals}
|
||||
set cmd "@@NOSEND@@"
|
||||
# ratios_fetch hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
@ -451,6 +451,82 @@ proc ::scobj::knauer_pump::setValue {tc_root nextState cmd_str} {
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to request the read of a parameter on a device
|
||||
proc ::scobj::knauer_pump::state_fetch {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "state_fetch tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set cmd "${cmd_str}"
|
||||
# state_fetch hook code starts
|
||||
set index 1
|
||||
set data [hgetpropval ${tc_root}/dummy/status real_data]
|
||||
set dlist [split ${data} ","]
|
||||
set state_code [lindex ${dlist} ${index}]
|
||||
set cmd "@@NOSEND@@"
|
||||
if { ${state_code} < 0 || ${state_code} > 9 } {
|
||||
sct geterror "Invalid device_state ${state_code}"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
set slist [list "SYS_ST_INITIALIZING" \
|
||||
"SYS_ST_OFF" \
|
||||
"SYS_ST_IDLE" \
|
||||
"SYS_ST_RUN" \
|
||||
"SYS_ST_HOLD" \
|
||||
"SYS_ST_PURGE" \
|
||||
"SYS_ST_STANDBY" \
|
||||
"SYS_ST_FAILED" \
|
||||
"SYS_ST_RUNATEND" \
|
||||
]
|
||||
sct result [lindex ${slist} ${state_code}]
|
||||
# state_fetch hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
debug_log ${tc_root} 1 "state_fetch sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to request the read of a parameter on a device
|
||||
proc ::scobj::knauer_pump::status_fetch {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "status_fetch tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set cmd "${cmd_str}"
|
||||
# status_fetch hook code starts
|
||||
set index 1
|
||||
set data [hgetpropval ${tc_root}/dummy/status real_data]
|
||||
set dlist [split ${data} ","]
|
||||
set status_code [lindex ${dlist} ${index}]
|
||||
set cmd "@@NOSEND@@"
|
||||
if { ${status_code} == 3 } {
|
||||
sct result "PUMPING"
|
||||
} else {
|
||||
sct result "IDLE"
|
||||
}
|
||||
# status_fetch hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
debug_log ${tc_root} 1 "status_fetch sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to request the read of a parameter on a device
|
||||
proc ::scobj::knauer_pump::volume_checkpumping {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
@ -469,10 +545,9 @@ proc ::scobj::knauer_pump::volume_checkpumping {tc_root nextState cmd_str} {
|
||||
set sp "[sct target]"
|
||||
set pv "[hval ${tc_root}/[sct driveable]]"
|
||||
if { (${sp} - ${pv}) <= [sct tolerance] } {
|
||||
set flow 0
|
||||
set ratios [hval ${tc_root}/ratios/setpoint]
|
||||
set ratios [join [split ${ratios} /] ,]
|
||||
set cmd "RAMP:0,${flow},${ratios},0,0,0,0,0,0,0,0,2"
|
||||
set flow_tgt 0
|
||||
set ratio_tgt [join [split [hval ${tc_root}/pump/ratio_sp] /] ,]
|
||||
set cmd "RAMP:0,${flow_tgt},${ratio_tgt},0,0,0,0,0,0,0,0,2"
|
||||
set nextState noResponse
|
||||
sct pumping 0
|
||||
}
|
||||
@ -539,17 +614,17 @@ proc ::scobj::knauer_pump::volume_fetch {tc_root nextState cmd_str} {
|
||||
if { [llength ${dlist}] > 11 } {
|
||||
set pump_volm [lindex ${dlist} 10]
|
||||
set pump_voln [lindex ${dlist} 11]
|
||||
set volume [expr {${pump_volm} + 0.000001 * ${pump_voln}}]
|
||||
set pump_volume [expr {${pump_volm} + 0.000001 * ${pump_voln}}]
|
||||
} else {
|
||||
set volume 0.0
|
||||
set pump_volume 0.0
|
||||
}
|
||||
sct raw_volume ${volume}
|
||||
sct raw_volume ${pump_volume}
|
||||
if { [hpropexists [sct] base_volume] } {
|
||||
set volume [expr {${volume} - [sct base_volume]}]
|
||||
set pump_volume [expr {${pump_volume} - [sct base_volume]}]
|
||||
} else {
|
||||
sct base_volume [sct raw_volume]
|
||||
}
|
||||
sct result ${volume}
|
||||
sct result ${pump_volume}
|
||||
set cmd "@@NOSEND@@"
|
||||
# volume_fetch hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
@ -571,10 +646,9 @@ proc ::scobj::knauer_pump::volume_halt {tc_root} {
|
||||
debug_log ${tc_root} 1 "volume_halt tc_root=${tc_root} sct=[sct] driving=[sct driving]"
|
||||
### TODO hset [sct] [hval [sct]]
|
||||
# volume_halt hook code starts
|
||||
set flow 0
|
||||
set ratios [hval ${tc_root}/ratios/setpoint]
|
||||
set ratios [join [split ${ratios} /] ,]
|
||||
set cmd "RAMP:0,${flow},${ratios},0,0,0,0,0,0,0,0,2"
|
||||
set flow_tgt 0
|
||||
set ratio_tgt [join [split [hval ${tc_root}/pump/ratio_sp] /] ,]
|
||||
set cmd "RAMP:0,${flow_tgt},${ratio_tgt},0,0,0,0,0,0,0,0,2"
|
||||
sct send ${cmd}
|
||||
# volume_halt hook code ends
|
||||
sct driving 0
|
||||
@ -595,10 +669,9 @@ proc ::scobj::knauer_pump::volume_write {tc_root nextState cmd_str} {
|
||||
# volume_write hook code starts
|
||||
hsetprop ${tc_root}/[sct driveable] base_volume [hgetpropval ${tc_root}/[sct driveable] raw_volume]
|
||||
hset ${tc_root}/[sct driveable] 0.0
|
||||
set flow [expr {int(1000.0 * [hval ${tc_root}/flow/setpoint])}]
|
||||
set ratios [hval ${tc_root}/ratios/setpoint]
|
||||
set ratios [join [split ${ratios} /] ,]
|
||||
set cmd "RAMP:0,${flow},${ratios},0,0,0,0,0,0,0,0,3"
|
||||
set flow_tgt [expr {int(1000.0 * [hval ${tc_root}/pump/flow_sp])}]
|
||||
set ratio_tgt [join [split [hval ${tc_root}/pump/ratio_sp] /] ,]
|
||||
set cmd "RAMP:0,${flow_tgt},${ratio_tgt},0,0,0,0,0,0,0,0,3"
|
||||
sct pumping 1
|
||||
# volume_write hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
@ -667,49 +740,6 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
::scobj::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/flow plain spy none
|
||||
hsetprop ${scobj_hpath}/flow data "true"
|
||||
hsetprop ${scobj_hpath}/flow klass "@none"
|
||||
hsetprop ${scobj_hpath}/flow type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/flow/sensor plain user float
|
||||
hsetprop ${scobj_hpath}/flow/sensor read ${ns}::flow_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/flow/sensor rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/flow/sensor control true
|
||||
hsetprop ${scobj_hpath}/flow/sensor data true
|
||||
hsetprop ${scobj_hpath}/flow/sensor mutable true
|
||||
hsetprop ${scobj_hpath}/flow/sensor nxsave true
|
||||
hsetprop ${scobj_hpath}/flow/sensor oldval 0.0
|
||||
hsetprop ${scobj_hpath}/flow/sensor klass "parameter"
|
||||
hsetprop ${scobj_hpath}/flow/sensor sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/flow/sensor type "part"
|
||||
hsetprop ${scobj_hpath}/flow/sensor units "mL/min"
|
||||
hsetprop ${scobj_hpath}/flow/sensor nxalias "${name}_flow_sensor"
|
||||
|
||||
hfactory ${scobj_hpath}/flow/setpoint plain user float
|
||||
hsetprop ${scobj_hpath}/flow/setpoint write ${ns}::flow_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/flow/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/flow/setpoint check ${ns}::checkrange ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/flow/setpoint control true
|
||||
hsetprop ${scobj_hpath}/flow/setpoint data true
|
||||
hsetprop ${scobj_hpath}/flow/setpoint mutable true
|
||||
hsetprop ${scobj_hpath}/flow/setpoint nxsave true
|
||||
hsetprop ${scobj_hpath}/flow/setpoint lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/flow/setpoint upperlimit 10
|
||||
hsetprop ${scobj_hpath}/flow/setpoint oldval 0.0
|
||||
hsetprop ${scobj_hpath}/flow/setpoint klass "parameter"
|
||||
hsetprop ${scobj_hpath}/flow/setpoint sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/flow/setpoint type "part"
|
||||
hsetprop ${scobj_hpath}/flow/setpoint units "mL/min"
|
||||
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::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/glp plain spy none
|
||||
hsetprop ${scobj_hpath}/glp data "true"
|
||||
hsetprop ${scobj_hpath}/glp klass "@none"
|
||||
@ -982,43 +1012,146 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
::scobj::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/ratios plain spy none
|
||||
hsetprop ${scobj_hpath}/ratios data "true"
|
||||
hsetprop ${scobj_hpath}/ratios klass "@none"
|
||||
hsetprop ${scobj_hpath}/ratios type "part"
|
||||
hfactory ${scobj_hpath}/pump plain spy none
|
||||
hsetprop ${scobj_hpath}/pump data "true"
|
||||
hsetprop ${scobj_hpath}/pump klass "@none"
|
||||
hsetprop ${scobj_hpath}/pump type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/ratios/sensor plain user text
|
||||
hsetprop ${scobj_hpath}/ratios/sensor read ${ns}::ratios_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/ratios/sensor rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/ratios/sensor control true
|
||||
hsetprop ${scobj_hpath}/ratios/sensor data true
|
||||
hsetprop ${scobj_hpath}/ratios/sensor mutable true
|
||||
hsetprop ${scobj_hpath}/ratios/sensor nxsave true
|
||||
hsetprop ${scobj_hpath}/ratios/sensor oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/ratios/sensor klass "parameter"
|
||||
hsetprop ${scobj_hpath}/ratios/sensor sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/ratios/sensor type "part"
|
||||
hsetprop ${scobj_hpath}/ratios/sensor units "percent"
|
||||
hsetprop ${scobj_hpath}/ratios/sensor nxalias "${name}_ratios_sensor"
|
||||
hfactory ${scobj_hpath}/pump/flow_pv plain user float
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv read ${ns}::flow_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv control true
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv data true
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv mutable true
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv oldval 0.0
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv type "part"
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv units "mL/min"
|
||||
hsetprop ${scobj_hpath}/pump/flow_pv nxalias "${name}_pump_flow_pv"
|
||||
|
||||
hfactory ${scobj_hpath}/ratios/setpoint plain user text
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint write ${ns}::ratios_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint check ${ns}::ratios_check ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint control true
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint data true
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint mutable true
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint nxsave true
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint klass "parameter"
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint type "part"
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint units "percent"
|
||||
hsetprop ${scobj_hpath}/ratios/setpoint nxalias "${name}_ratios_setpoint"
|
||||
hfactory ${scobj_hpath}/pump/flow_sp plain user float
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp write ${ns}::flow_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp check ${ns}::checkrange ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp control true
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp data true
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp mutable true
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp upperlimit 10
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp oldval 0.0
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp type "part"
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp units "mL/min"
|
||||
hsetprop ${scobj_hpath}/pump/flow_sp nxalias "${name}_pump_flow_sp"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/ratio_pv plain user text
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv read ${ns}::ratios_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv control true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv data true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv mutable true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv type "part"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv units "percent"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_pv nxalias "${name}_pump_ratio_pv"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/ratio_sp plain user text
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp write ${ns}::ratios_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp check ${ns}::ratios_check ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp control true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp data true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp mutable true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp type "part"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp units "percent"
|
||||
hsetprop ${scobj_hpath}/pump/ratio_sp nxalias "${name}_pump_ratio_sp"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/state plain user text
|
||||
hsetprop ${scobj_hpath}/pump/state read ${ns}::state_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/state rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/state control true
|
||||
hsetprop ${scobj_hpath}/pump/state data true
|
||||
hsetprop ${scobj_hpath}/pump/state mutable true
|
||||
hsetprop ${scobj_hpath}/pump/state nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/state oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/pump/state klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/state sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/state type "part"
|
||||
hsetprop ${scobj_hpath}/pump/state nxalias "${name}_pump_state"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/status plain user text
|
||||
hsetprop ${scobj_hpath}/pump/status read ${ns}::status_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/status rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/status control true
|
||||
hsetprop ${scobj_hpath}/pump/status data true
|
||||
hsetprop ${scobj_hpath}/pump/status mutable true
|
||||
hsetprop ${scobj_hpath}/pump/status nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/status oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/pump/status klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/status sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/status type "part"
|
||||
hsetprop ${scobj_hpath}/pump/status nxalias "${name}_pump_status"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/volume_pv plain user float
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv read ${ns}::volume_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv control true
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv data true
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv mutable true
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv oldval 0.0
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv type "part"
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv units "mL"
|
||||
hsetprop ${scobj_hpath}/pump/volume_pv nxalias "${name}_pump_volume_pv"
|
||||
|
||||
hfactory ${scobj_hpath}/pump/volume_sp plain user float
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp read ${ns}::volume_checkpumping ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp write ${ns}::volume_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp check ${ns}::checkrange ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp driving 0
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp checklimits ${ns}::checklimits ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp checkstatus ${ns}::volume_checkstatus ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp halt ${ns}::volume_halt ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp driveable pump/volume_pv
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp control true
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp data true
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp mutable true
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp nxsave true
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp upperlimit 100
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp tolerance 0.01
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp oldval 0.0
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp klass "parameter"
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp type "drivable"
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp units "mL"
|
||||
hsetprop ${scobj_hpath}/pump/volume_sp nxalias "${name}_pump_volume_sp"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/ratios/sensor 1
|
||||
${sct_controller} write ${scobj_hpath}/ratios/setpoint
|
||||
${sct_controller} poll ${scobj_hpath}/pump/flow_pv 1
|
||||
${sct_controller} poll ${scobj_hpath}/pump/ratio_pv 1
|
||||
${sct_controller} poll ${scobj_hpath}/pump/state 1
|
||||
${sct_controller} poll ${scobj_hpath}/pump/status 1
|
||||
${sct_controller} poll ${scobj_hpath}/pump/volume_pv 1
|
||||
${sct_controller} poll ${scobj_hpath}/pump/volume_sp 1
|
||||
${sct_controller} write ${scobj_hpath}/pump/flow_sp
|
||||
${sct_controller} write ${scobj_hpath}/pump/ratio_sp
|
||||
${sct_controller} write ${scobj_hpath}/pump/volume_sp
|
||||
} else {
|
||||
::scobj::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
@ -1300,19 +1433,18 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/stuff plain spy none
|
||||
hsetprop ${scobj_hpath}/stuff data "true"
|
||||
hsetprop ${scobj_hpath}/stuff data "false"
|
||||
hsetprop ${scobj_hpath}/stuff klass "@none"
|
||||
hsetprop ${scobj_hpath}/stuff type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/stuff/an_out plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/an_out read ${ns}::getValue ${scobj_hpath} rdValue {AN_OUT?}
|
||||
hsetprop ${scobj_hpath}/stuff/an_out rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/an_out control true
|
||||
hsetprop ${scobj_hpath}/stuff/an_out data true
|
||||
hsetprop ${scobj_hpath}/stuff/an_out control false
|
||||
hsetprop ${scobj_hpath}/stuff/an_out data false
|
||||
hsetprop ${scobj_hpath}/stuff/an_out mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/an_out nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/an_out nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/an_out oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/an_out klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/an_out sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/an_out type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/an_out nxalias "${name}_stuff_an_out"
|
||||
@ -1320,12 +1452,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/boardinfo plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo read ${ns}::getValue ${scobj_hpath} rdValue {BOARDINFO?}
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo control true
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo data true
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo control false
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo data false
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/boardinfo nxalias "${name}_stuff_boardinfo"
|
||||
@ -1333,12 +1464,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/config plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/config read ${ns}::getValue ${scobj_hpath} rdValue {CONFIG?}
|
||||
hsetprop ${scobj_hpath}/stuff/config rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/config control true
|
||||
hsetprop ${scobj_hpath}/stuff/config data true
|
||||
hsetprop ${scobj_hpath}/stuff/config control false
|
||||
hsetprop ${scobj_hpath}/stuff/config data false
|
||||
hsetprop ${scobj_hpath}/stuff/config mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/config nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/config nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/config oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/config klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/config sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/config type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/config nxalias "${name}_stuff_config"
|
||||
@ -1346,12 +1476,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/cprofinfo plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo read ${ns}::getValue ${scobj_hpath} rdValue {CPROFINFO?}
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo control true
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo data true
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo control false
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo data false
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/cprofinfo nxalias "${name}_stuff_cprofinfo"
|
||||
@ -1359,12 +1488,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/dout plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/dout read ${ns}::getValue ${scobj_hpath} rdValue {DOUT?}
|
||||
hsetprop ${scobj_hpath}/stuff/dout rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/dout control true
|
||||
hsetprop ${scobj_hpath}/stuff/dout data true
|
||||
hsetprop ${scobj_hpath}/stuff/dout control false
|
||||
hsetprop ${scobj_hpath}/stuff/dout data false
|
||||
hsetprop ${scobj_hpath}/stuff/dout mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/dout nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/dout nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/dout oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/dout klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/dout sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/dout type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/dout nxalias "${name}_stuff_dout"
|
||||
@ -1372,12 +1500,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/error plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/error read ${ns}::getValue ${scobj_hpath} rdValue {ERROR?}
|
||||
hsetprop ${scobj_hpath}/stuff/error rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/error control true
|
||||
hsetprop ${scobj_hpath}/stuff/error data true
|
||||
hsetprop ${scobj_hpath}/stuff/error control false
|
||||
hsetprop ${scobj_hpath}/stuff/error data false
|
||||
hsetprop ${scobj_hpath}/stuff/error mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/error nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/error nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/error oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/error klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/error sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/error type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/error nxalias "${name}_stuff_error"
|
||||
@ -1385,12 +1512,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/errors plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/errors read ${ns}::getValue ${scobj_hpath} rdValue {ERRORS?}
|
||||
hsetprop ${scobj_hpath}/stuff/errors rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/errors control true
|
||||
hsetprop ${scobj_hpath}/stuff/errors data true
|
||||
hsetprop ${scobj_hpath}/stuff/errors control false
|
||||
hsetprop ${scobj_hpath}/stuff/errors data false
|
||||
hsetprop ${scobj_hpath}/stuff/errors mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/errors nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/errors nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/errors oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/errors klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/errors sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/errors type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/errors nxalias "${name}_stuff_errors"
|
||||
@ -1398,12 +1524,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/flushpmp plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp read ${ns}::getValue ${scobj_hpath} rdValue {FLUSHPMP?}
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp control true
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp data true
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp control false
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp data false
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/flushpmp nxalias "${name}_stuff_flushpmp"
|
||||
@ -1411,12 +1536,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/head plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/head read ${ns}::getValue ${scobj_hpath} rdValue {HEAD?}
|
||||
hsetprop ${scobj_hpath}/stuff/head rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/head control true
|
||||
hsetprop ${scobj_hpath}/stuff/head data true
|
||||
hsetprop ${scobj_hpath}/stuff/head control false
|
||||
hsetprop ${scobj_hpath}/stuff/head data false
|
||||
hsetprop ${scobj_hpath}/stuff/head mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/head nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/head nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/head oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/head klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/head sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/head type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/head nxalias "${name}_stuff_head"
|
||||
@ -1424,12 +1548,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/head_par plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/head_par read ${ns}::getValue ${scobj_hpath} rdValue {HEAD_PAR?}
|
||||
hsetprop ${scobj_hpath}/stuff/head_par rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/head_par control true
|
||||
hsetprop ${scobj_hpath}/stuff/head_par data true
|
||||
hsetprop ${scobj_hpath}/stuff/head_par control false
|
||||
hsetprop ${scobj_hpath}/stuff/head_par data false
|
||||
hsetprop ${scobj_hpath}/stuff/head_par mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/head_par nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/head_par nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/head_par oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/head_par klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/head_par sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/head_par type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/head_par nxalias "${name}_stuff_head_par"
|
||||
@ -1437,12 +1560,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/identify plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/identify read ${ns}::getValue ${scobj_hpath} rdValue {IDENTIFY?}
|
||||
hsetprop ${scobj_hpath}/stuff/identify rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/identify control true
|
||||
hsetprop ${scobj_hpath}/stuff/identify data true
|
||||
hsetprop ${scobj_hpath}/stuff/identify control false
|
||||
hsetprop ${scobj_hpath}/stuff/identify data false
|
||||
hsetprop ${scobj_hpath}/stuff/identify mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/identify nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/identify nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/identify oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/identify klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/identify sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/identify type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/identify nxalias "${name}_stuff_identify"
|
||||
@ -1450,12 +1572,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/lpg plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/lpg read ${ns}::getValue ${scobj_hpath} rdValue {LPG?}
|
||||
hsetprop ${scobj_hpath}/stuff/lpg rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/lpg control true
|
||||
hsetprop ${scobj_hpath}/stuff/lpg data true
|
||||
hsetprop ${scobj_hpath}/stuff/lpg control false
|
||||
hsetprop ${scobj_hpath}/stuff/lpg data false
|
||||
hsetprop ${scobj_hpath}/stuff/lpg mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/lpg nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/lpg nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/lpg oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/lpg klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/lpg sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/lpg type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/lpg nxalias "${name}_stuff_lpg"
|
||||
@ -1463,12 +1584,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/oem plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/oem read ${ns}::getValue ${scobj_hpath} rdValue {OEM?}
|
||||
hsetprop ${scobj_hpath}/stuff/oem rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/oem control true
|
||||
hsetprop ${scobj_hpath}/stuff/oem data true
|
||||
hsetprop ${scobj_hpath}/stuff/oem control false
|
||||
hsetprop ${scobj_hpath}/stuff/oem data false
|
||||
hsetprop ${scobj_hpath}/stuff/oem mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/oem nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/oem nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/oem oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/oem klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/oem sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/oem type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/oem nxalias "${name}_stuff_oem"
|
||||
@ -1476,12 +1596,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/opt plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/opt read ${ns}::getValue ${scobj_hpath} rdValue {OPT?}
|
||||
hsetprop ${scobj_hpath}/stuff/opt rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/opt control true
|
||||
hsetprop ${scobj_hpath}/stuff/opt data true
|
||||
hsetprop ${scobj_hpath}/stuff/opt control false
|
||||
hsetprop ${scobj_hpath}/stuff/opt data false
|
||||
hsetprop ${scobj_hpath}/stuff/opt mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/opt nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/opt nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/opt oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/opt klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/opt sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/opt type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/opt nxalias "${name}_stuff_opt"
|
||||
@ -1489,12 +1608,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/plim plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/plim read ${ns}::getValue ${scobj_hpath} rdValue {PLIM?}
|
||||
hsetprop ${scobj_hpath}/stuff/plim rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/plim control true
|
||||
hsetprop ${scobj_hpath}/stuff/plim data true
|
||||
hsetprop ${scobj_hpath}/stuff/plim control false
|
||||
hsetprop ${scobj_hpath}/stuff/plim data false
|
||||
hsetprop ${scobj_hpath}/stuff/plim mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/plim nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/plim nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/plim oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/plim klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/plim sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/plim type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/plim nxalias "${name}_stuff_plim"
|
||||
@ -1502,12 +1620,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/pressure plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/pressure read ${ns}::getValue ${scobj_hpath} rdValue {PRESSURE?}
|
||||
hsetprop ${scobj_hpath}/stuff/pressure rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/pressure control true
|
||||
hsetprop ${scobj_hpath}/stuff/pressure data true
|
||||
hsetprop ${scobj_hpath}/stuff/pressure control false
|
||||
hsetprop ${scobj_hpath}/stuff/pressure data false
|
||||
hsetprop ${scobj_hpath}/stuff/pressure mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/pressure nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/pressure nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/pressure oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/pressure klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/pressure sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/pressure type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/pressure nxalias "${name}_stuff_pressure"
|
||||
@ -1515,12 +1632,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/prfastacq plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq read ${ns}::getValue ${scobj_hpath} rdValue {PRFASTACQ?}
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq control true
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq data true
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq control false
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq data false
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/prfastacq nxalias "${name}_stuff_prfastacq"
|
||||
@ -1528,12 +1644,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/purge plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/purge read ${ns}::getValue ${scobj_hpath} rdValue {PURGE?}
|
||||
hsetprop ${scobj_hpath}/stuff/purge rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/purge control true
|
||||
hsetprop ${scobj_hpath}/stuff/purge data true
|
||||
hsetprop ${scobj_hpath}/stuff/purge control false
|
||||
hsetprop ${scobj_hpath}/stuff/purge data false
|
||||
hsetprop ${scobj_hpath}/stuff/purge mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/purge nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/purge nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/purge oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/purge klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/purge sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/purge type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/purge nxalias "${name}_stuff_purge"
|
||||
@ -1541,12 +1656,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/remote plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/remote read ${ns}::getValue ${scobj_hpath} rdValue {REMOTE?}
|
||||
hsetprop ${scobj_hpath}/stuff/remote rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/remote control true
|
||||
hsetprop ${scobj_hpath}/stuff/remote data true
|
||||
hsetprop ${scobj_hpath}/stuff/remote control false
|
||||
hsetprop ${scobj_hpath}/stuff/remote data false
|
||||
hsetprop ${scobj_hpath}/stuff/remote mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/remote nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/remote nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/remote oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/remote klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/remote sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/remote type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/remote nxalias "${name}_stuff_remote"
|
||||
@ -1554,12 +1668,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/rfid plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/rfid read ${ns}::getValue ${scobj_hpath} rdValue {RFID?}
|
||||
hsetprop ${scobj_hpath}/stuff/rfid rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/rfid control true
|
||||
hsetprop ${scobj_hpath}/stuff/rfid data true
|
||||
hsetprop ${scobj_hpath}/stuff/rfid control false
|
||||
hsetprop ${scobj_hpath}/stuff/rfid data false
|
||||
hsetprop ${scobj_hpath}/stuff/rfid mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/rfid nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/rfid nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/rfid oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/rfid klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/rfid sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/rfid type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/rfid nxalias "${name}_stuff_rfid"
|
||||
@ -1567,12 +1680,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/service plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/service read ${ns}::getValue ${scobj_hpath} rdValue {SERVICE?}
|
||||
hsetprop ${scobj_hpath}/stuff/service rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/service control true
|
||||
hsetprop ${scobj_hpath}/stuff/service data true
|
||||
hsetprop ${scobj_hpath}/stuff/service control false
|
||||
hsetprop ${scobj_hpath}/stuff/service data false
|
||||
hsetprop ${scobj_hpath}/stuff/service mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/service nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/service nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/service oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/service klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/service sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/service type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/service nxalias "${name}_stuff_service"
|
||||
@ -1580,12 +1692,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/sysinfo plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo read ${ns}::getValue ${scobj_hpath} rdValue {SYSINFO?}
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo control true
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo data true
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo control false
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo data false
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/sysinfo nxalias "${name}_stuff_sysinfo"
|
||||
@ -1593,12 +1704,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/units plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/units read ${ns}::getValue ${scobj_hpath} rdValue {UNITS?}
|
||||
hsetprop ${scobj_hpath}/stuff/units rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/units control true
|
||||
hsetprop ${scobj_hpath}/stuff/units data true
|
||||
hsetprop ${scobj_hpath}/stuff/units control false
|
||||
hsetprop ${scobj_hpath}/stuff/units data false
|
||||
hsetprop ${scobj_hpath}/stuff/units mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/units nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/units nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/units oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/units klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/units sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/units type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/units nxalias "${name}_stuff_units"
|
||||
@ -1606,12 +1716,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
hfactory ${scobj_hpath}/stuff/valves plain user text
|
||||
hsetprop ${scobj_hpath}/stuff/valves read ${ns}::getValue ${scobj_hpath} rdValue {VALVES?}
|
||||
hsetprop ${scobj_hpath}/stuff/valves rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/stuff/valves control true
|
||||
hsetprop ${scobj_hpath}/stuff/valves data true
|
||||
hsetprop ${scobj_hpath}/stuff/valves control false
|
||||
hsetprop ${scobj_hpath}/stuff/valves data false
|
||||
hsetprop ${scobj_hpath}/stuff/valves mutable true
|
||||
hsetprop ${scobj_hpath}/stuff/valves nxsave true
|
||||
hsetprop ${scobj_hpath}/stuff/valves nxsave false
|
||||
hsetprop ${scobj_hpath}/stuff/valves oldval UNKNOWN
|
||||
hsetprop ${scobj_hpath}/stuff/valves klass "parameter"
|
||||
hsetprop ${scobj_hpath}/stuff/valves sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/stuff/valves type "part"
|
||||
hsetprop ${scobj_hpath}/stuff/valves nxalias "${name}_stuff_valves"
|
||||
@ -1644,63 +1753,11 @@ proc ::scobj::knauer_pump::mkDriver { sct_controller name device_class simulatio
|
||||
} else {
|
||||
::scobj::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/volume plain spy none
|
||||
hsetprop ${scobj_hpath}/volume data "true"
|
||||
hsetprop ${scobj_hpath}/volume klass "@none"
|
||||
hsetprop ${scobj_hpath}/volume type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/volume/sensor plain user float
|
||||
hsetprop ${scobj_hpath}/volume/sensor read ${ns}::volume_fetch ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/volume/sensor rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/sensor control true
|
||||
hsetprop ${scobj_hpath}/volume/sensor data true
|
||||
hsetprop ${scobj_hpath}/volume/sensor mutable true
|
||||
hsetprop ${scobj_hpath}/volume/sensor nxsave true
|
||||
hsetprop ${scobj_hpath}/volume/sensor oldval 0.0
|
||||
hsetprop ${scobj_hpath}/volume/sensor klass "parameter"
|
||||
hsetprop ${scobj_hpath}/volume/sensor sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/volume/sensor type "part"
|
||||
hsetprop ${scobj_hpath}/volume/sensor units "mL"
|
||||
hsetprop ${scobj_hpath}/volume/sensor nxalias "${name}_volume_sensor"
|
||||
|
||||
hfactory ${scobj_hpath}/volume/setpoint plain user float
|
||||
hsetprop ${scobj_hpath}/volume/setpoint read ${ns}::volume_checkpumping ${scobj_hpath} rdValue { }
|
||||
hsetprop ${scobj_hpath}/volume/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint write ${ns}::volume_write ${scobj_hpath} noResponse { }
|
||||
hsetprop ${scobj_hpath}/volume/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint check ${ns}::checkrange ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint driving 0
|
||||
hsetprop ${scobj_hpath}/volume/setpoint checklimits ${ns}::checklimits ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint checkstatus ${ns}::volume_checkstatus ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint halt ${ns}::volume_halt ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/volume/setpoint driveable volume/sensor
|
||||
hsetprop ${scobj_hpath}/volume/setpoint control true
|
||||
hsetprop ${scobj_hpath}/volume/setpoint data true
|
||||
hsetprop ${scobj_hpath}/volume/setpoint mutable true
|
||||
hsetprop ${scobj_hpath}/volume/setpoint nxsave true
|
||||
hsetprop ${scobj_hpath}/volume/setpoint lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/volume/setpoint upperlimit 100
|
||||
hsetprop ${scobj_hpath}/volume/setpoint tolerance 0.01
|
||||
hsetprop ${scobj_hpath}/volume/setpoint oldval 0.0
|
||||
hsetprop ${scobj_hpath}/volume/setpoint klass "parameter"
|
||||
hsetprop ${scobj_hpath}/volume/setpoint sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/volume/setpoint type "drivable"
|
||||
hsetprop ${scobj_hpath}/volume/setpoint units "mL"
|
||||
hsetprop ${scobj_hpath}/volume/setpoint nxalias "${name}_volume_setpoint"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/volume/sensor 1
|
||||
${sct_controller} poll ${scobj_hpath}/volume/setpoint 1
|
||||
${sct_controller} write ${scobj_hpath}/volume/setpoint
|
||||
} else {
|
||||
::scobj::knauer_pump::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for knauer_pump"
|
||||
}
|
||||
hsetprop ${scobj_hpath} klass ${device_class}
|
||||
hsetprop ${scobj_hpath} data true
|
||||
hsetprop ${scobj_hpath} debug_threshold 0
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
ansto_makesctdrive ${name}_volume_setpoint ${scobj_hpath}/volume/setpoint ${scobj_hpath}/volume/sensor ${sct_controller}
|
||||
ansto_makesctdrive ${name}_pump_volume_sp ${scobj_hpath}/pump/volume_sp ${scobj_hpath}/pump/volume_pv ${sct_controller}
|
||||
}
|
||||
# mkDriver hook code goes here
|
||||
} catch_message ]
|
||||
|
Reference in New Issue
Block a user