摘 要:论述了基于SIEMENSTC45" title="TC45">TC45无线模块设计的一个无线电力抄表系统的技术方案。TC45模块是可以利用J2ME编程技术进行程序开发的终端模块,在抄表系统中与电表端相连构成抄表及智能控制终端部分,而系统的服务器端则利用vc++6.0进行开发,两者之间通过GPRS" title="GPRS">GPRS网络实现基于TCP/IP协议的无线远程电力抄表智能控制系统。
关键词:电力抄表 GPRS J2ME TC45
传统的上门抄表计费方式由于费时费力,已经逐渐被自动抄表计费方式替代。在北欧一些发达国家,移动运营商已经将M2M(Machine to Machine)无线通信服务技术应用在自动抄表系统中。由于无线通信技术的发展,完全可以利用GPRS移动网络系统中提供的无线IP,在GPRS服务网络平台上构建远程无线抄表" title="无线抄表">无线抄表系统。其优点在于实时性强、能及时采集数据、可以远程控制,由于是利用GPRS公网的平台,因而只需用户安装终端模块,无需专门布线即可实现,投资小、收益大、抄表范围广,并且系统传输容量大、速率高、费用低。
1 系统概述
这里提出一种基于SIEMENS公司TC45无线模块的无线抄表系统(如图1所示)。该系统通过TC45模块建立了GPRS无线通信链路,进行基于TCP/IP的数据传输,实现IP地址设定、电表数据无线抄读和定时存储、远程I/O端口控制、报警通知、充电管理、停电数据保护、自动重启、三相供电、实时时钟等功能。系统中所有数据传输均严格遵循多功能电表通信规约,即645标准,具有良好的可移植性和可扩展性。
系统由多功能电表、TC45模块扩展板和服务器端组成。TC45模块的串口经光电隔离接口RS485与电表连接,实现抄读数据通信和对电表的智能控制。模块接收服务器端通过GPRS网络传送数据和信息, 经过校验分析, 将相关的查询指令通过串口传输给电表, 电表接收到查询命令后, 返回相关信息, 经过分析校验及相应的处理后, 回送到服务器端。模块的通用I/O接口通过外围扩展电路实现继电器拉闸和报警等智能化处理。一旦有断电、超温等报警事件发生, TC45端将作出相应的事件记录, 然后向服务器发出相应的报警信息。
2 系统硬件介绍
系统硬件组成框图如图2所示。三相供电电源提供的直流电压经DC/DC变换后提供给充电电路,对锂电池进行充电。而锂电池则向TC45模块提供工作电源,同时也使TC45模块在断电时有充足的电能进行断电保护和数据保存。TC45模块是西门子" title="西门子">西门子公司设计的一款基于GSM/GPRS引擎的无线通信模块,可工作于900MHz和1800MHz两种频率。带有九个通用接口、两个串口以及语音模块。该模块内嵌TCP/IP协议,通过J2ME平台,用户可以直接对TC45模块进行软件开发,大大降低了网络编程的复杂度,同时支持OTAP(空中下载配置)现场升级功能,可以实现远程下载程序进行系统升级维护。此外它具有内嵌FLASH、RAM和通用接口,可以免去外接MCU、FLASH、RAM等器件,降低了系统的复杂度,提高了可靠性。
IGT(Ignition)电路对电池电压及供电电压进行判断,当电池电压达到模块工作要求时,该电路向TC45模块发出启动信号,启动模块进行正常工作。LDO(Low Dropout Regulators)电路提供外围电路的工作电压。当供电电压低于设定值时,电源监视电路便向TC45模块发出断电报警信号。当输入开关信号发生变化时,遥信电路向TC45模块发出事件报警信号。当外界温度超出设定范围时,温度开关电路关断DC/DC电源并向TC45模块发出超温报警信号。485转换接口电路用于将TC45模块RS232串口信号与485通信信号进行转换,分别与TC45模块和多功能电能表相连,进行抄表设置等数据通信。遥控电路用于继电器、信号灯等开关信号的开合控制。RTC电池用于向TC45模块的实时时钟电路提供电源。
3 系统软件
整个系统的软件部分由服务器端(SERVER)软件和TC45模块扩展板软件两个部分组成(如图3所示)。SERVER端可以向TC45模块发送各种控制命令,如实时数据抄读请求、定时数据抄读请求、远程控制命令等。在TC45模块端,有每个控制命令的相应处理部分,此外还含有异常事件记录报警部分。
3.1 服务器端软件
服务器端软件使用Visual C++软件开发。工作时,服务器端首先向TC45模块以GSM短消息方式发送带有服务器IP地址的短消息,然后等待TC45模块端发起的与服务器的连接,这样做的目的是确保终端部分在需要的时候及时连接到服务器。当服务器端与终端通信连接成功以后,便可以向终端模块发送查询实时数据、读取定时抄读文件以及远程I/O控制等命令,并且对从模块端传来的反馈信息进行校验,作相应的处理与显示。此外,服务器也含有连接保持查询功能,以确保与模块端的通信连接畅通,一旦发生通信连接断开的现象,可以及时报警,并发起第二次连接。
服务器端界面含有三个显示栏(收到数据栏、数据含义栏和发送命令栏)和五个功能按钮(建立连接按钮、实时数据抄读按钮、定时数据抄读按钮、引脚控制按钮和sim卡号码按钮)。
下面举例进行介绍。当按下实时数据抄读按钮后,发送命令栏中显示发送的命令字,然后在收到数据栏中将显示从终端模块那里发送的实时抄表数据,经过校验解码后,便在数据含义栏中显示这个数据的意义,即2.8千瓦/小时。服务器接收到数据的截图如图4所示。
3.2 终端软件
TC45模块端程序分为下面几个功能部分。
初始化及通信连接部分:该部分在模块端程序运行时首先执行,对整个终端模块进行初始化操作,包括对GPRS网络进行配置、对模块引脚进行电平初始化等。然后进入等待服务器端的IP短消息阶段。在此阶段中,一旦收到含有服务器端IP地址的短消息,该程序便立即从消息中提取出IP地址,然后向服务器端发起TCP/IP的连接,待连接成功后,程序进入待机状态,随时对服务器端发送来的命令进行响应。如果连接失败,则会重新进入等待状态,等待服务器发出的再次连接短消息。
数据分析、处理、收发部分:在连接建立成功之后,该部分负责与服务器端的数据通信以及与电表的数据通信及处理。当接收到服务器端的控制、查询等命令时,先对命令数据进行校验,校验成功以后分析该指令,跳转到相应的操作函数模块部分。如果校验数据出错,则丢弃该数据。该部分也对电表端提供的信息进行分析处理,对电表数据进行校验,提取有用的信息,转换成发送给服务器的数据格式,发送给服务器端。
外围电路控制部分:该部分对各种操作命令进行响应,执行相应的功能。例如,远程控制命令需要执行时,就通过TC45的通用接口,控制相应LED数码管和继电器等外围电路。该部分也对外围电路的报警信号(断电、超温、开关等报警信号)作出响应和处理,并且在记录相应数据后,向服务器端发送报警信号。
定时抄读部分:该部分是针对电表抄表这个特殊的服务对象建立的一个部分。可以定时对电表进行抄读,然后将数据以文件形式保存在FLASH中,以便服务器端在需要的时候读取定时的抄读数据,然后对采样的数据进行分析,绘制图表。
连接保持查询部分:定时地接收服务器端的连接查询命令,以确保链路的正常工作。一旦发生连接断开,则让程序重新进入等待服务器端的IP短消息状态,以便再次进行连接。
文中给出的基于TC45模块的GPRS无线抄表系统,实现了电表无线抄读以及智能控制。此外,一个模块可以同时连接多个电表,这样使降低无线抄表系统成本,让无线自动抄表系统成为电力抄表的主力成为可能。该系统的后续开发空间很大,在今后的设计中,可以完成功能更为复杂完善的抄表控制功能。
参考文献
1 博嘉科.Visual C++ 6.0/Internet Programming Instance网络编程实作教程[M].北京:北京希望电子出版社,2001
2 Kruglinski,D.J.著, 潘爱民 王国印译.Visual C++ 技术内幕[M].北京:清华大学出版社,2003
3 Jeff Prosise 著.MFC Windows 程序设计[M]. 北京:清华大学出版社,2002
4 李现勇编. Visual C++串口通信技术与工程实践[M].北京:人民邮电出版社,2002
5 诶克尔 (Eckel. B) 著,侯 捷译. Java编程思想(第二版) (美) [M]. 北京: 机械工业出版社,2002
6 威廉斯 (Williams. A) 著, 何 雄译. Java 2 网络协议内幕(美) [M].北京:中国水利水电出版社, 2002