From a1b88236c985bfcf0922743fedc5f67e49ac4f88 Mon Sep 17 00:00:00 2001 From: Leonardo Sala Date: Fri, 2 Jun 2017 14:25:23 +0200 Subject: [PATCH] Script execution --- script/Bpm6ParallelScan.py | 42 +++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/script/Bpm6ParallelScan.py b/script/Bpm6ParallelScan.py index a052196..b21790e 100644 --- a/script/Bpm6ParallelScan.py +++ b/script/Bpm6ParallelScan.py @@ -4,6 +4,7 @@ TEST = False if TEST: set_exec_pars(path="/sls/X12SA/data/x12saop/Data10/bpm/{date}_{time}_{name}") + #rel_x = pico_bpm6_new_x.read() rel_x = pico_bpm6_ts_x.read() @@ -18,25 +19,52 @@ class SensorXAxis(ReadableArray): return len(self.x) #only reads if cache is None -def scan(sensor): +def fixed_samples_scan(sensor, samples): x_axis = SensorXAxis(sensor) set_device_alias(x_axis, sensor.name+"_x_axis") - #mscan(sensor, [sensor, x_axis], 100, title = sensor.name) # 100 samples - mscan(sensor, [sensor, x_axis], -1, 2.0) #Samples for 2s - #tscan([sensor, x_axis], 10, 0.1) #10 samples every 0.1s - -sensors = [pico_bpm6_ts_sumall, pico_bpm6_ts_cur1, pico_bpm6_ts_cur2, pico_bpm6_ts_cur3, pico_bpm6_ts_cur4] + r = mscan(sensor, [sensor, x_axis], samples, title = sensor.name) + set_attribute( r.group, "Sensor", sensor.channelName) + set_attribute( r.group, "Scan Type", "Fixed samples: " + str(samples)) + +def fixed_time_scan(sensor, time): + x_axis = SensorXAxis(sensor) + set_device_alias(x_axis, sensor.name+"_x_axis") + r = mscan(sensor, [sensor, x_axis], -1, time) + set_attribute( r.group, "Sensor", sensor.channelName) + set_attribute( r.group, "Scan Type", "Fixed time: " + str(time)) + +def time_interval_scan(sensor, samples, interval): + x_axis = SensorXAxis(sensor) + set_device_alias(x_axis, sensor.name+"_x_axis") + r = tscan([sensor, x_axis], samples, interval) + set_attribute( r.group, "Sensor", sensor.channelName) + set_attribute( r.group, "Scan Type", "Time interval samples: " + str(samples) + " interval:" + str(interval)) + + +sensors = [pico_bpm6_ts_sumall, pico_bpm6_ts_cur1, pico_bpm6_ts_cur2, pico_bpm6_ts_cur3, pico_bpm6_ts_cur4] setup_plotting(line_plots = sensors, plot_list =sensors ) + +caputq ("X12SA-OP-BPM6:TS:TSAcquire", 1) for sensor in sensors: sensor.setMonitored(True) caput ("X12SA-ES1-TTL:OUT_02", "HIGH") + try: - parallelize([scan, [pico_bpm6_ts_sumall]], [scan, [pico_bpm6_ts_cur1]], [scan, [pico_bpm6_ts_cur2]], [scan, [pico_bpm6_ts_cur3]], [scan, [pico_bpm6_ts_cur4]]) + time_interval_scan(pico_bpm6_ts_sumall, 10, 0.2) + samples = 10 + parallelize([fixed_samples_scan, [pico_bpm6_ts_sumall, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur1, samples]], \ + [fixed_samples_scan, [pico_bpm6_ts_cur2, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur3, samples]], \ + [fixed_samples_scan, [pico_bpm6_ts_cur4, samples]]) + time = 1.00 + parallelize([fixed_time_scan, [pico_bpm6_ts_sumall, time]], [fixed_time_scan, [pico_bpm6_ts_cur1, time]], \ + [fixed_time_scan, [pico_bpm6_ts_cur2, time]], [fixed_time_scan, [pico_bpm6_ts_cur3, time]], \ + [fixed_time_scan, [pico_bpm6_ts_cur4, time]]) finally: for sensor in sensors: sensor.setMonitored(False) caput ("X12SA-ES1-TTL:OUT_02", "LOW") + caputq ("X12SA-OP-BPM6:TS:TSAcquire", 0)