色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

CAN上層協議CANOpen協議的嵌入式簡化說明

454398 ? 來源:開源嵌入式 ? 作者:開源嵌入式 ? 2020-12-23 10:11 ? 次閱讀

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

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

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

NMT網絡管理服務

網絡管理狀態表:

終端主節點→從節點

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

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

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

命令說明符功能見下表:

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

例:啟動節點1進入可操作狀態,

16#000 16#80 16#04

網絡管理狀態表:

pIYBAF9uHI6AbqjaAADqjgTk-uc569.png

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

根據節點的狀態提供以下服務:

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

過程數據對象(PDO)服務

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

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

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

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

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

TPDO1

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

TPDO2

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

1. I/O節點←監控終端(RPDO)

2. I/O節點→監控終端(TPDO)

服務數據對象(SDO)服務

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

現假設某節點NODE_ID=3,協議報文如下:

讀節點OD

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

監控終端→節點(終端請求)

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

監控終端←節點(節點應答)

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

寫節點OD

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

監控終端→節點(終端請求)

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

監控終端←節點(節點應答)

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

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

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

節點返回的錯誤代碼如下:

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 未知子索引

注:命令字節含義請參考CANOpen協議文件DS301。

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

錯誤控制用于了解總線上各節點的狀態,本文只實現心跳協議,由各節點向監控終端定期發送心跳報文,報告本節點的狀態,報文如下:

設節點NODE_ID=2

節點→監控終端

COB-ID 0字節
1794(0x702) 節點狀態
0x00

返回狀態如下:

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

節點在啟動之后發出BOOTUP心跳,然后按固定頻率發出脈動消息幀,監控終端接收該報文用以檢測該節點狀態。

編輯:hfy

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

    關注

    57

    文章

    2757

    瀏覽量

    463939
  • CANopen
    +關注

    關注

    8

    文章

    267

    瀏覽量

    43617
