System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于XML的串口数据处理组件及装置制造方法及图纸_技高网

一种基于XML的串口数据处理组件及装置制造方法及图纸

技术编号:43846713 阅读:17 留言:0更新日期:2024-12-31 18:40
本发明专利技术公开了一种基于XML的串口数据处理组件及装置,涉及工业控制领域,适用于RS422接口协议和RS232接口协议,该组件及装置包括:串口协议载入组件、串口数据验证组件、串口数据解析组件、串口数据组帧组件。本发明专利技术的串口数据组件及装置将有效提供软件开发效率,减少软件开发过程中的重复工作;提供的串口数据验证组件能够有效避免两个串口通信设备之间因上电时间不一致等原因导致串口数据错位、传输误码等串口数据无法解析问题。

【技术实现步骤摘要】

本专利技术涉及工业软件设计与开发,特别是涉及一种基于xml的串口数据处理组件及装置。


技术介绍

1、工业控制软件是现在工业现代化制造中必不可少的重要部件之一,随着现代仪器仪表的发展,当前仪器仪表大多数为数字仪表,对外提供rs422接口、rs485接口和rs232接口,对于专用非标设备,需定制软件开发,导致重复工作量大,开发周期长,因此,需开发一些通用组件,以减少重复工作。

2、业内目前较多的采用基于xml的软件开发方法来实现软件参数配置项修改,以提高软件的通用性和易维护性比如cn201910140665.5公开了一种基于xml的火箭测发控系统的配置方法及装置和cn202111218220.8公开了一种基于xml的协议动态组包和解析方法。

3、cn201910140665.5公开了一种基于xml的火箭测发控系统的配置方法及装置,该专利通过xml定义各个专用软件接口及数据解析规则、软件界面数据显示规则,在一定程度提升了软件通用性,减少类似功能软件开发的工作量。但该专利只对接收数据解析规则可进行配置,属于单工通信模式,对于半双工通信模式、全双工通信模式的数据无法进行通用,同时,该专利只针对数据解析进行定义,对于数据帧的获取、有效性判断方法未进行定义;而在实际工作中,非标设备对于串口的使用大部分为全双工通信模式,因此,该专利具有一定的局限性。

4、cn202111218220.8公开了一种基于xml的协议动态组包和解析方法,该方法是针对协议模板的xml文件中通过关键字对协议格式及业务动作进行定义,即可通过解析xml的关键字实现协议流程交互,即协议动态组包和解析;关键字和运算调用的基础函数和业务函数;针对的领域为信息
,因此,该专利应用领域不同。


技术实现思路

1、本专利技术的目的在于为了解决上述问题提供了一种基于工业领域串口使用场景分析后而提出了一种解决串口数据处理软件开发工作量大的组件及装置,该组件及装置综合考虑了非标专用设备常用的rs422接口、rs232接口协议内容,通过协议配置串口数据解析内容与规则、数据组帧规则等,减少因串口协议变化而导致的软件重复设计与软件维护工作量,减少软件维护成本和提高软件开发效率。

2、本专利技术通过以下技术方案来实现上述目的:

3、本专利技术提供了一种基于xml的串口数据处理组件及装置,包括串口协议载入组件、串口数据验证组件、串口数据解析组件以及串口数据组帧组件共四个组件。

4、作为本专利技术的优选,串口协议载入组件读取xml配置文件,按照文件内容,生成串口信息类,串口信息类包括串口基本信息、协议内容两种数据,均是串口信息类采用继承方式获得;

5、作为本专利技术的优选,根据串口基本信息,打开串口,采用事件中断触发方式,读取串口缓存区接收到的数据;调用串口数据验证组件,串口数据验证组件将数据进行缓存,对缓存数据进行帧头、数据长度、检验位进行校验,获取有效的串口数据,同时移除无效数据,得到满足协议数据内容的数据帧;

