0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CANOpen系列教程15_NMT网络网络与相关源码说明

黄工的嵌入式技术圈 2020-03-04 11:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1写在前面

该系列教程13、14讲述了移植相关内容,以及提供给大家可直接编译、下载运行的源码工程,想必你已经掌握了一些基础的知识了。

在《CANOpen系列教程08_CANOpen通信接口引导学习》中,引导大家参看《CANopen轻松入门》通信接口的相关知识。而没有在文中具体描述关于CANOpen通信接口的知识。

原因在于通信接口的内容太多,单纯的去看这些内容,容易让人产生更多困惑。

对于程序员来说,结合源代码来理解相关理论知识更加容易。所以,我将其留在了这后面来讲述。

下面结合移植好的源代码,讲述CANOpen网络管理(NMT:Network management)的相关知识。

2

关于网络管理NMT

在CANOpen网络中,分主站和从站,而通常由主站来管理整个网络。比如:复位、停止等。

《CANopen轻松入门》中军队的例子说的很好:一个军队,如果没有指挥员来管理,下面士兵岂不乱套了。

例子中指挥员就是CANOpen中的网络管理主站,士兵就是从站。

重要的一点:每个 CANopen 从节点的 CANopen 协议栈中,必须具备 NMT 管理的相应代码。也就是说从站是被接收管理。

当然,我们使用的Canfestival这套免费框架,大家不必担心,肯定是具有相关代码,我们需要明白怎么使用这套源码即可。

3

NMT网络管理节点状态

3.1 6种节点状态

NMT网络管理主要包含以下6种状态:

1.初始化(Initializing):节点上电后对功能部件包括 CAN 控制器进行初始化;

2.应用层复位(Application Reset):节点中的应用程序复位(开始),比如开关量输出、模拟量输出的初始值;

3.通讯复位(Communication reset):节点中的CANopen通讯复位(开始),从这个时刻起,此节点就可以进行CANopen通讯了;

4.预操作状态(Pre-operational):节点的CANopen通讯处于操作就绪状态,此时此节点不能进行PDO通信,而可以进行SDO进行参数配置和NMT网络管理的操作;

5.操作状态(operational):节点收到NMT主机发来的启动命令后, CANopen通讯被激活, PDO通信启动后, 按照对象字典里面规定的规则进行传输,同样SDO也可以对节点进行数据传输和参数修改;

6.停止状态(Stopped):节点收到NMT主机发来的停止命令后,节点的PDO通信被停止,但SDO和NMT网络管理依然可以对节点进行操作;

NMT网络管理6种状态如上图所示,其中1 --- 15各处代表含义:

(1):Power on上电初始化

(2):Automatic switch to Pre-operational自动切换预操作状态

(3) 、(6):NMT switch to Operational网络管理切换到操作状态

(4)、(7):NMT switch to Pre-operational网络管理切换到预操作状态

(5)、(8):NMT switch to Stopped网络管理切换到停止状态

(9)、(10)、(11):NMT switch to Application reset网络管理切换到应用层复位状态

(12)、(13)、(14):NMT switch to Communication reset网络管理切换到通讯复位状态

(15):Power-off or hardware reset掉电或硬件复位

3.2 源码说明

通过上面描述,需要知道两点重要内容:主站进行网络管理,网络各个节点有多种状态。当然,一个时刻只能一种状态。

在Canfestival框架源码中,主站可通过masterSendNMTstateChange这个函数接口来管理网络节点的状态。可以理解为:主站控制,或切换从站节点的状态。

这里需要理解masterSendNMTstateChange这个函数接口的用法,也就是说接口含义,以及参数。

比如:主站上电之后,让网络中节点0x01复位:

这里我们结合《CANOpen系列教程13》提供的代码基础上,添加一行管理节点0x01的代码:

masterSendNMTstateChange(&TestMaster_Data, 0x01, NMT_Reset_Node);

第1个参数TestMaster_Data:主站对象字典

第2个参数0x01:节点(从站)ID

第3个参数NMT_Reset_Node:复位节点

