news 2026/5/30 6:08:38

伺服控制入门 第二章——伺服控制的通信协议基础(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
伺服控制入门 第二章——伺服控制的通信协议基础(二)

参考教程:https://www.bilibili.com/video/BV14q4y147PU?spm_id_from=333.788.videopod.episodes&vd_source=8f8a7bd7765d52551c498d7eaed8acd5

二、CANopen基础(下)

1、CANopen紧急报文

(1)紧急报文是事件触发型报文,仅当设备内部出现的致命错误时触发,以最高优先级发送到其它设备,适用于中断类型的错误报警信号。

(2)一个紧急报文的数据段包含8个字节,报文格式如下:

(3)16进制的应急错误代码如下表所示,应急错误代码中“xx”部分由相应的设备子协议定义。

(4)错误寄存器(Error Register)在设备的对象字典(索引0x1001)中有定义。下表说明了错误寄存器的位定义,设备可以将内部错误映射到这个状态字节中,快速查看当前错误。

2、SDO通讯

(1)SDO(Service Data Object,服务数据对象)概述:

①SDO主要用来在设备之间传输低优先级的对象,典型是用来对从设备进行配置、管理,比如修改速度环、位置环的PID参数,以及修改PDO配置参数等。

②通过使用索引和子索引,SDO使客户机能够访问(读或写)设备对象字典中的对象。

③通常情况下,传输的数据长度不超过4个字节,当数据长度超过4个字节时,需要分拆成几个报文。

④SDO协议是确认服务类型,每个请求消息都需要生成一个应答。SDO请求和应答报文总是包含8个字节。

(2)SDO的通讯对象标识符,使用中具体定义规则如下:

对象

COB_ID

COB_ID范围

通讯对象

Tx-SDO(请求报文)

0x600+节点地址

0x601-0x67F

/

Rx-SDO(应答报文)

0x580+节点地址

0x581-0x5FF

/

(3)SDO读报文格式:

①SDO读报文的请求报文格式如下,其中命令字为0x40,Byte4-7为缺省内容,可填充0。

②SDO读报文的应答报文格式如下,Byte4-7为根据索引寻到的数据(最大4字节),根据数据的大小,命令字的选取如下:

如果数据为1字节,则命令字为0x4F

如果数据为2字节,则命令字为0x4B

如果数据为3字节,则命令字为0x47

如果数据为4字节,则命令字为0x43

如果失败,则命令字为0x80

(4)SDO读报文示例:

读取设备站号为0x01的伺服实际位置(Index为6063,Sub_Index为00,数据宽度为20bits),读到的数据是4个字节,CANopen数据低字节在前、高字节在后(小端模式),所以数据为FFFFFD113H(补码形式),转换成10进制即为-12013

请求(发送)报文的命令字为0x40,Bit4-Bit7缺省,以“0”填充;回应的数据长度为4个字节,所以应答(回应)报文的命令字为0x43

(5)SDO写报文格式:

①SDO写报文的请求报文格式如下,Byte4-7为请求写入对象索引指向对象的数据(最大4字节),根据数据的大小,命令字的选取如下:

如果数据为1字节,则命令字为0x2F

如果数据为2字节,则命令字为0x2B

如果数据为3字节,则命令字为0x27

如果数据为4字节,则命令字为0x23

②SDO写报文的请求报文格式如下,Byte4-7为缺省内容,可填充0或者主站请求写入的数据,如果写入成功,命令字为0x60,否则命令字为0x80。

(6)SDO写报文示例:

写设备站号为0x01的伺服目标位置(Index为607A,Sub_Index为00,数据宽度为20bits),请求写入的数据是4个字节,CANopen数据低字节在前、高字节在后(小端模式),所以数据为100000,转换成16进制即为000186A0H(补码形式)

请求的数据长度为4个字节,所以请求(发送)报文的命令字为0x23;应答(回应)报文的命令字为0x60,Bit4-Bit7缺省,以主站请求写入的数据填充

(7)如果SDO通讯失败,从站回复的报文格式如下,命令字为0x80,Bit4-Bit7为4字节的错误代码。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 6:07:59

如何制定CSP-J备赛计划而不影响学业

‌要制定不影响学业的CSP-J备赛计划,核心原则是「锚定优先级、控量不超时、错峰安排、动态调整」,以下是可直接套用的完整落地方案,完全适配小学生:‌ 一、先定不可突破的规则红线(从根源避免影响学业) 1…

作者头像 李华
网站建设 2026/5/30 6:07:27

UE5蓝图实战:用Actor和后期处理,5分钟搞定一个电影级监控摄像头效果

UE5蓝图实战:5分钟打造电影级监控摄像头的三大风格化方案监控摄像头效果在恐怖、科幻或悬疑类游戏中常被用作环境叙事的关键元素。传统实现方式往往需要复杂的材质编辑或后期处理堆叠,而本文将展示如何通过蓝图Actor的模块化设计和后期处理体积的参数微调…

作者头像 李华
网站建设 2026/5/30 6:04:57

机器学习与人工共情:旅游业人机协作的未来蓝图

1. 为什么说“机器学习永远无法取代旅游业中的人工支持”?最近几年,每次和朋友聊起旅行,话题总会不自觉地滑向各种App和智能工具。从算法推荐的特价机票,到24小时在线的客服机器人,再到酒店的无接触入住,技…

作者头像 李华
网站建设 2026/5/30 6:03:57

172、运动控制中的标定:多轴联动标定

运动控制中的标定:多轴联动标定 从一次现场“鬼畜”运动说起 去年在调试一台五轴点胶机时,客户反馈设备运行到某个特定轨迹时,胶水总是偏了0.3mm。我盯着示波器看了三个小时,伺服驱动器反馈的位置误差都在允许范围内,单轴回零精度也达标。直到我把三个轴的位置数据同时抓…

作者头像 李华
网站建设 2026/5/30 6:00:13

AI Agent:macOS Sequoia 部署 OpenClaw 完整教程

macOS Sequoia 部署 OpenClaw 完整教程(3种方案:一键脚本/源码编译/Docker容器)系统要求:macOS 15 Sequoia,内存≥8GB(推荐16GB)、磁盘空闲≥1GB;Node≥22.16,官方脚本自…

作者头像 李华