本发明属于水利rtu技术领域,具体涉及一种基于水利rtu的gprs模块通信调度方法。
背景技术:
水利rtu上的gprs通信模块,会根据现场的应用环境,或者客户的要求,选择采用gprs当中的tcpudp信道、或者短信信道、语音通话信道,等3种不同的信道或者混合使用进行数据的通信。那么,这就要求水利rtu对于gprs通信模块的处理,需要同时兼容三种信道的通信,然而,现有的rtu设备一般都只支持其中的一种信道进行开发,为此,提出一种基于水利rtu的gprs模块通信调度方法。
技术实现要素:
本发明的目的在于提供一种基于水利rtu的gprs模块通信调度方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明采用了如下技术方案:
一种基于水利rtu的gprs模块通信调度方法,包括以下步骤:
s1、通过gprs模块接收数据并进行处理;
s2、根据标志位和数据类别对数据进行调度分发;
s3、根据标志位分步进行通信模块初始化处理;
s4、根据标志位分步进行socket处理;
s5、根据标志位分步进行短信处理。
作为优选的,在s2中,调度处理时,包括以下步骤:
s201、工作模式在线时,通知启动通信模块;
s202、通信模块启动后,返回工作模式,查看是否有数据需要发送;
s203、有数据需要发送时,通过主信道发送数据;
s204、数据发送成功后,设置数据发送成功标志,返回工作模式;
s205、工作模式通知关闭通信模块,工作模式进行休眠状态。
作为优选的,通信模块如未启动,返回工作模式,重新启动通信模块,通过主信道发送数据失败后,选择备用信道发送数据,选择备用信道发送数据失败后,设置数据发送失败标志,返回工作模式,通信模块如未关闭,返回工作模式,重新关闭通信模块。
作为优选的,在s3中,通信模块初始化处理时,包括以下步骤:
s301、通信模块接收到启动运行指令后,启动通信模块;
s302、通信模块启动后,设置启动完成标志;
s303、通信模块接收到关闭运行指令后,关闭通信模块;
s304、通信模块关闭后,设置关闭完成标志。
作为优选的,在通信模块接收到启动运行指令后,如未启动通信模块,重新进行启动通信模块操作;在通信模块接收到关闭运行指令后,如未关闭通信模块,重新进行关闭通信模块操作。
作为优选的,在s4中,socket处理时,包括以下步骤:
s401、socket连接启动成功时,查看是否有数据需要发送;
s402、查看是否有数据需要发送时,调用接收数据处理,获取数据;
s403、收到数据,通过socket发送数据;
s404、数据发送成功时,设置发送成功标志,返回s401,数据发送失败时,设置发送失败标志,进入下一步骤;
s405、socket出现错误时,关闭socket,等待三分钟,返回s401;socket未出现错误时,返回s402。
作为优选的,在s5中,短信处理时,包括以下步骤:
s501、查看是否有短信需要发送;
s502、查看是否有短信需要发送时,调用接收数据处理,获取短信;
s503、收到短信,发送短信;
s504、短信发送成功时,设置发送成功标志,并返回s501;短信发送失败时,设置发送失败标志,并返回s501。
作为优选的,数据发送时,包括以下步骤:
s01、查看是否需要发送数据;
s02、需要主动发送数据时,准备数据设置发送参数;
s03、数据发送完成时,返回s01。
作为优选的,当收到gprs数据时,接收数据处理,当接受到短信数据时,接收数据处理。
作为优选的,在对数据进行处理时,每一个任务,都是采用状态机模式,根据标志位分步进行。
本发明的技术效果和优点:本发明提出的一种基于水利rtu的gprs模块通信调度方法,与现有技术相比,具有以下优点:
由于本发明中,每一个任务,都是采用状态机模式,根据标志位分步进行的,各个任务不会存在阻塞的情况,即任务不会影响其他任务的运行,每一个任务都能得到及时的运行,从而实现对于gprs模块多信道的处理,解决gprs通信同时使用多信道通信的问题,提高通信效率,增加水利rtu的使用场合,根据调度模块的分配,占用串口跟gprs模块进行数据交互,保障了各个socket连接、短信、通信等多个通信任务的有序执行,实现了各个通信任务的同时执行。
附图说明
图1为本发明的调度处理流程图;
图2为本发明的通信模块初始化处理流程图;
图3为本发明的socket处理流程图;
图4为本发明的短信处理流程图;
图5为本发明的数据发送流程图;
图6为本发明的接收gprs数据处理流程图;
图7为本发明的接收短信数据处理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1-7所示的一种基于水利rtu的gprs模块通信调度方法,包括以下步骤:
s1、通过gprs模块接收数据并进行处理;
s2、根据标志位和数据类别对数据进行调度分发;
s3、根据标志位分步进行通信模块初始化处理;
s4、根据标志位分步进行socket处理;
s5、根据标志位分步进行短信处理。
本实施例中,在s2中,调度处理时,包括以下步骤:
s201、工作模式在线时,通知启动通信模块;
s202、通信模块启动后,返回工作模式,查看是否有数据需要发送;
s203、有数据需要发送时,通过主信道发送数据;
s204、数据发送成功后,设置数据发送成功标志,返回工作模式;
s205、工作模式通知关闭通信模块,工作模式进行休眠状态。
通过采用上述技术方案,可以对从gprs模块接收的数据统一进行处理,根据占用标志和数据类别对数据进行分发。
在本实施例中,通信模块如未启动,返回工作模式,重新启动通信模块,通过主信道发送数据失败后,选择备用信道发送数据,选择备用信道发送数据失败后,设置数据发送失败标志,返回工作模式,通信模块如未关闭,返回工作模式,重新关闭通信模块。工作模式采用低功耗状态,判断是否有数据需要发送,若有,则处于永在线状态,持续启动调通信模块进入工作模式,工作模式持续采用低功耗状态通过主信道发送数据。
通过采用上述技术方案,可以提醒工作人员,当前工作状态。
本实施例中,在s3中,通信模块初始化处理时,包括以下步骤:
s301、通信模块接收到启动运行指令后,启动通信模块;
s302、通信模块启动后,设置启动完成标志;
s303、通信模块接收到关闭运行指令后,关闭通信模块;
s304、通信模块关闭后,设置关闭完成标志。
较佳地:在通信模块接收到启动运行指令后,如未启动通信模块,重新进行启动通信模块操作;在通信模块接收到关闭运行指令后,如未关闭通信模块,重新进行关闭通信模块操作。
通过采用上述技术方案,可以根据占用标志和数据类别对数据进行分发。
本实施例中,在s4中,socket处理时,包括以下步骤:
s401、socket连接启动成功时,查看是否有数据需要发送;
s402、查看是否有数据需要发送时,调用接收数据处理,获取数据;
s403、收到数据,通过socket发送数据;
s404、数据发送成功时,设置发送成功标志,返回s401,数据发送失败时,设置发送失败标志,进入下一步骤;
s405、socket出现错误时,关闭socket,等待三分钟,返回s401;socket未出现错误时,返回s402。
通过采用上述技术方案,可以对从gprs模块接收的数据统一进行处理,根据占用标志和数据类别对数据进行分发,将数据发送给各个socket任务进行处理,各个socket任务根据调度模块的分配,占用串口跟gprs模块进行数据交互,保障了各个socket连接通信任务的有序执行。
本实施例中,在s5中,短信处理时,包括以下步骤:
s501、查看是否有短信需要发送;
s502、查看是否有短信需要发送时,调用接收数据处理,获取短信;
s503、收到短信,发送短信;
s504、短信发送成功时,设置发送成功标志,并返回s501;短信发送失败时,设置发送失败标志,并返回s501。
可以对从gprs模块接收的数据统一进行处理,根据占用标志和数据类别对数据进行分发,将数据发送给各个短信任务进行处理,各个短信任务根据调度模块的分配,占用串口跟gprs模块进行数据交互,保障了各个短信连接通信任务的有序执行。
较佳地:数据发送时,包括以下步骤:
s01、查看是否需要发送数据;
s02、需要主动发送数据时,准备数据设置发送参数;
s03、数据发送完成时,返回s01。
较佳地:当收到gprs数据时,接收数据处理,当接受到短信数据时,接收数据处理。
通过采用上述技术方案,可以对gprs数据和短信数据进行处理。
工作原理:本发明通过对从gprs模块接收的数据统一进行处理,根据占用标志和数据类别对数据进行分发,将数据发送给各个socket和短信、电话任务进行处理,各个socket和短信、电话任务根据调度模块的分配,占用串口跟gprs模块进行数据交互,保障了各个socket连接、短信、电话等多个通信任务的有序执行,实现了各个通信任务的同时执行,每一个任务,都是采用状态机模式,根据标志位分步进行的,各个任务不会存在阻塞的情况,即任务不会影响其他任务的运行,每一个任务都能得到及时的运行,从而实现对于gprs模块多信道的处理,解决gprs通信同时使用多信道通信的问题,提高通信效率,增加水利rtu的使用场合。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于水利rtu的gprs模块通信调度方法,其特征在于,包括以下步骤:
s1、通过gprs模块接收数据并进行处理;
s2、根据标志位和数据类别对数据进行调度分发;
s3、根据标志位分步进行通信模块初始化处理;
s4、根据标志位分步进行socket处理;
s5、根据标志位分步进行短信处理。
2.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在s2中,调度处理时,包括以下步骤:
s201、工作模式在线时,通知启动通信模块;
s202、通信模块启动后,返回工作模式,查看是否有数据需要发送;
s203、有数据需要发送时,通过主信道发送数据;
s204、数据发送成功后,设置数据发送成功标志,返回工作模式;
s205、工作模式通知关闭通信模块,工作模式进行休眠状态。
3.根据权利要求2所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:通信模块如未启动,返回工作模式,重新启动通信模块,通过主信道发送数据失败后,选择备用信道发送数据,选择备用信道发送数据失败后,设置数据发送失败标志,返回工作模式,通信模块如未关闭,返回工作模式,重新关闭通信模块。
4.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在s3中,通信模块初始化处理时,包括以下步骤:
s301、通信模块接收到启动运行指令后,启动通信模块;
s302、通信模块启动后,设置启动完成标志;
s303、通信模块接收到关闭运行指令后,关闭通信模块;
s304、通信模块关闭后,设置关闭完成标志。
5.根据权利要求4所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在通信模块接收到启动运行指令后,如未启动通信模块,重新进行启动通信模块操作;在通信模块接收到关闭运行指令后,如未关闭通信模块,重新进行关闭通信模块操作。
6.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在s4中,socket处理时,包括以下步骤:
s401、socket连接启动成功时,查看是否有数据需要发送;
s402、查看是否有数据需要发送时,调用接收数据处理,获取数据;
s403、收到数据,通过socket发送数据;
s404、数据发送成功时,设置发送成功标志,返回s401,数据发送失败时,设置发送失败标志,进入下一步骤;
s405、socket出现错误时,关闭socket,等待三分钟,返回s401;socket未出现错误时,返回s402。
7.根据权利要求6所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在s5中,短信处理时,包括以下步骤:
s501、查看是否有短信需要发送;
s502、查看是否有短信需要发送时,调用接收数据处理,获取短信;
s503、收到短信,发送短信;
s504、短信发送成功时,设置发送成功标志,并返回s501;短信发送失败时,设置发送失败标志,并返回s501。
8.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:数据发送时,包括以下步骤:
s01、查看是否需要发送数据;
s02、需要主动发送数据时,准备数据设置发送参数;
s03、数据发送完成时,返回s01。
9.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:当收到gprs数据时,接收数据处理,当接受到短信数据时,接收数据处理。
10.根据权利要求1所述的一种基于水利rtu的gprs模块通信调度方法,其特征在于:在对数据进行处理时,每一个任务,都是采用状态机模式,根据标志位分步进行。
技术总结