第1,2个参数很好理解,第3个参数是通过宏定义在def.h中,总共5种状态,如下图:

写到这里,相信大家对网络管理节点有一定认识了,初学者可以多结合代码理解。

4

NMT网络管理节点上线报文

该教程上一篇文章末尾讲述运行效果时,提供了一张运行时CAN总线数据的截图:

任何一个 CANopen 从站上线后,为了提示主站它已经加入网络(便于热插拔),或者避免与其他从站 Node-ID 冲突。这个从站必须发出节点上线报文(boot-up)。

节点上线报文的 ID 为:700h + Node-ID, 数据规定为0。 生产者(Producer)为 CANopen 从站。如下图:

5

NMT网络管理心跳报文

为了监控 CANopen 节点是否在线与目前的节点状态。 CANopen 应用中通常都要求在线上电的从站定时发送状态报文(心跳报文),以便于主站确认从站是否故障、是否脱离网络。

格式:

CAN-ID:700h + Node-ID

数据:一字节状态

在《CANOpen系列教程13》提供例程中,就是包含一个心跳报文。心跳报文比较简单,请结合上图理解。

注意:

1.CANopen从站按其对象字典中 1017h 中填写的心跳生产时间(ms)进行心跳报文的发送。

2.CANopen主站则会按其1016h 中填写的心跳消费时间进行检查,假设超过诺干次心跳消费时间没有收到从站的心跳报文,则认为从站已经离线或者损坏。

还有一些网络管理相关内容,大家可以结合这种思路去理解,建议参看:

1.CiA 301 V4.2.0网络管理章节

