文章目录

工业相机与PLC的视觉检测系统集成

发布于 2026-03-26 21:59:42 · 浏览 10 次 · 评论 0 条

工业相机与PLC的视觉检测系统集成

本指南旨在提供一套标准化的操作流程,帮助工程师实现工业相机与可编程逻辑控制器(PLC)的硬接线与逻辑交互,完成基础的视觉检测任务。


硬件接线与物理连接

在开始配置软件之前,必须完成物理层面的电气连接。本方案采用最通用的“PNP型IO触发+IO信号反馈”模式。

  1. 断开 所有设备的电源,确保操作安全。
  2. 准备 I/O 线缆,通常相机端采用 HDF-15 或 HDF-12 接口,PLC 端需接入相应的数字量输入(DI)和输出(DO)模块。
  3. 连接 相机触发信号线。将 PLC 的数字量输出端(DO)连接至相机的 Line0(通常定义为触发输入)。确保 PLC 输出为 PNP 型(即高电平有效)。
  4. 连接 相机电源与地线(Line+ 和 Line-)。通常相机工作电压为 24V DC。
  5. 连接 结果信号反馈线。将相机的 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 等)对相机进行参数设置。

  1. 分配 固定 IP 地址。确保相机与工控机或上位机处于同一网段。
  2. 打开 相机参数设置界面,找到 I/O Control 选项卡。
  3. 设置 Line0 的功能为 Input,并勾选 Trigger 模式。这意味着相机将等待该线路上的电平变化。
  4. 配置 触发源。将 Trigger Source 设置为 Line0
  5. 调整 触发延时。根据现场机械运动速度,设置 Trigger Delay 以在产品稳定时进行曝光。
  6. 设置 输出线路功能。进入 Line1 设置,将其模式设为 Output。配置逻辑为当检测程序判定 OK 时,该线路输出高电平;同理,配置 Line2 对应 NG 信号。
  7. 保存 参数至相机闪存,防止断电后配置丢失。

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 读取不到信号。

  1. 测试 触发脉冲宽度。PLC 发出的脉冲宽度 $T_{pulse}$ 必须大于相机的最小触发脉宽要求(通常为 20μs)。在上面的代码示例中,我们使用了 100ms,这足以满足绝大多数相机要求。
  2. 确认 曝光时间。确保相机的 Exposure Time 设置短于产线运动的“冻结时间”,否则图像会拖影。
  3. 调整 相机输出延时。在相机软件中增加 Output Delay,确保相机在完成图像处理(耗时约 20ms-100ms,取决于算法)后再向 PLC 发送 OK/NG 信号,防止 PLC 读取到上一次的旧信号。
  4. 监控 PLC 输入点。使用 PLC 的在线监控功能,手动遮挡相机触发端,观察输入点 DI 0 和 DI 1 的灯是否按照逻辑点亮。

常见故障排查

当系统无法正常工作时,按以下顺序进行排查。

  1. 检查 线路极性。确认相机与 PLC 的公共端(COM)电压一致,未因接线导致 24V 短路或断路。
  2. 验证 触发模式。如果相机不拍照,检查软件中 Trigger Mode 是否设为了 On,且 AcquisitionStart 指令已执行。
  3. 排查 信号干扰。如果信号时通时断,可能是线路过长导致感应电动势干扰,尝试在相机端 I/O 线上加装 104 电容进行滤波。
  4. 核对 输出逻辑。确认相机软件中的“用户输出”逻辑是否正确映射到了具体的物理针脚 Line1/Line2。有时软件显示“OK”,但物理线路配置错误导致 PLC 收不到信号。

评论 (0)

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

扫一扫,手机查看

扫描上方二维码,在手机上查看本文