基于短消息功能修改负荷终端参数的程序设计

发布时间:2010-1-25 12:03    发布者:李宽
关键词: 参数 , 程序设计 , 短消息 , 负荷 , 终端
引言

短消息业务是GPRS/CDMA系统中最为简单和方便的数据通信方式,它不需要附加其他较为庞大的数据终端设备,仅使用GPRS/CDMA模块就可以进行信息交流。短消息业务是通过信道传输的,所以这些信息的发送和接收可以在GPRS/CDMA网络上与语音、数据和传真服务同时进行而不会彼此产生任何干扰。在诸多增值业务中,短消息服务因其价格低廉、使用方便、信息传递准确及时、可存储转发等优点而备受欢迎。短消息服务具有良好的市场,并最早应用于电力系统传输领域。

1 短消息在电力通信中的应用

短消息电力负荷系统中数据的传输模式有2种:对电力负荷管理终端进行数据召测,及终端数据主动上传。短消息在终端侧的连接方式相同,在主站侧的连接方案有2种:

方案一是通过短消息通信方式,在主站设置一个或若干个GSM/CDMA中心主台,与终端的GPRS/CDMA通信模块直接“点对点”通信。这种方式适用于终端数量较少的场所,可减少主站的设备投资。

方案二是从短消息服务中心建立专线连接,短消息通过专线发送到服务中心,服务中心再转发到终端中;终端侧的数据先发到短消息服务中心,再通过专线传到电力负荷主站上。该方式可以解决主站侧多个终端设备上报造成的信道容量问题。但是,这种方式需要申请数据专线的连接并承担一定的运行费用。

短消息业务在电力负荷系统中的应用存在以下缺点:

◆实时性差,不适用于对实时控制功能要求很高的负荷管理系统;

◆短消息业务还不适用于电力负荷管理系统的分组与^^^^^功能;

◆数据传输长度受到限制,每条短消息的长度最多为140字节,这样也不利于大量数据的传输。

基于以上的原因及GPRS/CDMA通信技术的不断发展,大多数电力设备在数据传输通信上都使用GPRS或CDMA,而短信功能则慢慢成为电力设备应用中的辅助操作功能。这些辅助功能必不可少,可以极大地扩展设备产品应用的功能性,提高便利性。例如利用短信实现实时报警功能,如负荷管理预付费报警、电力线防盗系统、电力通信网的管理报警等;利用短信实现参数修改的功能,如本文中实现短信修改负荷管理终端中IP地址和端口号等。

2 短消息操作的AT命令和报文格式

AT命令是由美国Hayes公司推出的Mdoem操作命令集,是Modem通信接口的工业标准。GPRS/CDMA模块在实际应用中,通信方式和任何通信相关的参数均利用AT命令的形式通过串口本地更改设置。

在GPRS模块(以MC55为例)中短信操作相关的AT命令有:

  AT+CMGF=1(设置短信格式为文本)

  AT+CNMI=3,1(设置新消息提示)

  +CMTI:"MT",2(收到新短消息提示,表示新消息存储于存储空间第2条)

  AT+CMGR=2(读出存储序号为2的消息)

  AT+CMGD=2(删除存储序号为2的消息)

  AT+CMGS=139********\r>"Message"OxlA(短信发送操作)

在CDMA模块(以AnyDATA公司的模块为例)短信相关的AT命令有:

  AT+UGSM=1(选择使用第2套短信指令)

  AT+CMGF=1(格式化输出,实际数据的每个字节输出其ASCII值)

  AT+CMGF=0(普通格式,输出短消息的二进制原文)

  CMT:1(有短信来时终端显示,为1表示新消息存储于空间的第1个位置)

  AT+CMGR=1(读存储序号为1的消息)

   +CMGR:00000220,13956083950,,2008/08/29/10:13,0,123456789\r\nOK\r\n(模块回复)

  AT+CMGS=2,13956083950,,0,123(发信息过程)

  +CMGS:2\rknOK\r\nCMGS:2,1(发送成功模块回复)

在设计中,主要利用GPRS/CDMA的短信功能来修改和查询终端系统的IP地址、端口号和服务类型,以及利用短信复位终端系统的 GPRS/CDMA模块。自定义了短信的报文格式,这些报文主要由字母和数字组成。为了方便短信操作,在GPRS和CDMA的短信操作中都选用文本格式。