6、作为本专利技术的优选,在串口数据验证组件,串口验证组件将输入的串口数据存入缓存数组中,判断接收的数据长度是否满足协议内容(接收类)数据长度要求,如果满足则从第一个字节开始查找帧头,如果找到帧头,则将帧头前的数据全部移除,如果找不到帧头,则将全部数据移除;找到帧头后,判断剩余数据长度是否满足数据长度要求,如果满足,则按照协议内容计算校验位并进行比较,如果不满足,则将数据保存,退出本次数据验证,待下一组数据进入后重新开始验证;校验位比较完成后,如果校验位正确,则取出完整串口字节数据并反馈,如果校验位不正确,则移除帧头数据,则从帧头后的第一个字节开始再次查找帧头,重复上述步骤。

7、作为本专利技术的优选,在串口解析组件中,按照协议内容顺序从串口字节数据中取出相应的数据,并按照解算算法进行计算,得到实际数值,以串口id为数据头部,由数据名称+实际数值组成数据部分发送到消息列表1。

8、作为本专利技术的优选,串口数据组帧组件实时读取消息列表2中的数据,该部分数据为向串口发送的数据,该数据以串口id为数据头部,以数据名称+数据值组成数据部分,串口数据组帧组件读取消息数据,根据串口id,选择协议数据内容对消息数据进行组帧,并将组帧好的串口数据帧发送到串口数据发送缓存区,由串口数据缓存区进行数据发送。

9、作为本专利技术的优选,所述的串口使用为rs422接口和rs232接口。

10、作为本专利技术的优选,所述xml配置文件由串口基本信息和协议内容两个一级节点构成,其中协议内容包含不少于1个二级节点,二级节点包含多个下级节点,xml配置文件节点总数不大于5级。

11、作为本专利技术的优选,所述的串口数据采用16进制进行传输。

12、本专利技术的有益效果在于:

13、1、本专利技术提供的一种基于xml的串口数据处理组件及装置是减少工业控制软件开发、维护工作量的有效措施,基于xml文件的特性,通过更改xml即可满足不同场景对串口数据处理的需求,减少了软件重复开发的工作量,缩短软件开发周期。

14、2、本专利技术提供的一种基于xml的串口数据处理组件及装置是综合考虑了串口使用的rs422接口、rs232接口协议内容,构建xml文件两个一级节点(串口基本信息和协议内容),通过协议配置串口数据解析内容与规则、数据组帧规则等实现协议转换,通过多种方式对串口接收数据进行校验,有效避免因半截数据帧等数据帧异常导致串口无法解析数据等问题,提高串口通信的可靠性。

本文档来自技高网...

【技术保护点】

1.一种基于XML的串口数据处理方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的一种基于XML的串口数据处理方法,其特征在于:所述步骤S02中的“串口数据验证”具体步骤为:采用循环队列方式一一查找数据帧头,校验数据长度和校验位,检验通过后才取出完整数据,否则继续查找同时移除无效数据。

3.一种基于XML的串口数据处理装置,其特征在于:包括串口协议载入组件、串口数据验证组件、串口数据解析组件和串口数据组帧组件;

4.根据权利要求3所述的一种基于XML的串口数据处理装置,其特征在于:所述的串口为RS422接口和RS232接口。

5.根据权利要求3所述的一种基于XML的串口数据处理装置,其特征在于:所述的XML配置文件由串口基本信息和协议内容两个一级节点构成,其中协议内容包含不少于1个二级节点,二级节点包含多个下级节点。

6.根据权利要求3所述的一种基于XML的串口数据处理装置,其特征在于:所述的节点总数不大于5级。

7.根据权利要求3所述的一种基于XML的串口数据处理装置,其特征在于:所述的串口数据采用16进制进行传输。

...

【技术特征摘要】

1.一种基于xml的串口数据处理方法,其特征在于:包括如下步骤:

2.根据权利要求1所述的一种基于xml的串口数据处理方法,其特征在于:所述步骤s02中的“串口数据验证”具体步骤为:采用循环队列方式一一查找数据帧头,校验数据长度和校验位,检验通过后才取出完整数据,否则继续查找同时移除无效数据。

3.一种基于xml的串口数据处理装置,其特征在于:包括串口协议载入组件、串口数据验证组件、串口数据解析组件和串口数据组帧组件;

4.根据权利要求3所述的一种基于xml的串口数...

【专利技术属性】
技术研发人员:段先伍何国忠詹宏李纪永何京沛邓超海张至怡
申请(专利权)人:四川航天中天动力装备有限责任公司
类型:发明
国别省市:

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

1