CANopen現(xiàn)場總線通訊協(xié)議的分析_第1頁
CANopen現(xiàn)場總線通訊協(xié)議的分析_第2頁
CANopen現(xiàn)場總線通訊協(xié)議的分析_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

CANopen現(xiàn)場總線通訊協(xié)議的分析摘要:CANopen使用基于對象的方法來定義標(biāo)準(zhǔn)設(shè)備,每個設(shè)備都表現(xiàn)為一組對象的集合,能夠被網(wǎng)絡(luò)所訪問。對象字典是通訊程序和上層應(yīng)用程序之間的接口。CANopen的核心概念是設(shè)備對象字典(ObjectDictionary,OD),它是一個有序的對象組,每個對象采用一個16位的索引值來尋址,為了允許訪問數(shù)據(jù)結(jié)構(gòu)中的單個元素,同時定義了一個8位的子索引。CANopen網(wǎng)絡(luò)中每個節(jié)點(diǎn)都有一個對象字典。對象字典包含了描述這個設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。一個節(jié)點(diǎn)的對象字典是在電子數(shù)據(jù)文件(ElectronicDataSheet,EDS)中描述。

關(guān)鍵詞:CANopen;對象詞典;索引;子索引

前言:CAN(ControllerAreaNetwork)現(xiàn)場總線僅僅定義了物理層、數(shù)據(jù)鏈路層(見ISO11898標(biāo)準(zhǔn)),沒有規(guī)定應(yīng)用層;實(shí)際設(shè)計中,物理層、數(shù)據(jù)鏈路層完全由硬件實(shí)現(xiàn)。所以CAN現(xiàn)場總線本身并不完整,需要一個高層協(xié)議來定義CAN信息中的11/29位標(biāo)識符、8字節(jié)數(shù)據(jù)的使用。CANopen協(xié)議是一種基于CAN的高層協(xié)議,它是由CiA(CAN-in-Automation)定義并維護(hù)的協(xié)議之一,它是在CAL(CANApplicationLayer)協(xié)議基礎(chǔ)上開發(fā)的,使用了CAL通信和服務(wù)協(xié)議子集。

1CANopen通訊對象

1.1PDO(ProcessDataObject:過程數(shù)據(jù)對象)

PDO提供設(shè)備應(yīng)用對象的直接訪問通道,用來傳輸實(shí)時數(shù)據(jù),具有較高的優(yōu)先權(quán)。PDOCAN信息數(shù)據(jù)列中每個字節(jié)都用作數(shù)據(jù)傳輸,信息利用率高。

PDO通過“生產(chǎn)者/消費(fèi)者”模式來描述,數(shù)據(jù)從一個生產(chǎn)者傳到一個或者多個消費(fèi)者,數(shù)據(jù)傳送限制在1~8個字節(jié)。生產(chǎn)者傳輸數(shù)據(jù)后,不需要消費(fèi)者確認(rèn),網(wǎng)絡(luò)上的每個節(jié)點(diǎn)都會檢測發(fā)送節(jié)點(diǎn)發(fā)出的數(shù)據(jù)信息,然后節(jié)點(diǎn)會決定接收到的信息是否需要處理。

每個PDO有兩種PDO服務(wù):TxPDO和RxPDO。生產(chǎn)者發(fā)出的PDO稱為該設(shè)備的發(fā)送PDO(TxPDO),消費(fèi)者設(shè)備接收的PDO稱為該設(shè)備的接收PDO(RxPDO)。

每個PDO在對象字典中用2個對象描述:PDO通訊參數(shù)和PDO映像參數(shù)

PDO通訊參數(shù):包含哪個COB-ID將被PDO使用,傳輸類型,禁止時間和定時器周期。

PDO映射參數(shù):包含一個對象字典中對象的列表,這些對象映像到PDO里,包括它們的數(shù)據(jù)長度(inbits)。生產(chǎn)者和消費(fèi)者必須知道這個映像,以說明PDO內(nèi)容。

RxPDO和TxPDO信息格式如下:

1.2SDO(ServiceDataObject:服務(wù)數(shù)據(jù)對象)

SDO是用來建立兩個CANopen設(shè)備之間的客戶/服務(wù)器關(guān)系的,客戶設(shè)備可以對服務(wù)器設(shè)備的對象字典進(jìn)行讀/寫訪問操作。SDO的訪問模式為“客戶端/服務(wù)器”模式,被訪問的節(jié)點(diǎn)為SDO服務(wù)器。每個CANopen設(shè)備至少有一個服務(wù)數(shù)據(jù)對象,用來提供該設(shè)備對象字典的訪問通道。SDO可以對對象字典內(nèi)的所有對象進(jìn)行讀/寫訪問操作。

SDO信息中包含索引和子索引信息,如此方便對象在對象字典中定位,而且對象字典中的復(fù)合數(shù)據(jù)結(jié)構(gòu)易于通過SDO訪問。SDO的觸發(fā)方式為功能響應(yīng)型,即SDO客戶發(fā)出讀/寫請求后,SDO服務(wù)器須給予回應(yīng);客戶端和服務(wù)器均可以主動終止SDO的傳輸;請求信息和響應(yīng)消息通過不同的COB-ID進(jìn)行區(qū)分。

SDO可以傳送任意長度的數(shù)據(jù)。如果傳送的數(shù)據(jù)超過4個字節(jié),則必須實(shí)行分段傳送。最后一段數(shù)據(jù)報含一個結(jié)束標(biāo)志。

