Modbus技術(shù)在變頻調速系統上的應用
1 引言
本文引用地址:http://dyxdggzs.com/article/177839.htm預縮機是印染行業(yè)中織物后整理的最后一道工序,它是將織物經(jīng)過(guò)機械物理預縮(橡膠毯)的方法,使其預縮率降低,手感改善?;九渲糜伤膫€(gè)單元組成:給濕單元、橡膠毯預縮單元、呢毯整理單元和出布單元。給濕單元完成預縮前的給濕準備,以使織物擁有一定的含濕量,便于織物預縮。其拖動(dòng)部分為一只糙皮輥。由一個(gè)2.2kw電機拖動(dòng)。橡膠毯預縮單元是本機的核心,主要是通過(guò)橡膠毯擠壓以使織物經(jīng)向產(chǎn)生收縮。擠壓由一個(gè)φ616mm的輥筒和另一個(gè)輥筒的相對運動(dòng)完成,拖動(dòng)由一個(gè)15kw的電機完成。呢毯整理單元主要用以烘干織物和改善手感,由一個(gè)3kw的電機拖動(dòng)一個(gè)φ2000mm的大滾筒完成。出布單元由一個(gè)1.5kw的電機拖動(dòng)擺布斗完成。
其工藝流程:進(jìn)布單元→橡膠毯預縮單元→呢毯整理單元→落布單元。
2 系統配置方案
在本方案中,觸摸屏采用日本proface公司生產(chǎn)的gp系列,plc采用西門(mén)子公司s7-226系列,變頻器采用丹佛斯vlt2900系列,由于該系列變頻器內已經(jīng)內置了rs485接口且支持modbus協(xié)議,故這使該系統性?xún)r(jià)比非常高。s7-226系列的cpu內置了兩個(gè)通信口,這兩個(gè)通信口都為rs485接口,均可在三種方式下工作,即ppi方式、mpi方式及自由通信口方式。ppi是point-to-point的縮寫(xiě),即點(diǎn)對點(diǎn)方式,是西門(mén)子公司專(zhuān)為s7-200系列開(kāi)發(fā)的一個(gè)通信協(xié)議,在本案中,筆者可把其中的一個(gè)通信口設置為該方式,用以連接hmi,進(jìn)而做人機交換信息用。而第二個(gè)通信口我們把它設置成自由口通信方式。自由口通信方式是s7-200系列非常有特色的功能。在該方式下,依據和他通信的其他設備的公開(kāi)的通信協(xié)議來(lái)編程s7-200的通信。筆者在本方案中用它連接變頻器以實(shí)現它們之間的相互通信。相關(guān)系統框圖如圖1所示(基于本文闡述的重點(diǎn),其它的如變頻器和電機組成的自反饋系統不再畫(huà)出和贅述)。
3 自由口通信和modbus協(xié)議
自由口通信和modbus協(xié)議在s7-226和丹佛斯vlt2900系列變頻器的應用過(guò)程如下:
3.1通訊協(xié)議及其在plc和變頻器上的基本設置
既然雙方控制器要建立通信,它們必將共同遵循一定的規約,這即稱(chēng)之為協(xié)議。本系統中,plc建立的通訊規約將依從于變頻器的規約,即modbus協(xié)議,這是因為s7-200支持自由口通信模式。
?。?)自由口通信模式
cpu串行通信口可由用戶(hù)程序控制,這種操作模式稱(chēng)作自由口通信模式。在該模式下,用戶(hù)程序可以使用接受中斷、發(fā)送中斷、發(fā)送指令(xmt)和接受指令(rcv)來(lái)進(jìn)行通信操作。利用該模式,plc可以和任意第三方串口進(jìn)行通信。smb30(用于端口0)和smb130(用于端口1)用于選擇波特率、奇偶校驗、數據位數和通信協(xié)議。
?。?)modbus通信協(xié)議
modbus通信是一種被用于在智能設備間建立主從方式的通信,它可以通過(guò)如rs232c、rs485等多種傳輸方式進(jìn)行傳播。它分為兩種串行傳輸方式:ascii和rtu(remoteterminalunit,遠程測控中斷)。它們定義了數據如何打包、解碼的不同方式。丹佛斯vlt2900系列支持的是rtu方式,其格式是:
其中奇偶校驗和停止位可以是0,即可以沒(méi)有。
modbus由一個(gè)主站(plc)和最多31個(gè)從站(本系統中為4個(gè))組成。主站負責發(fā)送指令,從站則是響應指令。在某一時(shí)刻,只能有一個(gè)從站能和主站進(jìn)行連接。
丹佛斯vlt2900系列變頻器內置了rs485物理接口,且同時(shí)支持modbus協(xié)議。其相關(guān)的參數如站地址、波特率、校驗等在561#、500#、570#及501#參數組內設置。
3.2 plc和變頻器通信的信號格式
?。?)丹佛斯vlt2900系列變頻器支持標準的modbus-rtu信號,其格式如下:
驅動(dòng)器地址:本文為變頻器地址。值為0~32,若設定為0,即為廣播方式,則從plc同時(shí)向所有的變頻器傳送指令信號,而變頻器不反饋?lái)憫盘枴?/p>
功能碼:丹佛斯vlt2900系列支持以下幾種功能碼(16進(jìn)制)。
數據:存儲寄存器地址和數據組合構成一組數據。因指令的內容不同數據長(cháng)度不同。
故障檢查:對于rtu方式,一般采用crc-16的方式進(jìn)行,后面將做進(jìn)一步的說(shuō)明
?。?)丹佛斯vlt2900系列變頻器編址
既然plc與變頻器通信時(shí)操作對象是存儲器,故變頻器內部必須有plc能識別的存儲器地址相對應。變頻器生產(chǎn)廠(chǎng)家不同會(huì )導致其編址方法的不同。丹佛斯vlt2900系列變頻器編址和你在其說(shuō)明書(shū)上看到的參數號是遵從一等式的,即
參數地址(hex)=[(參數號×10)-1](dec)。
?。?)modbus信號舉例
通過(guò)重寫(xiě)控制字與參考值的方式,啟動(dòng)電機并使之運行在50%的轉速下:
指令信號:[01] [0f] [00] [00] [00] [20] [04] [7c] [04] [00] [20] [9d][01]
該指令中:
?。?1]為驅動(dòng)器地址
?。?f]為功能碼,是指本命令為寫(xiě)多個(gè)位存儲器指令;
?。?0] [00]指出將要寫(xiě)入數據的起始地址為位存儲器的首地址。
?。?0][20]為寫(xiě)入長(cháng)度,20hx=32dec位數據。
?。?4]為要寫(xiě)入位的總字節數為4個(gè)。
?。?c] [04] 047c是啟動(dòng)電機的控制字內容,在實(shí)際傳輸中為低位前置。
?。?0] [20]為電機運行的參考值,在實(shí)際傳輸中低位前置。
?。?d] [01]為計算出的crc-16值
正常時(shí)其響應信號應為:
?。?1] [0f] [00] [00] [00] [20] [54] [13]
按頻率指令60.0hz傳送到1#變頻器(地址為01),
指令信號:[01][06][04][0f][00][3c][b8][e8]
正常時(shí)響應信號為: [01][06][04][0f][00][3c][b8][e8]
3.3信號的發(fā)送和接受指令
當信號格式被確定后,筆者所要做的是從plc如何把它們發(fā)送出去和如何接收變頻器的響應信號了,在自由口模式當中,信號可以用xmt命令發(fā)送,用rcv命令接收,另外,還可以利用smb2(接收緩沖字節)配合其它如mov指令等來(lái)實(shí)現字符的接收。在s7-200系統中,設計了諸如發(fā)送完成、接收完成等中斷事件,則將很方便的通過(guò)它們來(lái)控制整個(gè)程序的運行。
4 plc程序的設計
?。?)數學(xué)模型
由于各個(gè)單元間是采用線(xiàn)性比例同步的,所以構建其數學(xué)模型非常簡(jiǎn)單,只要使某單元的轉速和其相鄰上一級單元遵循數學(xué)公式v1=k×v2即可。為了調節兩單元之間的張力,只需調節兩單元間比例k即可。這里需提醒注意的是:某一單元的轉速必須以上一級為基礎進(jìn)行比例調節,這樣才不至于在調節單元的速度時(shí),影響其它單元間的張力。
?。?)程序框圖及其說(shuō)明
程序框圖如圖2所示。
?。?)程序結構說(shuō)明
程序結構包括主程序、初始化子程序、停車(chē)子程序、開(kāi)車(chē)子程序、比例設定子程序和速度計算子程序。其中與通信有關(guān)的程序有crc-16校驗程序、發(fā)送中斷程序、接收中斷程序等。下面主要介紹一下crc-16校驗程序。
crc是 “cyclical rendundancy check” (循環(huán)冗余碼校驗)的英文簡(jiǎn)稱(chēng)。
crc碼為2個(gè)字節,16位的二進(jìn)制值。故又叫crc-16。由發(fā)送設備計算crc值,并把它附到信息中去。接收設備在接收信息過(guò)程中再次計算crc值并與crc的實(shí)際值進(jìn)行比較,若二者不一致,亦產(chǎn)生一個(gè)錯誤,校驗開(kāi)始時(shí),把16位寄存器的各位都置為“1”,然后把信息中的相鄰2個(gè)8位字節數據放到當前寄存器中處理,只有每個(gè)字符的8位數據用于crc處理。起始位,停止位和校驗位不參與crc計算。
crc校驗時(shí),每個(gè)8位數據與該寄存器的低位內容進(jìn)行異或運算,然后向最低有效位(lsb)方向移位,同時(shí)用零填入最高有效位(msb)后,再對lsb檢查,若lsb=1,則寄存器與生成多項式(16#a001)異或,若lsb=0,不作異或運算。
重復上述處理過(guò)程,直至移位8次,最后一次(第8次)移位后,下一個(gè)8位字節數據與寄存器的當前值異或,再重復上述過(guò)程。全部處理完信息中的數據字節后,最終得到的寄存器值為crc值。
在程序編制時(shí),可以使用for/next指令,并使用一次嵌套。在發(fā)送時(shí),crc值附加到信息時(shí),低位在先,高位在后。
5 結束語(yǔ)
通過(guò)實(shí)踐證明,該方案使得系統布線(xiàn)變得簡(jiǎn)單,使系統的抗干擾性明顯增強。為該設備的系統升級作出了應有的貢獻。
評論