中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CANopen協議介紹

發布時間:2020-06-13 13:14:27 來源:網絡 閱讀:7541 作者:爐yu 欄目:網絡管理

1.CANopen協議簡介

    從OSI 網絡模型的角度來看,CAN總線只定義了OSI網絡模型的第一層(物理層) 和第二層(數據鏈路層),而在實際設計中,這兩層完全由硬件實現,設計人員無需再為此開發相關軟件或固件。

    同時,CAN只定義物理層和數據鏈路層,沒有規定應用層,本身并不完整,因此需要一個高層協議來定義CAN報文中的11/29位標識符和8字節數據的使用。而且,基于CAN總線的工業自動化應用中,越來越需要一個開放的、標準化的高層協議:這個協議支持各種CAN廠商設備的互用性、互換性,能夠實現在CAN網絡中提供標準的、統一的系統通訊模式,提供設備功能描述方式,執行網絡管理功能。

    CANopen協議是CAN-in-Automation(CiA) 定義的標準之一,并且在發布后不久就獲得了廣泛的承認。尤其是在歐洲, CANopen 協議被認為是在基于CAN 的工業系統中占領導地位的標準。大多數重要的設備類型,例如數字和模擬的輸入輸出模塊、驅動設備、操作設備、控制器、可編程控制器或編碼器,都在稱為“設備描述”的協議中進行描述;“設備描述”定義了不同類型的標準設備及其相應的功能。依靠CANopen協議的支持,可以對不同廠商的設備通過總線進行配置。

    在OSI 模型中, CAN標準、CANopen協議之間的關系如圖 1-1所示。

                           CANopen協議介紹

圖1-1  CAN標準、CANopen協議在OSI網絡模型中的位置框圖

    CANopen和CAN報文的關系如圖 1-2所示。

                              CANopen協議介紹

圖1-2  CANopen和CAN報文的關系如所示。

    CAN 報文由7個不同的位域組成,而CANopen就是規定其中的仲裁域(11 位標識符) 和數據域(8 字節數據) 的使用情況。

2.CANopen設備結構

    CANopen是一個基于CAN串行總線系統和CAL(CAN應用層)的高層協議。 CANopen的核心概念是設備對象字典(OD: ObjectDictionary),CANopen通訊通過對象字典(OD)能夠訪問驅動器的所有參數。CANopen設備結構如圖 2-1所示。

                              CANopen協議介紹

圖2-1  CANopen設備結構

2.1  CANopen對象字典

    CANopen對象字典(Object Dictionary,OD)是CANopen協議最為核心的概念。所謂的“對象字典”,就是一個有序的對象組;每個對象采用一個16位的索引值來尋址。為了訪問數據結構中的元素,同時定義了一個8位的子索引,對象字典的結構如表 2-1所示。

表2-1  對象字典結構

                    CANopen協議介紹

    CANopen網絡中每個節點都有一個對象字典。對象字典包含了描述這個設備和它的網絡行為的所有參數。

    CANopen對象字典中的項由一系列子協議來描述。子協議描述對象字典中每個對象的功能、名字、索引、子索引、數據類型、讀/寫屬性,以及這個對象是否必需等,從而保證不同廠商的同類型設備兼容。

    CANopen協議的核心描述子協議是DS301,包括CANopen協議應用層及通信結構描述,其他子協議都是對DS301協議描述文本的補充與擴展。

    CANopen協議包含許多子協議,其主要劃分為以下3類:

    1.  通信子協議

    通信子協議(Communication Profile)描述對象字典的主要形式,以及對象字典中的通信對象和參數。這個子協議適用于所有的CANopen設備,其索引值范圍為0x1000~0x1FFF。

    2.  制造商自定義子協議

    對于在設備子協議中未定義的特殊功能,制造商可以在制造商自定義子協議(Manufacturer-specific Profile)中根據需求定義對象字典項。因此,這個區域對不同廠商來說,相同的對象字典項的定義不一定相同,其索引值范圍為0x2000~0x5FFF。

    3.  設備子協議

    設備子協議(Device Profile)為各種不同類型設備定義對象字典中的對象,其索引值范圍為0x6000~0x9FFF。

2.2  CANopen通信

    在CANopen協議中主要定義網絡管理對象(NMT)、服務數據對象(SDO)、過程數據對象(PDO)、預定義報文或特殊功能對象4種對象。

2.2.1  網絡管理對象

    網絡管理對象負責層管理、網絡管理和ID分配服務,例如,初始化、配置和網絡管理。網絡管理中,同一個網絡中只允許有一個主節點、一個或多個從節點,并遵循主/從模式。

