一种GPRS链路建立及保持任务的状态机实现方法.pdf

上传人:r7 文档编号:667788 上传时间:2018-03-02 格式:PDF 页数:14 大小:627.66KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410440658.4

申请日:

2014.09.01

公开号:

CN104202395A

公开日:

2014.12.10

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20140901|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

中国东方电气集团有限公司

发明人:

徐立强; 贺骥; 李永龙; 陈博翁; 刘丝丝; 吴建东

地址:

610036 四川省成都市金牛区蜀汉路333号

优先权:

专利代理机构:

成都天嘉专利事务所(普通合伙) 51211

代理人:

徐进

PDF下载: PDF下载
内容摘要

本发明具体公开了一种GPRS链路建立及保持任务的状态机实现方法,该状态机由“GPRSModem初始化”状态、“建立GPRSPPP连接”状态、“建立GPRSTCP/UDP连接”状态、“登录远程服务器”状态、“检测GPRSPPP连接状态”状态、“检测GPRSTCP/UDP连接状态”状态、“GPRSModem硬件复位”状态、“GPRSModem重上电”状态、及“软件系统软复位”状态构成。本发明实现了基于状态机的监控节点自动网络连接及维护机制,保证了GPRS监控终端能够在光伏电站、风电场等恶劣的应用环境中正常工作。

权利要求书

1.  一种GPRS链路建立及保持任务的状态机实现方法,其特征在于:该状态机由“GPRS Modem初始化” 状态、“建立GPRS PPP连接” 状态、“建立GPRS TCP/UDP连接” 状态、“登录远程服务器”状态、“检测GPRS PPP连接状态”状态、“检测GPRS TCP/UDP连接状态”状态、“GPRS Modem硬件复位” 状态、“GPRS Modem重上电” 状态、及“软件系统软复位”状态构成。

2.
  根据权利要求1的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于:所述状态机的实现步骤如下:
a、进入“GPRS Modem初始化” 状态,在此状态下进行GPRS Modem初始化,在初始化的每一个Modem的AT指令操作时,均采用了“确定性的Modem AT指令操作机制”;若Modem初始化成功则进入“建立GPRS PPP连接” 状态,若初始化失败,则进入“GPRS Modem硬件复位” 状态;
b、在“建立GPRS PPP连接” 状态下,通过向GPRS Modem发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRS TCP/UDP连接” 状态,若连续3次尝试建立PPP连接失败,则进入“GPRS Modem硬件复位” 状态;
c、在“建立GPRS TCP/UDP连接” 状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录后台服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRS Modem硬件复位”状态;
d、在“登录后台服务器”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待后台服务器的登录数据包反馈,若在指定的等待时间内接收到后台服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRS PPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRS Modem硬件复位” 状态;
e、在“检测GPRS PPP连接状态”状态下,实现了“终端实时在线检测机制”,通过定期向GPRS Modem发送AT指令检测GPRS PPP连接的状态,若GPRS PPP连接正常,则进入“检测GPRS TCP/UDP连接状态”状态,若连续3次检测到GPRS PPP连接断开,则进入“建立GPRS PPP连接” 状态,重新建立GPRS PPP连接;之所以需要定期检测GPRS PPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS 无线监控节点掉线,为了保证GPRS 无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接;
f、在“检测GPRS TCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测,通过定期向服务器发送心跳数据包来检测GPRS TCP/UDP连接的状态,若GPRS TCP/UDP连接正常,则进入“检测GPRS PPP连接状态”状态,若连续3次检测到GPRS TCP/UDP连接断开,则进入“建立GPRS TCP/UDP连接” 状态,重新建立GPRS TCP/UDP连接;其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开;
g、在“GPRS Modem硬件复位” 状态下,执行GPRS Modem硬件复位动作,并累计GPRS Modem硬件复位的次数,若GPRS Modem硬件复位的次数超过3次,则进入“GPRS Modem重上电”状态,否则进入“GPRS Modem初始化” 状态;
h、在“GPRS Modem重上电” 状态下,依次执行GPRS Modem关机、断电、上电、开机操作,并累计GPRS Modem重上电的次数,若GPRS Modem重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRS Modem初始化” 状态;
i、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进入“GPRS Modem初始化” 状态。

3.
  根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述 Modem AT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待。

4.
  根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。

5.
  根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路。

6.
  根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述终端实时在线检测机制是通过周期性检测GPRS PPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监控节点实时在线。

7.
  根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述“GPRS Modem硬件复位”、 “GPRS Modem重上电”、 “软件系统软复位”三种状态构成了GPRS链路建立及保持任务的三重重启机制。

说明书

