Files
dev/script/import/import2.py
2018-04-17 12:05:48 +02:00

56 lines
1.9 KiB
Python
Executable File

#Script imported from: test2.xml
#Variables
var1 = 0.0
#TODO: Set the diplay names of positioners and detectors
scan = ManualScan(['id643271', 'id278043'], ['id348623', 'id367393'] , [0.0, 0.0], [5.0, 31.0], [5, 31])
scan.start()
#Creating channels: dimension 1
#LinearPositioner id643271
id643271 = Channel('TESTIOC:TESTCALC:MyCalc', type = 'd')
#Creating channels: dimension 2
#LinearPositioner id278043
id278043 = Channel('TESTIOC:TESTCALCOUT:Input', type = 'd')
#ScalarDetector id348623
id348623 = Channel('TESTIOC:TESTCALCOUT:Output', type = 'd')
#ScalarDetector id367393
id367393 = Channel('TESTIOC:TESTSINUS:SinCalc', type = 'd')
#Dimension 1
#LinearPositioner id643271
for setpoint1 in frange(0.0, 5.0, 1.0, True):
if setpoint1 > 5.0 or setpoint1 < 0.0:
break
id643271.put(setpoint1, timeout=None) # TODO: Set appropriate timeout
readback1 = id643271.get()
if abs(readback1 - setpoint1) > 0.5 : # TODO: Check accuracy
raise Exception('Actor id643271 could not be set to the value ' + str(setpoint1))
#Dimension 2
#LinearPositioner id278043
for setpoint2 in frange(0.0, 31.0, 1.0, True):
if setpoint2 > 31.0 or setpoint2 < 0.0:
break
id278043.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
readback2 = id278043.get()
if abs(readback2 - setpoint2) > 0.5 : # TODO: Check accuracy
raise Exception('Actor id278043 could not be set to the value ' + str(setpoint2))
#Dimension Actions
#Script action
#TODO: Move, if needed, this import to the file header: import time
time.sleep(0.01)
#Detector id348623
detector1 = id348623.get()
#Detector id367393
detector2 = id367393.get()
scan.append ([setpoint1, setpoint2], [readback1, readback2], [detector1, detector2])
#Closing channels
id278043.close()
id348623.close()
id367393.close()
id643271.close()
scan.end()