《电子技术应用》
您所在的位置:首页 > 测试测量 > 业界动态 > 基于SP接入的无线测控系统

基于SP接入的无线测控系统

2008-07-08
作者:邱 昊,赵乐军,赵文侃,金 炜

    摘 要: 借助内容提供商SP的运行平台构建基于短信的无线测控系统" title="测控系统">测控系统,抛弃了传统的手机对手机的通信模式,而将前端改为SP接入,并且给链路上的短信封装了灵活的通信协议" title="通信协议">通信协议,从而在一定程序上提高了系统的整体性能,具有良好的可扩展性和移植性。
    关键词: 短信  SP  通信协议  无线测控

 

    目前,无线测控系统已经广泛地运用在车辆监控、无线抄表、小区传呼、工业数据采集系统等众多领域之中。常用的无线数据传输方式主要有以下两种:无线数传电台以及公用移动通信网。前者虽然实时性较高,传输速率也较快,但是由于其系统建设周期长,投资费用高以及需要一定高度的基础设施与之配合等缺点,导致其使用不是非常普遍。近年来,随着GSM、PHS等网络的迅猛发展,手机短信网络的覆盖面越来越广,系统的可靠性越来越高,重要的是该无线网络不需要用户进行自行维护。由于上述原因,在慢速测控系统中基于手机短信网络的无线测控系统变得越来越普及。
    以往讨论较多的基于短信的测控系统往往是手机对手机的模式[1],即监控中心与远程终端都是通过手机模块来进行短信数据的互传。这种模式的主要缺点是很难实现一点对多点的数据传输。本文介绍一种借助内容提供商SP(Service Provider)的运行平台来构建基于短信的无线测控系统。该系统在监控中心端通过网络直接与移动运营商的短信网关相连,避免了在监控中心端使用手机模块,因此可以较为容易地实现一点与多点之间的数据通信,大大提高了短信收发的频率。
1 系统基本结构
    本系统在设计时所针对的短信网络是中国电信的PHS网络。系统采用一点对多点的双向通信方式,一点即为数据监控" title="数据监控">数据监控中心,多点则为多个远程终端。每个远程终端连接一个受控设备,受控设备为支持Modbus协议的PLC。
    本系统的设计分成三个部分:数据监控中心、远程终端以及短信链路上的通信协议。数据监控中心发送应用于远程终端的控制命令,并且接收来自远程终端的回复信息。其前端通过SP方式接入中国电信的PHS短信网关,所有短信的收发都需通过短信网关来与短信中心进行交互。远程终端负责连接PLC,接收、解析并传递来自监控中心的控制命令;同时将PLC返回的信息以短信形式发送给数据监控中心。通信协议的作用则是为了改善短信链路上的固有缺陷,进一步提高系统的性能。
    系统的拓扑结构和分层模型分别如图1、图2所示。

 

2 数据监控中心设计
    数据监控中心采用SP方式接入短信网络,设计分成SP接口软件和人机交互软件两个部分。
2.1 SP接口软件
    传统监控中心的设计是通过一个或多个手机模块以无线的方式接入短信网络[1]。其缺点是增加了系统的硬件成本,更重要的是短信收发的频率受到短信模块自身能力的限制(较好的工业模块每秒仅能处理1~2条短信),从而使监控中心无法对多个终端同时进行访问,降低了发送端的实时性。在接入方式改为SP以后,监控中心就可以以短信网关作为桥梁,以有线网络的方式直接与短信中心进行短消息" title="短消息">短消息的交互,因而大幅度提高了数据监控中心的短信收发频率。
    SP和模块的发送性能对比如表1所示,在进行大话务测试时,SP每秒5条的发送成功率亦为100%。与原系统相比,SP还具有以下优点:(1)减少了短信在空中驻留所带来的延时。(2)增加了监控中心发送的数据的实时性。(3)增强了系统的可靠性(SP与短信网关底层通过TCP/IP协议传递数据)。(4)可以同时收发短信(收发依赖于多个不同的线程);而模块在一个时刻只能处理一个请求。(5)SP接入为软件接入,便于前期开发、后期维护和系统升级。

   

    SP接口软件负责整个数据监控中心与短信网关之间的短消息交互,它与短信网关之间采用SMGP协议进行通信。SMGP协议是一个基于数据包的交互式协议,底层通过TCP/IP协议传递数据包,每个数据包都包含请求标识,代表数据包的用途。SP与短信网关之间的通信为长连接[2],并采用Client/Server方式交互信息,SP作为Client端,网关作为Server端。
    SP接口软件在通过SMGP协议与短信网关进行数据交互时需采用特定的API函数,该类函数由短信网关设备供应商提供。最主要的API函数有以下几种[2]
    InitSMGPAPI(Parameter):初始化短信网关的API函数,应用程序只需调用一次此函数。
    SMGPSendSingle(Parameters):向短消息网关发送1条短消息到一个终端用户。

    SMGPSendBatch(Parameters):向短消息网关发送1条短消息到多个终端用户。
    GetSendBatchResp(Parameters):读取群发的某一条短消息的标识及其发送结果。
    SMGPDeliver(Parameters):连接短消息网关,等待接收属于本SP的短消息。
    因此,SP接口软件的核心就是利用以上函数处理好两个线程(发送线程和接收线程)及其分别对应的两个缓冲区(发送缓冲区和接收缓冲区)之间的关系。为了保障SP的发送性能,发送线程还配有重发机制。SP接口软件工作流程图如图3所示。

 

