00_NMT网络管理的模块控制

目录

NMT服务

NMT错误控制

NMT 节点守护

HeartBeat Message 心跳报文

NMT Boot-up


在can网络中,只有主站可以发送控制信息,来控制从站,从站不需要发送对网络控制消息的响应消息。

网络管理系统负责初始化、启动及停止网络及网络中的设备,属于主从系统。

CANopen网络中有且只有一个NMT主机,可以配置本身在内的CANopen网络。

NMT服务

 CANopen按照协议规定的状态机执行相应的工作。其中,部分为内部自动实现切换,部分必须由NMT主机发送NMT报文实现转换,具体如下图所示:

 NMT报文的COB-ID固定是0x000

数据区由2个字节组成:第一个字节是命令字,表明该帧的控制作用。

第二个自己是节点地址,当值为0时,表明为广播消息,网络中的所有从设备都有效。

NMT报文格式

 设备节点Node-ID值为0时,所有的设备节点都被寻址。

CS:command specifier

 设备上电后会自动进入初始化状态,包括正在初始化、复位节点和复位通信。正在初始化将各个模块的参数加载,而复位节点将对象字典制造商定义区和子协议区恢复到上次保存值,复位通信将对象字典中通信参数恢复到上次保存值。

而后设备发送Boot-up,自动进入预操作状态,此状态为主要的配置节点状态。

完成配置后,节点需要NMT主站发送NMT报文进入操作状态,操作状态是CANopen节点正常工作时的状态,各个模块的功能都应能够正常工作。

0x000 0x01  0x0      // 启动所有节点

0x000 0x01  0x03    // 启动节点3

0x000 0x02  0x03    // 停止节点3

0x000 0x80  0x03    // 节点3进入预操作状态

0x000 0x81  0x03    // 复位节点3

0x000 0x82  0x03    // 复位节点3通信

NMT错误控制

NMT错误控制主要用于检测网络中的设备是否在线和设备所处的状态,包括节点守护、寿命保护和心跳。

备注:不允许同时使用节点守护个心跳;

节点保护、寿命保护和心跳的事件不宜设置过短,否则网络负载比较大。

NMT 节点守护

未完待续......................

节点守护是主站查询从站的状态,然后从站响应返回相应的从站状态。

The NMT-Master sends a CAN remote frame (no data bytes) as follows:

NMT主站节点发送一个远程帧(没有数据)如下所示:

COB-ID
0x700+Node-ID

从设备节点返回一个消息

COB-ID

Byte 0

0X700+NODE-ID

Bit7:toggle; bit6-0:state

转换位toggle bit: 在每次节点守护请求时,值在0与1之间交替切换(第一次的值是0)

state的值定义如下:

Value

State

0

初始化中:Initialising

1

未连接:Disconnected

2

连接中:Connecting

3

准备中:Preparing

4

停止:Stopped

5

操作状态:Operational

127

预操作状态:Pre-operational

HeartBeat Message 心跳报文

心跳是生产者定时发送一个心跳报文报告自己的状态给心跳的消费者。

这是一种生产者消费者的通信模型

生产者可以是主站也可以是从站,消费者可以是主站也可以是从站。

HEARTBEAT Producer ⇒ Consumer(s)

COB-ID

Byte0

0X700+NODE-ID

state

state

Meaning

0

Boot-up

4

Stopped

5

Operational

127

Pre-operational

NMT Boot-up

设备发送一个启动消息告诉主站自己已经从初始化进入到预操作状态

An NMT-Slave issues the Boot-up message to indicate to the NMT-Master that it has entered the state Pre-operational from state Initialising:

NMT-Master <= NMT-Slave

COB-ID

Byte 0

0X700+NODE-ID

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值