杜惠明,胡康杰,趙 昊
(武漢電力設備廠,湖北 武漢 430064)
CAN總線具有配置靈活、高可靠性、高速性、非破壞性總線仲裁技術、自動判斷數據錯誤、高效的短幀結構抗干擾能力強、自動重發功能、解決總線競爭功能以及具有報文優先權進行總線訪問機制等優點,廣泛應用于交通工具、自動控制、機械工業、建筑以及航空航天等領域。
可編程控制器(PLC)是以微處理器為根基的通用工業控制裝置,自1969年誕生以來,已成為現代工業生產自動控制的支柱設備。但由于功能需求、價格等因素,應用在一般的中小型控制系統中的可編程控制器往往只提供傳統的RS485或RS232串口通訊接口,具有一定的局限性。本文介紹了普遍運用于中小型控制系統中的西門子SMART 200系列PLC作為控制單元與現場總線控制系統的CAN總線控制器的通訊方法及實現。
CAN屬于現場總線的范疇,是一種高可靠性、高性能、易開發和低成本的多主方式的串行數據通信協議。電氣傳輸介質方式包括以下使用方式:單線總線、兩線總線、共用一條線傳輸信號和供電。在實際應用中,普遍采用的傳輸方式為兩線總線式,該方式可以抑制共模誤差,保證信號在非常低的信號電平下可靠傳輸,傳輸介質為高抗干擾能力的雙絞線。
CAN的數據格式依據標識符(ID)長度分為標準格式和擴展格式兩種格式:具有11位標識符的稱為標準幀,而具有11位基本標識符和18位擴展標識符的則稱為擴展幀。如圖1所示,數據幀由幀起始、仲裁域、控制域、數據域、CRC校驗域、應答域和幀結束7個不同的部分組成。其中在標準消息格式幀中,幀起始1位,11位標識符和1位遠程發送請求組成仲裁域,控制域6位,數據域0-8個字節(每個字節8位),15位的CRC序列和1位CRC界定符組成CRC校驗域,應答域為1位應答位和1位應答界定位組成,幀結束7位。在擴展消息格式幀中,與標準消息格式幀唯一不同的是仲裁域,其仲裁域由11位基本標識符、代替遠程請求位、標識符擴展位、18位擴展標識符、遠程發送請求位組成,其他與標準格式相同。

圖1 數據幀格式Fig.1 Data frame format
西門子 SMART 200系列PLC產品本身不支持CAN總線通訊協議,但其支持自由串口協議,控制系統中需要第三方設備將PLC能接受的通訊協議轉換成CAN總線通訊協議。CANCOM-100IE智能協議轉換器可以快速地實現RS-232/485/422通訊設備與CAN-bus現場總線設備雙向數據通訊。轉換器串口通訊速率在600-230 400 bps之間可以設定,CAN-bus通訊速率設置范圍為5 Kbps—1 Mbps。轉換器提供透明轉換、透明帶標識轉換、格式轉換三種數據轉換模式。可以根據實際運用情景,通過轉換器配套的配置軟件靈活設置其運行參數,產品外觀如圖2所示。

圖2CANCOM-100IE外觀Fig.2 The appearance of CANCOM-100IE
CANCOM-100IE智能轉換器具有兩類用戶接口:一類是CAN-bus通訊接口;一類是串口通訊接口:2線制RS-485通訊接口、3線制RS-232通訊接口、4線制RS-422通訊接口,其引腳接口定義如表1所示。

表1 CAN接口引腳定義Tab.1 The pin definition of the CAN interface
通過軟件進行參數配置前,需將智能轉換器撥碼至配置“CFG”模式,配置參數類型主要為3大類,分別為轉換參數、串口參數、CAN參數。轉換參數主要有轉換模式、轉換方向參數設置;串口參數包括波特率、串口校驗方式;CAN參數由波特率、幀類型、濾波等參數組成。在系統中,應根據實際情況來適當配置相關參數,其配置界面如圖3所示。
丹弗斯MC系列控制器采用ARM處理器,具有超大內存空間和較強的數字處理能力。12位A/D分辨率,與傳統控制器相比具有更高的精度。通訊接口為CAN總線,其通過PLUS+1 GUIDE軟件(圖形用戶集成開發環境)開發程序,類似Autocad繪圖軟件界面,使電氣工程師能輕松上手,PLUS+1 GUIDE開發程序界面如圖4所示。

圖3 CANCOM-100IE轉換器配置工具Fig.3 The configuration tool of CANCOM-100IE converter

圖4 PLUS+1 GUIDE開發程序界面Fig.4 The interface of development software
整套系統硬件架構如圖5所示,由控制器、I/O模塊、上位機及各個傳感器、執行器構成。控制器模塊采用西門子S7-200 SMART系列可編程邏輯控制器和丹弗斯MC050-010控制器,I/O模塊分別由若干個數字量輸入模塊(DI)、數字量輸出模塊(DO)、模擬量輸入模塊(AI)組成,傳感器及執行器包含所有設備運行所需要的各類信號、執行機構等等。S7-200 SMART控制器與上位機通過無線局域網方式通訊,進行數據交互及處理。其中西門子控制器發送的自由串口數據經適配器CANCOM-100IE轉換為CAN標準幀數據,丹弗斯控制器接受轉換成功的特定CAN標準幀數據,從而控制相應的執行器;另一方面,丹弗斯控制器發送的CAN數據經適配器轉換為串口數據,PLC接受該數據從而讀出CAN控制器中相關參數,其控制系統原理圖如圖5所示。

圖5 控制系統硬件架構Fig.5 the hardware architecture of the control system
在該控制系統中,利用西門子SMART 200系列PLC支持的自由端口協議發送可自由定義的自由串口數據,該串口數據流無奇偶校驗,每個字符8位,波特率位9 600 bps,串口數據發送主要程序如圖6所示。

圖6 PLC發送串口數據主要程序段Fig.6 PLC sends the main program section of the serial data
為最大限度地提高智能轉換器CANCOM-100IE緩沖區的利用率以及轉換器的傳輸速度,轉換方式設為透明轉換——轉換器一收到一端總線的數據立即轉換發送至另一端總線,此外轉換的幀類型為標準幀格式。CAN總線控制器接受轉換成功的CAN數據主要程序段如圖7所示。
此時上位機通過無線網絡可同時控制兩種不同通訊類型協議的控制器,一定程度上擴展了控制系統的應用范圍,并共用一套上位機操作系統,提高了控制系統的實用性和可操作性。應用中通過調節串口數據大小,從而控制CAN總線控制器輸出波形。CAN總線控制器其中一輸出波形變化情況如圖8所示。
CAN總線通訊是本項目PLC系統的關鍵環節。本項目利用CANCOM-100IE智能轉換器將支持不同通信協議的PLC設備、CAN總線控制系統設備連接在相同的控制系統中,實現數據交互,提高了控制系統的擴展性和兼容性。該控制通訊方案在現有設備中得到充分應用,運行高效穩定,具有一定的使用價值。

圖7 CAN總線控制器接受轉換的CAN數據Fig.7 The CAN bus controller accepts converted CAN data

圖8 CAN總線控制器輸出波形變化圖Fig.8 A waveform change chart issued by the controller