工业相机与PLC的视觉检测系统集成
本指南旨在提供一套标准化的操作流程,帮助工程师实现工业相机与可编程逻辑控制器(PLC)的硬接线与逻辑交互,完成基础的视觉检测任务。
硬件接线与物理连接
在开始配置软件之前,必须完成物理层面的电气连接。本方案采用最通用的“PNP型IO触发+IO信号反馈”模式。
- 断开 所有设备的电源,确保操作安全。
- 准备 I/O 线缆,通常相机端采用 HDF-15 或 HDF-12 接口,PLC 端需接入相应的数字量输入(DI)和输出(DO)模块。
- 连接 相机触发信号线。将 PLC 的数字量输出端(DO)连接至相机的 Line0(通常定义为触发输入)。确保 PLC 输出为 PNP 型(即高电平有效)。
- 连接 相机电源与地线(Line+ 和 Line-)。通常相机工作电压为 24V DC。
- 连接 结果信号反馈线。将相机的 Line1(定义为检测结果通过)和 Line2(定义为检测失败)分别连接至 PLC 的数字量输入端(DI)。
下表为典型的接线定义示例:
| 相机线脚 | 功能定义 | PLC 端口 | 说明 |
|---|---|---|---|
| Line 0 | 触发输入 | DO 0 | 接收 PLC 发出的拍照脉冲 |
| Line 1 | 输出 1 (OK) | DI 0 | 检测合格时输出高电平 |
| Line 2 | 输出 2 (NG) | DI 1 | 检测不合格时输出高电平 |
| Pin 1 / Pin 2 | 24V DC | +24V | 相机供电正极 |
| Pin 7 / Pin 8 | 0V DC | COM / 0V | 相机供电负极 |
相机端参数配置
使用厂商提供的客户端软件(如 Basler Pylon,海康 MVS 等)对相机进行参数设置。
- 分配 固定 IP 地址。确保相机与工控机或上位机处于同一网段。
- 打开 相机参数设置界面,找到
I/O Control选项卡。 - 设置 Line0 的功能为
Input,并勾选Trigger模式。这意味着相机将等待该线路上的电平变化。 - 配置 触发源。将
Trigger Source设置为Line0。 - 调整 触发延时。根据现场机械运动速度,设置
Trigger Delay以在产品稳定时进行曝光。 - 设置 输出线路功能。进入
Line1设置,将其模式设为Output。配置逻辑为当检测程序判定OK时,该线路输出高电平;同理,配置Line2对应NG信号。 - 保存 参数至相机闪存,防止断电后配置丢失。
PLC 程序逻辑编写
在 PLC 编程软件(如博图、CX-Programmer、Codesys)中编写控制逻辑。核心逻辑包括:发送触发脉冲、读取反馈信号、超时保护。
以下是一个简化的结构化文本(ST)逻辑示例:
// 定义变量
VAR
b_Sensor : BOOL; // 光电传感器信号
b_Trigger : BOOL; // 相机触发信号
t_TriggerTimer : TON; // 触发脉冲定时器
b_CameraOK : BOOL; // 相机返回 OK 信号
b_CameraNG : BOOL; // 相机返回 NG 信号
b_ResultReady : BOOL; // 结果确认标志
END_VAR
// 触发逻辑:当传感器检测到物体,且未处于触发状态
IF b_Sensor AND NOT b_ResultReady THEN
b_Trigger := TRUE;
t_TriggerTimer(IN := TRUE, PT := T#100ms); // 发送 100ms 脉冲
ELSE
b_Trigger := FALSE;
t_TriggerTimer(IN := FALSE);
END_IF
// 读取反馈结果
IF t_TriggerTimer.Q THEN
// 脉冲发送完毕,开始检测反馈
IF b_CameraOK THEN
b_ResultReady := TRUE;
// 此处执行 OK 动作,如计数
ELSIF b_CameraNG THEN
b_ResultReady := TRUE;
// 此处执行 NG 动作,如报警或剔除
END_IF;
END_IF
// 复位逻辑:当传感器信号消失,复位整个流程
IF NOT b_Sensor THEN
b_ResultReady := FALSE;
END_IF
系统的核心控制流程如下所示:
graph TD
A["系统上电初始化"] --> B["检测传感器信号"]
B -- 无信号 --> B
B -- 有信号 --> C["发送触发脉冲"]
C --> D["等待相机响应"]
D --> E{检测反馈信号}
E -- Line1 高电平 --> F["判定 OK: 放行"]
E -- Line2 高电平 --> G["判定 NG: 剔除"]
E -- 超时无信号 --> H["报警: 通讯故障"]
F --> I["传感器复位: 结束"]
G --> I
H --> I
I --> B
信号时序与调试
电气集成中最常见的问题是时序配合不当,导致相机无法拍照或 PLC 读取不到信号。
- 测试 触发脉冲宽度。PLC 发出的脉冲宽度 $T_{pulse}$ 必须大于相机的最小触发脉宽要求(通常为 20μs)。在上面的代码示例中,我们使用了 100ms,这足以满足绝大多数相机要求。
- 确认 曝光时间。确保相机的
Exposure Time设置短于产线运动的“冻结时间”,否则图像会拖影。 - 调整 相机输出延时。在相机软件中增加
Output Delay,确保相机在完成图像处理(耗时约 20ms-100ms,取决于算法)后再向 PLC 发送 OK/NG 信号,防止 PLC 读取到上一次的旧信号。 - 监控 PLC 输入点。使用 PLC 的在线监控功能,手动遮挡相机触发端,观察输入点 DI 0 和 DI 1 的灯是否按照逻辑点亮。
常见故障排查
当系统无法正常工作时,按以下顺序进行排查。
- 检查 线路极性。确认相机与 PLC 的公共端(COM)电压一致,未因接线导致 24V 短路或断路。
- 验证 触发模式。如果相机不拍照,检查软件中
Trigger Mode是否设为了On,且AcquisitionStart指令已执行。 - 排查 信号干扰。如果信号时通时断,可能是线路过长导致感应电动势干扰,尝试在相机端 I/O 线上加装 104 电容进行滤波。
- 核对 输出逻辑。确认相机软件中的“用户输出”逻辑是否正确映射到了具体的物理针脚 Line1/Line2。有时软件显示“OK”,但物理线路配置错误导致 PLC 收不到信号。

暂无评论,快来抢沙发吧!