基于ZigBee的液晶面板检测气路控制数据传输设计
2021-04-14李晓超
李晓超
(江南机电设计研究所,贵州 贵阳 550009)
0 引 言
ZigBee技术是基于IEEE 802.15.4标准的一种短距离无线通信技术,具有功耗低、成本小、组网能力强以及数据传输安全可靠等诸多优势[1]。其管理机构ZigBee联盟先后制定了ZigBee 2012、ZigBee RF4CE和ZigBee IP等技术规范,并推出了针对楼宇、射频遥控装置、能源和医疗保健等10项领域的应用标准[2]。同时,各大集成电路(Integrated Circuit,IC)厂商,如飞思卡尔、Ember以及Chipcon均相继推出了自主开发的ZigBee芯片和模块[3]。目前在工业监控、无线传感器网络、智能家居等物联网领域,ZigBee技术均得到了广泛应用。
1 信息传输需求分析
根据液晶面板检测的分布式气路控制需求,需要实现主控制器与气路控制器之间的无线信息交互及状态监控。其中,主控制器为英国的Trio控制器,气路控制器为ARM控制器,无线通信为ZigBee模块。主控制器下传给从控制器的信息包括动作流程状态、动作流程命令、机床状态以及玻璃型号等信息,从控制器上传给主控制器的信息主要包括I/O状态、动作流程状态、动作流程执行回复等。控制器和Zigbee模块间的通信接口为RS232-C,通过Modbus协议的RTU模式进行数据交换[4-9]。
2 数据传输信息流设计
设计了上位发送到下位的命令流格式和下位发送到上位的命令流格式。所有的命令流采用32位的数据,对应Trio控制器的一个32位的虚拟现实(Virtual Reality,VR)变量寄存器。
上位发送到下位的命令流格式如下:(1)D3—D0位定义为动作流程状态码,用于监视下位每个动作执行的状态,其中1表示动作执行中,2表示动作完成,3表示动作报警1号,4表示动作报警2号,依次类推;(2)D7—D4位定义为动作流程码,用于标识动作执行的流程,其中1表示气路系统初始化(下位),2表示机械臂到达待检玻璃(上位),3表示吸盘吸附待检玻璃(下位),4表示机械臂抓取待检玻璃到位(上位),5表示吸盘释放待检玻璃(下位),6表示机械臂从到位的待检玻璃处移走(上位),7表示大理石吸附玻璃(下位),8表示检测完成(上位),9表示大理石吹气(下位),10表示机械臂到达检完玻璃处(上位),11表示吸盘吸附检完玻璃(下位),12表示机械臂将检完玻璃移动到位(上位),13表示释放检完玻璃(下位),14表示机械臂移回原位(上位);(3)D14—D8位定义为机床状态码,用于监视机床状态,其中0表示机床运行正常,2表示机床出现1号报警,依次类推;(4)D15位定义为玻璃型号码,用于标识玻璃型号,其中0表示大玻璃,1表示小玻璃;(5)D19—D16位定义为系统识别码,用于识别子系统,其中1表示气路系统,其他预留;(6)其他位为备份。
下位发送到上位的命令流格式如下:(1)D6—D0位定义为输出状态码,用于监视各输出口状态,其中0表示相应输出口断开,1表示相应输出口闭合;(2)D19—D7位定义为输入状态码,用于监视各输入口状态,其中0表示相应输出口断开,1表示相应输出口闭合;(3)D23—D20位定义为动作流程状态码,用于监视下位每个动作执行的状态,其中1表示动作执行中,2表示动作完成,3表示动作报警1号,4表示动作报警2号,依次类推;(4)D27—D24位定义为动作流程执行回复码,用于标识动作执行的流程,其中1表示气路系统初始化(下位),2表示机械臂到达待检玻璃(上位),3表示吸盘吸附待检玻璃(下位),4表示机械臂抓取待检玻璃到位(上位),5表示吸盘释放待检玻璃(下位),6表示机械臂从到位的待检玻璃处移走(上位),7表示大理石吸附玻璃(下位),8表示检测完成(上位),9表示大理石吹气(下位),10表示机械臂到达检完玻璃处(上位),11表示吸盘吸附检完玻璃(下位),12表示机械臂将检完玻璃移动到位(上位),13表示释放检完玻璃(下位),14表示机械臂移回原位(上位);(5)D27~D24位定义为系统识别码,用于识别子系统(其中1表示气路系统,其他预留;(6)其他位保留。
3 Modbus协议下RTU模式的数据传输
Modbus协议下RTU模式的通信数据结构如下所述:(1)保持无输入数据≥10 ms为通信开始;(2)从站地址,具体为8位二进制数地址;(3)命令码,具体为8位二进制数地址;(4)数据(n-1)—数据0,表示数据内容,具体为8n位二进制数,n≤202;(5)循环冗余校验(Cyclic Redundancy Check,CRC)校验和,由CRC校验和低字节以及CRC校验和高字节组成;(6)保持无输入数据≥10 ms为通信结束[10]。
整个通信过程如下所述:一是初始化通信相关参数,其中包括了TRIO控制器串口通信参数、ZigBee组网通信参数以及ARM控制器的串口参数;二是按照Modbus协议下远程测控终端(Remote Terminal Unit,RTU)模式的通信数据结构进行通信数据的传输。
(1)初始化Zigbee组网通信参数。将与TRIO控制器连接的Zigbee模块设置成主节点,与ARM控制器连接的Zigbee模块设置成从节点,同时根据组网原则设置两个模块的波特率、网络编号、频道,并保持一致。设置完成后,主节点先上电,然后从节点上电,即可完成无线模块的组网。
(2)设置TRIO控制器串口通信参数。设定通信地址Address=1,采用SETCOM(baudrate,databits,sto pbits,parity,port[,mode][,variable][,timeout] [,linetype])设置通信参数,其中波特率、数据位、停止位、校验位以及ZigBee模块的设置一致,同时选用RS232端口、Modbus RTU通信协议传输32位整型变量。
(3)设置ARM控制器的串口参数。设定从站地址Slave Address=2,设定行控制寄存器和波特率分频寄存器的通信参数与Zigbee模块一致,初始化串口控制器寄存器、先进先出队列(First Input First Output,FIFO)控制寄存器以及中断控制寄存器等。
从站地址码为通信传送的第一个字节,这个字节表明预先设定地址码的ARM控制器将接收由TRIO控制器发送来的信息,并且响应回送以ARM控制器的地址码开始。TRIO控制器发送的地址码表明将发送到的从机地址,而ARM控制器发送的地址码表明回送来的从站地址。
命令码为通信传送的第二个字节,Modbus通信规约定义功能号为1—127,本子系统利用其中的一部分命令码。作为主机请求发送,通过功能码告诉从机执行什么动作;作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1,则表明从机没有响应操作或发送出错。同时,命令码也决定了通信数据结构中的数据格式。本系统中需要用到的命令码03(03H)表示读寄存器的内容值,16(10H)表示预设多个寄存器的值。
当TRIO控制器需要更新ARM控制器的执行状态时,使用命令码16(10H),具体的发送数据的格式为从站地址(02H)+命令码(10H)+起始数据地址高字节+起始数据地址低字节+寄存器个数高字节+寄存器个数低字节+需要设置的字节数+需要发送的数据+CRC校验数据的高字节+CRC校验数据的低字节。当ARM控制器需要获取TRIO控制器的执行命令时,使用命令码03(03H),具体的发送数据的格式为从站地址(02H)+命令码(10H)+需读取数据的起始地址高字节+需读取数据的起始地址低字节+需读取的数据的个数+CRC校验数据的高字节+CRC校验数据的低字节。发送完成后TRIO控制器回应ARM控制器的数据信息。
CRC校验和主要按照校验规则完成数据的CRC校验。最后根据发送数据的格式要求完成数据的发送,同时解析接收到的数据,提取上位的信息。
4 气路故障诊断与处理
气路控制原理如图1所示,根据气路系统的控制情况,建立了如表1所示的故障诊断机制,其中的LED1—LED4依次为ARM开发板上的4个指示灯。当出现报警信息时,系统通过指示灯和蜂鸣器提示操作者,操作者根据报警处理机制,重新执行相应功能或是停止设备,排查故障,待故障解除后重新启动系统。
表1 报警故障诊断表
5 验 证
进行分布式控制的试验验证,其试验过程如下所述。(1)搭建如图2所示的硬件测试环境,将所有与气路系统控制相关的压力开关、电磁阀等信号(具体见图1)接入转换板的一端,另一端连接到ARM开发板GPIO端的对应端口,具体对应关系见表2。(2)进行接口转换测试,主要完成两个方面,一是通过信号转换板将24 V的输入信号转换为3.3 V信号传入ARM开发板,二是将ARM开发板输出的3.3 V信号转换为24 V信号驱动电磁阀执行。经验证,转换信号均正常。(3)根据气路控制流程、数据交互格式,完成气路系统的分布式控制。在控制过程中,ARM开发板主要执行控制命令,同时将气路状态信息反馈给Trio控制器,Trio控制器根据气路运行情况顺次完成设备的其他控制。
表2 端口对应关系
6 结 论
基于Zigbee模块在Trio控制器、ARM控制器的硬件架构基础上,开展了数据传输信息流设计并进行了接口转换、气路控制信息传输试验验证,验证结果表明,该传输方案能满足液晶面板检测气路控制要求。