CANopen總線協(xié)議的基本概念
現(xiàn)在通信電子設(shè)備有很多已經(jīng)具備很高的智能性了。在一定程度上和計算機(jī)已經(jīng)不相上下。那么,在通訊設(shè)別中,我們給大家介紹一下CANopen總線的使用。考慮到CANopen總線是開放性較好、成本較低,絕大多數(shù)歐美廠商支持的現(xiàn)場總線,所以要加強(qiáng)CANopen總線協(xié)議的學(xué)習(xí)。
CANopen總線協(xié)議包括通訊子協(xié)議(Communication Profile)和各種設(shè)備子協(xié)議(Device Profile)。通訊子協(xié)議描述對象字典的主要形式和對象字典中的通訊子協(xié)議區(qū)域中的對象,通訊參數(shù),同時描述CANopen通訊對象,這個子協(xié)議適用于所有的CANopen設(shè)備,如CIA-DS301。設(shè)備子協(xié)議為各種不同類型設(shè)備定義對象字典中的對象,并為對象字典中的每個對象描述了它的功能、名字、索引和子索引、數(shù)據(jù)類型,以及這個對象是必需的還是可選的,這個對象是只讀、只寫或者可讀寫等等。目前已有多種不同的設(shè)備子協(xié)議,如:DS401、 DS402等。
CANopen標(biāo)準(zhǔn)的核心部分是通過對象字典(Object Dictionary)對設(shè)備功能進(jìn)行描述。通過對象字典的入口可以對設(shè)備的“應(yīng)用對象”進(jìn)行基本網(wǎng)絡(luò)訪問,設(shè)備的“應(yīng)用對象”可以是輸入輸出信號、設(shè)備參數(shù)、設(shè)備功能和網(wǎng)絡(luò)變量等。CANopen設(shè)備的功能及特性以電子數(shù)據(jù)表單(EDS)的形式描述,實(shí)際的設(shè)備設(shè)置通過設(shè)備配置文件(DCF)進(jìn)行描述。
大多數(shù)重要的設(shè)備類型,例如數(shù)字和模擬的輸入輸出模塊,驅(qū)動設(shè)備,操作設(shè)備,控制器,可編程控制器或編碼器,都在稱為"設(shè)備子集"的協(xié)議中進(jìn)行描述。設(shè)備子集定義了不同類型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。依靠CANopen總線協(xié)議集的支持,可以對不同廠商的設(shè)備通過總線進(jìn)行配置。
CANopen總線協(xié)議標(biāo)準(zhǔn)最核心的部分是通過對象字典(Object Dictionary)對設(shè)備功能進(jìn)行描述。對象字典分為兩部分,第一部分包括基本的設(shè)備信息,例如設(shè)備ID,制造商,通信參數(shù)等等。第二部分描述了特殊的設(shè)備功能。
一個16位的索引和一個8位的子索引唯一確定了對象字典的入口。通過對象字典的入口可以對設(shè)備的"應(yīng)用對象"進(jìn)行基本網(wǎng)絡(luò)訪問,設(shè)備的"應(yīng)用對象"可以是輸入輸出信號,設(shè)備參數(shù),設(shè)備功能和網(wǎng)絡(luò)變量等等。
CANopen設(shè)備的功能及特性以電子數(shù)據(jù)單(EDS)的形式描述,EDS采用ASCII格式,可以將EDS理解成某種形式的表格。實(shí)際的設(shè)備設(shè)置通過所謂的設(shè)備配置文件(DCF)進(jìn)行描述。EDS和DCF都可以從Internet上下載,并可以存儲在設(shè)備之中。
象其他知名的現(xiàn)場總線系統(tǒng)一樣,CANopen總線協(xié)議也分為兩種基本的數(shù)據(jù)傳輸機(jī)制:通過進(jìn)程數(shù)據(jù)對象(PDO)對小型的數(shù)據(jù)進(jìn)行高速數(shù)據(jù)交換以及通過服務(wù)數(shù)據(jù)對象(SDO)對對象字典進(jìn)行訪問。后者主要用于在設(shè)備配置過程中傳輸參數(shù)以及傳輸大數(shù)據(jù)塊。進(jìn)程數(shù)據(jù)對象通常采用事件觸發(fā)、循環(huán)或請求方式發(fā)送,作為廣播對象,它的上層并沒有附加協(xié)議。
一個PDO最大可傳輸8字節(jié)數(shù)據(jù)。在連接一個同步報文的時候,整個網(wǎng)絡(luò)都可以采用同步方式對PDO進(jìn)行傳送和接收(Synchro-nous PDOs)。通過存儲在對象字典中的PDO映射(PDO Mapping)結(jié)構(gòu),可以對應(yīng)用對象到PDO對象的分配(Transmission Object)進(jìn)行調(diào)整,這可以保證設(shè)備可以對不同的應(yīng)用需求進(jìn)行調(diào)整。
通過傳輸SDO可以實(shí)現(xiàn)可靠的數(shù)據(jù)傳輸,由兩個CAN對象在兩個網(wǎng)絡(luò)節(jié)點(diǎn)間通過點(diǎn)對點(diǎn)的通信來實(shí)現(xiàn)這一過程。通過傳輸對象字典的索引以及子索引,可以定位相應(yīng)的對象字典入口。通過SDO傳送報文可以不受長度的限制,但傳送SDO報文需要額外的協(xié)議開銷。
標(biāo)準(zhǔn)化的事件觸發(fā)的高優(yōu)先級突發(fā)報文用于報告設(shè)備故障,可以通過中心時鐘報文來提供整個系統(tǒng)的系統(tǒng)時鐘。準(zhǔn)備和協(xié)調(diào)建立一個分布式的自動化系統(tǒng)所需的功能都適于CAL網(wǎng)絡(luò)管理(NMT)定義的機(jī)制,同樣可應(yīng)用于周期性的節(jié)點(diǎn)維護(hù)(node guarding)。
可以選擇通過"Heartbeat Message"來顯示CANopen總線協(xié)議的設(shè)備通信能力。PDO和SDO的CAN報文標(biāo)識符可以直接通過對象字典的數(shù)據(jù)結(jié)構(gòu)的入口標(biāo)志符進(jìn)行分配,或者,在簡單的系統(tǒng)中,也可用預(yù)定義的標(biāo)志符。