NMT

NMT主要用来管理和控制各个节点的状态,具体协议可以分为以下四类:

  1. NMT protocol
  2. Node guard protocol
  3. Heartbeat protocol
  4. Bootup protocol

NMT protocol

该协议是CANopen中网络管理的协议,控制和管理节点的状态,通过发送相关报文,可以让目标节点进入特定的工作状态。工作状态有以下几种

  • Initialization(初始化): 节点开始时进入初始化状态。
  • Pre-operational(预操作): 节点处于准备状态,但不参与正常的PDO(Process Data Object)通信。
  • Operational(操作): 节点完全进入操作模式,允许PDO通信。
  • Stopped(停止): 节点停止所有的通信。

NMT命令通常由网络管理器发送,命令包括:

命令 描述 cs值
Start Remote Node 将节点切换到Operational模式 0x01
Stop Remote Node 将节点切换到Stopped模式 0x02
Enter Pre-operational 将节点切换到Pre-operational模式 0x80
Reset Node 重置节点,重新启动节点 0x81
Reset Communication 重置节点的通信部分 0x82

其具体值为cs值(一字节)+nodeid(一字节)

Note : To command all the nodes, use nodeId = 00

Examples

  • To put the node 0x6 in operational mode : 000 01 06
  • To put all the nodes in pre-operational mode : 000 80 00

Node Guard protocol

节点监护协议(Node Guard protocol),用于主设备监控从设备的状态。由主设备定期发送,如从节点没在规定时间内回应,则主节点认为该节点出现了故障。(该报文中有翻转位)

Heartbeat protocol

心跳协议(Heartbeat protocol),是节点监护协议的简化版本,心跳协议不需要主设备定期发送消息来请求从设备回应,而是每个节点自主发布心跳报文。(该报文中没有翻转位)

Bootup protocol

Bootup协议是CANopen节点在启动时,通知主设备其状态的协议,在初始化进入预操作状态时,该节点会发送Bootup表示节点已经初始化完成,并且可以接收管理指令。

CANopen学习笔记(三)NMT的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  3. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  4. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  5. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  6. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  7. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  10. Typescript 学习笔记三:函数

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. 中台框架模块开发实践-用 Admin.Core 代码生成器生成通用代码生成器的模块代码

    前言 之前分享中台 Admin.Core 的模块代码生成器,陆续也结合群友们的反馈,完善了一些功能和模板上的优化,而本篇将基于此代码生成器生成一个通用代码生成器模块的基本代码 后续再在此代码的基础上进 ...

  2. vba--分拆工作薄

    Sub 分拆工作薄() '分拆工作薄到当前文件夹 Dim sht As Worksheet Dim MyBook As Workbook Application.DisplayAlerts = Fal ...

  3. Go 使用原始套接字捕获网卡流量

    Go 使用原始套接字捕获网卡流量 Go 捕获网卡流量使用最多的库为 github.com/google/gopacket,需要依赖 libpcap 导致必须开启 CGO 才能够进行编译. 为了减少对环 ...

  4. SpringBoot实现RequestBodyAdvice和ResponseBodyAdvice接口

    Spring Boot 提供了一种机制,允许开发者在请求体(RequestBody)和响应体(ResponseBody)被处理之前和之后执行自定义逻辑.这通过 RequestBodyAdvice 和 ...

  5. 创业型公司和BAT大厂招聘要求有什么不同?

    背景 很多Java初学都关心这么一个问题,Java学到什么程度以后可以找到第一份工作.大家的目标都很明确,也很实在,学习Java无非就是为了找工作,那到底我要学多少Java知识,才可以找到第一份工作呢 ...

  6. Bom浏览器对象模型 -- 手稿

    ------------恢复内容开始------------ ------------恢复内容结束------------ ------------恢复内容开始------------ ------- ...

  7. SpringBoot 启动时报错Unable to start embedded Tomcat

    导读 最近公司有个gradle构建的工程,需要改造成maven方式构建(点我直达).转为maven后,启动时一直报tomcat错误,最终排查是因为servlet-api这个包导致的依赖冲突,将这个依赖 ...

  8. 实用!一键生成数据库文档的神器,支持MySQL/SqlServer/Oracle多种数据库

    Screw(螺丝钉)是一款简洁好用的数据库表结构文档生成工具,它的特点是:简洁.轻量.设计良好.多数据库支持.多种格式文档.灵活扩展以及支持自定义模板,对于有经常要进行数据库设计.评审.文档整理等需求 ...

  9. EXPLAIN sql优化方法

    select A . id , A . title , B . title from jos_content   A left join jos_categories B on A . catid = ...

  10. 高程读后感(四)— 关于BOM本人容易忽略的知识点总结

    目录 window对象 window对象上属性及方法 超时调用setTimeout和间歇调用setInterval BOM location对象及其位置操作 history对象 window对象 wi ...