modbus 协议 功能码 03 和 04的区别

modbus 协议 功能码 03 和 04的区别

function Code 03是用于读Holding Registers,而Function Code 04用于读Input Registers。两个功能码的区别在于使用在不同的寄存器上。
Input Register用于读取Slave的信息,长度为16-bit,只能读,不能写,地址范围是30001 – 39999。
Holding Register用于读取Slave的信息,或向Slave发送信息,长度为16-bit,可以读,也可以写,地址范围是40001 – 49999。
为什么只能用03来读数据呢?因为你要读的Slave,把数据放在了Holding Registers里,地址是4xxxx。之所以选择Holding Register,考虑到既要能读,也要能写。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据