工控網首頁
>

應用設計

>

使用SN與變頻器的MODBUS通訊說明

使用SN與變頻器的MODBUS通訊說明

2006/4/7 14:49:00
現在使用兩種變頻器實驗,臺達VFD-B和施耐德ATV-31。 一、 臺達VFD-B for MODBUS ASCII 1、 VFD-B系列變頻器通訊默認參數:地址01,9600、N、7、2 for ASCII 2、 通訊格式: STX(1)+ADD(2)+FUN(2)+DATA(2n)+LRC(2)+END(2) 3、 程序中使用: 寫頻率(2001):
LRC由ADD到DATA每2位之和,然后取補 LRC=100-(01+06+20+01+07+D0)=01(HEX) 以上為寫頻率,DATA2為變量,在程序中比較復雜。 修改參數(GGnn): 00-03 開機顯示,要求顯示輸出頻率,改為01 02-00 頻率來源,要求要來源自485,改為05 -01 485通訊可操作鍵盤STOP, 改為03 -02 停車時是自由停車 改為01
LRC1=100-(01+06+00+03+00+01)=F5 LRC2=100-(01+06+02+00+00+05)=F2 LRC3=100-(01+06+02+01+00+03)=F3 LRC4=100-(01+06+02+02+00+01)=F4 設置功能:啟動、點動、停止(2000位操作),復位(2002位操作)
LRC1=100-(01+06+20+00+00+01)=D8 LRC2=100-(01+06+20+00+00+02)=D7 LRC3=100-(01+06+20+00+00+03)=D6 LRC4=100-(01+06+20+02+00+02)=D5 二、 施耐德ATV-31 for MODBUS RTU 1、 VFD-B系列變頻器通訊默認參數:地址01,19200、E、8、1 for RTU 2、 通訊格式: Add(2)+Fun(2)+ first no.( 4)+words(4)+bytes(2)+crc16(4) 都是十六進制方式 功能碼有03(&H03)、06(&H06)、43(&H2B)、16(&H10)
CRC比較難算: 從ADD開始到CRC之前的所有數據,每兩個字節分開 1) 用&HFFFF與第一組的兩個字節異或存到CRC中。 2) 取新的CRC右移一位,重新存于CRC中。 3) 如果右移出的一位為1,則新的CRC與&HA001異或,結果存于CRC中;如果為零則不變。 4) 重復2)、3),共8次,就是說得向右移出一個字節(8位)。 5) 新的CRC與下一組兩個字節異或,重復2)、3)、4),直到最后一組做完,把CRC的前兩個字節與后兩個字節交換,就是最后CRC16。 6) 注意:1個字=2個字節=16位 PLC的一個寄存器中一般存儲的是2個字節的ASCII碼,例如3130,表示為01,從低位到高位,不能混淆。 三、 臺達VFD-B for MODBUS RTU 1、 VFD-B系列變頻器更改通訊參數:地址01,9600、N、7、2 for RTU 2、 通訊格式: Add(1)+Fun(1)+ first no.( 2)+words(2)+bytes(1)+crc16(2) 都是十六進制方式 功能碼有03、06、08、10
CRC比較難算: 與上述施耐德計算相同 四、 PLC的MODBUS協議 在SN中配置了MODBUS RTU,格式如下: Add(1)+Fun(1)+ first no.( 2)+words(2)+bytes(1)+crc16(2) 寫數據功能碼一般只能使用16(&H10) 讀數據功能碼一般只能使用03(&H03) 所以具體使用的MODBUS RTU : Add(2)+Fun(2)+ first no.( 4)+words(4)+bytes(2)+crc16(4)
功能碼和校驗碼都不用設置,如圖以寫為例: 設置485口為MODBUS協議。 設置端口通訊格式 19200,E,8,1 確認設置。 在程序開頭,只需初始配置一次。 進行通訊的命令,1秒的脈沖 用端口1向地址02發送數據 字節數為02,為1個字 PLC內數據交換用R2000 對方數據交換為20001(8進制數) 讀數據為RX命令 讀數據與寫數據基本類似。
投訴建議

提交

查看更多評論
其他資訊

查看更多

中達電通PLC與松下變頻器通訊實例