摘 要:CANopen是一個開放的、標準化的應用層協議, 在各種控制系統中得到了廣泛的應用,可以進一步提高系統的可靠性、靈活性和兼容性。結合工業控制中的自調勻整系統,采用CANopen協議實現了CAN總線上下位機之間的通信,并通過測試證明各通信模塊具有較強的在線可控性,保證系統工作穩定可靠。
關鍵詞:CANopen協議;CAN總線;DSP;對象字典
中圖分類號:TP273 文獻標識碼:B 文章編號:1004373X(2008)1517803
Application of CANopen Protocol in Fieldbus Network
JIA Jia
(Xi′an Aeronautical Polytechnic Institute,Xi′an,710089,China)
Abstract:CANopen is a sort of exoteric and standard application layer protocol, the use of it enhances the reliability,agility and compatibility in all kinds of control system.This paper decribes its communication between machines by associating with the autolevel control system.The on-line controllable is verified by testing experiment between communications modules,the reliable and stabilization of the whole system are ensured.
Keywords:CANopen protocol;CAN bus;DSP;object dictionary
1 引 言
基于現場總線的網絡技術研究是自動控制領域發展的一個熱點。在各種各樣的工業現場總線中,CAN總線以其成本低、速度快、實時性和可靠性較高等特點被快速應用于汽車電子、醫療、軍事等領域。但是,CAN總線只定義了物理層和數據鏈路層,本身并不完整,針對這一問題,CiA(CAN in Automation)協會經過不斷的發展于1995年發布了完整的CANopen協議,它不僅定義了應用層和通訊子協議,也為可編程系統、不同器件、接口、應用子協議定義了幀狀態,為基于現場總線的全數字分布式控制系統的廣泛應用和系統的一體化管理提供了解決之道[1]。
本文以改善現場總線網絡通訊系統的運行效率,提高實時性和信息處理能力為前提,針對并條機自調勻整控制系統中各功能模塊的作用,淺析CAN總線高層通訊協議CANopen,實現各功能模塊間的數據通信。通過實驗測試,證明系統工作穩定、可靠,保證了全數字分布式網絡系統工作的快速性、準確性和實時性。
2 CANopen協議概述
2.1 設備模型
CANopen協議是由CiA協會針對CAN協議的不完整性而定義出來的一個更高層次的協議——應用層協議。一個CANopen 設備模塊可以被分為3 部分,如圖1 所示。通信接口和協議軟件提供在總線上收發通信對象的服務。不同CANopen 設備間的通信都是通過交換通信對象完成的。這一部分直接面向CAN 控制器進行操作。對象字典描述了設備使用的所有的數據類型,通信對象和應用對象。對象字典位于通信程序和應用程序之間,向應用程序提供接口,應用程序對對象字典進行操作就可以實現CANopen通信。應用程序包括功能部分和通信部分,通信部分通過對對象字典進行操作實現CANopen通信,而功能部分則根據應用要求實現[2,3]。

2.2 對象字典
對象字典(Object Dictionary,OD)是一個有序的對象組,每個對象采用一個16位的索引值來尋址,為了允許訪問數據結構中的單個元素,同時定義了一個8位的子索引,對象字典的結構參照表1,對象字典的描述參照表2。

在CANopen網絡系統中每個節點都有一個惟一的對象字典,每個節點的對象字典都具有相同的結構,但具體的內容要根據不同的設備而定,包含了描述這個設備和它的網絡行為的所有參數。
2.3 通訊對象
通過CAN網絡傳輸的CANopen通訊對象可以通過服務和協議來描述。分類如下:
(1) 實時數據通過過程數據對象(PDO)協議傳輸。
用8個字節的數據字段把過程數據對象PDO映象到一個單一的CAN幀從而傳輸應用對象。每個PDO有一個惟一的標識符且僅可以通過一個節點發送,但其接收者不止一個。每個PDO在對象字典中用2個對象描述:PDO通訊參數,規定了PDO的通訊行為,包含哪個COB ID將被PDO使用,傳輸類型,禁止時間和定時器周期;PDO映射參數,規定了哪個對象被映射到一個PDO里,生產者和消費者必須知道這個映射,以解釋PDO內容。
(2) 服務數據對象(SDO)協議用來對對象字典進行讀寫操作。
通過服務數據對象SDO可以訪問一個設備的對象字典。為了使通訊得到確認,一個SDO需要兩個帶有不同標識符的CAN數據幀,通過SDO,在兩個設備間可以建立點對點的通信,被訪問對象字典的設備是SDO通訊的服務器,一個設備可以支持多個SDO對象,但是,至少有一個SDO在一個設備中被支持。
(3) 特殊功能對象協議提供了特定應用,網絡同步,時間戳和緊急報文傳輸。
(4) 網絡管理(NMT)協議提供了網絡初始化,錯誤控制和設備狀態控制服務。
在CANopen網絡中,需要一個節點履行NMT的Master (主節點)功能。其他節點作為NMT的Slave (從節點)。NMT提供了以下功能:模塊控制服務(初始化參加網絡通訊的從節點);錯誤控制服務(管理節點和網絡通訊的狀態);配置控制服務(上傳和下載網絡的配置數據)。
(5) 層設置服務(LSS)協議用來配置CAN總線通訊參數和設備參數。
使用CANopen協議定義的LSS報文實現對CAN總線網絡的配置,包括節點ID,通訊波特率,儀器的產品號、序列號等。LSS報文在CANopen協議通訊中是可選的,可以在節點初始化時直接指定節點ID,通訊速率等參數,它的使用可以提高系統靈活性。
3 通信網絡的CANopen協議實現
3.1 自調勻整系統通信網絡結構
本并條機自調勻整系統由鍵盤顯示控制器、DSP控制器、A孔伺服電機控制器、B孔伺服電機控制器、PLC邏輯控制器和PC機監控組成,各節點在CAN總線的基礎上采用CANopen協議實現通訊,完成系統預定義的功能。圖2所示為A孔開環式并條機自調勻整原理圖。

