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

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

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

一個CANopen的應用樣例(上)

CHANBAEK ? 來源:安德魯?shù)脑O計筆記本 ? 作者: 安德魯蘇 ? 2023-06-23 15:57 ? 次閱讀

一個CANopen的應用樣例

在基本的運行CANopen框架的演示項目中,除了一個已經(jīng)運行CANopenNode組件程序的CANopen節(jié)點,還需要一臺運行PCAN-View軟件的PC機和USB-CAN轉換器PEAK-CAN,模擬一個接入CAN總線的CANopen主站設備節(jié)點。在運行演示項目時,可以使用PCAN-View軟件,通過CAN總線發(fā)現(xiàn)運行了CANopen設備節(jié)點,并接收來自CANopen節(jié)點發(fā)出的心跳消息包,然后發(fā)送一系列網(wǎng)絡管理命令,控制CANopen從站節(jié)點對本機的CANopen協(xié)議棧程序停止、啟動、復位等操作。

  • PCAN-USB驅動
  • PCAN-View 安裝包
  • PCAN-View使用說明

圖片

figure-can-connection-between-pc-and-mcu

圖x PC模擬的CAN主站同CAN從站之間的連接之后,開發(fā)者可以試著通過PCAN-View軟件接入CAN總線的CANopen節(jié)點發(fā)送控制命令,并觀察CAN總線上的消息。

這里用到了一個PEAK-CAN轉接設備,如圖x所示。

image.png

PCAN-CAN轉接設備實物務必先將PEAK-CAN轉接設備接入電腦后,再啟動PCAN-View軟件。在剛啟動PCAN-View時,會彈出配置連接的對話框,其中顯示已經(jīng)識別到的PEAK-CAN設備,以及配置通信速率的對話框。在本例中,使用 500kbit/s,同剛移植的canopen_demo工程配置保持移植。配置連接對話框的界面如圖x所示。

圖片

figure-pcan-view-connect

圖x PCAN-View識別到的PEAK-CAN設備以及配置通信速率確認之后,啟動PCAN-View軟件,即可在界面中看到CANopen節(jié)點已經(jīng)在CAN總線上發(fā)送的消息幀了。如圖x所示。

圖片

figure-pcan-view-startup

圖x 運行PCAN-View軟件這里需要注意的是,在Receive/Transmit標簽頁中看到的消息幀是以CAN-ID分類的,總會顯示當前已經(jīng)出現(xiàn)的CAN-ID消息幀的最新狀態(tài)。如果想看每一幀按照時間順序排列的歷史信息,可在Trace標簽頁中,啟動記錄后查看。

上線和心跳消息

CANopen節(jié)點上電后接入CAN總線,會向總線發(fā)送上線消息。PCAN-View軟件將會收到上線消息如下:

CAN-ID Length Data
0x70A 1 0x00

之后,該CANopen從站節(jié)點將以1000ms為時間間隔,持續(xù)向CAN網(wǎng)絡發(fā)送節(jié)點心跳報文。此時,PCAN-View軟件將以1000ms的時間間隔收到心跳報文如下:

CAN-ID Length Data
0x70A 1 0x05

圖片

figure-canopen-msg-heartbeat-at-power-up

圖x CANopen節(jié)點發(fā)送上線報文和心跳包至此,可驗證該CANopen節(jié)點成功啟動,并開始正常運行。

此處對心跳消息展開解釋一下。在本例中使用的心跳消息使用CAN-ID的值為0x70A,二進制碼為0b11100001010,按照CANopen協(xié)議對COB-ID的規(guī)定,11位的CAN標準幀被拆分為前4位的功能碼(FUNCTION CODE)和后7位的節(jié)點地址碼(NODE ID CODE)。如圖x所示。此處心跳消息的功能碼對應0b1110,與圖x中表格列出的值一致。

圖片

figure-canopen-cob-id

圖x CANopen中的COB-ID本例中的節(jié)點地址碼0b001010,即0xA,則來自于canopen_demo工程CO_OD.c文件中對對象字典的配置。

/***** Definition for ROM variables *******************************************/
struct sCO_OD_ROM CO_OD_ROM = {    //constant variables, stored in flash
           CO_OD_FIRST_LAST_WORD,
...
/*2101*/ 0x0A,  /* local NODE-ID. */
/*2102*/ 0x1F4, /* local bitrate. */
...
           CO_OD_FIRST_LAST_WORD
};

其實對象字典里還配置了更多有用的屬性,例如,本節(jié)點的CAN總線通信的位速率就在對象字典中索引號為2102的元素上,0x1F4對應十進制數(shù)500,表示500kbit/s。

(未完待續(xù)。。。)

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

    關注

    27

    文章

    8703

    瀏覽量

    147166
  • CAN總線
    +關注

    關注

    145

    文章

    1951

    瀏覽量

    130753
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2754

    瀏覽量

    463697
  • 程序
    +關注

    關注

    117

    文章

    3787

    瀏覽量

    81038
  • CANopen
    +關注

    關注

    8

    文章

    253

    瀏覽量

    43588
