机器视觉系统

机器视觉放在“检测元件”分类下没有问题,但严格来说,它不是单一元器件,而是一套完整的检测系统。

一套典型机器视觉系统通常包括:

光源
  ↓
镜头
  ↓
工业相机
  ↓
视觉控制器或工控机
  ↓
视觉软件和算法
  ↓
PLC、机器人或其他控制系统

简单型产品也可能把相机、处理器、照明和输出接口集成到一起,这类设备通常称为:

  • 智能相机;

  • 视觉传感器;

  • 一体式视觉传感器。

机器视觉与普通传感器的核心区别是:

普通传感器:
检测一个相对明确的物理量或状态

机器视觉:
先获取整幅图像,再通过算法从图像中提取多个检测结果

例如一张图像可以同时得到:

  • 有没有工件;

  • 工件坐标;

  • 工件角度;

  • 尺寸;

  • 数量;

  • 颜色;

  • 字符内容;

  • 是否漏装;

  • 是否存在划痕;

  • 最终OK或NG结果。


一、机器视觉在设备中的作用是什么

机器视觉的总体作用是:

通过相机获取产品或现场图像,再利用图像处理算法,对产品状态、位置、尺寸、外观或字符进行检测。

常见应用可以分为以下几类。

1. 有无检测

判断某个零件是否存在。

例如:

  • 螺丝有没有安装;

  • 密封圈有没有漏装;

  • 连接器有没有插入;

  • 包装盒内有没有产品;

  • 标签有没有贴上;

  • 瓶盖有没有安装。

普通光电传感器有时也能判断有无,但机器视觉可以同时判断:

  • 零件是否存在;

  • 安装位置是否正确;

  • 方向是否正确;

  • 数量是否正确。


2. 位置和角度定位

机器视觉可以输出工件的:

  • X坐标;

  • Y坐标;

  • Z坐标;

  • 旋转角度;

  • 中心位置;

  • 边缘位置。

例如视觉检测到零件:

X = 125.36 mm
Y = 82.14 mm
角度 = -3.25°

这些数据可以发送给机器人或运动控制系统,用于:

  • 机器人抓取;

  • 视觉引导;

  • 纠偏;

  • 自动对位;

  • 贴合;

  • 装配。


3. 尺寸测量

机器视觉可以检测:

  • 长度;

  • 宽度;

  • 直径;

  • 圆度;

  • 孔距;

  • 边缘距离;

  • 角度;

  • 间隙;

  • 段差的二维投影;

  • 零件轮廓。

例如:

标准直径:20.00 mm
允许范围:19.95~20.05 mm

实际检测:20.02 mm
结果:OK

需要注意,视觉测量的精度取决于:

  • 相机分辨率;

  • 镜头;

  • 视野;

  • 标定;

  • 光源;

  • 机械稳定性;

  • 被测表面;

  • 算法。

不是像素越高,测量就一定越准。


4. 外观缺陷检测

机器视觉可以检测:

  • 划痕;

  • 污点;

  • 缺口;

  • 裂纹;

  • 毛刺;

  • 压伤;

  • 色差;

  • 黑点;

  • 白点;

  • 涂胶缺失;

  • 焊点异常;

  • 表面异物。

这类检测通常比简单尺寸测量更复杂,因为缺陷形态可能不固定。


5. 颜色检测

可以判断:

  • 产品颜色是否正确;

  • 指示灯颜色;

  • 标签颜色;

  • 线缆颜色;

  • 零件颜色组合;

  • 液体颜色;

  • 印刷颜色。

颜色检测对以下因素比较敏感:

  • 光源色温;

  • 环境光;

  • 相机白平衡;

  • 曝光;

  • 产品表面反光;

  • 不同批次材料色差。


6. OCR和字符识别

OCR是Optical Character Recognition,即光学字符识别。

机器视觉可以读取:

  • 产品序列号;

  • 日期;

  • 批次号;

  • 型号;

  • 喷码;

  • 丝印字符;

  • 铭牌文字。

例如:

读取内容:20260723
期望内容:20260723
结果:OK

7. 条码和二维码识别

机器视觉可读取:

  • 一维码;

  • 二维码;

  • Data Matrix;

  • QR Code;

  • 产品追溯码。

读取结果可能发送给:

  • PLC;

  • 工控机;

  • MES;

  • 数据库;

  • 机器人。


8. 数量检测

