diff --git a/script/power-supply.py b/script/power-supply.py index e3868db..18935cf 100644 --- a/script/power-supply.py +++ b/script/power-supply.py @@ -1,64 +1,65 @@ -#Pre-actions -caput('PO2DV-NCS-VHQ1:Set-RampA', '10') -sleep(0.1) +def main(): + #Pre-actions + caput('PO2DV-NCS-VHQ1:Set-RampA', '10') + sleep(0.1) -#TODO: Set the diplay names of positioners and detectors -#ManualScan(writables, readables, start = None, end = None, steps = None, relative = False) -scan = ManualScan(['time'], ['SetVA', 'ActualVA', 'ActualIA'] , [0.0], [20.0], [10]) -scan.start() + #TODO: Set the diplay names of positioners and detectors + #ManualScan(writables, readables, start = None, end = None, steps = None, relative = False) + scan = ManualScan(['time'], ['SetVA', 'ActualVA', 'ActualIA'] , [0.0], [20.0], [10]) + scan.start() -#Creating channels: dimension 1 -#LinearPositioner SetVA -SetVA = Channel('PO2DV-NCS-VHQ1:Set-VA', type = 'd') -#Timestamp time -#ScalarDetector ActualVA -ActualVA = Channel('PO2DV-NCS-VHQ1:Actual-VA', type = 'd') -#ScalarDetector ActualIA -ActualIA = Channel('PO2DV-NCS-VHQ1:Actual-IA', type = 'd') + #Creating channels: dimension 1 + #LinearPositioner SetVA + SetVA = Channel('PO2DV-NCS-VHQ1:Set-VA', type = 'd') + #Timestamp time + #ScalarDetector ActualVA + ActualVA = Channel('PO2DV-NCS-VHQ1:Actual-VA', type = 'd') + #ScalarDetector ActualIA + ActualIA = Channel('PO2DV-NCS-VHQ1:Actual-IA', type = 'd') -#set voltage to 0 -print 'Ramping down power supply to 0V' -SetVA.put(0.0, timeout=None) + #set voltage to 0 + print 'Ramping down power supply to 0V' + SetVA.put(0.0, timeout=None) -#wait up to 2 minutes for voltage to be ~0 -for setpoint1 in frange(0.0, 120.0, 1.0, True): - detector2 = ActualVA.get() - if detector2 <= 1.0: - break - sleep(0.5) + #wait up to 2 minutes for voltage to be ~0 + for setpoint1 in frange(0.0, 120.0, 1.0, True): + detector2 = ActualVA.get() + if detector2 <= 1.0: + break + sleep(0.5) -#Dimension 1 -#LinearPositioner SetVA -print 'Ramping up power supply' -for setpoint1 in frange(0.0, 20.0, 10.0, True): - if setpoint1 > 50.0 or setpoint1 < 0.0: - break - SetVA.put(setpoint1, timeout=None) # TODO: Set appropriate timeout - readback1 = SetVA.get() - if abs(readback1 - setpoint1) > 0.5 : # TODO: Check accuracy - raise Exception('Actor SetVA could not be set to the value ' + str(setpoint1)) - #scan quickly the output during some seconds - for setpoint2 in range(0, 20): - #Detector time - detector1 = float(java.lang.System.currentTimeMillis()) - #Detector ActualVA - detector2 = ActualVA.get() - detector3 = ActualIA.get() - #scan.append ([setpoint1], [readback1], [detector1, detector2]) + #Dimension 1 + #LinearPositioner SetVA + print 'Ramping up power supply' + for setpoint1 in frange(0.0, 20.0, 10.0, True): + if setpoint1 > 50.0 or setpoint1 < 0.0: + break + SetVA.put(setpoint1, timeout=None) # TODO: Set appropriate timeout + readback1 = SetVA.get() + if abs(readback1 - setpoint1) > 0.5 : # TODO: Check accuracy + raise Exception('Actor SetVA could not be set to the value ' + str(setpoint1)) + #scan quickly the output during some seconds + for setpoint2 in range(0, 20): + #Detector time + detector1 = float(java.lang.System.currentTimeMillis()) + #Detector ActualVA + detector2 = ActualVA.get() + detector3 = ActualIA.get() + #scan.append ([setpoint1], [readback1], [detector1, detector2]) - #append(setpoints, positions, values) - scan.append ([detector1], [detector1], [readback1, detector2, detector3]) - sleep( 0.1 ) # Settling time + #append(setpoints, positions, values) + scan.append ([detector1], [detector1], [readback1, detector2, detector3]) + sleep( 0.1 ) # Settling time -#reset output to 0V -SetVA.put(0.0, timeout=None) -#Closing channels -SetVA.close() -ActualVA.close() -ActualIA.close() + #reset output to 0V + SetVA.put(0.0, timeout=None) + #Closing channels + SetVA.close() + ActualVA.close() + ActualIA.close() -scan.end() + scan.end() -sys.exit(0) \ No newline at end of file + return 1 \ No newline at end of file