Modbus协议中的地址(规约中指的Starting Address)都是从0开始的。
40001指的是Hold寄存器第0个,有时候还会写成4001或400001,它在协议中表示为低位0,高位0,40002在协议中为低位1,高位0。依次类推。
这个在《Modicon Modbus Protocol Reference Guide》中有详细的说明。
楼上说的没错,Modicon的地址是从“1”开始的,而Modbus的地址是从“0”开始的,也就是说40001对应Modbus的地址是“0”(H0000)。同理,40077对应的Modbus的地址是“76”(H004C)。
补充一点:
4****中的的“4”表示保持寄存器/输出寄存器,3****中的“3”表示输入寄存器。