System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种io通信方法、装置、设备以及存储介质。
技术介绍
1、在采集io(input/output,输入/输出)设备数据时,软件会根据用户配置的数据项来组合这些变量,形成io采集包。为了提高io通信的效率,我们需要尽量减少io采集包的数量。目前主要是利用规定采集某个寄存器类型的地址段的方式,减少io采集包的数量。
2、由于协议规定了采集特定寄存器类型的地址段,且不同类型的设备可能需要使用不同的通信协议才能进行数据采集,进而导致设备的通用性较差。
技术实现思路
1、本申请的主要目的在于提供一种io通信方法、装置、设备以及存储介质,旨在解决设备的通用性较差的技术问题。
2、为实现上述目的,本申请提供一种io通信方法,包括:获取多个寄存器的地址以及各所述寄存器对应的待采集数据项;
3、若多个所述地址中存在至少两个连续的目标地址,则将至少两个所述目标地址进行组合,得到组合地址段;
4、对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包;
5、对所述io采集包进行封装处理,得到通信请求;
6、发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据。
7、可选地,所述对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包,包括:
8、若所有所述待采集数据项的通信字节总数大于预设通信字节数,则确定所述io采集包的数量;
10、可选地,所述发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据,包括:
11、发送所述通信请求至所述io设备,以使io设备对所述通信请求进行解析,若所述通信请求对应的指令为连接变量指令,则采集通信数据,并反馈所述通信数据。
12、可选地,所述发送所述通信请求至所述io设备,以使io设备对所述通信请求进行解析,若所述通信请求对应的指令为连接变量指令,则采集通信数据,并反馈所述通信数据,包括:
13、发送所述通信请求至所述io设备,以使io设备对所述通信请求进行解析,若所述通信请求对应的指令为连接变量指令,则采集处于显示窗口的通信数据和/或需要记录历史数据的通信数据,并反馈所述通信数据。
14、可选地,所述发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据,包括:
15、发送所述通信请求至所述io设备,以使io设备对所述通信请求进行解析,若所述通信请求对应的指令为取值变量指令,则反馈当前采集到的最新通信数据。
16、可选地,所述对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包之后,所述方法还包括:
17、确定所述io采集包中所述数据项对应的优先级;
18、将所有优先级中的最高优先级作为目标优先级;
19、将所述目标优先级作为所述io采集包的优先级;
20、基于所述io采集包的优先级,确定所述io采集包的采集频率。
21、可选地,所述若多个所述地址中存在至少两个连续的目标地址,则将至少两个所述目标地址进行组合,得到组合地址段,包括:
22、若多个地址中,存在至少两个对应的寄存器类型相同,且地址连续的目标地址,则将至少两个所述目标地址进行组合,得到组合地址段。
23、第二方面,本申请提供一种io通信装置,其特征在于,所述io通信装置包括:
24、获取模块,用于获取多个寄存器的地址以及各所述寄存器对应的待采集数据项;
25、第一组合模块,用于若多个所述地址中存在至少两个连续的目标地址,则将至少两个所述目标地址进行组合,得到组合地址段;
26、第二组合模块,用于对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包;
27、封装模块,用于对所述io采集包进行封装处理,得到通信请求;
28、发送模块,用于发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据。
29、第三方面,本申请提供一种io通信设备,包括:处理器,存储器以及存储在所述存储器中的io通信程序,所述io通信程序被所述处理器运行时实现如上任一项所述io通信方法的步骤。
30、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有io通信程序,所述io通信程序被处理器执行时实现如上任一项所述的io通信方法。
31、本申请实施例提出的一种io通信方法,该方法包括:获取多个寄存器的地址以及各所述寄存器对应的待采集数据项;若多个所述地址中存在至少两个连续的目标地址,则将至少两个所述目标地址进行组合,得到组合地址段;对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包;对所述io采集包进行封装处理,得到通信请求;发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据。
32、相较于相关技术中,利用规定采集某个寄存器类型的地址段的方式,减少io采集包的数量,本申请实施例只需要将连续的地址进行组合,得到组合地址段后,根据组合地址段对数据量进行组合得到io采集包,本实施例不需要对寄存器的地址段进行限制,从而当在新的寄存器类型,不需要对设备进行改动,只需要根据寄存器类型的地址对数据项进行组合即可,从而提高了设备的通用性。
本文档来自技高网...【技术保护点】
1.一种IO通信方法,其特征在于,所述方法包括:
2.根据权利要求1所述的IO通信方法,其特征在于,所述对所述组合地址段对应的所有所述待采集数据项进行组合,得到IO采集包,包括:
3.根据权利要求1所述的IO通信方法,其特征在于,所述发送所述通信请求至IO设备,以使IO设备基于所述通信请求,采集并反馈通信数据,包括:
4.根据权利要求3所述的IO通信方法,其特征在于,所述发送所述通信请求至所述IO设备,以使IO设备对所述通信请求进行解析,若所述通信请求对应的指令为连接变量指令,则采集通信数据,并反馈所述通信数据,包括:
5.根据权利要求3所述的IO通信方法,其特征在于,所述发送所述通信请求至IO设备,以使IO设备基于所述通信请求,采集并反馈通信数据,包括:
6.根据权利要求1所述的IO通信方法,其特征在于,所述对所述组合地址段对应的所有所述待采集数据项进行组合,得到IO采集包之后,所述方法还包括:
7.根据权利要求1所述的IO通信方法,其特征在于,所述若多个所述地址中存在至少两个连续的目标地址,则将至少两个所
8.一种IO通信装置,其特征在于,所述IO通信装置包括:
9.一种IO通信设备,其特征在于,包括:处理器,存储器以及存储在所述存储器中的IO通信程序,所述IO通信程序被所述处理器运行时实现如权利要求1至7中任一项所述IO通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有IO通信程序,所述IO通信程序被处理器执行时实现如权利要求1至7任一项所述的IO通信方法。
...【技术特征摘要】
1.一种io通信方法,其特征在于,所述方法包括:
2.根据权利要求1所述的io通信方法,其特征在于,所述对所述组合地址段对应的所有所述待采集数据项进行组合,得到io采集包,包括:
3.根据权利要求1所述的io通信方法,其特征在于,所述发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据,包括:
4.根据权利要求3所述的io通信方法,其特征在于,所述发送所述通信请求至所述io设备,以使io设备对所述通信请求进行解析,若所述通信请求对应的指令为连接变量指令,则采集通信数据,并反馈所述通信数据,包括:
5.根据权利要求3所述的io通信方法,其特征在于,所述发送所述通信请求至io设备,以使io设备基于所述通信请求,采集并反馈通信数据,包括:
6.根据权利...
【专利技术属性】
技术研发人员:高文韬,邓晨东,吴剑洪,
申请(专利权)人:荟普智能装备深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。