CanOpen通信----PDO与SDO

34 篇文章 11 订阅
订阅专栏
12 篇文章 4 订阅
订阅专栏

CanOpen通信----PDO与SDO

服务数据对象SDO

服务数据对象 (SDO) 通过对象索引和子索引与对象字典建立联系, 通过SDO 可以读取对象字典中的对象内容, 或者在允许的情况下修改对象数据。

SDO 传输框架

SDO 传输方式遵循客户端—服务器模式,即一问一答方式。由 CAN 总线网络中的 SDO 客户端发起,SDO 服务器作出应答。因此, SDO 之间的数据交换至少需要两个 CAN 报文才能实现, 而且两个 CAN 报文的 CAN 标识符不一样。
在这里插入图片描述

SDO 传输报文

SDO 的传输分为不高于 4 个字节和高于 4 个字节的对象数据传输。 不高于 4 个字节采用加速 SDO 传输方式,高于 4 个字节采用分段传输或块传输方式。SDO 传输报文由 COB-ID 和数据段组成。由下表 可以看出,T_SDO 和R_SDO 报文的 COB-ID 不一致。数据段采用小端模式,即低位在前,高位在后排列。 所有的 SDO 报文数据段都必须是 8 个字节。SDO 传输报文格式如下表:
在这里插入图片描述
其中, 命令代码指明了该段 SDO 的传输类型和传输数据长度, 索引和子索引是对象在列表的位置, 数据是该对象的数值。

SDO 加速写传输报文

对于不高于 4 个字节的读写, 采用加速 SDO 传输。 按照读写方式及内容数据长度的不一致,传输报文各不相同。加速 SDO 写报文如下表:
在这里插入图片描述
符号- 表示数据不予考虑,写数据时建议写 0。

SDO 加速读传输报文

SDO 读操作不高于 4 个字节的对象报文时,采用加速方式。 加速 SDO 读报文如下表。
在这里插入图片描述

SDO分段读传输报文

当数据大于4个字节时,采用分段读来执行操作,起始发送帧报文结构与加速传输报文保持一致。
起始报文结构如下
在这里插入图片描述
传输过程由命令大妈触发位(bit 6)交互发送0和1,必须保持此规律从站才给予响应。
过程报文如下
在这里插入图片描述
分段传输结束帧包含有末尾帧标志和数据长度,报文如下
在这里插入图片描述

过程数据对象PDO

过程数据对象 (PDO) 用来传输实时的数据,是 CANopen 中最主要的数据传输方式。由于 PDO 的传输不需要应答,且 PDO 的长度可以小于 8 个字节,因此传输速度快。
PDO 的映射配置遵循流程如下
在这里插入图片描述

PDO 传输框架

PDO 的传输遵循的是生产者消费者模型, 即 CAN 总线网络中生产者产生的 TPDO 可根据 COB-ID 由网络上一个或者多个消费者 RPDO 接收,传输模型如下图所示
在这里插入图片描述

PDO 对象

按照接收与发送的不同,PDO 可分为 RPDO 和 TPDO。 PDO 由通信参数和映射参数共同决定最终传输的方式及内容。 本伺服驱动器使用了 4 个 RPDO 和 4 个 TPDO 来实现 PDO 的传输,相关对象列表如下
在这里插入图片描述

PDO 通信参数

PDO 的 CAN 标识符

PDO 的 CAN 标识符即 PDO 的 COB-ID, 包含控制位和标识数据, 确定该PDO 的总线优先级。COB-ID 位于通信参数 (RPDO:1400h ~ 1403h,TPDO:1800h ~ 1803h)的子索引 01 上,最高位决定该 PDO 是否有效。
在这里插入图片描述

PDO 的传输类型

