47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
#Parameters:
|
|
SCAN_RANGE = [-13.5, -13.4]
|
|
SCAN_TIME = 10.0
|
|
|
|
STREAM_SCALARS = ['SAROP11-CVME-PBPS1:Lnk9Ch11-DATA-SUM']
|
|
STREAM_WAVEFORMS = ['SAROP11-CVME-PBPS1:Lnk9Ch11-DATA-CALIBRATED', 'SAROP11-CVME-PBPS1:Lnk9Ch11-BG-DATA-CALIBRATED']
|
|
EPICS_CHANELS = ['SARES11-XSAM125:MOTOR_X1.RBV', 'SARES11-XSAM125:MOTOR_Y1.RBV', 'SARES11-XSAM125:MOTOR_Z1.RBV']
|
|
|
|
MOTOR = motor_x1
|
|
|
|
|
|
|
|
#Create the beam synchronous Stream
|
|
stream = Stream("PID", dispatcher)
|
|
modulo, offset = 10,0
|
|
for name in STREAM_SCALARS:
|
|
stream.addScalar(name, name, modulo, offset )
|
|
plot_types = {}
|
|
for name in STREAM_WAVEFORMS:
|
|
stream.addWaveform(name, name, modulo, offset )
|
|
plot_types[name]=1
|
|
stream.initialize()
|
|
stream.start()
|
|
|
|
#Creare channels
|
|
channels = []
|
|
for name in EPICS_CHANELS:
|
|
channel = Channel(name, 'd')
|
|
channel.monitored= True
|
|
channels.append(channel)
|
|
|
|
#Setup motor
|
|
velocity = abs(float(SCAN_RANGE[1]-SCAN_RANGE[0])) / SCAN_TIME
|
|
MOTOR.setSpeed(MOTOR.defaultSpeed)
|
|
MOTOR.move(float(SCAN_RANGE[0]))
|
|
MOTOR.setSpeed(float(velocity) )
|
|
|
|
#Wait stream to be active
|
|
stream.waitCacheChange(10000)
|
|
|
|
#Trigger motor move an start sampling
|
|
MOTOR.moveAsync(float(SCAN_RANGE[1]))
|
|
try:
|
|
mscan(stream, stream.getReadables() + channels, -1, SCAN_TIME, plot_types=plot_types)
|
|
finally:
|
|
stream.close()
|
|
MOTOR.setSpeed(MOTOR.defaultSpeed) |