2、基础知识:PLC工作原理、扫描周期、I/O映射、常用编程语言及与AI系统的接口方式
在智慧工厂的“AI+PLC联动”架构中,PLC(可编程逻辑控制器)是执行层与控制层的核心枢纽。AI系统负责感知、推理与决策,而PLC则负责将决策转化为物理世界的确定性动作。理解PLC的工作原理、扫描周期、I/O映射、编程语言以及与AI系统的接口方式,是构建可靠联动系统的前提。本章将从工程实践角度,系统梳理这些基础概念,并重点剖析AI与PLC在数据交互中的关键机制。
2.1 PLC核心工作原理:从继电器逻辑到存储程序控制
PLC的诞生源于对传统继电器控制系统的替代。其本质是一台专为工业环境设计的工业计算机,采用“存储程序、循环扫描”的工作方式。与普通PC不同,PLC的硬件架构(CPU、存储器、I/O接口、电源、通信模块)经过抗振动、抗电磁干扰、宽温设计,且其操作系统为实时操作系统,保证控制任务的确定性执行。
PLC的工作过程可抽象为四个阶段:输入采样、程序执行、通信处理、输出刷新。在输入采样阶段,PLC读取所有数字量输入端子(如传感器信号)和模拟量输入通道(如温度、压力变送器信号)的状态,并将其存入输入映像寄存器。在程序执行阶段,CPU按照用户程序(梯形图或结构化文本)的逻辑,从第一条指令开始逐条执行,运算结果存入输出映像寄存器。通信处理阶段用于处理与编程器、HMI、上位机或AI系统的数据交换。输出刷新阶段则将输出映像寄存器的状态一次性传送到输出锁存器,驱动外部执行器(如接触器、电磁阀、伺服驱动器)。
2.2 扫描周期与实时性:AI联动中的时序约束
扫描周期是PLC最重要的性能指标之一。它决定了PLC对输入变化的响应速度。扫描周期的计算公式为:
扫描周期 = 输入采样时间 + 程序执行时间 + 通信处理时间 + 输出刷新时间
在实际工程中,程序执行时间占主导,其大小取决于指令条数、指令类型(位逻辑指令快于数学运算指令)以及是否启用中断程序。对于AI联动场景,需要关注以下时序约束:
- AI推理延迟:视觉识别或模型推理通常需要20-200ms,而PLC扫描周期可能只有5-20ms。若AI结果直接参与安全联锁,必须通过硬接线或专用安全PLC实现,不能依赖AI软件。
- 数据一致性:AI系统读取的PLC数据必须是同一扫描周期内的快照,否则可能导致决策依据不一致。建议通过PLC的“数据块”或“全局数据包”一次性上传。
- 通信抖动:以太网通信存在不确定性,对于要求严格同步的场景,应使用PROFINET IRT或EtherCAT等实时以太网协议。
| 场景 | PLC扫描周期 | AI推理时间 | 联动策略 |
|---|---|---|---|
| 缺陷检测分拣 | 10ms | 50ms | AI提前一个工位预判,PLC缓存结果 |
| 安全急停联锁 | 5ms | 不适用 | 硬接线安全回路,AI仅做监控 |
| 工艺参数实时调节 | 20ms | 100ms | PLC采用“预测+反馈”双通道控制 |
2.3 I/O映射与地址分配:AI数据交互的物理基础
I/O映射是将PLC的物理输入/输出通道与内部存储地址建立对应关系的过程。在AI+PLC联动中,I/O映射不仅是电气接线的逻辑映射,更是数据语义的桥梁。例如,AI系统识别出“产品A有划痕”,需要将这一结论映射为PLC中的一个布尔变量(如DB10.DBX0.0),或者映射为某个数字量输出点(如Q0.3),用于触发剔除气缸。
I/O映射分为三类:数字量I/O映射(DI/DO)、模拟量I/O映射(AI/AO)和通信映射(如PROFINET IO设备映射)。数字量映射简单直接,但信息量有限;模拟量映射用于连续过程控制;通信映射则通过工业以太网将AI系统(如工业PC、智能相机)作为PROFINET IO设备接入PLC,实现高带宽数据交换。
在工程实践中,建议建立I/O映射表,明确每个信号的功能、地址、数据类型、刷新周期和来源/去向。对于AI联动项目,应预留足够的备用I/O点,并采用结构化命名(如“AI_Result_OK”、“AI_Result_NG”、“Robot_Start_Cmd”),便于跨团队协作。
2.4 常用编程语言:梯形图与结构化文本的协同
IEC 61131-3标准定义了PLC的五种编程语言:梯形图(LD)、结构化文本(ST)、功能块图(FBD)、指令表(IL)和顺序功能图(SFC)。在AI+PLC联动项目中,最常用的是梯形图和结构化文本。
梯形图直观易懂,适合表达位逻辑、互锁、自锁等控制逻辑,是电气工程师的首选。例如,一个简单的电机启停控制:
// 梯形图逻辑(示意)
// 网络1:启动保持
// | | 启动按钮(I0.0) | | 停止按钮(I0.1) | | 电机接触器(Q0.0) |
// |---[ ]-------------------[\/]-------------------( )----|
// | |
// |---[ ] 电机接触器(Q0.0) -------------------------------|
结构化文本类似Pascal语言,适合编写复杂的数学运算、数据处理、循环和条件判断。在AI联动中,结构化文本常用于解析AI系统发送的JSON或字节流数据、执行PID调节、实现状态机逻辑。例如,解析AI返回的缺陷坐标:
// 结构化文本示例:解析AI结果
CASE ai_command OF
1: // 启动分拣
sort_enable := TRUE;
defect_x := ai_data[0]; // 从通信缓冲区读取X坐标
defect_y := ai_data[1];
// 调用运动控制功能块
MoveToPosition(defect_x, defect_y);
2: // 停止
sort_enable := FALSE;
END_CASE;
在实际项目中,推荐采用“混合编程”策略:用梯形图实现安全联锁和基本逻辑,用结构化文本实现数据处理和算法,用顺序功能图实现多步骤工艺流程。这样既保证了程序的可读性,又提升了复杂逻辑的表达效率。
2.5 AI与PLC的接口方式:从物理IO到工业以太网
AI系统与PLC的接口方式决定了数据交互的带宽、实时性和可靠性。根据应用场景的不同,主要有以下四种方式:
- 数字量I/O直连:AI系统(如智能相机)通过数字量输出点直接连接PLC的DI模块。例如,相机检测到OK/NG,输出24V信号。这种方式响应快(毫秒级)、成本低,但信息量有限,只能传递“是/否”结论。
- 模拟量I/O连接:AI系统输出4-20mA或0-10V模拟信号,用于传递连续值(如位置偏差、温度补偿值)。适用于需要精细调节的场景,但精度受限于模拟量分辨率。
- 串口通信(RS-232/485):通过Modbus RTU协议传输数据。适合小数据量、低速场景,但抗干扰能力较弱,布线距离受限。
- 工业以太网(OPC UA / Modbus TCP / PROFINET):这是当前智慧工厂的主流方式。AI系统作为客户端或服务器,通过OPC UA与PLC交换结构化数据。OPC UA支持复杂数据类型、加密和语义建模,非常适合AI与PLC的深度集成。
| 接口方式 | 数据带宽 | 实时性 | 典型应用 |
|---|---|---|---|
| 数字量I/O | 1 bit | <1ms | 合格/不合格判定 |
| 模拟量I/O | 16 bit | <10ms | 连续位置补偿 |
| Modbus RTU | ≤256字节 | 10-100ms | 小型设备数据采集 |
| OPC UA | 不限 | 5-50ms | AI视觉、MES、云端协同 |
2.6 实战案例:视觉检测与PLC分拣联动的接口设计
以下是一个典型的AI视觉检测与PLC联动分拣案例,用于说明上述基础知识的综合应用。
背景与约束:某汽车零部件生产线需要检测螺栓表面划痕,产线速度120件/分钟,即每件间隔500ms。现有PLC为Siemens S7-1500,扫描周期约8ms。视觉系统采用Basler工业相机+本地GPU推理,单件检测耗时约80ms。要求NG件自动剔除,且不能影响产线节拍。
初始现象与目标:最初方案是视觉系统直接输出数字量信号给PLC,但发现只能传递“OK/NG”结论,无法传递缺陷类型和位置信息,导致后续追溯困难。目标改为通过OPC UA传递结构化数据,包括缺陷类型、坐标、置信度。
关键参数与实施步骤:
- I/O映射设计:在PLC中建立DB块“AI_Result”,包含:Bool IsOK、Int DefectType、Real PosX、Real PosY、Real Confidence。
- 通信配置:PLC作为OPC UA Server,视觉系统作为Client。视觉系统每检测完一个工件,将结果写入DB块,并置位“NewData”标志。
- PLC程序逻辑:在OB1中调用FB“AI_Data_Handler”,当检测到“NewData”上升沿时,读取DB块数据,根据DefectType触发分拣气缸动作。同时,将当前工件序号与AI结果绑定,存入FIFO缓冲区。
- 时序匹配:由于视觉检测时间(80ms)小于工件节拍(500ms),视觉系统有充足时间提前将结果发送给PLC。PLC在工件到达分拣工位前,已准备好剔除指令。
结果对比与复盘:改造后,系统不仅实现了高速剔除,还实现了缺陷数据的全流程追溯。通过OPC UA的语义模型,MES系统也能实时获取质量数据。复盘发现,初期通信抖动导致偶尔丢包,通过启用OPC UA的“KeepAlive”机制和PLC侧的数据有效性校验(增加时间戳),问题得以解决。
2.7 常见误区与总结复盘
在AI+PLC联动项目的实施中,工程师常陷入以下误区:
- 误区一:认为AI可以完全替代PLC。实际上,AI擅长非结构化决策,PLC擅长确定性执行,二者是互补关系。
- 误区二:忽视扫描周期对AI决策的影响。AI系统必须考虑PLC的扫描周期,避免发出“过时”的控制指令。
- 误区三:I/O映射混乱。未建立清晰的映射表,导致调试时信号追溯困难。
- 误区四:通信协议选择不当。在实时性要求高的场合使用非实时以太网,导致控制抖动。