PDO 的传输类型位于通信参数 (RPDO:1400h ~ 1403h,TPDO:1800h ~ 1803h)的子索引 02 上,决定该 PDO 遵循何种传输方式
在这里插入图片描述
通信参数(RPDO:1400h1403h,TPDO:1800h1803h) 子索引 02 不同的数值代表不同的传输类型,定义了触发 TPDO 传输或处理收到的 RPDO 的方法,具体对应关系如表所示
在这里插入图片描述
● 当 TPDO 的传输类型为 0 时,如果映射数据发生改变,且接收到一个同步帧,则发送该 TPDO;
● 当 TPDO 的传输类型为 1~240 时,接收到相应个数的同步帧时,发送该 TPDO。
● 当 TPDO 的传输类型是 254 或 255 时,映射数据发生改变或者事件计时器到达则发送该 TPDO。
● 当 RPDO 的传输类型为 0~240 时,只要接收到一个同步帧则将该 RPDO 最新的数据更新到应用;当 RPDO 的传输类型为 254 或者 255 时,将接收到的数据直接更新到应用。

禁止时间

针对 TPDO 设置了禁止时间,存放在通信参数 (1800h~1803h) 的子索引03 上,防止 CAN 网络被优先级较高的 PDO 持续占有。该参数的单位是 100us,设置数值后,同一个 TPDO 传输间隔减不得小于该参数对应的时间。
举例:
TPDO2 的禁止时间为 300, 则 TPDO 的传输间隔不会小于 30ms。

事件计时器

针对异步传输(传输类型为 254 或 255)的 TPDO,定义事件计时器,位于通信参数(1800h ~ 1803h)的子索引 05 上。事件计时器也可以看做是一种触发事件,它也会触发相应的 TPDO 传输。如果在计时器运行周期内出现了数据改变等其它事件,TPDO 也会触发,且事件计数器会被立即复位。

PDO 映射参数

PDO 映射参数包含指向 PDO 需要发送或者接收到的 PDO 对应的过程数据的指针,包括索引、子索引及映射对象长度。每个 PDO 数据长度最多可达 8 个字节,可同时映射一个或者多个对象。其中子索引 0 记录该 PDO 具体映射的对象个数,子索引 1~8 则是映射内容。映射参数内容定义如下
在这里插入图片描述
索引和子索引共同决定对象在对象字典中的位置,对象长度指明该对象的具体位长,用十六进制表示,即
在这里插入图片描述

