ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

BenchVue 3.5深度体验:仪器控制与自动化测试流程优化

BenchVue 3.5深度体验:仪器控制与自动化测试流程优化 最近测试组里聊得最多的一件事就是 BenchVue 3.5 这个版本更新。说实话BenchVue 在仪器控制和测试自动化这个领域不算什么新面孔但每次大版本更新总能牵动不少人的神经。这次 3.5 更新不只是修了几个 bug、改了几个图标它把“仪器控制”和“测试自动化”这两条主线又往深挖了一截。这篇文章我就从我自己的使用体验出发聊聊这次更新到底改了哪些东西、实际跑起来是什么感受、以及那些你在官方 Release Notes 里看不到的细节。适合谁来读这篇文章如果你平时用 Keysight 的示波器、万用表、电源、频谱仪这些设备或者你在搭自动化测试台架、写测试脚本、做产线数据记录那 BenchVue 3.5 这次更新跟你直接相关。就算你之前没怎么接触过这款软件只是听说过它能控制仪器这篇文章也可以帮你在几分钟内了解它到底能干什么、值不值得上手。1. 版本更新的核心思路从“单仪器工具”到“测试平台”的跨越1.1 为什么 BenchVue 能成为仪器控制的“入口”在聊 3.5 之前先得说清楚 BenchVue 这个软件在产品线里的角色。很多人第一次接触它是因为买了 Keysight 的示波器或台式万用表随机附赠了这张光盘或者一个下载链接。装完之后打开发现界面挺简洁左侧是仪器列表右侧是面板中间是数据表格感觉就是一个“电子仪器遥控器”。但如果你只在“遥控器”这个层面理解它就有点浪费了。BenchVue 真正的定位是把你桌面上的多台仪器统一到一个软件环境里。过去我们做测试桌面上一台示波器、一台电源、一台万用表三台设备三种操作逻辑示波器要拧旋钮找菜单万用表要按面板按键电源的编程又得翻手册查 SCPI 命令。当仪器数量少时还凑合一旦要搭一套带时序的自动化流程这种“物理操作”的方式就很难受了。BenchVue 解决的就是这个“割裂感”。它把仪器面板虚拟化通过 LAN、USB、GPIB 连上仪器后你可以在软件里直接配置电压、触发条件、采样率不用再弯腰趴在仪器前面按按钮。而且它自带数据的可视化、记录和导出功能很多常规测试根本不用额外写代码。3.5 版本在这个基础上做的是把“单仪器控制”的体验往“多仪器协同 自动化流程”的方向再推了一步。我个人的感觉是Keysight 现在不只是想把 BenchVue 做成一个工具而是在把它往一个轻量级测试平台的方向打造能让工程师在两小时内跑通一条测试链路不用去碰复杂的编程环境。1.2 3.5 版本更新重点方向解读我对照着这次更新的内容和自己实际跑下来的感受把 3.5 的核心更新方向总结成三条主线仪器连接层的增强对新型号仪器的支持是每次更新都有的例行内容但 3.5 这一版在连接管理上做了优化最直观的感受是仪器识别速度有提升而且在网络环境比较复杂的情况下比如仪器和电脑不在同一个子网连通的成功率比旧版本稳了不少。Test Flow测试流功能的补强这是 BenchVue 里我最看重的模块也是 3.5 升级的重头戏。Test Flow 简单理解就是把测试步骤用“搭积木”的方式组织成流程每一步可以调用一个仪器动作可以加判断条件、可以循环。3.5 版本在流程控制节点上做了扩展比如等待条件、变量比较、分支逻辑都比以前更好用了。应用软件间的协同管理BenchVue 这套软件支持通过插件方式集成专用的 App比如控制特定型号电源的专用面板、控制功率分析仪的专用工具。3.5 版本对 App 的管理界面做了整合安装、更新、版本兼容性检查都集中在一个入口不用再像以前那样到处找插件装。这三条线里对我来说最有价值的是 Test Flow 的补强因为它直接关系到测试自动化的落地效率。下面我会专门用一节来拆解它的实操。2. 核心功能拆解与实操要点2.1 仪器控制从扫描、识别到面板绑定的完整流程仪器控制是 BenchVue 的基本功但“基本功”不等于“没讲究”。3.5 在连接这一层的设计思路我实际用下来发现有几个细节很值得一提。先讲最基础的连接流程。打开软件后主界面有一个“仪器”区域软件会自动扫描当前电脑能访问到的仪器。扫描方式分两种一种是局域网自动发现这个依赖仪器开启了 VXI-11 或 mDNS 协议另一种是通过 VISAVirtual Instrument Software Architecture连接你需要指定仪器的地址比如 TCPIP0[192.168.1.100]:inst0[INSTR] 这种写法。我自己习惯用第二种方式因为在大规模实验室环境里自动发现会因为网络风暴或者仪器响应过慢而漏掉某些设备手动指定地址反而更可靠。3.5 版本在 VISA 地址的解析上做了一些优化以前偶尔出现的“仪器连上了但面板显示不了数据”的怪问题在这个版本里我暂时还没碰到过。连接成功之后你会看到仪器对应的面板卡片。点击卡片就能进入虚拟面板比如你连的是一台 DSOX 系列的示波器面板上会出现通道选择、垂直刻度、水平时基、触发设置这些核心控制项。这里有个很关键的体验BenchVue 的面板并不是简单做一下“仪器按钮的软件映射”它其实是对 SCPI 命令的封装。简单解释一下 SCPIStandard Commands for Programmable Instruments你可以把它理解成仪器的“语言”每台仪器都能听懂一串字符串命令比如:VOLT 5就是告诉电源把输出电压设为 5V:MEAS:VOLT:DC?是让万用表读取当前的直流电压。过去你要自己拼这些字符串还得翻手册找语法现在 BenchVue 把命令藏在了按钮和输入框后面。不过我要提个醒面板模式适合人机交互适合你临时配置仪器参数、看个波形、读个数值。但如果你想做自动化测试每一次操作都要重复成百上千次那就不能依赖手动点面板了得把操作固化到 Test Flow 里面去。2.2 Test Flow把测试步骤“逻辑化”的关键在 BenchVue 的模块体系里Test Flow 是让我对这款软件改观最大的功能。以前我觉得 BenchVue 就是个“软面板”但 Test Flow 让我意识到它其实可以承担一部分简单的自动化测试框架职能。Test Flow 的界面逻辑类似流程图编辑器左侧是节点库中间是画布右侧是属性配置区。你可以把“仪器连接”“读取测量值”“判断数值范围”“记录结果”这些节点拖到画布上连起来就变成了一个测试流程。3.5 版本新增或者加强的节点我个人比较关注的有几个等待/延迟节点有了更灵活的等待方式。你可以等固定时间也可以等待某个仪器状态满足条件。这个对电源上电、被测设备稳定这类时序要求很实用。数据比较与分支节点你可以把测量结果和一个上下限做比较然后根据比较结果走不同的分支。比如电压超过 5.5V 就跳到“失败处理”流程否则继续跑下一项测试。这让 Test Flow 不再是简单的“顺序执行”而是有了真正的逻辑判断能力。文件记录节点可以把测量数据追加写入到一个 CSV 或者 Excel 文件。这在产线测试里非常关键因为批量测试必须要有结构化的数据留底。如果你写过 Python 或者 C 的测试脚本会发现这些节点对应的就是time.sleep()、if...else...、file.write()这些基础语法。Test Flow 的价值在于它让你不写代码就完成这些逻辑而且修改流程的时候不用重新编译、不用处理代码格式问题拖一拖、连一连就改完了。我自己在实际项目里会把 Test Flow 用在一些“不太适合写代码”的场景。比如客户临时要做一个方案验证需求可能随时变今天测上限、明天测下限后天要加一个老化测试环节。如果用 Python 脚本每改一次需求就得改代码、调依赖用 Test Flow直接在画布上拖节点就行客户看着流程图也能理解测试逻辑沟通成本低了很多。2.3 数据记录与报表不能忽略的“最后一公里”做测试的人都知道测出数据只是第一步把数据整理成别人能看懂的报表才是真正耗时间的环节。BenchVue 在数据记录这块一直做得比较到位3.5 版本在导出和视图上有一些改进。在数据视图区域你可以实时看到仪器采集上来的数据。比如万用表一直在测电压表格里就会一行行吐出带时间戳的测量值。你可以把这些数据实时导出到 Excel 或者 CSV 文件也可以等测试跑完再统一导出。这里我要分享一个实操经验如果需要做长时间的数据记录比如 12 小时的老化测试不要只依赖 BenchVue 的界面表格来实时查看因为长时间运行后数据量大界面渲染会变慢甚至可能出现界面卡顿。更稳妥的做法是在 Test Flow 里配置“定时记录”节点让软件自动把数据写入文件然后你过几个小时看一眼文件大小确认数据在正常写入就够了。界面卡不卡不影响文件记录数据不会丢。3.5 的报表导出做得更顺手了你可以在表格区域直接选中所需要的数据区间右键导出也可以把测量数据的曲线图直接复制到剪贴板粘到工作报告里。导出格式支持 CSV、Excel、PDF 等基本能满足日常需求。3. 实操过程搭建一个完整的自动化测试序列3.1 场景设定与仪器配置说完了功能点我拿一个真实做过的场景把整个流程串一遍。这个场景很典型测试一个 DC-DC 电源模块需要验证它在不同输入电压下的输出电压精度。测试条件是输入电压分别设 3.3V、5V、12V 三档每档记录输出电压值判断输出电压是否在标称值 ±2% 范围内。仪器配置如下一台可编程直流电源给被测模块供电一台台式万用表测量输出电压被测 DC-DC 模块输入接电源输出接万用表按照传统方式你得手动设置电源电压、读万用表、记录数据、换电压、再读一遍、再记录……三组数据虽然不多但整个过程繁琐且容易抄错数据。用 BenchVue 的 Test Flow可以把这个过程固化成流程以后测别的批次直接重跑。3.2 在 Test Flow 中搭建测试步骤打开 Test Flow 编辑器后我按下面的步骤搭了一个流程第一步添加仪器连接节点。从左侧节点库拖入“电源”和“万用表”两个仪器节点分别选择已经连接好的仪器实例。这一步的作用是把物理仪器映射到流程里。如果后续流程里的节点要用哪台仪器直接引用这个映射就行。第二步添加电压设置节点。拖入电源的“设置电压”节点把电压值配成一个变量变量名我习惯叫input_voltage。初始值设为 3.3。这里用变量是一个好习惯后面要做循环或者批量修改参数的时候不用一个一个去改节点只改变量的值就够了。第三步添加等待节点。电源电压设置完成之后模块输出需要一点时间稳定下来。我在这里加了一个“等待”节点设置延迟 500 毫秒。不要在这个地方省时间电源输出有一个稳定过程响应太快会导致读到的数据飘。第四步添加测量节点。拖入万用表“测量电压”节点选择直流电压测量功能。节点会自动返回一个测量结果你给它命名比如vout。第五步添加判断节点。这一步是 3.5 里我觉得好用的地方。拖入“条件判断”节点设置条件为vout是否在期望电压 * 0.98和期望电压 * 1.02之间。期望电压这里你需要按照实际模块的设计值来填比如模块标称输出 3.3V那期望电压就是 3.3。判断节点有两个出口通过和失败。通过就继续下一步失败就记录到失败列表。第六步添加数据记录节点。把输入电压、输出电压、判断结果这三个字段写入一行 CSV 文件。字段之间用逗号分隔文件名按测试批次命名比如dcdc_test_20240117.csv。第七步添加循环节点。用“循环”节点把第二步到第六步包起来循环列表设为[3.3, 5, 12]每次循环把input_voltage变量更新为当前值。这样整个流程就会自动跑三遍分别测三档输入电压。整个流程搭完之后点击运行按钮软件就会自动执行。我的实测结果是三组数据从开始到记录完毕耗时不到 10 秒。如果手动操作从调电源到抄数据一组至少一分钟而且还有抄错的风险。3.3 参数设置的几个容易踩坑的细节上面这套流程搭起来不复杂但有几个参数细节新手容易忽略我单独拎出来说一下。万用表测量模式的设置Test Flow 里调用万用表测量之前最好显式设置测量功能为“直流电压”而不是依赖上一次的状态。因为如果上一次手动操作把它切到了电阻档流程跑起来测量结果就会是错的。好的习惯是在每个测量节点的前面加一个“配置测量功能”节点把档位、量程都固定下来。等待时间不要拍脑袋500ms 是我在这个场景里的经验值。如果你的电源建立时间标称是 20ms但你的负载模块带了大电容实际稳定时间可能是 200ms 甚至更长。稳妥的做法是先用示波器观察一下输出电压的建立波形确定稳定时间后再设置等待值。这个验证过程只需要几分钟但能避免大批量测试时出现数据偏移。文件写入的冲突问题如果你的 Test Flow 循环体里同时有多个地方写同一个 CSV 文件可能会遇到文件被占用或者写入交错的问题。我自己的做法是把文件写入统一放在流程的最末尾也就是所有循环结束后一次性写入全部结果。这样避免频繁开关文件也能降低因程序崩溃导致文件损坏的概率。这套流程跑通以后后面遇到类似的电源测试需求我只需要复制一份改一下电压列表和判断条件就可以了效率提升非常明显。4. 常见问题与排查技巧实录4.1 仪器连接不上的排查思路仪器连接是 BenchVue 使用里最容易出问题的环节而且很多问题跟软件本身关系不大更多是环境配置的问题。我把我遇到过的几类情况整理成了表格方便大家对照排查。现象可能原因解决办法自动扫描找不到仪器仪器和电脑不在同一网段手动输入 VISA 地址或将电脑 IP 改为与仪器同一网段连接时提示“无法找到 VISA 资源”VISA 驱动未安装或版本过旧安装最新版 Keysight IO Libraries Suite连接成功后面板数据不刷新仪器端远程接口模式设置不当检查仪器菜单确认 LAN/USB 接口模式处于“远程”或“自动”状态USB 连接不稳定经常掉线供电不足或驱动冲突换一个 USB 口尽量避免通过 USB Hub 连接我自己遇到过最诡异的一个问题是一台示波器用网线直连电脑IP 也调通了BenchVue 里也能看到仪器但一打开面板就卡死仪表显示一直转圈。后来排查了半天发现是电脑上的杀毒软件把 BenchVue 的网络通信拦截了一部分。解决办法是把 BenchVue 的安装目录加入杀毒软件的白名单搞定之后再没出现过卡死。所以如果你遇到“连接成功但反应异常慢”的情况别急着怀疑仪器先看一眼电脑的杀毒软件。4.2 许可证与版本兼容性问题3.5 版本升级之后有一个问题在论坛上讨论得比较多旧版本的许可证在升级后会不会失效。我的经验是如果你之前用的是单机版许可证升级之后一般还能正常使用但如果你是试用版或者订阅制许可证最好先去 License Manager 里检查一下状态。这里有个小技巧升级前把当前版本的许可证信息导出一份备份路径一般在帮助 - 关于 - 许可证信息里。万一升级后许可证出现异常可以直接导入备份省去重新申请的时间。版本兼容性方面BenchVue 3.5 对操作系统的要求不算苛刻Windows 10/11 都能跑但要注意 32 位系统已经不推荐了因为新版对内存占用更高32 位环境下长时间的测试流程容易内存不足。我工作室有一台老旧的 32 位 Win 7 电脑之前跑 BenchVue 3.0 还能凑合升级到 3.5 后明显吃力跑测试时界面卡顿最后只能放弃那台电脑换了一台 64 位的机器。4.3 Test Flow 运行失败的常见原因Test Flow 在运行过程中报错的概率不算高但一旦报错新手往往不知道怎么定位。我列几个最常见的仪器句柄失效当流程运行到一半仪器物理断开或者进入休眠状态节点对仪器的引用就失效了。解决办法是在流程开始时加一个“仪器自检”节点确认每台仪器都在线并且响应正常如果自检失败就直接停止流程避免后面一连串的错误。数据类型不匹配判断节点里比较两个值如果一个是字符串、一个是浮点数就会报类型错误。这个在从 CSV 或者面板读取数据时特别容易发生。好习惯是在比较之前用一个“数据转换”节点把值显式转换成数值类型。变量作用域理解偏差Test Flow 里变量是有作用域的循环里的局部变量在循环外访问不到。如果你在流程末尾想汇总循环内产生的数据记得在循环外先定义一个全局变量把数据填写到这个全局变量里。排查 Test Flow 报错最有效的方式其实是“分段跑”。把流程从中间断开先跑前半段确认前半段的数据正确了再接上后半段跑。虽然麻烦一点但定位问题比一次性跑完然后看着满屏报错干瞪眼要快得多。4.4 数据记录的一些避坑建议数据记录功能用久了我也积累了一些细节经验这里一并分享。第一CSV 文件命名不要用带冒号或斜杠的字符。Windows 系统下如果你在 Test Flow 里用时间戳作为文件名的一部分默认生成的格式可能含有系统时间分隔符这些字符在文件名里是非法字符会导致文件写入失败。安全的做法是先用“文本处理”节点把时间戳格式化成类似20240117_1530的纯数字形式。第二长时间记录时建议定期轮转文件。比如每 1 小时生成一个新的 CSV 文件避免单个文件过大。文件过大后打开和保存都会变慢极端情况下还会因为磁盘空间不足导致写入中断。加了文件轮转逻辑之后即使最后一天的文件出了问题之前的记录也都是完好的数据损失范围可控。第三如果你需要记录的数据包含波形或者趋势图建议同时使用 BenchVue 的截图功能定时把界面截图保存下来。波形图有些时候比数值更能说明问题特别是测试过程中如果出现瞬态异常数值表格可能只记录到一个跳变而波形截图能完整记录跳变的整个形态。5. 这套软件在实际项目里的扩展玩法5.1 结合外部编程环境做二次开发BenchVue 除了自身的图形化界面还提供了命令行和 API 接口这意味着你可以把它嵌入到自己的自动化体系中。我自己的做法是用 Python 通过 BenchVue 的远程接口控制仪器。具体来说BenchVue 可以作为一个“仪器服务层”Python 脚本通过它来读写仪器数据而不需要直接维护 VISA 连接。这样做的好处是你可以在 Python 里写复杂的业务逻辑、数据处理、报告生成同时利用 BenchVue 来做仪器的连接管理和底层通信。相当于你有两个选择要么直接用 Python 写 SCPI 命令控制仪器复杂、灵活、全代码要么用 BenchVue 的面板手动操作简单、上手快、但不够自动。两者结合就是取中间态用 BenchVue 做连接管理用 Python 做业务逻辑。5.2 在产线测试中的落地经验如果你在产线环境用 BenchVue我的建议是固定好仪器配置做好防呆设计。产线环境多台设备和多条测试工位最怕的就是某台工位的仪器被换乱了。BenchVue 有一个“测试台架”功能你可以把一套测试环境仪器组合、面板布局、Test Flow保存成一个台架文件。换工位或者换仪器之后直接加载台架文件可以快速恢复测试环境。另外一个产线常用的功能是限制操作员权限。3.5 版本在用户权限管理上做了增强你可以设置某些面板不可编辑只允许操作员点击“开始/停止”按钮避免误操作导致测试参数被改动。这个对产线的质量控制挺关键的建议动手配置一下。6. 最后再分享几个实操中积累的小技巧前面讲了很多功能拆解和案例最后补充几个不太引人注意但实际用起来很顺手的小技巧算是我自己在踩过坑之后总结出来的。第一个是关于界面的。BenchVue 界面可能会因为屏幕分辨率不同而出现元素显示不全的情况。如果你的电脑分辨率比较低建议把显示缩放改成 100%或者直接换一个高分屏否则流程图编辑器的拖拽体验会打折扣操作效率低不少。第二个是善用“向导”功能。BenchVue 里很多模块都自带配置向导比如“快速创建测试”“自动生成报表”。刚开始接触的朋友可以先用向导生成一个模板然后在模板基础上修改比自己从零开始拖节点要快很多。第三个是备份习惯。确保定期备份你的 Test Flow 和面板布局文件特别是你用了一段时间、配置了很多节点之后一旦文件损坏重搭一遍的代价会非常大。我一般是每周备份一次放到 NAS 或网盘上备份。第四个是关于键盘快捷键。编辑器里右键节点可以快速复制和删除用快捷键的效率远高于鼠标逐个拖拽。花 5 分钟熟悉一下快捷键长期下来能节省不少时间。回到 BenchVue 3.5 这次更新。说实话它并没有带来那种“翻天覆地”的变革更像是一次扎实的迭代——把该补的短板补上把常用的路径做得更顺滑。对于已经在这个生态里的用户升级基本是顺手的事对于还没入门的团队这一版也更容易上手尤其是 Test Flow 的逻辑增强让它真的可以替代一部分轻量级自动化测试框架的职责。我个人在实际操作中的体会是工具的价值不在于功能列表有多长而在于它能不能帮助你更高效地完成测试任务。BenchVue 3.5 在这件事上做到了。如果你手头正好有 Keysight 的仪器不妨花一个下午把这版更新装上照着上面的流程搭一个简单测试序列试试。很多问题跑一遍就有答案了。
返回列表