import ch.psi.pshell.epics.ControlledVariable as ControlledVariable phase = ControlledVariable("Phase", "SINEG01-RSYS:SET-VSUM-PHASE-SIM", "SINEG01-RSYS:GET-VSUM-PHASE-SIM") phase.config.minValue =-45.0 phase.config.maxValue = 360.0 phase.config.resolution = 0.5 #st = Stream("ICTstream", dispatcher) #q = st.addScalar("Charge", "SINEG01-DICT215:B1_CHARGE-SIM", 1, 0) #st.initialize() #st.start(True) q = Channel("SINEG01-DICT215:B1_CHARGE-SIM", type = 'd', alias='ICT-Q') if get_exec_pars().source == CommandSource.ui: start = 0.0 stop = 360.0 step = 5.0 nb = 1 lat = 0.005 else: start = args[0] stop = args[1] step = args[2] nb = int(args[3]) lat = args[4] r = lscan(ao1, ai1, start, stop, step, latency=lat) #Setting the return value #set_return(50.0) y = r.getReadable(0) x = r.getPositions(0) index_max = y.index(max(y)) phase_ref = x[index_max] set_return(phase_ref)