CANopen NMT命令与节点状态解析

简介: NMT(网络管理)是CANopen核心机制,主站通过0x00优先ID帧统一管控从站状态(启停、复位、拓扑管理)。命令含2字节:首字节为功能码(如0x01启动、0x82复位通信),次字节为Node-ID(0x00广播)。配合心跳报文(COB-ID=0x700+ID)实现状态监控与故障诊断。


简介
NMT(Network Management,网络管理)是CANopen的核心管理机制,用于主站统一管控从站状态、启停设备、复位节点、管理总线拓扑,是整个网络的“总指挥系统”,因此NMT指令固定使用0x00的帧ID,具有最高总线仲裁优先级;

NMT命令组成
帧数据由两个字节组成,第一个字节为命令代码(见下表1),第二个字节代表被控制的节点Node-ID,使用0x00可对整个CAN网络节点进行控制;

表 1 NMT命令代码

命令代码

功能

0x01

启动命令,让节点进入操作状态

0x01

停止命令,让节点进入停止状态

0x80

进入预操作状态命令,让节点进入预操作状态

0x81

复位节点应用层命令,让节点的应用恢复初始状态

0x82

复位节点通讯命令,让节点的CAN和CANopen通讯重新初始化,一般用于总线受到干扰,导致节点总线错误被动,或者总线关闭时

NMT节点状态与心跳报文
在 CANopen 总线系统的实际工程应用场景中,为实现对总线上各个从站节点的在线状态持续监测,同时实时获取节点当前运行状态信息,行业内普遍要求处于正常工作状态的从节点按照固定周期主动向外发送状态报文,该报文也就是常说的心跳报文。主控制器可以通过持续接收心跳报文,实时判定对应从站是否出现离线、通讯中断等故障问题,同时结合报文内容完成节点状态解析,第一时间开展异常排查与应急处理工作。

心跳报文的功能配置主要依托两个关键对象字典参数完成,分别是消费者心跳超时参数(索引 0x1016)与生产者心跳周期参数(索引 0x1017),其中生产者心跳周期为16位无符号短整型,单位为毫秒,将该参数数值设置为0时,代表关闭当前节点的心跳报文发送功能,而消费者心跳超时为32位无符号整型(如图 1)。

CANopen协议规定,心跳报文的通信对象COB-ID遵循固定规则,统一由0x700加上设备自身节点ID组合而成。

图 1 消费者心跳配置超时结构

消费者心跳超时,该对象为期望的心跳周期,从接收第一次心跳开始监测心跳生产者,支持最大监控0到127个Node-ID,通过最大127组子索引的第16位到第23位配置Node-ID,低16位配置判断周期,单位ms,当出现超时是设备应用层做出相应的错误或者推送EMCY报文;

表 2 节点状态

状态代码

说明

0x00

初始化状态(Initialising)

0x04

停止状态(Stopped)

0x05

操作状态(operational)

0x7F

预操作状态(Pre-operational)

停止状态(Stopped):

停止状态CANopen设备终止所有通信服务(激活节点保护和心跳通讯除外),这种状态可用于实现特定的应用行为,这种行为属于设备协议和应用协议的范畴,此状态下触发的EMCY 消息将被挂起,在切换到其它状态后,最近的 EMCY 将被激活。

预操作状态(Pre-operational):

在预操作状态允许进行SDO通信,不允许PDO通信,此状态通常用于配置PDO的参数和映射对象(PDO 映射)等,CANopen设备可以由NMT启动远程节点服务或通过本地控制由此状态切换至运行态。

操作状态(operational):

此状态允许所有通信服务(PDO、SDO、SYNC、TIME、EMCY、NMT),支持PDO传输,可通过SDO访问数据字典,以及可以进行SYNC、TIME、EMCY、NMT通讯对象。

表 3 NMT状态与通讯对象关系

停止状态

预操作状态

操作状态

NMT

支持

支持

支持

SDO

不支持

支持

支持

SYNC

不支持

支持

支持

TIME

不支持

支持

支持

EMCY

不支持

支持

支持

PDO

不支持

不支持

支持

NMT状态机
初始化态分为三个子状态(如图 2虚线框),以便能够完全或部分复位CANopen设备。

1.初始化:CANopen上电或硬复位后的第一个NMT子状态,执行基本的CANopen设备初始化后自动进入复位应用子状态。

2.复位应用:该子状态下,制造商协议区和标准设备协议区参数被赋上电值,之后自动进入复位通信子状态。

3.复位通信:该子状态下,通信协议区参数被赋上电值,然后CANopen设备执行 boot-up 写服务并进入预运行态。

图 2 CANopen设备NMT状态图

流程

说明

(1)

上电自动进入NMT初始化,自动进入NMT复位应用子状态

(2)

自动进入NMT 复位通信子状态

(3)

NMT 初始化执行完成---自动进入配置态

(4)

由 NMT服务启动远程节点或由本地控制

(5)(6)

