System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种DTU增强采集的方法、装置及存储介质制造方法及图纸_技高网

一种DTU增强采集的方法、装置及存储介质制造方法及图纸

技术编号:40839808 阅读:10 留言:0更新日期:2024-04-01 15:06
本发明专利技术公开了一种DTU增强采集的方法、装置及存储介质,本发明专利技术将某个物理电表的超过通讯协议约束的字节容量限制的数据包进行拆分,并对应构建多个虚拟电表,DTU采集虚拟电表的数据包,然后再将同一个物理电表对应的所有数据包进行合并,从而规避通讯协议的限制,解决超大数据包接受不完全的问题,同时,本发明专利技术采用虚拟电表技术,不再限制实际连接的电表数量,如果一个电表命令多则拆分为多个虚拟电表,如果电表命令少,多个真实电表命令合并到一个虚拟电表上,同一个虚拟电表的命令可以包含多个真实电表的部分命令数据,充分利用DTU传输的最大带宽,连接的虚拟电表数量不受限制,进而连接的真实电表数量大大增加。DTU数据量可以大大减少,降低硬件成本。

【技术实现步骤摘要】

本专利技术涉及用电终端数据采集领域,具体涉及电表的无线数据采集,特别涉及一种dtu增强采集的方法、装置及存储介质。


技术介绍

1、遍历采集设备dtu连接的所有电表,依次构建每个电表所需的数据采集命令二进制数据。每个电表采集数据项对应一条命令(比如电流,电压,峰平谷电量等),每个命令10-100个字节不等。有的电表还有连接用户登录授权验证命令。现有dtu最多只能连接10个实际电表,每个电表的命令包限制最大300字节,单个电表如果采集命令过长,命令总字节超过300字节,则后面的命令会被移除,也就无法正常采集电表的完整数据。


技术实现思路

1、为了解决现有技术方案上述问题,本专利技术提出了一种dtu增强采集的方法的方法、装置及存储介质。本专利技术采用虚拟电表技术,如果一个电表的采集总的命令字节数过长,则拆分成多个虚拟电表,最后汇总多个虚拟电表的响应数据为一个真实电表的采集响应数据,确保采集数据完整。

2、为了实现上述目的,本专利技术采用了如下技术方案:一种dtu增强采集的方法,所述dtu为电表数据采集用遍历采集设备,包括以下步骤:

3、将多个电表多个采集命令数据拆分压缩成多个独立的数据包,并对应构建多个虚拟电表,dtu将所有虚拟电表的数据包采集后,再将这些虚拟电表的数据包合并为对应的实际物理电表的数据包,从而完成所有实际物理电表的数据包的完整采集。

4、本专利技术将某个物理电表的超过通讯协议约束的字节容量限制(一般是300字节)的数据包进行拆分,根据其数据包的大小,拆分为多个容量限制以内的数据包,并对应构建多个虚拟电表,dtu采集虚拟电表的数据包,然后再将同一个物理电表对应的所有数据包进行合并,还原为单一物理电表的数据包,从而规避通讯协议的限制,解决超大数据包接受不完全的问题,同时,现有dtu最多可以连接10个电表,仅最多处理10个真实电表的采集数据,本专利技术采用虚拟电表技术,不再限制实际连接的电表数量,如果一个电表命令多则可以拆分为多个虚拟电表,如果电表命令少,多个真实电表命令合并到一个虚拟电表上,同一个虚拟电表的命令可以包含多个真实电表的部分命令数据,充分利用dtu传输的最大带宽限制(例如300字节),连接的虚拟电表数量不受限制,进而保证了连接的真实电表数量也不在受限。这样在电表居中的配电房和配电间内,需要使用的dtu数据量可以大大减少,降低硬件成本。

5、进一步的,具体步骤如下:

6、s1,dtu连接的所有电表,依次构建每个电表所需的数据采集命令二进制数据,每个电表采集数据项对应一条命令(比如电流,电压,峰平谷电量等),每个命令10-100个字节;

7、s2,dtu从前往后遍历上述所有命令,每次增加一个命令,对此多个候选命令二进制数据进行数据压缩,得到压缩后变小的二进制数据,再转换成base64编码字符串,最后整合成单个包json数据(单个包字符串字节数最大为300字节,受限于设备通信协议),如果整合的包命令数据字节数>300(dtu包最大字节数),则记录此时的电表命令位置,记为end_index,开始命令位置记录为start_index,将命令位置范围[start_index,end_index]之间的电表命令压缩构建成一个新的命令包,此命令包作为一个虚拟电表,命令包json数据发送给dtu;

8、s3,然后让start_index=end_index,继续移动end_index往后遍历命令,循环上述方法构建多个虚拟电表命令包数据,发送给dtu;直到所有电表命令全部发送完毕。

