4、离散信号设计:如何将AI分类结果映射为PLC的DO/DI点,包括信号分配和电气隔离

AI视觉检测、缺陷分类或语音识别模型输出的结果,本质上是软件层面的数据(如“OK/NG”“类别A/B/C”)。要让这些结果驱动产线执行机构(如气缸剔除、报警灯、蜂鸣器)或参与PLC逻辑联锁,必须将AI分类结果转换为PLC可识别的离散信号(DI/DO)。本章聚焦于这一转换过程的核心设计:信号分配策略、电气隔离方案以及工程落地中的关键细节。

AI 推理单元 分类结果 (OK/NG/类别) 信号分配层 • 类别→DO映射 • 结果锁存/脉冲 • 握手信号DI • 地址分配 电气隔离层 • 光耦隔离 • 继电器隔离 • 电源隔离 • 浪涌保护 PLC I/O DI/DO 模块 信号流向与关键设计点 ① 分类结果编码 二进制/格雷码 ② 输出锁存 保持至PLC确认 ③ 隔离转换 光耦/继电器 ④ PLC扫描读取 DI/DO映像区 关键:信号分配决定“哪个结果对应哪个物理点”,电气隔离决定“信号能否安全可靠传输”。 两者共同保障AI系统与PLC之间数据交互的实时性、确定性与抗干扰能力。

4.1 核心原理:从AI分类结果到物理离散点的映射逻辑

AI分类结果通常是枚举型数据(如缺陷类型0~5)或布尔型判断(合格/不合格)。PLC的DO/DI点本质上是单比特物理量,因此映射的核心是编码与解码。工程上常用三种映射模式:

  • 直接映射(1对1):每个分类结果占用一个独立DO点。例如“OK”对应DO0.0,“NG”对应DO0.1。适用于类别少(≤8类)、逻辑简单的场景。
  • 二进制编码映射(N对2^N):用N个DO点编码2^N种状态。例如3个DO点可表示8种分类结果。适用于类别多、节省I/O点的场景,但PLC侧需解码。
  • 脉冲/握手映射:AI输出一个短脉冲(如50ms)表示“结果有效”,配合数据线或寄存器读取具体类别。适用于高速、频繁触发的场景,但需要PLC程序配合锁存。

无论采用哪种模式,都必须考虑信号时序:AI推理完成时刻、DO输出建立时间、PLC扫描周期之间的配合。若AI输出持续时间短于PLC扫描周期,PLC可能丢失信号,因此通常需要输出锁存或握手确认机制。

设计原则:信号分配的核心是“确定性”——即PLC在任意时刻读取到的DO/DI状态都能唯一对应AI的最新分类结果,且不会因扫描周期、信号抖动或电气干扰产生歧义。

4.2 信号分配方法:DO/DI点规划与地址分配

信号分配需要结合PLC的I/O模块类型(源型/漏型)、电压等级(DC24V常见)、以及现场执行机构需求。以下是标准分配流程:

  1. 列出所有AI分类结果:明确类别数量、是否包含“无效/超时”状态、是否需要“结果有效”标志。
  2. 确定映射模式:根据类别数和PLC剩余I/O点数选择直接映射或编码映射。一般建议类别≤4时用直接映射,>4时用二进制编码。
  3. 分配物理地址:在PLC组态中指定模块起始地址,例如AI输出DO点从Q0.0开始,PLC握手输入DI点从I0.0开始。地址分配需避开已有占用点,并预留备用点。
  4. 定义电气规格:确认DO输出类型(晶体管/继电器)、输出电流能力(0.5A/2A等)、DI输入类型(漏型/源型)、滤波时间(通常10ms~20ms)。
  5. 设计握手协议:若需要PLC确认,可增加“AI结果有效”DO点(AI→PLC)和“PLC已读取”DI点(PLC→AI),形成双向握手。
信号类型 方向 PLC地址示例 电气规格 用途说明
分类结果DO0 AI→PLC Q0.0 DC24V/0.5A 晶体管 类别0(如OK)
分类结果DO1 AI→PLC Q0.1 DC24V/0.5A 晶体管 类别1(如NG-A)
分类结果DO2 AI→PLC Q0.2 DC24V/0.5A 晶体管 类别2(如NG-B)
结果有效DO AI→PLC Q0.3 DC24V/0.5A 晶体管 上升沿表示新结果就绪
PLC确认DI PLC→AI I0.0 DC24V 漏型输入 PLC读取完成后置位
AI故障DI AI→PLC I0.1 DC24V 漏型输入 AI系统自检异常

