CN104202395A - 一种gprs链路建立及保持任务的状态机实现方法 - Google Patents

一种gprs链路建立及保持任务的状态机实现方法 Download PDF

Info

Publication number
CN104202395A
CN104202395A CN201410440658.4A CN201410440658A CN104202395A CN 104202395 A CN104202395 A CN 104202395A CN 201410440658 A CN201410440658 A CN 201410440658A CN 104202395 A CN104202395 A CN 104202395A
Authority
CN
China
Prior art keywords
gprs
state
modem
tcp
udp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410440658.4A
Other languages
English (en)
Other versions
CN104202395B (zh
Inventor
徐立强
贺骥
李永龙
陈博翁
刘丝丝
吴建东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongfang Electric Group Research Institute of Science and Technology Co Ltd
Original Assignee
Dongfang Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dongfang Electric Corp filed Critical Dongfang Electric Corp
Priority to CN201410440658.4A priority Critical patent/CN104202395B/zh
Publication of CN104202395A publication Critical patent/CN104202395A/zh
Application granted granted Critical
Publication of CN104202395B publication Critical patent/CN104202395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

一种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电缆防水接头,安装位置均布置于壳体两侧;硬件电路板通过螺纹连接固定在下壳体内。
对于具体实施方式的理解的描述仅仅是为帮助理解本发明,而不是用来限制本发明的。本领域技术人员均可以利用本发明的思想进行一些改动和变化,只要其技术手段没有脱离本发明的思想和要点,仍然在本发明的保护范围之内。

Claims (7)

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链路建立及保持任务的三重重启机制。
CN201410440658.4A 2014-09-01 2014-09-01 一种gprs链路建立及保持任务的状态机实现方法 Active CN104202395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410440658.4A CN104202395B (zh) 2014-09-01 2014-09-01 一种gprs链路建立及保持任务的状态机实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410440658.4A CN104202395B (zh) 2014-09-01 2014-09-01 一种gprs链路建立及保持任务的状态机实现方法

Publications (2)

Publication Number Publication Date
CN104202395A true CN104202395A (zh) 2014-12-10
CN104202395B CN104202395B (zh) 2017-12-19

Family

ID=52087620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410440658.4A Active CN104202395B (zh) 2014-09-01 2014-09-01 一种gprs链路建立及保持任务的状态机实现方法

Country Status (1)

Country Link
CN (1) CN104202395B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534260A (zh) * 2016-10-09 2017-03-22 电子科技大学 基于三层状态机的物联网设备通信方法
CN106961658A (zh) * 2017-03-09 2017-07-18 广东美的制冷设备有限公司 物联网家电设备离线恢复方法和联网模块
CN108230640A (zh) * 2016-12-21 2018-06-29 成都长城开发科技有限公司 自动抄表系统的集中器
CN110166324A (zh) * 2019-06-12 2019-08-23 陕西瑞迅电子信息技术有限公司 一种3g或4g网络在线方法及装置
CN110233894A (zh) * 2019-06-13 2019-09-13 深圳市风云实业有限公司 Tcp客户端的链接管理方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242574A (zh) * 2007-11-30 2008-08-13 上海展桥信息技术有限公司 一种gprs无线终端系统
CN102709944A (zh) * 2012-05-24 2012-10-03 浙江运达风电股份有限公司 基于dgnr变桨系统的风力发电机组低电压穿越控制方法
KR20120116190A (ko) * 2011-04-12 2012-10-22 삼성테크윈 주식회사 응용 계층에서의 전원관리 방법 및 시스템
CN103903421A (zh) * 2014-03-28 2014-07-02 中国东方电气集团有限公司 一种基于gprs的远程监控系统的网络管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242574A (zh) * 2007-11-30 2008-08-13 上海展桥信息技术有限公司 一种gprs无线终端系统
KR20120116190A (ko) * 2011-04-12 2012-10-22 삼성테크윈 주식회사 응용 계층에서의 전원관리 방법 및 시스템
CN102709944A (zh) * 2012-05-24 2012-10-03 浙江运达风电股份有限公司 基于dgnr变桨系统的风力发电机组低电压穿越控制方法
CN103903421A (zh) * 2014-03-28 2014-07-02 中国东方电气集团有限公司 一种基于gprs的远程监控系统的网络管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王磊: "基于GPRS的嵌入式远程抄表监控系统的研究", 《中国优秀硕士学位论文全文数据库工程科技 II辑》 *
胡玉霞: "基于μ C/OS-II操作系统的多任务看门狗设计", 《衡水学院学报》 *
蔡田芳: "基于嵌入式系统的GPRS数据终端的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534260A (zh) * 2016-10-09 2017-03-22 电子科技大学 基于三层状态机的物联网设备通信方法
CN106534260B (zh) * 2016-10-09 2019-07-19 电子科技大学 基于三层状态机的物联网设备通信方法
CN108230640A (zh) * 2016-12-21 2018-06-29 成都长城开发科技有限公司 自动抄表系统的集中器
CN106961658A (zh) * 2017-03-09 2017-07-18 广东美的制冷设备有限公司 物联网家电设备离线恢复方法和联网模块
CN106961658B (zh) * 2017-03-09 2019-10-29 广东美的制冷设备有限公司 物联网家电设备离线恢复方法和联网模块
CN110166324A (zh) * 2019-06-12 2019-08-23 陕西瑞迅电子信息技术有限公司 一种3g或4g网络在线方法及装置
CN110233894A (zh) * 2019-06-13 2019-09-13 深圳市风云实业有限公司 Tcp客户端的链接管理方法、装置和电子设备

Also Published As

Publication number Publication date
CN104202395B (zh) 2017-12-19

Similar Documents

Publication Publication Date Title
CN104199746A (zh) 一种多任务软件看门狗的实现方法
CN104200628A (zh) 一种工业gprs监控终端
CN104200629A (zh) 一种基于gprs监控终端的软件系统
CN104202395A (zh) 一种gprs链路建立及保持任务的状态机实现方法
CN102902243B (zh) 用于服务自动化工厂中的现场设备的系统和方法
CN110049014B (zh) 一种基于多Modbus总线协议的OpenAPI转换系统及方法
CN108255646A (zh) 一种基于心跳检测的工控应用程序故障自恢复的方法
CN101369927B (zh) 通用远程自动数据采集系统
CN103064382A (zh) 基于arm架构的opc嵌入式远程数据采集系统及方法
CN111770143A (zh) 基于Mqtt协议的数据断点续传方案
CN101281214A (zh) 远程抄表系统心跳帧实时检测方法
CN104202394A (zh) 一种基于gprs监控终端的多任务应用程序的实现方法
CN105652785A (zh) 一种基于iec60870-5-104远动规约的plc通信模块
CN104580245A (zh) 一种配电终端104报文解析系统及其解析方法
CN210294836U (zh) 基于mqtt协议的通信基站动力与环境监控数据采集终端
CN110658752A (zh) 一种应用于远程云监控的数据采集系统
CN206835124U (zh) 一种智能物联网网关
CN103281523B (zh) 具有视频监控功能及低功耗特性的遥测终端机
CN105527914A (zh) 一种双cpu可靠设计的基站动环监控装置及方法
CN109120063B (zh) 一种即插即用传感器监测方法及其系统和采集单元
CN209166518U (zh) 一种基于无线传感技术的变电站机房环境在线监控系统
CN111026662A (zh) 物联网终端设备远程调试方法、系统及介质
CN205373256U (zh) 冷藏箱监控系统
CN208873275U (zh) 铁路监测数据收发器
CN204859572U (zh) 一种用于养殖或种植业的控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180109

Address after: 610000 West Core Avenue, Chengdu hi tech Zone (West District), Sichuan Province, No. 18

Patentee after: Dongfang Electric Chengdu Intelligent Technology Co., Ltd.

Address before: Jinniu District Chengdu City, Sichuan province 610036 Shu Road No. 333

Patentee before: Dongfang Electric Corporation

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610218 east section of Ningbo Road, Zhengxing street, Tianfu New District, Chengdu, China (Sichuan) pilot Free Trade Zone, Chengdu

Patentee after: Dongfang Electric Group Research Institute of science and Technology Co., Ltd

Address before: 610000 No. 18 West core road, hi tech Zone, Chengdu, Sichuan

Patentee before: Dongfang Electric Chengdu Intelligent Technology Co., Ltd.