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

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

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

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

CANOpen系列教程15_NMT網(wǎng)絡(luò)網(wǎng)絡(luò)與相關(guān)源碼說明

黃工的嵌入式技術(shù)圈 ? 2020-03-04 11:50 ? 次閱讀

1寫在前面

該系列教程13、14講述了移植相關(guān)內(nèi)容,以及提供給大家可直接編譯、下載運(yùn)行的源碼工程,想必你已經(jīng)掌握了一些基礎(chǔ)的知識(shí)了。

在《CANOpen系列教程08_CANOpen通信接口引導(dǎo)學(xué)習(xí)》中,引導(dǎo)大家參看《CANopen輕松入門》通信接口的相關(guān)知識(shí)。而沒有在文中具體描述關(guān)于CANOpen通信接口的知識(shí)。

原因在于通信接口的內(nèi)容太多,單純的去看這些內(nèi)容,容易讓人產(chǎn)生更多困惑。

對(duì)于程序員來說,結(jié)合源代碼來理解相關(guān)理論知識(shí)更加容易。所以,我將其留在了這后面來講述。

下面結(jié)合移植好的源代碼,講述CANOpen網(wǎng)絡(luò)管理(NMT:Network management)的相關(guān)知識(shí)。

2

關(guān)于網(wǎng)絡(luò)管理NMT

在CANOpen網(wǎng)絡(luò)中,分主站和從站,而通常由主站來管理整個(gè)網(wǎng)絡(luò)。比如:復(fù)位、停止等。

《CANopen輕松入門》中軍隊(duì)的例子說的很好:一個(gè)軍隊(duì),如果沒有指揮員來管理,下面士兵豈不亂套了。

例子中指揮員就是CANOpen中的網(wǎng)絡(luò)管理主站,士兵就是從站。

重要的一點(diǎn):每個(gè) CANopen 從節(jié)點(diǎn)的 CANopen 協(xié)議棧中,必須具備 NMT 管理的相應(yīng)代碼。也就是說從站是被接收管理。

當(dāng)然,我們使用的Canfestival這套免費(fèi)框架,大家不必?fù)?dān)心,肯定是具有相關(guān)代碼,我們需要明白怎么使用這套源碼即可。

3

NMT網(wǎng)絡(luò)管理節(jié)點(diǎn)狀態(tài)

3.1 6種節(jié)點(diǎn)狀態(tài)

NMT網(wǎng)絡(luò)管理主要包含以下6種狀態(tài):

1.初始化(Initializing):節(jié)點(diǎn)上電后對(duì)功能部件包括 CAN 控制器進(jìn)行初始化;

2.應(yīng)用層復(fù)位(Application Reset):節(jié)點(diǎn)中的應(yīng)用程序復(fù)位(開始),比如開關(guān)量輸出、模擬量輸出的初始值;

3.通訊復(fù)位(Communication reset):節(jié)點(diǎn)中的CANopen通訊復(fù)位(開始),從這個(gè)時(shí)刻起,此節(jié)點(diǎn)就可以進(jìn)行CANopen通訊了;

4.預(yù)操作狀態(tài)(Pre-operational):節(jié)點(diǎn)的CANopen通訊處于操作就緒狀態(tài),此時(shí)此節(jié)點(diǎn)不能進(jìn)行PDO通信,而可以進(jìn)行SDO進(jìn)行參數(shù)配置和NMT網(wǎng)絡(luò)管理的操作;

5.操作狀態(tài)(operational):節(jié)點(diǎn)收到NMT主機(jī)發(fā)來的啟動(dòng)命令后, CANopen通訊被激活, PDO通信啟動(dòng)后, 按照對(duì)象字典里面規(guī)定的規(guī)則進(jìn)行傳輸,同樣SDO也可以對(duì)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸和參數(shù)修改;

6.停止?fàn)顟B(tài)(Stopped):節(jié)點(diǎn)收到NMT主機(jī)發(fā)來的停止命令后,節(jié)點(diǎn)的PDO通信被停止,但SDO和NMT網(wǎng)絡(luò)管理依然可以對(duì)節(jié)點(diǎn)進(jìn)行操作;