一种GPRS链路建立及保持任务的状态机实现方法
技术领域
本发明涉及无线通信技术领域,具体公开了一种GPRS链路建立及保持任务的状态机实现方法。
背景技术
在光伏电站、风电场等恶劣的工业应用场合,为了保证现场设备的可靠运行,需要对这些设备进行远程监控。GPRS是物联网应用中最重要的数据传输方式之一,现已广泛应用于工业自动化、智能电网、智能交通、智能家居、物流、水文、气象等行业领域。采用GPRS技术可方便地构建现场设备远程智能监控系统,用于满足用户的需求。一方面,设备生产厂家通过该监控系统可方便地实现设备运行状态的长期监测及远程升级,从而实现设备的远程维护,不断地提高产品的可靠性,节省大量出差费用和人力成本;另一方面,现场设备的使用者也能够通过该远程监控系统方便地查看设备的运行状态,配置设备参数,从而降低设备运行的维护成本,并获得更好的用户体验。
但是,在实际的工业应用场合如光伏电站、风电场等工业现场,恶劣的物理环境及各种电磁干扰可能导致布置于工业现场的GPRS监控终端不能正常工作,即工业现场对GPRS监控终端的可靠性具有很高的要求。
发明内容
本发明所要解决的技术问题是提供一种GPRS链路建立及保持任务的状态机实现方法,本发明实现了基于状态机的监控节点自动网络连接及维护机制。
为解决上述技术问题,本发明采用了以下技术方案:
一种GPRS链路建立及保持任务的状态机实现方法,该状态机由“GPRS Modem初始化” 状态、“建立GPRS PPP连接” 状态、“建立GPRS TCP/UDP连接” 状态、“登录远程服务器”状态、“检测GPRS PPP连接状态”状态、“检测GPRS TCP/UDP连接状态”状态、“GPRS Modem硬件复位” 状态、“GPRS Modem重上电” 状态、及“软件系统软复位”状态构成。
进一步的,所述状态机的实现步骤如下:
a、进入“GPRS Modem初始化” 状态,在此状态下进行GPRS Modem初始化,在初始化的每一个Modem的AT指令操作时,均采用了“确定性的Modem AT指令操作机制”;若Modem初始化成功则进入“建立GPRS PPP连接” 状态,若初始化失败,则进入“GPRS Modem硬件复位” 状态;
b、在“建立GPRS PPP连接” 状态下,通过向GPRS Modem发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRS TCP/UDP连接” 状态,若连续3次尝试建立PPP连接失败,则进入“GPRS Modem硬件复位” 状态;
c、在“建立GPRS TCP/UDP连接” 状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录后台服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRS Modem硬件复位”状态;
d、在“登录后台服务器”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待后台服务器的登录数据包反馈,若在指定的等待时间内接收到后台服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRS PPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRS Modem硬件复位” 状态;
e、在“检测GPRS PPP连接状态”状态下,实现了“终端实时在线检测机制”,通过定期向GPRS Modem发送AT指令检测GPRS PPP连接的状态,若GPRS PPP连接正常,则进入“检测GPRS TCP/UDP连接状态”状态,若连续3次检测到GPRS PPP连接断开,则进入“建立GPRS PPP连接” 状态,重新建立GPRS PPP连接;之所以需要定期检测GPRS PPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS 无线监控节点掉线,为了保证GPRS 无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接;
f、在“检测GPRS TCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测,通过定期向服务器发送心跳数据包来检测GPRS TCP/UDP连接的状态,若GPRS TCP/UDP连接正常,则进入“检测GPRS PPP连接状态”状态,若连续3次检测到GPRS TCP/UDP连接断开,则进入“建立GPRS TCP/UDP连接” 状态,重新建立GPRS TCP/UDP连接。其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开;
g、在“GPRS Modem硬件复位” 状态下,执行GPRS Modem硬件复位动作,并累计GPRS Modem硬件复位的次数,若GPRS Modem硬件复位的次数超过3次,则进入“GPRS Modem重上电”状态,否则进入“GPRS Modem初始化” 状态;
h、在“GPRS Modem重上电” 状态下,依次执行GPRS Modem关机、断电、上电、开机操作,并累计GPRS Modem重上电的次数,若GPRS Modem重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRS Modem初始化” 状态;
i、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进入“GPRS Modem初始化” 状态。
进一步的,所述 Modem AT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待。
进一步的,所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。
进一步的,所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路。 
进一步的,所述终端实时在线检测机制是通过周期性检测GPRS PPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监控节点实时在线。
进一步的,所述“GPRS Modem硬件复位”、 “GPRS Modem重上电”、 “软件系统软复位”三种状态构成了GPRS链路建立及保持任务的三重重启机制。
本发明与现有技术相比的有益效果是:
GPRS监控终端的网络连接稳定性是基于GPRS监控终端的远程监控系统正常运行的关键因素,GPRS链路建立及保持状态机的过程设计实现了基于状态机的监控节点自动网络连接及维护机制。
附图说明
图1为本发明涉及的一种高可靠性GPRS监控终端的硬件系统结构。
图2为本发明的GPRS电源管理模块电路。
图3本发明的多任务应用程序的多任务交互示意图。
图4为本发明的GPRS链路建立及保持状态机流程图。
图5为本发明的GPRS Modem初始化程序流程图。
图6为本发明多任务软件看门狗喂狗流程图。
图7为本发明的壳体结构。
其中,附图标记为:1为上壳体,2为下壳体,3为接插件安装位置,4为上壳体凹槽(密封条安装位置)。
具体实施方式
以下结合附图对本发明的一种高可靠性GPRS监控终端进行进一步描述。
如图1所示,本实例涉及的一种高可靠性GPRS监控终端,其硬件电路包括嵌入式微控制器、GPRS无线通信模块、电源模块、GPRS电源管理模块、存储模块、输入输出模块、硬件看门狗及指示灯;其中,GPRS无线通信模块通过串口与嵌入式微控制器相连接,GPRS电源管理模块通过通用IO口与嵌入式微控制器相连接,电源模块分别与嵌入式微控制器、GPRS电源管理模块相连接,嵌入式微控制器还与存储模块、输入输出模块、硬件看门狗及指示灯相连接,嵌入式微控制器通过控制GPRS电源管理模块开启或停止对GPRS无线通信模块的供电。
如图2所示,GPRS电源管理模块电路的输入端为GPRS_PWR_DOWNn,与嵌入式微控制器的通用IO口相连接,输出端为VCC_GPRS,与GPRS无线通信模块的电源输入端相连接。嵌入式微控制器根据软件系统的控制指令控制嵌入式微控制器的通用IO口的输出电平,进而控制GPRS电源管理模块电路的输入端的电平。当GPRS电源管理模块电路输入端为低电平时,GPRS电源管理模块电路输出端VCC_GPRS电压为零,即此时切断对GPRS无线通信模块的电源供应;当GPRS电源管理模块电路输入端为高电平时,GPRS电源管理模块电路输出端VCC_GPRS电压为3.8V,即此时对GPRS无线通信模块提供3.8V的电源供应。通过上述控制机制,实现了软件指令控制GPRS无线通信模块重上电的操作,从而保证GPRS监控终端在断网后能够恢复到正常工作状态,可靠连接至网络。
如图3所示,GPRS监控终端上电后,软件系统自动启动并进入Main函数,在Main函数中,首先初始化串口、指示灯、存储模块等外设,然后控制GPRS电源管理模块给GPRS无线通信模块上电,接着初始化嵌入式操作系统,并创建开始任务,最后启动多任务调度。
开始任务中,首先启动GPRS无线通信模块,接着检测嵌入式微控制器本地配置串口是否接收到进入配置状态的指令,若在设定时间内未检测到该指令,则进入系统正常启动状态,否则进入系统参数配置状态。在系统参数配置状态下,用户可以通过配置串口向系统发送配置指令,系统在接收到配置指令后,进行指令解析及参数修改、存储。用户也可以通过指令查看最新的系统参数值。在接收到用户发来的配置完成指令后,系统进入正常启动状态。在软件系统进入正常启动状态后,首先初始化多任务软件看门狗,然后创建相关的信号量、消息邮箱及消息队列,接着创建Modem串口接收任务、GPRS调度任务、数据解析转换任务、GPRS链路建立及保持任务、系统监控告警任务、设备数据采集存储上传任务,最后开始任务将自身挂起。之后,操作系统就开始进行Modem串口接收任务、GPRS调度任务、数据解析转换任务、GPRS链路建立及保持任务、系统监控告警任务、设备数据采集存储上传任务的调度。
Modem串口接收任务主要负责定期查询与GPRS无线通信模块相连接的嵌入式微控制器的串口缓冲区中是否有GPRS无线通信模块发来的数据,若有,则取出并送入Modem接收数据消息队列。
GPRS调度任务完成GPRS无线通信模块数据、短信息的接收,以及GPRS数据、短消息的发送。GPRS调度任务定期查询Modem接收数据消息队列中是否有消息,若有,则取出该消息并进行解析,若消息内容为TCP/UDP数据或短消息,则进行相应的数据提取并置位相应的标志位,若消息内容为AT指令应答数据,则通过消息邮箱将该数据传递给GPRS链路建立及保持任务进行处理。GPRS调度任务还定期查询Modem发送数据消息队列中是否有消息,若有,则取出该消息,并检测GPRS链路是否畅通,若畅通,则进行数据的无线发送,否则,累计重发次数并延时等待、重发。若重发次数超过3次,则放弃该数据的无线发送。此外,GPRS调度任务定期查询短消息发送标志位,若该标志位为真,则进行短消息的发送。
数据解析转换任务定期依次进行如下标志位的查询,并执行相应的动作:
(1)若有新的TCP/UDP数据,则进行相应的解析。若该TCP/UDP数据为服务器远程操作命令(如远程查询、设置命令等),则按照预定义规约构建相应的应答帧,并将该应答帧加入Modem发送数据消息队列,等待GPRS调度任务进行无线发送;若该TCP/UDP数据为服务器应答帧(如登录应答帧、心跳包应答帧等),则置位相应的标志位。
(2)若有新的远程操作短消息,则进行解析,并按照预定义规约构建应答短消息并置位短消息发送标志位,等待GPRS调度任务进行查询及短消息的无线发送。
(3)在网络连接正常时,进行登录数据包、心跳数据包、设备实时数据包、系统告警数据包、设备告警数据包等发送标志位的检测,若某种数据包发送标志位为真,则按照预定义规约构建该数据包,并将其送入待发送消息队列,等待GPRS调度任务进行无线发送。
系统监控告警任务完成对系统状态及采集到的设备实时数据的异常监测,通过定时检测系统的运行状态,从而及时发现系统异常,并在检测到异常事件时置位相应的告警标志位,并置位发送系统异常告警数据包的标志位,以便数据解析转换任务进行查询、构建并传递系统告警数据包至GPRS调度任务进行无线发送。此外,系统监控告警任务在检测到有新的设备实时数据时,对其进行异常检测,与系统异常的处理类似,在检测到设备实时数据异常事件时置位相应的告警标志位,并置位发送设备异常告警数据包的标志位,以便数据解析转换任务进行查询、构建并传递设备告警数据包至GPRS调度任务进行无线发送。
设备数据采集存储上传任务:设备数据采集存储上传任务定期完成对设备实时数据的采集、存储及上传。
GPRS链路建立及保持任务:GPRS链路建立及保持任务完成GPRS通信链路的建立及维持,该任务采用了状态机实现,该状态机由“GPRS Modem初始化” 状态、“建立GPRS PPP连接” 状态、“建立GPRS TCP/UDP连接” 状态、“登录远程服务器”状态、“检测GPRS PPP连接状态”状态、“检测GPRS TCP/UDP连接状态”状态、“GPRS Modem硬件复位” 状态、“GPRS Modem重上电” 状态及“软件系统软复位”状态构成。
如图4所示,所述GPRS链路建立及保持任务的状态机的状态转换机制如下:
a、进入“GPRS Modem初始化” 状态,在此状态下进行GPRS Modem初始化,在初始化的每一个Modem的AT指令操作时,均采用了“确定性的Modem AT指令操作机制”;若Modem初始化成功则进入“建立GPRS PPP连接” 状态,若初始化失败,则进入“GPRS Modem硬件复位” 状态;
b、在“建立GPRS PPP连接” 状态下,通过向GPRS Modem发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRS TCP/UDP连接” 状态,若连续3次尝试建立PPP连接失败,则进入“GPRS Modem硬件复位” 状态;
c、在“建立GPRS TCP/UDP连接” 状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录远程服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRS Modem硬件复位”状态;
d、在“登录远程服务器”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待服务器的登录数据包反馈,若在指定的等待时间内接收到服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRS PPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRS Modem硬件复位” 状态;
e、在“检测GPRS PPP连接状态”状态下,实现了“终端实时在线检测机制”。通过定期向GPRS Modem发送AT指令检测GPRS PPP连接的状态,若GPRS PPP连接正常,则进入“检测GPRS TCP/UDP连接状态”状态,若连续3次检测到GPRS PPP连接断开,则进入“建立GPRS PPP连接” 状态,重新建立GPRS PPP连接;之所以需要定期检测GPRS PPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS 无线监控节点掉线,为了保证GPRS 无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接。
f、在“检测GPRS TCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测。通过定期向服务器发送心跳数据包来检测GPRS TCP/UDP连接的状态,若GPRS TCP/UDP连接正常,则进入“检测GPRS PPP连接状态”状态,若连续3次检测到GPRS TCP/UDP连接断开,则进入“建立GPRS TCP/UDP连接” 状态,重新建立GPRS TCP/UDP连接。其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开。
g、在“GPRS Modem硬件复位” 状态下,执行GPRS Modem硬件复位动作,并累计GPRS Modem硬件复位的次数,若GPRS Modem硬件复位的次数超过3次,则进入“GPRS Modem重上电”状态,否则进入“GPRS Modem初始化” 状态;
h、在“GPRS Modem重上电” 状态下,依次执行GPRS Modem关机、断电、上电、开机操作,并累计GPRS Modem重上电的次数,若GPRS Modem重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRS Modem初始化” 状态;
i、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进入“GPRS Modem初始化” 状态。     
所述 Modem AT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待,保证Modem AT指令操作的可靠性。
所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。
所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路;尽管GPRS有一直在线的特点,但当GPRS长时间在线却无数据传输时,数据业务级别会自动被降低,采用心跳机制即当系统长时间没有有效数据传输的时候,监控节点按照一定的时间间隔向服务器发送一帧无效数据,从而保持数据传输业务处于较高的优先级别,维持GPRS数据链路。
所述终端实时在线检测机制是通过周期性检测GPRS PPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监控节点实时在线;由于GPRS网络本身的不稳定性可能会导致GPRS 无线监控节点掉线,为了保证监控节点与服务器的正常通信,监控节点必须知道何时从GPRS网络上掉线,进而重新建立PPP连接以及TCP/UDP连接。
所述“GPRS Modem硬件复位”、 “GPRS Modem重上电”、 “软件系统软复位”三种状态构成了GPRS链路建立及保持任务的三重重启机制;保证监控节点在掉线后能够恢复与后台服务器的连接,从而实现GPRS无线监控节点的可靠联网。
如图5所示,GPRS Modem初始化流程如下:
(1)首先对GPRS Modem进行AT指令测试,若测试成功则关闭Modem的AT指令回显功能,接着进行SIM卡测试;若连续3次测试失败则结束GPRS Modem初始化,并返回初始化失败信息。
(2)若SIM卡测试成功则进行GPRS信号质量测试;若连续3次SIM卡测试失败,则结束GPRS Modem初始化,并返回初始化失败信息。
(3)若GPRS信号质量好则进行GPRS Modem网络注册;若GPRS信号不可用,则结束GPRS Modem初始化,并返回初始化失败信息。
(4)若GPRS Modem网络注册成功,则进行短消息(SMS)相关参数初始化;若连续3次GPRS Modem网络注册失败,则结束GPRS Modem初始化,并返回初始化失败信息。
(5)若短消息(SMS)相关参数初始化成功,则读取GPRS Modem信息,结束GPRS Modem初始化,并返回初始化成功信息;若短消息(SMS)相关参数初始化失败,则结束GPRS Modem初始化,并返回初始化失败信息。
以上初始化过程中的各种测试或操作的次数并不限于3次,可根据实际的应用场合进行调整。
如图6所示,所述多任务应用程序实现了多任务软件看门狗,该多任务软件看门狗由每个任务的软件看门狗子程序,以及多任务软件看门狗喂狗子程序构成;每个任务的软件看门狗子程序主要负责该任务软件看门狗的初始化,并在主循环中更新该任务软件看门狗的计数器;多任务软件看门狗喂狗子程序则在每个系统时钟周期内检查每个任务的软件看门狗是否已超时,只要某个任务的软件看门狗超时,就通过硬件看门狗完成对系统的复位。
其中,每个任务的软件看门狗子程序主要包括定时器的初始值的赋值以及计数器的更新,具体地:在每个任务起始处都需要初始化该任务的软件看门狗,包括将软件看门狗定时器的初始值赋值为该任务的超时值,并开启该任务的软件看门狗。此外,在每个任务的主循环中都要对该任务软件看门狗的计数器进行更新。
多任务软件看门狗喂狗子程序位于系统时钟节拍钩子函数,在每个系统时钟周期内被调用一次。多任务软件看门狗喂狗子程序流程说明如下:
进入多任务软件看门狗喂狗子程序后,首先检查“停止喂硬件看门狗标志位”是否为真,如果为真,则直接结束多任务软件看门狗喂狗子程序;如果不为真,则依次对每个任务的软件看门狗状态进行检查,步骤如下:检查该任务软件看门狗计数器是否已更新,若已更新,则重置该任务软件看门狗定时器的值为该任务的超时值,并继续进行下一个任务的软件看门狗状态检查;若未更新,则首先将该任务软件看门狗定时器的值减1,然后判断该任务软件看门狗定时器的值是否为零,为零则说明该任务软件看门狗定时器已超时,置位“停止喂硬件看门狗标志位”为真,直接结束多任务软件看门狗喂狗子程序,不为零则继续进行下一个任务的软件看门狗状态检查。按照上述步骤依次完成对每个任务软件看门狗的状态检查,然后执行喂硬件看门狗的步骤,最后结束多任务软件看门狗喂狗子程序。
如图7所示,壳体采用内上外下的壳体结构,材料为铝合金;上下壳体之间采用密封条进行密封,密封条为硅橡胶材料,安装于上壳体内的凹槽中;上下壳体采用螺纹进行连接并压紧上下壳体之间的密封条,达到密封的效果;接插件选用PG7电缆防水接头,安装位置均布置于壳体两侧;硬件电路板通过螺纹连接固定在下壳体内。
对于具体实施方式的理解的描述仅仅是为帮助理解本发明,而不是用来限制本发明的。本领域技术人员均可以利用本发明的思想进行一些改动和变化,只要其技术手段没有脱离本发明的思想和要点,仍然在本发明的保护范围之内。

