99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

黃工的嵌入式技術圈 ? 2020-03-04 11:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

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

在《CANOpen系列教程08_CANOpen通信接口引導學習》中,引導大家參看《CANopen輕松入門》通信接口的相關知識。而沒有在文中具體描述關于CANOpen通信接口的知識。

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

對于程序員來說,結合源代碼來理解相關理論知識更加容易。所以,我將其留在了這后面來講述。

下面結合移植好的源代碼,講述CANOpen網(wǎng)絡管理(NMT:Network management)的相關知識。

2

關于網(wǎng)絡管理NMT

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

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

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

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

當然,我們使用的Canfestival這套免費框架,大家不必擔心,肯定是具有相關代碼,我們需要明白怎么使用這套源碼即可。

3

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

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

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

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

2.應用層復位(Application Reset):節(jié)點中的應用程序復位(開始),比如開關量輸出、模擬量輸出的初始值;

3.通訊復位(Communication reset):節(jié)點中的CANopen通訊復位(開始),從這個時刻起,此節(jié)點就可以進行CANopen通訊了;

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

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

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

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

(1):Power on上電初始化

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

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

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

(5)、(8):NMT switch to Stopped網(wǎng)絡管理切換到停止狀態(tài)

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

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

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

3.2 源碼說明

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

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

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

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

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

masterSendNMTstateChange(&TestMaster_Data, 0x01, NMT_Reset_Node);

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

第2個參數(shù)0x01:節(jié)點(從站)ID

第3個參數(shù)NMT_Reset_Node:復位節(jié)點

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

寫到這里,相信大家對網(wǎng)絡管理節(jié)點有一定認識了,初學者可以多結合代碼理解。

4

NMT網(wǎng)絡管理節(jié)點上線報文

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

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

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

5

NMT網(wǎng)絡管理心跳報文

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

格式:

CAN-ID:700h + Node-ID

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

在《CANOpen系列教程13》提供例程中,就是包含一個心跳報文。心跳報文比較簡單,請結合上圖理解。

注意:

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

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

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

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

2.周立功的CANOpen輕松入門

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

    關注

    57

    文章

    2920

    瀏覽量

    467831
  • 源碼
    +關注

    關注

    8

    文章

    671

    瀏覽量

    30339
  • CANopen
    +關注

    關注

    8

    文章

    406

    瀏覽量

    44903
  • NMT
    NMT
    +關注

    關注

    0

    文章

    7

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    盟通方案|CANopen數(shù)據(jù)鏈路配置工具

    CANopen產(chǎn)品開發(fā)過程中,并非所有應用場景的CANopen網(wǎng)絡拓撲都是確定的,這需要CANopen網(wǎng)絡能夠靈活配置設備間對象字典的收發(fā)
    的頭像 發(fā)表于 05-30 14:19 ?295次閱讀
    盟通方案|<b class='flag-5'>CANopen</b>數(shù)據(jù)鏈路配置工具

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

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

    顛覆想象!CanOpen轉ProfiNet網(wǎng)關重塑糾偏系統(tǒng)格局

    該生產(chǎn)線采用了糾偏系統(tǒng),其運用的是CanOpen通訊協(xié)議,而現(xiàn)場搭配的PLC為西門子S7-1500系列,采用Profinet工業(yè)以太網(wǎng)通訊。通過上述使用穩(wěn)聯(lián)技術CanOpen轉ProfiNet網(wǎng)關
    的頭像 發(fā)表于 02-20 17:01 ?391次閱讀
    顛覆想象!<b class='flag-5'>CanOpen</b>轉ProfiNet網(wǎng)關重塑糾偏系統(tǒng)格局

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

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

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

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

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

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

    MODBUS TCP 轉 CANOpen

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

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

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

    DeviceNet轉CANopen協(xié)議網(wǎng)關(DeviceNet轉CANopen

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

    適用于標準化嵌入式網(wǎng)絡,CANopen有什么不同?

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

    常見的shell命令之網(wǎng)絡相關命令

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

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

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

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

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

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

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

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

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