收藏 人收藏

    評論

    相關推薦

    2025必備知識,CANopen轉EtherCAT協議允許配備啥協議的電氣設備

    CANopen轉EtherCAT穩聯技術(WL-COP-ECAT)協議允許配備 CANopen 的設備在基于 EtherCAT 的工業以太網網絡上使用。
    的頭像 發表于 12-29 09:50 ?121次閱讀
    2025必備知識,<b class='flag-5'>CANopen</b>轉EtherCAT<b class='flag-5'>協議</b>允許配備啥<b class='flag-5'>協議</b>的電氣設備

    ARM嵌入式通信協議及應用

    隨著科技的飛速發展,嵌入式系統在各個領域扮演著越來越重要的角色。ARM處理器因其高性能、低功耗的特點,在嵌入式系統中得到了廣泛應用。通信協議作為嵌入式系統的重要組成部分,對于實現設備間
    的頭像 發表于 12-28 09:18 ?256次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN

    socket CAN概念socketcan子系統是在Linux下CAN協議(Controller Area Network)實現的一種實現方法。 CAN是一種在世界范圍內廣泛用于自動控
    發表于 11-15 09:25

    飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN

    socket CAN概念socketcan子系統是在Linux下CAN協議(Controller Area Network)實現的一種實現方法。 CAN是一種在世界范圍內廣泛用于自動控
    發表于 11-14 08:51

    CANopen協議架構和應用原理

    穩健的通信協議和接口在工業電機控制應用中發揮著重要作用。在工業驅動應用中,當需要多個處理器元件來持續通信以完成復雜任務時,CANopen因其易于集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控制應用的角度深入探討
    的頭像 發表于 11-04 13:49 ?404次閱讀

    EtherNet/IP轉CANopen主站協議轉換網關

    廣泛應用于支持串口的變頻器、機械手臂、儀表、電機等等。在汽車組裝生產線上,EtherNet/IP協議的工業機器人與CANopen協議的輸送裝置能夠通過網關實現高效協同。例如,機器人完成特定的組裝操作后
    的頭像 發表于 09-02 11:21 ?243次閱讀
    EtherNet/IP轉<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協議</b>轉換網關

    適用于標準化嵌入式網絡,CANopen有什么不同?

    CANopen定義了應用層的通信規則,因此特別適用于需要標準化設備配置和網絡管理的嵌入式網絡。 ? CANopen協議簡介 1994年發布的國際標準ISO 11898-2定義了
    的頭像 發表于 08-22 01:19 ?3272次閱讀

    嵌入式系統怎么學?

    操作系統的基本概念和原理,掌握常見的RTOS,如FreeRTOS、uC/OS等,以實現對嵌入式系統的任務調度和資源管理。 6、通信協議:學習常用的通信協議,如UART、SPI、I2C、CAN
    發表于 07-02 10:10

    什么是CAN總線協議?它有哪些特性和應用?

    CAN總線協議(Controller Area Network,簡稱CAN),是一種在汽車和工業自動化領域廣泛應用的串行通信協議。自1986年由德國博世公司提出以來,
    的頭像 發表于 05-27 16:32 ?1391次閱讀

    IOT(物聯網)的七大通信協議之Http協議

    泛的協議嵌入式HTTP協議則是其簡化版,能夠在資源受限的環境中高效運行。二、http的特點嵌入式HTTP
    的頭像 發表于 05-24 08:11 ?2579次閱讀
    IOT(物聯網)的七大通信<b class='flag-5'>協議</b>之Http<b class='flag-5'>協議</b>

    什么是CAN2.0協議

    控制以及其他分布控制系統中的現場總線標準之一。CAN協議在設計時注重實時性能、錯誤檢測與恢復機制以及網絡節點間的高效通信。在CAN2.0規范中,主要有2種報文格式
    的頭像 發表于 03-29 08:19 ?1367次閱讀
    什么是<b class='flag-5'>CAN</b>2.0<b class='flag-5'>協議</b>?

    CAN和CANFD協議簡介(下)

    CAN和CANFD協議簡介(下)
    的頭像 發表于 02-19 12:08 ?1176次閱讀
    <b class='flag-5'>CAN</b>和CANFD<b class='flag-5'>協議</b>簡介(下)

    在自動化碼頭中CANopen與Ethercat協議的應用

    這兩種協議CANopen是一種基于CAN總線的通訊協議,被廣泛應用于工業自動化領域,尤其是在運動控制和傳感器通信方面。而EtherCAT是一種實時以太網通訊
    的頭像 發表于 01-19 15:03 ?934次閱讀
    在自動化碼頭中<b class='flag-5'>CANopen</b>與Ethercat<b class='flag-5'>協議</b>的應用

    在自動化碼頭中CANopen與Ethercat協議的應用

    這兩種協議CANopen是一種基于CAN總線的通訊協議,被廣泛應用于工業自動化領域,尤其是在運動控制和傳感器通信方面。而EtherCAT是一種實時以太網通訊
    的頭像 發表于 01-19 14:57 ?399次閱讀

    CANOPEN協議連接器7/8-3芯4芯5芯連接器

    CANOPEN協議作為CAN總線的一種應用層協議,更是被廣大工程師所熟知。為了方便工程師在實際項目中快速搭建CAN總線網絡,市面上出現了許多
    的頭像 發表于 01-17 11:30 ?854次閱讀
    <b class='flag-5'>CANOPEN</b><b class='flag-5'>協議</b>連接器7/8-3芯4芯5芯連接器
    主站蜘蛛池模板: 亚洲精品视频在线播放| 稚嫩挤奶h调教h| 日日夜夜国产| 日韩人妻无码精品-专区| 色婷婷综合久久久中文字幕| 四虎国产精品高清在线观看| 特黄AAAAAAA片免费视频| 五花大绑esebdsm国产| 亚洲娇小性色xxxx| 中国欧美日韩一区二区三区| 97视频在线观看视频最新| YELLOW在线观看高清视频免费| 俄罗斯粗大猛烈18P| 国产午夜精品久久理论片小说| 精品国产乱码久久久久久人妻| 看电影就来5566先锋av| 欧美大片免费观看| 手机看片一区二区| 亚洲熟伦熟女专区| 99爱在线观看| 国产成人免费观看| 精品麻豆一卡2卡三卡4卡乱码| 伦理片 qvod| 乳女教师欲乱动漫无修版动画 | 中文字幕视频在线观看| 啊…嗯啊好深男男小黄文| 国产精品97久久AV色婷婷| 精品国产福利一区二区在线| 免费国产网站| 我要色色网| 中国女人精69xxxxxx视频| 北条麻妃快播| 狠狠干2022| 强奷乱码中文字幕熟女免费 | 久久99精品国产麻豆婷婷| 欧美黄色一级| 亚洲AV综合色一区二区三区| 91嫩草国产在线观看免费| 国产高清-国产av| 麻豆精品一卡2卡三卡4卡免费观看| 日本人奶水中文影片|