一种GPRS链路建立及保持任务的状态机实现方法.pdf_第1页
第1页 / 共14页
一种GPRS链路建立及保持任务的状态机实现方法.pdf_第2页
第2页 / 共14页
一种GPRS链路建立及保持任务的状态机实现方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种GPRS链路建立及保持任务的状态机实现方法.pdf》由会员分享,可在线阅读,更多相关《一种GPRS链路建立及保持任务的状态机实现方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104202395A43申请公布日20141210CN104202395A21申请号201410440658422申请日20140901H04L29/0820060171申请人中国东方电气集团有限公司地址610036四川省成都市金牛区蜀汉路333号72发明人徐立强贺骥李永龙陈博翁刘丝丝吴建东74专利代理机构成都天嘉专利事务所普通合伙51211代理人徐进54发明名称一种GPRS链路建立及保持任务的状态机实现方法57摘要本发明具体公开了一种GPRS链路建立及保持任务的状态机实现方法,该状态机由“GPRSMODEM初始化”状态、“建立GPRSPPP连接”状态、“建立GPRSTCP/。

2、UDP连接”状态、“登录远程服务器”状态、“检测GPRSPPP连接状态”状态、“检测GPRSTCP/UDP连接状态”状态、“GPRSMODEM硬件复位”状态、“GPRSMODEM重上电”状态、及“软件系统软复位”状态构成。本发明实现了基于状态机的监控节点自动网络连接及维护机制,保证了GPRS监控终端能够在光伏电站、风电场等恶劣的应用环境中正常工作。51INTCL权利要求书2页说明书7页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图4页10申请公布号CN104202395ACN104202395A1/2页21一种GPRS链路建立及保持任务的状态机实现方法,其。

