CANopen | 网络管理NMT02 - 节点状态切换命令

一、前言


上一节演示了一些能控制CANopen节点的CAN报文,这些都是节点状态切换命令。值得注意的是,这些节点状态切换命令不一定非要CANopen主站发送,CANopen从站也可以发送这些NMT报文。我们可以在STM32的程序里面编写一段代码,在某些条件下,调用FDCAN底层直接发送CAN报文,控制CANopen网络上的各个CANopen节点(包括节点状态切换命令)。
在这里插入图片描述
CANopen节点的状态切换的示意图:
在这里插入图片描述
准备好硬件:
1、STM32H743开发板(已经移植CANopen协议)
2、CAN盒子
在这里插入图片描述

二、命令


2.1、启动命令0x01

启动命令最常用了,请务必掌握使用。在上一章说到,CANopen节点处于操作状态时,PDO功能才启动。很多同学在调试CANopen节点时忘记这一点,不知道为什么CANopen节点没有发送PDO,也不能接收PDO。还以为PDO的发送参数,PDO的映射对象设置有问题。结果搞了半天才发现CANopen节点的状态不对,最后往CANopen从站发送一条NMT报文就解决了问题(其实就是将CANopen节点的状态切换至Operational,使能PDO功能)。
在这里插入图片描述
从下图可以看到,预操作状态与操作状态可以互相切换。
在这里插入图片描述
让CAN总线上所有节点进入操作状态。发送的CAN报文格式如下:

  • CANID :0x000
  • 帧长度:0x02
  • 帧类型:数据帧(CANopen协议只会用数据帧,淘汰了远程帧)
  • 数据段:0x01,0x00
    在这里插入图片描述
    让某个节点进入操作状态,发送的CAN报文格式如下:
  • CANID : 0x00
  • 帧长度:0x02
  • 帧类型:数据帧
  • 数据段:0x01,0x05(节点的Node-ID)
    在这里插入图片描述

2.2、停止命令0x02

在实际工作上,CANopen网络上连接着十几个,甚至可能有数十个CANopen节点。如果我只想关注Node-ID为0x05的节点发出来的CAN报文,其他所有CANopen节点的CAN报文我都不想看到(包括心跳报文)。此时,我可以发出NMT管理报文,先让所有的CANopen节点进入停止状态,CANopen网络上将看不到任何报文。接着,我发送NMT报文复位节点应用层(81h),让CANopen节点(0x05)复位。
其实,针对这种情况,我还有一个终极大招:将其他CANopen节点的电源都关闭,让它们没有办法工作!!
在这里插入图片描述
在这里插入图片描述
在CANbus总线上发送以下指令:

  • CANID : 0x00
  • 帧长度:0x02
  • 帧类型:数据帧
  • 数据段:0x02,0x00(总线上所有节点)
    有意思的是,CANopen从站收到该命令后,心跳报文停止了。
    在这里插入图片描述

2.3、进入预状态0x80

在CANbus总线上发送以下指令,可以让CANopen节点回到预操作状态。此时,CANopen节点的PDO功能被关闭,SDO功能正常使用。
在这里插入图片描述

  • CANID : 0x00
  • 帧长度:0x02
  • 帧类型:数据帧
  • 数据段:0x80,0x05(Node-ID为0x05的CANopen节点)
    在这里插入图片描述

2.4、复位节点应用层0x81

“复位节点应用层“非常常用。每一个CANopen节点都有一份对象字典,我们可以通过发送CAN报文去修改某个CANopen节点上的对象字典。万一不小心将对象字典修改错了,CANopen节点出现了奇怪的现场。此时,比如我们想复位这个CANopen从站,让它的对象字典回到初始化的状态。有两种方法可以解决:1、重启CANopen节点的电源,让CANopen节点的系统复位(简单暴力)。2、使用”复位节点应用层“命令,让某个CANopen节点的软件进行复位。
在这里插入图片描述

  • CANID : 0x00
  • 帧长度:0x02
  • 帧类型:数据帧
  • 数据段:0x81,0x05(Node-ID为0x05的CANopen节点)
    在这里插入图片描述

2.5、复位节点通讯0x82

跟上面的那些指令的用法类似,同学们自行尝试。
在这里插入图片描述

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wallace Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值