陳德海
身份證號碼:21088119890912373X
基于CAN總線的多PLC通信控制研究
陳德海
身份證號碼:21088119890912373X
PLC由于簡單易懂、操作方便、可靠性高,在各個行業的自動化控制領域得到了廣泛的使用。特別是小型PLC,隨著自動化程度的不斷提高,應用領域比以前更為廣泛。隨著應用技術的發展,經常會出現一些應用場合,在面積較大的范圍內,需要多臺PLC協同完成一個系統的綜合控制。PLC之間的通信格式不兼容,給企業內部的系統集成、集中管理和升級帶來了極大的困難。因此,研究一種統一的通信協議,以使不同品牌的PLC可以統一監控和互相自由通信具有重要的現實意義。基于此本文分析了基于CAN總線的多PLC通信控制研究。
CAN總線;PLC;通信控制
CAN總線屬于總線式串行通信網絡,CAN總線的數據通信具有突出的可靠性、實時性和靈活性,其主要具有以下特點:
(1) CAN總線的通信方式非常靈活,既可以為點對點的方式也可以為廣播方式,可以是單主方式也可以是多主方式。利用這個特點能夠容易地構成多機冗余系統,以提高系統的可靠性。(2)網絡節點信息分成不同的優先級,可滿足不同的實時要求。(3)CAN協議不采用傳統的站地址編碼方式,而代之以對通信數據塊進行編碼,用一個11位或29位二進制數組成的標志符來區分不同的數據塊。這種編碼方式使得系統設置非常靈活,無需站地址等節點信息。(4)CAN的數據幀采用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果。數據段的最大長度為8個字節,這樣不但能夠滿足工業控制領域中傳送控制命令、工作狀態和測量數據的一般要求,而且保證了通信的實時性。(5)每幀信息都有CRC校驗及其它檢錯措施,保證了數據出錯率極低。
現場總線是應用在生產現場、在微機化測量控制設備之間的雙向串行多節點的數字通信系統,也被稱為開放式、數字化、多點通信的底層控制網絡。
提出一種基于CAN總線的PLC網絡方案,如圖1所示。該方案上位機通過CAN總線與PLC進行鏈接后執行上下位機的數據傳輸、命令傳輸,在上下位機中通過不同的協議轉換器進行協議轉換。這樣能夠對多臺聯網的PLC實現遠程配置、數據通信,并能夠在投入較低硬件成本的基礎上,實現良好的系統運行性能。這個方案也充分發揮了現場總線CAN-bus的實時、可靠、高速、遠距離、易維護等特點。通過單片機將PLC的通訊協議轉化為CAN協議,并組成CAN總線網絡,以實現各PLC之間的相互訪問,同時可使用上位機檢測各PLC的工作和通信狀況。這種方式組建的PLC網絡,與選擇集成CAN通訊功能的PLC設備相比,具有更加靈活的系統擴展能力,也能夠獲得更好的性價比。
3.1 CAN應用層設計
在設計CAN應用層協議時應當要考慮的項目如下:信息標識符分配系統、過程數據交換的方法、點對點通訊信道、建立過程數據信息連接的方法、網絡管理。
3.2 轉換程序

圖1 采用CAN網絡的PLC通信和監控系統
本文研究的主要功能由DP-51中協議轉化程序完成,其中各文件的主要功能為:
(1) m.c:主程序,主要用來完成子程序控制、CAN中斷處理、串口中斷處理和節點優先級的調整。
(2) f_canini.c:CAN通信初始化程序,初始化驗收代碼寄存器、驗收屏蔽寄存器和總線時序寄存器等。
(3) f_serialini.c:串口初始化程序,初始化串口控制寄存器SCON、工作方式寄存器和定時器1的初值。
(4) config.h:配置程序,定義其它程序中通用的系統變量。
(5) f_serial_1.c和f_can_1.c:實現歐姆龍通信協議和CAN協議的互相轉換。
(6) f_serial_2.c和f_can_2.c:實現三菱SC-09通信協議和CAN協議的互相轉換。
(7) f_serial_3.c和f_can_3.c:實現ModbusRTU通信協議和CAN協議的互相轉換。程序運行的主要流程如圖2所示。

圖2 轉換程序流程圖
3.3 上位機監控
本文設計了上位機監控軟件,以圖形化的界面監控網絡中各PLC的運行狀態。上位機地址設置為0xFF,具有最低的優先級,以免監控命令影響網絡中其它PLC的正常通信。
如圖3所示,點擊開始監控后,與上位機連接的USB-CAN雙路智能CAN接口將首先向網絡中發送測試命令,用以判斷網絡中存在哪些節點,以及各節點的PLC類型。監控主界面上顯示了網絡中的部分PLC的型號以及輸入輸出點狀態,未在主界面上顯示的PLC以及更多的輸入輸出點狀態可以通過點擊右側的PLC詳細狀態看到。

圖3 監控軟件主界面
點擊主界面上的PLC或者詳細狀態按鈕,即可顯示如圖4所示窗口,其中當前PLC選擇框可選擇當前網絡中的任一PLC,選擇相應的輸入點和輸出點可以觀察到當前的狀態。點擊輸出點可使其在開關狀態間切換,點下方的設置當前輸出點狀態后,上位機將通過寫輸出點命令設置相應PLC的輸出點狀態。

圖4 PLC詳細狀態
點擊主界面上的參數設置,通過設置網絡檢測間隔,可設置上位機每隔多少毫秒發出一次網絡監控命令,可根據網絡中PLC通信的繁忙程度,適當設置此參數,以免影響正常的通信命令。
總之,基于CAN總線的多PLC通信控制研究具有非常重要的意義,本文分析了基于CAN總線的多PLC通信控制相關方面,以期提供一些借鑒。
[1]仝曉梅,鞏瑞春.CAN總線的PLC通信網絡的研究[J].信息與電腦(理論版),2014.
[2]徐杰,金海,魯文其.基于CAN總線通信的雙電機速度聯動控制系統設計[J].浙江理工大學學報,2015.