blm = "S10DI01-DBLM045" channels = ["S10DI01-DWSC010:CURR_CYCL","S10CB02-DBPM420:X1","S10DI01-DWSC010:SCANNING",blm+":WS_RUNNING", \ "S10CB02-DBPM420:Y1","S10DI01-DBLM015:B1_LOSS","S10CB02-DBPM420:Q1","S10BD01-DBPM020:Q1","S10DI01-DWSC010:ENC_1_BS", \ "S10BD01-DBPM020:X1","S10BD01-DBPM020:Y1",blm+":B1_LOSS",get_beam_ok_channel(bunch=1)] blm = "SARCL02-DBLM135" channels =[blm+":B1_LOSS", blm+":WS_RUNNING", "SARCL01-DWSC160:CURR_CYCL","SARCL01-DWSC160:SCANNING","SARCL02-DBPM110:Q1","SARCL02-DBPM110:X1", ,"SARCL01-DBPM150:Y1","SARCL01-DBPM150:X1","SARCL01-DWSC160:ENC_1_BS","SARCL02-DBPM110:Y1",\ "SARCL01-DBPM150:Q1",get_beam_ok_channel(bunch=1), #"SARCL02-DBLM355:B1_LOSS" , ] st1 = Stream("st1", dispatcher) add_device(st1, force = True) for channel in channels: st1.addScalar(channel, channel, 10, 0) st1.initialize() st1.start(True) try: #bscan (st1, 10, title="bscan") #tscan (st1.getReadables(), 10, 1, title="tscan") x = st1.take() start_blm_ws(blm, 55.5) #TODO: Wait for stream variable indicate bllm is in ws mode print "Waiting for WS mode..." #time.sleep(SET_BLM_WS_SETTLING_TIME) st1.getChild(blm+":WS_RUNNING").waitValue(1, SET_BLM_WS_BS_READBACK_TIMEOUT) print "Ok" finally: stop_blm_ws(blm) st1.close()