canopen协议中PDOSDO的实现方式
04-12
介绍了canopen协议中PDOSDO的实现方式
CANopen PDO-SDO应用实例讲解
09-20
CANopen PDO-SDO应用实例讲解,看完之后对于CANopen协议中的对象数据,PDOSDO能有比较全面的认识,协助进行编程。
CANopen通信----PDOSDO
波波诸葛伟
07-22 6050
https://blog.csdn.net/weixin_43956732/article/details/106606670
【经验分享】CANOPEN协议驱动移植(基于CANfestival源码架构)
最新发布
Jason_Yansir的博客
08-26 1222
基于STM32F4的CANOpen移植教程(超级详细)谈谈自己对CANOPEN协议的驱动移植理解。每个移植CANOPEN协议的请务必认真阅读《周立功CANopen 轻松入门》,其中的内容生动形象,对你移植CANOPEN代码会有很大帮助。CANopen的难点在于需要掌握的知识点比较多,如果没有移植过类似于Ethercat等协议,对新手来说并不算容易。如果移植过协议类驱动,那入手相对容易一些。
CANopenSDOPDO字典以及COB-ID理解
sunarmy的专栏
01-12 1万+
CANopen SDO PDO
CANopenSDOPDO
GuoGuoABC
11-22 4454
i :Index 1400 + n, subindex 01 ,COB_ID(通讯对象的标识符)对于RPDO来说,其通信参数的COB-ID是。
CANopen基础-PDOSDO
xiaobaidubu的博客
04-12 3219
在CANopen协议中,作为通讯对象的过程数据对象PDO(Process Data Object),服务数据对象SDO(Service Data Object),用来传输应用信息和配置信息。
PDO SDO应用实例分析,让人茅塞顿开!
03-24
PDO SDO应用实例分析,让人茅塞顿开!
CANOPENPDOSDO
zihan_li的博客
04-29 1207
首先canopen是处于通讯的应用层,常用与can总线和ethercat总线上。PDOSDO用于数据传输的方式,以配置对象字典的形式进行数据交换。PDO优先级高于SDO一般来说SDO用来进行配置,PDO传输数据使用,但是使用PDO之前要先通过SDO去配置PDO例如当主站发送了一段PDO报文201,e8 03从站是不知道这个报文代表什么意思的,所以需要先给从站配置这个PDO大体流程就是通过SDO配置PDO参数。
CANopen通信.zip_CANopen 协议_PDO SDO_canopen_canopen协议_canopen通信
09-21
CANopen是一种基于CAN(Controller Area Network)总线的通信协议,广泛应用于工业自动化、汽车电子、医疗...通过对CANopen通信的深入学习,可以有效地实现设备间的高效、可靠通信,为各种应用场景提供强大的网络支持。
PDO SDO应用实例分析
11-09
清楚的说明CANOPEN数据传输是怎么一回事,帮助理解CANOPEN协议. 学习CANOPEN的好文档
canopen实例分析之PDO
10-11
以简单的实例,透彻讲解PDO的收发过程。同济大学。
PDO_SDO.zip_PDO SDO_canopen_canopen SDO_pdosdo_sdo
09-23
PDO(Process Data Object)和SDO(Service Data Object)是CANopen通信协议中的核心概念,它们在设备间传输数据和管理参数配置上起着至关重要的作用。CANopen是一种基于CAN(Controller Area Network)物理层的高层...
YSF4_HAL_CANopen-005. SDO - 控制PDO传输方式.rar
02-13
在CANopen网络中,SDO(Service Data Object)和PDO(Process Data Object)是两种重要的通信机制,它们在STM32、ARM架构的嵌入式系统以及单片机硬件中广泛应用。本文将深入探讨SDOPDO的工作原理,以及如何在HAL库...
HMS CANopen硬件支持包HSP-0079 -S71200 -Canopen 1.0-V18版本.zip
06-19
ISP18可能是用于编程或更新S7-1200的接口,使得PLC能够理解和处理CANopen通信协议。该文件可能包含了特定于CANopen通信节点配置,如设备对象字典、PDO(过程数据对象)映射和NMT(网络管理服务)设置。 HMS...
总线/通信笔记3 —— PDOSDO的区别
热门推荐
罗伯特祥的博客
12-23 2万+
PDO:过程数据对象(Process Data Object),过程数据的发送,实时、速度快,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。PDO 传输的数据必须少于或等于 8 个字节,在应用层上不包含传输控制信息,报文利用率极高。 SDO:服务数据对象(Service Data Obiect),服务数据的发送接收,实时性要求不高,SDO一般用来配置和获得节点...
Ethercat总线学习:CAN、CANopen、EtherCAT、PDOSDO
木牛的博客
08-01 802
EtherCAT的解决方法就是,所有的节点使用一个数据帧,主站发出数据帧后,所有的从站会在飞行中处理数据,读取自己需要的,塞入自己需要返回的数据,然后继续把数据帧继续向下传输,直到碰到最后一个节点,利用Ethernet的全双工特性再将数据返回给主站。前面提到,因为EtherCAT数据帧的独特设计,有效数据率非常高,所以在工业自动化领域可以充分利用起来Ethernet的百兆带宽,实际上百兆带宽也可以让非常多的电机实现1ms的通信周期,例如正运动家就有128轴的控制器。机制实现数据的读取和写入。
写文章

热门文章

  • Qt modbus使用详解 18362
  • CANopen高级协议详解 15078
  • ABB机器人常见的几大数据类型 14712
  • qt 5.15 安装详解 11185
  • CanOpen的SDO、PDO简单通信使用 8550

分类专栏

  • canopen 12篇
  • linux 2篇
  • c++ 1篇
  • qt creator 1篇
  • ubuntu 1篇
  • qt 1篇
  • STM32 2篇
  • GPIO 2篇
  • 74HC595CD 1篇
  • C/C++ 34篇
  • opencv 18篇
  • 机器视觉 3篇
  • ethercat 4篇
  • modbus 2篇
  • ros 1篇
  • 系统安装 1篇
  • SOEM 6篇
  • basler 1篇
  • ABB 机器人 6篇
  • mfc 默认窗口大小和位置是如何设置的 1篇

