进行卫星定位信号解析的方法

文档序号:9273975阅读:868来源:国知局
进行卫星定位信号解析的方法
【技术领域】
[0001]本发明涉及对通讯信号的解析方法,具体的讲是进行卫星定位信号解析的方法,特别适合但不仅限于针对北斗卫星定位系统的定位信号。
【背景技术】
[0002]目前卫星定位技术已广泛应用于工业、交通、水电等行业。在水利水电行业中通常通过卫星定位系统中的坐标信号,反应接收点的物理位置。如何快速、有效、准确的解析定位坐标信号成为应用卫星定位系统必须要解决的问题。在卫星定位信号,特别是北斗卫星定位信号中包括了经度、玮度、海拔高度、速度、卫星状态和卫星数量等大量的信息。一般对卫星定位信号的解析过程是使用一种软件平台,将接收到的卫星信号进行分析,根据自身设备的需要对有用信息进行提取的过程。公知的卫星定位信号解析技术平台通常为c、c++、c#、JAVA等计算机高级语言,常规方式为先对卫星定位报文整体进行累加校验或者异或校验,再通过查找信号中的数据分隔符,获得有用信息。实际解析过程中,可能由于卫星信号接收欠佳,或者接收设备输出的报文格式存在欠缺(例如:参数前导位数不足未补零),使报文中某些信息的长度发生变化,当同一缓冲区存在多组报文,且报文长度发生变化时,难以保证校验码的正确性,需要对校验方式进行特殊处理,以规避这种情况。另外,施工现场的很多设备都是采用PLC进行控制的,但PLC不支持C、C++、C#、JAVA等语言格式,导致采用PLC软件解析卫星定位坐标信号方法的空缺。

【发明内容】

[0003]本发明提供了一种进行卫星定位信号解析的方法,将卫星定位系统与PLC设备有效结合,并且卫星定位报文每项信息长度可自定义,避免校验报文出错。
[0004]本发明进行卫星定位信号解析的方法,包括:
[0005]a.PLC设备通过通讯模块的串口接收字符格式的卫星定位报文,并将接收到的卫星定位报文转换成字符串格式,由PLC设备获取和存储有效的报文信息字符串;
[0006]b.PLC设备按照有效的报文信息字符串中的分隔符分别截取各段字符串,从所述的各段字符串中提取对应卫星定位信息。
[0007]例如有效报文字符串为(abc,def,ghi),对其进行解析后假设需要提取其中的“def ”字符串,则根据有效报文字符串中的分隔符“,”对字符串进行分割,然后再获取第一个分隔符“,”和第二个分隔符“,”之间的字符串,即def。这样通过PLC设备和PLC本身的软件即可对卫星定位信号进行校验和解析,同时由于读取信息时是以字符串中的分隔符为节点,因此不会机械的读取固定位数的字符,例如理论报文为:(abc,def, ghi),共占用11个缓冲区地址,但实际收到的报文为(abcj,def, ghi),占用了 12个缓冲区地址。如果采用常规的对整条报文进行读取的方式,就只会从缓冲区中读取11个地址,这样就会计算错误。而通过本发明的方法对报文进行分割后读取,就能够适应各种长度的报文,从而避免了在卫星定位报文长度随意变化时的校验报文出错情况,保证了卫星定位信号的可靠接收。
[0008]进一步的,步骤a之后进行校验值的计算和校验:通过PLC设备按照有效的报文信息字符串中的分隔符分别截取首、尾部分的字符串,和各分隔符之间的字符串,将截取的各段字符串经校验算法得到整条报文的校验值,再获取报文信息字符串中的原始校验码,如果原始校验码与得到的校验值比较后相同,则认为报文接收正确,在报文信息字符串中设置校验通过标识;步骤b在截取字符串前,先判断报文信息字符串中是否存在校验通过标识,如果有则执行后续程序,反之则舍弃。
[0009]其中一种校验算法的步骤为:将截取的各段字符串分别放在不同的字符数组中,将各字符数组中的字符进行异或运算,运算次数为字符串长度减I,再将异或运算后的各字符数组相互进行异或运算,得到整条报文信息的校验值。例如对报文字符串(abc,def, ghi)进行校验计算:先获取字符串中第一个分隔符“,”左侧的字符串,即“abc”,将“abc”放入字符数组中并计算异或值;再获取字符串中第一个“,”右侧的字符串,即“def,ghi”,然后获取“def,ghi”中的第一个,也就是原报文中的第二个分隔符“,”左侧的字符串,即“def”,将“def”放入字符数组中并计算异或值;最后获取原报文中第二个分隔符“,”右侧的字符串,即“ghi”,将“ghi”放入字符数组中并计算异或值;最后把得到的3个异或值再进行异或计算得到正条报文的校验值。常规的校验算法是将整条报文进行校验计算,得出校验值,本发明的方法是先分别计算出报文中分隔符之间的异或值,再将结果进行异或计算,这样可以避免因报文中某些信息的长度发生变化时,产生的校验值计算错误。
[0010]具体的,所述报文信息字符串中的原始校验码为报文信息中的号右侧的字符串,通常为“ ”号右侧的两个字符。
[0011]为提高整个程序运行的效率,优选的,步骤a中在PLC设备获取和存储有效的报文信息字符串前,先在转换后的字符串报文信息中检索坐标信息报文头字节,以此判断报文中是否包含坐标信息报文,如果不包含,重新检索。
[0012]具体的,所述报文字符串中的分隔符为逗号格式(“,”格式)。
[0013]可选的,步骤b中提取的卫星定位信息包括玮度坐标值、经度坐标值和高程位置,还可以包括其它需要的各种卫星定位信息。
[0014]本发明进行卫星定位信号解析的方法,填补了通过PLC软件解析卫星定位信号的空白,能够将卫星定位系统与PLC设备有效结合,并且卫星定位报文每项信息长度可自定义,有效避免了校验报文出错,提高了卫星定位信号解析的可靠性。
[0015]以下结合实施例的【具体实施方式】,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实施例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
【附图说明】
[0016]图1为本发明进行卫星定位信号解析的方法的流程图。
[0017]图2为图1中校验值计算的流程图。
[0018]图3为图1中解析卫星定位信号的流程图。
【具体实施方式】
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1