System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信领域,特别是涉及一种请求表生成方法、系统、电子设备及存储介质。
技术介绍
1、modbus协议是全球第一个现场总线协议,是工业自动化领域经久不衰的经典协议。modbus协议是主从应答协议,即主站和从站通信时,须以主站发送请求,从机应答的模式进行通信事务会话。在进行主站和从站之间的通信时,主站除了需要配置与需求信息对应的标签点配置表外,往往还需自己配置与标签点配置表对应的请求表,请求表中存在若干请求,每个请求包含功能码、起始地址、点个数等字段,modbus rtu(remote terminaluni t,远程终端单元)时,每个请求包含从站地址、功能码、起始地址、点个数、校验和等字段;modbus tcp(transmiss ion control protocol,传输控制协议)时,每个请求包含事务号、长度、协议、从站地址、功能码、起始地址、点个数等字段,完成请求表的配置后,主站才可以根据生成的请求表建立真实请求列表,并基于真实请求列表向设备发送请求。当标签点的配置发生变化时,特别是格式di和ai的标签点会存在变化的情况,还需要人工同步修改以及配置请求表,这种情况会造成工作量的增加以及出错可能等情况。
技术实现思路
1、本专利技术的目的是提供一种请求表生成方法、系统、电子设备及存储介质,主站可以自动根据标签点配置表生成请求表,并且生成的请求表为最优请求个数,一个请求中只包括最有效的起始数据地址和结束数据地址,在与从站进行通信时需要打包的数据少,可以获得最短的轮询时
2、为解决上述技术问题,本专利技术提供了一种请求表生成方法,应用于通信主站,该方法包括:
3、获取标签点配置表,并基于所述标签点配置表创建初始数组,所述初始数组中的元素为所述标签点配置表中目标标签点的数据地址;
4、确定所述初始数组对应的各请求的点个数最大限制值;
5、对于任一所述请求,按照以最小的元素为遍历起点、元素从小到大的顺序对所述初始数组中的各个元素进行遍历,将遍历得到的与所述任一请求对应的第一个元素作为该请求的起始数据地址,基于所述请求的点个数最大限制值遍历得到的与所述请求对应的最后一个元素作为该请求的结束数据地址;
6、基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表。
7、可选地,所述基于所述标签点配置表创建初始数组,包括:
8、将所述标签点配置表中的目标标签点基于功能码进行分类;
9、分别建立基于所述功能码进行分类后得到的各个类别的原数组,所述原数组中的元素为所述标签点配置表中目标标签点的初始地址;
10、将所述原数组中的元素去除功能码得到与所述原数组一一对应的初始数组。
11、可选地,所述将所述标签点配置表中的目标标签点基于功能码进行分类之前,还包括:
12、读取所述标签点配置表中所有标签点的属性;
13、将所述属性为遥信和/或遥测的标签点作为目标标签点。
14、可选地,当所述数据地址为modbus地址,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
15、基于所述类别和标准modbus协议的默认值确定各所述初始数组对应的各请求的点个数最大限制值。
16、可选地,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
17、获取预设数据地址与预设点个数最大限制值之间的对应关系;
18、当所述预设数据地址属于第一请求,则确定与所述预设数据地址对应的所述预设点个数最大限制值为所述第一请求的点个数最大限制值,所述第一请求为所述初始数组对应的各请求中的任一请求。
19、可选地,所述基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表之后,还包括:
20、基于所述请求表和预设发送周期向从机设备发送各请求;
21、接收所述从机设备返回的与各所述请求对应的应答。
22、可选地,当所述初始数组中的元素按照从小到大的顺序排列时,对于任一所述请求,按照以最小的元素为遍历起点、元素从小到大的顺序对所述初始数组中的各个元素进行遍历,将遍历得到的与所述任一请求对应的第一个元素作为该请求的起始数据地址,基于所述请求的点个数最大限制值遍历得到的与所述请求对应的最后一个元素作为该请求的结束数据地址,包括:
23、将所述初始数组的第0位元素作为当前请求的起始数据地址,将所述初始数组的第1位元素作为当前元素;
24、判断所述当前元素与所述当前请求的起始数据地址之间的差是否小于所述当前请求对应的点个数最大限制值;
25、若是,则将所述初始数组中所述当前元素的下一位元素作为新的当前元素,并重新跳转至所述判断所述当前元素与所述当前请求的起始数据地址之间的差是否小于所述当前请求对应的点个数最大限制值的步骤;
26、若否,则将所述初始数组中所述当前元素的上一位元素作为所述当前请求的结束数据地址,将所述当前元素归属的请求作为新的当前请求,并将所述当前元素作为新的当前请求的起始数据地址,将所述初始数组中所述当前元素的下一位元素作为新的当前元素,并重新跳转至所述判断所述当前元素与所述当前请求的起始数据地址之间的差是否小于所述当前请求对应的点个数最大限制值的步骤。
27、可选地,所述将所述初始数组中所述当前元素的下一位元素作为新的当前元素之前,还包括:
28、判断所述当前元素是否为所述初始数组的最后一个元素;
29、若是,则将所述当前元素作为所述当前请求的结束数据地址,并重新跳转至所述基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表的步骤;
30、若否,则进入所述将所述初始数组中所述当前元素的下一位元素作为新的当前元素的步骤。
31、为解决上述技术问题,本专利技术还提供了一种电子设备,包括:
32、存储器,用于存储计算机程序;
33、处理器,用于实现如前述所述的请求表生成方法的步骤。
34、为解决上述技术问题,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所述的请求表生成方法的步骤。
35、为解决上述技术问题,本专利技术还提供了一种请求表生成系统,应用于通信主站,该系统包括:
36、标签点获取单元,用于获取标签点配置表,并基于所述标签点配置表创建初始数组,所述初始数组中的元素为所述标签点配置表中目标标签点的数据地址;
37、限制值确定单元,用于确定所述初始数组对应的各请求的点个数最大限制值;
38、遍历单元,用于对于任一所述请求,按照以最小的元素为遍历起点、元素本文档来自技高网...
【技术保护点】
1.一种请求表生成方法,其特征在于,应用于通信主站,该方法包括:
2.如权利要求1所述的请求表生成方法,其特征在于,所述基于所述标签点配置表创建初始数组,包括:
3.如权利要求2所述的请求表生成方法,其特征在于,所述将所述标签点配置表中的目标标签点基于功能码进行分类之前,还包括:
4.如权利要求2所述的请求表生成方法,其特征在于,当所述数据地址为Modbus地址,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
5.如权利要求1所述的请求表生成方法,其特征在于,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
6.如权利要求1所述的请求表生成方法,其特征在于,所述基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表之后,还包括:
7.如权利要求1至6任一项所述的请求表生成方法,其特征在于,当所述初始数组中的元素按照从小到大的顺序排列时,对于任一所述请求,按照以最小的元素为遍历起点、元素从小到大的顺序对所述初始数组中的各个元素进行遍历,将遍历得到的与所述任一请求对应
8.如权利要求7所述的请求表生成方法,其特征在于,所述将所述初始数组中所述当前元素的下一位元素作为新的当前元素之前,还包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的请求表生成方法的步骤。
11.一种请求表生成系统,其特征在于,应用于通信主站,该系统包括:
...【技术特征摘要】
1.一种请求表生成方法,其特征在于,应用于通信主站,该方法包括:
2.如权利要求1所述的请求表生成方法,其特征在于,所述基于所述标签点配置表创建初始数组,包括:
3.如权利要求2所述的请求表生成方法,其特征在于,所述将所述标签点配置表中的目标标签点基于功能码进行分类之前,还包括:
4.如权利要求2所述的请求表生成方法,其特征在于,当所述数据地址为modbus地址,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
5.如权利要求1所述的请求表生成方法,其特征在于,所述确定所述初始数组对应的各请求的点个数最大限制值,包括:
6.如权利要求1所述的请求表生成方法,其特征在于,所述基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表之后,还包括:
7.如权利要求1至6任一项所述的请...
【专利技术属性】
技术研发人员:贺学文,甘育超,
申请(专利权)人:杭州和利时自动化有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。