《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > CANopen協(xié)議在現(xiàn)場總線網(wǎng)絡(luò)中的應(yīng)用
CANopen協(xié)議在現(xiàn)場總線網(wǎng)絡(luò)中的應(yīng)用
EEworld
EEworld
摘要: 基于現(xiàn)場總線的網(wǎng)絡(luò)技術(shù)研究是自動控制領(lǐng)域發(fā)展的一個熱點(diǎn),。在各種各樣的工業(yè)現(xiàn)場...
Abstract:
Key words :

關(guān)鍵字:CANopen協(xié)議" title="CANopen協(xié)議">CANopen協(xié)議,現(xiàn)場總線,網(wǎng)絡(luò)

  1 引 言   
 
  基于現(xiàn)場總線的網(wǎng)絡(luò)技術(shù)研究是自動控制領(lǐng)域發(fā)展的一個熱點(diǎn),。在各種各樣的工業(yè)現(xiàn)場總線中,, CAN 總線以其成本低、速度快,、實(shí)時性和可靠性較高等特點(diǎn)被快速應(yīng)用于汽車電子、醫(yī)療,、軍事等領(lǐng)域,。但是, CAN 總線只定義了物理層和數(shù)據(jù)鏈路層,,本身并不完整,,針對這一問題, CiA(CAN in Automation) 協(xié)會經(jīng)過不斷的發(fā)展于 1995 年發(fā)布了完整的 CANopen 協(xié)議,,它不僅定義了應(yīng)用層和通訊子協(xié)議,,也為可編程系統(tǒng)、不同器件,、接口,、應(yīng)用子協(xié)議定義了幀狀態(tài),為基于現(xiàn)場總線的全數(shù)字分布式控制系統(tǒng)的廣泛應(yīng)用和系統(tǒng)的一體化管理提供了解決之道,。

        本文以改善現(xiàn)場總線網(wǎng)絡(luò)" title="現(xiàn)場總線網(wǎng)絡(luò)">現(xiàn)場總線網(wǎng)絡(luò)通訊系統(tǒng)的運(yùn)行效率,,提高實(shí)時性和信息處理能力為前提,針對并條機(jī)自調(diào)勻整控制系統(tǒng)中各功能模塊的作用,,淺析 CAN 總線高層通訊協(xié)議 CANopen ,,實(shí)現(xiàn)各功能模塊間的數(shù)據(jù)通信。通過實(shí)驗測試,證明系統(tǒng)工作穩(wěn)定,、可靠,,保證了全數(shù)字分布式網(wǎng)絡(luò)系統(tǒng)工作的快速性、準(zhǔn)確性和實(shí)時性,。

2 CANopen 協(xié)議概述   

2.1 設(shè)備模型   

CANopen 協(xié)議是由 CiA 協(xié)會針對 CAN 協(xié)議的不完整性而定義出來的一個更高層次的協(xié)議——應(yīng)用層協(xié)議,。一個 CANopen 設(shè)備模塊可以被分為 3 部分,如圖 1 所示,。通信接口和協(xié)議軟件提供在總線上收發(fā)通信對象的服務(wù),。不同 CANopen 設(shè)備間的通信都是通過交換通信對象完成的。這一部分直接面向 CAN 控制器進(jìn)行操作,。對象字典描述了設(shè)備使用的所有的數(shù)據(jù)類型,,通信對象和應(yīng)用對象。對象字典位于通信程序和應(yīng)用程序之間,,向應(yīng)用程序提供接口,,應(yīng)用程序?qū)ο笞值溥M(jìn)行操作就可以實(shí)現(xiàn) CANopen 通信。應(yīng)用程序包括功能部分和通信部分,,通信部分通過對對象字典進(jìn)行操作實(shí)現(xiàn) CANopen 通信,,而功能部分則根據(jù)應(yīng)用要求實(shí)現(xiàn)。

2.2 對象字典   

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

在 CANopen 網(wǎng)絡(luò)系統(tǒng)中每個節(jié)點(diǎn)都有一個惟一的對象字典,,每個節(jié)點(diǎn)的對象字典都具有相同的結(jié)構(gòu),但具體的內(nèi)容要根據(jù)不同的設(shè)備而定,,包含了描述這個設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù),。

2.3 通訊對象   

通過 CAN 網(wǎng)絡(luò)傳輸?shù)?CANopen 通訊對象可以通過服務(wù)和協(xié)議來描述。分類如下:   

