工业相机触发信号与PLC的同步控制
工业视觉检测系统的核心在于“精准时刻的精准捕捉”。若相机触发与PLC控制逻辑存在毫秒级的偏差,便会导致生产线漏检、误判或数据错位。实现两者同步控制的关键,在于构建一套从硬件接线到软件时序的完整闭环。
硬件接线:构建物理连接基础
实现同步的第一步是确保PLC的输出信号能无干扰地传输至相机。目前工业现场主要采用NPN和PNP两种传感器逻辑,接线方式取决于PLC输出类型与相机输入类型的匹配。
1. 确认信号类型
查阅 PLC硬件手册和相机接线图,确认 双方的IO口类型。最稳定的方案是“PLC晶体管输出”对接“相机光耦输入”。若PLC为继电器输出,因响应速度慢(通常约10ms),无法满足高速触发需求,必须 更换为晶体管输出模块或增加中间继电器转换。
2. 执行接线操作
以下以最常见的“PLC NPN集电极开路输出”连接“相机光耦输入”为例:
- 准备 屏蔽双绞线,以降低现场电磁干扰。
- 连接 PLC输出端子(Y点)至相机触发信号线(通常标记为
Trigger Line +或Line0)。 - 连接 PLC公共端(COM)至相机触发信号地线(通常标记为
Trigger Line -或GND)。 - 接地 处理:将屏蔽线的屏蔽层单端接地,通常接在PLC机壳接地端,避免 双端接地形成地环路干扰。
若PLC为PNP输出,则信号线接相机 Trigger Line +,PLC的COM端接相机电源正极(需串接电阻限流,具体视相机输入电压范围而定),此时触发逻辑为“高电平有效”。
| PLC输出类型 | 相机输入类型 | 接线逻辑 | 触发有效电平 |
|---|---|---|---|
| NPN (漏型) | 光耦输入 | PLC OUT -> 相机 IN; PLC COM -> 相机 GND | 低电平 (0V) |
| PNP (源型) | 光耦输入 | PLC OUT -> 相机 IN; PLC 24V -> 相机 GND (共地) | 高电平 (24V) |
| 继电器输出 | 光耦输入 | 不推荐 (响应慢),或加装固态继电器 | 电平翻转 |
PLC程序逻辑:生成精准触发脉冲
物理连接仅提供了通路,触发时机和脉冲宽度则由PLC程序控制。核心原则是:动作到达检测位 -> PLC发出窄脉冲 -> 相机采集。
1. 配置IO点位
打开 PLC编程软件,进入 IO配置界面。设置 对应输出点位(如 Q0.0 或 Y0)为“高速脉冲输出”模式(若支持),确保程序扫描周期不会显著延迟信号输出。
2. 编写触发梯形图(或ST代码)
以传感器检测到物体为例,逻辑如下:
- 等待 前端传感器信号上升沿(如
X0接通)。 - 执行 物体到位逻辑,置位 触发标志位(如
M0.0)。 - 调用 定时器指令,输出 宽度为
1ms至10ms的脉冲信号。
以下是基于结构化文本(ST)的通用逻辑示例:
// 检测传感器上升沿
IF (Sensor_Input AND NOT Sensor_Memory) THEN
Trigger_Start := TRUE; // 启动触发标志
Pulse_Timer(IN := FALSE); // 复位定时器
END_IF;
Sensor_Memory := Sensor_Input;
// 执行脉冲输出逻辑
IF (Trigger_Start) THEN
Pulse_Timer(IN := TRUE, PT := T#5ms); // 设置5ms脉宽
Camera_Trigger_Output := TRUE; // 输出高/低电平触发相机
// 定时器时间到,复位信号
IF (Pulse_Timer.Q) THEN
Camera_Trigger_Output := FALSE;
Trigger_Start := FALSE;
END_IF;
ELSE
Camera_Trigger_Output := FALSE;
END_IF;
3. 关键时序图解
为了直观理解PLC输出与相机动作的关系,请参考以下时序流程:
相机参数配置:响应触发信号
PLC发出信号后,相机必须处于“待命状态”才能捕捉图像。这需要在相机SDK或配置软件中进行设置。
1. 设置触发模式
启动 相机配置软件(如海康MVS、基恩康IV等)。切换 “触发模式”为 On。选择 “触发源”为硬件输入线(如 Line0)。
2. 定义触发极性
根据 接线逻辑设置“触发极性”。
- 若PLC输出低电平有效,选择
FallingEdge(下降沿)。 - 若PLC输出高电平有效,选择
RisingEdge(上升沿)。 - 注意:此设置必须与PLC输出逻辑严格对应,否则相机将持续处于触发或死锁状态。
3. 调整曝光与防抖
设置 “曝光时间”。计算 曝光时间需结合物体运动速度,防止图像拖影。
曝光时间计算公式为:
$$ T_{exposure} < \frac{PixelSize}{Velocity \times Magnification} $$
其中,$PixelSize$ 为像元尺寸,$Velocity$ 为物体运动速度,$Magnification$ 为光学放大倍率。若曝光时间过长导致图像模糊,需增加 光源亮度以缩短曝光时间。
4. 配置去抖动
在相机高级属性中,启用 “输入去抖动”功能,设置 去抖动时间通常为 0.5us 至 10us。这能有效滤除因继电器吸合或线路干扰产生的毛刺信号,防止误触发。
延时与同步校准
在实际产线中,传感器位置与相机拍摄位置往往存在距离,需要精确计算延时。
1. 计算触发延时
假设传送带速度为 $V$ (mm/s),传感器到相机视野中心的距离为 $L$ (mm)。
$$ T_{delay} = \frac{L}{V} $$
在PLC程序中,添加 一个定时器,设定值为 $T_{delay}$。当传感器触发后,延时 $T_{delay}$ 再输出相机触发脉冲。
2. 编码器同步(高精度场景)
若传送带速度波动大,单纯的时间延时会产生误差。此时应采用 编码器模式:
- 安装 增量式编码器于传送带主动轮。
- 接入 编码器A/B相信号至PLC高速计数输入端。
- 修改 PLC逻辑:当传感器触发时,记录 当前编码器值为 $C_{start}$。
- 计算 目标触发位置:$C_{target} = C_{start} + \Delta C$($\Delta C$ 为距离对应的脉冲数)。
- 比较 当前编码器值,当 $C_{current} = C_{target}$ 时,立即触发 相机。
故障排查指南
同步控制失效通常表现为不采图、乱采图或图像位置偏差。按以下步骤排查:
1. 信号电压测量
使用 万用表测量相机触发输入端电压。
- 静态时:电压应稳定在
0V或24V(取决于极性),无跳变。 - 触发时:电压应有明显的跳变,且低电平不应高于
1.5V,高电平不应低于20V。若电压拉不到地,检查 PLC驱动能力或线路是否存在短路。
2. 示波器波形分析
连接 示波器探头至PLC输出与相机输入端。
- 观察 脉冲宽度是否满足相机要求(通常需大于
1ms)。 - 观察 上升沿是否陡峭。若上升沿过缓,检查 线路电容是否过大或阻抗不匹配。
3. 软件状态监控
打开 相机软件诊断界面。观察 “帧计数器”是否随PLC触发递增。
- 若PLC输出指示灯亮,但相机无计数:检查 触发源选线是否错误,或极性设置是否相反。
- 若相机计数乱跳:检查 是否存在双触发源冲突(如软件软触发未关闭)。

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