收藏 分销(赏)

Canopen-PDO-简介与示例.doc

上传人:w****g 文档编号:3373423 上传时间:2024-07-03 格式:DOC 页数:7 大小:81KB
下载 相关 举报
Canopen-PDO-简介与示例.doc_第1页
第1页 / 共7页
Canopen-PDO-简介与示例.doc_第2页
第2页 / 共7页
Canopen-PDO-简介与示例.doc_第3页
第3页 / 共7页
Canopen-PDO-简介与示例.doc_第4页
第4页 / 共7页
Canopen-PDO-简介与示例.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、4.PDO通讯4.1 PDO COB-ID参数每一个PDO在对象字典内都会有其对应的PDO通讯参数,在使用PDO之前,必须要先查询对象字典中PDO通讯参数对象内的COB-ID项目(子索引0x01)。COB-ID项目内记录了PDO在传输时会使用的COB-ID,共有32位。COB-ID项目每一个位所表示的意义如下表:Bit编号值含义31(MSB)0PDO存在(此PDO有效)1PDO不存在 (此PDO无效)300此PDO允许RTR传输1此PDO允许RTR传输29011-bit ID(CAN 2.0A)129-bit ID(CAN 2.0B)28-110若bit 29=0,则此处的数值为 0x若bit

2、 29=1:则此处就是29位COB-ID内的第 2811位10-0(LSB)xCOB-ID内的第 100 位除了保留的COB-ID以外,其他的COB-ID都能用来自定义PDO的COB-ID,但要注意避免一个COB-ID在同一节点上被不同的通讯对象重复使用。当bit 31=0时,PDO为有效状态,此时PDO的COB-ID的参数不允许更改。4.2 传输类型PDO通讯参数含有数个作用不同的参数,其中子索引为 0x02的参数为传输类型,而每一个PDO均可设定其传输类型。通过传输类型可以了解PDO在传送与接收时的特性。不同类型与PDO传输特性关系表:传输类型PDO传输方式同步异步循环非循环仅远程传送请求

3、01-240241-251reversed252253254255当TxPDO的传输类型是1-240之间的某个值,则表示需要接收到这么多个SYNC对象才能够触发TxPDO的传送。若RxPDO的传输类型是0-240,则仅需要一个SYNC对象的接收便可以启用在此之前收到且尚未被启用的RxPDO对象,与传输类型的数字大小无关。仅TxPDO的传输类型可以被设定为252和253,如果传输类型被设定为这两种时,则只有在接收到此TxPDO的RTR信息时,设备才会对外传送TxPDO。传输类型若被设定为252,则表示设备在接收到SYNC对象时,才会更新TxPDO内的数据。传输类型若被设定为253,则在接收到RT

4、R信息时,设备会更新TxPDO内的数据。 传输类型如果被设定为254和255,便可以使用事件定时器(Event Timer)来触发TxPDO的传送。另外若某DI被映射到某个PDO,当此DI的值变化时,也会触发其对应TxPDO的传送。对RxPDO而言,若是传输类型被设定为254或255,则在接收到RxPDO之后,就必须立即启用此RxPDO。4.3 PDO通讯规则根据CANopen DS-301的规范,与PDO有关的对象存放在对象字典中主索引0x1400到0x1BFF之间。每一个PDO的通讯参数对象均会对应到一个映像参数对象,两者之间为一对一的关系。譬如第1组RxPDO通讯参数存放于对象字典中主索

5、引为0x1400的地方,而其相对应的映射参数存放于对象字典中主索引0x1600的地方,可依次推得主索引0x1401和0x1601为一对,主索引0x1402和0x1602为一对。TxPDO的通讯参数和映像参数的关系同样遵循这样的关系。在用户开始用PDO对实际的I/O通道作存取前,必须先取得PDO的通讯参数和映射参数。此外,PDO的通讯只能在NMT的操作(Operational)状态下使用,使用者要使用PDO来进数据的传输,可以透过NMT模块控制协议传送模块控制信息,要求设备改变NMT状态为操作状态。另外,通过PDO传送信息,PDO内的数据长必须和其对应PDO映射参数内所记录的数据长相吻合,当PD