例如:

  • 托盘中零件数量;

  • 连接器针脚数量;

  • 包装盒内产品数量;

  • 螺丝数量;

  • 药片数量;

  • 瓶盖数量。


9. 装配状态检测

例如:

  • 零件有没有装反;

  • 插头是否插到底;

  • 卡扣是否扣合;

  • 螺丝是否漏打;

  • 弹簧是否错位;

  • 标签是否贴偏;

  • 接线顺序是否正确。


10. 三维检测

三维视觉可以检测:

  • 高度;

  • 深度;

  • 体积;

  • 三维轮廓;

  • 表面高低差;

  • 抓取点;

  • 无序堆叠工件姿态。

三维视觉通常使用:

  • 双目相机;

  • 结构光;

  • 激光轮廓扫描;

  • ToF相机;

  • 3D智能相机。


二、机器视觉的输入是什么,输出是什么

机器视觉系统的“输入”和普通传感器相比更复杂。

1. 视觉系统的主要输入

光学输入

视觉系统最根本的输入是:

被测物体反射或透过来的光

相机将光线转换成图像。

因此,视觉系统检测的不是产品本身,而是产品通过光形成的图像。


触发输入

PLC或传感器通常会向视觉系统发送拍照触发信号。

例如:

工件到位
    ↓
PLC输出触发信号
    ↓
相机拍照

触发信号可能来自:

  • PLC数字量输出;

  • 光电传感器;

  • 编码器;

  • 运动控制器;

  • 软件命令;

  • 工业通信。


产品型号或配方输入

PLC可能告诉视觉系统当前检测哪个产品。

例如:

产品型号1 → 调用视觉程序1
产品型号2 → 调用视觉程序2
产品型号3 → 调用视觉程序3

输入内容可能包括:

  • 产品编号;

  • 检测程序号;

  • 配方号;

  • 曝光参数;

  • 检测上下限;

  • 机器人坐标系编号。


标定和参数输入

视觉系统还需要输入:

  • 相机标定参数;

  • 镜头畸变参数;

  • 像素与毫米换算关系;

  • 坐标转换关系;

  • 检测区域;

  • 阈值;

  • 模板;

  • 产品标准图像。


2. 视觉系统的输出

机器视觉输出可以分为状态输出、结果输出和数据输出。

状态输出

例如:

  • Ready:视觉准备好;

  • Busy:正在拍照或处理;

  • Trigger Acknowledge:已收到触发;

  • Complete:检测完成;

  • Error:视觉故障;

  • Online:系统在线。


判定结果输出

例如:

  • OK;

  • NG;

  • 有产品;

  • 无产品;

  • 缺陷;

  • 无缺陷;

  • 条码读取成功;

  • 条码读取失败。


数值输出

例如:

  • X坐标;

  • Y坐标;

  • Z坐标;

  • 角度;

  • 长度;

  • 宽度;

  • 直径;

  • 面积;

  • 缺陷数量;

  • 灰度值;

  • 相似度;

  • 测量值。


字符串输出

例如:

SN202607230001

常见于:

  • 条码;

  • 二维码;

  • OCR字符;

  • 产品序列号;

  • 批次号。


图像输出

视觉系统也可能把图片传送给:

  • 工控机;

  • 文件服务器;

  • MES;

  • 数据库;

  • 质量追溯系统。

PLC通常不会直接接收完整图像,只接收结果和必要数据。


三、机器视觉使用什么电压和电流

机器视觉系统不同部分使用的电源不一定相同。

1. 工业相机

常见供电方式:

  • DC 24V;

  • DC 12V;

  • DC 5V;

  • PoE网线供电;

  • USB接口供电;

  • 专用控制器供电。

PoE表示Power over Ethernet,即通过网线同时传输:

  • 电源;

  • 图像数据。


2. 智能相机

一体式智能相机常见供电:

DC 24V

常见允许范围可能是:

  • DC 18~30V;

  • DC 20.4~26.4V;

  • DC 10~30V。

消耗电流可能从几百毫安到数安培,取决于:

  • 处理器性能;

  • 是否内置光源;

  • 是否带显示;

  • 接口数量;

  • 相机分辨率。


3. 光源控制器

光源控制器常见输入:

  • DC 24V;

  • AC 220V;

  • 专用低压直流电源。

输出给光源的电压可能是:

  • DC 12V;

  • DC 24V;

  • 恒流输出;

  • 高频频闪输出。

光源功率可能从几瓦到几十瓦甚至更高。


4. 工控机或视觉控制器

