技术中心
 
 

远传水表抄表系统设计与实现(1)

   日期:2007-07-23     来源:中国测控网     作者:管理员    

随着电子通信与计算机网络技术的发展,远程抄表技术在水、电和煤气计量方面得以推广应用。远程抄表技术的应用能够有效提高计量管理水平和工作效率。

为适应这个发展方向,在研制出有线远传水表及其数据采集器的基础上,开发了专用的数据集中器,并设计和实现了远传水表抄表系统。系统的用户主要是物业管理公司。利用这个系统,物业管理公司可以在管理终端远程采集水表数据,再结合使用计费管理软件统一完成数据处理、费用结算、打印帐单等功能。

由于系统采取水表、采集器和集中器三级结构、集中器和计算机又可以通过公用电话网远程通信,因此系统具有良好的伸缩性,其规模可以针对单独的楼宇或者住宅小区。

1 系统组成

远程水表抄表由水表、采集器、集中器和计算机组成,见图1。

图1 远程水表抄表系统组成示意图

在系统中,水表可以是传统的分散安装形式,采集器可以按照楼层或者单元来分配安装,为便于安装和日常维护,一般固定在弱电竖井的集线箱内。集中器物理位置根据采集器的布局决定,计算机的物理位置通常为物业管理公司。

图1中沿着自下向上的方向,水表通过RS-485接口挂接到采集器;采集器通过RS-485接口挂接到集中器;集中器(内置Modem)则通过公司电话网与计算机连接。

物业管理公司在计算机端运行通信程序,可以读取并存储来自各个集中器的数据,从而获得各个水表的读数;再借助于管理软件实现客户注册、计费和生成帐单等功能。由此实现了一个完整的远传水表抄表系统。

2 系统硬件构成

2.1 核心设备

系统的核心设备包括水表、采集器、集中器和计算机。这些设备连同附加的通信设备构成一个网络。

选用的远传水表,与一般常规水表不同的是具有密封在水表内的采集计数工作单元。

水表连续到采集器,一个采集器最多连接16只水表。采集器为一个完整的单片机系统,其程序用汇编语言开发,包括有自检、初始化、测量(定期采集水表数据,包括工作状态和各个水表的读数)、显示(8位LCD显示,循环显示挂接的水表读数及状态)和通信(RS-485接口)功能,并负责向水表供电。参数设置则通过参数设置开关完成,也可以通过其RS-232通信接口与计算机连接并利用程序来完成。

采集器连接到集中器,一个集中器最多连接64个采集器。集中器为单片机系统,定期读取采集器数据,包括工作状态和采集器数据,并负责向采集器供电。为了与计算机或者手持抄表器通信,集中器带有RS-232接口,并集成内置Modem(集中器与计算机通过Modem建立远程连接有两种方式,一种是专线连接,另一种是拨号连接。系统中采用了拨号连接。

这些设备互连形成一个网状系统。在系统实施的时候,根据节点的多少采集器和集中器的数目,保证了系统具有扩展和备用能力。另外,提供手持抄表器作为可选设备,在需要时可以在手动方式下工作:即直接用手持抄表器从集中器读取数据,把手持抄表器携带回物业管理公司,再在计算机中运行通信程序读取手持抄表器中的数据。

2.2运行描述

系统运行时,首先需要初始化。初始化工作包括:水表在其连接的采集器中注册(即用采集器的参数设置开关设置水表数目、水表在采集器内地址等,也可以通过计算机连接采集器进行设置);采集器在其连接的集中器中注册(即通过计算机或者设置开关设置采集器数目、采集器在集中器内的地址、读取采集器时间、月末结算日和故障记录等);集中器则注册 到运行在计算机上的管理软件中。经过以上初始化工作,保证每一台水表、采集器和集中器在系统中都被唯一标识。

初始化完成后,采集器负责水表读数;集中器则根据设置的读取时间读取采集器数据,并存储读取的实时和月末数据。计算机端运行通信程序,在其支持下读取并存储集中器数据。

3 通信程序设计与实现

水表与采集器、采集器与集中器之间的通信由相应的单片机系统作了处理。系统中还需要处理计算机与集中器的通信、计算机与采集器的通信;另外,使用手持抄表器读取集中器数据时,也需要通信程序支持使得计算机能够读取手持抄表器内的数据。

3.1 通信规约

采集器、手持抄表器通过RS-232串行接口与计算机通信;集中器与计算机通信则存在两种方式,其一是通过RS-232串行接口连接;其二是计算机通过Modem拨号到集中器,计算机作为主站发起,集中器作为从站、这时还需要相应的拨号程序。

以下示例是计算机读取集中器的参数时的约定:

计算机发送一个连接码AAH,集中器回送AAH,则连接成功;计算机继续发送一个功能码BIH(表示将读取集中器参数,一共14个字节),集中器回送14个字节。

在串行通信时,主要参数设置为:波特率2400bps、无校验、8个数据位、2个停止位。

3.2 串行通信实现

当计算机通过Modem连接到集中器的时候,首先利用拨号程序建立远程连接。利用程序设计语言编写拨号程序需要使用AT指令集。以下程序示例一给出拨号及挂断的程序片断,其中8307为集中器端的电话号码,使用的Modem为拨号式Modem,程序设计工具为Visual Basic6.0,Comml为手工串行通信的MSComm控件。

程序示例1:

()

′打开端口

′向Modem发出拨号指令ATDT

′向Modem发出挂断指令ATHO

Comml.Output=“ATHO”&vbCrLf

*

*

建立远程连接后即可以与集中器通信。以下的程序示例二给出计算机读取集中器数据时的通信程序片段:

程序示例2

Private Function cmdShaking click()

Dim av As Variant

′PC发送功能码AAH,JZQ返回AAH

OutByte(0)=&HAA

Comml.Output=Outbyte

′读取一个字节

If Comml.InBufferCount>0 Then

av=Comml.Input

InByte=(0)=av(0)

′比较

“AAH通信错误。”

GoTo errl

*

* 

  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作