技术中心
 
 

基于GPRS与TCP的车辆载重数据管理系统设计

   日期:2012-10-23     来源:互联网    
核心提示:本系统是由Visual C++6.0结合SQL Server 2000开发而成,使用ODBC操作数据库,VC为数据库开发提高了良好的开发环境,ODBC能以统一的方式处理所以的数据库。

随着当今社会的发展和人们物质生活水平的提高,机动车已经进入了千家万户,车辆的过多给公路管理起来造成一定的困难,特别是货车的管理。

尽管公路局已经在公路的每一段才设置了称重收费站,但货车司机还是采用站外卸货,绕行,或者液压装置等一些高科技的手段,逃避检测,同时货车排队等候检测,也会造成公路的堵塞。

在货车行驶的过程中称重可以很好的解决公路交通问题,但是货车的车载终端系统的配置不适合对大量数据进行分析和存储,因此在货车行驶中将检测到的载重数据传输到管理系统,是解决问题的一个关键步骤。

1 系统的开发环境

本系统是由Visual C++6.0结合SQL Server 2000开发而成,使用ODBC操作数据库,VC为数据库开发提高了良好的开发环境,ODBC能以统一的方式处理所以的数据库。

在数据传输方面,本系统采用GPRS和TCP两种传输方式,实现了对数据库管理系统的操作。与以往的车载系统采用GSM传输相比较,有一下优点:

①GPRS采用分组交换技术,发送数据长度不受限制,而GSM每次发送最多只能有140个字节。

②GPRS是双向的,可以确切知道信息发送成败,而GSM是单向的。

③GPRS费用为0.01元/k,即1分钱可以传输数据1024个字节。而GSM发送140个字节需要0.1元。

④GPRS的延时时间很短。GPRS发送60字节延时5s左右,而GSM要延时10s以上。

2 系统的结构设计

2.1 系统模块设计

系统有6个模块,用户管理模块、货车信息模块、货车载重模块、货车超载模块、载重查询模块、超载处理模块。各个模块直接的关系示意图如图1所示。

 

各个模块直接的关系示意图

 

2.2 系统模块功能

1)用户管理模块 此模块用来管理用户的信息,用户分为管理权限和使用权限,用户以管理的权限进入管理系统后,可以添加、删除和查看用户信息,还可以修改用户的密码。

2)货车信息模块 此模块用来管理货车的基本信息,用户可以查看货车的信息,可以根据货车的车牌号、车主或者注册时间查询货车信息,当用户以管理权限进入时,可以添加、删除货车信息。

3)货车载重模块 此模块用来显示货车最后一次检测时的载重值,包括查询货车载重时的时间,用户可以根据车牌号查询这辆车的载重时间和载重值。信息不可以被修改,只能通过查询覆盖。

4)货车超载模块此模块显示货车的超载信息,包括所有的历史超载信息,因为要保护超载数据,信息不能被添加、修改和删除,任何权限的用户只能查询这些信息,可通过车牌号来查询货车的的超载信息。

5)栽重查询模块此模块能够让用户查询到货车当前的载重,并将查询到的信息记录到货车载重数据库中,如果查询到的信息超载,同时会查询得到的数据记录到货车超载数据库中去。

6)超载处理模块此模块能够自动处理从车载终端得到的超载信息,并且处理信息,将信息内容记录到货车超载表中。此过程在后台进行,不需要用户对其进行操作,用户只能够看到超载信息。

3 系统数据库设计

数据库是储存和处理数据的仓库,是一个系统的重要部分,数据库不仅能够存储个管理数据,而且能够提供用户所需的数据管理方式。

本系统的数据库使用SQL Server 2000设计,主要包括5方面的数据:

1)用户管理表(TABUSER):用户名(主键)、密码、权限;

2)货车信息表(TABMESSAGE):车牌号(主键)、车主姓名、注册时间、归属地、货车品牌、货车类型、货车载重、超载次数、关联字符;

3)货车载重表(TABLOAD):编号(主键)、车牌号、日期、时间、载重、是否超载;

4)货车超载表(TABOVERLOAD):编号(主键)、车牌号、超载日期、超载时间、载重;

5)货车车牌号管理模块(TABTRUCKNUMBER):车牌标志(主键)、归属省、归属地。

4 系统界面设计