2.2 人机交互软件
    人机交互软件负责与用户进行沟通。其设计可分成监控软件、数据库管理软件和协议处理软件三个部分。
    监控软件采用GE Fanuc 的iFIX 软件。它具有易于扩展和集成、易于与数据库相结合、易于采用分布式网络结构等优点。本系统中,iFIX用于生成控制远程PLC的Modbus监控命令。
    数据库管理软件采用SQL Server 2000,它可以方便地与iFIX 进行接口。iFIX全面支持ODBC API接口[3],可直接把实时数据写入一个或多个关系数据库中,并可将数据从关系数据库写回到iFIX 实时数据库中。
    协议处理软件主要进行通信协议的处理接收iFIX软件的Modbus监控命令,并将其进行协议封装后提交给SP接口软件;同时将接收缓冲区内的短信进行协议解析,并返回给iFIX。
3 远程终端设计
3.1硬件设计

    与传统的远程终端相似,硬件由典型的MCU、存储器扩展、复位电路、电平转换以及相应的短信模块所组成。另外,由于MCU是通过串口" title="串口">串口上的AT命令与短信模块进行通信的,且MCU与受控的PLC之间的通信也是通过串口上的Modbus命令进行的,因此,本系统还需加上串口扩展电路,即将原MCU上的串口由一个转为多个。硬件核心框图如图4所示。

 

3.2 固件设计
    远程终端固件采用C语言设计,使用μVision3作为开发环境。固件结构可以分为三层:UART层、AT命令层以及协议层。这样处理的优点是结构清晰,便于移植[4]

    UART层:该层面向串口数据流,它将串口读写的函数进行了封装,并采用中断驱动模式对串口数据进行处理。在中断服务程序中,仅对由固件实现的两个缓冲区(UART发送和接收缓冲区)进行操作。
    AT命令层:该层面向手机模块,主要完成发送短信、接收短信和删除短信这三个功能。它从UART接收缓冲区中提取出AT命令,或者生成AT命令并填入UART发送缓冲区。
    协议层:该层与人机交互软件的协议处理软件相对等,主要进行通信协议的处理,将来自AT命令层的短信内容进行解析,恢复出原始Modbus控制命令,然后将其发送给PLC;并将来自PLC的回复信息按照协议要求进行打包,提交给下一层的AT命令层处理。
4 通信协议
4.1协议的特性
    短信本身虽然具有一些无法比拟的优点(如通信链路不需自行维护),但是它也隐含着一些特殊的缺陷,比如短信到来的无序性(后发先到)、延时的不确定性(易产生过期短信)、抗攻击性弱(无法自行判断短信是否合法)以及短信内容有长度限制(每条短信116个字节)。这一系列的缺陷都将给系统的可靠性和实时性造成影响,如果不加以适当的处理将会导致系统崩溃。因此,本系统在短信链路上引入了自定义的通信协议,即监控中心与远程终端之间交互的短信均需经过该通信协议进行封装。该协议提供的主要特性包括:
    (1)数据完整性:配有数据校验机制,确保短信在传输过程中没有传输错误。
    (2)安全性:自动剔除非法短信(包括号码非法、内容非法以及时间非法)。
    (3)可靠性:命令与回复通过序列号一一对应。
    (4)认证:配有认证机制,确保短信来自正确的信息源。
    (5)加密:对原始数据进行加密,防止其被未经授权的读取。
    (6)分片:对内容过长的短信进行自动分割,分别封装在序列号相同而分片号不同的短信中予以发送;接收端将分片短信予以组装。
    通信协议的帧结构如表2所示。

 

4.2 协议的处理过程
    接收时协议处理的实际上就是对多消息缓冲区的维护:程序在内存单元中开辟N个缓冲区(称为多消息缓冲区),用于缓冲接收到的合法短信。每一个缓冲区可以容纳最多5条分片短信,且该缓冲区内所有短信的序列号必须相等或者相差N的倍数(N即为开辟缓冲区的个数)。接收方的协议处理流程图如图5所示。

 

    表3反映了在网络状况不好时协议所带来的良好性能。从表中数据含义可以看出:剔除一条延时过长的短信可降低网络阻塞的程度,保证其后续短信能够按时到达。因此,加了协议的系统比不加协议的系统其平均延时从57.6秒降低至15.8秒,大幅度提高了系统的实时性能。

 

5 系统运行情况
    本系统进行了测试以验证系统的可行性。测试系统采用两个远程终端及相应模拟PLC,PLC站号定为21和44。数据监控中心分别以10秒和15秒为间隔同时向两台PLC发送Modbus控制命令,且等待回复时间均设为命令的发送间隔,超时的回复短信均作为命令失败处理。系统测试结果如表4所示。

 

    从表中可以看出,由于短信固有延时的存在,只要给回环系统加了时延限制,其成功率就无法达到100%。但是适当调整时延后,成功率仍可达到95%左右。因此,本系统适合于数据量较小的、突发性以及对延时要求不太高的无线测控系统。
本文构建了一个基于SP接入的无线测控系统。该系统较为容易地实现了一点与多点之间的数据通信,提高了监控中心端短信的收发频率,且灵活的通信协议进一步保障了系统的性能。因此,它可以较为容易地移植到类似的控制领域中去。
参考文献
[1] 高锋,季瑞松.基于GSM的短信模块TC35在远程抄表上的应用[J].电工技术,2004,9:32-35.
[2] 基于固定电话网的信息终端及综合信息系统技术规范:第七分册短消息网关(SMGP)协议V2.0.[S].CT/T6.2004.
[3] 汪晓平. PLC可编程控制器系统开发实例导航[M].北京:人民邮电出版社,2004:334-365.
[4] LABROSSE J J.嵌入式系统构件[M].北京: 机械工业出版社,2002:49-82.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。