Fermi chopper motors should ignore INT1712 interrupts.
Don't halt choppers just because someone tried to interrupt a scan. Also make slave chopper optional in mkFermiMotors.
This commit is contained in:
@@ -429,7 +429,11 @@ namespace eval ::chopper {
|
||||
|
||||
proc imot_SHalt {hpath node addr name} {
|
||||
global SCode
|
||||
# Don't halt the choppers just because someone tried to interrupt a scan.
|
||||
if { [GetInt] == "continue" } {
|
||||
hset $hpath/$node/control/stop 1
|
||||
hsetprop $hpath/$node abort 1
|
||||
}
|
||||
return $SCode(OKOK)
|
||||
}
|
||||
|
||||
@@ -533,7 +537,8 @@ namespace eval ::chopper {
|
||||
return $SCode(OKOK)
|
||||
}
|
||||
|
||||
proc stop {hpath node addr name} {
|
||||
# Speed motor stop
|
||||
proc Sstop {hpath node addr name} {
|
||||
global SCode
|
||||
hset $hpath/$node/control/stop 1
|
||||
hsetprop $hpath/$node abort 1
|
||||
@@ -558,7 +563,7 @@ proc mkFSpeedMot {fmot hdbroot chnode addr lowlim uplim} {
|
||||
setspeed "::chopper::setSpeed $hdbroot $chnode $addr"\
|
||||
permspd "::chopper::permSpd $hdbroot $chnode $addr"\
|
||||
start "::chopper::start $hdbroot $chnode $addr"\
|
||||
stop "::chopper::stop $hdbroot $chnode $addr"\
|
||||
stop "::chopper::Sstop $hdbroot $chnode $addr"\
|
||||
}]
|
||||
hsetprop $hdbroot/$chnode abort 0
|
||||
$fmot movecount 5000
|
||||
@@ -603,12 +608,17 @@ proc mkFPhaseMot {fmot hdbroot chnode addr lowlim uplim} {
|
||||
# @param slave, Slave chopper hdb node name
|
||||
# @param saddr, Slave chopper modbus address
|
||||
#proc mkFermiMotors {mSpdmot sSpdmot master maddr slave saddr} {
|
||||
proc mkFermiMotors {mSpdmot sSpdmot sPhmot master maddr slave saddr} {
|
||||
proc mkFermiMotors { mSpdmot master maddr {sSpdmot "EMPTY"} {sPhmot "EMPTY"} {slave "EMPTY"} {saddr "EMPTY"} } {
|
||||
if {$sSpdmot == "schs"} {
|
||||
# Make master and slave choppers
|
||||
set hdbPath [mkChoppers " $master $maddr $slave $saddr"]
|
||||
# Create Master Chopper Speed motor object
|
||||
mkFSpeedMot $mSpdmot $hdbPath $master $maddr -24000 24000
|
||||
mkFSpeedMot $sSpdmot $hdbPath $slave $saddr -24000 24000
|
||||
mkFPhaseMot $sPhmot $hdbPath $slave $saddr 0 180
|
||||
} else {
|
||||
set hdbPath [mkChoppers " $master $maddr"]
|
||||
}
|
||||
# Create Master Chopper Speed motor object
|
||||
mkFSpeedMot $mSpdmot $hdbPath $master $maddr -24000 24000
|
||||
}
|
||||
|
||||
mkFermiMotors mchs schs schp mch 1 sch 2
|
||||
mkFermiMotors mchs mch 2 schs schp sch 3
|
||||
|
||||
Reference in New Issue
Block a user