一种RS422/485串口通信数据组包方法与流程

文档序号:13051109阅读:2220来源:国知局
本发明涉及一种数据组包方法,尤其是一种RS422/485串口通信数据组包方法。

背景技术:
由于采用差分信号传输,信号的抗干扰能力较强,RS-422/485电气标准被广泛应用于近距离数字系统之间的数据传输,如数字采集系统中上位机和下位机之间、控制系统中各设备之间的信息传输。在数据传输的过程中需要根据通讯协议对通信数据进行组包处理,可通过硬件组包或软件组包实现。硬件组包方法是将通信协议要求以固定形式嵌入通信系统硬件设备中,不灵活通用,而且成本高。本RS422/485串口通信数据组包方法通过软件实现数据组包。

技术实现要素:
现有技术不能满足人们的需要,为弥补现有技术不足,本发明旨在提供一种RS422/485串口通信数据组包方法。为实现上述目的,本发明采用以下技术方案:一种RS422/485串口通信数据组包方法,其特征在于:该方法包括以下步骤:步骤一:根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字等信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;可根据实际情况增加其他数据包信息用于控制数据包数据有效合理性;步骤二:读取串口缓存数据并查找同步字,循环查找读取的数据,直到符合同步字要求,记录当前数据位置信息;步骤三:查找长度字,查询到同步字后,根据通信协议要求找到长度字,记录当前数据位置信息及数据包长度信息;步骤四:根据查询到长度信息获取相应的数据字及校验和字;步骤五:根据通信协议要求计算数据包的校验和,并与校验和字比较并记录校验和信息,相等则校验和正确并组成一个完整有效数据包,否则数据包无效;步骤六:若明确了其他数据包的同步字、长度字、数据字、校验和字信息,可进一步判断数据包数据有效合理性;步骤七:重复步骤二至步骤六进行后续数据组包工作,直到查询完所有读取的缓存数据,输出所有完整有效数据包。与现有技术相比,本发明的有益效果是:该RS422/485串口通信数据组包方法,可根据通信协议要求不同可设置参数输入软件,数据组包灵活、通用;可实现多包数据组包,扩展性好,并且工程上实施方便、简单易行、可靠性高;它通过软件实现RS422/485串口通信数据组包,为数字系统或通信设备节约成本,且灵活、通用、扩展性好、可靠性高。附图说明图1为本发明的数据组包方法流程图;具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。请参阅图1,本发明实施例中,一种RS422/485串口通信数据组包方法,其特征在于:该方法包括以下步骤:步骤一:根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字等信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;可根据实际情况增加其他数据包信息用于控制数据包数据有效合理性;步骤二:读取串口缓存数据并查找同步字,循环查找读取的数据,直到符合同步字要求,记录当前数据位置信息;步骤三:查找长度字,查询到同步字后,根据通信协议要求找到长度字,记录当前数据位置信息及数据包长度信息;步骤四:根据查询到长度信息获取相应的数据字及校验和字;步骤五:根据通信协议要求计算数据包的校验和,并与校验和字比较并记录校验和信息,相等则校验和正确并组成一个完整有效数据包,否则数据包无效;步骤六:若明确了其他数据包的同步字、长度字、数据字、校验和字信息,可进一步判断数据包数据有效合理性;步骤七:重复步骤二至步骤六进行后续数据组包工作,直到查询完所有读取的缓存数据,输出所有完整有效数据包。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。以上所述,仅为本发明的较佳实施例,并不用以限制本发明,凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同替换和改进,均应包含在本发明技术方案的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1