1. 课程导入与系统全景
在一条高速运转的装配线上,视觉系统每秒要完成数十次拍照、判定与结果输出。如果判定结果只停留在视觉控制器内部,那么它只能算一台"检测设备";只有当判定结果被贴上产品、写入数据库、传给PLC、上报MES,并能在几小时后被准确调出,它才真正成为"追溯系统"的一部分。本课程要解决的,正是从"看得见"到"查得到、对得上、传得准"的完整链路问题。
学习目标
完成本课程后,你应当能够独立完成以下任务:其一,理解KEYENCE XG-X视觉控制器在产线中的角色定位,明确它与PLC、MES、上位机之间的数据边界;其二,掌握追溯的核心数据模型——什么信息必须与产品绑定、绑定在什么时刻、以什么键值关联;其三,能够配置XG-X的通信接口,包括以太网/IP与PLC的I/O及标签通信、OPC UA与MES的数据交互;其四,能够设计并验证一条从"触发拍照"到"MES可查询"的完整数据通路;其五,当追溯数据出现错位、丢失或延迟时,能够按信号链逐段定位问题。
核心术语的准确含义
追溯(Traceability)在这里不是泛指"记录数据",而是指以唯一产品标识为索引,把生产过程中与质量相关的关键事件按时间顺序关联起来,并支持正向(由原料查成品)与反向(由成品查工艺)查询的能力。追溯的最小单位通常是一次"检测事件",它至少包含:产品唯一码、工位号、时间戳、检测结果、关键测量值、使用的程序或配方版本。
视觉控制器指XG-X这类集图像采集、图像处理、判定输出于一体的独立设备。它内部运行检测程序,对外提供I/O、以太网、串口等接口。需要特别注意的是:XG-X本身不是数据库,它的职责是"产生结构化结果",而不是"长期存储追溯记录"。把XG-X当数据库用,是初学者最常见的架构错误。
PLC在追溯链路中承担两个角色:一是时序控制,负责在正确时刻发出拍照触发、在正确时刻读取判定结果;二是数据中转,把视觉结果与产线状态(如工位、班次、设备号)打包后上传。PLC的扫描周期决定了追溯数据的时间精度。
MES是追溯数据的最终归属地,负责存储、查询与报表。MES通常不直接与视觉控制器通信,而是通过PLC或上位机中转,这样可以避免MES与实时控制层耦合过紧。
OPC UA是一种跨平台、带语义描述的数据交换协议,适合XG-X或上位机与MES之间的结构化数据传输,其优势在于数据类型自描述、支持订阅机制。以太网/IP则是工业现场常用的实时通信协议,适合XG-X与PLC之间的高速I/O与标签数据交换。两者不是替代关系,而是分别服务于"控制层"与"信息层"。
典型产线场景
设想一条汽车零部件装配线:工件随托盘流动,托盘上贴有二维码。工位1完成压装,工位2由XG-X进行外观与尺寸检测,工位3进行气密性测试。追溯要求是:任意一个成品,都能查到它在工位2的检测图像判定结果、测量值以及当时使用的程序版本。
在这个场景中,触发链是这样的:托盘到位传感器给出信号→PLC收到后延时等待工件稳定(示例延时80ms)→PLC向XG-X发出拍照触发→XG-X完成拍摄与判定,输出OK/NG及测量值→PLC读取结果,同时从托盘读码器获取产品码→PLC把"产品码+工位号+时间戳+结果+测量值+程序号"打包→通过OPC UA写入MES。整个过程必须在托盘离开工位前完成,否则数据会与下一个工件错位。
整体架构的三个层次
第一层是控制层:传感器、PLC、XG-X之间通过硬线I/O或以太网/IP交换实时信号,要求确定性、低延迟。第二层是信息层:PLC或上位机通过OPC UA把结构化数据传给MES,允许一定延迟,但要求数据完整、可校验。第三层是应用层:MES提供查询界面与报表,支持按产品码、时间段、工位、结果类型检索。
三层之间的边界必须清晰。一个常见的错误是让MES直接轮询XG-X的寄存器,这会导致MES与实时控制耦合,一旦MES响应变慢,就可能拖累产线节拍。正确做法是让PLC作为缓冲与打包者,MES只接收已经结构化的数据包。
本课程将反复使用的示例参数
为了让后续章节的配置与验证有统一参照,这里先约定一组示例参数(均为教学假设值,非实测值):产线节拍2.5秒/件;XG-X拍照触发到结果输出的典型耗时约120ms;PLC与XG-X之间以太网/IP的RPI设为4ms;OPC UA发布周期设为100ms;追溯数据包大小约256字节;MES单班次(8小时)预计接收约11520条记录。这些数字会在后续章节的通信配置、缓冲计算与压力验证中被引用。
学习路径建议
建议按"先通链路、再抠细节"的顺序推进:先理解XG-X与PLC的I/O握手,确保触发与结果读取不错位;再配置以太网/IP标签通信,把测量值传出来;然后设计追溯数据包字段与关联键;接着用OPC UA对接MES并验证数据完整性;最后做异常场景测试,包括NG件、读码失败、通信中断与MES不可用。每一段都应当有可观察的验证点,而不是"配置完就算完成"。
需要建立的一个基本观念是:追溯系统的价值不在于"记录了多少数据",而在于"当问题发生时,能否在可接受的时间内定位到具体工件、具体工位、具体参数"。因此,从第一节开始,就要带着"这条数据将来怎么被查出来"的问题去设计每一个字段和每一次通信。