CAN總線和基于CAN總線的高層協(xié)議
DeviceNet 中,應(yīng)用數(shù)據(jù)的分組是由集合對象的實例(instance)規(guī)定的。這個“集合”對象的實例定義了發(fā)送的應(yīng)用對象數(shù)據(jù)格式。一個設(shè)備可能包含多于一個 I/O集合而且其相應(yīng)集合的選擇也是一個可配置的設(shè)備選項。
CANopen 規(guī)定了有關(guān)應(yīng)用對象映射,應(yīng)用對象通過一個叫“PDO映射記錄”的數(shù)據(jù)結(jié)構(gòu)映射到PDO中。這個結(jié)構(gòu)以對象標(biāo)識符列表(對象目錄索引子索引)和數(shù)據(jù)長度的形式規(guī)定了映射的應(yīng)用對象數(shù)據(jù)。由于PDO映射可通過SDO(Service Data Object)訪問,所以PDO映射可通過配置工具配置。
2.3 建立過程數(shù)據(jù)信息連接
在CAN 網(wǎng)絡(luò)里,信息生產(chǎn)者發(fā)送信息以及信息消耗者接收信息,其各自標(biāo)識符的分配建立了通訊路徑。通過已經(jīng)分配的信息標(biāo)識符的預(yù)定義信息可以建立信息的連接,或通過信息的各種標(biāo)識符分配來達到建立信息的連接目的。非預(yù)定義標(biāo)識符分配的主要優(yōu)點是:建立任何類型的通訊結(jié)構(gòu)的可能性,根據(jù)應(yīng)用需求的最大數(shù)量信息標(biāo)示符的有效性以及面向控制而設(shè)計的信息標(biāo)示符分配有效性。
在一預(yù)定義信息的系統(tǒng)中,信息的功能和信息的標(biāo)示符已經(jīng)被定義DeviceNet和 CANopen使用1:n系統(tǒng)結(jié)構(gòu)的預(yù)定義連接組方法。根據(jù)預(yù)定義組,一個已經(jīng)分配了從設(shè)備預(yù)定義查詢連接的DeviceNet主機,已經(jīng)知道關(guān)于發(fā)送查詢請求以及期待查詢響應(yīng)信息的信息ID,因為它們來源于從機的MAC-ID。同樣的,在CANopen中除了其他的預(yù)定義信息之外, 默認的預(yù)定義連接組提供了2個預(yù)定義的接收和發(fā)送PDO, 默認PDO的用法和含義是由設(shè)備的類型決定。
DeviceNet標(biāo)識符分配方法是通過設(shè)備擁有的信息標(biāo)示符庫決定的,這個標(biāo)示符出自于信息發(fā)送設(shè)備的標(biāo)示符庫。DeviceNet最大為64個設(shè)備發(fā)布有效的標(biāo)識符。在連接過程中,一個產(chǎn)生模塊的信息從它的信息ID庫中,分配一個空閑的信息ID,并將此空閑的信息ID與它的源MAC ID(Source MAC ID)結(jié)合在一起,產(chǎn)生一個所謂的“連接ID”。而CANopen的變量標(biāo)識符分配方案基于中央信息標(biāo)識符庫,系統(tǒng)管理員通過SDO(Service Data Object)信道設(shè)置設(shè)備對象目錄中相應(yīng)的PDO標(biāo)識符實現(xiàn)信息連接的建立。
2.4 網(wǎng)絡(luò)管理
由于應(yīng)用是分布的,所以必須處理某些事件,如應(yīng)用部件的故障或節(jié)點的故障,如果同一應(yīng)用還沒有被分配,則這些事件就不會出現(xiàn)。因此,對于一個正確的網(wǎng)絡(luò)管理,其主要任務(wù)是檢測和顯示網(wǎng)絡(luò)中的錯誤,并通過服務(wù)以一協(xié)調(diào)的方式控制分布節(jié)點的通訊。狀態(tài)取決于系統(tǒng)的解決方案,網(wǎng)絡(luò)的功能性可以通過顯式網(wǎng)絡(luò)管理設(shè)施提供,或通過其他方法提供。
CAN網(wǎng)絡(luò)的錯誤檢測包括位錯誤、填充錯誤、CRC錯誤、格式錯誤和應(yīng)答錯誤,每當(dāng)檢測到一個錯誤該節(jié)點的錯誤計數(shù)器就加1,當(dāng)節(jié)點的錯誤計數(shù)器大于或等于256時,節(jié)點進入總線關(guān)閉狀態(tài)。
CANopen 網(wǎng)絡(luò)管理基于CAL NMT(Network ManagemenT)服務(wù)元素,這些元素應(yīng)用了“節(jié)點保護”原則來檢測節(jié)點故障。為了這個目的,一個NMT主機通過一個遠程請求幀對網(wǎng)絡(luò)的每個節(jié)點 NMT從機循環(huán)發(fā)送一個保護請求。被訪問的從機用它的實際通訊狀態(tài)響應(yīng)每個請求。如果NMT主機檢測到節(jié)點狀態(tài)改變或被訪問的節(jié)點沒有響應(yīng),就會有一個保護錯誤告示NMT主機應(yīng)用。當(dāng)節(jié)點連接到網(wǎng)絡(luò)上后,節(jié)點保護就啟動。每一個節(jié)點也監(jiān)督到達節(jié)點的保護請求信息。節(jié)點的“生存時間”過期后如果沒有進一步的保護請求信息,則此節(jié)點的應(yīng)用被告之有網(wǎng)絡(luò)錯誤。
根據(jù)面向連接的設(shè)計,DeviceNet中的每個連接都受到監(jiān)控。因此,根據(jù)配置的期望信息包速率(expected packet rate),每個接收的連接端點都有靜止看門狗定時器(Inactivity/Watchdog-Timer),用于監(jiān)控到達節(jié)點的信息。如果定時器溢出,連接就會執(zhí)行專有的超時行動。在接收到創(chuàng)建服務(wù)(Create Service)顯式信息后,可以通過使用專有的顯式信息服務(wù)的順序來配置連接,并且,要在整個連接完成了配置以后才允許連接。在訪問每個 DeviceNet節(jié)點之前,每個節(jié)點必須重復(fù)執(zhí)行MAC ID檢查,使用這個特殊的協(xié)議順序,可以確保設(shè)備MAC ID的唯一性。所有的DeviceNet模塊都要求參與這個MAC ID的檢測算法。
2.5 設(shè)備建模和設(shè)備子協(xié)議
除了標(biāo)準(zhǔn)的通訊外, 還要求相似設(shè)備在開放式自動化系統(tǒng)中應(yīng)具有額外的互用性和可交換性。CAN協(xié)議各個廠商間的設(shè)備功能可交換性較差DeviceNet和CANopen在這方面改進了很多。DeviceNet和CANopen以設(shè)備模型的形式描述網(wǎng)絡(luò)上所看見的設(shè)備的功能性。為了提高相似設(shè)備的可交換性,DeviceNet 和CANopen規(guī)定了工業(yè)自動化中主要設(shè)備類型的設(shè)備子協(xié)議,以確保不同廠家器件的相同基本標(biāo)準(zhǔn)行為。除了設(shè)備的功能性描述外,設(shè)備模型還提供關(guān)于設(shè)備的身份特點、版本號、狀態(tài)診斷信息、通訊設(shè)施和配置參數(shù)的描述。
DeviceNet的節(jié)點模型包括了幾個對象,其中一些是由DeviceNet要求的,其他則是由產(chǎn)品的應(yīng)用功能要求的。對象提供有關(guān)于設(shè)備中特殊部件的描繪和相關(guān)的數(shù)據(jù)屬性以及數(shù)據(jù)的過程服務(wù)的描繪。DeviceNet中的對象訪問是基于一個具有等級劃分的訪問方案,對象訪問包括媒體訪問控制標(biāo)識符、類型標(biāo)識符、實例標(biāo)示符以及屬性標(biāo)識符。媒體訪問控制標(biāo)識符用以將一個節(jié)點從同一網(wǎng)絡(luò)中的所有其他節(jié)點中區(qū)分開來,類型標(biāo)識符用以識別對象類型,實例標(biāo)示符用以在相同類型的所有實例中識別一個實例,屬性標(biāo)示符用以識別一個類型或?qū)嵗锏膶傩浴?br />DeviceNet的設(shè)備子協(xié)議(Device Profile) 包含三方面的信息:設(shè)備類型的對象模型、設(shè)備類型的I/O數(shù)據(jù)格式以及配置數(shù)據(jù)和數(shù)據(jù)的公共接口。一個設(shè)備可能包含高達32個嵌入對象,而且這些對象都是總線可尋址的實體。根據(jù)嵌入對象的級別可以確定屬性、行為和事件。
CANopen通過對象目錄描述對象設(shè)備的功能性。目錄項是由一個16位索引和一個8位子索引號碼識別,數(shù)據(jù)和參數(shù)的功能被規(guī)定其中。除了用于定義數(shù)據(jù)類型的區(qū)段外,還有3個主要的區(qū)段,分別是:通訊子協(xié)議區(qū)段、標(biāo)準(zhǔn)化的設(shè)備子協(xié)議區(qū)段和廠商細節(jié)區(qū)段。通訊子協(xié)議區(qū)段信息對于任何CANopen設(shè)備類型都是一致的,并包含與信息、參數(shù)和功能相關(guān)的設(shè)備。這些信息參數(shù)和功能又與設(shè)備的鑒別、錯誤管理、包括將應(yīng)用對象映射到過程數(shù)據(jù)對象的設(shè)備通訊信道的定義有關(guān)。CANopen設(shè)備子協(xié)議區(qū)段為特殊類別的基本標(biāo)準(zhǔn)設(shè)備的功能性提供了一個接口,其中有些條目是強制的,有些是可選的。強制的、共有的條目要確保設(shè)備在一個定義的基本方式中運轉(zhuǎn)。主要工業(yè)設(shè)備不同的設(shè)備子協(xié)議用以提高設(shè)備的可交換性。廠商特殊的或不標(biāo)準(zhǔn)的設(shè)備的功能性可以通過廠商特殊子協(xié)議區(qū)段進行提供。本文引用地址:http://www.ex-cimer.com/article/156338.htm
3 結(jié)束語
文章通過對CAN、DeviceNet、CANopen在五方面的比較,使CAN總線用戶更深入的了解這幾種總線。這幾種協(xié)議最明顯的不同是信息標(biāo)識符的使用。DeviceNet基于面向連接的觀點,CANopen基于面向信息的觀點。DeviceNet、CANopen協(xié)議和 CAN協(xié)議構(gòu)成了一個完整的協(xié)議體系CAN總線因其具備其獨特的設(shè)計思想、優(yōu)良的性能和高可靠性在汽車、醫(yī)學(xué)、機器人等領(lǐng)域有著很好的應(yīng)用,而CAN的高層協(xié)議DeviceNet、CANopen滿足了不同產(chǎn)品的兼容和互操作性,使得CAN總線的功能更加的豐富和適應(yīng)更加復(fù)雜的應(yīng)用,進一步推進了CAN總線在工業(yè)領(lǐng)域的推廣和應(yīng)用。
評論