3、特征在于该状态机由“GPRSMODEM初始化”状态、“建立GPRSPPP连接”状态、“建立GPRSTCP/UDP连接”状态、“登录远程服务器”状态、“检测GPRSPPP连接状态”状态、“检测GPRSTCP/UDP连接状态”状态、“GPRSMODEM硬件复位”状态、“GPRSMODEM重上电”状态、及“软件系统软复位”状态构成。2根据权利要求1的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于所述状态机的实现步骤如下A、进入“GPRSMODEM初始化”状态,在此状态下进行GPRSMODEM初始化,在初始化的每一个MODEM的AT指令操作时,均采用了“确定性的MODEMAT指令操作机制”。

4、;若MODEM初始化成功则进入“建立GPRSPPP连接”状态,若初始化失败,则进入“GPRSMODEM硬件复位”状态;B、在“建立GPRSPPP连接”状态下,通过向GPRSMODEM发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRSTCP/UDP连接”状态,若连续3次尝试建立PPP连接失败,则进入“GPRSMODEM硬件复位”状态;C、在“建立GPRSTCP/UDP连接”状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录后台服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRSMODEM硬件复位”状态。

5、;D、在“登录后台服务器”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待后台服务器的登录数据包反馈,若在指定的等待时间内接收到后台服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRSPPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRSMODEM硬件复位”状态;E、在“检测GPRSPPP连接状态”状态下,实现了“终端实时在线检测机制”,通过定期向GPRSMODEM发送AT指令检测GPRSPPP连接的状态,若。

