循环器 (Looper)

条件循环执行器——根据测量结果自动决定是否重复或切换实验。

概述

LooperQGroupBox 内的条件循环控制面板。它管理实验任务组,根据每次运行的测量结果自动判断是否继续循环或切换下一组任务。

核心逻辑

开始循环
  └─→ 运行当前组任务
       └─→ 读取测量结果
            ├─ 满足条件 → 继续循环当前组
            └─ 不满足 → 切换到下一组

组件

组件说明
groupDict循环组字典,每组合多个任务
DataManager管理测量结果数据
LoopManager控制循环逻辑和条件判断
AutoSaveEditor自动 HDF5 保存计划配置
LedIndicator循环运行状态指示灯

用法

# 在 PrepStation 中构建循环组后推入 Looper
looper.add_group("优化组", tasks=[task1, task2])
looper.add_group("测量组", tasks=[task3])
looper.set_condition("优化组.信号 > 阈值 → 切换到测量组")
looper.start()