3.2 硬件部分
DSP控制器部分為整個系統的核心,負責對整個通信網絡進行信息采集、數據運算、工作控制。下面主要說明DSP控制器的CANopen協議實現。
采用集成CAN模塊的TMS320F2810 DSP實現,它有多達32個郵箱,占用512 B RAM,都可以配置為發送或接收郵箱,且都有一個可編程的接收屏蔽寄存器。這樣就使數據傳輸更加方便靈活、信息量大大增加。圖3為DSP控制器CAN總線部分驅動電路圖,分別選用TMS320F2810的64引腳CANTXA和65引腳CANRXA作為CAN總線的發送和接收引腳。采用 ADuM1100高速數字隔離器替代傳統的光電耦合器。采用MCP2551作為高速CAN收發器,具有差分發射和接收能力,可將許多節點與同一網絡相連接。
3.3 軟件部分
根據CANopen協議軟件框架,分別設置了NMT報文、SYNC報文、SDO報文、PDO報文和Heartbeat報文,并針對DSP控制器從節點的性質及其與各節點之間的關系,設置了各報文的COB-ID,見表3。
在系統中鍵盤顯示控制器為主節點,通過液晶顯示監控各從節點信息,主節點通過檢測 4個從節點發送的周期性心跳報文(Heartbeat)來判斷各個從節點的工作狀態。圖4為DSP控制器從節點的CANopen協議通訊流程:在系統上電后,首先向主節點發送Boot-up報文,通知主節點進入Pre-operational狀態,等待主節點的SDO報文訪問對象字典,在完成對象字典的配置后,等待接收主節點的NMT報文進入Operational狀態,開始PDO報文的發送及接收,完成信息數據的交換,實現分布式網絡控制。
4 測試結果
為了保證系統中每個模塊都能夠正常工作,需要設計一個能夠與PC機進行實時通訊的通用板,滿足對系統各部分在實驗室環境下進行測試,確保系統正常運行。采用LabVIEW軟件設計PC機監控面板,內置信號采集、測量分析與數據顯示功能,摒棄了傳統開發工具的復雜性,在提供強大功能的同時還保證了系統靈活性。

在監控面板上可以設置節點號(Node ID),主/從節點,設置要發送報文的類型(如TPDOn,SDO,NMT,Heartbeat,LSS)及內容(數據長度,內容),選擇通訊端口,還可以觀察到接收的CAN報文類型、數據長度、節點號和報文內容。圖5顯示的數據是在初始化狀態時進行的設置,可以在數據接收窗口看到進行LSS節點號設置和存儲設置參數的返回報文,以及節點根據CANopen協議的規定發送Boot-up報文,和進入預操作狀態后的Heartbeat報文。


5 結 語
本文將CANopen協議應用于自調勻整系統,實現了現場總線分布式網絡控制系統的數字化、模塊化,增強了設備的可擴展性,提高了數據傳輸的可靠性。這種基于現場總線應用層標準協議的開發和使用,對提高系統的工作效率,特別是對復雜系統的研制具有一定的指導意義。
參 考 文 獻
[1]郇極,楊斌,魏繼光.一種開放式的現場總線協議CANopen[J].制造業自動化,2002,24(10):33-34.
[2]CiA.CANopen[Z].1996.
[3]Boterenbrood H.CANopen:High Level Protocol for CAN-bus[Z].2000.
[4]王付軍,陶維青.基于CAN的高層協議CANopen與PeviceNET的比較\\.現代電子技術,2007,30(4):111-113,117.
作者簡介 賈 佳 女,1980年出生,陜西西安人,現任教于西安航空職業技術學院,助教,碩士研究生。主要從事于CANOopen協議應用開發,DSP、虛擬儀器以及FPGA的教學和研究。