可能使用:

  • AC 220V;

  • DC 24V;

  • 专用电源适配器。


5. IO接口电压

视觉设备与PLC之间的数字量接口通常采用:

DC 24V

但部分相机触发口可能使用:

  • DC 5V;

  • DC 12V;

  • DC 24V;

  • 光耦隔离输入。

必须查看设备说明书,不能默认所有触发端都能直接接24V。


四、PLC怎样与机器视觉连接

PLC与视觉系统常见有四种连接方式。


1. 纯开关量连接

这是最简单的连接方式。

典型信号如下:

PLC输出给视觉

  • Trigger:拍照触发;

  • Program Select:程序选择;

  • Reset:故障复位;

  • Enable:运行允许。

视觉输出给PLC

  • Ready:准备好;

  • Busy:处理中;

  • Complete:检测完成;

  • OK:检测合格;

  • NG:检测不合格;

  • Error:视觉报警。

典型流程:

视觉Ready = 1
    ↓
PLC确认工件到位
    ↓
PLC发送Trigger = 1
    ↓
视觉Busy = 1
    ↓
相机拍照并处理
    ↓
视觉Complete = 1
    ↓
视觉输出OK或NG
    ↓
PLC读取结果

这种方式优点是:

  • 简单;

  • 实时;

  • 稳定;

  • 容易排查。

缺点是:

  • 每个信号需要一根线;

  • 能传输的信息少;

  • 不适合发送坐标、尺寸和字符串。


2. 开关量握手+通信数据

这是很常见的方式。

开关量负责:

  • 触发;

  • 忙碌;

  • 完成;

  • 结果有效;

  • 故障。

通信负责:

  • 坐标;

  • 尺寸;

  • 条码;

  • 缺陷代码;

  • 测量数据。

例如:

PLC通过DO触发拍照
        ↓
视觉通过DI反馈检测完成
        ↓
PLC通过以太网读取X、Y、角度

这种方式兼顾:

  • 实时性;

  • 数据量;

  • 稳定性;

  • 调试便利性。


3. 全通信连接

PLC和视觉系统直接通过工业网络交换控制和数据。

常见接口:

  • PROFINET;

  • EtherNet/IP;

  • EtherCAT;

  • Modbus TCP;

  • TCP Socket;

  • UDP;

  • CC-Link;

  • RS232;

  • RS485。

PLC可以通过通信写入:

  • 拍照命令;

  • 程序号;

  • 产品型号;

  • 参数;

  • 复位命令。

视觉系统反馈:

  • 状态字;

  • 结果字;

  • 坐标;

  • 角度;

  • 测量结果;

  • 报警代码;

  • 字符串。


4. 视觉直接连接机器人

有些视觉引导项目中,视觉系统直接把坐标发送给机器人。

关系可能是:

视觉系统 → 机器人:发送抓取坐标
PLC → 机器人:允许执行抓取
机器人 → PLC:抓取完成

此时PLC仍负责整机节拍和工序协调,但不一定负责转发全部视觉坐标。


五、机器视觉是PNP还是NPN,是源型还是漏型

机器视觉系统本身不能笼统地说是PNP或NPN。

需要具体看它的数字量输入输出接口。

1. 视觉设备的数字量输出

视觉系统输出可能是:

  • PNP晶体管输出;

  • NPN晶体管输出;

  • 推挽输出;

  • 开路集电极输出;

  • 光耦输出;

  • 继电器输出。

PNP输出

视觉输出有效时,向PLC输入点提供正电压。

通常:

视觉输出ON
    ↓
输出端接近DC 24V

PLC输入公共端一般接0V。

NPN输出

视觉输出有效时,将PLC输入点拉向0V。

PLC输入公共端一般接24V。


2. PLC向视觉发送触发信号

还要看视觉系统的输入端是:

  • 源型输入;

  • 漏型输入;

  • 双向光耦输入;

  • 电压触发输入。

例如:

  • PLC使用PNP输出;

  • 视觉触发输入需要接收正电压;

两者一般可以匹配。

如果PLC输出和视觉输入极性不匹配,可能需要:

  • 中间继电器;

  • 光耦转换模块;

  • 电平转换模块。


3. 通信接口不讨论PNP和NPN

以下接口不讨论PNP或NPN:

  • Ethernet;

  • PROFINET;

  • EtherNet/IP;

  • EtherCAT;

  • TCP/IP;

  • RS232;

  • RS485;

  • USB。

PNP和NPN只适用于开关量晶体管接口。


