但實際在使用後,你會發現,沒必要每次都搬來搬去的。
1.目前各PLC(幾乎)都有簡化指令、外掛,來針對Modbus:
MODRD==> MODBUS 資料讀取,S1:連線裝置位址。 S2:欲讀取資料的位址。 n:讀取資料長度。
例:MODRD K1 H2101 K6
就會讀取站號1,位址2102 開始6個WORD。
MODWR MODBUS 資料寫入,
S1:連線裝置位址。 S2:欲寫入資料的位址。 n:欲寫入的資料。
例:MODWR K1 H0100 H1770
就會去寫入站號1 位址100 寫入值1770。
PS:各家不同,不一定可以使用上述的指令。
2.如果沒有簡化指令、外掛:
你會發現,在讀取時,其實都是在讀取固定的位址,那又何必每次都去組成Modbus碼,就寫成固定的就好了。
例:$MOV "010300026FF7" D100
把CRC都算好,直接寫入,不必每次都運算。
在寫入時,雖然寫入位置會一樣,但寫入值不一定一樣,
所以其他部份可以用固定值代替,再針對寫入值部份處理即可。