循环器 (Looper)
条件循环执行器——根据测量结果自动决定是否重复或切换实验。
概述
Looper 是 QGroupBox 内的条件循环控制面板。它管理实验任务组,根据每次运行的测量结果自动判断是否继续循环或切换下一组任务。
核心逻辑
开始循环
└─→ 运行当前组任务
└─→ 读取测量结果
├─ 满足条件 → 继续循环当前组
└─ 不满足 → 切换到下一组
组件
| 组件 | 说明 |
|---|---|
groupDict | 循环组字典,每组合多个任务 |
DataManager | 管理测量结果数据 |
LoopManager | 控制循环逻辑和条件判断 |
AutoSaveEditor | 自动 HDF5 保存计划配置 |
LedIndicator | 循环运行状态指示灯 |
用法
# 在 PrepStation 中构建循环组后推入 Looper
looper.add_group("优化组", tasks=[task1, task2])
looper.add_group("测量组", tasks=[task3])
looper.set_condition("优化组.信号 > 阈值 → 切换到测量组")
looper.start()