6、O消费者收到PDO信息时,会根据此PDO的COB-ID来查找相对应的RxPDO映射参数。若此PDO内的数据长m大于其映像参数所记录的长n,则PDO消费者只会取前n字节来使用,其余部分丢弃。此PDO内的数据长小于其映像参数所记录的长,则PDO消费者将会处这个PDO,并且会发出一个错误码为8210h的EMCY(Emergency)信息给PDO生产者。4.4 PDO通讯范例4.4.1 读写设备IO假设CANopen IO设备有16路DI,16路DO,节点ID为1。使用预设COB-ID,16个DI映射给第一组TxPDO,16个DO映射给第一组RxPDO。PDO传输类型预设是255,使其输出0x55AA

7、。步骤1:在使用PDO通讯之前,必须将设备NMT状态设定在操作状态。11位 COB-ID =000 RTR=0DLC=8 0101000000000000NMT主端NMT从端节点:1步骤2:传送对象字典总第一组RxPDO给IO设备。11位 COB-ID =201 RTR=0DLC=8 AA55000000000000PDO生产者PDO消费者COB-ID:0x201PDO-msg:AA 55 00 00 00 00 00 00根据设备预设PDO映射,第一组RxPDO只有2字节数据,此处的数据长度DLC是8,设备在收到这个PDO之后会依据这个PDO映射参数处理前面2个字节,后面6个字节丢弃。第一个

8、字节映射DO通道07,第二字节映射DO通道815。在IO设备上第一组RxPDO的预设是255,在收到此PDO之后会立即更新DO通道状态。当DI变化时,对象字典内的数值就会发生变化。由于第一组TxPDO传输类型是255,当DI变化时,会传送第一组TxPDO给PDO消费者,假如DI状态改变为0xDDFF。11位 COB-ID = 181 RTR=0DLC=2 FFDDPDO消费者PDO生产者COB-ID:0x181PDO-msg:FF DD 00 00 00 00 00 00数据长度设定为2,因此只有前面2个字节有效。模拟量输出AO与数字量输出DO类似,一个模拟量通道占用2个字节。例如,预设第二组

9、RxPDO对应一个AO通道。AI数值变化并不会自动传送TxPDO给PDO消费者,使用者需要通过RTR远程传送请求,设备收到RTR信息以后会传送AI的TxPDO给使用者。4.1.2 事件计时器步骤1:利用SDO存取对象字典内主索引为0x1801,子索引为0x05的项目,将第2组TxPDO的事件定时器数值设定为1000。事件定时器内数值的单位为毫秒,所以此处的1000即1秒。11位 COB-ID =601 RTR=0DLC=8 2B011805E8030000SDO客户端SDO服务端ccs:1n:2e:1s:1m:01 18 05d:E8030000 0x03E8即十六进制的1000。此外因为n=

10、2,所以最后2字节的内容“0000“没有意义。步骤2:如果SDO传输成功,SDO服务端回复以下信息结束SDO通讯。11位 COB-ID =581 RTR=0DLC=8 6001180500000000SDO客户端SDO服务端scs:3m:01 18 05步骤3:更改了事件计时器后,第二组的TxPDO便会以每1秒传送一次。4.1.2 非循环同步RxPDO步骤1:设定第一组RxPDO的传输类型为0。11位 COB-ID =601 RTR=0DLC=8 2F00140200000000SDO客户端SDO服务端ccs:1n:3e:1s:1m:00 14 02d:0011位 COB-ID =581 RT

11、R=0DLC=8 6000140200000000SDO客户端SDO服务端scs:3m:00 14 02步骤2:使用第一组RxPDO,让IO设备更改DO输出为0xFF00。11位 COB-ID = 201 RTR=0DLC=8 00FF000000000000PDO生产者PDO消费者COB-ID:0x201PDO-msg:00 FF 00 00 00 00 00 00步骤3:发送一个SYNC对象给IO设备,触发前一个步骤传输的RxPDO。11位 COB-ID = 80 RTR=0DLC=0 SYNC生产者 SYNC消费者4.1.2 非循环同步TxPDO步骤1:设定第一组TxPDO传输类型为0。

12、11位 COB-ID =601 RTR=0DLC=8 2F00180200000000SDO客户端SDO服务端ccs:1n:3e:1s:1m:00 18 02d:00 00 00 0011位 COB-ID =581 RTR=0DLC=8 6000180200000000SDO客户端SDO服务端scs:3m:00 18 02步骤2:TxPDO传输类型为0,当DI变化后IO设备不会自动发送TxPDO,如果收到SYNC信息后,TxPDO就会触发。如果DI没有变化,即使收到SYNC信息也不会触发TxPDO的发送。11位 COB-ID = 80 RTR=0DLC=0 SYNC生产者 SYNC消费者步骤3:IO设备发送TxPDO给使用者。 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服