系统主界面采用MFC下的对话框模式,主界面由用户登陆管理和货车信息管理组成,包括货车基本信息、载重信息和超载信息等,通过Tab控件,对货车信息的显示进行控制。界面图形如图2所示。

 

界面图形

 

5 数据无线传输设计

本系统中,对货车车载终端的数据通信有两个部分,一是系统服务器主动查询车载终端的载重信息,终端得到命令后,将载重信息返回给系统服务器。二是车载终端自动检测载重信息,并将超载信息自动发送到系统服务器。

当车载终端的数量很多时,系统要接受的信息量就比较大,而主动查询信息时,从命令发出到数据到终端信息返回需要一定的时间,所以只用一种通信方式会给信息接受产生混乱,这里主动查询用GPRS通信,自动接受用TCP通信。如图3所示。

 

数据无线传输设计

 

5.1 GPRS通信

本系统中,使用的GPRS模块的产品型号是AL-GPRS-S100,通过串口和终端连接。AL-GPRS-5100是南京沃龙电子科技有限公司设计的一款GPRS透明传输终端(GPRSDTU),内置工业级GPRS模块,支持DDP、DNS、VIPS多种通讯模式。具有RS232接口的工业设备无需更改任何软件即可通过GPRS无线联网。

 

AL-GPRS-S100规格参数表

 

VC连接串口要插入MSComm串口控件,作为一个串行通讯控件为程序员串口通讯编程节省了很多时间,当控件载入对话框中时,会自动创建控件CMSComm的类。

 

程序

 

 

程序

 

5.2 TCP通信

系统和车载终端不是一个局域网,所以首先要穿透局域网,这里采用“TCP打孔”,“TCP打孔”与其他的方法相比较,具有较易实现、效率高等优点,基本原理是:处于局域网的用户先与公网上的一个连接服务器建立辅助连接,在呼叫发生时,通过连接服务器的协助在呼叫双方间建立TCP直连。

VC进行网络通信要插入CSocket类,CSocket支持同步操作,可以单独使用,通常情况下与CSocketFile、CArchive类一起实现数据的发送和接收。

TCP接收数据程序:

 

TCP接收数据程序

 

6 数据传输设计

6.1 数据发送设计

在载重查询模块中,用户通过车牌号对货车载重查询时,发送数据。具体过程是:当输入查询的车牌号时,通过在货车信息表(TABMESS AGE)查询车牌号,将对应的关联字符作为查询命令,发送出去。数据发送过程如图4所示。

 

数据发送过程

 

6.2 数据接收设计

在载重查询模块和超载处理模块中,系统接收数据,具体过程是:系统接受的每一个数据是由两部分组成,关联字符+货车载重,先将数据分开,通过关联字符在货车信息表(TABMESSAGE)查询出对应的车牌号,再根据车牌号在货车载重表(TABLOAD)中查找,将货车载重的数据修改或者新建。

同时通过关联字符在货车信息表(TABMESSAGE)查询出对应的载重,比较数据表中的载重值和接收到的载重值大小,决定是否将得到时间保存到货车超载表(TABOVERLOAD)中。数据接受过程如图5所示。

 

数据接受过程

 

6.3 对话框界面设计

界面主要包括串口连接部分、发送数据部分和接受数据部分。串口部分的参数选择由组合框提供,要发送的数据有编辑框输入发送,接收的数据和接受数据的时间保存在列表框中,对话框的界面如图6所示。

 

对话框的界面

 

例:在货车信息表中,车牌号为“陕A00000”,对应的关联字符为“SHAN0000”,载重为“20”。当查询此货车载重时,在文本框中输入“陕A00000”,通过货车信息表查到关联字符“SHAN0000”。

将关联字符发送出去。当接受到字符“SHAN000025.000”时,先将字符分开成“SHAN0000”与“25.000”,在货车信息表中查找关联字符,得到车牌号和载重,比较载重和字符“25.000”大小,得到超载,然后将车牌号和超载字符“25.000”保存到货车超载表中。

7 结束语

文中阐述了使用Visual C++6.0和SQL server 2000设计一个管理系统的实现思想和管理方法,以及详细介绍了对外界进行数据通信,达到了系统对车载终端的检测,以及对货车信息的管理,满足了高可靠、高稳定的要求。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