基于RFID技术的动态数据采集系统设计
2022-08-15李丙林孙宏亮谭春雨
李丙林,雷 强,李 派,孙宏亮,谭春雨,邵 勇
(1.长春工业大学电气与电子工程学院,吉林 长春 130012;2.长春市市政工程设计研究院,吉林 长春 130000)
0 引言
随着信息化和工业化的深度融合,射频识别 (radio frequency identification,RFID)技术已经融入工业生产的各个环节。RFID技术是自动识别技术的一种,通过无线射频的方式实现非接触式的数据通信,是物联网技术中的一项关键技术[1]。在汽车生产中,车门生产线是至关重要的一部分,在生产中需要实现对残品次品的精确定位。以往的人工数据传递、管理方式已经不能适应车门生产线的工作需求,存在诸多技术弊端,例如:因零件未安装或安装出错而无法追溯其源头;生产智能化程度较低。
针对上述问题,本文设计了基于RFID技术的动态数据采集系统。该系统利用应用于过程控制的对象连接与嵌入(object linking and embedding for process control,OPC)技术和RFID技术分别与西门子S7-1200进行实时通信,并利用上位机对现场设备实施监控。该系统集OPC技术、RFID技术和工业自动化技术于一身,只需要对每一组车门赋予一个底盘号,即可通过上位机对底盘号的位置进行实时监控。如果后期发现残品、次品,可利用上位机软件找到该车门对应的底盘号,并根据监控界面的信息查出问题。该系统具有操作简便、省时以及生产效率高的优点。
1 动态数据采集系统架构
车门生产线一共有五个工位。一工位和五工位各安装了一个RFID读写器和一个传感器。传感器安装在RFID读写器的后面,可以保证传感器检测到位时,标签在RFID读写器的正上方。
车门生产线数据采集系统硬件包括可编程逻辑控制器(programmable logic controller,PLC) S7-1200、V680S-HMD64-ETN读写器、上位机(计算机)等。PLC S7-1200主要用于控制RFID读写器对标签的读写,并实现与上位机之间的数据传输。传感器主要用于检测车门是否到位。上位机安装了Kepserver软件和数据采集系统,不仅能够实现Kepserver与PLC之间的数据传输,还可以实时监控车门的位置。系统硬件结构如图1所示。
图1 系统硬件结构
基于图1结构设计的系统结构如图2所示。
图2 系统结构框图
该系统的工作流程如下。车门从一工位到五工位依次前进。当车门经过一号工位传感器时,开始清数据。清数据操作结束后,上位机发出一个准备写入信号,同时给PLC一个底盘号,由PLC把该底盘号写入标签。当车门经过五工位传感器时,PLC控制读写器读取标签中的数据,并实时将数据传给上位机;数据采集平台会把返回的数据与之前写入的数据进行对比,从而判断出是否写入失败或者出现串车现象。每次读写操作完成后,都要获取诊断信息,根据诊断信息的数据判断读写操作是否异常。
2 动态数据采集系统软件设计
2.1 Kepserver OPC与PLC的通信
OPC协议是应用层的数据协议,把采集数据以一定格式传输给客户端。在网络的底层,其传输过程是基于传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)实现的[2-3]。本系统采用的是Kepserver OPC与S7-1200之间的通信。基于Kepserver OPC服务器技术,可完成上位机与西门子PLC之间的通信。其操作重点是实现服务器和客户端端口的对应关系并完成通信连接[4]。因此,需要在Kepserver EX中建立一个OPC服务器。PLC将数据传送到OPC服务器。OPC服务器将数据转换成上位机软件可识别的格式,并通过上位机软件对OPC服务器进行访问,从而实现数据的交互。
2.2 RFID读写器与PLC的Modbus/TCP通信
一个完整的RFID系统是由标签、读写器、主机(上位机、工控机、服务器、PLC)组成的[5]。本系统由标签、读写器、PLC(S7-1200)和上位机组成。其工作原理是:标签进入磁场后,接收RFID读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的底盘号[6-7]。
本文设计选用欧姆龙RFID读写器V680S。该设备中配备了控制器、放大器、天线,使用13.56 MHz的频带与射频(radio frequency,RF)通信,支持Modbus/TCP协议。RFID读写器与PLC之间的控制指令均为一次性执行,V680S读写器的上位通信协议依照Modbus/TCP。Modbus通信过程一般是由主设备向从设备发出请求,再由从设备对主设备的请求进行分析和响应,并向主设备发送结果。如果通信过程中出现了异常,设备会反馈一个异常代码[8-9]。在该系统中:主设备为PLC;从设备为欧姆龙V680S;PLC设备发送至RFID读写器的指令称为询问;RFID读写器反馈的信息称为响应[10]。询问和响应的传输格式如表1所示。
表1 询问和响应的传输格式
异常响应的格式如表2所示。
表2 异常响应的格式
例如,当进行读取数据操作时,PLC向读写器发出读取指令。从字地址0000Hex读取4个字节大小的数据时,XX 0000 0006 FF 03 0000 0004命令执行完成,读写器响应为000000000013FF03(成功)101111222233334444或000000000003FF83(失败)06。
当进行写入数据操作时,PLC向读写器发送写数据指令。从RF标签的字地址0000Hex写入4个字节大小的数据“1111000000004444”时,询问格式00000000000FFF1000000004081111000000004444命令执行完成,读写器响应为000000000006FF10(成功)00000004或000000000006FF90(失败)06。
2.3 系统程序设计
该系统使用PLC的型号为1214C与欧姆龙V680S读写器进行Modbus通信。在TIA Patal中包含了通信指令MB_CLIENT。MB_CLIENT模块调用如图3所示。
图3 MB_CLIENT模块调用
在配置MB_CLIENT的参数时IP地址与欧姆龙的地址要一致,与计算机地址要在同一个网段。MODE中:0为读;1为写。DATA_ADDR为由MB_CLIENT指令所访问数据的起始地址。DATA_LEN为数据长度。依据现场要求,新建全局数据块DB3和DB4。DB3用于储存读写器要写入的数据。DB4用于储存读写器读取的数据。在DB3中有5个变量,分别为clean data、 empty data_1、cs write data、rfid write data和feedback 1。各个变量的数据地址如图4所示。
图4 数据地址
clean data的地址DB3.DBB0.0~DB3.DBB21.0共22个字节(数据类型为String)。其中:前2个字节分别代表字符串的最大长度和字符串的实际长度;剩余的20个字节表示清数据时写入标签的数据。empty data_1的地址DB3.DBB22.0~DB3.DBB43.0表示空车时写入标签的数据。cs write data的地址DB3.DBB44.0~DB3.DBB65.0表示上位机传给PLC的底盘号。rfid write data的地址DB3.DBB66.0~DB3.DBB87.0表示需要写入标签中的数据(底盘号)。当读写数据出现异常时,用户要获取最新的通信诊断信息。feedback 1即存储诊断信息的地址。这时,对应的寄存器编号为CA00,获取的通信诊断信息的字数为14个字节。所获取的数据存放在DB3.DBB88.0~DB3.DBB118.0。
在设计系统PLC程序时,以顺序控制为原则,根据控制要求,将系统工作过程划分为若干阶段。这些阶段称为“步”。步的转移条件是由当前步到下一步转移的条件。当条件满足时,程序自动从当前步跳到下一步。这种设计方法缩短了设计周期,使程序修改、调试、监控更加容易,大大提高了效率。PLC程序流程如图5所示。
图5 PLC程序流程图
上位机监控界面主要包括功能菜单、实时车序列(显示当前五个工位当前的底盘号)、工作日志、通信状态,失败列表等,实现了全面监控,故障报警等功能,可以实时监控系统的运行状态和车门所在的位置。
3 测试分析
基于RFID技术的动态数据采集系统测试主要观察RFID读写器对标签是否读写成功。当数据块中的变量feedback 1为0时,其他变量有数据显示,则说明读写器对标签读写成功。当feedback 1不为0时,则说明读写器对标签读写失败。通过监控界面也可以观察到数据是否读写成功,即对比写入和读取的数据是否一致。如果读写数据一致时,监控界面正常显示。当读写数据不一致时,监控界面中不一致的数据背景会变成绿色,同时弹出“标签写入失败”窗口。现场测试当车门经过RFID读写器时,PLC对标签读写正常,数据传输无错误,监控界面显示正常。根据测试要求,本文现场模拟了标签不在范围内的情况。此时,PLC收到一组错误代码,代表标签不在范围内。通过现场多次测试,验证了本文设计的系统运行稳定、容错率小。
4 结论
本文通过RFID技术,设计了车门生产线动态数据采集系统。系统分为两个部分:一部分是通过OPC协议,实现了Kepserver软件与PLC之间的数据传输;另一部分是通过Modbus/TCP协议,实现了欧姆龙V680S与PLC S7-1200之间的通信。
目前,基于RFID技术的动态数据采集系统已经在某汽车车门生产线上投入使用。实际的使用结果表明,该系统运行状态良好,不仅能够实现数据的采集,还能够达到追溯的目的,大幅度地提高了车门生产线的生产效率和工业生产的自动化水平,减少了生产线上工作人员的工作量。