6、GPRSPPP连接正常,则进入“检测GPRSTCP/UDP连接状态”状态,若连续3次检测到GPRSPPP连接断开,则进入“建立GPRSPPP连接”状态,重新建立GPRSPPP连接;之所以需要定期检测GPRSPPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS无线监控节点掉线,为了保证GPRS无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接;F、在“检测GPRSTCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测,通过定期向服务器发送心跳数据包来检测GPRSTCP/UD。

7、P连接的状态,若GPRSTCP/UDP连接正常,则进入“检测GPRSPPP连接状态”状态,若连续3次检测到GPRSTCP/UDP连接断开,则进入“建立GPRSTCP/UDP连接”状态,重新建立GPRSTCP/UDP连接;其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开;G、在“GPRSMODEM硬件复位”状态下,执行GPRS。

8、MODEM硬件复位动作,并累计GPRSMODEM硬件复位的次数,若GPRSMODEM硬件复位的次数超过3次,则进入“GPRSMODEM重上权利要求书CN104202395A2/2页3电”状态,否则进入“GPRSMODEM初始化”状态;H、在“GPRSMODEM重上电”状态下,依次执行GPRSMODEM关机、断电、上电、开机操作,并累计GPRSMODEM重上电的次数,若GPRSMODEM重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRSMODEM初始化”状态;I、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进入“G。

9、PRSMODEM初始化”状态。3根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述MODEMAT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待。4根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。5根据权利要求2的一种GPRS链路建立及保持任务的状态。

10、机实现方法,其特征在于,所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路。6根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述终端实时在线检测机制是通过周期性检测GPRSPPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监控节点实时在线。7根据权利要求2的一种GPRS链路建立及保持任务的状态机实现方法,其特征在于,所述“GPRSMODEM硬件复位”、“GPRSMODEM重上电”、“软件系统软复位”三种状态构成了GPRS链路建立及保。

11、持任务的三重重启机制。权利要求书CN104202395A1/7页4一种GPRS链路建立及保持任务的状态机实现方法技术领域0001本发明涉及无线通信技术领域,具体公开了一种GPRS链路建立及保持任务的状态机实现方法。背景技术0002在光伏电站、风电场等恶劣的工业应用场合,为了保证现场设备的可靠运行,需要对这些设备进行远程监控。GPRS是物联网应用中最重要的数据传输方式之一,现已广泛应用于工业自动化、智能电网、智能交通、智能家居、物流、水文、气象等行业领域。采用GPRS技术可方便地构建现场设备远程智能监控系统,用于满足用户的需求。一方面,设备生产厂家通过该监控系统可方便地实现设备运行状态的长期监测。

12、及远程升级,从而实现设备的远程维护,不断地提高产品的可靠性,节省大量出差费用和人力成本;另一方面,现场设备的使用者也能够通过该远程监控系统方便地查看设备的运行状态,配置设备参数,从而降低设备运行的维护成本,并获得更好的用户体验。0003但是,在实际的工业应用场合如光伏电站、风电场等工业现场,恶劣的物理环境及各种电磁干扰可能导致布置于工业现场的GPRS监控终端不能正常工作,即工业现场对GPRS监控终端的可靠性具有很高的要求。发明内容0004本发明所要解决的技术问题是提供一种GPRS链路建立及保持任务的状态机实现方法,本发明实现了基于状态机的监控节点自动网络连接及维护机制。0005为解决上述技术问。

13、题,本发明采用了以下技术方案一种GPRS链路建立及保持任务的状态机实现方法,该状态机由“GPRSMODEM初始化”状态、“建立GPRSPPP连接”状态、“建立GPRSTCP/UDP连接”状态、“登录远程服务器”状态、“检测GPRSPPP连接状态”状态、“检测GPRSTCP/UDP连接状态”状态、“GPRSMODEM硬件复位”状态、“GPRSMODEM重上电”状态、及“软件系统软复位”状态构成。0006进一步的,所述状态机的实现步骤如下A、进入“GPRSMODEM初始化”状态,在此状态下进行GPRSMODEM初始化,在初始化的每一个MODEM的AT指令操作时,均采用了“确定性的MODEMAT指令。

14、操作机制”;若MODEM初始化成功则进入“建立GPRSPPP连接”状态,若初始化失败,则进入“GPRSMODEM硬件复位”状态;B、在“建立GPRSPPP连接”状态下,通过向GPRSMODEM发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRSTCP/UDP连接”状态,若连续3次尝试建立PPP连接失败,则进入“GPRSMODEM硬件复位”状态;C、在“建立GPRSTCP/UDP连接”状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录后台服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRSMODEM硬件。

15、复位”状态;说明书CN104202395A2/7页5D、在“登录后台服务器”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待后台服务器的登录数据包反馈,若在指定的等待时间内接收到后台服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRSPPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRSMODEM硬件复位”状态;E、在“检测GPRSPPP连接状态”状态下,实现了“终端实时在线检测机制”,通过定期向GPRSMO。