六、机器视觉输出是开关量、模拟量、脉冲还是通信数据

机器视觉最常见的是:

开关量+通信数据

1. 开关量

用于:

  • Ready;

  • Busy;

  • Complete;

  • OK;

  • NG;

  • Error;

  • Trigger。

这是最基础的交互。


2. 通信数据

用于:

  • 坐标;

  • 角度;

  • 尺寸;

  • 字符串;

  • 缺陷代码;

  • 多个检测结果;

  • 图像状态;

  • 相似度。

这是机器视觉最主要的数据输出形式。


3. 模拟量

机器视觉很少直接输出0~10V或4~20mA。

理论上某些专用视觉传感器可能提供模拟量输出,但不是机器视觉的主流接口。


4. 脉冲

机器视觉通常不把检测结果以高速脉冲形式输出。

但它可能接收:

  • 编码器脉冲;

  • 外部高速触发;

  • 输送线位置脉冲。

例如线扫相机需要编码器信号控制逐行采集。


七、机器视觉的重要选型参数

机器视觉选型不能只看“像素”。

需要同时考虑相机、镜头、光源、检测对象和算法。


1. 检测任务

首先要明确要检测什么:

  • 有无;

  • 定位;

  • 尺寸;

  • 外观;

  • OCR;

  • 条码;

  • 颜色;

  • 三维高度;

  • 缺陷;

  • 机器人引导。

不同任务需要完全不同的视觉方案。


2. 视野

视野是相机一次能够看到的实际范围。

例如:

视野:100 mm × 80 mm

视野必须覆盖:

  • 整个产品;

  • 产品位置偏差;

  • 必要的检测区域;

  • 夹具和定位变化。


3. 工作距离

工作距离是镜头到被测物体之间的距离。

需要根据机械空间确定:

  • 镜头安装高度;

  • 产品高度变化;

  • 防护罩空间;

  • 机器人干涉;

  • 光源安装空间。


4. 相机分辨率

常见分辨率:

  • 30万像素;

  • 130万像素;

  • 200万像素;

  • 500万像素;

  • 1200万像素;

  • 2000万像素以上。

分辨率越高:

  • 可以获取更多细节;

  • 图像数据量更大;

  • 处理速度可能更慢;

  • 对镜头和光源要求更高;

  • 成本更高。


5. 像素精度

假设水平方向视野为100mm,相机水平方向分辨率为2000像素:

理论像素尺寸:

100 mm ÷ 2000
= 0.05 mm/像素

即一个像素大约代表0.05mm。

但这不等于最终测量精度就是0.05mm。

实际还要考虑:

  • 亚像素算法;

  • 镜头畸变;

  • 边缘质量;

  • 标定误差;

  • 机械振动;

  • 光源变化。


6. 检测精度

需要明确实际要求:

  • ±1mm;

  • ±0.1mm;

  • ±0.01mm;

  • 缺陷最小尺寸;

  • 最小字符高度;

  • 最小划痕宽度。

检测精度决定:

  • 相机像素;

  • 视野;

  • 镜头类型;

  • 标定方式;

  • 机械稳定性。


7. 拍摄速度和帧率

常见帧率:

  • 10fps;

  • 30fps;

  • 60fps;

  • 100fps;

  • 500fps以上。

要根据:

  • 设备节拍;

  • 工件速度;

  • 拍照次数;

  • 图像处理时间;

  • 数据传输时间;

进行选择。

静止拍照不一定需要高帧率。

高速运动检测则可能需要:

  • 高速相机;

  • 短曝光;

  • 高频闪光源;

  • 编码器触发。


8. 曝光时间

曝光时间过长:

  • 图像更亮;

  • 运动物体容易拖影。

曝光时间过短:

  • 图像较暗;

  • 需要更强光源。

高速运动产品通常需要短曝光和频闪光源。


9. 全局快门还是卷帘快门

全局快门

整幅图像几乎同时曝光。

适合:

  • 运动工件;

  • 高速流水线;

  • 机器人抓取;

  • 尺寸测量。

卷帘快门

图像逐行曝光。

运动物体可能出现:

  • 倾斜;

  • 拉伸;

  • 变形。

静态检测可以使用,但高速检测通常更倾向全局快门。


10. 黑白相机还是彩色相机

黑白相机

适合:

  • 尺寸;

  • 边缘;

  • 划痕;

  • 字符;

  • 灰度缺陷;

  • 高精度定位。

通常灵敏度更高,图像处理更简单。

