91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAN上層協(xié)議CANOpen協(xié)議的嵌入式簡化說明

454398 ? 來源:開源嵌入式 ? 作者:開源嵌入式 ? 2020-12-23 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CANopen是一種架構在控制局域網路(Controller Area Network, CAN)上的高層通訊協(xié)定,包括通訊子協(xié)定及設備子協(xié)定常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現場總線。CANopen 實現了OSI模型中的網絡層以上(包括網絡層)的協(xié)定。CANopen 標準包括尋址方案、數個小的通訊子協(xié)定及由設備子協(xié)定所定義的應用層。 CANopen 支援網絡管理、設備監(jiān)控及節(jié)點間的通訊,其中包括一個簡易的傳輸層,可處理資料的分段傳送及其組合。一般而言數據鏈結層及物理層會用CAN來實作。除了 CANopen 外,也有其他的通訊協(xié)定(如EtherCAT)實作 CANopen 的設備子協(xié)定。CANopen由非營利組織CiA(CAN in Automaion)進行標準的起草及審核工作,基本的 CANopen 設備及通訊子協(xié)定定義在 CAN in Automation (CiA) draft standard 301中。針對個別設備的子協(xié)定以 CiA 301 為基礎再進行擴充。如針對 I/O 模組的 CiA401 及針對運動控制的 CiA402。

本說明是CAN上層協(xié)議CANOpen協(xié)議的嵌入式簡化,較原始CANOpen版本簡單易用,且更適應嵌入式模塊通訊的需要,并且兼容CANOpen協(xié)議。

下面按照協(xié)議支持的功能分別進行說明:

NMT網絡管理服務

網絡管理狀態(tài)表:

終端主節(jié)點→從節(jié)點