16、DEM发送AT指令检测GPRSPPP连接的状态,若GPRSPPP连接正常,则进入“检测GPRSTCP/UDP连接状态”状态,若连续3次检测到GPRSPPP连接断开,则进入“建立GPRSPPP连接”状态,重新建立GPRSPPP连接;之所以需要定期检测GPRSPPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS无线监控节点掉线,为了保证GPRS无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接;F、在“检测GPRSTCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测,通过定。

17、期向服务器发送心跳数据包来检测GPRSTCP/UDP连接的状态,若GPRSTCP/UDP连接正常,则进入“检测GPRSPPP连接状态”状态,若连续3次检测到GPRSTCP/UDP连接断开,则进入“建立GPRSTCP/UDP连接”状态,重新建立GPRSTCP/UDP连接。其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开;G、在。

18、“GPRSMODEM硬件复位”状态下,执行GPRSMODEM硬件复位动作,并累计GPRSMODEM硬件复位的次数,若GPRSMODEM硬件复位的次数超过3次,则进入“GPRSMODEM重上电”状态,否则进入“GPRSMODEM初始化”状态;H、在“GPRSMODEM重上电”状态下,依次执行GPRSMODEM关机、断电、上电、开机操作,并累计GPRSMODEM重上电的次数,若GPRSMODEM重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRSMODEM初始化”状态;I、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进。

19、入“GPRSMODEM初始化”状态。0007进一步的,所述MODEMAT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待。0008进一步的,所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。0009进一步的,所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路。0010进一。

20、步的,所述终端实时在线检测机制是通过周期性检测GPRSPPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监说明书CN104202395A3/7页6控节点实时在线。0011进一步的,所述“GPRSMODEM硬件复位”、“GPRSMODEM重上电”、“软件系统软复位”三种状态构成了GPRS链路建立及保持任务的三重重启机制。0012本发明与现有技术相比的有益效果是GPRS监控终端的网络连接稳定性是基于GPRS监控终端的远程监控系统正常运行的关键因素,GPRS链路建立及保持状态机的过程设计实现了基于状态机的监控节点自动网络连接及维护机制。附图说明0013。

21、图1为本发明涉及的一种高可靠性GPRS监控终端的硬件系统结构。0014图2为本发明的GPRS电源管理模块电路。0015图3本发明的多任务应用程序的多任务交互示意图。0016图4为本发明的GPRS链路建立及保持状态机流程图。0017图5为本发明的GPRSMODEM初始化程序流程图。0018图6为本发明多任务软件看门狗喂狗流程图。0019图7为本发明的壳体结构。0020其中,附图标记为1为上壳体,2为下壳体,3为接插件安装位置,4为上壳体凹槽(密封条安装位置)。具体实施方式0021以下结合附图对本发明的一种高可靠性GPRS监控终端进行进一步描述。0022如图1所示,本实例涉及的一种高可靠性GPRS。

22、监控终端,其硬件电路包括嵌入式微控制器、GPRS无线通信模块、电源模块、GPRS电源管理模块、存储模块、输入输出模块、硬件看门狗及指示灯;其中,GPRS无线通信模块通过串口与嵌入式微控制器相连接,GPRS电源管理模块通过通用IO口与嵌入式微控制器相连接,电源模块分别与嵌入式微控制器、GPRS电源管理模块相连接,嵌入式微控制器还与存储模块、输入输出模块、硬件看门狗及指示灯相连接,嵌入式微控制器通过控制GPRS电源管理模块开启或停止对GPRS无线通信模块的供电。0023如图2所示,GPRS电源管理模块电路的输入端为GPRS_PWR_DOWNN,与嵌入式微控制器的通用IO口相连接,输出端为VCC_G。

23、PRS,与GPRS无线通信模块的电源输入端相连接。嵌入式微控制器根据软件系统的控制指令控制嵌入式微控制器的通用IO口的输出电平,进而控制GPRS电源管理模块电路的输入端的电平。当GPRS电源管理模块电路输入端为低电平时,GPRS电源管理模块电路输出端VCC_GPRS电压为零,即此时切断对GPRS无线通信模块的电源供应;当GPRS电源管理模块电路输入端为高电平时,GPRS电源管理模块电路输出端VCC_GPRS电压为38V,即此时对GPRS无线通信模块提供38V的电源供应。通过上述控制机制,实现了软件指令控制GPRS无线通信模块重上电的操作,从而保证GPRS监控终端在断网后能够恢复到正常工作状态,。

24、可靠连接至网络。0024如图3所示,GPRS监控终端上电后,软件系统自动启动并进入MAIN函数,在MAIN函数中,首先初始化串口、指示灯、存储模块等外设,然后控制GPRS电源管理模块给GPRS无说明书CN104202395A4/7页7线通信模块上电,接着初始化嵌入式操作系统,并创建开始任务,最后启动多任务调度。0025开始任务中,首先启动GPRS无线通信模块,接着检测嵌入式微控制器本地配置串口是否接收到进入配置状态的指令,若在设定时间内未检测到该指令,则进入系统正常启动状态,否则进入系统参数配置状态。在系统参数配置状态下,用户可以通过配置串口向系统发送配置指令,系统在接收到配置指令后,进行指令。

25、解析及参数修改、存储。用户也可以通过指令查看最新的系统参数值。在接收到用户发来的配置完成指令后,系统进入正常启动状态。在软件系统进入正常启动状态后,首先初始化多任务软件看门狗,然后创建相关的信号量、消息邮箱及消息队列,接着创建MODEM串口接收任务、GPRS调度任务、数据解析转换任务、GPRS链路建立及保持任务、系统监控告警任务、设备数据采集存储上传任务,最后开始任务将自身挂起。之后,操作系统就开始进行MODEM串口接收任务、GPRS调度任务、数据解析转换任务、GPRS链路建立及保持任务、系统监控告警任务、设备数据采集存储上传任务的调度。0026MODEM串口接收任务主要负责定期查询与GPRS。

26、无线通信模块相连接的嵌入式微控制器的串口缓冲区中是否有GPRS无线通信模块发来的数据,若有,则取出并送入MODEM接收数据消息队列。0027GPRS调度任务完成GPRS无线通信模块数据、短信息的接收,以及GPRS数据、短消息的发送。GPRS调度任务定期查询MODEM接收数据消息队列中是否有消息,若有,则取出该消息并进行解析,若消息内容为TCP/UDP数据或短消息,则进行相应的数据提取并置位相应的标志位,若消息内容为AT指令应答数据,则通过消息邮箱将该数据传递给GPRS链路建立及保持任务进行处理。GPRS调度任务还定期查询MODEM发送数据消息队列中是否有消息,若有,则取出该消息,并检测GPRS。

