師錦航
(陜西國防工業職業技術學院,陜西西安 710300)
分切機是一種將寬幅紙張、鋁箔、無紡布等各種薄膜材料分切成多條窄幅材料的機械設備,在本例中分切機的收放卷由3 臺電機完成,分別為:開卷電機、內卷電機和外卷電機,3 臺電機分別受3 臺變頻器控制,系統構成如圖1 所示。

圖1 系統構成
FX5U PLC 與3 臺變頻器之間采用RS-485 串行通信方式,通信協議選擇Modbus RTU。
Modbus RTU 協議是一種開放的串行通信協議,廣泛應用于工業控制設備中。Modbus RTU 協議通過RS-232 或RS-485 串行接口,在主站與從站設備之間進行數據傳輸。任何使用Modbus RTU 通信協議的網絡系統都將有一個Modbus 主站和至少一個Modbus 從站。在本項目應用中,三菱FX5U 系列PLC 作為Modbus RTU 主站,3 臺變頻器作為從站。
分切機設備運行時,FX5U PLC 既要實時地讀取3 臺變頻器的運行頻率、輸出電流等運行狀態數據,也要向3 臺變頻器寫入頻率、正轉運行、反轉運行指令等控制數據。
主站PLC 需要讀取的變頻器狀態數據與Modbus地址對應關系見表1,Modbus 地址7000H~7006H,共7 條數據,需要從3 臺變頻器讀取的數據都相同,包括變頻器的運行頻率、設定頻率、母線電壓等,這些數據會在監控觸摸屏上顯示,以便現場設備操作人員了解設備的運行狀態,當設備發生故障時設備維護人員也可通過這些數據分析故障原因。

表1 Modbus 讀取地址
對于開卷變頻器,PLC 向變頻器寫入的數據包括控制字和頻率百分比。將變頻器設置為速度控制模式,通過地址1000H 改變運行頻率,通過地址7311H 發送控制字,寫入數據與Modbus地址對應關系見表2。

表2 開卷變頻器Modbus 寫入地址
對于內卷和外卷變頻器,除了需要寫入頻率百分比和控制字以外,還需要寫入轉矩百分比。將變頻器設置為速度限幅的轉矩控制模式,通過地址4003H 改變輸出轉矩百分比,寫入數據與Modbus 地址對應關系見表3。

表3 內/外卷變頻器Modbus寫入地址
對于三菱FX5U PLC,在進行Modbus RTU 通信時,需要用到ADPRW指令,通過執行ADPRW 指令使Modbus 串行通信的主站向從站發送功能碼,以進行數據的讀取及寫入。ADPRW 指令格式如圖2 所示,指令共包含6 個操作數,分別是S1~S6。ADPRW 指令各操作數含義見表4。

表4 ADPRW 指令各操作數含義

圖2 ADPRW 指令格式
指令編程示例1 如圖3 所示,當位變量M300 接通時執行ADPRW 指令,使用功能碼06,PLC 向變頻器(站地址為1H)的Modbus 地址7311H 寫入控制字01H(控制變頻器正轉運行)。

圖3 指令編程示例1
從M10 開始的3 個位地址即M10、M11、M12,用于指示ADPRW 指令的運行狀態,指令執行時M10=1(否則M10=0),指令正常結束時M11=1(開始執行時M11=0),指令異常結束時M12=1(開始執行時M12=0)。
指令編程示例2 如圖4 所示,當位變量M300 接通時執行ADPRW 指令,使用功能碼03,PLC 讀取變頻器(站地址為1H)從7000H 開始的連續7 個Modbus地址(即7000H~7006H)的數據,并將讀取到的值存入D210 開始的7 個寄存器中。同樣的,從M10 開始的3 個位地址即M10、M11、M12,用于指示ADPRW 指令的運行狀態,內容同上。

圖4 指令編程示例2
輪詢方式就是PLC 依次循環執行多條通信指令,通過輪詢方式可以保證同一時刻只有一條指令在執行,并可根據邏輯條件進行輪詢跳轉。
采用輪詢編程方式的程序結構如圖5 所示,當PLC啟動時SM402 接通一個掃描周期,使位變量M100 置位,首先執行第一條ADPRW 指令,當該指令結束時(正常結束標志M11 或異常結束標志M12 產生上升沿)置位M101、復位M100。M101 置位后程序再執行第二條ADPRW 指令,當指令結束時(M14 或M15 產生上升沿)再次置位M100 并復位M101,M100 置位后程序又回到第一條ADPRW 指令繼續執行,如此依次循環執行每一個ADPRW 指令。

圖5 采用輪詢編程方式的程序結構
分切機通信程序設計采用了輪詢方式,在圖6 程序中SM402 為PLC 運行后接通一個掃描周期的特殊繼電器,利用該繼電器可以進行程序初始化,例如本程序中置位M100,開始進行與3 臺變頻器的Modbus RTU 輪詢通信。

圖6 通信程序1
當位變量M100 接通后首先依次執行3 個ADPRW指令,使用功能碼03 讀取3 臺變頻器的運行狀態數據,分別存入D210、D220、D230 起始的7 個數據寄存器內。
當第三條ADPRW 指令執行完成后,根據位變量M0 的狀態執行輪詢跳轉,M0=1 表示設備自動啟動運行信號被觸發(置位M200),M0=0 表示設備停止運行信號被觸發(置位M300)。
在設備自動運行時位變量M200 接通,程序跳轉至如圖7 所示的輪詢程序。程序依次執行多個ADPRW指令,通過功能碼06 向3 臺變頻器寫入控制字、頻率百分比和轉矩百分比數據,在最后一條ADPRW 指令執行完成后置位M100,程序又返回到第一條ADPRW指令繼續輪詢。

圖7 通信程序2
當設備停止時位變量M300 置位,程序跳轉至如圖8 所示的輪詢程序。程序依次執行多個ADPRW 指令,通過功能碼06 向3 臺變頻器寫入控制字00H(控制變頻器停止),在最后一條ADPRW 指令執行完成后置位M100,程序又返回到第一條ADPRW 指令繼續輪詢。

圖8 通信程序3
在分切機設備控制系統中,通過使用輪詢方式編寫的Modbus RTU 通信程序實現了PLC 與多臺變頻器之間的數據傳輸,一臺FX5U 系列PLC 作為Modbus主站,3 臺變頻器作為Modbus 從站,PLC 不僅需要實時地讀取變頻器的運行狀態數據,也需要不斷地向變頻器寫入控制數據。
采用輪詢方式編寫的通信程序不僅可以提高程序運行的穩定性,也保證了通信數據傳輸的可靠性。在實際應用編程時,需要注意輪詢程序的啟動(本例中使用特殊繼電器SM402 啟動)和跳轉(本例中使用位變量M0 跳轉),也要注意輪詢程序的返回,當程序執行到最后一條ADPRW 指令后使其返回到第一條ADPRW 指令位置繼續開始循環。