目前正在学习v20变频器的modbus协议,有些困惑,已经焦头烂额了。。
modbus协议中,FC3是读保持,当寄存器数为N时,返回的是5+N*2个字节。
在FC16中,写多寄存器,N为寄存器值时,每个寄存器需要两个字节用于记录寄存器N的值,那么在输入的时候就需要5+N*2个字节
可是,在说明书里面,写的却是5+N个字节,所以我想请教一下专家,为什么是5+N,而不是5+N*2?
附图是从V20说明书电子档中的截图
问题补充:
这个问题我在公司与同事讨论过,也觉得是写错了。但下载了英文版的说明书,发现和中文写的一样,所以有些困惑,希望有权威解答。
图片说明:
最佳答案
首先确切的告诉你,FC16 应该是 5+N*2,你发的图片确实错了。从你的问题里感觉你已经了解modbus协议格式了。
为什么要乘以2,以FC16为例,“写多寄存器,N为寄存器值时” 首所先寄存器是16位的,两个字节,而你发送的内容是8位的,一个字节,所以乘以2
提问者对于答案的评价:
得到肯定,很开心,继续学习
专家置评
已阅。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc128388.html