27、链路是否畅通,若畅通,则进行数据的无线发送,否则,累计重发次数并延时等待、重发。若重发次数超过3次,则放弃该数据的无线发送。此外,GPRS调度任务定期查询短消息发送标志位,若该标志位为真,则进行短消息的发送。0028数据解析转换任务定期依次进行如下标志位的查询,并执行相应的动作(1)若有新的TCP/UDP数据,则进行相应的解析。若该TCP/UDP数据为服务器远程操作命令(如远程查询、设置命令等),则按照预定义规约构建相应的应答帧,并将该应答帧加入MODEM发送数据消息队列,等待GPRS调度任务进行无线发送;若该TCP/UDP数据为服务器应答帧(如登录应答帧、心跳包应答帧等),则置位相应的标志位。

28、。0029(2)若有新的远程操作短消息,则进行解析,并按照预定义规约构建应答短消息并置位短消息发送标志位,等待GPRS调度任务进行查询及短消息的无线发送。0030(3)在网络连接正常时,进行登录数据包、心跳数据包、设备实时数据包、系统告警数据包、设备告警数据包等发送标志位的检测,若某种数据包发送标志位为真,则按照预定义规约构建该数据包,并将其送入待发送消息队列,等待GPRS调度任务进行无线发送。0031系统监控告警任务完成对系统状态及采集到的设备实时数据的异常监测,通过定时检测系统的运行状态,从而及时发现系统异常,并在检测到异常事件时置位相应的告警标志位,并置位发送系统异常告警数据包的标志位,。

29、以便数据解析转换任务进行查询、构建并传递系统告警数据包至GPRS调度任务进行无线发送。此外,系统监控告警任务在检测到有新的设备实时数据时,对其进行异常检测,与系统异常的处理类似,在检测到设备实时数据异常事件时置位相应的告警标志位,并置位发送设备异常告警数据包的标志位,以便数说明书CN104202395A5/7页8据解析转换任务进行查询、构建并传递设备告警数据包至GPRS调度任务进行无线发送。0032设备数据采集存储上传任务设备数据采集存储上传任务定期完成对设备实时数据的采集、存储及上传。0033GPRS链路建立及保持任务GPRS链路建立及保持任务完成GPRS通信链路的建立及维持,该任务采用了状。

30、态机实现,该状态机由“GPRSMODEM初始化”状态、“建立GPRSPPP连接”状态、“建立GPRSTCP/UDP连接”状态、“登录远程服务器”状态、“检测GPRSPPP连接状态”状态、“检测GPRSTCP/UDP连接状态”状态、“GPRSMODEM硬件复位”状态、“GPRSMODEM重上电”状态及“软件系统软复位”状态构成。0034如图4所示,所述GPRS链路建立及保持任务的状态机的状态转换机制如下A、进入“GPRSMODEM初始化”状态,在此状态下进行GPRSMODEM初始化,在初始化的每一个MODEM的AT指令操作时,均采用了“确定性的MODEMAT指令操作机制”;若MODEM初始化成功。

31、则进入“建立GPRSPPP连接”状态,若初始化失败,则进入“GPRSMODEM硬件复位”状态;B、在“建立GPRSPPP连接”状态下,通过向GPRSMODEM发送AT指令尝试建立PPP连接,若建立连接成功,则进入“建立GPRSTCP/UDP连接”状态,若连续3次尝试建立PPP连接失败,则进入“GPRSMODEM硬件复位”状态;C、在“建立GPRSTCP/UDP连接”状态下,根据系统参数的配置选择尝试与指定的服务器端口建立TCP连接或UDP连接,若建立连接成功,则进入“登录远程服务器”状态,若连续3次尝试建立TCP/UDP连接失败,则进入“GPRSMODEM硬件复位”状态;D、在“登录远程服务器。

32、”状态下,采用“可靠登录GPRS网络机制”进行服务器的远程登录操作;置位向服务器发送登录数据包的标志位,等待数据解析转换任务进行检测并构建、传递登录数据包至GPRS调度任务进行无线发送,并等待服务器的登录数据包反馈,若在指定的等待时间内接收到服务器的登录数据包反馈,则说明登录服务器成功,进入“检测GPRSPPP连接状态”状态,否则说明登录服务器失败,若连续3次登录服务器失败,则进入“GPRSMODEM硬件复位”状态;E、在“检测GPRSPPP连接状态”状态下,实现了“终端实时在线检测机制”。通过定期向GPRSMODEM发送AT指令检测GPRSPPP连接的状态,若GPRSPPP连接正常,则进入“。

33、检测GPRSTCP/UDP连接状态”状态,若连续3次检测到GPRSPPP连接断开,则进入“建立GPRSPPP连接”状态,重新建立GPRSPPP连接;之所以需要定期检测GPRSPPP连接状态,是由于GPRS网络本身的网络状况会导致GPRS无线监控节点掉线,为了保证GPRS无线监控节点与服务器的正常通信,GPRS无线监控节点必须知道何时从GPRS网络上掉线,从而及时重新建立PPP连接以及TCP/UDP连接。0035F、在“检测GPRSTCP/UDP连接状态”状态下,采用“心跳机制”实现TCP/UDP链路的连接状态检测。通过定期向服务器发送心跳数据包来检测GPRSTCP/UDP连接的状态,若GPRS。

34、TCP/UDP连接正常,则进入“检测GPRSPPP连接状态”状态,若连续3次检测到GPRSTCP/UDP连接断开,则进入“建立GPRSTCP/UDP连接”状态,重新建立GPRSTCP/UDP连接。其中,向服务器发送心跳数据包的实现方式与发送登录数据包类似,通过置位向服务器发送心跳数据包的标志位,等待数据解析转换任务进行检测并构建、传递心跳数据包至GPRS调度任务进行无线发送,并等待服务器的心跳数据包反馈,若在指定的等待时间内接收到说明书CN104202395A6/7页9服务器的心跳数据包反馈,则说明TCP/UDP连接正常,否则认为TCP/UDP连接断开。0036G、在“GPRSMODEM硬件复。