4.3 电气隔离设计:光耦、继电器与电源隔离

AI系统(通常为嵌入式设备或工控机)与PLC分属不同电气环境,地电位可能不一致,且现场存在电机启停、变频器等强干扰源。电气隔离是防止共地干扰、保护I/O模块的关键措施。常用隔离方式如下:

  • 光耦隔离(推荐用于DO输出):AI侧输出信号驱动光耦LED,光耦输出侧接PLC输入。隔离电压通常≥1500Vrms,响应时间μs级。注意光耦输出侧需独立电源(与PLC侧共地)。
  • 继电器隔离(推荐用于大电流或AC负载):AI输出驱动继电器线圈,继电器触点接PLC或执行机构。隔离效果最好,但响应时间ms级,且触点寿命有限(约10万次)。
  • DI输入隔离:PLC的DI模块本身通常自带光耦隔离,但AI侧若需读取PLC信号(如握手确认),建议在AI侧增加光耦或使用隔离式DI模块。
  • 电源隔离:AI系统与PLC的24V电源应分开供电,或使用DC-DC隔离模块。若共用电源,需确保电源容量充足且地线连接可靠。
常见风险:光耦输出侧若与PLC共用一个电源,但地线阻抗较大,可能形成地环路,导致误触发。建议光耦输出侧电源负极与PLC电源负极单点接地,或使用隔离电源模块。

4.4 实战案例:视觉检测NG信号接入PLC剔除系统

背景与约束:某汽车零部件产线,AI视觉系统检测产品表面划痕,分类结果为“OK”或“NG(划痕深度>0.1mm)”。产线PLC为西门子S7-1200,AI系统为NVIDIA Jetson工控机。要求NG信号触发气缸剔除,且需记录剔除次数。现场存在变频器干扰,且AI与PLC安装距离约15米。

初始目标与关键参数:

  • 分类结果:OK(0)、NG(1),共2类。
  • PLC扫描周期:10ms。
  • AI推理周期:约80ms(含图像采集)。
  • 气缸响应时间:50ms。

分析与设计过程:

  1. 信号分配:采用直接映射,DO0.0=NG信号,DO0.1=结果有效。PLC侧DI0.0=PLC确认信号。
  2. 电气隔离:AI输出侧使用光耦隔离模块(型号TLP521-4),输出侧电源独立24V,与PLC电源分开。光耦输出接PLC的DI模块(漏型输入)。
  3. 握手协议:AI推理完成后,置位DO0.1(结果有效),同时DO0.0输出NG状态。PLC检测到DO0.1上升沿后,读取DO0.0状态,执行剔除动作,然后置位DI0.0(确认)。AI检测到DI0.0后,清除DO0.1,完成一次握手。
  4. 抗干扰措施:信号线使用双绞屏蔽电缆,屏蔽层单端接地(PLC侧)。光耦输出侧并联RC吸收电路(100Ω+0.1μF)抑制高频干扰。

实施结果与复盘:系统运行稳定,未出现误触发。但初期发现PLC偶尔丢失“结果有效”信号,经排查为AI侧DO0.1输出脉宽仅20ms,而PLC数字量输入滤波时间设置为10ms,加上光耦延迟约5ms,导致临界状态。后将AI侧输出脉宽延长至50ms,并调整PLC输入滤波为5ms,问题解决。

经验总结:信号分配时务必计算“AI输出建立时间 + 光耦延迟 + PLC输入滤波时间”是否小于PLC扫描周期与AI输出保持时间之和。若临界,优先增加AI输出保持时间或降低PLC滤波时间。

4.5 常见误区与设计复盘

  • 误区1:忽略PLC扫描周期——AI输出脉冲过短导致PLC未捕获。解决:使用锁存输出或握手协议。
  • 误区2:共地导致干扰——AI与PLC直接共地,变频器干扰通过地线窜入。解决:光耦隔离+独立电源。
  • 误区3:地址分配冲突——未预留备用点,后续扩展困难。解决:分配时预留20%备用点。
  • 误区4:忽视DI滤波时间——PLC输入滤波时间过长,导致快速信号丢失。解决:根据信号频率调整滤波时间。

总结:离散信号设计是AI与PLC集成的“最后一公里”,信号分配决定了逻辑正确性,电气隔离决定了物理可靠性。设计时应先明确分类结果与PLC逻辑的映射关系,再通过光耦/继电器隔离消除电气干扰,最后用握手协议保证时序确定性。工程中需结合PLC扫描周期、I/O响应时间、现场干扰源等参数综合权衡,并通过实测验证信号完整性。