COB-ID 0-字節(jié) 1-字節(jié)
0 命令說明符 節(jié)點ID
(16#000) (CS) (1)

說明:一般終端主節(jié)點是指上位機,如上位用于網絡管理和監(jiān)控的PC機,從節(jié)點是指被管理的各模塊。

如果節(jié)點ID是0表示命令會被廣播至所有從節(jié)點,從節(jié)點必須執(zhí)行相應的命令。

命令說明符功能見下表:

命令說明符(CS) 意義
1(16#01) 啟動節(jié)點進入可操作狀態(tài)
2(16#02) 停止遠程節(jié)點
128(16#80) 使節(jié)點進入預操作狀態(tài)
129(16#81) 復位節(jié)點
130(16#82) 復位通訊

例:啟動節(jié)點1進入可操作狀態(tài),

16#000 16#80 16#04

網絡管理狀態(tài)表:

pIYBAF9uHI6AbqjaAADqjgTk-uc569.png

狀態(tài)轉換 說明
(1) 通電后自動初始化
(2) 完成初始化自動進入預操作狀態(tài)
(3),(6) 啟動遠程節(jié)點
(4),(7) 進入預操作狀態(tài)
(5)(8) 停止遠程節(jié)點
(9),(10),(11) 復位節(jié)點
(12),(13),(14) 復位通訊

根據節(jié)點的狀態(tài)提供以下服務:

初始化 預操作 可操作 停機
PDO
SDO
啟動引導
網絡管理
錯誤控制

過程數據對象(PDO)服務

過程數據對象用于在節(jié)點之間傳送過程數據,如I/O模塊I/O狀態(tài)讀取和設定,模擬量采集和模擬量輸出等等,本協(xié)議考慮從機硬件限制最多支持4組PDO,每組包含一個RPDO和一個TPDO,現已I/O模塊為例進行說明:

設I/O模塊有24輸入,24輸出,24輸入通過TPDO傳給監(jiān)控終端或其他節(jié)點,24輸出通過RPDO由控制節(jié)點對其進行設定,采用發(fā)送和接收PDO1組,即標識符TPDO:0x180+NODE_ID,RPDO:0x200+NODE_ID,用3個字節(jié)就可以表示24個I/O量,因此發(fā)送和接收PDO可以表示如下(假設NODE_ID=1):

COB-ID 0字節(jié) 1字節(jié) 2字節(jié)
385(0x181) Data:輸入I/O狀態(tài)量
Input_Digital_1 Input_Digital_2 Input_Digital_3
COB-ID 0字節(jié) 1字節(jié) 2字節(jié)
513(0x201) Data:輸出I/O狀態(tài)量
Output_Digital_1 Output_Digital_2 Output_Digital_3

如果是8通道的模擬量采集模塊則需要兩個TPDO來傳送采集的數據,不需要RPDO,因為每個通道產生一個16位數據,一共是16字節(jié),每個TPDO只能夠傳送8字節(jié)。兩個TPDO標識符分別為:0x180+NODE_ID,0x280+NODE_ID。

每幀數據格式如下表(設NODE_ID=2):

TPDO1

COB-ID 0-1字節(jié) 2-3字節(jié) 4-5字節(jié) 6-7字節(jié)
385(0x182) Data:輸入模擬量
Output_Anolog_1 Output_Anolog_2 Output_Anolog_3 Output_Anolog_4

TPDO2

COB-ID 0-1字節(jié) 2-3字節(jié) 4-5字節(jié) 6-7字節(jié)
385(0x182) Data:輸入模擬量
Output_Anolog_5 Output_Anolog_6 Output_Anolog_7 Output_Anolog_8

1. I/O節(jié)點←監(jiān)控終端(RPDO)

2. I/O節(jié)點→監(jiān)控終端(TPDO)

服務數據對象(SDO)服務

服務數據對象用于讀寫節(jié)點的對象字典,現 只實現SDO下載和上傳的全速模式,不支持正常模式也不支持塊下載和上傳,因為數據量不大,實現的功能足夠用,SDO全速下載和上傳采用應答式服務,由監(jiān)控終端向節(jié)點發(fā)送服務請求,由節(jié)點返回應答。

現假設某節(jié)點NODE_ID=3,協(xié)議報文如下:

讀節(jié)點OD

假設,讀SDO index = 0x1018 subindex = 0x00,返回的是1字節(jié)data=0x04

監(jiān)控終端→節(jié)點(終端請求)

COB-ID 0字節(jié) 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié)
1539(0x603) 命令 index subindex Reserved(保留)
0x40 0x18 0x10 0x00 0x00 0x00 0x00 0x00

監(jiān)控終端←節(jié)點(節(jié)點應答)

COB-ID 0字節(jié) 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié)
1411(0x583) 命令 index subindex 數據 湊夠8個字節(jié)
0x4F 0x18 0x10 0x00 0x04 0x00 0x00 0x00

寫節(jié)點OD

假設,寫SDO index=0x1017,subindex=0x00,寫數據為0x07D0

監(jiān)控終端→節(jié)點(終端請求)

COB-ID 0字節(jié) 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié)
1539(0x603) 命令 index subindex 要寫入的數據 湊8個字節(jié)
0x2B 0x17 0x10 0x00 0xD0 0x07 0x00 0x00

監(jiān)控終端←節(jié)點(節(jié)點應答)

COB-ID 0字節(jié) 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié)
1411(0x583) 命令 index subindex 湊夠8個字節(jié)
0x60 0x18 0x10 0x00 0x00 0x00 0x00 0x00

如果監(jiān)控終端發(fā)送的請求,節(jié)點處理出錯,將返回SDO中止報文,報文如下:

COB-ID 0字節(jié) 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié) 6字節(jié) 7字節(jié)
1411(0x583) 命令 index subindex 錯誤代碼
0x80 0x18 0x10 0x00 0-7位 8-15位 16-23位 24-31位

節(jié)點返回的錯誤代碼如下:

SDO_ABORT_UNSUPPORTED 0x06010000UL 不支持該功能

SDO_ABORT_NOT_EXISTS 0x06020000UL 不存在的索引

SDO_ABORT_READONLY 0x06010002UL 只讀,不可寫

SDO_ABORT_TYPEMISMATCH 0x06070010UL 類型不匹配

SDO_ABORT_UNKNOWN_COMMAND 0x05040001UL 未知命令

SDO_ABORT_UNKNOWNSUB 0x06090011UL 未知子索引

注:命令字節(jié)含義請參考CANOpen協(xié)議文件DS301。

錯誤控制——心跳(或者叫脈動)協(xié)議(heatbeat)

錯誤控制用于了解總線上各節(jié)點的狀態(tài),本文只實現心跳協(xié)議,由各節(jié)點向監(jiān)控終端定期發(fā)送心跳報文,報告本節(jié)點的狀態(tài),報文如下:

設節(jié)點NODE_ID=2

節(jié)點→監(jiān)控終端

COB-ID 0字節(jié)
1794(0x702) 節(jié)點狀態(tài)
0x00

返回狀態(tài)如下:

狀態(tài)代碼 狀態(tài)含義
0x00 BOOTUP啟動狀態(tài)
0x04 STOPPED停止
0x05 OPERATIONAL可操作
0x7F PRE-OPERATIONAL預操作

節(jié)點在啟動之后發(fā)出BOOTUP心跳,然后按固定頻率發(fā)出脈動消息幀,監(jiān)控終端接收該報文用以檢測該節(jié)點狀態(tài)。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    59

    文章

    3067

    瀏覽量

    472741
  • CANopen
    +關注

    關注

    8

    文章

    492

    瀏覽量

    49017
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    協(xié)議轉換“黑科技”:耐達訊自動化CANopen轉Profibus 網關破解電機控制通信難題

    。 一、協(xié)議解析:CANopen 與 Profibus 的核心特性 ?CANopen:基于 CAN 總線,采用分布控制架構,適用于中小型設
    的頭像 發(fā)表于 01-12 14:05 ?371次閱讀
    <b class='flag-5'>協(xié)議</b>轉換“黑科技”:耐達訊自動化<b class='flag-5'>CANopen</b>轉Profibus 網關破解電機控制通信難題

    CANopen轉Profinet是一種構建于控制局域網設備之上的協(xié)議網關

    CANopen作為構建于控制局域網(Controller Area Network, CAN)之上的高層通信協(xié)議,其體系架構包含通信子協(xié)議與設備子協(xié)
    的頭像 發(fā)表于 11-05 14:05 ?476次閱讀
    <b class='flag-5'>CANopen</b>轉Profinet是一種構建于控制局域網設備之上的<b class='flag-5'>協(xié)議</b>網關

    嵌入式需要掌握哪些核心技能?

    /網絡設備)、中斷底半部處理,適用于高端嵌入式設備。 企業(yè)需求:RTOS是60%崗位的核心要求,Linux開發(fā)需求隨項目復雜度增長。 4)通信協(xié)議與接口 基礎協(xié)議:UART、SPI、I2C、
    發(fā)表于 10-21 16:25

    CANopen轉Profient網關協(xié)議介紹

    CANopen介紹: CANopen是一種基于控制器局域網(CAN)的高層工業(yè)通信協(xié)議,由國際用戶和制造商協(xié)會CiA于1995年發(fā)布,基礎規(guī)范為CiA 301標準。該
    的頭像 發(fā)表于 09-25 17:31 ?779次閱讀
    <b class='flag-5'>CANopen</b>轉Profient網關<b class='flag-5'>協(xié)議</b>介紹

    入行嵌入式應該怎么準備?

    、CAN和Ethernet等)以及它們的工作原理和使用方法是必不可少的。此外,對于無線通信協(xié)議(如Bluetooth、Wi-Fi和LoRa等)的了解也是有益的。 五、調試和故障排除能力嵌入式系統(tǒng)開發(fā)中經
    發(fā)表于 08-06 10:34

    CANopen轉EtherCAT協(xié)議轉換案例解析

    在工業(yè)自動化領域,運動控制器與傳感器之間的協(xié)議兼容性是系統(tǒng)集成中的關鍵挑戰(zhàn)。某智能裝備制造企業(yè)采用EtherCAT協(xié)議的運動控制器作為主站,需驅動基于CANopen協(xié)議的分布
    的頭像 發(fā)表于 06-17 19:22 ?533次閱讀
    <b class='flag-5'>CANopen</b>轉EtherCAT<b class='flag-5'>協(xié)議</b>轉換案例解析

    NVMe協(xié)議研究掃盲

    協(xié)議棧的執(zhí)行流程密切相關。NVMe Host端的命令需要經過文件系統(tǒng)層、塊設備層、驅動層等多個層次的處理,同時NVMe協(xié)議棧中的隊列設計、亂序執(zhí)行、完成信息檢查等流程也十分復雜,加之嵌入式處理器主頻較低
    發(fā)表于 06-02 23:28

    ElfBoard嵌入式教育科普|CAN接口全面解析

    CAN的全稱是Controller Area Network,譯為控制器區(qū)域網絡,是一種用于車輛、電力系統(tǒng)、工業(yè)設備等嵌入式系統(tǒng)的半雙工異步串行通信協(xié)議和物理接口。
    的頭像 發(fā)表于 05-28 16:30 ?2309次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b>教育科普|<b class='flag-5'>CAN</b>接口全面解析

    協(xié)議大和解:ETHERCAT轉CANopen網關配置

    最近有同學后臺咨詢疆鴻智能EtherCAT轉CANopen協(xié)議轉換網關如何配置,小編今天給大家詳細分享下配置的步驟。 一,設備主要功能 JH-ECT009 型網關是EtherCAT網絡
    的頭像 發(fā)表于 05-21 14:55 ?722次閱讀
    <b class='flag-5'>協(xié)議</b>大和解:ETHERCAT轉<b class='flag-5'>CANopen</b>網關配置

    面向高溫工業(yè)場景的EtherCAT/CANopen協(xié)議轉換系統(tǒng)設計與應用

    在金屬冶煉行業(yè),高效穩(wěn)定的通信系統(tǒng)是保障生產流程順暢、提升生產效率的關鍵。從礦石預處理、高溫熔煉,到精煉成型,各個環(huán)節(jié)的設備緊密協(xié)作,而JH-ECT009疆鴻智能EtherCAT轉CANopen協(xié)議
    的頭像 發(fā)表于 05-21 14:41 ?391次閱讀
    面向高溫工業(yè)場景的EtherCAT/<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>轉換系統(tǒng)設計與應用

    EtherCAT轉CANopen協(xié)議網關應用詳解

    成為運動控制領域的“明星”,而CANopen則憑借靈活性和成本優(yōu)勢在中小型設備中廣泛應用。當兩者相遇時,如何打破協(xié)議阻礙,實現無縫互聯(lián)? EtherCAT轉CANopen網關通過智能協(xié)議
    的頭像 發(fā)表于 05-19 14:19 ?620次閱讀
    EtherCAT轉<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>網關應用詳解

    CanOpen轉Profinet協(xié)議轉換:解鎖型鋼成型機高效控制新維度

    CANopen轉Profinet轉換網關在型鋼成型機的自動控制中起著至關重要的作用。我們需要理解一下什么是CANopen和Profinet。CANopen是一種基于CAN總線的通信
    的頭像 發(fā)表于 05-12 11:07 ?499次閱讀
    <b class='flag-5'>CanOpen</b>轉Profinet<b class='flag-5'>協(xié)議</b>轉換:解鎖型鋼成型機高效控制新維度

    使用ES32實現CANopen從機

    CANopen是一種基于CAN的通信協(xié)議,已在工業(yè)領域得到了廣泛應用。CAN提供可靠的底層數據傳輸,CANopen提供標準化的應用層
    的頭像 發(fā)表于 03-26 19:05 ?2127次閱讀
    使用ES32實現<b class='flag-5'>CANopen</b>從機

    CANOPEN協(xié)議詳細介紹

    ???????? CANOPEN協(xié)議是基于CAN總線協(xié)議建立的應用層協(xié)議。 CANOPEN
    發(fā)表于 03-26 15:27 ?0次下載

    CAN通信協(xié)議——中文版

    資料介紹: 本資料是面向 CAN 總線初學者的 CAN 入門書。對 CAN 是什么、CAN 的特征、標準規(guī)格下的位置分布等、 CAN 的概要
    發(fā)表于 03-22 15:27