2017年8月2日 星期三

Modbus 位址為什麼要加40001

從這份文件裡面可以查到:
http://www.modbus.org/docs/PI_MBUS_300.pdf
當我們功能碼03時,讀取的位址6B=107
對應的位址是40108=(40001+107)

當我們功能碼04時,讀取的位址08=08
對應的位址是30009=(30001+08)



所以呢!!!
16進制位址+40001 是一種隱藏功能碼的表示方式。 如果沒有寫任何功能碼的情形下。40001就是指功能碼03 + 00位址

而不是全部都加40001,在功能碼04的情形下,是要加30001的。

還有其他情形,是需要加不同的值。