35、位”状态下,执行GPRSMODEM硬件复位动作,并累计GPRSMODEM硬件复位的次数,若GPRSMODEM硬件复位的次数超过3次,则进入“GPRSMODEM重上电”状态,否则进入“GPRSMODEM初始化”状态;H、在“GPRSMODEM重上电”状态下,依次执行GPRSMODEM关机、断电、上电、开机操作,并累计GPRSMODEM重上电的次数,若GPRSMODEM重上电的次数超过3次,则进入“软件系统软复位”状态,否则进入“GPRSMODEM初始化”状态;I、在“软件系统软复位”状态下,执行软件系统软复位动作,重启软件系统,进而在建立GPRS链路建立及保持任务后,进入“GPRSMODEM初始。

36、化”状态。所述MODEMAT指令操作机制是针对GPRS无线通信模块对不同AT指令的响应时间不一致,采用超时机制,即根据每个AT命令不同的响应时间设置不同的等待时间,若指定时间内获得返回值则结束等待,超时则自动结束等待,保证MODEMAT指令操作的可靠性。0037所述可靠登录GPRS网络机制采用超时机制进行登录,即监控节点登录时,若等待登录反馈超时,则认为登录失败,多次登录失败后,则重新复位GPRS无线通信模块。0038所述心跳机制为GPRS监控终端定时向后台服务器发送心跳包,若保活时间内未收到心跳包反馈,则认为链路已断开,自动断开现有连接并重新建立链路;尽管GPRS有一直在线的特点,但当GPR。

37、S长时间在线却无数据传输时,数据业务级别会自动被降低,采用心跳机制即当系统长时间没有有效数据传输的时候,监控节点按照一定的时间间隔向服务器发送一帧无效数据,从而保持数据传输业务处于较高的优先级别,维持GPRS数据链路。0039所述终端实时在线检测机制是通过周期性检测GPRSPPP连接状态,可及时检测到节点是否从GPRS网络掉线,若掉线则执行尝试重新拨号连接操作,从而保证监控节点实时在线;由于GPRS网络本身的不稳定性可能会导致GPRS无线监控节点掉线,为了保证监控节点与服务器的正常通信,监控节点必须知道何时从GPRS网络上掉线,进而重新建立PPP连接以及TCP/UDP连接。0040所述“GPR。

38、SMODEM硬件复位”、“GPRSMODEM重上电”、“软件系统软复位”三种状态构成了GPRS链路建立及保持任务的三重重启机制;保证监控节点在掉线后能够恢复与后台服务器的连接,从而实现GPRS无线监控节点的可靠联网。0041如图5所示,GPRSMODEM初始化流程如下(1)首先对GPRSMODEM进行AT指令测试,若测试成功则关闭MODEM的AT指令回显功能,接着进行SIM卡测试;若连续3次测试失败则结束GPRSMODEM初始化,并返回初始化失败信息。0042(2)若SIM卡测试成功则进行GPRS信号质量测试;若连续3次SIM卡测试失败,则结束GPRSMODEM初始化,并返回初始化失败信息。0。

39、043(3)若GPRS信号质量好则进行GPRSMODEM网络注册;若GPRS信号不可用,则结束GPRSMODEM初始化,并返回初始化失败信息。0044(4)若GPRSMODEM网络注册成功,则进行短消息(SMS)相关参数初始化;若连续3次GPRSMODEM网络注册失败,则结束GPRSMODEM初始化,并返回初始化失败信息。0045(5)若短消息(SMS)相关参数初始化成功,则读取GPRSMODEM信息,结束GPRSMODEM初始化,并返回初始化成功信息;若短消息(SMS)相关参数初始化失败,则结束GPRS说明书CN104202395A7/7页10MODEM初始化,并返回初始化失败信息。0046。

40、以上初始化过程中的各种测试或操作的次数并不限于3次,可根据实际的应用场合进行调整。0047如图6所示,所述多任务应用程序实现了多任务软件看门狗,该多任务软件看门狗由每个任务的软件看门狗子程序,以及多任务软件看门狗喂狗子程序构成;每个任务的软件看门狗子程序主要负责该任务软件看门狗的初始化,并在主循环中更新该任务软件看门狗的计数器;多任务软件看门狗喂狗子程序则在每个系统时钟周期内检查每个任务的软件看门狗是否已超时,只要某个任务的软件看门狗超时,就通过硬件看门狗完成对系统的复位。0048其中,每个任务的软件看门狗子程序主要包括定时器的初始值的赋值以及计数器的更新,具体地在每个任务起始处都需要初始化该。

41、任务的软件看门狗,包括将软件看门狗定时器的初始值赋值为该任务的超时值,并开启该任务的软件看门狗。此外,在每个任务的主循环中都要对该任务软件看门狗的计数器进行更新。0049多任务软件看门狗喂狗子程序位于系统时钟节拍钩子函数,在每个系统时钟周期内被调用一次。多任务软件看门狗喂狗子程序流程说明如下进入多任务软件看门狗喂狗子程序后,首先检查“停止喂硬件看门狗标志位”是否为真,如果为真,则直接结束多任务软件看门狗喂狗子程序;如果不为真,则依次对每个任务的软件看门狗状态进行检查,步骤如下检查该任务软件看门狗计数器是否已更新,若已更新,则重置该任务软件看门狗定时器的值为该任务的超时值,并继续进行下一个任务的。

42、软件看门狗状态检查;若未更新,则首先将该任务软件看门狗定时器的值减1,然后判断该任务软件看门狗定时器的值是否为零,为零则说明该任务软件看门狗定时器已超时,置位“停止喂硬件看门狗标志位”为真,直接结束多任务软件看门狗喂狗子程序,不为零则继续进行下一个任务的软件看门狗状态检查。按照上述步骤依次完成对每个任务软件看门狗的状态检查,然后执行喂硬件看门狗的步骤,最后结束多任务软件看门狗喂狗子程序。0050如图7所示,壳体采用内上外下的壳体结构,材料为铝合金;上下壳体之间采用密封条进行密封,密封条为硅橡胶材料,安装于上壳体内的凹槽中;上下壳体采用螺纹进行连接并压紧上下壳体之间的密封条,达到密封的效果;接插件选用PG7电缆防水接头,安装位置均布置于壳体两侧;硬件电路板通过螺纹连接固定在下壳体内。0051对于具体实施方式的理解的描述仅仅是为帮助理解本发明,而不是用来限制本发明的。本领域技术人员均可以利用本发明的思想进行一些改动和变化,只要其技术手段没有脱离本发明的思想和要点,仍然在本发明的保护范围之内。说明书CN104202395A101/4页11图1图2说明书附图CN104202395A112/4页12图3图4说明书附图CN104202395A123/4页13图5说明书附图CN104202395A134/4页14图6图7说明书附图CN104202395A14。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1