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

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

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

CANOpen系列教程07 _CANOpen協(xié)議概述

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 16:33 ? 次閱讀

1寫在前面

上一章節(jié)提供的例程是標(biāo)準(zhǔn)、數(shù)據(jù)幀格式的傳輸例程,結(jié)合前面理論知識(shí),相信你根據(jù)參考例程可以實(shí)現(xiàn)遠(yuǎn)程幀及其他類型的數(shù)據(jù)傳輸。

前面教程講述內(nèi)容為CAN總線協(xié)議,屬于底層硬件相關(guān)的一些內(nèi)容。從本文開始,將正式講述CANOpen協(xié)議。

CANOpen協(xié)議是基于CAN總線的上一層軟件協(xié)議。該教程前面內(nèi)容是建立底層通信,只有在底層通信成功基礎(chǔ)上,才能實(shí)現(xiàn)上一層的通信協(xié)議。

提示:CANOpen協(xié)議內(nèi)容很多,有許多內(nèi)容都是一些抽象的概念。所以,有一些內(nèi)容相對(duì)較難理解,隨著慢慢深入即可消除那些疑慮。

2

CANopen協(xié)議總述

CANopen 是一個(gè)基于 CAN 串行總線的網(wǎng)絡(luò)傳輸系統(tǒng)的應(yīng)用層協(xié)議,遵循 ISO/OSI 標(biāo)準(zhǔn)模型。

網(wǎng)絡(luò)中不同的設(shè)備通過對(duì)象字典或者對(duì)象來相互交換數(shù)據(jù),其中,主節(jié)點(diǎn)可以通過過程數(shù)據(jù)對(duì)象 (PDO) 或者服務(wù)數(shù)據(jù)對(duì)象 (SDO) 來獲取或者修改其它節(jié)點(diǎn)對(duì)象字典列表中的數(shù)據(jù)。

CANOpen協(xié)議主要內(nèi)容分為三大塊,如下圖CANopen 的設(shè)備模型。

CANOpen協(xié)議從大方向的劃分,就如上圖所示三大塊。但是,這三大塊里面的內(nèi)容就牽涉到許多......

初學(xué)者可以以上圖模型為中心,再結(jié)合實(shí)際例程理解CANOpen協(xié)議的各種抽象概念。

下面章節(jié)將進(jìn)一步講述模型中三大塊內(nèi)容的一些概念,初學(xué)者能理解盡量理解,不能理解可以先做了解即可。

3

通信對(duì)象

CANopen協(xié)議中常用的通信對(duì)象包含如下幾點(diǎn):

1) 網(wǎng)絡(luò)管理對(duì)象(NMT)

網(wǎng)絡(luò)管理對(duì)象包括 Boot-up 消息, Heartbeat 協(xié)議及 NMT 消息,基于主從通信模式, NMT 用于管理和監(jiān)控網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn),主要實(shí)現(xiàn)三種功能:節(jié)點(diǎn)狀態(tài)控制、錯(cuò)誤控制和節(jié)點(diǎn)啟動(dòng)。

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

包括接收 SDO(R-SDO) 和發(fā)送 SDO(T-SDO)。

通過使用索引和子索引, SDO 使客戶機(jī)能夠訪問設(shè)備對(duì)象字典中的項(xiàng)。

SDO 通過 CAL 中多元域的 CMS 對(duì)象來實(shí)現(xiàn),允許傳送任何長度的數(shù)據(jù),當(dāng)數(shù)據(jù)超過 4 個(gè)字節(jié)時(shí)分拆成幾個(gè)報(bào)文。

協(xié)議是確認(rèn)服務(wù)類型,為每個(gè)消息生成一個(gè)應(yīng)答。 SDO 請(qǐng)求和應(yīng)答報(bào)文總是包含 8 個(gè)字節(jié)。

3) 過程數(shù)據(jù)對(duì)象(PDO)

包括接收 PDO(RPDO) 和發(fā)送 PDO(TPDO)。

用來傳輸實(shí)時(shí)數(shù)據(jù),數(shù)據(jù)從一個(gè)創(chuàng)建者傳到一個(gè)或多個(gè)接收者。數(shù)據(jù)傳送限制在 1 到 8 個(gè)字節(jié)。

每個(gè) CANopen 設(shè)備包含 8 個(gè)缺省的 PDO 通道, 4 個(gè)發(fā)送 PDO 通道和 4 個(gè)接收 PDO 通道。

PDO 包含同步和異步兩種傳輸方式,由該 PDO 對(duì)應(yīng)的通信參數(shù)決定。