(1) 實(shí)時數(shù)據(jù)通過過程數(shù)據(jù)對象 (PDO) 協(xié)議傳輸,。

用 8 個字節(jié)的數(shù)據(jù)字段把過程數(shù)據(jù)對象 PDO 映象到一個單一的 CAN 幀從而傳輸應(yīng)用對象,。每個 PDO 有一個惟一的標(biāo)識符且僅可以通過一個節(jié)點(diǎn)發(fā)送,但其接收者不止一個,。每個 PDO 在對象字典中用 2 個對象描述: PDO 通訊參數(shù),,規(guī)定了 PDO 的通訊行為,包含哪個 COB ID 將被 PDO 使用,,傳輸類型,,禁止時間和定時器周期,; PDO 映射參數(shù),規(guī)定了哪個對象被映射到一個 PDO 里,,生產(chǎn)者和消費(fèi)者必須知道這個映射,,以解釋 PDO 內(nèi)容。

(2) 服務(wù)數(shù)據(jù)對象 (SDO) 協(xié)議用來對對象字典進(jìn)行讀寫操作,。

通過服務(wù)數(shù)據(jù)對象 SDO 可以訪問一個設(shè)備的對象字典,。為了使通訊得到確認(rèn),一個 SDO 需要兩個帶有不同標(biāo)識符的 CAN 數(shù)據(jù)幀,,通過 SDO ,,在兩個設(shè)備問可以建立點(diǎn)對點(diǎn)的通信,被訪問對象字典的設(shè)備是 SDO 通訊的服務(wù)器,,一個設(shè)備可以支持多個 SDO 對象,,但是,至少有一個 SDO 在一個設(shè)備中被支持,。

(3) 特殊功能對象協(xié)議提供了特定應(yīng)用,,網(wǎng)絡(luò)同步,時間戳和緊急報文傳輸,。

(4) 網(wǎng)絡(luò)管理 (NMT) 協(xié)議提供了網(wǎng)絡(luò)初始化,,錯誤控制和設(shè)備狀態(tài)控制服務(wù)。

在 CANopen 網(wǎng)絡(luò)中,,需要一個節(jié)點(diǎn)履行 Master( 主節(jié)點(diǎn) ) 功能,。其他節(jié)點(diǎn)作為 NMT的 Slave( 從節(jié)點(diǎn) ) ,。 NMT 提供了以下功能:模塊控制服務(wù) ( 初始化參加網(wǎng)絡(luò)通訊的從點(diǎn) ) ,;錯誤控制服務(wù) ( 管理節(jié)點(diǎn)和網(wǎng)絡(luò)通訊的狀態(tài) ) ;配置控制服務(wù) ( 上傳和下載網(wǎng)絡(luò)的配置據(jù) ) ,。

(5) 層設(shè)置服務(wù) (LSS) 協(xié)議用來配置 CAN 總線通訊參數(shù)和設(shè)備參數(shù),。

使用 CANopen 協(xié)議定義的 LSS 報文實(shí)現(xiàn)對 CAN 總線網(wǎng)絡(luò)的配置,包括節(jié)點(diǎn) ID ,,通訊波特率,,儀器的產(chǎn)品號、序列號等,。 LSS 報文在 CANopen 協(xié)議通訊中是可選的,,可以在節(jié)點(diǎn)初始化時直接指定節(jié)點(diǎn) ID ,通訊速率等參數(shù),,它的使用可以提高系統(tǒng)靈活性,。

3 通信網(wǎng)絡(luò)的 CANopen 協(xié)議實(shí)現(xiàn)   

3.1 自調(diào)勻整系統(tǒng)通信網(wǎng)絡(luò)結(jié)構(gòu)   

本并條機(jī)自調(diào)勻整系統(tǒng)由鍵盤顯示控制器、 DSP 控制器,、 A 孔伺服電機(jī)控制器,、 B 孔伺服電機(jī)控制器、 PLC 邏輯控制器和 PC 機(jī)監(jiān)控組成,各節(jié)點(diǎn)在 CAN 總線的基礎(chǔ)上采用 CANopen 協(xié)議實(shí)現(xiàn)通訊,,完成系統(tǒng)預(yù)定義的功能,。圖 2 所示為 A 孔開環(huán)式并條機(jī)自調(diào)勻整原理圖。

