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

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

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

CANOpen系列教程09 _CANOpen對象字典

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

1寫在前面

上一篇文章主要是引導(dǎo)大家學(xué)習(xí)CANOpen協(xié)議通信接口的相關(guān)內(nèi)容。通信接口的內(nèi)容有點(diǎn)多,對于初學(xué)者來說,如果看不懂,請多看幾遍(最好有個印象)。

CANopen設(shè)備最重要的一個部分就是對象字典。對象字典本質(zhì)上是一種被預(yù)先安排的對象序列,可通過網(wǎng)絡(luò)訪問。字典里面的每一對象均可使用一個16-bit主索引和8-bit子索引尋址到。

初學(xué)者學(xué)習(xí)如果難理解通信接口(上一篇)有些內(nèi)容,如:PDO、SDO及網(wǎng)絡(luò)管理對象,可以結(jié)合對象字典索引來學(xué)習(xí)和記憶。

2

對象字典重要內(nèi)容

對象字典OD:Object dictionary。

一組帶有 16 位索引和 8 位子索引的數(shù)據(jù)或?qū)ο蟆ο笞值湎旅嬷饕簲?shù)據(jù)類型、通信對象、應(yīng)用對象。

對象字典主索引:

2.1 通信子協(xié)議區(qū)

通信子協(xié)議區(qū),如上圖1000h 到 1FFFh這個區(qū)域。也就是通信接口(或通信對象)協(xié)議區(qū)。

對于初學(xué)者來說,通信對象子協(xié)議區(qū)是比較重要的一個區(qū)域,牽涉到上一篇文章《通信接口》講述的大部分內(nèi)容。同時,這之間的關(guān)系也非常緊密。

通訊對象子協(xié)議區(qū):

如上圖,通訊對象子協(xié)議區(qū)又劃分為幾個區(qū)域,而其中的1000h 到 1029h為通用通訊對象。

通用通訊對象里面的內(nèi)容已經(jīng)被約定好,如果我們需要用到,可直接配置使用即可。

通用通訊對象內(nèi)容:

通信子協(xié)議區(qū)的內(nèi)容非常重要,也比較多,需要拆分并一個一個掌握。可結(jié)合周立功提供相關(guān)教程,以及前面提到的CiA 301手冊理解。

我這里就不一一列出來了,簡單再列一個通信子協(xié)議區(qū)中PDO通信參數(shù)與映射參數(shù):

寫到這里,想必很多朋友都能理解,也能明白這些內(nèi)容。更多的內(nèi)容,可以結(jié)合這種拆分的思路去理解。

3

對象字典生成工具

上面介紹了對象字典的一些內(nèi)容,可能還是有很多初學(xué)者不明白。同時,也就可能會產(chǎn)生疑問:這個對象字典我們需要字典和我們代碼有什么關(guān)系呢?

可以簡單來說,就是一些16位索引和8位子索引對應(yīng)的變量數(shù)據(jù),來下看下代碼(下面兩圖),加深理解:

3.1 對象字典的代碼需要自己寫嗎?

很多初學(xué)者,包括我(之前初學(xué)時)也會產(chǎn)生疑問:對象字典的代碼需要我們自己寫嗎?

答案:不用自己寫。

當(dāng)然,對象字典的代碼可以自己寫,但完全沒必要。1.自己寫不一定正確;2.有現(xiàn)成工具可以節(jié)約大量時間。

3.2 Canfestival對象字典生成工具

我微信公眾號分享《CANOpen系列教程》的封面中有一行英文:Canfestival.相信學(xué)過CANOpen的朋友都應(yīng)該知道我接下來會結(jié)合這套Canfestival免費(fèi)開源的CANOpen架構(gòu)來講述。

其中,Canfestival里面包含我們需要的CANOpen協(xié)議源碼和對象字典生成工具。

有了對象字典生成工具,對象字典的代碼就可以通過它來自動生成。搭建Canfestival對象字典生成工具的環(huán)境是一個重點(diǎn)。

對于很多初學(xué)者來說搭建環(huán)境也是一個難點(diǎn),不少初學(xué)者就卡在這一關(guān),然后,學(xué)習(xí)CANOpen就沒有繼續(xù)下去了。

簡單的說,搭建對象字典生成工具的環(huán)境步驟不多,可能會因?yàn)橹T多因素導(dǎo)致搭建失敗。搭建成功,運(yùn)行之后會出現(xiàn)如下圖界面:

在學(xué)習(xí)對象字典生成工具時,會看見一個詞:EDS,即Electronic Data Sheet電子數(shù)據(jù)單。

像周立功的CANOpen從站模塊就配有工具生成EDS文件。當(dāng)然,Canfestival提供的工具也能導(dǎo)出EDS文件。