彩色相机

适合:

  • 颜色分类;

  • 色差;

  • 多颜色线材;

  • 彩色标签;

  • 产品外观。

如果检测任务不需要颜色,一般没有必要一定选择彩色相机。


11. 镜头类型

常见镜头:

  • 普通定焦镜头;

  • 远心镜头;

  • 变焦镜头;

  • 微距镜头;

  • 线扫镜头;

  • 360°内壁镜头;

  • 鱼眼镜头。

远心镜头

适合高精度尺寸测量。

它可以减少因为物体高度变化造成的尺寸放大率变化。

但价格和体积通常较大。


12. 光源类型

常见光源:

  • 环形光;

  • 条形光;

  • 背光;

  • 同轴光;

  • 穹顶光;

  • 低角度光;

  • 线形光;

  • 频闪光;

  • 红外光;

  • 紫外光。

不同光源用于突出不同特征。

例如:

背光

适合:

  • 外轮廓;

  • 尺寸;

  • 孔洞;

  • 缺口。

同轴光

适合:

  • 平整反光表面;

  • 印刷;

  • 划痕;

  • 金属表面。

低角度光

适合突出:

  • 毛刺;

  • 划痕;

  • 凹凸;

  • 边缘。

机器视觉中经常有一句经验:

不是先选算法,而是先想办法把缺陷通过光源清晰地表现出来。

13. 接口类型

需要确认是否支持:

  • 数字IO;

  • GigE;

  • USB3 Vision;

  • Camera Link;

  • CoaXPress;

  • PROFINET;

  • EtherNet/IP;

  • EtherCAT;

  • TCP;

  • RS232;

  • RS485。


14. 是否为智能相机

智能相机内部自带处理器和算法。

优点:

  • 体积小;

  • 独立运行;

  • 接线相对简单;

  • 不一定需要工控机。

缺点:

  • 算力有限;

  • 算法扩展性较弱;

  • 多相机系统不一定方便;

  • 高复杂度检测能力有限。


15. 防护等级

常见:

  • IP40;

  • IP54;

  • IP65;

  • IP67。

如果现场存在:

  • 水雾;

  • 油污;

  • 粉尘;

  • 金属屑;

  • 清洗液;

需要更高防护等级或增加防护罩。


八、机器视觉正常工作时是什么状态

一个正常的视觉检测周期通常是:

视觉系统上电
    ↓
程序加载完成
    ↓
Ready = 1
    ↓
等待触发
    ↓
收到Trigger
    ↓
Busy = 1
    ↓
拍照
    ↓
图像处理
    ↓
输出检测结果
    ↓
Complete = 1
    ↓
Busy = 0
    ↓
重新进入Ready状态

正常状态通常包括:

  • 相机在线;

  • 光源正常点亮或频闪;

  • 视觉程序已经加载;

  • Ready信号有效;

  • 能够正常接收触发;

  • 能够正常采集图像;

  • 图像亮度和清晰度稳定;

  • 处理时间稳定;

  • 结果输出正常;

  • PLC通信正常;

  • 没有相机掉线或算法报警。


九、机器视觉故障时会出现什么现象

1. 相机无法连接

现象:

  • 相机离线;

  • 软件找不到相机;

  • PLC一直收不到Ready;

  • 视觉程序提示设备断开。

可能原因:

  • 相机没供电;

  • 网线断开;

  • IP地址冲突;

  • 网卡配置错误;

  • PoE供电不足;

  • USB线松动;

  • 驱动异常;

  • 相机故障。


2. PLC触发后相机不拍照

可能原因:

  • 触发线接错;

  • PNP/NPN不匹配;

  • 触发电压不正确;

  • 视觉系统未进入外部触发模式;

  • PLC触发脉冲太短;

  • 视觉仍处于Busy状态;

  • 触发输入参数设置错误;

  • PLC程序逻辑错误。


3. 相机拍照,但PLC收不到结果

可能原因:

  • OK、NG、Complete输出线接错;

  • PLC输入公共端接错;

  • 通信地址错误;

  • 结果寄存器映射错误;

  • PLC读取时机过早;

  • 视觉结果有效时间太短;

  • 通信超时;

  • 网络中断;

  • PLC和视觉握手逻辑不完整。


4. 图像过亮

可能原因:

  • 光源太强;

  • 曝光时间太长;

  • 相机增益太高;

  • 产品反光;

  • 光源角度不合理;

  • 自动曝光参数异常。

