diff --git a/script/tests/tests/Collimator Tests/Motor Test 2/Motor Test 2.py b/script/tests/tests/Collimator Tests/Motor Test 2/Motor Test 2.py index c920e17..87e2085 100644 --- a/script/tests/tests/Collimator Tests/Motor Test 2/Motor Test 2.py +++ b/script/tests/tests/Collimator Tests/Motor Test 2/Motor Test 2.py @@ -15,45 +15,56 @@ scan = ManualScan(['idX'], ['idMotorStatus', 'idLogicalPosition', 'idDiameter', scan.start() #Creating channels: dimension 1 -##################### beginning of A###################### -#RegionPositioner idInkr -#idInkr = 0 #= Channel(DEVICE+':INKR:2', type = 'd') -idInkr = 0 #= Channel(DEVICE+':MOTOR.VAL', type = 'd') -#ScalarDetector idMotorStatus -#idMotorStatus = 0 #= Channel(DEVICE+':STA:1', type = 'd') -idMotorStatus = 0 #= Channel(DEVICE+':MOTOR.MSTA', type = 'd') -#ScalarDetector idLogicalPosition -#idLogicalPosition = 0 #= Channel(DEVICE+':IST:2', type = 'd') -idLogicalPosition = 0 #= Channel(DEVICE+':MOTOR.RVAL', type = 'd') -#ScalarDetector idDiameter -#idDiameter = 0 #= Channel(DEVICE+':DIAM:2', type = 'd') -idDiameter = 0 #= Channel(DEVICE+':ENCODERoff', type = 'd') -#ScalarDetector idMotorPosition -#idMotorPosition = 0 #= Channel(DEVICE+':IST1:2', type = 'd') -idMotorPosition = 0 #= Channel(DEVICE+':MOTOR.RBV', type = 'd') -#ScalarDetector idPotiRaw -#idPotiRaw = 0 #= Channel(DEVICE+':POSA:1', type = 'd') -idPotiRaw = 0 #= Channel(DEVICE+':ENCODERraw', type = 'd') -#ScalarDetector idPotiProc -#idPotiProc = 0 #= Channel(DEVICE+':POSA:2', type = 'd') -idPotiProc = 0 #= Channel(DEVICE+':ENCODER', type = 'd') -#ScalarDetector idBtvsRaw -#idBtvsRaw = 0 #= Channel(DEVICE+':IST3:1', type = 'd') -idBtvsRaw = 0 #= Channel(DEVICE+':MOTOR.LLS', type = 'd') -#ScalarDetector idBtvsProc -#idBtvsProc = 0 #= Channel(DEVICE+':IST3:2', type = 'd') -idBtvsProc = 0 #= Channel(DEVICE+':MOTOR.HLS', type = 'd') -#ScalarDetector idEndSwitchL -#idBtvsRaw = 0 #= Channel(DEVICE+':IST3:1', type = 'd') -idEndSwitchL = 0 #= Channel(DEVICE+':MOTOR.LLS', type = 'd') -#ScalarDetector idEndSwitchH -#idBtvsProc = 0 #= Channel(DEVICE+':IST3:2', type = 'd') -idEndSwitchH = 0 #= Channel(DEVICE+':MOTOR.HLS', type = 'd') -#high position limit -idLimitH = 0 #= Channel(DEVICE+':MOTOR.HLM', type = 'd') -#low position limit -idLimitL = 0 #= Channel(DEVICE+':MOTOR.LLM', type = 'd') -######################## end of A #################### +try + #RegionPositioner idInkr + #idInkr = Channel(DEVICE+':INKR:2', type = 'd') + idInkr = Channel(DEVICE+':MOTOR.VAL', type = 'd') + #ScalarDetector idMotorStatus + #idMotorStatus = Channel(DEVICE+':STA:1', type = 'd') + idMotorStatus = Channel(DEVICE+':MOTOR.MSTA', type = 'd') + #ScalarDetector idLogicalPosition + #idLogicalPosition = Channel(DEVICE+':IST:2', type = 'd') + idLogicalPosition = Channel(DEVICE+':MOTOR.RVAL', type = 'd') + #ScalarDetector idDiameter + #idDiameter = Channel(DEVICE+':DIAM:2', type = 'd') + idDiameter = Channel(DEVICE+':ENCODERoff', type = 'd') + #ScalarDetector idMotorPosition + #idMotorPosition = Channel(DEVICE+':IST1:2', type = 'd') + idMotorPosition = Channel(DEVICE+':MOTOR.RBV', type = 'd') + #ScalarDetector idPotiRaw + #idPotiRaw = Channel(DEVICE+':POSA:1', type = 'd') + idPotiRaw = Channel(DEVICE+':ENCODERraw', type = 'd') + #ScalarDetector idPotiProc + #idPotiProc = Channel(DEVICE+':POSA:2', type = 'd') + idPotiProc = Channel(DEVICE+':ENCODER', type = 'd') + #ScalarDetector idBtvsRaw + #idBtvsRaw = Channel(DEVICE+':IST3:1', type = 'd') + idBtvsRaw = Channel(DEVICE+':MOTOR.LLS', type = 'd') + #ScalarDetector idBtvsProc + #idBtvsProc = Channel(DEVICE+':IST3:2', type = 'd') + idBtvsProc = Channel(DEVICE+':MOTOR.HLS', type = 'd') + #ScalarDetector idEndSwitchL + #idBtvsRaw = Channel(DEVICE+':IST3:1', type = 'd') + idEndSwitchL = Channel(DEVICE+':MOTOR.LLS', type = 'd') + #ScalarDetector idEndSwitchH + #idBtvsProc = Channel(DEVICE+':IST3:2', type = 'd') + idEndSwitchH = Channel(DEVICE+':MOTOR.HLS', type = 'd') + #high position limit + idLimitH = Channel(DEVICE+':MOTOR.HLM', type = 'd') + #low position limit + idLimitL = Channel(DEVICE+':MOTOR.LLM', type = 'd') + +except: + print "Unexpected error:", sys.exc_info()[0] + ret = 'Unable to create channel - ' + traceback.format_exc() + success = False + raise + sys.exit() + +#remove limits +idLimitH.put(999999.9, timeout=None) +idLimitL.put(-999999.9, timeout=None) + #Dimension 1 direction = 1.0 middle = 40.0 @@ -63,10 +74,8 @@ endDefault = middle + span end = endDefault+1 #find position: it will be the middle point of the test loopTimes = 5 -################### beginning of B ################## -idInkr = middle #idInkr.put(middle, timeout=None) -start = idInkr #start = idInkr.get()+direction -################### end of B ################## +idInkr.put(mid, timeout=None) # TODO: Set appropriate timeout +start = idInkr.get()+direction countSteps = 0 count = 0 @@ -76,37 +85,32 @@ for setpoint1 in range(0, loopTimes): #RegionPositioner idInkr for setpoint2 in frange(start, end, direction): readback1 = setpoint1 - ################### beginning of C ################## - idInkr = setpoint2 # idInkr.put(setpoint2, timeout=None) # TODO: Set appropriate timeout + idInkr.put(setpoint2, timeout=None) # TODO: Set appropriate timeout sleep( 0.2 ) # Settling time - readback2 = idInkr # readback2 = idInkr.get() - ################### end of C ################## + readback2 = idInkr.get() if abs(readback2 - setpoint2) > 1 : # TODO: Check accuracy ret = 'Actor idInkr could not be set to the value ' + str(setpoint2) + ' (current value: ' + str(readback2) + ')' success = False raise Exception(ret) #Detector idMotorStatus - ################### beginning of D ################## - detector1 = idMotorStatus + detector1 = idMotorStatus.get() #Detector idLogicalPosition - idLogicalPosition = readback2 - detector2 = idLogicalPosition + detector2 = idLogicalPosition.get() #Detector idDiameter - detector3 = idDiameter + detector3 = idDiameter.get() #Detector idMotorPosition - detector4 = idMotorPosition + detector4 = idMotorPosition.get() #Detector idPotiRaw - detector5 = idPotiRaw + detector5 = idPotiRaw.get() #Detector idPotiProc - detector6 = idPotiProc + detector6 = idPotiProc.get() #Detector idBtvsRaw - detector7 = idBtvsRaw + detector7 = idBtvsRaw.get() #Detector idBtvsProc - detector8 = idBtvsProc + detector8 = idBtvsProc.get() #end switches - endH = idEndSwitchH - endL = idEndSwitchL - ################### end of D ################## + endH = idEndSwitchH.get() + endL = idEndSwitchL.get() #Manipulation idDiff02 #Variable Mappings a = detector4 @@ -118,7 +122,6 @@ for setpoint1 in range(0, loopTimes): b = detector6 idDiff01 = a-b countSteps = countSteps + 1 - print str(setpoint2) scan.append ([countSteps], [countSteps], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, idDiff02, idDiff01]) if endH>0.0 or (direction > 0.0 and setpoint2 >= end -1): #invert direction and swap start with end of translation @@ -135,12 +138,20 @@ for setpoint1 in range(0, loopTimes): print 'End of span (' + str(setpoint2) + '), changing direction to ' + str(direction) break - -################### beginning of E ################## - #set limits back +idLimitH.put(145.0, timeout=None) +idLimitL.put(0.0, timeout=None) -################### end of E ################## +#Closing channels +idInkr.close() +idMotorStatus.close() +idLogicalPosition.close() +idDiameter.close() +idMotorPosition.close() +idPotiRaw.close() +idPotiProc.close() +idBtvsRaw.close() +idBtvsProc.close() scan.end() ret = 'Slide moved back and forth (' + str(count) + ' runs)'