移动电站远程无线监控系统设计
2012-07-26尹志勇邵天章邢娅浪
尹志勇 邵天章 邢娅浪
(军械工程学院电气工程系,河北 石家庄 050003)
0 引言
移动电站具有工作地点不确定、工作环境恶劣等特点,在很多情况下,相关负责人一方面要关心移动电站当前的运行状态与警报情况,另一方面却又无法保证对所有移动电站的实时跟进。目前,大量电站均安装了智能控制系统,可实时检测各种运行状态参数,产生相应的报警保护,为远程状态监控提供了可能。普通的无线数据传输设备受到装置复杂昂贵、传输距离短、抗干扰能力弱等多方面因素的制约,基本不能满足使用要求。
全球移动通信系统(global system for mobile communication,GSM)是目前移动通信体制中比较成熟、完善且应用比较广泛的一种技术[1]。该技术可传输各种监测数据和控制命令,现已广泛应用于远程监控、定位导航、个人通信终端等领域[2]。因此,将GSM技术与电站智能控制系统相结合,可以很好地解决电站装备远程状态信息无线获取的问题。
1 硬件设计
1.1 系统整体功能结构
移动电站运行状态信息需由前端检测设备(通常为智能控制系统)获取。智能控制系统可与GSM模块相结合或采取一体化设计。系统主要由数据采集模块、CPU模块、人机交互模块、报警输出模块、控制输出模块、GSM通信模块等模块构成[3],其结构如图1所示。
图1 系统结构框图Fig.1 Structure of the system
数据采集模块将移动电站待测参数通过传感器、电子开关、调理电路、A/D转换等电路,将模拟信号转换为数字信号,并上传给CPU模块。检测参数一般包括电站输出电压、输出电流、电压频率、功率、发动机转速、温度、机油压力、电平电压等[4]。
CPU模块是系统检测控制中枢,可根据程序设定与外设进行数据交换。本系统选用的STC12C5410单片机,是美国STC公司在8051单片机标准内核基础上改进推出的一款具有增强型功能的单片机。该单片机芯片从引脚到指令完全与8051相兼容,可采用C51语言进行程序开发[5]。
人机交互模块包括键盘与液晶两部分。键盘便于用户进行各项功能控制,如系统参数设置、电站的启动/停机控制等,硬件设计可采用专用键盘芯片;液晶能实时显示各种被测参数数值、波形、报警等信息,使人机交互更加友好。
输出模块包括报警输出与控制输出两部分。当移动电站的某项参数值超过预设阈值时,报警输出模块将产生声、光、电等多种形式的警报。控制输出模块是实现移动电站启动/停机、在线编程等功能的主要执行机构,一般由多个继电器及相应驱动电路组成[6]。
GSM通信模块可实现移动电站远程数据传输功能。下文将作重点介绍,在此不再赘述。
1.2 GSM模块电路连接
系统选用捷麦公司G100系列的G100A型短信息收发模块。模块管脚定义如图2所示。
图2 G100A型GSM通信模块管脚图Fig.2 Pins of G100A GSM communication module
由图2可知,系统采用VCC直流正电源输入,范围为5~15 VDC。其中,GND为直流电源地;RXD为模块串口接收端,与微处理器的TXD端相连;TXD为模块串口发送端,与微处理器的RXD端相连;DSR、DTR为模式2指示串口数据端。
G100A型GSM通信模块可在模式1和模式2两种方式下工作。在模式1下,GSM通信模块与上位机连线采用三线制串口连接,没有其他任何握手和数据流控制线;连接方式简单,除电源外不需任何外围辅助电路。模式1下GSM通信模块与上位机连线图如图3所示。
图3 模式1下连线图Fig.3 Connections under working mode 1
模式2为GSM短信息透明传输方式。由于在部分应用场合,用户所用的上位机是成熟产品,无法改变其内在的通信程序及通信帧格式,使得模式1的应用受到了很大的限制。在模式2下,用户可以不改变原有上位机的通信帧格式,直接将其与GSM模块相连接,如使用Modbus等规约信令。G100A型GSM通信模块与上位机连线通常采用五线制的连接方式,即TXD、RXD、GND三条线传输信息内容,DSR、DTR两条线指示信息性质。无论信息是从上位机还是从GSM模块发出,都是无格式的,其内容是数据还是命令通过DTR和DSR两条线上的电平状态进行识别。DTR与DSR两条线的信号状态采取正逻辑,“1”代表数据,“0”代表命令。其中DTR由上位机控制,GSM模块读取其状态;DSR与之相反,由GSM模块进行控制,上位机读取其状态。模式2下的连线图如图4所示。
图4 模式2下连线图Fig.4 Connections under working mode 2
2 通信帧格式
系统采取模式1的工作方式,因此只讨论在模式1下GSM模块与上位机(微处理器)间的通信帧格式。数据的传输采用单片机串行通信方式1,即传输字节格式为1个起始位、8个数据位和1个停止位,无校验位,串口速率为多速率可编程。
GSM模块与上位机间通信的内容是由多个字节组成的数据包,数据包的基本格式为0xD7+控制字节+信息。其中,0xD7为包头,是上位机与GSM模块间传输数据包的起始字节;控制字节表明此数据包类型,当控制字节大于147 B时,其类型为命令,否则为数据。命令可由上位机通过串口发送给GSM模块,控制其执行一定的动作;也可由GSM模块发出向上位机报送模块内的相关参数或状态信息。数据指的是上位机与GSM模块间传输的有效信息,主要包括电站当前状态参数、警报信息以及用户通过手机短息发来的查询命令等。
2.1 数据格式
当数据包的控制字节小于147 B时,其类型为数据。这里规定数据包由上位机发出、GSM模块接收的为发送信息,反之则为接收信息。
①发送信息。发送信息的数据包格式如图5所示。
图5 发送信息的数据包格式Fig.5 Format of data packet of sending information
图5中,UDL表示待发送的除包头0xD7外总的数据长度,包括STA、UD和它本身的字节长度,且STA和UDL的字节长度一般是固定的。STA表示接收方的电话号码,即目的地址。STA长度一般为6个8位二进制字节,每个字节中高4位和低4位分别用BCD码表示1位十进制数,这样每个字节可表示2位号码,6个字节共可表示12位号码。由于现行的电话号码为11位,在实际传输时需在号码前加0,以补足12位。UD表示上位机发送的有效数据,其总长度最大为140个字节,有效数据包括汉字、数字、字母及各种符号。发送时汉字需转换成Unicode码,其他字符转换成ASCII码。
②接收信息。接收信息的数据包格式如图6所示。
图6 接收信息的数据包格式Fig.6 Format of data packet of receiving information
这里的UDL和UD与发送信息含义相同,SOA为外部发送方的电话号码,即源地址,转换方法与前面一致。DATE为短信中心收到短信的时间,即发送方发送短信时间,其包括6个字节的BCD码,依次是年、月、日、时、分、秒。需注意的是,UDL的数值不包括这6个字节。
2.2 命令格式
当数据包的控制字节大于147 B时,其类型为命令。命令的数据包格式为0xD7+控制字节+参数。
3 软件设计
系统软件设计主要基于Keil软件平台。Keil软件支持几乎所有MCS51架构的芯片,并且集编辑、编译、仿真等多项功能于一体,同时支持汇编语言和C语言程序设计[7]。在此,重点介绍与GSM模块相关的程序设计。该部分程序主要实现对GSM模块的上电初始化以及模块与上位机(微处理器)间的通信。程序流程如图7所示。
系统上电后,GSM模块内部进行初始化,主要检测无线信号强度,并登录GSM网络[8],时间大概为20 s。当收到信息获取命令时,GSM模块通过上位机取得当前电站参数状态信息,经GSM网络以短信的形式将电站当前状态信息发送至用户手机。模块发送短信后无论成功或失败都将返回一个标志码给上位机。如发送失败,上位机可选择重发,直至短信发送成功。当电站产生报警信息后,微处理器将报警信息(如超速停机)发送给GSM模块,GSM模块接收到报警信息后,将其以短信息形式通过无线网络发送到指定用户的手机上。
图7 GSM模块程序流程图Fig.7 Flowchart of GSM module program
3.1 发送程序
发送程序的主要功能是实现上位机对GSM模块的数据通信。如收到用户发来的电站状态获取命令或电站产生报警信息时,上位机按照相应通信帧格式将数据信息发送至GSM模块,再由GSM模块将该信息以短信形式传递至指定用户手机。部分程序如下。
3.2 接收程序
接收程序的主要功能是实现GSM模块对上位机的数据通信。当GSM模块接收到用户以短信形式发来的电站状态信息获取命令时,其在模块内部自动将短信内容进行转换,然后按照相应通信帧格式将命令信息发送至上位机,上位机根据接收的命令内容完成相应操作。
4 结束语
基于GSM模块的远程监控系统现已在多部移动电站上得到了实际应用,用户可通过手机在任何时间、任何地点查询指定编号移动电站的当前运行状态信息,同时也能够在第一时间掌握电站警报情况,甚至可以远程控制移动电站启动/停机,使用效果达到了预期目标。在实际应用中也发现了一些问题,如网络信号较差时,短信收发延时情况较为明显。相信通过GSM模块无线发射功率的增强,以及无线网络通信基站覆盖范围的不断加大,这些问题均能得到很大改善。
[1]陈琦,丁天怀,李成,等.基于GPRS/GSM的低功耗无线远程测控终端设计[J].清华大学学报:自然科学版,2009,49(2):223 -225.
[2]胡金凤,郑萍,吴拥,等.基于GSM的PLC车载远程控制系统设计[J].自动化仪表,2011,32(4):36 -39.
[3]邢娅浪,赵锦成,尹志勇.基于W77E58的电站装备运行记录仪的设计[J].移动电源与车辆,2008(2):17-19.
[4]尹志勇,刘洪文,刘金宁.基于PM50语音芯片的电站远程语音提示系统[J].移动电源与车辆,2009(2):7 -10.
[5]邢娅浪,赵锦成,孙世宇.基于STC系列单片机的SPWM波形实现[J].国外电子测量技术,2009(12):51-53.
[6]邵天章,谷志峰,尹志勇,等.移动电站通用控制系统设计[J].移动电源与车辆,2009(4):21-23.
[7]马忠梅.单片机C语言应用程序设计[M].北京:北京航空航天大学出版社,2003:158-164.
[8]马玉春,孙冰,王建明.GSM模块的综合应用研究[J].计算机应用与软件,2008,25(2):68 -70.