Basler 的 ace 系列工业相机在 GigE、USB3、Camera Link 和线阵几个形态上都有,在 LabVIEW 里统一走 NI-IMAQdx 驱动。这台设备最容易卡住的地方不是调参,而是"MAX 里明明能看到这台相机,LabVIEW 里就是用不了"。
Basler ace 相机在检测工位取像,LabVIEW 通过 IMAQdx 抓图并做尺寸测量
01 这台设备怎么接进来
认相机靠的是 NI-IMAQdx,它属于 NI Vision Acquisition Software(VAS)。装好 VAS 之后相机要出现在 NI MAX 里,LabVIEW 里再用 IMAQdx 的会话、属性节点和取图函数开采集;这一支驱动同时支持 GigE Vision、USB3 和 1394 三种相机。
麻烦在于 Basler 相机出厂默认绑的是自己的 Pylon 驱动。相机插上电脑,Windows 的设备列表里看得到,MAX 里甚至也会多出一个条目,可它还不是 IMAQdx 的设备,LabVIEW 里就是不出现。
Camera Link 的相机(比如 acA200-340kc)走的是另一条链:相机接 NI 的采集卡(如 PCIe-1433),链路上还有采集卡自己的驱动,这种配置要保证 pylon 的 CL Configurator 能看到 NI 的卡。GigE 相机则可以不接 PC,直接挂到 cRIO 上采集,cRIO 上相关驱动是有的。
02 5 个具体问题与解法
- MAX 里看得见相机,LabVIEW 里用不了,那是驱动没切。MAX 里会出现一个 "Basler ace USB3 Vision Camera USB-0" 之类的条目,点它就报错。原因只有一个:相机还绑在 Basler 的 Pylon 驱动上,要在 MAX 里右键那台相机、把驱动改成 NI-IMAQdx。坑在操作过程:点右键的一瞬间会弹出错误框把你踢出去,得按 Esc 或连点两次 OK 才点得到菜单。
- 长时间跑下来报 -1074360293 或 -1074360217。前者出在 IMAQdx Get Image 2.vi,属于超时:两台 USB3 相机跑了四五个小时后其中一台超时、程序停住,重启错误照旧,可同一台相机在 Pylon 里正常,暂时只能关掉再重连。后者是"采集过程中出错,采集已终止",捕获不住,LabVIEW 直接弹框结束程序。两个错误的根因目前都没有公开的可靠结论。
- 图像出现斜纹或条纹,过一阵又自己好了,先怀疑过热。两台 acA1440-220um 跑一阵就出条纹,一两分钟后自行恢复,反复发生。相机厂商支持的答复是温度过高、这是保护动作,加了散热片之后确实好了。
- GigE 多台相机丢包,光降帧率没用。四台 acA2500-14gm 挤在一个网口上,图上出现黑线,那就是丢包。降帧率救不了,峰值数据率并没变;管带宽的是 Acquisition Attributes::DesiredPeakbandwidth,同时网卡和交换机都要支持 Jumbo Frame,包长开到 8 到 9k。
- 发一批触发,偶尔多回来一两张图。一台 acA2000-50gm 每次发 12 个触发,有时会多出一两张,原因是触发线上有噪声,用相机自带的 Line Debouncer 功能就解决了。
03 排查顺序:遇到问题按这个顺序走
- 先看驱动归属。在 MAX 里右键相机,确认它挂在 NI-IMAQdx 下;切不动就按 Esc 或连点两次 OK 再切,同时确认 VAS 装了。
- 再看链路。GigE 看 Jumbo Frame 和 DesiredPeakbandwidth;USB3 看是不是多台相机共用一张卡、总带宽有没有超——两张 USB3 相机接在同一张卡上、带宽合计超过上限时,应用会时不时丢图;Camera Link 看采集卡在设备管理器里是否正常,可以先禁用再启用,或者重启一次。
- 再看相机本身。斜纹、条纹而且是跑一阵才出现的,按过热处理,加散热片;触发多收图,开 Line Debouncer。一个很好用的对照是:同一台相机在 Pylon 里正常、在 IMAQdx 里不正常,就可以先把硬件这条线放掉,往驱动和属性去查。Ace 2 上写 Width / Height 报 -1074360304 这一类,目前没有公开的可靠解法。
- 最后才升级到厂商。像 -1074360278 这种"Unknown GigE Vision error"是很泛的 GigE 层错误,NI 官方的口径是直接开工单;已知有一个案例是相机固件和 LabVIEW / MAX 用到的某些属性不兼容,厂商发了固件更新后解决,而这种固件不公开发布,要找代理商或厂商支持索取。
04 一台能干什么,几台搭起来能干什么
单台相机接 LabVIEW,最典型的活儿是拿图、存图、量尺寸、判合格。GigE 型号的网线能拉很长,相机装在设备里、程序跑在几米外的机柜里都很自然;USB3 型号接线简单,代价是线不能长、多台还要抢控制器带宽。
几台搭起来大致分两类。一类是多相机看同一个工位:不同角度,或者一台面阵加一台线阵,这时要盯的是带宽和时间戳。另一类是相机和别的设备合成一套,相机负责图像,运动或者光源负责制造图像里该出现什么;为了让图像和传感器数据严格同步,可以把 GigE 相机挂到 cRIO 上采集,因为挂在 PC 上时 PC 一忙循环周期就飘。
做检测类应用时,真正的难点往往不是算法而是光:光照不稳、继电器投下的阴影、LED 这类反光件,都会让匹配直接失效。镜头也要和相机像元尺寸配套,先拿分辨率测试卡验一遍。
我们专注 LabVIEW 软件开发与测试测量系统集成,从硬件选型、方案设计到现场交付调试,提供一站式服务。手上有一台设备想接进 LabVIEW,或者几台设备要串成一套系统,欢迎在评论区留言;身边朋友有类似项目,也欢迎帮忙引荐。