基于CAN总线和WiFi通信的爬架组监控系统设计

2018-02-28 10:53贺尊义劳振煜
无线电通信技术 2018年2期
关键词:上位数据包总线

贺尊义,劳振煜,李 宏

(宁波大学 信息科学与工程学院,浙江 宁波 315211)

0 引言

爬架是建设部在建筑业重点推广和应用的新技术[1],是一种附着在建筑物结构上,依靠自身的提升设备来实现升降的悬空脚手架,特别适用于高层建筑施工。爬架组是由多个架体沿着建筑物围成一圈形成的整体,它既可以整体升降也可以分片升降。由于爬架往往悬在高层建筑上,施工人员作业危险性非常大,为了保障施工安全必须对爬架组的安全状况进行实时监控。目前国内对爬架的研究多数停留在结构和动力设备的改进上,如文献[2]提出的集成式爬架,文献[3]提出的液压步进式爬架,对爬架控制安全方面的研究较少。近年来随着对施工安全的不断重视,开始有对爬架控制安全的研究,如文献[4]提出的基于485总线的爬架控制系统,通过便携式PC机和专用控制仪表来监控爬架,提高了爬架运行的安全性。但485总线构成的主从式结构系统,系统的实时性和可靠性并不理想,无法满足实时监控爬架的需求。并且控制现场各设备间多采用有线连接,致使现场布线复杂,监控设备移动性差[5],为爬架的可靠运行埋下了安全隐患。

针对上述问题,本文设计了一种基于CAN总线和WiFi通信的爬架组监控系统,能有效减少现场布线,增强监控设备的可移动性,满足实时监控爬架安全的需求。该系统由分控器、协调器和上位机构成,通过CAN总线实现各分控器和协调器间的通信,通过WiFi模块实现协调器和PC端上位机的无线通信。分控器主要起到数据采集的作用,采集爬架的重要参数信息并上传给协调器。协调器主要起到数据中转的作用,利用TCP/IP协议与上位机进行通信。用户可以很方便地在PC端查看爬架组的所有参数信息,一旦发现报警可立即通过上位机操控爬架,及时排除险情。

1 系统总体结构

爬架组监控系统的总体结如图1所示,自底向上可将其分为三层:数据采集层、数据中转层和数据处理层。

图1 爬架组监控系统总体结构

数据采集层是指分控器采集爬架的基本参数信息。分控器安置在爬架组的各个架体上,每个分控器都拥有重力传感器、拉线传感器和倾角传感器分别采集所在架体的拉力、高度和倾角。分控器一面将传感器信息和故障信息通过CAN总线上传给协调器,另一面从协调器接收上位机下发的控制命令来控制执行机构。

数据中转层主要由协调器和WiFi模块组成。协调器接收到分控器上传的数据后将其打包通过WiFi模块发送给上位机,同时从WiFi模块接收上位机下发的控制命令并通过CAN总线发送给各个分控器。

数据处理层是指PC端的上位机接收到数据后将其解析,并在上位机界面上显示。上位机有状态显示、记录查看、系统控制、参数控制等功能。用户可以通过状态显示对爬架的安全状况进行实时查看,也可以通过系统控制发送命令给分控器对其进行操控,如此便实现了对爬架组的实时监控。

2 系统硬件设计

2.1 数据采集层的硬件设计

数据采集层由25个分控器以及传感器组成。分控器采用STM32F103为主控芯片,配合检测电路、继电器电路、CAN收发电路、LCD接口等外围电路,其主要职责是采集所在架体的参数信息以及控制架体的升降。数据采集层采用CAN总线来构建各分控器间的通信网络,理论上CAN总线可容纳的终端节点的个数不受限制[6],但本系统中仅连接25个分控器,可有效减轻总线上的负荷。倾角传感器采用的是MPU6050,可测得架体在前后、左右两个方向的倾斜角度。拉线传感器采用的是MPS-L-MA电流型传感器,其量程范围为0~5 000 mm。重力传感器采用电压型称重传感器,其量程范围为0~10 T。LCD用于显示参数信息与故障信息,E2PROM用于存储报警参数阈值,固态继电器用于控制电机,分控器的硬件结构如图2所示。

