宋寶宇,巴 鵬,李 巖
在PLC 與變頻器的綜合應用中, 比較傳統的應用一般使用PLC 的開關量輸出驅動中間繼電器控制變頻器的啟動、 停止, 使用多段速度或D/A輸出控制變頻器的轉速變化。 在這種應用方式中,PLC 與變頻器通過外部接線完成連接, 不能進行內部數據的傳遞[1]。 而為了保證電機的穩定運行,減少故障發生, PLC 與變頻器的通訊不僅可以控制變頻器使電機保持穩定的運轉速度, 還可以通過與PLC 通訊獲得電機的參數, 減少因電機而產生的故障, 為工業生產提供保障。
Modbus 協議是一種串行通信協議, 其所需的硬件、 軟件比較簡單, 大部分儀表設備及控制設備都支持M ODBUS 通信協議, 通訊方式主要有ASCLL 碼和RTU 兩種, RTU 的通訊速度比ASCLL更快, 可以達到115 kps, 其通訊物理接口為RS232/RS485。
MODBUS RTU 消息發送最少是以3.5 個字符間隔時間表示開始和結束, 而消息幀是由設備地址、功能碼、 數據與CRC 校驗構成, 所有字符位由16進制0-9、 A-F 組成(見表1)。

表1 RTU 消息幀格式 [5]
(1) 設備地址 指定報文的目的地址, 包括8 bit, 單個設備的地址范圍是1~247。
(2) 功能代碼 當消息從主設備發往從設備時, 功能代碼域將告之從設備需要執行哪些行為。
(3) 數據 數據域由兩個十六進制數集合構成, 范圍00~FF。 從主設備發給從設備消息的數據域包含從機執行主機功能代碼中所需的參數。
(4) CRC 校驗 CRC 域檢測整個消息的內容,包括兩個字節, 包含一個16 位的二進制值。
在PLC 與變頻器Modbus RTU 通訊時, 使用不同的功能碼可以達到對變頻器不同的控制效果( 見表2)。

表2 由主到從的控制代碼
(1) 通訊系統結構
整個通訊系統由計算機、 GCAN PLC、 丹佛斯變頻器與電動機構成( 見圖1) 。 其中, 變頻器通過RS485 串行通訊線與計算機通訊, 設置變頻器的參數, 同時將編好的程序下載到PLC 中, PLC根據MODBUS RTU 協議與變頻器通訊, 實現對變頻器的控制。

圖1 通訊系統結構設計圖
(2) 通訊硬件介質選取
實驗采用GCANPLC, 它是一款集成有總線控制功能的可編程邏輯控制器, 由總線通信模塊與供電模塊組成。 總線通信模塊上集成了一路以太網接口、 一路RS232/485 復用接口、 一路CAN 總線接口, 支持CANOPEN、 MODBUS RTU/TCP 等通信協議[2]。 在PLC、 變頻器中, 可使用端子雙絞線進行連接, 也可用水晶頭RJ45, 由于雙絞線及接頭制作方便, 通訊效果較好, 所以通訊介質采用雙絞線。 在硬件連接時, PLC 側為RJ45 接口, 采用其中的1 號引腳與8 號引腳( 見圖2) , 變頻器側為68、 69 號端子接口( 見圖3) , 根據變頻器說明書選取通訊介質與接口將通訊設備連接[3]。

圖2 PLC RJ485 接口樣式

圖3 變頻器端子接口
GCAN-PLC與變頻器通訊采用Open PCS 編程軟件進行程序設計, 該軟件支持符合IEC-61131-3標準中規定的五種標準編程語言, 程序采用SCL結構化文本語言編寫, 將數字量輸入模塊作為觸發信號, 執行讀與寫的操作。
使用GCAN PLC 通訊時, 執行MODBUS 初始化, 成功后將不再執行初始化步驟。 如果有數字量輸入, 執行數字量輸入模塊8 個通道對應的功能碼, 執行MODBUS 執行功能塊(見圖4)。

圖4 程序流程圖
以下為PLC 與變頻器通訊編程。
(1) 變量聲明部分


(1) 通訊格式設定
在通訊連接前需要設定PLC 與變頻器的通訊參數, 確定發送與接收內容, 只要滿足準確的通訊速率、 發送方式及通訊接口即可實現通訊控制, 即可在PLC 程序中設定, 變頻器可在面板中設定,根據丹佛斯變頻器設計指南, 通訊波特率設置為9600 bps, 數位位數為8 位, 偶校驗, 1 個停止位。
(2) 確定發送接收內容
PLC 與變頻器的通訊要求為: 在不同情況下給定頻率啟動變頻器( 正轉) , 同時讀取變頻器頻率及電動機的電壓、 電流、 轉速等參數, 而要達到通訊要求需要了解變頻器的功能碼, 以及PLC、 變頻器的寄存器地址( 見圖5) , 相關參數地址由丹佛斯變頻器設計指南查得[3]。

圖5 PLC、變頻器寄存器地址
PLC、 變頻器、 上位機硬件連接后, PLC 為主站, 變頻器作為從站, PLC 控制變頻器以50 Hz 正轉啟動操作步驟如下:
(1) 變頻面板設置通訊參數: 參數8-30 協議MODBUS RTU、 參數8-31 變頻器從站地址01、 參數8-32 波特率9 600、 參數8-33 奇偶校驗/停止位為偶校驗, 1 個停止位[4]。
(2) 向變頻器發送兩條指令, 一條為正轉啟動指令, 一條為總線參考值, 保持寄存器對應控制字的地址為50000, 但寫入MOUDBUS RTU 報文值需要減1, 即49999 對應C34FH, 正轉啟動的控制字047CH, 功能碼選取06( 寫單個寄存器) , 即發送的報文01 06 C3 4F 04 7C 87 78, 7887 為CRC 校驗, 低位在前, 高位在后, 另一條給定頻率指令同理, 保持寄存器對應總線參考值的地址為50010,給定頻率50 Hz 對應4000H, 即發送報文為01 06 C3 5A 40 00 A4 5D, 分別在PLC 程序輸入控制字、總線參數地址, 運行程序后接24 V 電源觸發數字量輸入模塊第7 個通道, 執行06 功能碼寫單個寄存器(見圖6)。

圖6 變頻器面板顯示
在完成PLC 給定頻率啟動變頻器后, 需要進行讀取變頻器數據的步驟, 具體步驟如下:
(1) 根據丹佛斯變頻器設計指南獲得變頻器頻率(1613)、 電動機電壓(1612) 等參數地址[4]。
( 2) 將獲得的參數乘十轉換成16 進制輸入PLC 程序地址中, 運行程序后接24 V 電源觸發數字量輸入模塊第3 個通道, 執行03 功能碼讀保持型寄存器, 觸發后得到變頻器回復的數據( 見圖7)。

圖7 變頻器數據回復
變頻器數據回復數組內的值為1 和244, 變換成01F4 Hex, 轉換成500 Dec, 對應頻率為50 Hz,而值123 與15 16 進制轉換0F7BHex, 10 進制3963, 對應電動機電壓為396.3 V。
通過GCAN PLC 與變頻器通訊實驗證明, 由GCAN PLC 控制變頻器給定頻率啟動并讀取變頻器參數, 完成讀與寫的操作, 能夠實現PLC 與變頻器的正常通訊, 此次通訊系統基于MODBUS 協議,以GCAN PLC 與丹佛斯變頻器為研究載體, 對于其他工業自動化設備通訊應用具有一定的參考價值, 以此為基礎, 可開發出更多的工業控制系統。