3.2 硬件部分   

DSP 控制器部分為整個系統(tǒng)的核心,,負(fù)責(zé)對整個通信網(wǎng)絡(luò)進(jìn)行信息采集,、數(shù)據(jù)運(yùn)算、工作控制,。下面主要說明 DSP 控制器的 CANopen 協(xié)議實(shí)現(xiàn),。

采用集成 CAN 模塊的 TMS 320F 2810 DSP 實(shí)現(xiàn),它有多達(dá) 32 個郵箱,,占用 512 B RAM ,,都可以配置為發(fā)送或接收郵箱,且都有一個可編程的接收屏蔽寄存器,。這樣就使數(shù)據(jù)傳輸更加方便靈活,、信息量大大增加。圖 3 為 DSP 控制器 CAN 總線部分驅(qū)動電路圖,,分別選用 TMS320F 2810 的 64 引腳 CANTXA 和 65 引腳 CANRXA 作為 CAN 總線的發(fā)送和接收引腳,。采用 ADuM1100 高速數(shù)字隔離器替代傳統(tǒng)的光電耦合器。采用 MCP2551 作為高速 CAN 收發(fā)器,,具有差分發(fā)射和接收能力,,可將許多節(jié)點(diǎn)與同一網(wǎng)絡(luò)相連接。

3.3 軟件部分   

根據(jù) CANopen 協(xié)議軟件框架,,分別設(shè)置了 NMT 報文,、 SYNC 報文、 SDO 報文,、 PDO 報文和 Heartbeat 報文,,并針對 DSP 控制器從節(jié)點(diǎn)的性質(zhì)及其與各節(jié)點(diǎn)之間的關(guān)系,設(shè)置了各報文的 COB - ID ,,見表 3 ,。

在系統(tǒng)中鍵盤顯示控制器為主節(jié)點(diǎn),通過液晶顯示監(jiān)控各從節(jié)點(diǎn)信息,,主節(jié)點(diǎn)通過檢測 4 個從節(jié)點(diǎn)發(fā)送的周期性心跳報文 (Heartbeat) 來判斷各個從節(jié)點(diǎn)的工作狀態(tài),。圖 4 為 DSP 控制器從節(jié)點(diǎn)的 CANopen 協(xié)議通訊流程:在系統(tǒng)上電后,首先向主節(jié)點(diǎn)發(fā)送 Boot-up 報文,,通知主節(jié)點(diǎn)進(jìn)入 Pre-operational 狀態(tài),,等待主節(jié)點(diǎn)的 SDO 報文訪問對象字典,在完成對象字典的配置后,,等待接收主節(jié)點(diǎn)的 NMT 報文進(jìn)入 Operational 狀態(tài),,開始 PDO 報文的發(fā)送及接收,,完成信息數(shù)據(jù)的交換,實(shí)現(xiàn)分布式網(wǎng)絡(luò)控制,。

4 測試結(jié)果   

為了保證系統(tǒng)中每個模塊都能夠正常工作,,需要設(shè)計一個能夠與 PC 機(jī)進(jìn)行實(shí)時通訊的通用板,滿足對系統(tǒng)各部分在實(shí)驗室環(huán)境下進(jìn)行測試,,確保系統(tǒng)正常運(yùn)行,。采用 LabVIEW 軟件設(shè)計 PC 機(jī)監(jiān)控面板,內(nèi)置信號采集,、測量分析與數(shù)據(jù)顯示功能,,摒棄了傳統(tǒng)開發(fā)工具的復(fù)雜性,在提供強(qiáng)大功能的同時還保證了系統(tǒng)靈活性,。

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

5 結(jié)語   

本文將 CANopen 協(xié)議應(yīng)用于自調(diào)勻整系統(tǒng),,實(shí)現(xiàn)了現(xiàn)場總線分布式網(wǎng)絡(luò)控制系統(tǒng)的數(shù)字化,、模塊化,增強(qiáng)了設(shè)備的可擴(kuò)展性,,提高了數(shù)據(jù)傳輸?shù)目煽啃?。這種基于現(xiàn)場總線應(yīng)用層標(biāo)準(zhǔn)協(xié)議的開發(fā)和使用,對提高系統(tǒng)的工作效率,,特別是對復(fù)雜系統(tǒng)的研制具有一定的指導(dǎo)意義,。

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。