由 NMT服务进入预运行态

(8)(9)

由 NMT 服务停止远程节点

(7)

由 NMT服务启动远程节点

(10)(11)(12)

由 NMT 服务复位远程节点

(13)(14)(15)

由 NMT服务复位远程节点的通信

相关文章
|
监控 物联网 开发工具
MQTT常见问题之MQTT云端sdk消费者 出现重复消费如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
数据可视化 中间件 API
FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)
熟悉 在 STM32 CubeMX 下面的 FreeRTOS 使用
6451 1
FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)
|
3月前
|
人工智能 IDE API
阿里云Qoder完全使用指南:从安装配置到Agentic编码实战
本文系统介绍阿里云Qoder这一Agentic编码平台的完整使用方法。Qoder是面向软件开发的AI智能编码助手,支持桌面IDE、命令行CLI和JetBrains插件三种接入方式,可通过按量付费、Coding Plan或Token Plan团队版接入阿里云百炼大模型。文章详细讲解Qoder IDE的安装配置、模型接入凭证设置、Editor与Quest双模式切换、智能代码补全与问答交互、Cloud Agent的API调用流程,以及企业级知识库增强、MCP扩展、Skills技能等高级特性。同时分享Quest模式下的Spec驱动开发、网站搭建、原型探索三种场景实践,并给出亚信科技等企业的真实落地案例
|
6月前
|
人工智能 安全 Linux
零门槛教程|OpenClaw 阿里云/本地部署+千问/Coding Plan API配置全指南
2026年,开源AI智能体领域迎来现象级产品——OpenClaw(曾用名Clawdbot,因Logo酷似小龙虾被网友亲切称为“小龙虾”)。这款以“Local-First”为核心特色的AI框架,彻底打破传统AI“只说不做”的局限,能通过自然语言指令自主规划任务、调用工具、执行实际操作,涵盖文件管理、邮件收发、日程规划、代码生成、跨平台协同等全场景,真正实现“指令输入→AI规划→工具调用→任务落地”的闭环,成为个人与轻量团队提升效率的核心装备。
2358 8
|
3月前
|
存储 人工智能 运维
企业呼叫中心深度选型:SaaS、混合云、私有化部署架构技术对比(2026)
随着企业客服数字化、外呼业务合规化、政企数据安全管控升级,呼叫中心已从传统电话接待工具,演变为全渠道客户联络中台。企业在建设呼叫中心体系时,常会遇到部署架构选择、功能适配、合规落地、系统集成等共性问题。 本文从技术架构、部署模式、业务场景、合规体系、集成能力五个维度,系统性解析企业呼叫中心选型逻辑,客观梳理主流技术方案特征,帮助企业技术负责人、运维、架构师建立标准化选型依据。全文为纯技术调研分析,无商业导向。
363 0
|
5月前
|
传感器 数据采集 物联网
别再瞎选了!LoRa、Wi-Fi、蓝牙3种无线技术选型指南,看完再也不踩坑
LoRa、Wi-Fi、蓝牙看起来都能无线传输,实际用起来天差地别,选错了轻则项目延期,重则直接推倒重来。今天就用最通俗易懂的方式讲清三者的核心差异,帮你一次性搞懂不同场景该怎么选。
|
5月前
|
编译器 开发工具 C语言
【2026最新】CLion下载安装和汉化保姆级教程(超级肝,新手必看)
CLion 是 JetBrains 推出的专业 C/C++ 跨平台 IDE,支持 Windows/macOS/Linux,集成智能代码补全、实时分析、GDB/LLDB 调试、CMake 构建及 Git 版本控制,兼容 GCC/Clang/MSVC 编译器,大幅提升开发效率。(239 字)
|
6月前
|
网络协议 物联网 网络安全
EWM103-W15SP系列WiFi模块与电脑TCP透传通信教程
本教程详解亿佰特EWM103-W15SP WiFi模块的TCP透传通信配置,涵盖AP模式(模块作热点+TCP Server)和STA模式(模块连路由器+TCP Client)两种方案,含AT指令配置、网络参数设置及数据收发测试全流程。
|
6月前
|
数据采集 传感器 物联网
LoRa无线分布式IO模块搭配E90/E95/E96-SL系列DTU数传电台的数据采集方案教程
本教程主要演示M31系列LoRa分布式远程IO模块搭配E90/E95/E96- SL系列DTU数传电台的数据采集教程。
|
6月前
|
监控 安全 算法
从智慧医疗到多元商业场景的室内人员定位技术应用详解
GPS室内失效?蓝牙信标定位技术应运而生!通过信标部署、信号接收与算法解算,实现1–5米高精度定位。已广泛应用于智慧医疗(导诊/设备管理)、文旅(智能导览)、工业(安全监控)、商业(寻车/精准营销)等场景,以低功耗、低成本赋能空间智能化升级。如果您想进一步了解室内人员定位技术的技术和案例,欢迎关注、评论留言~也可搜索维构lbs智能定位。