图2 分控器硬件结构

2.2 数据中转层的硬件设计

数据中转层的核心部件是协调器和WiFi模块,在系统中主要起到数据中转的作用。协调器的主控芯片采用的是ST公司的STM32F107,内置CAN控制器,可提供两路CAN接口,具有功耗低、成本低、性能高的特点,能满足数据中转的要求。板上外扩了一个SRAM存储器,因为涉及到通信编程对内存需求较大,协调器的硬件结构如图3所示。

图3 协调器硬件结构

WiFi模块采用的是ESP8266,它内置了TCP/IP协议栈,完全支持IEEE 802.11b/g标准,支持UART/GPIO数据通信接口,能很方便地通过串口与微控制器连接[7]。该模块可分别在STA/AP/STA+AP三种模式下工作,在本系统中将其配置为AP模式,PC机作为一个station接入ESP8266与其构成无线局域网络,从而实现数据的互访。WiFi模块硬件电路如图4所示。

图4 WiFi模块硬件电路

3 系统软件设计

系统软件设计包括CAN通信设计、分控器软件设计、协调器软件设计、WiFi通信设计和上位机软件设计。

3.1 CAN通信设计

3.1.1 CAN应用层协议设计

协调器与各分控器间的数据传输是通过CAN总线来实现的。从OSI网络模型来看,CAN总线仅仅定义了物理层和数据链路层,并未对其他层做出规定,因此用户可根据实际需求定义应用层协议[8]。在本系统中主要用到了CAN总线的数据帧,其结构如图5所示。

图5 CAN数据帧结构

根据系统功能特点将CAN数据帧的11位标识符划分为3个区域:2位用来标志优先级,3位用来标志帧类型,6位用来标志节点编号。在设计中共定义了8种帧类型,其中急停帧用来广播停止命令;报警帧用来发送故障信息给协调器;测试帧用来测试分控节点是否连接上;点对点通信帧用来设置单个分控的节点编号;传感器信息帧用来传输传感器信息;受控设置帧用来发送信息给被控制的分控节点;控制命令帧用来发送控制命令给各分控节点;阈值设置帧用来发送报警阈值给分控节点。具体的定义如表1所示。

表1 报文帧类型表

优先级标志(2位)帧类型标志(3位)节点编号标志(6位)帧类型000000-111111急停帧010010-111111报警帧100100-111111测试帧100110-111111点对点通信帧111000-111111传感器信息帧011010-111111受控设置帧011100-111111控制命令帧011110-111111阈值设置帧

3.1.2 在线检测机制

协调器向分控器请求数据前先要确认其是否在线。协调器每隔500 ms对CAN网络内的分控器发起一次轮询检测,采用“三次握手”方式确认分控器是否在线。若在轮询检测中向某分控器发送测试帧,连续三次均未收到回复,则认为该分控器已掉线,向接下去的分控器发起测试。在线检测通信过程如图6所示。

图6 在线检测通信过程

3.2 分控器软件设计

分控器的职责是采集爬架组的基本信息并对电机进行控制,其软件设计可分为主程序和中断服务程序两部分。在主程序中,分控器先进行硬件资源初始化和开机自检。接着判断自己是否接入CAN通信网络,若成功接入就采集爬架的基本参数信息,包括拉力、高度、倾角,然后把这些数据通过传感器信息帧发给协调器,此外还要响应控制指令对电机进行控制。主程序的工作流程如图7所示。中断服务程序主要包括:通信状态的检测、按键信号的扫描、CAN通信处理和故障信息处理。其中CAN通信处理是指分控器接收到协调器下发的各种CAN数据帧后并进行相应的处理。故障信息处理是指分控器集中处理检测到的故障信息并通过报警帧发给协调器。