NMT網(wǎng)絡(luò)管理6種狀態(tài)如上圖所示,其中1 --- 15各處代表含義:

(1):Power on上電初始化

(2):Automatic switch to Pre-operational自動(dòng)切換預(yù)操作狀態(tài)

(3) 、(6):NMT switch to Operational網(wǎng)絡(luò)管理切換到操作狀態(tài)

(4)、(7):NMT switch to Pre-operational網(wǎng)絡(luò)管理切換到預(yù)操作狀態(tài)

(5)、(8):NMT switch to Stopped網(wǎng)絡(luò)管理切換到停止?fàn)顟B(tài)

(9)、(10)、(11):NMT switch to Application reset網(wǎng)絡(luò)管理切換到應(yīng)用層復(fù)位狀態(tài)

(12)、(13)、(14):NMT switch to Communication reset網(wǎng)絡(luò)管理切換到通訊復(fù)位狀態(tài)

(15):Power-off or hardware reset掉電或硬件復(fù)位

3.2 源碼說明

通過上面描述,需要知道兩點(diǎn)重要內(nèi)容:主站進(jìn)行網(wǎng)絡(luò)管理,網(wǎng)絡(luò)各個(gè)節(jié)點(diǎn)有多種狀態(tài)。當(dāng)然,一個(gè)時(shí)刻只能一種狀態(tài)。

在Canfestival框架源碼中,主站可通過masterSendNMTstateChange這個(gè)函數(shù)接口來管理網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)。可以理解為:主站控制,或切換從站節(jié)點(diǎn)的狀態(tài)。

這里需要理解masterSendNMTstateChange這個(gè)函數(shù)接口的用法,也就是說接口含義,以及參數(shù)。

比如:主站上電之后,讓網(wǎng)絡(luò)中節(jié)點(diǎn)0x01復(fù)位:

這里我們結(jié)合《CANOpen系列教程13》提供的代碼基礎(chǔ)上,添加一行管理節(jié)點(diǎn)0x01的代碼:

masterSendNMTstateChange(&TestMaster_Data, 0x01, NMT_Reset_Node);

第1個(gè)參數(shù)TestMaster_Data:主站對(duì)象字典

第2個(gè)參數(shù)0x01:節(jié)點(diǎn)(從站)ID

第3個(gè)參數(shù)NMT_Reset_Node:復(fù)位節(jié)點(diǎn)

第1,2個(gè)參數(shù)很好理解,第3個(gè)參數(shù)是通過宏定義在def.h中,總共5種狀態(tài),如下圖:

寫到這里,相信大家對(duì)網(wǎng)絡(luò)管理節(jié)點(diǎn)有一定認(rèn)識(shí)了,初學(xué)者可以多結(jié)合代碼理解。

4

NMT網(wǎng)絡(luò)管理節(jié)點(diǎn)上線報(bào)文

該教程上一篇文章末尾講述運(yùn)行效果時(shí),提供了一張運(yùn)行時(shí)CAN總線數(shù)據(jù)的截圖:

任何一個(gè) CANopen 從站上線后,為了提示主站它已經(jīng)加入網(wǎng)絡(luò)(便于熱插拔),或者避免與其他從站 Node-ID 沖突。這個(gè)從站必須發(fā)出節(jié)點(diǎn)上線報(bào)文(boot-up)。

節(jié)點(diǎn)上線報(bào)文的 ID 為:700h + Node-ID, 數(shù)據(jù)規(guī)定為0。 生產(chǎn)者(Producer)為 CANopen 從站。如下圖:

5

NMT網(wǎng)絡(luò)管理心跳報(bào)文

為了監(jiān)控 CANopen 節(jié)點(diǎn)是否在線與目前的節(jié)點(diǎn)狀態(tài)。 CANopen 應(yīng)用中通常都要求在線上電的從站定時(shí)發(fā)送狀態(tài)報(bào)文(心跳報(bào)文),以便于主站確認(rèn)從站是否故障、是否脫離網(wǎng)絡(luò)。

格式:

CAN-ID:700h + Node-ID

