← 文章

SMU Batch Runner:选个文件夹,剩下的交给它

2026-06-08 · 项目 · 3 min · #Python #PySide6 #自动化 #工具

起因

用源表(联讯 S3012H 这类)测一批样品时,最磨人的不是单次测量,而是重复:一个文件夹里几十组电压序列,要一个个加载、一个个跑、一个个存结果。守着仪器点一晚上,又困又容易点错。

之前我写过一版能用的脚本,但操作还是糙。这次我把它重做成了一个真正的批量自动化上位机——SMU Batch Runner,核心就一句话:选好文件夹,按下开始,剩下的它自己来。

SMU Batch Runner 界面

它解决了什么

批量测量。把装着测量序列的文件夹添加进来,它会一个个自动跑完——加载、测量、保存,全程不用守着。

任务队列。不止跑一个文件夹:可以把多组测量配置排成一条队列,按顺序依次执行。晚上排好,第二天来看结果。

断点续传。这是我特别在意的功能。一长批测量万一中途断了(仪器掉线、断电、手滑关掉),重新跑时它能从断的地方接着来,而不是从头再测一遍——对动辄几小时的批量任务,这能省下大量时间。

参数精细配置。电压量程、电流量程、电流保护、NPLC、采样率、源延迟、超时……该调的都能调,针对不同样品配好就行。

一键生成全图。整批测完,点一下把所有结果画成总览图,不用再自己一个个开文件画。

连接方式

支持两种连法:串口直连,或者 TCP/IP 网口(VISA 的 SOCKET 方式)。底层走 SCPI 指令,所以同系列的源表(S3012H / S3022F / S3002)都能用。

技术上

界面用 PySide6 重写,做了亮 / 暗主题。整体按"批量测量"和"任务队列"两个标签页组织,逻辑分层清楚:界面、任务模型、队列执行器分开。

这次我还特意给核心逻辑补了单元测试——任务模型、队列执行、模板生成都有对应的测试用例。批量自动化最怕的就是"跑到一半逻辑出错、结果全废",有测试兜着,心里踏实很多。

一点感想

从"能用的脚本"到"顺手的工具",中间隔着的全是细节:断点续传、参数记忆、任务排队、错误处理……这些不显眼,却决定了一个工具是被嫌弃地用一次,还是被天天依赖。

我越来越喜欢做这种"减少重复劳动"的工具——因为省下来的每一个晚上,都能拿去做更有意思的事。

#Python#PySide6#自动化#工具