一台几百万的稀释制冷机,随机的资料里翻不到 LabVIEW 驱动这一项。这不等于它接不进来——真正要先搞清楚的,是这台机器到底把哪几层开放给了外面。接错层,比接不上更麻烦。
第一 这套装置在做什么
稀释制冷机是低温实验室的底座,靠氦-3 在氦-4 里跨相界吸热做功,把样品送到 10 mK 以下——这个温区别的办法到不了。一套免液氦的系统大致分三块:杜瓦与冷头、气体处理系统(连着脉管制冷机的压缩机)、控制单元。
温度这一端归温度控制器管:8 路温度通道,电阻式测温能测到 10 mK 以下,激励电流范围 100 pA 到 10 µA,电阻量程 0.1 Ω 到 1.2 MΩ;4 路加热器,每路最高 1.2 W,可以手动给功率,也可以绑到某一路温度通道上做闭环。
实验真正的需求从来不是"降到最低温",而是沿着一条温度轨迹把测量跑完:先降到多少、稳多久、升到多少再测一遍。温度是自变量,源表、纳伏表、锁相放大器、磁体电源是跟着它走的因变量。要让这两拨设备对齐,就得有人来编排,这个人通常是 LabVIEW。
第二 硬件怎么搭,LabVIEW 站在哪
硬件链路拆成三层看,分工就清楚了:
- 气路层:气体处理系统里的阀门、泵、压缩机,由厂家自己的控制软件管。老机型的随机软件支持脚本控制,接口是厂家私有的。
- 测温与加热层:温度控制器自带触摸屏,也提供内部 web 服务器,对外是以太网接口,支持 REST、WebSocket、MQTT。厂商说明里写得很直白——任何支持这几种协议的语言都能写控制脚本。
- 测量层:源表、纳伏表、锁相放大器、磁体电源。这一层是现成 LabVIEW 驱动最密集的地方,几乎是即插即用。
LabVIEW 的位置因此很清楚:它不做冷源控制器,它做编排者。从温度控制器读温度、给加热器下目标值,再把温度当成触发条件,去驱动测量层那一串仪器。
第三 关键设计点:三条路线,和一条不要碰的红线
真正卡住人的不是"有没有驱动",是"这台机器开放到哪一层"。按机型年份,路线上有得选:
路线一:走温度控制器的对外接口。静态状态用 REST 取,温度流用 WebSocket 订阅,跨设备联动用 MQTT。LabVIEW 这边用 HTTP 客户端或 TCP 节点就能接,不需要任何厂商提供的 VI。这是最干净的一条,也是新机型的首选。
路线二:走控制软件的远程接口。2022 年 6 月那个版本之后,控制软件支持远程调用:能设温度、读温度,还能把温度值直接当成控制脚本里的控制点和触发点,历史数据也能取出来。适合"按温度分段跑流程"的长实验。
路线三:老机型既没有温度控制器也没有对外接口。那就退到只读——把制冷机当成一个"环境温度"而不是"可编程设备":读控制软件落盘的日志文件,用采集卡回读模拟量,只在 LabVIEW 里做监视和记录。功能少,但不会出事。
那条红线是:不要去接管气路阀门。混合气体回路的阀门顺序一旦搞错,轻则堵管路,重则整机回温拆检——回温一次动辄一两天,实验排期全废。这部分的安全联锁留在厂家软件里,LabVIEW 只订阅它的状态,不写它的阀门。
一句话记住:制冷机负责造低温,温控器负责稳温度,LabVIEW 负责排流程。
第四 几个值得抄的细节
- 温度要订阅,不要轮询。WebSocket 推过来的数据流比定时查询省事,也更容易对齐时间戳;轮询采样率选高了白占带宽,选低了会漏掉温度跳变。
- 每条温度都要带时间戳和状态位。光有数值不够——加热器是不是在闭环、通道有没有超限,这些状态决定了这个数能不能用。
- 加热器功率上限先写进配置。1.2 W 是每路的上限,实际能加到多少要看热负载和样品,别让脚本把它当成默认值。
- 断网要有降级策略。与控制软件之间的链路断了,LabVIEW 应该停在当前一步而不是继续往下走——低温实验最怕的是"程序以为温度到了"。
- 激励量程别乱设。100 pA 到 10 µA 之间差五个数量级,设大了自热,设小了信噪比不够,两个方向都会把温度读歪。
第五 这套做法能搬到哪里
把"稀释制冷机"这个规模剥掉,剩下的是一条通用经验:遇到一台没有驱动的贵重设备,先问它把哪一层开放出来了,而不是急着找驱动。
- 有对外接口的设备,LabVIEW 用通用协议接,比等厂商给 VI 快,也不受 LabVIEW 版本升级的牵连。
- 老设备没有接口就退到只读,把"可编程"这件事交给它旁边的温控仪和测量仪器。
- 凡是涉及安全联锁的部分,留在设备自己的软件里。这一条在任何装置上都成立——能读就不写,能订阅就不控制。
这套分层思路换个场合照样成立:真空系统里的泵与阀门、磁体电源的电流爬升、高温炉的升温曲线,结构都是"设备自己管安全,上位机管编排"。