PDO 消息的內(nèi)容是預(yù)定義的,由該 PDO 對(duì)應(yīng)的映射參數(shù)決定。

4) 同步對(duì)象 (SYNC)

同步對(duì)象是由 CANopen 主站周期性地廣播到 CAN 總線的報(bào)文,用來實(shí)現(xiàn)基本的網(wǎng)絡(luò)時(shí)鐘信號(hào),每個(gè)設(shè)備可以根據(jù)自己的配置,決定是否使用該事件來跟其它網(wǎng)絡(luò)設(shè)備進(jìn)行同步通信。

5) 緊急報(bào)文 (EMCY)

設(shè)備內(nèi)部通信故障或者應(yīng)用故障錯(cuò)誤時(shí)發(fā)送的報(bào)文。

4

對(duì)象字典

對(duì)象字典是設(shè)備規(guī)范中最重要的部分。它是一組參數(shù)和變量的有序集合,包含了設(shè)備描述及設(shè)備網(wǎng)絡(luò)狀態(tài)的所有參數(shù)。

通過網(wǎng)絡(luò)可以采用有序的預(yù)定義的方式來訪問的一組對(duì)象。這里就牽涉到定義對(duì)象字典的生成問題,后面我會(huì)講述關(guān)于對(duì)象字典生成工具相關(guān)內(nèi)容。

CANopen 協(xié)議采用了帶有 16 位索引和 8 位子索引的對(duì)象字典。你可以理解為一本漢語字典,我們需要查找里面的某個(gè)漢子(可以理解定義的某個(gè)數(shù)據(jù)),我們就會(huì)從拼音或筆畫(索引)進(jìn)去找到對(duì)應(yīng)位置。

CANOpen 協(xié)議對(duì)象字典主索引如下圖,這只是一個(gè)主要的索引。其實(shí)還能細(xì)分下去,這里不過多講述,后續(xù)會(huì)進(jìn)一步講述。

5

應(yīng)用

應(yīng)用這一塊的內(nèi)容包含應(yīng)用程序、設(shè)備子協(xié)議實(shí)現(xiàn)。可以從CANopen 的設(shè)備模型明白,對(duì)外就是IO接口,也就是供我們調(diào)用的接口。

應(yīng)用這一塊包含CANOpen協(xié)議上層的內(nèi)容,可以簡單理解封裝的一些供用戶讀寫操作的函數(shù)。

