西门子PLC基于MODBUS RTU通信协议时的寄存器地址对应关系及错误代码
西门子PLC在使用MODBUS RTU通信协议时,寄存器的地址是如何对应的?为什么第一个寄存器地址是40001?
功能码对照表如下:(H为16进制)
由上面对照表可以看出,线圈和离散输入均为按“位”,即BIT进行操作读写;而寄存器则统一按照“字”,即WORD进行读写。
这是要注意的地方!
在读写变量的地址时,要注意变量的长度length,只有正确输入变量长度值,指令才不会报错。
03功能码中可以看到寄存器的地址有2种:40001-49999和400001-465535;
那么什么时候采用哪种地址来使用呢?
下面举个例子,大家看一下应该就可以明白了。
举例:某款