2.周立功的CANOpen轻松入门

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    58

    文章

    3010

    浏览量

    471430
  • 源码
    +关注

    关注

    8

    文章

    682

    浏览量

    31086
  • CANopen
    +关注

    关注

    8

    文章

    456

    浏览量

    47582
  • NMT
    NMT
    +关注

    关注

    0

    文章

    7

    浏览量

    3814
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    (q7_t) 和 16 位整数 (q15_t)。 卷积神经网络示例: 本示例中使用的 CNN 基于来自 Caffe 的 CIFAR-10 示例。神经网络由 3 个卷积层组成,中间散布着 ReLU
    发表于 10-29 06:08

    飞凌嵌入式ElfBoard-Linux系统基础入门-网络相关shell命令之网络基础知识

    以下测试的网络环境为:虚拟机NAT模式,ubuntu设置为自动获取ip。 具备基本的网络知识对于linux的学习非常重要,只有了解了这些基础知识,才能更好的学习网络相关指令、
    发表于 10-09 09:30

    CANopen转Profient网关协议介绍

    层次,通过对象字典实现设备参数配置,包含网络管理(NMT)、服务数据对象(SDO)和过程数据对象(PDO)等核心协议,支持主从、客户端/服务器及生产者/消费者通信模式。 CANopen设备通过16位索引和8位子索引访问对象字典,
    的头像 发表于 09-25 17:31 610次阅读
    <b class='flag-5'>CANopen</b>转Profient网关协议介绍

    MODBUS转CANOPEN网关在新能源控制系统中的集成应用

    项目背景与系统概述 在风电变桨和光伏逆变系统中,主控制器通过CANOPEN网络实现对核心驱动单元(如变桨电机、逆变模块)的实时控制与状态监测。然而,系统中同时存在大量辅助设备,如汇流箱、智能电表
    的头像 发表于 08-22 15:54 353次阅读
    MODBUS转<b class='flag-5'>CANOPEN</b>网关在新能源控制系统中的集成应用

    EtherCAT转CANopen,喷码机高效通讯秘籍

    CANopen
    北京开疆智能技术有限公司
    发布于 :2025年08月19日 17:08:06

    harmony-utils之NetworkUtil,网络相关工具类

    harmony-utils之NetworkUtil,网络相关工具类 harmony-utils 简介与说明 harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多
    的头像 发表于 06-25 23:46 220次阅读

    阀门拉手传感器,Ethernetip转canopen网关解决AB-PLC的冷门用法

    站接入ControlLogix的EtherNet/IP网络,同时作为CANopen主站连接阀门传感器。 - 在Studio 5000中导入网关EDS文件,配置显式消息(Explicit Messaging)或隐式I/O映射,直接读写CA
    的头像 发表于 06-21 13:46 660次阅读
    阀门拉手传感器,Ethernetip转<b class='flag-5'>canopen</b>网关解决AB-PLC的冷门用法

    盟通方案|CANopen数据链路配置工具

    CANopen产品开发过程中,并非所有应用场景的CANopen网络拓扑都是确定的,这需要CANopen网络能够灵活配置设备间对象字典的收发
    的头像 发表于 05-30 14:19 580次阅读
    盟通方案|<b class='flag-5'>CANopen</b>数据链路配置工具

    骨干网络,Profinet转CANopen网关在AG环境中应用-看这一篇就够用

    汽车装配线中的自动导引车 (AGV) 使用倍讯科技的profinet转CANopen 网关实现了更高的性能和可靠性。 CANopen扩展模块和西门子S7-1200控制器作为汽车装配线自动导引车的控制中心
    的头像 发表于 05-22 09:29 339次阅读
    骨干<b class='flag-5'>网络</b>,Profinet转<b class='flag-5'>CANopen</b>网关在AG环境中应用-看这一篇就够用

    协议大和解:ETHERCAT转CANopen网关配置

    最近有同学后台咨询疆鸿智能EtherCAT转CANopen的协议转换网关如何配置,小编今天给大家详细分享下配置的步骤。 一,设备主要功能 JH-ECT009 型网关是EtherCAT网络
    的头像 发表于 05-21 14:55 480次阅读
    协议大和解:ETHERCAT转<b class='flag-5'>CANopen</b>网关配置

    EtherCAT转CANopen协议网关应用详解

    成为运动控制领域的“明星”,而CANopen则凭借灵活性和成本优势在中小型设备中广泛应用。当两者相遇时,如何打破协议阻碍,实现无缝互联? EtherCAT转CANopen网关通过智能协议转换,实现新旧设备在高速网络中的无缝通信。
    的头像 发表于 05-19 14:19 428次阅读
    EtherCAT转<b class='flag-5'>CANopen</b>协议网关应用详解

    EtherCAN转CANopen网关:一键升级通信效率!

    兴达易控EtherCAN转CANopen网关XD-ECCOM20是现代工业自动化系统中不可或缺的重要设备,它能够有效实现EtherCAT网络CANopen协议之间的无缝通信。本文将从多个角度详细探讨其工作原理、应用场景及配置管
    的头像 发表于 03-22 12:32 597次阅读
    EtherCAN转<b class='flag-5'>CANopen</b>网关:一键升级通信效率!

    颠覆想象!CanOpen转ProfiNet网关重塑纠偏系统格局

    该生产线采用了纠偏系统,其运用的是CanOpen通讯协议,而现场搭配的PLC为西门子S7-1500系列,采用Profinet工业以太网通讯。通过上述使用稳联技术CanOpen转ProfiNet网关
    的头像 发表于 02-20 17:01 574次阅读
    颠覆想象!<b class='flag-5'>CanOpen</b>转ProfiNet网关重塑纠偏系统格局

    APM8系列网络电力仪表

    详细情况可与我联系咨询:缪志澄 18860991782 安科瑞电气APM系列网络电力仪表是按IEC标准设计,与国际先进技术同步的网络电力仪表。具有全电量测量电能统计,电能质量分析及网络
    的头像 发表于 02-05 15:39 918次阅读
    APM8<b class='flag-5'>系列</b><b class='flag-5'>网络</b>电力仪表

    2025必备知识,CANopen转EtherCAT协议允许配备啥协议的电气设备

    CANopen转EtherCAT稳联技术(WL-COP-ECAT)协议允许配备 CANopen 的设备在基于 EtherCAT 的工业以太网网络上使用。
    的头像 发表于 12-29 09:50 719次阅读
    2025必备知识,<b class='flag-5'>CANopen</b>转EtherCAT协议允许配备啥协议的电气设备