2.2.2  服務數據對象

    服務數據對象主要用于主節點對從節點的參數配置。服務確認是SDO最大的特點,為每個消息都生成一個應答,以確保數據傳輸的準確性。在一個CANopen系統中,通常CANopen從節點作為SDO服務器,CANopen主節點作為客戶端。客戶端通過索引和子索引能夠訪問數據服務器上的對象字典,所以CANopen主節點可以訪問從節點的任意對象字典項的參數,并且SDO可以傳輸任何長度的數據(當數據長度超過4字節時,拆分成多個報文來傳輸)。

2.2.3  過程數據對象

    過程數據對象用來傳輸實時數據,其傳輸模型為生產者-消費者模型,數據長度被限制為1~8字節。

    PDO通信對象具有如下特點:

    1.     PDO通信沒有協議規定,PDO數據內容由它的COB-ID定義。

    2.     每個PDO在對象字典中用2個對象描述,分別是PDO通信參數和映射參數。

        1)  PDO通信參數:定義該設備所使用的COB-ID、傳輸類型、定時周期。

        2)  PDO映射參數:包含一個對象字典中的對象列表,這些對象映射到相應的PDO,其中包括數據的長度。對于生產者和消費者,只有知道這個映射參數,才能夠正確地解釋PDO的內容。PDO內容是預定義的,如果PDO支持可變PDO映射,那么可以通過SDO進行配置。

    3.     PDO具有2種傳輸方式:同步傳輸和異步傳輸。

        1)  同步傳輸:通過接收同步對象實現同步,按觸發方式又可分為非周期傳輸和周期傳輸。非周期傳輸由遠程幀預觸發,或者由設備子協議中規定的對象特定事件預觸發。周期傳輸則通過接收同步對象來實現,可以設置1~240個同步對象觸發。

        2)  異步傳輸:由特定事件觸發。按觸發方式又可分為2種:一種通過發送與PDO的COB-ID相同的遠程幀來觸發;另一種由設備子協議中規定的對象特定事件來觸發(如定時傳輸、數據變化傳輸等)。

2.2.4    預定義報文或特殊功能對象

    預定義報文或特殊功能對象為CANopen設備提供特定的功能,以方便CANopen主站對從站的管理。在CANopen協議中,已經為特殊的功能預定義了COB-ID。主要有以下幾種特殊報文:

    1.  同步報文(Sync)

        主要實現整個網絡的同步傳輸,每個節點都以該同步報文作為PDO觸發參數,因此該同步報文的COB-ID具有比較高的優先級以及最短的傳輸時間。

    2.  時間標識報文(Time Stamp)

        為每個節點提供公共的時間參考。

    3.  緊急事件報文(Emergency)

        當設備內部發生錯誤時觸發該對象,即發送設備內部錯誤碼。

    4.  節點/壽命保護報文(Node/Life Guarding)

        主節點可通過節點保護方式獲取從節點的狀態,從節點可通過壽命保護方式獲取主節點的狀態。

    5.  啟動報文(Boot up)

        從節點初始化完成后向網絡中發送該對象,并進入預操作狀態。

2.3  CANopen預定義連接集

    為了減小簡單網絡的組態工作量,CANopen定義了強制性的缺省標識符(CAN-ID)分配表。這些標識符在預操作狀態下可用,通過動態分配可以修改它們。CANopen設備必須向它所支持的通訊對象提供相應的標識符。

    CAN-ID分配表是基于11位CAN-ID的標準幀格式,劃分為4位功能碼和7位節點號,如圖 2-2所示。

                              CANopen協議介紹

圖2-2  預定義連接集ID

    Node-ID由系統集成商定義,每個CANopen設備都需要分配一個節點號,節點號的范圍是1~127(0不允許被使用)。

    預定義連接集定義了4個接收PDO,4個發送PDO,1個SDO(占用2個CAN-ID),1個緊急對象和1個節點錯誤控制。支持無需確認的NMT模塊控制服務、同步和時間標識對象報文。缺省ID分配表如表 2-2所示。

表2-2 CANopen預定義主/從連接集CAN標識符分配表

                  CANopen協議介紹

    注意:

        1)  PDO/SDO 發送/接收是由(slave)CAN節點方觀察的。

        2)  NMT 錯誤控制包括節點保護(NodeGuarding),心跳報文(Heartbeat)和Boot-up協議。

3.參考資料

    《CANopen:high-level protocol for CAN-bus》

    《項目驅動—CAN-bus現場總線基礎教程》


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

化德县| 凤城市| 峨山| 遵化市| 灵宝市| 陆良县| 玉树县| 纳雍县| 朝阳市| 水富县| 祁东县| 浑源县| 贵定县| 饶河县| 图片| 宝兴县| 宁安市| 聂拉木县| 白水县| 高安市| 平泉县| 黎城县| 桑植县| 清水河县| 荆州市| 马尔康县| 滦平县| 平罗县| 定兴县| 无锡市| 阿拉善右旗| 正蓝旗| 湟中县| 盈江县| 兴宁市| 合肥市| 泽普县| 义乌市| 镇宁| 襄城县| 交口县|