應(yīng)用這一塊內(nèi)容在后面結(jié)合實(shí)例分析會(huì)牽涉,初學(xué)者可以簡單了解有這么一塊,且知道這一塊在CANOpen協(xié)議中大致的作用即可。

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

    關(guān)注

    57

    文章

    2754

    瀏覽量

    463697
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    253

    瀏覽量

    43588
  • NMT
    NMT
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    3636
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    MODBUS TCP 轉(zhuǎn) CANOpen

    產(chǎn)品概述 SG-TCP-COE-210 網(wǎng)關(guān)可以實(shí)現(xiàn)將 CANOpen 接口設(shè)備連接到 MODBUS TCP 網(wǎng)絡(luò)中。用戶不需要了解具體的 CANOpen 和 Modbus TCP 協(xié)議
    的頭像 發(fā)表于 09-24 13:59 ?275次閱讀
    MODBUS TCP 轉(zhuǎn) <b class='flag-5'>CANOpen</b>

    DeviceNet轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)(DeviceNet轉(zhuǎn)CANopen

    一,設(shè)備主要功能 捷米特JM-DNT-COP網(wǎng)關(guān)實(shí)現(xiàn)DeviceNet總線和CANopen網(wǎng)絡(luò)連接起來。本網(wǎng)關(guān)連接到DeviceNet總線中作為從站使用,連接到CANopen總線中作為主站
    的頭像 發(fā)表于 09-10 10:16 ?308次閱讀
    DeviceNet轉(zhuǎn)<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(DeviceNet轉(zhuǎn)<b class='flag-5'>CANopen</b>)

    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 ?231次閱讀
    EtherNet/IP轉(zhuǎn)<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)

    EtherCAT從站轉(zhuǎn)CANopen主站協(xié)議網(wǎng)關(guān)(JM-ECT-COP)

    到EtherCAT網(wǎng)絡(luò)。 應(yīng)用廣泛:應(yīng)用于支持CANopen接口的變頻器、步進(jìn)電機(jī)、伺服驅(qū)動(dòng)器、儀表、PLC、DCS、FCS等等。在機(jī)器人的生產(chǎn)和應(yīng)用中,多個(gè)部件和子系統(tǒng)可能使用不同的通信協(xié)議。例如,機(jī)器人關(guān)節(jié)
    的頭像 發(fā)表于 08-15 17:36 ?435次閱讀
    EtherCAT從站轉(zhuǎn)<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-ECT-COP)

    Profinet轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)化網(wǎng)關(guān)

    連接到Profinet總線中做為從站使用,連接到CANopen總線中做為主站使用。 二,YC-PN-COP拓?fù)鋱D Profinet轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)化網(wǎng)關(guān) 三,技
    的頭像 發(fā)表于 07-22 14:34 ?357次閱讀
    Profinet轉(zhuǎn)<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)化網(wǎng)關(guān)

    EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)在工業(yè)領(lǐng)域的應(yīng)用方法

    在工業(yè)領(lǐng)域中,EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)是一種重要的通訊設(shè)備,它能夠?qū)崿F(xiàn)EtherCAT協(xié)議CANopen協(xié)議之間的轉(zhuǎn)換,從而讓不同的設(shè)備之間能夠進(jìn)行通訊。 以下是Ethe
    發(fā)表于 01-31 14:54

    在自動(dòng)化碼頭中CANopen與Ethercat協(xié)議的應(yīng)用

    在自動(dòng)化碼頭中,協(xié)議轉(zhuǎn)換是一個(gè)關(guān)鍵環(huán)節(jié),它能夠?qū)崿F(xiàn)不同設(shè)備之間的數(shù)據(jù)交互和協(xié)同工作。其中,將CANopen協(xié)議轉(zhuǎn)換為EtherCAT協(xié)議的應(yīng)用尤為常見。我們來了解一下
    的頭像 發(fā)表于 01-19 15:03 ?924次閱讀
    在自動(dòng)化碼頭中<b class='flag-5'>CANopen</b>與Ethercat<b class='flag-5'>協(xié)議</b>的應(yīng)用

    在自動(dòng)化碼頭中CANopen與Ethercat協(xié)議的應(yīng)用

    在自動(dòng)化碼頭中,協(xié)議轉(zhuǎn)換是一個(gè)關(guān)鍵環(huán)節(jié),它能夠?qū)崿F(xiàn)不同設(shè)備之間的數(shù)據(jù)交互和協(xié)同工作。其中,將CANopen協(xié)議轉(zhuǎn)換為EtherCAT協(xié)議的應(yīng)用尤為常見。我們來了解一下
    的頭像 發(fā)表于 01-19 14:57 ?387次閱讀

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服
    的頭像 發(fā)表于 01-10 10:50 ?726次閱讀
    Profinet<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換為<b class='flag-5'>CanOpen</b><b class='flag-5'>協(xié)議</b>來連接<b class='flag-5'>CanOpen</b>伺服驅(qū)動(dòng)器的應(yīng)用

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服
    發(fā)表于 01-10 10:29

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服
    的頭像 發(fā)表于 01-10 10:27 ?425次閱讀

    智能樓宇系統(tǒng)canopen協(xié)議與ModbusTCP協(xié)議進(jìn)行通訊

    通過CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備進(jìn)行轉(zhuǎn)換:可以使用一個(gè)CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備,將CANopen協(xié)議轉(zhuǎn)換為Modbus TCP
    的頭像 發(fā)表于 01-03 15:20 ?489次閱讀
    智能樓宇系統(tǒng)<b class='flag-5'>canopen</b><b class='flag-5'>協(xié)議</b>與ModbusTCP<b class='flag-5'>協(xié)議</b>進(jìn)行通訊

    智能樓宇系統(tǒng)canopen協(xié)議與ModbusTCP協(xié)議進(jìn)行通訊

    通過耐特森CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備進(jìn)行轉(zhuǎn)換:可以使用一個(gè)CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備,將CANopen協(xié)議轉(zhuǎn)換為Modbus TCP
    的頭像 發(fā)表于 01-03 15:17 ?513次閱讀

    通過CANopen轉(zhuǎn)Modbus TCP網(wǎng)關(guān)的伺服系統(tǒng)

    通過CANopen轉(zhuǎn)Modbus TCP網(wǎng)關(guān)的伺服系統(tǒng),我們能夠?qū)崿F(xiàn)CANopen協(xié)議與Modbus TCP協(xié)議之間的無縫轉(zhuǎn)換,從而為伺服電機(jī)的通訊和控制帶來更大的便利和靈活性。 首先
    發(fā)表于 01-02 16:51