




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章 PDO实例分析1一、目的:1二、手段:1三、分析:1四、过程:24.1.对象字典的编写24.1.1各节点ID分配表定义24.1.2对节点1进行对象字典编写24.1.3对节点2进行对象字典编写34.1.4对节点3进行对象字典编写54.2节点1发送数据至节点2、节点364.2.1节点1发送数据至总线64.2.2 节点2、节点3从总线接收数据74.3 节点2 发送数据至节点384.3.1 节点2 发送数据至总线84.3.2 节点3从总线接收数据9参考文献10第一章 PDO实例分析一、目的:实例的目的如图1-1所示,实现节点1的数据(A、B)传送到节点2、节点3,同时实现节点2传输数据(C、D)至节点3 。图1-1 数据传输目的 二、手段:使用PDO进行数据传送。三、分析:图1-2 SDO客户/服务器通讯模式1 PDO通信是基于生产者/消费者(Producer/Consumer)模型,主要用于传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数据的节点可以配置为接收该节点发送的数据3。四、过程:4.1.对象字典的编写对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中采取如图1-3所示的方式来组织构建,这样可以方便地通过索引和子索引一找到对应的项,对象定义为指针的形式可以通过主站的SDO报文进行读写,实现对对象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对象字典的条目格式如图1-3所示: 索引 对象(符号名) 名称 属性 类型 强制/可选 图1-3 对象字典模块结构图4.1.1各节点ID分配表定义表1-1 各节点ID分配表节点 节点1 节点2、 节点3主节点NODE-ID 0x010x020x030x044.1.2对节点1进行对象字典编写节点1发送数据至节点2、节点3,故需定义TPDO,我们在此处定义为TPDO1。节点1的应用数据区、TPDO1的通讯参数和映射参数在对象字典中的定义分别如表1-2、1-3和1-4所示。 表1-2 节点1的应用数据区在对象字典中的定义索引子索引名称类型值权限7100h 00h入口数目U802hrw01hA U162DFFh rw02hB U8C3h rw表1-3 节点1的TPDO1通讯参数在对象字典中的定义1800h TPDO数据类型值权限00h入口数目U805hro01h发送PDO标识符U32180h+NodeIDrw02h传输类型U8FFhrw03h禁止时间U1600hrw04hReserved rw05hevent timerU160x0000hrw节点1的TPDO1的COB-ID定义为181h。表1-4 节点1的TPDO1的映射参数在对象字典中的定义1A00hTPDO1数据类型值权限00hPDO映射数目U802hrw01hAU167100 01 10hrw02hBU87100 02 08hrw其中7100 01 10h 映射数据对象字典中索引为7100h,子索引为01h,长度为16位的数据。4.1.3对节点2进行对象字典编写节点2接收来自节点1的数据(A、B),故需定义RPDO1;此外节点2将数据传(C、D)送给节点3,故需要定义TPDO2。节点2的应用数据在对象字典中的定义如表1-5所示。表1-5 节点2的应用数据在对象字典中的定义索引子索引名称类型值权限7200h 00h入口数目U802hrw01h A U16- rw02h B U8- rw7300h00h入口数目U802hrw01h C U16F3CCh rw02h D U8D5h rw此时索引为7200h,子索引为01h,02h条目中起初并没有实际值,这两个条目分别用来接收节点1的数据A、B。接受数据后,子索引为01h的条目的值为2DFFh,子索引为02h的条目为C3h。索引为7300h,子索引为01h,02h条目中为数据C、D的索引。表1-6 节点2的RPDO1通讯参数在对象字典中的定义1400h RPDO1数据类型值权限00h入口数目U805hro01h接收PDO标识符U32180h+NodeIDrw02h传输类型U8FFhrw03h禁止时间U160rw04hReserved rw05hevent timerU160x0000hrw节点2定义RPDO1的COB-ID为181h,对应节点1的TPDO的COB-ID,实现节点1与节点2之间的数据传输。表1-7 节点2的RPDO1映射参数在对象字典中的定义1600h RPDO数据类型值权限00hPDO映射数目U802hrw01h A U16 7200 01 10hrw02h B U8 7200 02 08hrw其中7200 01 10h 表示映射到对象字典中索引为7200h,子索引为01h,长度为16位的数据。因为节点2发送数据至节点3,故需在对象字典中定义TPDO,在此定义为TPDO2,其通讯参数和映射参数定义如表1-8和1-9所示。表1-8 节点2中TPDO2通讯参数在对象字典中的定义1800 TPDO2 数据类型值权限00h入口数目U805hro01h发送PDO标识符U32280h+NodeIDrw02h传输类型U8FFhrw03h禁止时间U1600hrw04hReserved rw05hevent timerU160x0000hrw 节点2的TPDO2的COB-ID为282h。 表1-9 节点2中TPDO2映射参数在对象字典中的定义1A00TPDO1数据类型值权限00hPDO映射数目U802hrw01hCU167300 01 10hrw02hDU87300 02 08hrw其中7300 01 10h 表示映射到对象字典中索引为7300h,子索引为01h,长度为16位的数据 4.1.4对节点3进行对象字典编写节点3分别接受节点1、节点2的数据,需在节点3的对象字典中定义RPDO1、RPDO2,其中RPDO1的COB-ID需与节点1的TPDO1的COB-ID一致,RPDO2的COB-ID需与节点2的TPDO2的COB-ID一致。表1-10节点3的应用数据在对象字典中的定义索引子索引名称类型值权限7100h 00h入口数目U802hrw01h A U16- rw02h B U8- rw7200h00h入口数目U802hrw01h C U16- rw02h D U8- rw其中名称为A、B、C、D的条目起初并没有实际值,接受节点1和节点2的数据后,这些条目才具有相应的值。表1-11节点3的RPDO1的通讯参数在对象字典中的定义1400h RPDO1数据类型值权限00h入口数目U805hro01h接收PDO标识符U32180h+NodeIDrw02h传输类型U8FFhrw03h禁止时间U160rw04hReserved rw05hevent timerU160x0000hrw其中RPDO1的COB-ID为181h,与节点1的TPDO1的COB-ID一致,实现节点1与节点3之间的数据传输。表4-11 节点3的RPDO1的映射参数在对象字典中的定义1600h RPDO1数据类型值权限00hPDO映射数目U802hrw01h A U327100 01 10hrw02h B U327100 02 08hrw表4-12 节点3的RPDO2的通讯参数在对象字典中的定义1401h RPDO2数据类型值权限00h入口数目U805hro01h接收PDO标识符U32280h+NodeIDrw02h传输类型U8FFhrw03h禁止时间U160rw04hReserved rw05hevent timerU160x0000hrw其中RPDO2的COB-ID为282h,与节点2的TPDO2的COB-ID一致,实现节点2与节点3之间的数据传输。表4-13 节点3的RPDO2的映射参数在对象字典中的定义1601h RPDO2数据类型值权限00hPDO映射数目U802hrw01h C U327200 01 10hrw02h D U327200 02 08hrw4.2节点1发送数据至节点2、节点34.2.1节点1发送数据至总线节点1的TPDO1报文组装如图1-4所示:图1-4 节点1的TPDO1报文组装形式图节点1根据映射参数扫描对象字典,将相应的数据总存储器中调出,与通信参数组合后再组装成报文格式,发送到CAN总线当中。此例中传输至总线的数据为 181 2DFF C3。4.2.2 节点2、节点3从总线接收数据由于节点2的RPDO、节点3中的RPDO1的COB-ID与节点1的TPDO的COB-ID一致,故而节点2,节点3可以顺利通过报文滤波从总线中接收节点1所传输的报文。对于节点2,其接收报文的形式如图1-5所示:图1-5 节点2的RPDO1报文接收形式图节点2接收到的RPDO为181 2DFF C3。对于节点3,其接收报文的形式如图1-6所示:图1-6 节点3的RPDO1报文接收形式图节点3接收到的RPDO为181 2DFF C3。由于PDO的发送为广播形式,当节点1的TPDO报文传输到总线上时,理论上所有节点都能接收该报文,实际上只有与节点1的TPDO的COB-ID一致的RPDO才能接收该报文。本例中,节点2、节点3中都定义了与节点1的TPDO的COB-ID一致的RPDO,故而节点2,节点3能接收节点1的报文。当节点2、节点3接收节点1的TPDO报文后,由于已经事先定义好了报文的映射,TPDO中的数据(此例中为2DFFh,C3h)可直接映射到相应的对象字典条目中。PDO可以高速传输数据就在于,其实际传输过程中只传输实际数据,无需定义传输数据的来源,接收数据后该存放的地址。因为数据的来源、存放地址等信息已在事先就由工程师定义完成(即对象字典的编写)。4.3 节点2 发送数据至节点34.3.1 节点2 发送数据至总线节点2的TPDO报文组装如图1-7所示:图1-7 节点2的TPDO2报文组装形式图节点2根据映射参数扫描对象字典,将相应的数据总存储器中调出,与通信参数组合后再组装成报文格式,发送到总线当中。此例中传输至总线的数据为 282 F3CC D5。4.3.2 节点3从总线接收数据由于节点3的RPDO2的COB-ID与节点2的TPDO的COB-ID一致,故而节点3可以顺利通过报文滤波从总线中接收节点1所传输的报文。其接收形式如图1-8所示:图1-8 节点3的RPDO2报文接收形式图此例中节点3接收到的RPDO2为 282 F3CC D5。参考文献1 王芳. 基于汽车总线模型的CANopen协议的实现 D. 2008. 2 董石峰. 混合动力电动汽车车载网络CANopen协议及其应用研究 D. 2010. 3 叶浩峰. CANopen总线的原理以及实现 D. 2005. 4 张厚林. CANopen通讯协议设计与实现 D. 2009. 5 闫士珍. CANopen主栈及混合动力电动汽车CANopen行规设计 D. 2008. 6 周跃峰. CANopen协议在冗余系统中的应用研究 D. 2009. 7 田山. 基于CANopen协议的网络主控制器的设计 D. 2008. 8 宋晓强. CAN bus高层协议CANopen的研究以及在模块化CAN控制器上的实现 D. 2004. 9 蒋智康. 基于CANopen协议的分布式控制系统的研究 D. 2008. 10 王瑞鹏. 基于CANopen+uC/OS_平台的主从节点通信 D. 2007. 11 张晓阳. 基于CANopen协议的分布式控制系统智能从站设计 D. 2010. 12 陈涛. 汽车仪表的CANopen节点通信的研究与实现 D. 2007
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺人形象代言与商业价值评估考核试卷
- 自行车骑行与城市交通安全宣传考核试卷
- 玻璃包装容器质量控制与管理考核试卷
- 蔬菜种植农产品区域公用品牌培育考核试卷
- 煤炭加工中的先进工艺与装备研发考核试卷
- 社会工作职业操守与道德规范考核试卷
- 动物用药店的市场调研与数据分析能力提升计划考核试卷
- 设备租赁企业品牌形象塑造考核试卷
- 超市物流与供应链管理考核试卷
- 医学人文教育课程
- 篮球教学《不同姿势的原地拍球》教案教学设计及反思
- 消防验收签到表
- 商业大厦10kv配电室增容改造工程施工方案
- 人教版八年级下英语单词默写表格(整理打印)
- FMEA第五版(实例2)
- 量表开发与检验(课堂PPT)
- 艾默生PEX系列精密空调技术手册
- 炼铁厂鱼雷罐、铁水罐穿包紧急预案
- 10kV备自投调试报告
- 《电路分析基础》试题及答案
- 电气设备调试定额
评论
0/150
提交评论