一种请求表生成方法、系统、电子设备及存储介质与流程

文档序号:36658093发布日期:2024-01-06 23:46阅读:23来源:国知局
一种请求表生成方法、系统、电子设备及存储介质与流程

本发明涉及通信领域,特别是涉及一种请求表生成方法、系统、电子设备及存储介质。


背景技术:

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、遍历单元,用于对于任一所述请求,按照以最小的元素为遍历起点、元素从小到大的顺序对所述初始数组中的各个元素进行遍历,将遍历得到的与所述任一请求对应的第一个元素作为该请求的起始数据地址,基于所述请求的点个数最大限制值遍历得到的与所述请求对应的最后一个元素作为该请求的结束数据地址;

39、请求表生成单元,用于基于所有所述请求的起始数据地址和结束数据地址构建与所述标签点配置表对应的请求表。

40、本发明提供了一种请求表生成方法,应用于通信主站,通信主站在获取到标签点配置表后,会先利用标签点配置表中目标标签点的数据地址创建初始数组,之后根据请求的点个数最大限制值遍历该初始数组,确定初始数组中的哪些元素属于同一请求,对于初始数组对应的任一请求,最终只保留该请求的起始数据地址和结束数据地址来构建请求表,实现了通过标签点配置表生成请求表的过程,主站可以自动根据标签点配置表生成请求表,并且生成的请求表为最优请求个数,一个请求中只包括最有效的起始数据地址和结束数据地址,在与从站进行通信时需要打包的数据少,可以获得最短的轮询时间,提高通信效率,当标签点配置表修改时,请求表会由程序自动动态维护,无需人工干预,最大程度减少人工出错的可能,方便快捷。

41、本发明还提供了一种电子设备、计算机可读存储介质及请求表生成系统,具有与上述请求表生成方法相同的有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1