收藏 人收藏

    評論

    相關推薦

    CANopen協(xié)議學習筆記1

    據(jù)傳輸功能。在CANopen網(wǎng)絡中應用SYNC要注意以下幾點:1. SYNC并不是主節(jié)點必須的功能,不定要和NMT放在同節(jié)點,實際網(wǎng)絡應用中可以在網(wǎng)絡中找
    發(fā)表于 09-20 17:32

    Canopen協(xié)議讀后感想

    ,這種協(xié)議設計方法使得CANopen變得很通用、擴展性極好,應用程序都可以實現(xiàn)互操作性。子協(xié)議規(guī)范本質(zhì)就是要實現(xiàn)設備字典的功能。作為控制節(jié)點開發(fā)商,如果實現(xiàn)的產(chǎn)品能夠與其他廠商的
    發(fā)表于 09-21 12:58

    CANopen協(xié)議

    CAN 在 ISO 層級中的位置、通信協(xié)議需求、CANopen協(xié)議誕生、設備子協(xié)議、CANOpen設備結構
    發(fā)表于 08-23 09:02

    canopen簡單提要

    ?? canopen協(xié)議屬于應用層協(xié)議,是由系列子協(xié)議組成,分為通訊子協(xié)議和設備子協(xié)議,通訊子協(xié)議例如CIA 301子協(xié)議對canopen網(wǎng)絡的架構進行了規(guī)范 ,針對某些特定的對象字典中的數(shù)據(jù)對象
    發(fā)表于 09-15 07:56

    移通創(chuàng)聯(lián)CANOpen網(wǎng)關在制藥行業(yè)中的應用

    移通創(chuàng)聯(lián)CANOpen轉PROFINET網(wǎng)關在制藥行業(yè)中的配置案例網(wǎng)關側配置篇第步:先安裝CANOpen轉PROFINET網(wǎng)關配置軟件第二步:導入 EDS 文件第三步:設定CANOpen
    發(fā)表于 10-28 18:43

    如何使用STM32單片機開發(fā)CANopen產(chǎn)品

    在工作碰到CANopen協(xié)議就害怕,覺得是非常復雜的東西,般人根本學不會。命運的轉折點
    發(fā)表于 02-15 07:45

    CANopen協(xié)議講座(2)之CANopen協(xié)議簡介

    CANopen協(xié)議講座(2)之CANopen協(xié)議簡介 CANopen協(xié)議是在20世紀90年代末,由CiA組織(CAN-in-Automation)在CAL(CAN Application Layer)的基礎
    發(fā)表于 03-26 17:29 ?73次下載

    CANopen協(xié)議講座(5)之CANopen從站模塊(XGa

    CANopen協(xié)議講座(5)之CANopen從站模塊(XGate-COP10) CANopen協(xié)議是在20世紀90年代末,由CiA組織(CAN-in-Automation)在CAL(CAN Application Layer)
    發(fā)表于 03-26 17:38 ?82次下載

    CANopen主節(jié)點的設計方案

    CANopen主節(jié)點除具備CANopen設備的基本條件外,還需具備NMTMaster的功能,即對CANopen網(wǎng)絡進行管理。對CANopen主節(jié)點的實現(xiàn)提出三種方案:方案1:在
    發(fā)表于 12-20 21:45 ?79次下載

    基于OpenHarmony開發(fā)的步驟

    單絲不成線,獨木不成林,社區(qū)想要健康蓬勃發(fā)展離不開社區(qū)參與者的持續(xù)貢獻。而社區(qū)貢獻點有很多種,本文以貢獻OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開發(fā)
    的頭像 發(fā)表于 09-20 10:30 ?1368次閱讀

    CANopen的應用(下)

    在PCAN-View軟件界面中菜單欄中選擇`Transmit->New Message...`,將會彈出發(fā)送新消息的對話框。如圖x所示。當然,也可以直接單擊工具欄中的`New Message`按鈕,或者使用`ins`快捷鍵觸發(fā)對話框。
    的頭像 發(fā)表于 06-23 15:57 ?1744次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>CANopen</b>的應用<b class='flag-5'>樣</b><b class='flag-5'>例</b>(下)

    MindSDK應用基礎—SPI模塊簡介

    MindSDK為MM32主流的微控制器,實現(xiàn)了系列SPI驅動的工程。本文通過講解 SPI 模塊的工程,介紹 SPI 模塊的功能和用
    的頭像 發(fā)表于 08-10 17:14 ?1075次閱讀

    MindSDK應用基礎—ADC模塊

    MindSDK為MM32主流的微控制器,實現(xiàn)了組ADC工程。本文通過講解ADC模塊的工程,介紹ADC模塊的功能和用法。
    的頭像 發(fā)表于 08-17 17:16 ?929次閱讀

    MindSDK應用基礎——TIM模塊

    MindSDK應用基礎——TIM模塊
    的頭像 發(fā)表于 10-25 16:25 ?618次閱讀

    制藥領域的技術革命:Profinet轉CanOpen網(wǎng)關大放異彩

    Profinet轉CanOpen網(wǎng)關作為連接不同網(wǎng)絡設備的橋梁,能夠將生產(chǎn)線上的各類設備進行聯(lián)網(wǎng),實時收集設備運行狀態(tài)、生產(chǎn)數(shù)據(jù)等關鍵信息,并將這些信息傳遞給后端系統(tǒng)進行分析處理。在執(zhí)行Profinet和
    的頭像 發(fā)表于 04-10 12:06 ?254次閱讀
    制藥領域的技術革命:Profinet轉<b class='flag-5'>CanOpen</b>網(wǎng)關大放異彩