在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

NMT網(wǎng)絡(luò)管理服務(wù)

網(wǎng)絡(luò)管理狀態(tài)表:

終端主節(jié)點(diǎn)→從節(jié)點(diǎn)

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

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

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

命令說明符功能見下表:

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

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

16#000 16#80 16#04

網(wǎng)絡(luò)管理狀態(tài)表:

pIYBAF9uHI6AbqjaAADqjgTk-uc569.png

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

根據(jù)節(jié)點(diǎn)的狀態(tài)提供以下服務(wù):

初始化 預(yù)操作 可操作 停機(jī)
PDO
SDO
啟動引導(dǎo)
網(wǎng)絡(luò)管理
錯誤控制

過程數(shù)據(jù)對象(PDO)服務(wù)

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

設(shè)I/O模塊有24輸入,24輸出,24輸入通過TPDO傳給監(jiān)控終端或其他節(jié)點(diǎn),24輸出通過RPDO由控制節(jié)點(diǎn)對其進(jìn)行設(shè)定,采用發(fā)送和接收PDO1組,即標(biāo)識符TPDO:0x180+NODE_ID,RPDO:0x200+NODE_ID,用3個字節(jié)就可以表示24個I/O量,因此發(fā)送和接收PDO可以表示如下(假設(shè)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來傳送采集的數(shù)據(jù),不需要RPDO,因?yàn)槊總€通道產(chǎn)生一個16位數(shù)據(jù),一共是16字節(jié),每個TPDO只能夠傳送8字節(jié)。兩個TPDO標(biāo)識符分別為:0x180+NODE_ID,0x280+NODE_ID。

每幀數(shù)據(jù)格式如下表(設(shè)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é)點(diǎn)←監(jiān)控終端(RPDO)

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

服務(wù)數(shù)據(jù)對象(SDO)服務(wù)

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

現(xiàn)假設(shè)某節(jié)點(diǎn)NODE_ID=3,協(xié)議報文如下:

讀節(jié)點(diǎn)OD

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

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

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é)點(diǎn)(節(jié)點(diǎn)應(yīng)答)

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

寫節(jié)點(diǎn)OD

假設(shè),寫SDO index=0x1017,subindex=0x00,寫數(shù)據(jù)為0x07D0

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

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

監(jiān)控終端←節(jié)點(diǎn)(節(jié)點(diǎn)應(yīng)答)

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é)點(diǎn)處理出錯,將返回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é)點(diǎn)返回的錯誤代碼如下:

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é)點(diǎn)的狀態(tài),本文只實(shí)現(xiàn)心跳協(xié)議,由各節(jié)點(diǎn)向監(jiān)控終端定期發(fā)送心跳報文,報告本節(jié)點(diǎn)的狀態(tài),報文如下:

設(shè)節(jié)點(diǎn)NODE_ID=2

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

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

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

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

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

編輯:hfy

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

    關(guān)注

    57

    文章

    2917

    瀏覽量

    467532
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    390

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

    協(xié)議大和解:ETHERCAT轉(zhuǎn)CANopen網(wǎng)關(guān)配置

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

    EtherCAT轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)應(yīng)用詳解

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

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

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

    使用ES32實(shí)現(xiàn)CANopen從機(jī)

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

    CANOPEN協(xié)議詳細(xì)介紹

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

    iic協(xié)議嵌入式系統(tǒng)中的功能

    在現(xiàn)代電子設(shè)備中,嵌入式系統(tǒng)的設(shè)計(jì)越來越復(fù)雜,需要集成更多的功能和外設(shè)。I2C協(xié)議因其簡單性、靈活性和高效性,在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。 1. 簡介 I2C協(xié)議最初由Philip
    的頭像 發(fā)表于 02-05 11:40 ?584次閱讀

    2025必備知識,CANopen轉(zhuǎn)EtherCAT協(xié)議允許配備啥協(xié)議的電氣設(shè)備

    CANopen轉(zhuǎn)EtherCAT穩(wěn)聯(lián)技術(shù)(WL-COP-ECAT)協(xié)議允許配備 CANopen 的設(shè)備在基于 EtherCAT 的工業(yè)以太網(wǎng)網(wǎng)絡(luò)上使用。
    的頭像 發(fā)表于 12-29 09:50 ?470次閱讀
    2025必備知識,<b class='flag-5'>CANopen</b>轉(zhuǎn)EtherCAT<b class='flag-5'>協(xié)議</b>允許配備啥<b class='flag-5'>協(xié)議</b>的電氣設(shè)備

    ARM嵌入式通信協(xié)議及應(yīng)用

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)在各個領(lǐng)域扮演著越來越重要的角色。ARM處理器因其高性能、低功耗的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。通信協(xié)議作為嵌入式系統(tǒng)的重要組成部分,對于實(shí)現(xiàn)設(shè)備間
    的頭像 發(fā)表于 12-28 09:18 ?921次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN

    socket CAN概念socketcan子系統(tǒng)是在Linux下CAN協(xié)議(Controller Area Network)實(shí)現(xiàn)的一種實(shí)現(xiàn)方法。 CAN是一種在世界范圍內(nèi)廣泛用于自動控
    發(fā)表于 11-15 09:25

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

    socket CAN概念socketcan子系統(tǒng)是在Linux下CAN協(xié)議(Controller Area Network)實(shí)現(xiàn)的一種實(shí)現(xiàn)方法。 CAN是一種在世界范圍內(nèi)廣泛用于自動控
    發(fā)表于 11-14 08:51

    CANopen協(xié)議架構(gòu)和應(yīng)用原理

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

    EtherNet/IP轉(zhuǎn)CANopen主站協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

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

    適用于標(biāo)準(zhǔn)化嵌入式網(wǎng)絡(luò),CANopen有什么不同?

    CANopen定義了應(yīng)用層的通信規(guī)則,因此特別適用于需要標(biāo)準(zhǔn)化設(shè)備配置和網(wǎng)絡(luò)管理的嵌入式網(wǎng)絡(luò)。 ? CANopen協(xié)議簡介 1994年發(fā)布的國際標(biāo)準(zhǔn)ISO 11898-2定義了
    的頭像 發(fā)表于 08-22 01:19 ?4078次閱讀
    主站蜘蛛池模板: 中文字幕一区二区三区免费看 | 国产精品99r8在线观看 | 美日韩一级 | 九九精品国产 | 欧美黄色免费大片 | 91p0rn永久备用地址二 | 午夜视频你懂的 | 国产综合色精品一区二区三区 | 天堂最新版免费观看 | 中文字幕在线播放第一页 | 久碰香蕉精品视频在线观看 | 国内精品久久影视免费 | 日本乱妇 | 午夜性爽快 | 久久精品30| 在线看黄色的网站 | 日本a级免费 | 天天射网站 | julia一区二区三区中文字幕 | 午夜免费看视频 | 中文字幕在线观看一区 | 狠狠色噜噜狠狠狠狠97影音先锋 | 色香蕉在线观看网站 | 欧美日本一区二区三区道 | 性色影院 | 在线视频综合网 | 亚洲男人a天堂在线2184 | 国模私拍视频在线 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 免费看欧美理论片在线 | 97se狠狠狠狠狼亚洲综合网 | 你懂的 在线观看 | 国产精品热久久毛片 | 一级视频在线 | 一级特黄aa大片免费 | 簧片视频在线观看 | 狠狠干狠狠操 | 日本不卡一区二区三区视频 | 欧美黄色片 一级片 | 国产精品不卡片视频免费观看 | 天天碰天天操 |