9、基于此种方式,通过压缩和合并多命令构建多个虚拟电表命令包的方式,可以增加单个dtu实际连接的电表数量,减少硬件成本。

10、进一步的,在s2中,

11、dtu在采集到单个虚拟电表命令数据后,累加命令响应数据,对多条响应数据进行压缩,压缩后转base64编码,构建上传包数据,如果包数据字节数>dtu包最大字节数(例如300字节),则将当前最新响应之前的响应数据压缩处理后上报服务器,然后清空前面缓存的响应数据,将当前命令响应数据放入缓存数据中,在下次接收到电表响应数据后再次同样处理。如果当前响应命令是此虚拟电表的最后一条命令响应数据,则直接上报此响应数据;

12、当一个虚拟电表的采集响应数据都接收到并上报完成后,切换到下一个虚拟电表进行轮询下达命令以采集数据。

13、进一步的,一个dtu的虚拟电表命令全部发送并接受到响应数据完成之后,根据采集频率在一个周期(比如15分钟)结束之后再次开启上述采集流程。

14、进一步的,还包括以下步骤:

15、dtu将采集到的响应数据包上报给采集服务器,采集服务器收到dtu上报的采集响应包数据后,先使用base64解码,得到二进制数据,然后解压得到响应命令数据,累加虚拟电表对应的真实电表响应数据,如果响应数据总数量和发送命令数量一致,则表示此真实电表的采集数据已经完整采集到,此时完整解析此命令响应二进制数据,得到采集数据项的值(电流,电压,电量等),最后将此采集数据写入redis缓存和实时数据库中。

16、本专利技术还公开了一种dtu增强采集的方法的装置,包括:

17、虚拟电表构建模块,用于动态拆分物理电表的命令,构建虚拟电表,并将虚拟电表对应的数据包上报给dtu;

18、dtu,所述dtu在采集到单个虚拟电表命令数据后,累加命令响应数据,对多条响应数据进行压缩,压缩后转base64编码,构建上传包数据,如果包数据字节数>dtu包最大字节数(例如300字节),则将当前最新响应之前的响应数据压缩处理后上报服务器,然后清空前面缓存的响应数据,将当前命令响应数据放入缓存数据中,在下次接收到电表响应数据后再次同样处理。如果当前响应命令是此虚拟电表的最后一条命令响应数据,则直接上报此响应数据;当一个虚拟电表的采集响应数据都接收到并上报完成后,切换到下一个虚拟电表进行轮询下达命令以采集数据;

19、采集服务器,所述dtu将采集到的响应数据包上报给采集服务器,采集服务器收到dtu上报的采集响应包数据后,先使用base64解码,得到二进制数据,然后解压得到响应命令数据,累加虚拟电表对应的真实电表响应数据,如果响应数据总数量和发送命令数量一致,则表示此真实电表的采集数据已经完整采集到,此时完整解析此命令响应二进制数据,得到采集数据项的值(电流,电压,电量等),最后将此采集数据写入redis缓存和实时数据库中。

20、本专利技术还公开一种包含计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-5任一项所述的dtu增强采集的方法的方法。

本文档来自技高网...

【技术保护点】

1.一种DTU增强采集的方法,所述DTU为电表数据采集用遍历采集设备,其特征在于,包括以下步骤:

2.根据权利要求1所述的DTU增强采集的方法的方法,其特征在于,具体步骤如下:

3.根据权利要求2所述的DTU增强采集的方法的方法,其特征在于,在S2中,

4.根据权利要求3所述的DTU增强采集的方法的方法,其特征在于,一个DTU的虚拟电表命令全部发送并接受到响应数据完成之后,根据采集频率在一个周期结束之后再次开启上述采集流程。

5.根据权利要求1-4任一所述的DTU增强采集的方法的方法,其特征在于,还包括以下步骤:

6.一种DTU增强采集的方法的装置,其特征在于,包括:

7.一种包含计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-5任一项所述的DTU增强采集的方法的方法。

【技术特征摘要】

1.一种dtu增强采集的方法,所述dtu为电表数据采集用遍历采集设备,其特征在于,包括以下步骤:

2.根据权利要求1所述的dtu增强采集的方法的方法,其特征在于,具体步骤如下:

3.根据权利要求2所述的dtu增强采集的方法的方法,其特征在于,在s2中,

4.根据权利要求3所述的dtu增强采集的方法的方法,其特征在于,一个dtu的虚拟电表命令全部发送并接受到响应数据...

【专利技术属性】
技术研发人员:袁楠
申请(专利权)人:苏州易助能源管理有限公司
类型:发明
国别省市:

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

1