SDO請求信息和響應(yīng)消息的結(jié)構(gòu)如下:

請求信息格式:

1.3NMT(NetworkManagementObject:網(wǎng)絡(luò)管理對象)

CANopen的網(wǎng)絡(luò)管理遵循“主/從”模式。一個CANopen網(wǎng)絡(luò)里只能存在一個NMT主站,其它節(jié)點(diǎn)均被當(dāng)成從站。NMT可實(shí)現(xiàn)3種服務(wù):Modulecontrolservices(節(jié)點(diǎn)狀態(tài)控制服務(wù))、ErrorControlservices(錯誤控制服務(wù))和Boot-upservices(啟動引導(dǎo)服務(wù))。

1.3.1節(jié)點(diǎn)狀態(tài)控制是指CANopen網(wǎng)絡(luò)中主站節(jié)點(diǎn)通過發(fā)送命令控制從站的狀態(tài),從站收到主站的命令后執(zhí)行,不需要回復(fù)。所有的CANopen節(jié)點(diǎn)都有一個內(nèi)部的NMT狀態(tài),從站節(jié)點(diǎn)共有4種狀態(tài):初始化狀態(tài)、預(yù)行狀態(tài)、運(yùn)行狀態(tài)、停止?fàn)顟B(tài)。

節(jié)點(diǎn)狀態(tài)控制信息格式如下表所示:

1.3.2ErrorControlservices(錯誤控制服務(wù))

錯誤控制服務(wù)用于檢測CANopen網(wǎng)絡(luò)中是否有節(jié)點(diǎn)斷線。錯誤控制服務(wù)分為兩種:heartbeat和nodeguarding,臺達(dá)AS系列PLC只支持heartbeat。如從站啟動heartbeat服務(wù)后,主站才可以檢測從站是否斷線。Heartbeat生產(chǎn)者按照設(shè)定的Heartbeat產(chǎn)生時間定時發(fā)送Heartbeat信息,一個或者多個Heartbeat消費(fèi)者檢測Heartbeat生產(chǎn)者發(fā)送的信息,當(dāng)消費(fèi)者在設(shè)定的超時時間內(nèi)沒有收到生產(chǎn)者發(fā)送的信息時,產(chǎn)生Heartbeat事件表明CANopen通訊異常。

1.3.3Boot-upservices(啟動引導(dǎo)服務(wù))

從站在初始化完成進(jìn)入預(yù)運(yùn)行狀態(tài)后,會發(fā)送一筆Boot-up信息,表示初始化完成。

1.4其它預(yù)定義CANopen通訊對象

1.4.1同步對象(SyncObject)

同步對象由網(wǎng)絡(luò)中主站節(jié)點(diǎn)以廣播的形式周期發(fā)送到CAN網(wǎng)絡(luò)的信息。這個對象用來實(shí)現(xiàn)基本的網(wǎng)絡(luò)時鐘信號,每個設(shè)備可以根據(jù)自己的配置,決定是否使用該事件和其它網(wǎng)絡(luò)設(shè)備進(jìn)行同步通訊。如在控制驅(qū)動裝置時,各個裝置收到主站發(fā)送的動作命令后并不立即動作,而是等收到同步信息后一起動作,如此可以實(shí)現(xiàn)多個裝置同步動作。

SYNC信息格式如下圖所示:

1.4.2緊急事件對象(EmergencyObject)

緊急事件對象是由CANopen設(shè)備用來標(biāo)識內(nèi)部緊急錯誤的,當(dāng)設(shè)備出現(xiàn)緊急錯誤時,設(shè)備發(fā)出緊急事件信息(信息中包含緊急錯誤碼),設(shè)備進(jìn)入錯誤狀態(tài)。當(dāng)錯誤消除后,設(shè)備發(fā)出緊急事件信息報告錯誤消除,緊急錯誤代碼為0,設(shè)備進(jìn)入正常狀態(tài)。

Emergency信息格式如下圖所示:

備注:錯誤寄存器內(nèi)的值映像到對象字典(ObjectDictionary)中的索引地址為1001(hex)。若該值等于0,則表示無錯誤發(fā)生;若該值等于1,則表示發(fā)生了一般性錯誤;若該值等于H’80,則表示發(fā)生了設(shè)備內(nèi)部錯誤。

2預(yù)定義連接設(shè)定

為了減少簡單網(wǎng)絡(luò)的組態(tài)工作量,CANopen定義了一個強(qiáng)制性的默認(rèn)標(biāo)識符分配圖表。預(yù)定義連接設(shè)定包含廣播對象和對等對象,11位的標(biāo)識符結(jié)構(gòu)如下:

結(jié)語:

CANopen標(biāo)準(zhǔn)最初設(shè)計用于面向運(yùn)動的機(jī)器控制系統(tǒng),現(xiàn)在廣泛應(yīng)用于自動化領(lǐng)域。例如,它是一個流行的協(xié)議,可以在機(jī)器人系統(tǒng)中、工廠傳送帶旁及整個工業(yè)機(jī)械中使用。隨著自動化程度越來越高的智能工廠的發(fā)展趨勢,CANopen協(xié)議將在未來發(fā)揮更大的作用。

參考文獻(xiàn):

[1]任瑋蒙,陶維青.基于CAN總線的高層協(xié)議CANopen[J].自動化技術(shù)與應(yīng)用,2007,26(4):128-130

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論