一种基于RS422/485串口通信的通用数据解码方法技术

技术编号:13609291 阅读:110 留言:0更新日期:2016-08-29 02:30
一种基于RS422/485串口通信的通用数据解码方法,根据RS422/485串口数字通信协议,提取需要解析的实际物理量总数,并对每个物理量逐个进行解码;同时按照提取的物理量建立通讯结构体,通讯结构体包含序号、字节数、符号位及分辨率信息;而后接收RS422/485串口缓存中的字符型原码,并将接收后的原码数据按照RS422/485串口数字通信协议查找出同步字、字节长度、命令ID号后,再按照通讯结构体对接收的RS422/485串口缓存中的字符型原码物理量进行信息提取后转换解码。本发明专利技术通过构建通讯结构体以实现RS422/485串口通信数据解码,灵活、通用、扩展性好、可靠性高。

【技术实现步骤摘要】

本专利技术涉及通信数据解码
,尤其涉及一种基于RS422/485串口通信的通用数据解码方法
技术介绍
目前串口通讯中,RS422/485通讯信号的抗干扰能力较强,广泛应用于近距离数字系统之间的数据传输,如数字通信系统中的上位机和下位机之间、控制系统中各分系统之间的信息传输;在数据接收过程中通常需要按照数字接口通讯协议对通信数据的物理量进行解析处理,一般可按照数据通讯协议通过直接移位的方法一一进行实现;然而该种方法虽然容易理解,但是不能灵活通用,数字接口通讯协议一旦更改一处,将导致整个数字接口通讯协议代码重新更改,进而造成实现方式冗长繁琐、不易更改而且实现起来容易出错。
技术实现思路
本专利技术所解决的技术问题在于提供一种基于RS422/485串口通信的通用数据解码方法,以解决上述
技术介绍
中的缺点。本专利技术所解决的技术问题采用以下技术方案来实现:一种基于RS422/485串口通信的通用数据解码方法,具体步骤如下:1)通过程序入口进入RS422/485串口,根据RS422/485串口数字通信协议,提取需要解析的实际物理量总数,物理量包括所在邮包中的序号、传输字节数、数据传输类型、数据类型及数据比例尺信息,并对每个物理量逐个进行解码;2)按照步骤1)中提取的物理量建立用于判断当前物理量字节长度的通讯结构体,通讯结构体包含序号、字节数、符号位及分辨率信息;3)接收RS422/485串口缓存中的字符型原码,并将接收后的原码数据按照RS422/485串口数字通信协议查找出同步字、字节长度、命令ID号后,再按照通讯结构体中的序号、字节数、符号位及分辨率对接收的RS422/485串口缓存中的字符型原码物理量进行信息提取后转换解码,转换标准为:按照需要解析的物理字节长度,将输入的字符型原码数据按照先低位后高位的原则组成一个数字量;4)对步骤3)中组成的数字量进行判别,若该数字量为有符号且当前物理量为有符号,则将该数字量转换为有符号型,否则不进行转换;5)接步骤4),将转换为有符号型的该数字量乘以当前物理量的数据比例尺,转换后输出当前物理量;6)重复执行步骤2)至步骤5),直至全部物理量解析完毕后退出程序出口。在本专利技术中,步骤2)中,可根据不同通信协议要求,设置不同的通讯结构体作为解码函数的输入形参,使得数据解码更加地灵活、通用。在本专利技术中,步骤4)中,对步骤3)中组成的数字量判别标准是将该数字量与当前物理量的符号特性进行对比。有益效果:1)本专利技术可根据不同的通信协议要求,设置不同的通讯结构体作为解码函数的输入形参,使得数据解码更加地灵活、通用;2)本专利技术解码方法封装与解码函数中,使得解码方法通用、可靠;3)本专利技术解码方法扩展性好,并且工程上实施方便、简单易行、可读性强、可靠性高,有效降低了数字系统或通信设备成本。附图说明图1为本专利技术的较佳实施例的流程图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本专利技术。一种基于RS422/485串口通信的通用数据解码方法,具体步骤如下:1)通过程序入口进入RS422/485串口,根据RS422/485串口数字通信协议,提取需要解析的实际物理量总数i,物理量包括所在邮包中的序号、传输字节数、数据传输类型、数据类型及数据比例尺,并对每个物理量需逐个进行解码;2)按照步骤1)中提取的物理量建立通讯结构体,通讯结构体包含序号、字节数、符号位及分辨率信息,用于判断当前物理量的字节长度;3)接收RS422/485串口缓存中的字符型原码,并将接收后的原码数据按照RS422/485串口数字通信协议查找出同步字、字节长度、命令ID号后,按照通讯结构体中的序号、字节数、符号位及分辨率对接收的RS422/485串口缓存中的字符型原码物理量进行信息提取后转换解码,转换标准为:按照需要解析的物理字节长度,将输入的字符型原码数据按照先低位后高位的原则转换为一个数字量,通过判别该数字量以确定是否将该数字量转换为有符号型,具体操作如下:①实际物理量长度为1时,从RS422/485串口缓存中读取一个字节组合成一个数字量;②实际物理量长度为2时,从RS422/485串口缓存中读取两个字节按照先低位后高位的原则组合成一个数字量;③实际物理量长度为3时,从RS422/485串口缓存中读取三个字节按照先低位后高位的原则组合成一个数字量;④实际物理量长度为4时,从RS422/485串口缓存中读取四个字节按照先低位后高位的原则组合成一个数字量;4)对步骤3)中组成的数字量进行判别,将该数字量与当前物理量的符号特性进行对比,若该数字量为有符号且当前物理量为有符号,最高位为1,则将该数字量转换为有符号型,否则不进行转换;5)接步骤4),将转换为有符号型的该数字量乘以当前物理量的数据比例尺,转换后输出当前物理量;6)重复执行步骤2)至步骤5),直至全部物理量解析完毕后退出程序出口。在本实施例中,步骤2)中可根据不同通信协议要求,设置不同的通讯结构体作为解码函数的输入形参,使得数据解码更加地灵活、通用。以上显示和描述了本专利技术的基本原理和主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...