最新评论

  • 主站SOEM函数详解--SDO读写函数

    cs2001cs: ec_SDOread(slave, 0x6060, 0x00, FALSE, sizeof(read_value), &read_value, EC_TIMEOUTRXM); 为什么我这样写一直说第五个形参和实参不对应啊

  • 原码 反码 补码的转换

    做而论道_CS: 计算机根本就不用原码和反码,只用补码。 原码反码,都不需要讨论。 对补码的理解,也不用弄这么复杂。 所谓的补码,不过就是一个小学的知识点而已。 你看十进制,两位数:0~99。 可以有:27 + 99 = (一百) 26 也可以:27 - 1 = 26 如果你忽略进位,依旧保持两位数, 这两种算法的功能,就是相同的。 即,当你舍弃了进位:  正数,就能当负数使用。  加法,就是实现减法运算。 在计算机中舍弃进位,会怎样?  负数,就没有了,计算机中,全是正数。  减法,也不存在了,减法器,当然也没有用处了。  有一个加法器,就可以横行天下了。 舍弃进位,就是补码的来历和存在意义。 在两位十进制时,舍弃进位,就是减去一百。 那么,加上 99,再减去 100,当然就是 “-1 ” 了。 八位二进制数是:0000 0000 ~ 1111 1111。 也就是十进制的:0 ~ 255。 如果出现进位,就是:2^8 = 256。 那么,加上 1111 1111 (255),再减 256,也就是-1。 由此,计算机专家就发明了:-1 的补码是 1111 1111。 同理,-2 的补码就是:1111 1110 (254)。 还有,-3 的补码就是:1111 1101 (253)。 。。。 最后,-128 的补码是:1000 0000 (128)。 转换公式:负数的补码 = 2^8 + 该负数。 同样还有:正数的补码 = 2^8 + 该正数。 但是,正数加上 256,就会出现进位。 那就舍弃吧。 于是就有:正数的补码 = 该正数。 这就证明了:零和正数的补码,就是其本身。 例:求-31 的补码是多少? 解:256-31 = 225 = 1110 0001 (二进制)。 这不就完事了吗? 哪里还用:机器数真值原码反码取反加一符号位不变... 老外脑子不够用,算术不灵,才编造了这许多的谎言! 谁要是跟老外学算术,立刻、马上,直接就掉沟里去了!

  • Qt Creator运行应用程序时提示Wayland警告

    码语者、流天: sudo nano

  • uint16_t 十六位类型数据转化成uint8_t 八位数据类型数据的两种方法

    scnullg: 不应该0xFF吗

  • Qt Creator运行应用程序时提示Wayland警告

    DoDo961010: vim进去之后无法写入怎么回事?

大家在看

  • Springboot民宿管理系统agq9s(程序+源码+数据库+调试部署+开发环境)
  • Springboot萌宠之家零售网站zp5x9(程序+源码+数据库+调试部署+开发环境)
  • PCL 点云配准 线性最小二乘法优化的点到面ICP算法(精配准) 445
  • Vue3源码学习5——组件的renderer渲染器 705
  • 数字孪生介绍

最新文章

  • WPF实现电机选型功能
  • C# 开发CANopen主站
  • CANopen 从站伺服配置报文及使用
2024年5篇
2023年47篇
2022年6篇
2021年47篇
2020年4篇
2011年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~晓广~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家树脂玻璃钢雕塑制作视频商场旋梯美陈修武玻璃钢雕塑费用家用玻璃钢花盆价格钟祥玻璃钢胸像雕塑儿童玻璃钢雕塑加工厂商场美陈psd 千图网汕头玻璃钢卡通人物雕塑定制嘉兴环保玻璃钢雕塑嘉兴玻璃钢景观雕塑供货商深圳特色商场美陈怎么样楚雄玻璃钢雕塑工程朔州玻璃钢雕塑制作厂家玻璃钢动物牛雕塑工厂宝鸡广场标识校园玻璃钢雕塑公司上饶玻璃钢雕塑定做玻璃钢仿铜龙雕塑2高分子聚脂材料和玻璃钢雕塑大连玻璃钢雕塑工艺厂六安佛像玻璃钢雕塑普陀区拉丝玻璃钢雕塑优质商家济南玻璃钢工艺品雕塑厂家洮南玻璃钢雕塑厂家玻璃钢白鹭雕塑价格娄底玻璃钢雕塑设计公司玻璃钢笑佛雕塑大全丽水水果玻璃钢雕塑设计玻璃钢艺术雕塑行情深圳玻璃钢火烈鸟雕塑新乡抽象玻璃钢人物雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化