System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及文件传输,特别涉及文件传输方法、装置、产品、设备及介质。
技术介绍
1、嵌入式设备的串口通常使用modbus(即莫迪康总线)协议,由于串口的多协议支持将会导致系统复杂度提高,且更容易出现问题,为了解决嵌入式设备文件传输的需求,避免多协议导致的问题,使用modbus协议传输文件的方案随之产生。
2、目前,现有的基于modbus协议的文件传输方案通常需要调整标准modbus协议,额外增加modbus功能码来实现文件传输。这样,导致协议兼容性降低,甚至影响系统性能。综上,在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:修改标准modbus协议,降低modbus协议兼容性,影响系统性能。
技术实现思路
1、有鉴于此,本申请的目的在于提供文件传输方法、装置、产品、设备及介质,能够避免修改标准modbus协议,从而保障modbus协议兼容性和系统性能。其具体方案如下:
2、第一方面,本申请公开了一种文件传输方法,应用于从设备,包括:
3、接收modbus协议的寄存器访问指令;
4、当所述寄存器访问指令携带的访问寄存器地址属于预分配地址段,则提取所述寄存器访问指令中目标原始modbus协议字段携带的寄存器访问信息,其中,所述预分配地址段为在modbus寄存器地址段上为文件传输预分配的地址段;
5、基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,其中,所述预设传输定义为基于所述目标原始modbus协议
6、基于所述文件访问信息对文件系统进行访问,以实现文件传输。
7、可选的,当所述寄存器访问指令为写寄存器指令,所述目标原始modbus协议字段为数据内容字段;
8、相应的,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,包括:
9、基于预设传输定义解析所述寄存器访问信息;
10、在未解析到读标志的情况下,将从所述寄存器访问信息解析出的目标文件的文件标识、待传输文件数据在所述目标文件内的偏移、所述待传输文件数据对应的数据长度以及所述待传输文件数据,作为写文件操作对应的文件访问信息。
11、可选的,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,还包括:
12、在解析到读标志的情况下,则将从所述寄存器访问信息解析出的目标文件的文件标识、待传输文件数据在所述目标文件内的偏移,作为读文件操作对应的文件访问信息的第一部分。
13、可选的,当所述寄存器访问指令为读寄存器指令,且已解析所述读寄存器指令对应的含有所述读标志的写寄存器指令,则所述目标原始modbus协议字段为寄存器数量字段,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,包括:
14、基于预设传输定义解析所述寄存器访问信息,得到数据长度,作为读文件操作对应的文件访问信息的第二部分;
15、相应的,所述基于所述文件访问信息对文件系统进行访问,以实现文件传输,包括:
16、基于所述文件访问信息的第一部分以及所述文件访问信息的第二部分读取文件系统,得到待传输文件数据;
17、根据所述读寄存器指令携带的访问寄存器地址将待传输文件数据存入目标寄存器,以便在再次接收到携带该访问寄存器地址的读寄存器指令的情况下,将所述目标寄存器中的待传输文件数据返回,实现文件传输。
18、可选的,所述目标文件为包含文件夹下文件描述信息的配置文件或所述文件夹下的文件。
19、可选的,所述读标志记载于描述所述数据长度的字段或者描述所述待传输文件数据的字段。
20、可选的,在所述接收modbus协议的寄存器访问指令之后,还包括:
21、基于所述寄存器访问指令封装消息;
22、将所述消息发送至虚拟文件系统对应的消息邮箱,以使所述虚拟文件系统从所述消息邮箱中读取所述消息,并基于所述消息执行所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息以及所述基于所述文件访问信息对文件系统进行访问,以实现文件传输的步骤。
23、可选的,还包括:
24、在modbus寄存器地址段上分别为多个文件分配地址段,得到所述多个文件分别对应的预分配地址段;
25、实例化多个虚拟文件系统,将所述多个虚拟文件系统分别与所述多个文件对应的预分配地址段和消息邮箱绑定,以使任一文件对应的消息发送至所述任一文件对应的虚拟文件系统的消息邮箱。
26、第二方面,本申请公开了一种文件传输方法,应用于主设备,包括:
27、基于预设传输定义构造modbus协议的寄存器访问指令,其中,所述预设传输定义为基于所述目标原始modbus协议字段描述文件访问信息的定义;
28、将所述寄存器访问指令发送至从设备,以便所述从设备接收modbus协议的寄存器访问指令;当所述寄存器访问指令携带的访问寄存器地址属于预分配地址段,则提取所述寄存器访问指令中目标原始modbus协议字段携带的寄存器访问信息,基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,基于所述文件访问信息对文件系统进行访问,以实现文件传输;
29、其中,所述预分配地址段为在modbus寄存器段上为文件传输预分配的地址段。
30、第三方面,本申请公开了一种文件传输装置,应用于从设备,包括:
31、指令接收模块,用于接收modbus协议的寄存器访问指令;
32、信息提取模块,用于当所述寄存器访问指令携带的访问寄存器地址属于预分配地址段,则提取所述寄存器访问指令中目标原始modbus协议字段携带的寄存器访问信息,其中,所述预分配地址段为在modbus寄存器地址段上为文件传输预分配的地址段;
33、信息解析模块,用于基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,其中,所述预设传输定义为基于所述目标原始modbus协议字段描述文件访问信息的定义;
34、文件访问模块,用于基于所述文件访问信息对文件系统进行访问,以实现文件传输。
35、第四方面,本申请公开了一种计算机程序产品,所述计算机程序产品被执行时实现前述的文件传输方法。
36、第五方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
37、所述存储器,用于保存计算机程序;
38、所述处理器,用于执行所述计算机程序,以实现前述的文件传输方法。
39、第六方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的文件传输方法。
40、通过以上方案可知,本申请提供了一种文件传输方法,包括:接收modbus协议的寄存器访问指令;当所述寄存器访问指令携带的访问寄存器地址属于预分配地址段,则提取所述寄存器访问指令中目标原始modbu本文档来自技高网...
【技术保护点】
1.一种文件传输方法,其特征在于,应用于从设备,包括:
2.根据权利要求1所述的文件传输方法,其特征在于,当所述寄存器访问指令为写寄存器指令,所述目标原始Modbus协议字段为数据内容字段;
3.根据权利要求2所述的文件传输方法,其特征在于,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,还包括:
4.根据权利要求3所述的文件传输方法,其特征在于,当所述寄存器访问指令为读寄存器指令,且已解析所述读寄存器指令对应的含有所述读标志的写寄存器指令,则所述目标原始Modbus协议字段为寄存器数量字段,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,包括:
5.根据权利要求2所述的文件传输方法,其特征在于,所述目标文件为包含文件夹下文件描述信息的配置文件或所述文件夹下的文件。
6.根据权利要求2所述的文件传输方法,其特征在于,所述读标志记载于描述所述数据长度的字段或者描述所述待传输文件数据的字段。
7.根据权利要求1至6任一项所述的文件传输方法,其特征在于,在所述接收Modbus协议的寄存器
8.根据权利要求7所述的文件传输方法,其特征在于,还包括:
9.一种文件传输方法,其特征在于,应用于主设备,包括:
10.一种文件传输装置,其特征在于,应用于从设备,包括:
11.一种计算机程序产品,其特征在于,所述计算机程序产品被执行时实现如权利要求1至9任一项所述的文件传输方法。
12.一种电子设备,其特征在于,包括存储器和处理器,其中:
13.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的文件传输方法。
...【技术特征摘要】
1.一种文件传输方法,其特征在于,应用于从设备,包括:
2.根据权利要求1所述的文件传输方法,其特征在于,当所述寄存器访问指令为写寄存器指令,所述目标原始modbus协议字段为数据内容字段;
3.根据权利要求2所述的文件传输方法,其特征在于,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,还包括:
4.根据权利要求3所述的文件传输方法,其特征在于,当所述寄存器访问指令为读寄存器指令,且已解析所述读寄存器指令对应的含有所述读标志的写寄存器指令,则所述目标原始modbus协议字段为寄存器数量字段,所述基于预设传输定义解析所述寄存器访问信息,得到文件访问信息,包括:
5.根据权利要求2所述的文件传输方法,其特征在于,所述目标文件为包含文件夹下文件描述信息的配置文件或所述文件夹下的文件。
6.根据权利要求2所述的文...
【专利技术属性】
技术研发人员:李凯文,李炳林,黎祖维,
申请(专利权)人:深圳市英维克信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。