通过 PLC 进行配方切换
概览
本指南介绍在 OV80i 摄像系统中使用 PLC 逻辑进行检测配方切换的流程。配方切换使您能够为不同部件或工艺配置不同的检测参数和标准,而无需对相机进行物理重新配置。每个配方包含特定的检测设置,在它们之间切换可实现制造环境中的灵活自动化。
配方切换过程涉及 PLC 与相机之间的协同握手,确保在不干扰正在进行的操作的前提下安全地执行配方变更。
先决条件
- OV80i 摄像机已连接到 PLC(请参阅 连接到 PLC(Ethernet/IP、PROFINET))。
- PLC 编程软件(例如 Studio 5000)。
- 所需的配方必须事先在相机上进行预配置并存储。
逻辑示例
配方切换逻辑遵循以下序列:

步骤 1:设置配方编号
MOVE [Recipe_Number] → Camera_1:O.Data[4]
将所需的配方 ID 从 PLC 标签传输到相机的配方选择寄存器。
步骤 2:启动配方切换
[RECIPE_SWITCH] → [Recipe_ONS] → Camera_1:O.Data[0].1
使用一个按钮或具有单次上升沿的控制信号来触发配方切换请求。
步骤 3:监控相机状态
NOT Camera_1:I.Data[1].6 (Busy Signal)
在发起切换前,确保相机当前没有在忙碌处理中。
步骤 4:锁存切换请求
Camera_1:O.Data[0].1 (Latch ON)
配方切换请求位必须保持高,直到被相机确认。
步骤 5:验证完成
Camera_1:I.Data[0].2 (Recipe Switch Ack) AND
EQ Camera_1:I.Data[8] Camera_1:O.Data[4] (Recipe Match)
等待相机确认以及配方 ID 的验证完成。
步骤 6:重置请求
Camera_1:O.Data[0].1 (Unlatch)
在成功完成后清除配方切换请求位。
步骤 7:错误监控
Camera_1:I.Data[1].1 → Error_Detected
在整个过程中持续监控错误条件。
时序图
配方切换过程遵循以下时序序列:

信号流:
- Busy 信号:初始为低(非活动),当进程开始时变高,完成时返回低
- TriggerRdy (Trigger Ready):初始为高电平(就绪),在操作期间拉低,在就绪可用于下一个触发时再拉高
- RecipeSwitchRequest:拉高以请求配方切换,在系统注册阶段短暂保持高电平,确认后返回低
- RecipeSwitchAck:短暂拉高以确认请求,然后返回低
关键时序关系:
- Busy 信号跟踪整个系统的占用情况
- TriggerRdy 表示系统何时可以接受新的触发命令
- 配方切换请求会阻塞触发操作
- 所有信号必须在下一次操作开始前返回到空闲状态
该序列确保在操作状态之间实现平滑切换且避免冲突。
核心概念
配方管理
- 配方 ID:每个配方都具有唯一的数字标识符
- 当前与选定:系统同时维护当前活跃的配方和新选中的配方以进行比较
- 配方校验:系统对比配方 ID 以确认切换成功
信号握手
- 请求/确认模式:PLC 请求切换配方,相机确认收到
- 锁存逻辑:请求信号必须保持有效,直到收到确认
- 单次触发:可防止因信号抖动或噪声导致的多次请求
错误处理
- 错误检测:系统在切换过程中监控错误
- 错误锁存:错误条件将保持锁存状态,直至手动清除
- 过程阻塞:配方切换会阻塞触发操作以防止冲突
系统状态
- 空闲状态:系统已准备好接受新命令
- 忙碌状态:系统正在处理配方切换或其他操作
- 错误状态:系统检测到需要关注的错误条件
最佳实践
安全性与可靠性
- 在启动配方切换前,请始终确认相机当前未忙。
- 持续监控错误条件,并实施适当的错误处理
- 使用单次触发信号,以防止多次非预期请求
- 切换后验证配方匹配,以确认切换成功
运营效率
- 尽量减少配方切换频率,以降低系统开销
- 在可能的情况下,将相似的操作归并到同一配方下
- 在生产周期的自然停顿阶段计划配方切换
- 在投入生产实施前,对配方切换进行彻底测试
编程指南
- 实现适当的联锁,以防止冲突操作
- 使用描述性标签名,以提高代码可维护性
- 记录配方用途与切换条件
- 包含超时逻辑,用于在通讯故障时进行错误检测
警告说明
- 配方切换会阻塞触发操作——请确保时序协调
- 请勿将配方切换请求持续置高,否则将阻碍相机的正常运行
- 在生产中依赖配方切换前,请验证通信稳定性
关键信号摘要
控制信号(PLC 到相机)
| 信号 | 地址 | 功能 |
|---|---|---|
| 配方编号 | Camera_1:O.Data[4] | 指定要切换到的配方 |
| 配方切换请求 | Camera_1:O.Data[0].1 | 启动配方切换过程 |
状态信号(相机到 PLC)
| 信号 | 地址 | 功能 |
|---|---|---|
| 忙碌 | Camera_1:I.Data[1].6 | 指示相机正在处理 |
| 配方切换确认 | Camera_1:I.Data[0].2 | 确认配方切换请求 |
| 当前配方编号 | Camera_1:I.Data[8] | 报告当前活跃的配方 |
| 配方切换错误信号 | Camera_1:I.Data[1].1 | 指示在配方切换期间发生错误 |
内部 PLC 标签
| 信号 | 类型 | 功能 |
|---|---|---|
| RECIPE_SWITCH | BOOL | 启动配方切换过程 |
| Recipe_ONS | ONS | 提供用于切换启动的单次触发信号 |
| CONFIRM_RECIPES_MATCH | BOOL | 确认当前与选定的配方匹配 |
| Error_Detected | BOOL | 标记需要操作员关注的错误条件 |
Conclusion
OV80i 相机系统中的配方切换提供灵活的自动化能力,同时通过适当的握手协议确保操作安全。成功取决于遵循正确的操作顺序、监控系统状态,以及实施健壮的错误处理。
可靠的配方切换的关键在于理解信号之间的时序关系,并在发起切换前确保相机处于空闲状态。通过遵循所述程序和最佳实践,可以在不同的检测配置之间实现顺利切换,同时保持系统可靠性和生产效率。
请记住,配方切换是 PLC 与相机之间的协调过程 - 两者必须正确配置并实现有效通信,才能实现成功运行。对切换逻辑的定期测试和验证将有助于在生产环境中确保一致的性能。