许钟尤
(广西第一工业学校 广西 南宁 530023)
我国经济的迅猛发展,促使电力系统的迅速发展。与之配套,电力系统的经营和管理体制也必须进行相应的改革,即如何提高电能计量工作效率和质量。目前我国电能表的读取方式主要有人工抄表方式,预付电费方式和远程抄表方式三种。人工抄表的准确性和实时性受到限制。常用的远程抄表方式有电力线载波、公共电话网和无线电台抄表等。这些方式存在着成本高、施工麻烦、稳定性差等问题。本文将移动通讯技术应用于工业用电大户电能表的远程抄表系统上,不但实现了无线远程抄表,而且还节省了大量抄表所需的人力物力。同时也提高了电业管理部门对用电户的实时监管及管理效率。
随着GSM移动通信技术的成熟,以GSM网络为数据无线传输网络具有网络能力强的特点。用户无需另外组网,在极大提高网络覆盖范围的同时为客户节省了昂贵的建网费用和维护费用。基于GSM移动通讯的无线远程抄表系统原理如图1所示。
图1 无线远程抄表系统原理图
抄表系统由两个功能部分构成:电能表监控中心的监控软件部分和在各用电大户安装的抄表终端。监控软件由串口伺服程序,监控程序和SQL数据库组成。串口伺服程序和客户程序采用Visual Basic 6.0编写,通过访问SQL数据库实现数据的保存和查询。串口伺服程序通过串口不停向GSM模块发出AT指令。GSM根据AT指令进行数据的无线传送,与抄表终端进行联系。抄表终端采用单片机技术实现GSM模块的控制和电能表数据的读取。监控软件和抄表终端之间采用短消息进行数据传递。
本文采用的GSM模块是西门子公司生产的手机模块TC35。该模块是一个支持中文短信息的工业级GSM模块,具有语音、数据、短消息、FAX四种传输方式。它工作在GSM900mHz和1800mHz频带范围内。工作电源3.3-3.5V;波特率为300~115kbps,在1200~115kbps为自动波特率配置,数据传送采用AT命令集。模块对外提供标准的RS232接口和电源接口。模块采用GSM07.05规定的AT指令集。该指令集是ETSI(欧洲通信技术委员会)发布的,其中包含了对收发短信进行控制的指令。本文涉及到的部分AT指令如表1所示。
表1 部分AT指令列表
监控软件采用多程序协调工作的机制,根据需要分别编写了串口伺服器和监控程序。两者通过SQL数据库进行数据交换。程序的编写选用可视化变成语言VB6.0进行编写,程序界面简单明了,易于操作。
串口伺服程序是通过调用VB的控件MSComm来实现的。在程序中添加该控件方法是:在工具栏上单击右键,选择“组件”,然后选中Microsoft Comm Control 6.0选项,点击“应用”按钮即可添加该控件。程序中,该控件命名为commMain。程序的实现是通过调用该控件相关的属性完成的,其属性内容如表2所示。
表2 MSComm控件常用属性一览表
在具体的应用中,MSComm控件提供了两种方式来处理信息的流动,一是事件驱动;一是查询方式。前者是处理串行端口交互作用的一种非常有效的方法,不管是发生通讯事件或错误,程序都可以利用MSComm控件来侦测并处理这些通讯事件和通讯错误。后者通过对串口输入缓冲区进行检测,并在有数据来到的时候对数据进行读取操作。在这里采用查询方式对数据进行读取。其中通信事件的值设置为comEvReceive,即收到Rthreshold个字符,该事件将调用Input属性从接收缓冲区中删除数据。
串口初始化程序如下:
数据库是用于存储大量数据的区域,它通常包括一个或多个表。本系统数据的显示及存储都依赖于数据库技术。SQL Server 2000是Mi crosoft公司推出的关系型数据库管理系统。它不仅支持集中化数据库管理功能,而且还能实现分布式数据库的管理方式,最大程度地实现了管理与优化工作的自动化。本文选用SQL Server 2000建立数据库文件。
关于数据库的访问功能,在程序中是以程序模块的形式直接调用。模块中分别定义了各种常量,注册表操作函数;编写了SQL语句执行函数ExecSQL,读联接数据库参数函数ReadConnectParemeters,写注册表函数SetStringValue等。
在监控程序中分别完成档案管理、抄表管理、告警管理、数据报表等功能。程序的执行采用用户触发方式。
抄表终端安装在用电大户的电能表表箱中。一方面,抄表终端与电能表相连,通过485接口读取电能表的当前数据以及状态信息;另一方面,抄表终端与GSM模块相连,通过232接口向GSM模块发送AT指令,实现与监控中心的数据传送。
抄表终端硬件结构如图2所示。终端采用AT89C2051作为控制核心。2051一方面通过集成电路芯片MAX485与电子式电能表进行通讯,读取电能表的计量读数。另一方面通过集成电路芯片MAX232向GSM模块发送AT指令,并通过GSM模块实现与抄表中心的通讯。图中的电阻R1与开关J1组合,实现开箱报警信号的输入。当有非法开箱发生时,触发单片机的外部中断0。单片机在相应的中断程序中向GSM模块发送对应的AT指令,向抄表中心发送报警信息。图中右侧的信号线从上至下依次为:RXD-GSM串口通讯数据接收端;TXDGSM串口通讯数据发送端;RESETGSM-GSM复位信号线;B-电能表485通讯接口负端;A-电能表485通讯接口正端。
图2 抄表终端硬件结构图
系统中需要两个串行通讯口,但是AT89C2051只有一个串行通讯电路,因此采用软件模拟扩展一个串行通讯电路。图中2051的两个I/O端口(P1.6和P1.7)分别模拟串行通讯的RXD和TXD。
其中芯片MAX232完成TTL协议与RS232协议间的转换。为了完成转换功能,MAX232外围需要四个取值为1μF/ 25V的电解电容和一个取值为 0.1μF的去耦电容。芯片MAX485完成TTL协议与RS485协议间的转换。该芯片是一种差分平衡型收发器芯片。设计中,将引脚RE和DE相连后,连接在2051的P3.7引脚上。P3.7引脚控制MAX485的收发工作。另外,在MAX485的输出引脚A和B之间应跨接一个100Ω的电阻。
系统中没有设计上电复位电路,由看门狗芯片MAX705实现系统的复位和监控。系统正常时,2051通过P3.5引脚产生“喂狗”信号,保持MAX705的正常清零。一旦程序“跑飞”,P3.5失效,MAX705计数溢出,产生复位信号。
图3 程序流程图
系统的软件流程图如图3所示。
初始化程序主要完成单片机内计数器的初始化,串口通讯的设置,标志位的初始化等操作。为程序的正常运行做好准备工作。
在进入程序主循环之后,首先对MAX705计数器进行清零。此后的每次循环都要进行此项工作。
在工组中GSM可能会出现掉线的情况,因此,为了确保GSM正常工作,每次循环都需要检测GSM模块的在线情况。一旦GSM没有上线,就对其进行复位。并延时等待其再次上线。为了避免MAX705在延时程序期间产生复位操作,在延时程序中也对MAX705进行清零。
由于2051不具备扩展数据存储器的功能,所以将一些程序工作需要配置的信息存储在GSM模块的SIM卡中。其中SIM卡电话本的第1、2、3条分别存放电能表地址、短信中心号码和系统报警屏蔽设置。系统只在每次上电后执行系统初始化程序。
本系统的操作对象是DTSD666型三相四线电子式多功能电能表。该产品的通信协议符合DL/T645-1997《多功能表通信规约》的要求。需要注意的是在该通信规约规定的帧格式中,数据域的数据是真实值的十六进制数加33H所得到的数值,低地址在前,高地址在后。
为了保证程序的正常、安全、有效运行,这里采用查询的方式对GSM和计量电能表进行控制。分别读取电能表的正向有功总电能、费率1~4正向有功电能、A~C相电压电流等17项数据。
利用protel99SE电路板绘制工具进行了电路板设计,制作5×7厘米的电路板。系统通过了试验,并且在某电业管理部门进行了现场使用,安装抄表终端5台,抄表中心监控软件一台。通过现场试验,数据的传输效率高,准确性高。通过在上位机的设置,管理员可以通过手机对各抄表终端进行抄表。抄表终端的报警信息可以方便地传送到管理员的手机上。通过试验,系统的性能达到了设计的要求。
[1]袁明新,张友亮,储浩.基于VB6.0的远程无线通讯的实现[J].微型计算机信息,2003(19),6:71-72+51.
[2]赵大成,贾海燕.手机短信收发的AT指令控制[J].信息工程大学学报,2004(5),2:90-92.
[3]王红红,李仁俊.远程自动抄表系统中的通信方式[J].电力系统痛信,2003,11:47-50.
[4]樊晋予,余发山,崔立志.基于GSM模块的无线远程抄表系统现场控制模块研究[J].河南理工大学学报,2006(25),2:134-139.
[5]郭金英,鲁国才.DL/T 645-1997多功能表通信规约[S].中华人民共和国电力工业部,1998-02-10批准:7-13.
[6]高鹏,安涛,寇怀成.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2001:4319-377.
[7]余发山.单片机原理及应用技术[M].中国矿业大学出版社,2003,12: 121-126.