I0.0啟動變頻器正轉,I0.1啟動變頻器反轉,I0.2停止變頻器,PLC通過MODBUS通訊讀取臺達變頻器當前電流和當前電壓。
2、變頻器參數
變頻器參數的通信地址是2000H,Modbus通信功能碼是0(離散量輸出)1(離散量輸入)、3(輸入寄存器)、4(保持寄存器)。而這里的2000H指的就是4(保持寄存器)同時這個2000H是十六進制數2000,在軟件中輸入的是十進制數,故需要將十六制數2000 轉換為十進制數,得到8192。另外Modbus 的通信地址都是從1開始的。故還要將8192加上1為8193,最終得到的變頻器地址為“48193”。
在控制命令2000H 的地址中,每個位置的含義已經定義好了,Bit2-3和Bit6-15保留,即為0,Bit0-1和Bit4-5表示啟動及運行方向,若電動機以反向點動運行,則Bit0-1設置為11,1, Bit4-5設置為10,最終得到2#10011。將2#10011 通過通信傳輸到變頻器的2000H中,變頻器將會按照設定的方式工作。
上表中的2102H頻率指令(F)( 小數2位)中,小數2位的含義是指:頻率范圍是00.00 -50.00Hz, 頻率是一個實數,但是一個實數占用32位,Modbus通信的保持寄存器區每次通信的單位是字,并不能直接傳輸小數。因此在通信過程中我們讀到的頻率信息是放在兩個字里邊的,第一個字中存儲的是一個 4位十進制數,例如0612,但是我們都知道,頻率并沒有0612Hz,我們還要讀取第二個字中的值,第二個字中的值表示小數點的位數,例如2,表示小數的位數為2位,,因此當前的運行頻率表示為06.12Hz,這才是我們真正讀到的頻率值。
3、PLC程序I/O分配表
4、編寫程序
第一步:(上電初始化將完成標志位M點全部復位,同時將運行頻率30HZ傳送給VW100)
第二步:(按下I0.0命令值寫入VW200變頻器電機正轉、按下I0.1命令值寫入VW200變頻器電機反轉、按下I0.2命令值寫入VW200變頻器電機停止)
第三步:(通信初始化指令,設置通信波特率9600,偶校驗,通信端口0,通信超時100MS)
第四步:(SM0.1首次接通寫入變頻器頻率指令,M0.4用輪詢方式循環寫入頻率,VW100的頻率值寫入變頻器當中,寫入完成后M0.1接通)
第五步:(M0.1接通后,復位M0.4斷開寫入頻率指令)
第六步:(M0.1接通寫入變頻器運行指令,VW200中頻率值寫入變頻器當中,寫入完成后M0.2接通)
第七步:(M0.2接通后,復位M0.1斷開寫入運行指令)
第八步:(M0.2接通讀取變頻器頻率指令,讀取變頻器頻率值存放在VW300當中,讀取完成后M0.3接通)
第九步:(M0.3接通后,復位M0.2斷開讀取頻率指令)
第十步:(M0.3接通讀取變頻器電流指令,讀取變頻器電流值存放在VW400當中,讀取完成后M0.4接通)
第十一步:(M0.4接通后,復位M0.3斷開讀取電流指令)
此時此刻S7-200SMART PLC與臺達變頻器MODBUS通信已編寫完成,大家都理解并且掌握了嗎?可以在上述文章找答案!