短信报文命令格式:

  AT+KDC 修改命令

具体格式:PAT+KDC=210.45.240.8,8080,192.168.0.18,9999,,,cmnet#

前半部分为主IP和端121号,接着是备用IP和端口号,最后是服务类型。其他短信报文格式有:

  AT+KDC? 查询命令

  AT+RET 复位命令

终端系统在给操作用户回复相关结果时,也严格按照这种短信报文格式进行操作。

3 短消息功能的程序设计

GPRS和CDMA短信整体的设计框架是一样的,只是在某些具体细节上有些区别。由图1所示的流程可以了解到,当有短信来的时候,MCU的串口会收到短信来提示符,接着系统会发送读操作AT命令,将相应短信存储器中的消息读出来,再对读出的短信进行解包处理判断出本条短信的操作类型,然后进行相应的操作。如修改操作,需要将终端系统的原有IP地址、端口和服务类型修改成操作者需要的IP地址、端口和服务类型,并将修改后的 IP地址、端口和服务类型作为回复信息发回给操作者,然后复位GPRS/CDMA模块。另外,在进行短信操作时,需要及时清理GPRS/CDMA模块的短信存储空间,以免短信存储空间满,造成新的短信不能接收。

1.gif

整个短信功能实现的主要函数如下:

2.gif

需要注意,短信功能作为整个GPRS/CDMA通信功能的一部分,其本身必须与整个GPRS/CDMA通信框架融合。为了将短信处理函数 HandleSMS()很好地放在GPRS/CDMA通信框架中,使短信操作与GPRS/CDMA通信无缝连接,互不影响,考虑和解决了以下几点:

①短信的操作不能发生在GPRS/CDMA模块正在拨号连接的过程中,所以在设计中,对模块的拨号过程进行强制保护。短信的具体操作主要发生 GPRS/CDMA模块的未连接状态和数据传输状态。

②短信在修改过系统参数后,需将修改后的参数作为应答信息回复给操作者,然后GPRS/CDMA模块复位,按照新的参数进行上线连接。需要注意的是模块复位时间与应答信息回复时间之间的操作匹配,否则会造成应答信息收不到。设计中,利用相关定时器控制复位操作的执行时间,确保在收到应答信息后模块再复位。

③CDMA模块在进行AT模式操作连接后进入透传模式。在该模式下任何AT操作都会视为传输数据,所以当在透传模式下进行短信操作时,需要将已建立的连接断开。设计中,在透传模式下进行短信操作时,强制复位CDMA模块,使模块上电但不连接上线,然后再进行短信操作。

④为了防止短信存储空间满,或者因为信号强度等原因造成短信没有及时收到,在程序设计中短信解包处理操作后会立即删除存储区的短信,并在AT的拨号中设置1次读操作和1次删除操作,以保证有足够的储存空间来接收短信。读操作用来处理上次没有及时收到的短信。

结语

本文重点介绍了在负荷管理系统中,如何实现短信修改负荷管理终端IP地址和端口号的功能。文中详细说明了实现GPRS/CDMA短信功能所需的 AT命令以及各命令之间的关系和操作顺序,阐述了实现GPRS/CDMA短信功能的软件设计流程,给出了功能函数的框架,具体说明了在软件设计中的重点和难点并给出了若干解决方法。该设计已应用到终端现场,运行稳定可靠,具有很好的工程应用价值。

参考文献

1. 姚刚 基于GSM的SMS短消息方式通信模块在电力负荷控制系统中的应用 2006
2. 汪俊锋.陶维青.张全 基于 MC39I的电能管理终端远程GPRS接口设计 [期刊论文] -合肥工业大学学报(自然科学版)2009(1)
3. Siemens.MC55 / MC56 AT Command Set 2003
4. 陈星.刘利 基于SMS 的执行器无线监控终端的设计 [期刊论文] -微计算机信息2008(4)
5. AnyDATA.AnyDATA CDMA Module AT Command Set 2006

作者:汪俊锋 陶维青 (合肥工业大学) 汪丽丽 (安徽电子计算机厂)  来源:《单片机嵌入式系统应用》 2009(6)
本文地址:https://www.eechina.com/thread-7952-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表