CANopen 学习笔记(1)

devtools/2025/1/12 1:23:57/

预定义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命令符

在这里插入图片描述


http://www.ppmy.cn/devtools/149745.html

相关文章

Messari 2024 年行业总结及 2025 年趋势预测

作者:Techub News 撰文:Messari 团队 整理:Yangz,Techub News 注:原文篇幅较长,建议阅读时间在 3 个小时左右。为方便读者,Techub News 进行了删减与总结。 2024 年是加密货币行业转型和重振的…

银河麒麟服务器操作系统桌面任务栏网络图标消失问题

前段时间在银河麒麟系统上遇到一些问题,服务器上桌面任务栏上的网络图标消失了,网络连接也打不开,最后使用nmtui命令才打开了网络连接配置界面,并成功连接到网络。(我的系统:Kylin Advanced Server V10 SP3…

Spring Boot 项目启动报 NoClassDefFoundError 异常的原因分析与解决方案 - jackson 版本不一致

目录 报错: 问题分析: 解决方案: 方案 1:对 Jackson 版本进行统一 方案 2:升级 Springfox 版本 方案 3:替换 Springfox 为 springdoc-openapi(推荐) 方案 4:排除冲突的 Jack…

pytorch 比较两个张量的是否相等的函数介绍

在 PyTorch 中,可以使用多种函数来比较两个张量是否相等,具体选择取决于对比较精度的需求以及可能的数值误差。以下是常用的比较方法: 1. 完全相等的比较 (1) torch.eq 逐元素比较两个张量是否相等,返回布尔张量。 import torc…

VM下载使用mysql

1.在线yun库 配置本地仓库 [root192 ~]# cd /etc/yum.repos.d/[root192 yum.repos.d]# vim s.repo[baseos] namebaseos baseurl/mnt/BaseOS enable1 gpgcheck0 [app] nameappstream baseurl/mnt/AppStream enable1 gpgcheck0 ~ …

Java阶段四03

第4章-第3节 一、知识点 Mybatis-Plus、mapstruct 二、目标 理解为什么要过滤敏感字段 如何使用查询过滤 Mybatis-Plus如何使用联表分页查询 如何实现字段的自动填充 三、内容分析 重点 掌握几种过滤敏感字段的方式 掌握Mybatis-Plus的联表分页查询方式 掌握字段自动…

IPV6离线地址库Java版(极致性能,无内存分配,申请了专利)

IPV6版本的技术含量就比V4版本的高了很多,当时还申请了技术专利的,也一样贴给大家看看。 IPV6离线数据包构建 package com.bob.common.utils.ip.v6;import java.io.ByteArrayInputStream; import java.math.BigInteger; import java.util.ArrayList; i…

Wi-Fi Direct (P2P)原理及功能介绍

目录 Wi-Fi Direct (P2P)介绍Wi-Fi Direct P2P 概述P2P-GO(P2P Group Owner)工作流程 wifi-Direct使用windows11 wifi-directOpenwrtwifi的concurrent mode Linux环境下的配置工具必联wifi芯片P2P支持REF Wi-Fi Direct &#xff…