图7 分控器主程序流程

3.3 协调器软件设计

为了提高系统的实时性,协调器在μC/OS-II操作系统的基础上进行软件设计[9],其软件结构可分为3层:驱动层、操作系统层和应用层。应用层包括3个任务,分别为WiFi通信任务和CAN通信任务、LCD显示任务。在WiFi通信任务里,协调器一面接收上位机下发的命令,另一面将数据打包发送给上位机;在CAN通信任务里,协调器主要负责在CAN通信网络里与各个分控器进行数据交互;LCD显示任务中主要是显示协调器与各个分控器以及上位机的通信状况。协调器的软件结构如图8所示。

图8 协调器软件结构

3.4 WiFi通信设计

协调器与上位机之间的无线通信采用TCP/IP协议。TCP协议提供了无差错的数据传输,保证了数据通信的可靠性,并且同时提供了流量控制和拥塞控制[10-11],所以在对数据包进行解析时,大大降低了PC端上位机软件的处理压力。为了适应协调器与上位机之间的数据传输特点,在TCP/IP协议以上制定了满足系统功能需要的数据包格式。起始符和结束符各占两个字节,规定了数据包的开始和结束。包类型规定了数据包的类型是状态数据包还是命令数据包,状态数据包是协调器向上发送的爬架参数信息,命令数据包是上位机向下发送的控制命令。包长度规定了数据包中数据的长度。数据包的具体定义如图9所示。

起始符(2byte)包类型(1byte)包长度(1byte)数据1(1byte)…数据n(1byte)结束符(2byte)

图9数据包格式

WiFi模块的配置以及通信功能的实现是通过向其发送AT指令来完成的。在协调器中通过MCU用串口向模块发AT指令的方式将ESP8266配置为AP模式,在这个模式下WiFi模块是无线网络接入点(相当于路由器),而PC机则是个无线终端。为了方便应用层的调用,在驱动层中编写WiFi收发函数:ErrorStatus ESP8266_recv_message(char *msg,char *num,uint8_t *length)和ErrorStatus ESP8266_send_message(uint8_t *msg,uint8_t length,uint8_t num)。在WiFi通信任务中协调器与上位机的通信流程如图10所示。

图10 WiFi通信流程

3.5 上位机软件设计

上位机软件是整个监控系统的核心,其职责是实时监控爬架组的参数信息,帮助用户及时发现故障、处理报警,保证爬架稳定安全地运行。上位机软件是采用图形化编程语言LabVIEW编写的。LabVIEW集成了大量有关数据的采集、分析、显示和存储的工具和函数,在测量、监控等领域具有明显的优势[12]。

上位机的软件设计包括三大部分:WiFi通信、数据处理和系统控制。首先是WiFi通信,当上位机检测到WiFi开启后,打开TCP连接函数并输入相应的IP地址和端口号[13],然后调用TCP read读取TCP数据将其放在接收缓存区。接着是数据处理,对接收缓存区中的数据进行解析,然后按照不同的需求对其进行处理分别是数据显示、数据存储和数据查询。系统控制是相对独立的一部分,包括参数设置、激活组设置和动作控制,每部分的操作指令都会转换成命令数据包的形式,通过调用TCP write下发给协调器。上位机的软件结构如图11所示,上位机的程序流程如图12所示。

图11 上位机软件结构

图12 上位机程序流程

首先上位机对用到的资源进行初始化,包括显示控件恢复到默认的状态,系统参数从配置文件中加载出来,参数阈值从本地磁盘的文件中读出来等。接着打开WiFi与协调器进行通信,上位机通过协调器来接收在线分控器采集的爬架基本参数信息并显示,根据用户的操作决定是否将数据保存或是否查询数据库。然后根据阈值参数判断爬架参数是否正常,若异常进行报警指示。最后用户选定激活组并对组内的爬架进行控制,通过TCP write将指令下发给协调器。

