CANopen 学习笔记(1)

预定义CAN ID

对象规范CAN ID
NMT 网络管理命令CiA301000h
Sync 同步报文CiA301080h
Emergency 紧急报文CiA301081h to 0FFh(080h +node-ID)
Time stamp 时间戳报文CiA301100h

对象字典索引和描述

Index range 索引范围Description 描述
1000h ~ 1FFFhCommunication profile area 通讯对象子协议区
2000h ~ 5FFFhManufacturer-specific profile area 制造商特定子协议区
6000h ~ 9FFFhStandardized profile area 标准化设备子协议区
A000h ~ AFFFhNetwork variables 网络变量(符合 IEC61131-3)

通用通讯对象

在这里插入图片描述
在这里插入图片描述

NMT节点状态

预操作状态(Pre-operational):节点的CANopen通讯处于操作就绪状态,此时此节点不能进行PDO通信,而可以进行SDO进行参数配置和NMT网络管理的操作
操作状态(operational):节点收到NMT主机发来的启动命令后,CANopen通讯被激活,PDO通信启动后,按照对象字典里面规定的规则进行传输,同样SDO也可以对节点进行数据传输和参数修改
停止状态(Stopped):节点收到NMT主机发来的停止命令后,节点的PDO通信被停止,但SDO和NMT网络管理依然可以对节点进行操作
心跳报文和节点状态 :CANID 与节点上线报文相同为700h+Node-ID,数据为 1 个字节,代表节点目前的状态,04h为停止状态,05h为操作状态,7Fh为预操作状态。

NMT节点状态切换命令

CANID 均为 000h,具备最高的 CAN 优先级。数据为 2 个字节

第 1 个字节代表命令类型

01h 为启动命令(让节点进入操作状态);
02h 为停止命令(让节点进入停止状态);
80h 为进入预操作状态(让节点进入预操作状态);
81h 为复位节点应用层(让节点的应用恢复初始状态,比如列车门都恢复打开状态);
82h 为复位节点通讯(让节点的 CAN 和 CANopen 通讯重新初始化,一般用于总线收到干扰,导致节点总线错误被动,或者总线关闭时)。

第2个字节代表被控制的节点 Node-ID:
如果要对整个网络所有节点同时进行控制,则这个数值为 0 即可。

PDO 通讯

在这里插入图片描述

PDO 通信参数,定义了该设备所使用的 COB-ID、传输类型、定时周期等。
RPDO 通讯参数位于对象字典索引的 1400h to 15FFh,映射参数 1600h to 17FFh
TPDO 通讯参数位于对象字典索引的 1800h to 19FFh,映射参数 1A00h to 1BFF
数据存放在 2000h 之后的自定义区域

SDO 通讯

发送方(客户端)发送 CAN-ID 为 600h+Node-ID 的报文,其中 Node-ID 为接收方(服务器)的节点地址,数据长度均为 8 字节;

接收方(服务器)成功接收后,回应 CAN-ID 为 580h+Node-ID 的报文。这里的 Node-ID依然是接收方(服务器)的节点地址,数据长度均为 8 字节。

快速SDO CS命令符

在这里插入图片描述

普通SDO CS命令符

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值