System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器视觉和工业通信,特别是涉及一种通信方法、装置及系统。
技术介绍
1、在视觉软件中,读取特定的plc(programmable logic controller,可编程逻辑控制器)寄存器数据,然后通过读取的数据来进行不同的触发动作。由于plc读取是遵循一问一答的形式(应用层请求数据—设备层返回请求数据),一个请求命令基本耗时都会在10ms以上。如果在数据读取过程中,请求的数据对应很多个地址,比如10个地址,一个地址读取需要耗时20ms,10个读下来就需要200ms,此时,如果需要再去读第一个地址的时候,就过了190ms后才能在此去读取第一个地址的数据,进而导致数据读取效率较低。
技术实现思路
1、本申请实施例的目的在于提供一种通信方法、装置及系统,以实现提高数据读取的效率。具体技术方案如下:
2、在本申请第一方面,提供了一种通信方法,应用于控制端,所述方法包括:
3、响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器;
4、确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器;
5、向存储设备端发送一个用于请求读取所有所述待读取寄存器的读取指令;
6、接收所述存储设备端响应于所述读取指令读取并发送至所述控制端的数据,作为待分割数据;
7、针对每个所述数据请求,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据;
8、针对每个所述数据请求,向所述终端发送所述数据请求所请求的目标数据。
9、在一种可能的实现方式中,所述响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器,包括:
10、响应于终端发送的多个原始数据请求,从所述多个原始数据请求确定多个基于相同通信协议的数据请求;
11、针对每个所述数据请求,确定所述数据请求所请求读取的目标寄存器。
12、在一种可能的实现方式中,所述确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器,包括:
13、确定以第一首寄存器起始、以第一尾寄存器结束的多个连续的寄存器,作为待读取寄存器,其中,所述第一首寄存器为所有所述目标寄存器中地址最前的寄存器,所述第一尾寄存器为所有所述目标寄存器中地址最后的寄存器。
14、在一种可能的实现方式中,所述方法还包括:
15、根据所述待分割数据的数据量和所述待读取寄存器的个数,计算每个寄存器存储的数据的第一数据量;
16、所述从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据,包括:
17、根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据。
18、在一种可能的实现方式中,所述根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据,包括:
19、确定所述数据请求所请求读取的目标寄存器中的第二首寄存器;其中,所述第二首寄存器为所述目标寄存器中地址最前的寄存器;
20、根据所述第一数据量,确定第j至第j+n个待读取寄存器中存储的数据,作为所述数据请求所请求的目标数据,其中,所述j为所述第二首寄存器在所述待读取寄存器中的顺位,所述n为所述目标寄存器的个数。
21、在本申请第二方面,提供了一种通信装置,应用于控制端,所述装置包括:
22、目标寄存器确定模块,用于响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器;
23、待读取寄存器确定模块,用于确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器;
24、请求模块,用于向存储设备端发送一个用于请求读取所有所述待读取寄存器的读取指令;
25、接收模块,用于接收所述存储设备端响应于所述读取指令读取并发送至所述控制端的数据,作为待分割数据;
26、目标数据接收模块,用于针对每个所述数据请求,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据;
27、发送模块,用于针对每个所述数据请求,向所述终端发送所述数据请求所请求的目标数据。
28、在一种可能的实现方式中,所述目标寄存器确定模块响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器,包括:
29、响应于终端发送的多个原始数据请求,从所述多个原始数据请求确定多个基于相同通信协议的数据请求;
30、针对每个所述数据请求,确定所述数据请求所请求读取的目标寄存器;
31、所述待读取寄存器确定模块确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器,包括:
32、确定以第一首寄存器起始、以第一尾寄存器结束的多个连续的寄存器,作为待读取寄存器,其中,所述第一首寄存器为所有所述目标寄存器中地址最前的寄存器,所述第一尾寄存器为所有所述目标寄存器中地址最后的寄存器;
33、根据所述待分割数据的数据量和所述待读取寄存器的个数,计算每个寄存器存储的数据的第一数据量;
34、所述目标数据接收模块从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据,包括:
35、根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据;
36、所述根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据,包括:
37、确定所述数据请求所请求读取的目标寄存器中的第二首寄存器;其中,所述第二首寄存器为所述目标寄存器中地址最前的寄存器;
38、根据所述第一数据量,确定第j至第j+n个待读取寄存器中存储的数据,作为所述数据请求所请求的目标数据,其中,所述j为所述第二首寄存器在所述待读取寄存器中的顺位,所述n为所述目标寄存器的个数。
39、在本申请第三方面,提供了一种通信系统,应用于机器视觉领域,所述通信系统包括:终端、控制端和存储设备端,其中,
40、所述终端用于向所述控制端发送数据请求,并接收所述控制端响应于所述数据请求返回的目标数据;
本文档来自技高网...【技术保护点】
1.一种通信方法,其特征在于,应用于控制端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器中存储的数据,作为所述数据请求所请求的目标数据,包括:
6.一种通信装置,其特征在于,应用于控制端,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述目标寄存器确定模块响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器,包括:
8.一种通信系统,其特征在于,应用于机器视觉领域,所述通信系统包括:终端、控制端和存储设备
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法。
...【技术特征摘要】
1.一种通信方法,其特征在于,应用于控制端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于终端发送的多个数据请求,确定各所述数据请求所请求读取的目标寄存器,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定包括所有所述目标寄存器在内的多个连续的寄存器,作为待读取寄存器,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一数据量以及所述数据请求所请求读取的各目标寄存器在所述待读取寄存器中的顺位,从所述待分割数据中确定所述数据请求所请求读取的所有目标寄存器...
【专利技术属性】
技术研发人员:杨孟,
申请(专利权)人:杭州海康机器人股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。