【技术保护点】
一种基于RS422/485串口通信的通用数据解码方法,其特征在于,具体步骤如下:1)通过程序入口进入RS422/485串口,根据RS422/485串口数字通信协议,提取需要解析的实际物理量总数,物理量包括所在邮包中的序号、传输字节数、数据传输类型、数据类型及数据比例尺信息,并对每个物理量逐个进行解码;2)按照步骤1)中提取的物理量建立用于判断当前物理量字节长度的通讯结构体,通讯结构体包含序号、字节数、符号位及分辨率信息;3)接收RS422/485串口缓存中的字符型原码,并将接收后的原码数据按照RS422/485串口数字通信协议查找出同步字、字节长度、命令ID号后,再按照通讯结构体中的序号、字节数、符号位及分辨率对接收的RS422/485串口缓存中的字符型原码物理量进行信息提取后转换解码,转换标准为:按照需要解析的物理字节长度,将输入的字符型原码数据按照先低位后高位的原则组成一个数字量;4)对步骤3)中组成的数字量进行判别,若该数字量为有符号且当前物理量为有符号,则将该数字量转换为有符号型,否则不进行转换;5)接步骤4),将转换为有符号型的该数字量乘以当前物理量的数据比例尺,转换后输出当前物理量;6)重复执行步骤2)至步骤5),直至全部物理量解析完毕后退出程序出口。...

【技术特征摘要】
1.一种基于RS422/485串口通信的通用数据解码方法,其特征在于,具体步骤如下:1)通过程序入口进入RS422/485串口,根据RS422/485串口数字通信协议,提取需要解析的实际物理量总数,物理量包括所在邮包中的序号、传输字节数、数据传输类型、数据类型及数据比例尺信息,并对每个物理量逐个进行解码;2)按照步骤1)中提取的物理量建立用于判断当前物理量字节长度的通讯结构体,通讯结构体包含序号、字节数、符号位及分辨率信息;3)接收RS422/485串口缓存中的字符型原码,并将接收后的原码数据按照RS422/485串口数字通信协议查找出同步字、字节长度、命令ID号后,再按照通讯结构体中的序号、字节数、符号位及分辨率对接收的RS422/485串口缓存中的字符型原码物理量进行信息提取后转换解码,转换标准为:...

【专利技术属性】
技术研发人员:芦勤桑廖峰江海雷夏云凡姜芳芳吴克松张望成周平平张俊罗海鹰潘新平周晓波曹泽明樊金明张洪宇
申请(专利权)人:江西洪都航空工业集团有限责任公司
类型:发明
国别省市:江西;36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1