表现为:

  • 图像大片发白;

  • 特征边缘消失;

  • 字符无法识别;

  • 检测误判。


5. 图像过暗

可能原因:

  • 光源损坏;

  • 光源控制器无输出;

  • 曝光时间太短;

  • 镜头光圈太小;

  • 产品颜色太黑;

  • 相机增益设置太低;

  • 镜头或保护玻璃被污染。


6. 图像模糊

可能原因:

  • 镜头未对焦;

  • 相机或工件振动;

  • 工件运动拖影;

  • 曝光时间过长;

  • 工作距离发生变化;

  • 镜头松动;

  • 防护玻璃起雾或污染。


7. 检测结果时好时坏

可能原因:

  • 产品定位不稳定;

  • 环境光变化;

  • 光源亮度衰减;

  • 相机支架振动;

  • 检测区域设置不合理;

  • 算法阈值过紧;

  • 产品批次差异;

  • 表面反光变化;

  • 图像曝光不稳定;

  • 工件高度变化;

  • 镜头污染。


8. 坐标输出错误

可能原因:

  • 相机标定失效;

  • 相机或镜头位置发生变化;

  • 工装位置变化;

  • 机器人坐标系变化;

  • 坐标转换顺序错误;

  • 单位错误;

  • X、Y方向相反;

  • 角度正负方向错误;

  • 标定板摆放错误。


9. 处理时间突然变长

可能原因:

  • 检测区域过大;

  • 模板数量增加;

  • 图像数据量变大;

  • 工控机负载过高;

  • 硬盘存图过多;

  • 网络拥堵;

  • 算法进入复杂搜索;

  • 相机掉帧重连;

  • 内存不足。


十、如何通过万用表定位机器视觉故障

万用表无法判断图像算法是否正确,但可以检查电源和数字量接口。

1. 检查相机供电

测量:

相机电源正极与0V之间

例如24V设备应测得接近:

DC 24V

如果电压过低或没有电压,检查:

  • 开关电源;

  • 断路器;

  • 熔断器;

  • 端子;

  • 电缆;

  • 插头;

  • PoE交换机。


2. 检查光源供电

测量光源控制器输入电压。

还可以测量控制器输出端是否有对应电压或频闪信号。

需要注意,频闪输出可能是脉冲信号,普通万用表不一定能准确显示。


3. 检查PLC触发输出

当PLC发送触发时,测量触发线与0V之间电压。

对于PNP输出:

未触发:接近0V
触发时:接近24V

如果PLC程序中输出点已经ON,但现场没有电压:

  • PLC输出端损坏;

  • 公共端未接;

  • 线路断开;

  • 输出保险损坏;

  • 接线错误。


4. 检查视觉输出

当视觉系统输出OK、NG或Complete时,测量对应输出端。

PNP输出有效时,通常应接近24V。

NPN输出有效时,通常会被拉到接近0V。


5. 检查公共端

很多视觉IO故障不是信号线断了,而是PLC与视觉之间没有共同参考电位。

应检查:

  • 视觉0V;

  • PLC输入公共端;

  • PLC输出公共端;

  • 外部电源0V;

是否按接口要求正确连接。


十一、如何通过PLC监控定位机器视觉故障

PLC监控是排查视觉交互问题最重要的方法之一。

1. 监控握手信号

建议至少监控:

VisionReady
VisionBusy
VisionComplete
VisionOK
VisionNG
VisionError
VisionTrigger

正常时序例如:

Ready = 1
Trigger上升沿
Busy = 1
Complete = 1
OK或NG = 1
Busy = 0

如果停在哪一步,就重点检查对应环节。


2. 设置超时报警

例如PLC触发视觉后,规定2秒内必须收到Complete。

发送触发
    ↓
启动2秒定时器
    ↓
2秒内收到Complete:正常
2秒内未收到Complete:视觉检测超时

这样可以区分:

  • 视觉没有收到触发;

  • 视觉处理中卡住;

  • 视觉结果没有返回;

  • 通信异常。


3. 监控通信状态

通信型视觉系统应监控:

  • 连接状态;

  • 心跳信号;

  • 通信错误码;

  • 报文计数;

  • 超时次数;

  • 接收数据长度;

  • 站号或连接号。


4. 监控结果数据

不要只读取OK或NG,还可以记录:

  • X;

  • Y;

  • 角度;

  • 尺寸;

  • 相似度;

  • 缺陷代码;

  • 处理时间。