Canfestival對象字典生成工具搭建過程,及相關(guān)內(nèi)容我將在下一篇文章詳細(xì)講述。

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

    關(guān)注

    28

    文章

    882

    瀏覽量

    40306
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2754

    瀏覽量

    463697
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    253

    瀏覽量

    43588
收藏 人收藏

    評論

    相關(guān)推薦

    三格電子-MODBUS TCP轉(zhuǎn)CANOpen網(wǎng)關(guān)

    Modbus TCP轉(zhuǎn)CANopen網(wǎng)關(guān) 型號:SG-TCP-COE-210 產(chǎn)品用途 本網(wǎng)關(guān)可以實(shí)現(xiàn)將CANOpen接口設(shè)備連接到MODBUS TCP網(wǎng)絡(luò)中;并且用戶不需要了解具體的CANOpen
    的頭像 發(fā)表于 11-26 11:21 ?126次閱讀
    三格電子-MODBUS TCP轉(zhuǎn)<b class='flag-5'>CANOpen</b>網(wǎng)關(guān)

    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)用的角度深入探討CANopen
    的頭像 發(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é)議即可實(shí)現(xiàn)
    的頭像 發(fā)表于 09-24 13:59 ?275次閱讀
    MODBUS TCP 轉(zhuǎn) <b class='flag-5'>CANOpen</b>

    CANopen系列CANopen從站為什么總不上傳PDO報文?

    CANopen網(wǎng)絡(luò)中無法獲取從站的TPDO數(shù)據(jù)?本文將為您解析可能的原因及解決方案。通過檢查TPDO的通信參數(shù)和傳輸類型,確保主站與從站的數(shù)據(jù)同步,快速定位問題所在。如果你的CANopen網(wǎng)絡(luò)中
    的頭像 發(fā)表于 09-19 08:05 ?334次閱讀
    【<b class='flag-5'>CANopen</b><b class='flag-5'>系列</b>】<b class='flag-5'>CANopen</b>從站為什么總不上傳PDO報文?

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

    【米爾-瑞薩RZ/G2UL開發(fā)板】5.CAN通訊進(jìn)階CANopen

    描述方式,執(zhí)行網(wǎng)絡(luò)管理功能。 1.1 對象字典 CANopen 對象字典(OD: Object Dictionary)是
    發(fā)表于 03-31 16:19

    CANopen轉(zhuǎn)Profinet網(wǎng)關(guān)連接西門子PLC與變流器通訊

    ,S7-1500系列PLC做主站,通過CANopen轉(zhuǎn)Profinet網(wǎng)關(guān)(XD-COPNm20)連接變流器與PLC。CANopen轉(zhuǎn)Profinet網(wǎng)關(guān)(XD-COPNm20)支持網(wǎng)口,具有
    的頭像 發(fā)表于 03-16 11:05 ?675次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)Profinet網(wǎng)關(guān)連接西門子PLC與變流器通訊

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用?

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用? CANopen以太網(wǎng)網(wǎng)關(guān)是一種連接CANopen總線和以太網(wǎng)的設(shè)備,它提供了在CANopen網(wǎng)絡(luò)和以太網(wǎng)之間傳輸數(shù)據(jù)的功能。本文將詳細(xì)介紹
    的頭像 發(fā)表于 02-02 16:59 ?3350次閱讀

    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)行通訊。 以下是EtherCAT轉(zhuǎn)
    發(fā)表于 01-31 14:54

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

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

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

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺達(dá)B3系列伺服驅(qū)動器的應(yīng)用,以下是一些運(yùn)用的基本步驟:系列伺服驅(qū)動器的通信接口
    發(fā)表于 01-10 10:29

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

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺達(dá)B3系列伺服驅(qū)動器的應(yīng)用,以下是一些運(yùn)用的基本步驟:系列伺服驅(qū)動器的通信接口
    的頭像 發(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)換:可以使用一個CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備,將CANopen協(xié)議轉(zhuǎn)換為Modbus TCP協(xié)議。該CANopen轉(zhuǎn)
    的頭像 發(fā)表于 01-03 15:20 ?489次閱讀
    智能樓宇系統(tǒng)<b class='flag-5'>canopen</b>協(xié)議與ModbusTCP協(xié)議進(jìn)行通訊

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

    通過耐特森CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備進(jìn)行轉(zhuǎn)換:可以使用一個CANopen轉(zhuǎn)ModbusTCP網(wǎng)關(guān)設(shè)備,將CANopen協(xié)議轉(zhuǎn)換為Modbus TCP協(xié)議。該CANopen
    的頭像 發(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