數(shù)據(jù):一字節(jié)狀態(tài)

在《CANOpen系列教程13》提供例程中,就是包含一個(gè)心跳報(bào)文。心跳報(bào)文比較簡單,請(qǐng)結(jié)合上圖理解。

注意:

1.CANopen從站按其對(duì)象字典中 1017h 中填寫的心跳生產(chǎn)時(shí)間(ms)進(jìn)行心跳報(bào)文的發(fā)送。

2.CANopen主站則會(huì)按其1016h 中填寫的心跳消費(fèi)時(shí)間進(jìn)行檢查,假設(shè)超過諾干次心跳消費(fèi)時(shí)間沒有收到從站的心跳報(bào)文,則認(rèn)為從站已經(jīng)離線或者損壞。

還有一些網(wǎng)絡(luò)管理相關(guān)內(nèi)容,大家可以結(jié)合這種思路去理解,建議參看:

1.CiA 301 V4.2.0網(wǎng)絡(luò)管理章節(jié)

2.周立功的CANOpen輕松入門

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

    關(guān)注

    57

    文章

    2774

    瀏覽量

    464477
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    653

    瀏覽量

    29516
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    271

    瀏覽量

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

    關(guān)注

    0

    文章

    7

    瀏覽量

    3656
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    2025必備知識(shí),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 ?179次閱讀
    2025必備知識(shí),<b class='flag-5'>CANopen</b>轉(zhuǎn)EtherCAT協(xié)議允許配備啥協(xié)議的電氣設(shè)備

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

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

    canopen轉(zhuǎn)Profinet網(wǎng)關(guān)對(duì)于工業(yè)現(xiàn)場(chǎng)PLC與伺服之間的通訊重要性

    開疆智能Profinet轉(zhuǎn)Canopen網(wǎng)關(guān)是一種能夠?qū)崿F(xiàn)Profinet網(wǎng)絡(luò)Canopen網(wǎng)絡(luò)之間通信的設(shè)備。
    的頭像 發(fā)表于 09-30 14:15 ?239次閱讀
    <b class='flag-5'>canopen</b>轉(zhuǎn)Profinet網(wǎng)關(guān)對(duì)于工業(yè)現(xiàn)場(chǎng)PLC與伺服之間的通訊重要性

    canopen轉(zhuǎn)Profinet網(wǎng)關(guān)對(duì)于工業(yè)現(xiàn)場(chǎng)PLC與伺服之間的通訊重要性

    Profinet轉(zhuǎn)Canopen網(wǎng)關(guān)是一種能夠?qū)崿F(xiàn)Profinet網(wǎng)絡(luò)Canopen網(wǎng)絡(luò)之間通信的設(shè)備。
    的頭像 發(fā)表于 09-30 14:05 ?249次閱讀
    <b class='flag-5'>canopen</b>轉(zhuǎn)Profinet網(wǎng)關(guān)對(duì)于工業(yè)現(xiàn)場(chǎng)PLC與伺服之間的通訊重要性

    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 ?335次閱讀
    MODBUS TCP 轉(zhuǎn) <b class='flag-5'>CANOpen</b>

    CANopen系列CANopen從站為什么總不上傳PDO報(bào)文?

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

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

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

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)CANopen是一種架構(gòu)在控制局域網(wǎng)絡(luò)CAN上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場(chǎng)總線。 ? 在CAN的基礎(chǔ)上
    的頭像 發(fā)表于 08-22 01:19 ?3456次閱讀

    常見的shell命令之網(wǎng)絡(luò)相關(guān)命令

    以下測(cè)試的網(wǎng)絡(luò)環(huán)境為:虛擬機(jī)NAT模式,ubuntu設(shè)置為自動(dòng)獲取ip。1、網(wǎng)絡(luò)基本知識(shí)具備基本的網(wǎng)絡(luò)知識(shí)對(duì)于linux的學(xué)習(xí)非常重要,只有了解了這些基礎(chǔ)知識(shí),才能更好的學(xué)習(xí)網(wǎng)絡(luò)
    發(fā)表于 08-20 09:50

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

    怎樣實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)CANopen網(wǎng)絡(luò)的連接互通?不少朋友在這個(gè)問題上存在疑惑。接下來,將為大家集中解惑。實(shí)際上, 遠(yuǎn)創(chuàng)智控YC-ECT-COP 這一設(shè)備能夠有效地處理此難題。下面,作者為
    的頭像 發(fā)表于 08-16 11:50 ?341次閱讀
    EtherCAT從站轉(zhuǎn)<b class='flag-5'>CANopen</b>主站協(xié)議網(wǎng)關(guān)(YC-ECT-COP)

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

    一,設(shè)備主要功能 捷米特JM-ECT-COP網(wǎng)關(guān)實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)CANopen網(wǎng)絡(luò)之間的數(shù)據(jù)通訊,可連接CANopen網(wǎng)絡(luò)到Eth
    的頭像 發(fā)表于 08-15 17:36 ?524次閱讀
    EtherCAT從站轉(zhuǎn)<b class='flag-5'>CANopen</b>主站協(xié)議網(wǎng)關(guān)(JM-ECT-COP)

    EtherNet轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    如何才能將EtherNet和CANopen網(wǎng)絡(luò)通訊連接起來呢?這幾天有幾個(gè)朋友問到了這個(gè)問題,作者在這里統(tǒng)一為大家詳細(xì)說明一下。其實(shí)有一個(gè)設(shè)備可以很輕松地解決這個(gè)問題,名為YC-EIP-COP,下面
    的頭像 發(fā)表于 07-25 12:03 ?352次閱讀
    EtherNet轉(zhuǎn)<b class='flag-5'>CANopen</b>協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    ACR系列網(wǎng)絡(luò)多功能電力儀表安裝使用說明

    電子發(fā)燒友網(wǎng)站提供《ACR系列網(wǎng)絡(luò)多功能電力儀表安裝使用說明書.pdf》資料免費(fèi)下載
    發(fā)表于 07-23 11:16 ?1次下載

    CANopen協(xié)議移植編譯,一直編譯不過的原因?

    CO_Data ObjDict_Data = CANOPEN_NODE_DATA_INITIALIZER(ObjDict); IAR編譯提示Error[Pe253]: expected a
    發(fā)表于 04-26 06:03

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

    索引,其范圍是 0x00 到 0xFF 之間。 1.2 NMT網(wǎng)絡(luò)管理對(duì)象 它負(fù)責(zé)CAN 網(wǎng)絡(luò)上的初始化、配置和故障處理。節(jié)點(diǎn)控制: 節(jié)點(diǎn)上線報(bào)文:任何一個(gè) CANopen 從站上線后
    發(fā)表于 03-31 16:19
    主站蜘蛛池模板: 夜夜夜精品视频免费 | 狠狠色综合久久久久尤物 | 东北老女人啪啪对白 | 丁香天堂网 | 伊人啪啪 | 业余性自由色xxxx视频 | 久久精品国产大片免费观看 | 狠狠色丁香久久婷婷综合丁香 | 91成人在线播放 | 久久夜色精品国产尤物 | 国外免费精品视频在线观看 | 看黄网站在线 | 色偷偷88欧美精品久久久 | 欧美性白人极品1819hd高清 | 国产成人高清精品免费5388密 | 欧美网站黄 | 午夜福免费福利在线观看 | 国产亚洲3p无码一区二区 | 看黄色一级毛片 | 国产视频黄 | 天天操夜夜干 | 亚洲va国产日韩欧美精品色婷婷 | 成年视频在线观看 | 亚洲国产成人久久午夜 | 日本成人a视频 | 日韩在线视频www色 日韩在线视频免费观看 | 六月婷婷综合 | 激情五月开心婷婷 | 欧美另类亚洲一区二区 | 特级毛片s级全部免费 | 免费看黄色小视频 | 4438x成人全国最大 | 天天操bb | 国产特黄 | 久久99久久精品97久久综合 | 国产精品视频网站你懂得 | 深爱婷婷激情网 | 久久免费99精品久久久久久 | 天天狠天天透天干天天怕处 | 四虎免费久久影院 | 亚洲欧美网站 |