2013年10月28日 星期一

PLC-Modbus 資料傳送準備-2

雖然前一篇「PLC-Modbus 資料傳送準備」講了一些沒用過的指令,好像很麻煩。

但實際在使用後,你會發現,沒必要每次都搬來搬去的。

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都算好,直接寫入,不必每次都運算。

在寫入時,雖然寫入位置會一樣但寫入值不一定一樣
所以其他部份可以用固定值代替,再針對寫入值部份處理即可。