当前位置: 首页 > news >正文

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

参考教程: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字节的错误代码。

http://www.zskr.cn/news/1425818.html

相关文章:

  • 焦作市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 虚假信息全链条解析:从AI生成到区块链溯源的对抗策略
  • 揭阳市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 171、运动控制中的标定:摩擦力与死区补偿标定
  • 告别编译噩梦:用CP2K Toolchain脚本在Ubuntu上一键搞定GCC、GFortran和MKL依赖
  • AI Agent:macOS Sequoia 部署 OpenClaw 完整教程
  • 大语言模型代码切换推理行为:分类、评估与优化实践
  • Windows Server 2008 R2上MySQL 8.0保姆级安装教程(含VCRUNTIME140.dll报错解决方案)
  • 别再Switch硬凑了!手把手教你用Simulink三维查表搞定动态Z轴数据(附完整模型)
  • 科技巨头降本增效实战:云成本优化与新兴技术战略解析
  • 接口设计说明
  • 别再只会systemctl restart了!深入Linux服务管理:以lightdm启动失败为例讲透systemd日志分析
  • 告别密密麻麻!ECharts legend数量太多?用scroll分页和vertical布局轻松搞定
  • 别再手动调优了!Spark动态资源分配实战:从YARN到K8s的完整配置与避坑指南
  • 虚拟观众框架:从单向输出到双向模拟的内容创作效能提升指南
  • 2026年最新口碑手机阅读器排行榜,你的选择指南
  • 如何通过编译规则强制AI服从:实现结构化与确定性输出的工程实践
  • 172、运动控制中的标定:多轴联动标定
  • AI辅助自我探索:用大语言模型进行结构化情感疗愈的实践指南
  • 维修电工转行PLC编程:为什么我放弃ST语言,用CFC图形化编程更顺手?
  • 非AI聊天机器人构建指南:规则引擎与状态机的工程实践
  • 2026年东台市最新黄金回收靠谱门店口碑榜 黄金+K金+白银+铂金回收门店TOP5排行榜+联系方式 - 大熊猫898989
  • 电路图自动化转换:从图像到网表的技术突破
  • 2026年大同市最新黄金回收靠谱门店口碑榜 黄金+K金+白银+铂金回收门店TOP5排行榜+联系方式 - 大熊猫898989
  • UT3框架:实时单目深度估计的域自适应优化
  • 从拨号上网到光纤入户:聊聊PPP协议那些年我们踩过的坑
  • 楚雄市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 用Multisim和AD2复刻经典:三角波方波发生器的仿真、实测与避坑全记录
  • 告别干声焦虑:用UVR5和slicer-gui,从任意视频/音频快速制作VITS训练数据集
  • 红日靶场(二)实战复盘:从WebLogic漏洞到域控提权的完整攻击链分析