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