modbus协议读文件指令,每个文件最多只能包含10000-个记录?

2019-12-20 21:34发布

实验缘由:
由于我的数据量比较大,大概400k字节。因此我决定使用modbus读文件和写文件指令。

实验内容:
《1》手册上说:每个文件最多只能有10000个记录(但实际上,索引使用2个字节,最大可以索引到65535)。
《2》手册上说:每个记录都是一个寄存器,也就是2个字节。

实验问题:
《1》上述理解是否正确,如果理解正确,那么每个文件最多只能索引到20k(10000 * 2 = 20000字节)字节?
《2》有没有其它方式或者指令可以实现大概400k字节方式索引(当然前提是使用标准modbus协议)?
《2》如果我将记录索引扩大到65535,是否不满足标准modbus协议,是否会对底层硬件数据传输上产生任何风险?
恳请大神指教,不胜感激!
000.png (146.2 KB, 下载次数: 0) 下载附件 2018-4-2 19:42 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
wye11083
1楼-- · 2019-12-21 03:01
貌似你一条记录可以不止一个字节。。
honami520
2楼-- · 2019-12-21 03:04
 精彩回答 2  元偷偷看……
擦鞋匠
3楼-- · 2019-12-21 07:21
wye11083 发表于 2018-4-2 20:05
貌似你一条记录可以不止一个字节。。

感谢指教!
我认为“一个记录是一个寄存器,也就是2个字节”,不知道我这样理解是否正确。
擦鞋匠
4楼-- · 2019-12-21 13:05
honami520 发表于 2018-4-3 00:33
标准modbus一次发送数据不能超过255个字节。你这么大的内容,分包发,要发N次。 ...

感谢指教!
我想表达的意思是:以每个文件只有10000个记录,无法完整索引整个文件(我认为一个记录就是一个寄存器,不知这样理解是否正确)。
发送的话,假设每个记录50个字节,我可以一次选择发送4包数据或者更少。
modbus
5楼-- · 2019-12-21 16:29
别管他记录不记录,所有的字节数据都用03和16功能码读写就行了
擦鞋匠
6楼-- · 2019-12-21 17:00
modbus 发表于 2018-4-3 11:42
别管他记录不记录,所有的字节数据都用03和16功能码读写就行了

回复大神:

以小弟愚见:两者还是有区别的。
03或者16功能码主要是针对ram中数据的读写。
14或者15功能码主要是针对外部存储器数据的读写。

如果有理解错误的地方,还请指教!谢谢哈。

一周热门 更多>