CANopen工作流分析--SDO.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CANopen工作流分析--SDO

目录 第一章 SDO实例分析 1 一、目的: 1 二、手段: 1 三、分析: 1 四、过程: 2 4.1.对象字典的编写 2 4.1.1各节点ID分配 2 4.1.2对节点1进行对象字典编写 2 4.1.3对节点2进行对象字典编写 2 4.1.4对节点3进行对象字典编写 3 4.2节点1读取节点2数据 3 4.2.1节点1发送请求读取命令至节点2 3 4.2.2 节点2响应节点1读取命令 4 4.3 节点1写入数据至节点3 6 4.3.1 节点1 发送数据至节点3 6 4.3.2 节点3响应节点1写入数据命令 7 参考文献 8 附录一: 9 第一章 SDO实例分析 一、目的: 实现节点2的数据传送到节点3 二、手段: 使用SDO进行传送 注:SDO不能实现从节点之间数据的直接传送 三、分析: 图1-1 SDO客户/服务器通讯模式[1] SDO通讯可以描述成客户/服务器模型,SDO的客户/服务器通讯模式如图1-1所示。两节点中请求进行读写操作的节点为客户端节点,数据被读写的节点为服务器节点[3]。SDO通讯用于主节点对从节点对象字典的读写访问,以实现对从节点参数的设置,下载程序,定义PDO的通讯类型和数据格式等 [1]。 由此可知要实现将节点2中数据传送给节点3的实现方法为:设置节点1为主站(Client),数据传送过程由SDO传送的特点分为两段:节点1读取节点2(server)数据,节点1写入数据到节点3(server)。从而实现了节点2(server)的数据传送到节点3(server)。如图1-2所示。 图1-2 数据传送过程 四、过程: 4.1.对象字典的编写 对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中采取如图4-1所示的方式来组织构建,这样可以方便地通过索引和子索引一找到对应的项,对象定义为指针的形式可以通过主站的SDO报文进行读写,实现对对象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对象字典的条目格式如图4-1所示: 索引 名称 属性 类型 强制/可选 图1-3 对象字典模块结构图 4.1.1各节点ID分配 表1-1 各节点ID分配表 节点 节点1 节点2、 节点3 主节点 NODE-ID 0x01 0x02 0x03 0x04 4.1.2对节点1进行对象字典编写 表1-2 节点2的SDO参数在对象字典中的定义 索引 子索引 接受/发送SDO SDO参数 强制/可选 0x1200 00h 入口数目 Unit8 03h rw 01h 接受SDO Unit32 —— ro 02h 发送SDO Unit32 —— ro 03h 节点号 Unit32 0x01 rw 节点1的SDO参数在对象字典中的定义如表1-2所示。因为此处节点1充当客户端角色,故而无需定义其接受SDO与发送SDO的COB-ID。 4.1.3对节点2进行对象字典编写 表1-3 节点2的SDO参数在对象字典中的定义 索引 子索引 接受/发送SDO SDO参数 强制/可选 0x1200 00h 入口数目 Unit8 03h rw 01h 接受SDO Unit32 600h+节点号 ro 02h 发送SDO Unit32 580h+节点号 ro 03h 节点号 Unit32 0x02 rw 节点2的SDO参数在对象字典中的定义如表1-3所示。节点2的发送SDO的COB-ID为0x582,节点1的接受SDO的COB-ID分别为0x602。 除了完成SDO参数在对象字典中的定义外,还需实现节点2所要传输数据在对象字典中的定义。如表1-4所示。 表1-4 节点2的数据在对象字典中的定义 节点 索引 子索引 名称 属性 类型 强制/可选 0x02 0x6000 0x01 体积(A) rw unit8 O 0x6001 0x01 质量(B) rw unit32 O 0x6002 0x01 速度(C) rw unit8 O 0x6003 0x01 位移(D) rw Unit16 O 其中体积(A)定义在对象字典的应用数据区索引为0x6000、子索引为0x01的目录中,质量(B)定义在索引为0x6001、子索引为0x01的对象字典目录中,体积(C)定义在索引为0x6002、子索引为0x01的对象字典目录中,体积(D)定义在索引为0x6003、子索引为0x01的对象字典目录中。 4

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档