好文档 - 专业文书写作范文服务资料分享网站

基于GPRS无线网络的机车远程数据传输系统

天下 分享 时间: 加入收藏 我要投稿 点赞

基于GPRS无线网络的机车远程数据传输系统 [作者:陈特放 王延翠 转贴自:微计算机信息 Method of locomotive remote data transmission based on GPRS Abstract: With the speedup of train, in order to guarantee the locomotive run safety, it is necessary to build the remote data transmission platform based on wireless network, which could be used for the locomotive department realize remote monitoring and supervision towards the locomotive. In this paper, a kind of locomotive remote data transferring system based on GPRS wireless network was briefly introduced, and the communication scheme and data transferring method of the proposed system were expatiated, and the exploit way of data center’s and locomotive-carried terminal’s network communication was in-depth discussed respectively. Key words: locomotive; GPRS; remote data transferring; SOCKET 摘要:在列车不断提速的前提下,为保障机车的安全运行,开发基于无线网络的远程数据传输平台,实现地面机务部门对机车运行状况的监控和管理实为必要。本文简要介绍了一种基于GPRS无线网络的机车远程数据传输系统,阐述了该系统的通信方案和数据传输方法,并对数据中心与车载终端的各自网络通信开发办法进行了较为深入地探讨。 关键词:机车;GPRS;远程数据传输;套接字 1 引言 铁路运输在我国各种现代运输方式中占有头等重要地位,随着我国铁路运输的不断大规模提速,对机车的安全性能要求也更高,仅依靠机车车载故障诊断装置,远不能达到机车安全监控的要求,所以在机车故障监测和诊断技术不断完善的同时,无线通信技术随着自身的迅猛发展,逐渐成为各国铁路开展机车故障监测和诊断工作中的一项现代技术手段。 GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是在现有GSM系统上发展出来的一种新的承载业务,通常称为2.5G,目的是为GSM用户提供分组形式的数据业务。GPRS永远在线,按流量计费,从而提供了一种高效、低成本的无线分组数据业务。特别适用于间断的、突发性的和频繁的、

点多分散、中小流量的数据传输,也适用于偶尔的大数据量传输。

本文将针对GPRS无线通信技术在机车远程监控管理系统中的应用,着重探讨它的系统组网方式和数据传

输实现方法。 2 系统概述 2.1 系统简介

机车远程数据传输系统充分利用中国移动公网资源,建立了基于GPRS无线网络的远程数据传输平台。如图1所示,该系统主要三部分组成:车载部分,网络通信部分和地面部分。车载部分主要负责机车相关数据的采集、存储和发送;网络通信部分负责数据的传输;地面部分则主要负责数据的接收、存储和处理。通过该系统就可以将机车远程数据传输到地面数据中心计算机,供地面对运行机车的状态进行实时监测和

故障诊断,为机车的安全运行起到保障作用。

同时,当通信链路建立后,车载和地面是双向通信的,通过其通信协议的配合使用,可以实现地面对车载的远程配置和命令响应。该系统采用模块化设计思想,可对系统功能模块进行删减或扩展以符合具体需求

和应用。由于本文的侧重点在于机车远程数据传输方法的介绍,对此不再详述。

图1 机车远程数据传输系统组织结构框图

2.2 系统组网

要构建机车的远程监控管理系统,首先必须建立无线数据传输链路。只要GPRS模块配备的SIM卡开通

移动互联网业务(即GPRS业务),就可使与之连接的电脑或其它设备方便、轻松地登录网络,进行INT

ERNET连接,从而实现车载设备和地面数据中心计算机的网络连接,进而完成数据传输。

目前系统组网方式主要有以下两种选择:

1、数据中心计算机和车载终端设备都通过GPRS模块采用无线接入方式。这种接入方式具体有两种不同情况,要么两者都申请为具有固定IP的SIM卡,此时,中心和终端可双向随时随地地建立连接;要么数据中心在模块上设置移动内网固定IP,终端为普通SIM卡,这时,终端必须主动向中心发起连接。这种接

入方式需要当地的GPRS网络支持APN功能。

2、数据中心计算机采用公网接入,也即INTERNET接入方式,终端设备通过GPRS模块采用无线接入方式。这种接入方式具体也分两种不同情况,一种是数据中心计算机采用公网固定IP,登录到移动网络的GPRS终端主动向数据中心固定IP和对其开放的端口发起连接。另一种是采用动态域名方式,它不需要数据中心计算机具有固定IP,但需要为数据中心计算机申请一个动态域名,通过域名解析服务器就可以将域名解析成对应的IP地址,车载GPRS终端可以通过一个固定域名与数据中心计算机建立连接。 比较上述两种组网方案,由于费用和稳定性等方面的因素,本文采用第二种组网方案,数据中心由INTE

RNET获取固定IP,终端设备通过GPRS网络获取动态IP,由车载终端设备主动连接数据中心。

3 数据传输的实现 3.1 系统通信方案

根据系统需求,机车远程数据传输系统采用了如图2所示的数据传输回路,它实际上提供了两个独立的数传回路。一是通过GPRS网络和INTERNET网络构成的网络通信回路,二是通过GSM网络构成的短信回路。其中前者是本系统的主要回路,负责机车远程数据的传输,后者作为特殊功能所用,或当GPRS回路异常时的一个备用通信手段。另外保留了电话呼叫的命令接口,但由于车载设备暂无人机交互界面,故没有实际使用其语音通话功能,仅当车载出现无法自行恢复的错误或故障时,呼叫中心号码,达到报警的目的,或者用来数据中心通过电话呼叫而激活车载终端,要求其上线,从而争取在网络连接中的主动性。 图2中的GPRS模块和GSM模块实质上是同一款模块,为了从功能上有所区分,笔者将车载端开通了GPRS功能的模块称之为GPRS模块,将数据中心不需要开通GPRS功能的普通模块称之为GSM模块。针

对上述的GPRS数据传输回路有几个地方值得注意:

图2 数据传输回路框图

1、车连地。在现有的网络环境下,终端必须主动连接数据中心,否则数据中心无法通过网络找到终端设

备。为此设定车载终端上电后自动向给定的数据中心IP地址和端口发起连接。

2、车载GPRS模块获得的端口是有时效的。车载终端连接并注册到数据中心后,如果一段时间双方没有数据传输动作,车载终端的端口可能被收回,这时数据中心再按照原来的IP和端口是无法找到车载终端的。若想使车载终端和数据中心保持实时通信,必须通过发送心跳包来维持此连接。否则只能在需要时,

用电话或短信唤醒的方式,通知车载终端上线。

3、TCP连接方式。内嵌了TCP/IP协议的GPRS模块为用户提供了TCP和UDP两种连接方式的选择,虽然UDP的传输效率较高,但是考虑到本系统传输数据量较大且要求可靠性较高等因素,笔者采用了TCP

连接方式。

对于只作为本系统后备通信手段的短信回路,由于篇幅有限,在此就不详加介绍了,短信部分在C++ Bu

ilder6.0环境中用C语言编写调试,方便下位机移植,增强代码的可移植性和重用性。

3.2 数据中心网络通信实现方法

套接字(SOCKET)是网络通信的基本构件。在Window系统下通过一套Winsock函数来实现套接字技术,不过使用Delphi设计基于套接字技术的网络通信程序大可不必关心这些系统功能,因为Delphi将这些功

能都封装在套接字控件之中了。

本系统采用的是典型的客户机/服务器(C/S)通信模式,其服务端(即数据中心计算机)的开发使用了Internet组件中的TServerSocket控件。Delphi的VCL提供的套接字基类(TServerClientWinSocket)封装了

Windows的套接字API函数,为TServerSocket控件提供了基础的TCP/IP网络功能支持,这使得我们在开发应用程序时不必关心套接字实现细节问题,只在其控件的使用上下功夫,就可以开发出满足自己设计

需要的网络通信服务端应用程序,节省了大量的时间和精力。

TServerSocket控件的ServerType属性有两种选择:stThreadBlocking和stNonBlocking,即阻塞式和非阻塞式。本文适应系统需要选择了阻塞式通信方式,为了避免主线程的阻塞,必须使用多线程技术,为每个连接创建独立的线程处理数据传输任务。首先在Port属性中设置用于监听客户端连接的端口,当侦听到有

客户端连接后,只需要在其OnGetThread事件函数中执行如下语句:

SocketThread := GPRSThread.Create (false,ClientSocket);

便为该连接创建了一个新线程,并马上进入到我们的自定义线程GPRSThread中,从而所有与这个客户相关的事务都由该线程来处理。而在GPRSThread线程中,实际上所有的任务都是在GPRSThread.Execute

过程中完成的,于是所有负责数据传输任务的用户代码都写在这里,并且顺序执行。

在使用套接字的ThreadBlocking阻塞式通信方式时,客户端和服务器的信息交互是连续的,这里的套接字读写操作都是通过流来实现的,这种操作方式能够方便程序设计,而且具有一定的安全性,VCL提供了实现这种流操作功能的类TWinSocketStream。在使用套接字流读写套节字中的信息前,需要先创建之并

将其与套接字建立联系,代码如下所示:

Stream := TWinSocketStream.Create (ClientSocket,TimeOut);

TWinSocketStream提供了Winsock中没有的超时机制,其中的TimeOut是设定的超时值,以毫秒为单位,

为套接字的读写操作提供准备时间。 3.3 车载终端网络通信实现方法

GPRS模块主要完成无线上网的功能。市场有一些成熟的产品,现在很多模块内部已经内嵌了TCP/IP协

议,使上网更简单,只通过AT命令即可轻松上网,使用起来非常的方便。

华为GTM900便是一款内嵌了TCP/IP协议的GPRS模块,其建立GPRS连接并实现数据传输所使用的主

要AT命令如表1所示。 表1 TCP/IP常用AT命令列表

基于GPRS无线网络的机车远程数据传输系统

基于GPRS无线网络的机车远程数据传输系统[作者:陈特放王延翠转贴自:微计算机信息MethodoflocomotiveremotedatatransmissionbasedonGPRSAbstract:Withthespeedupoftrain,inordertoguaranteethelocomotiverunsafety,it
推荐度:
点击下载文档文档为doc格式
806ym9jltd2mdyx42w61
领取福利

微信扫码领取福利

微信扫码分享