4 系统测试

对系统的功能与性能进行测试,用CAN总线连接分控器和协调器,当系统上电后打开PC端的上位机软件,系统运行时的上位机软件图形界面如图13所示。

按照功能可以将上位机界面分为参数设置、记录查看、系统控制、状态显示这4个区域。参数设置是用户可以根据实际需求设定传感器的报警阈值,并将其下发给各个分控器。记录查看是帮助用户可查看所有爬架组的传感器信息和故障信息,并且上位机会定时将这些信息存储到数据库文件里供用户查看历史记录。在系统控制中用户通过点击图形按钮直接操控爬架的升降。状态显示是上位机会将爬架组的所有信息(包括拉力、高度、倾角、故障信息)通过图形化的方式在左侧面板上显示出来,用户可以很直观地观察到爬架的安全状况。

图13 上位机软件图形界面

5 结束语

本文设计了一种基于CAN总线和WiFi通信的爬架组监控系统。该系统主要由分控器、协调器和PC端上位机构成,采用可靠性更高的CAN总线构建协调器与各分控器间通信网络,使得网络内各站点间能自由通信,大大提高了系统的可靠性和实时性。采用WiFi模块实现协调器和PC端上位机的无线通信,PC机可在任何接收到无线的地方对爬架进行监控,克服了现有监控系统受有线连接限制的弊端,提高了系统的灵活性和便捷性。实际测试表明该系统运行安全可靠,能有效提高爬架运行的安全性,保障施工人员的人身安全,在建筑施工领域有良好的应用前景。

[1] 李会良.爬架在高层建筑施工中的应用研究[D].西安:长安大学,2010.

[2] 葛川玲,刘坤,孔祥玉.集成式爬架在住宅楼施工中的应用[J].建筑施工,2015,37(9):1094-1096.

[3] 祝永成,焦红卫.液压步进式爬架提升技术研究[J].国外建材科技,2006(5):47-50.

[4] 罗少轩,乔爱民,王艳春,等.一种新型附着式升降脚手架控制系统设计[J].齐齐哈尔大学学报(自然科学版),2014,30(5):47-51,60.

[5] Liu L,Zeng Y,Li J.Research on the Track Dynamic Monitoring System to Assess the Safety of Train Operation [J].Procedia Engineering,2014,84:726-730.

[6] Ismail K,Muharam A,Pratama M.Design of CAN Bus for Research Applications Purpose Hybrid Electric Vehicle Using ARM Microcontroller [J].Energy Procedia,2015,68:288-296.

[7] 曾磊,张海峰,侯维岩.基于WiFi的无线测控系统设计与实现[J].电测与仪表,2011,48(7):81-83,96.

[8] Merugu R,Pai S.Microcontroller Based Temperature and Luminosity Control System Using CAN Bus[C]∥International Conference on Advances in Communication and Computing Technologies.IEEE,2015:1-5.

[9] Song X,Chen L.The Design and Realization of Vehicle Real-time Operating System Based on UC/OS-II[C]∥International Conference on Networked Computing.IEEE,2010:1-4.

[10] 陆晶晶,朱善安,叶旭东.基于TCP/IP协议的电工电子网络实验室[J].机电工程,2007,27(4):70-72.

[11] Han S,Kim H.On AUTOSAR TCP/IP Performance in In-Vehicle Network Environments[J].IEEE Communications Magazine,2016,54(12):168-173.

[12] 王树东,何明.LabVIEW在数据采集系统中的应用研究[J].国外电子测量技术,2014,33(6):103-106.

[13] 方立军,陈卫松,章良玉,等.基于STM32的以太网网络视频监控系统[J].无线电通信技术,2017,43(5):91-94.

猜你喜欢
上位数据包总线
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
SmartSniff
一种基于CAN总线的误码测试方法
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计