如果结果值突然变成:

  • 0;

  • 最大值;

  • 固定值;

  • 异常负数;

  • NaN;

  • 无效代码;

可能存在通信映射或数据类型错误。


5. 检查数据类型和字节顺序

例如视觉发送一个32位浮点数:

125.36

PLC如果字节顺序设置错误,可能读出一个完全不合理的数值。

重点检查:

  • INT还是REAL;

  • 16位还是32位;

  • 有符号还是无符号;

  • 高低字交换;

  • 大小端;

  • 缩放倍数。


6. 保存故障时图像

视觉系统最好在NG或异常时保存原始图像。

这样可以判断到底是:

  • 产品真实异常;

  • 光源异常;

  • 定位偏移;

  • 图像模糊;

  • 算法误判;

  • 相机掉帧。

只看PLC中的一个NG信号,很难知道视觉为什么判NG。


十二、机器视觉安装位置和机械结构有什么要求

机器视觉对机械安装的要求很高。

很多视觉问题表面上像算法问题,实际上是机械结构或照明问题。


1. 相机支架必须刚性足够

相机位置一旦变化,检测区域、坐标和尺寸标定都会变化。

支架不能使用:

  • 过长薄板;

  • 容易弯曲的铝片;

  • 松动的万向支架;

  • 单点悬臂;

  • 容易振动的防护罩。

更适合使用:

  • 厚壁型材;

  • 加强筋;

  • 双点固定;

  • 短支架;

  • 独立立柱;

  • 定位销。


2. 相机、光源和工件位置要稳定

视觉检测的核心是图像一致性。

需要保证每次拍照时:

  • 工件位置一致;

  • 工件高度一致;

  • 相机位置一致;

  • 光源位置一致;

  • 环境光尽量一致。

如果工件每次位置变化很大,算法难度会明显增加。


3. 避免振动

相机拍照时发生振动会导致:

  • 图像模糊;

  • 坐标漂移;

  • 尺寸波动;

  • 缺陷误判。

可以采用:

  • 机构停止后拍照;

  • 相机独立支架;

  • 减少悬臂长度;

  • 使用短曝光;

  • 使用频闪光源;

  • 提高结构刚性。


4. 避免环境光干扰

环境光可能来自:

  • 阳光;

  • 车间灯;

  • 频闪灯;

  • 焊接弧光;

  • 其他设备光源。

可以增加:

  • 遮光罩;

  • 暗箱;

  • 封闭检测工位;

  • 窄带滤光片;

  • 特定波长光源。


5. 镜头和光源要可调且可锁紧

调试时通常需要调整:

  • 相机高度;

  • 镜头焦距;

  • 镜头光圈;

  • 相机角度;

  • 光源角度;

  • 光源距离。

调整完成后必须能够牢固锁紧,防止长期运行后位置变化。


6. 预留工作距离

机械设计必须提前确认:

  • 相机到工件距离;

  • 镜头长度;

  • 光源厚度;

  • 线缆弯曲空间;

  • 防护罩空间;

  • 产品最大高度;

  • 维护拆卸空间。

不能等机械结构完成后才找位置“塞入”相机。


7. 工件必须可靠定位

视觉虽然可以适应一定位置偏差,但机械定位仍然越稳定越好。

常见定位方式:

  • 定位销;

  • 定位块;

  • 夹具;

  • 挡停气缸;

  • 真空吸附;

  • 压紧机构。

视觉不应被当成机械定位不良的万能补救措施。


8. 镜头防污染

需要防止:

  • 灰尘;

  • 油雾;

  • 水滴;

  • 焊烟;

  • 胶水;

  • 金属屑;

  • 指纹。

可以采用:

  • 防护罩;

  • 透明保护片;

  • 正压吹气;

  • 风刀;

  • 定期清洁。

但保护片可能引起:

  • 反光;

  • 鬼影;

  • 畸变;

  • 亮度下降。

所以要验证是否影响成像。


9. 线缆需要固定

相机线缆不能长期拉扯相机接口。

运动相机需要:

  • 高柔线;

  • 拖链线;

  • 合理弯曲半径;

  • 应力释放;

  • 接头锁紧。


10. 相机与运动机构要避免干涉

机器人、滑台或人工操作不能碰撞:

  • 相机;

  • 镜头;

  • 光源;

  • 线缆;

  • 防护罩。

相机镜头通常比较脆弱,撞击后即使没有明显损坏,也可能导致标定失效。


十三、同类机器视觉产品为什么有几十种甚至上百种型号

