2. Research Institute of Highway Ministry of Transport, Beijing 100088, China
自改革开放以来,我国公路建设总里程快速增长,未来我国公路网总规模约为580万千米,其中国家公路约为40.1万千米[1]。为保障工程质量、完成评定验收工作及指导工程建设,利用压力试验机对试样进行抽样检测是必不可少的环节。建立联通施工单位、试验部门及监理部门的信息网,是提高道路质量监测的智能化程度和保障工程质量的重要手段。
在现有的试验数据获取过程中,有的工地实验室采用数显式试验机[2],用数码管显示试验结果,只能对试验结果在压力试验机本地端进行打印与存储,不能远程获取,并且试验数据与样品信息不能自动关联,样品的基本信息需要试验人员人工读取和录入,并建立试验台账,工作量繁重且容易出现疏漏;样品取样的可靠性低,试验数据被篡改的可能性大,对工程监理部门来说,这无疑增加了监管难度。
针对上述问题,本文基于Windows Mobile平台设计了公路工程质量监测系统,利用RFID技术将样品基本信息标签化。它结合网络化的压力试验机[3],以GPRS网络通信技术为媒介实现中心服务器、工程现场与工程试验室间的数据交互,为公路工程质量监管提供了一种新的思路。
1 系统结构设计公路工程质量监测系统通过对道路水泥块试样的耐压值、试样位置、试样龄期信息的远程快速获取,实现数据识别绑定及防篡改的监管目标。系统同时可以简化试验的操作流程,整个系统以Windows Mobile为平台,RFID标签为核心媒介。系统主要分2部分:一部分是试样工程信息与数据信息的标签化过程;另一部分是信息在服务器端的处理与管理。工程质量监测系统的总体结构如图 1所示。
在不破坏试样的工程特性前提下,在试样制作时,将RFID卡嵌入试样中,进行物理上的绑定。通过手持终端阅读器获取试样中的RFID标签号,结合存储在本地数据库中的试样工程信息进行标签化。手持终端对数据重新编码,再经由GPRS通信网络将标签化的试样基本数据发送至服务器数据库,服务器端软件对数据完成解码提取。压力机监控设备则获取规定龄期试样上的RFID标签号及强度数据发送至服务器。监管部门可以利用系统中RFID标签号的唯一性,对样品信息和试验数据进行查询和监督管理,保障工程质量。本文主要介绍试样工程信息标签化、远程传输和存储的过程。
2 RFID技术原理与应用RFID技术在现代物流管理、产品溯源、无线传感网络及库存管理方面有着广泛的应用[4-5]。无线射频识别是利用无线电通信,发射射频信号用于物体的识别与数据交换的技术[6]。RFID系统主要由RFID标签、阅读器和主机组成[7],其系统结构如图 2所示。
市面上的电子标签有无源与有源两类,本文采用应用广泛的无源类型,频率为125~134 kHz的低频类型[8]。其工作原理是:阅读器通过天线发出一定频率的信号,当电子标签进入可识别的范围,电子标签通过耦合的方式获取瞬时能量,进而完成与阅读器的数据交互。
3 Windows Mobile平台软件开发本系统是基于Windows Mobile 6.0平台,通过Visual Studio 2008编译环境,利用C#进行开发。作为RFID系统中的标签阅读器及数据处理部分,采用带有RFID识别固件并且支持GPRS业务的手持终端Pocket PC Phone。其中主要涉及的方面有:RFID标签读取、GPRS连接、界面设计及本地数据库设计。
3.1 RFID卡信息读取在系统设计过程中,根据工程实际选用的是低频工作范围,典型值为125 kHz,感应距离为1.2 m[9]。无源RFID标签数据的读取,需要通过阅读器中的耦合元件实现能量与数据的传递,通过调用硬件接口实现数据在应用层的体现。
新建System.IO.Ports.SerialPort类的新实例comm,配置端口参数、端口号、波特率、数据位、停止位等。然后执行comm.open()打开端口,通过comm.Isopen()获取端口正常打开标志。由comm.Read()方法将数据读取在数组rcvBuf中。数据的16进制格式进行LRC[10](纵向冗余校验)校验完成后,将有效信息字节数组转为ASCII字符串数据。
3.2 GPRS连接与通信设计使用GPRS进行数据发送,Windows Mobile提供了一套单独的API调用,通过连接管理器API建立外向连接[11]。连接管理器可以处理不同网络媒介上的底层连接,通过返回操作句柄,获取相关的连接状态。
数据传输采用的是基于构造函数TcpClient(string ip,int Port)连接到指定IP或DNS主机名的相应端口,实现传输层到会话层的连接。TcpClient()利用TCP协议实现客户端与远程服务器的连接及数据包的可靠传输,无需调用Connect()方法。使用标准的Stream流处理技术来实现数据的发送与接收,在获取网络数据流后,可以通过stream.Write()和stream.Read()方法进行数据的发送与接收。
整个通过GPRS连接服务器的程序流程图如图 3所示。
3.3 界面设计开发的软件平台是可交叉编译到Windows Mobile系统上的Visual Studio.Net 2008 for Smart Device[12],设计的界面如图 4所示。
选用的.NET Compact Framework 3.5是属于.NET Framework的精简版本,如图 4界面中添加的“Port”下拉框与“Open”按钮用于控制RFID卡识别端口的选择与打开。将识别到的RFID标签号赋给ID的Text属性,用于显示在界面及后续的数据标签化。工程现场具体水泥试样所取的位置通过4个与本地数据库绑定的comboBox1-4下拉控件来选取,取样日期通过dateTimepicker控件获取。
整个试样信息由工程标段、取样位置、龄期及取样日期组成,“数据生成”Button控件将RFID号同试样信息进行绑定及重新编码。“发送”Button控件将数据发送至服务器。
3.4 本地数据库的设计与数据处理SQL Mobile数据库可以直接通过Visual Studio 2008服务器资源管理器添加连接,选择Microsoft SQL Server Compact 3.5数据源进行创建。根据工程实际,每个标段一个数据库用于储存所取试样的位置信息。数据库中有4个表分别为一级菜单、二级菜单、三级菜单及四级菜单,下级菜单中的IDNum字段是来自上级菜单的ID字段,用于构成各个表的外键,整个数据库的结构如图 5所示。
3.4.1 数据库的导入与数据处理在开发平台Visual Studio 2008中建立的小型SQL Mobile数据库,存放在本地PC端,可以通过Visual Studio 2008或者Microsoft SQL Server 2005进行管理。利用Microsoft ActiveSync将sdf数据库批量拷贝到Window Mobile手持终端完成数据库的部署。
1) 数据库的连接。数据库路径作为传入参数,利用SqlCeConnection类完成连接。
2) 数据库数据的读取。调用SqlCeCommand对象的ExecuteReader方法以创建SqlCeDataReader的实例。方法SqlCeCommand.CommandText中设置SQL语句,执行SqlCeCommand.ExecuteReader构建数据读取器的实例,通过上述操作实现数据的读取。根据图 5中字段ID与IDNum的对应关系,查询在终端软件选择的取样位置信息。
由于GPRS网络会因为所处地理位置的不同而出现信号不稳定的情况,所以系统设计了超时重发及数据备份功能。
1) 超时重发。在Windows Mobile手持终端设置定时器,在点击“发送”按钮后,定时器启动,如果在规定时间内接收到服务器确认信息,整个系统进入新一轮RFID卡识别信息绑定。否则,将会以MessageBox的形式询问是否重发,以保障数据的完整性。
2) 数据备份。每次点击“数据生成”按钮后,数据在存入SendBuf的同时,当前记录将会存入本地的备份数据库Backup.sdf,用于保证数据的安全性。
3.4.2 GPRS数据整合与GB2312转码设计数据包由7段组成,分为英文数字部分与汉字部分,每一段用符号‘|’进行隔开,用于后续的数据识别,同时在数据包末添加“||”,用于数据包完整性的检测,如表 1、2所示。
传输的数据包含汉字,为保证数据的可靠性与数据量的精简性,可以通过GB2312模式进行转码。相对于Unicode与UTF-8两种内码,GB2312具有单字节表示英文,双字节表示汉字,同时兼容ASCII的优点[13]。利用C#中的字符编码类Encoding.GetEncoding()进行转码。同时在每个字节转码后插入标识符‘%’,用于设定当前字节范围。
3.5 Windows Mobile平台数据操作整个Windows Mobile工作示意图如图 6。包括GPRS数据连接,标签识别,取样位置选择及数据的编码、检测与发送。将RFID标签号,取样位置信息中的Address1、Address2、Address3、Address4及取样龄期,取样日期数据进行组合。同时通过标志位对整合的数据进行完整性检验,再经过GB2312转码生成,最后将数据发送至服务器。
4 服务器端应用开发工程各个标段通过手持终端将取样信息发送至服务器,服务器上运行的上位机程序,接收各个手持终端的数据进行解码并且在数据库存储,完成数据的RFID标签化。本节介绍基于LabWindows/CVI集成开发环境设计的上位机程序,主要采用事件驱动与回调函数的方式进行设计。主要涉及TCP/IP协议的网络通信、多客户端连接设计、数据的解码及数据库的设计。
4.1 服务器端应用TCP/IP协议网络通信 4.1.1 服务器TCP连接TCP协议提供了可靠的网络连接,LabWindows/CVI库函数提供平台无关性的、面向连接的字节流网络通信协议接口[14]。应用程序通过主机IP地址与端口号,使用ResgisterTCPServer函数将主机注册为服务器。手持终端通过主机名和端口号与服务器进行连接,服务器调用服务器回调函数完成相关操作。在服务器回调函数中通过不同的连接事件来处理不同操作。
TCP_DATAREADY数据读取事件下,利用函数ServerTCPRead从连接的终端机读取数据,并存进定义的数组CBUF中,利用函数ServerTCPWrite将确认信息发送至终端。
4.1.2 多客户端连接设计服务器与多个终端同时连接时,可以用相同的服务器回调函数响应不同终端请求事件,但需要不同的端口号。为此运用参数*Callback_Data为传递给回调函数ServerTCPCB的数据指针,来区分不同端口号的连接,实现多终端连接。通过判断不同的参数来确定当前终端的连接状态、连接数目等,进而完成相应的数据处理操作,设计如图 7所示。
4.2 服务器端数据处理服务器应用程序通过TCP_DATAREADY事件读取手持终端发送的数据,接收的数据是终端经过GB2312编码后的格式,所以需要进行数据的解码操作。数据解码后就通过系统的ODBC数据源管理器完成数据库的部署,利用SQL Toolkit实现数据库的操作。
4.2.1 解码与数据校验提取数据经手持终端GB2312编码后,根据其原理设计对应的解码程序。由标志位‘%’得到有效字节,将编码结果中的0~9转为16进制下的0~9,同理a~f及A~F转为16进制码A~F,最后获得以16进制表示的码制。
在接收的数据经过解码之后,则需要根据数据中设定的‘|’标志符来判断数据位,实现不同数据段的切割划分提取。同时由设定的结束符来确定数据的完整性。数据提取流程如图 8所示,其中数组output为经过解码后的字符串,数组flag用来存放标识符‘|’的位置,getbuf二维数组用来存储通过标志位剪切的数据段。整个程序流程通过循环嵌套的方式实现数据段的提取,便于数据的相关操作。
4.2.2 服务器数据库操作数据提取完成后,通过ODBC数据源管理器,将已经建好的SQL数据库实现在系统中的注册与配置。在LabWindows/CVI中利用SQL Toolkit完成数据库交互操作会话。手持终端发送带有RFID标签号的取样位置信息存进服务器数据库。工程试验室将试样的耐压数据与对应的标签号通过压力机监控设备发送至服务器,工程监理单位则可以通过唯一的标签号对工程质量进行监督。
5 工程试验验证与分析本文设计的基于Windows Mobile平台公路质量监测系统,在实际的工程中运行效果如图 9所示。打开初始化设定的RFID识别端口COM3,扫描RFID卡可以得到卡的信息。选定试样的位置信息,试样的龄期与试验日期,在生成数据后点击发送,将数据发送到服务器。
服务器应用程序接收的状态如图 10所示,将数据显示在应用界面,获取远程终端IP及存储数据。
如图 11所示,字段CardID为唯一标签信息,试样的四级式位置信息和试样龄期,实现了工程信息的标签化绑定,试样的强度信息根据CardID对应管理。由试验结果可知,系统可以应对多终端的连接及数据接收,同时给终端返回确认信息。分段解析的试样四级位置信息,如白竹沟大桥、基础及下部构造、左幅4#墩与4#墩桩柱系梁,与试样的试验日期、龄期及CardID等数据可以完整的提取并存储在数据库中。
在工程试验中系统通过一系列数据保障机制能完整的接收来自远程终端的数据,提升了系统的稳定性。服务器应用程序对数据包进行解析,各项工程信息可以便捷地进行处理。
6 结论1) 本文以RFID技术为中心媒介,通过对样品信息进行电子标签化,简化了公路工程质量监测流程。
2) 对数据包在发送与接收时分别进行编码和校验,保障了数据的完整性。
3) 采取本地数据备份与超时重发机制,提高了系统数据的可靠性,降低丢包概率。
4) 数据通过GPRS发送到远程服务器,解决了远程无线传输问题。
经验证,系统可以实现RFID标签与试样信息的绑定,数据传输稳定可靠,提升了工程监管部门获取监测数据的效率。
[1] | . 《国家公路网规划(2013-2030年)》[J]. 建筑机械,2013, 16 : 38 –44. |
[2] | 黄芳, 冯小飞, 戈登峰. 信息管理在公路试验检测中的应用[J]. 交通科技,2006 (4) : 115 –117. |
[3] | 马莉, 王秋生, 袁海文, 等. 公路施工压力试验机网络监测系统设计与实现[J]. 计算机测量与控制,2013, 21 (1) : 42 –44. |
[4] | 董雷, 刘凯. RFID技术在现代物流中的应用与实施研究[J]. 物流科技,2010, 33 (1) : 58 –60. |
[5] | 贺铭革, 朱本飞. 物联网原理与基于RFID的物物互联模式研究[J]. 物流技术,2010, 29 (21) : 27 –28. |
[6] | 万孟飞, 庄劲松, 曲大义, 等. 基于RFID和条形码技术的库存管理系统优化设计[J]. 青岛理工大学学报,2015, 36 (3) : 83 –89. |
[7] | 赵斌, 张红雨. RFID技术的应用及发展[J]. 电子设计工程,2010, 18 (10) : 123 –126. |
[8] | 李泉林, 郭龙岩. 综述RFID技术及其应用领域[J]. 射频世界,2006, 1 (1) : 51 –62. |
[9] | 张敏. 基于RFID的物流追踪信息系统研究与开发[D]. 武汉:武汉理工大学, 2008:32-33. |
[10] | 徐志勇, 王彬, 石银霞, 等. 1320Modbus通讯协议中校验码的计算方法[J]. 仪器仪表用户,2002, 9 (4) : 38 –40. |
[11] | WIGLEY A, MOTH D, FOOT P. Microsoft Mobile移动应用开发宝典[M]. 张大威, 译. 北京:清华大学出版社, 2008. |
[12] | 左晓静, 王红伟. 基于Windows Mobile的无线网络监测系统界面研究[J]. 煤炭技术,2010, 29 (8) : 188 –189. |
[13] | 肖由, 岳杰. 汉字编码自动转换算法研究[J]. 无线互联科技,2013 (3) : 107 –108. |
[14] | 王建新, 隋美丽. LabWindows/CVI虚拟仪器测试技术及工程应用[M]. 北京: 化学工业出版社, 2011 . |