因为机器视觉不是只选择一个“相机型号”,而是多个参数组合形成一套系统。


1. 相机分辨率不同

例如:

  • 30万像素;

  • 130万像素;

  • 200万像素;

  • 500万像素;

  • 1200万像素;

  • 2000万像素。


2. 传感器尺寸不同

常见:

  • 1/3英寸;

  • 1/2英寸;

  • 2/3英寸;

  • 1英寸;

  • 更大靶面。

传感器尺寸会影响:

  • 镜头选择;

  • 视野;

  • 成像质量;

  • 价格。


3. 黑白和彩色不同

  • 黑白相机;

  • 彩色相机;

  • 红外相机;

  • 紫外相机;

  • 多光谱相机。


4. 快门类型不同

  • 全局快门;

  • 卷帘快门。


5. 帧率不同

  • 普通速度;

  • 高速;

  • 超高速。


6. 接口不同

  • GigE;

  • USB3;

  • Camera Link;

  • CoaXPress;

  • PROFINET;

  • EtherNet/IP;

  • EtherCAT;

  • IO-Link。


7. 相机结构不同

  • 分体式工业相机;

  • 智能相机;

  • 视觉传感器;

  • 线扫相机;

  • 面阵相机;

  • 3D相机;

  • 热成像相机。


8. 镜头接口不同

  • C口;

  • CS口;

  • F口;

  • M12;

  • 专用接口。


9. 防护等级不同

  • 普通机身;

  • IP65;

  • IP67;

  • 食品级不锈钢外壳;

  • 防爆型。


10. 算法能力不同

部分视觉设备只支持:

  • 有无;

  • 计数;

  • 简单定位。

高端视觉控制器可以支持:

  • 多相机;

  • 深度学习;

  • 3D点云;

  • 高精度测量;

  • 高速缺陷检测;

  • 机器人标定。


11. 光源不同

同一检测项目可能根据表面选择:

  • 红光;

  • 白光;

  • 蓝光;

  • 红外;

  • 紫外;

  • 环形;

  • 同轴;

  • 背光;

  • 低角度;

  • 穹顶。


12. 镜头不同

根据视野和精度可能选择:

  • 6mm;

  • 8mm;

  • 12mm;

  • 16mm;

  • 25mm;

  • 35mm;

  • 50mm焦距;

  • 远心镜头;

  • 微距镜头。

因此,机器视觉型号多并不是厂家单纯制造复杂,而是检测对象、精度、速度、视野、安装空间和接口需求存在大量组合。


十四、机器视觉与PLC交互的典型完整示例

假设设备需要检测工件是否漏装螺丝。

1. PLC确认工件到位

光电传感器检测到工件
    ↓
PLC输入X0 = 1

2. PLC触发视觉

PLC确认VisionReady = 1
    ↓
PLC输出VisionTrigger = 1

3. 视觉拍照

视觉收到触发
    ↓
VisionBusy = 1
    ↓
相机拍照

4. 视觉处理图像

算法检测:

  • 应有4颗螺丝;

  • 实际检测到3颗。

因此:

检测结果 = NG
缺陷代码 = 2
检测数量 = 3

5. 视觉向PLC输出

通过IO:

VisionComplete = 1
VisionNG = 1

通过通信:

ScrewCount = 3
ErrorCode = 2

6. PLC处理结果

NG
  ↓
PLC控制剔除气缸
  ↓
不合格产品进入NG料道

7. PLC结束握手

PLC复位Trigger
    ↓
视觉复位Complete和NG
    ↓
等待下一件产品

十五、机器视觉最核心的理解

机器视觉不是简单地把图像直接交给PLC处理。

更典型的分工是:

相机和光源:
获得稳定清晰的图像

视觉控制器和算法:
从图像中提取检测结果

PLC:
根据检测结果协调设备后续动作

机器人或运动系统:
根据坐标执行抓取、定位或调整

机器视觉在整个自动化系统中的位置可以概括为:

工件
  ↓
光学成像
  ↓
相机采图
  ↓
视觉算法分析
  ↓
OK/NG、坐标、尺寸、字符串
  ↓
PLC进行整机逻辑协调
  ↓
机器人、气缸、输送线执行后续动作

因此,机器视觉属于检测系统,但它本身通常已经具备采集、计算和判断能力。PLC不是负责分析每个像素,而是负责告诉视觉系统何时检测、检测哪个产品,并根据视觉输出的结果控制整台设备继续运行。

 

更多推荐