收藏 分销(赏)

Canopen-PDO-简介与示例.doc

上传人:w****g 文档编号:3373423 上传时间:2024-07-03 格式:DOC 页数:7 大小:81KB 下载积分:6 金币
下载 相关 举报
Canopen-PDO-简介与示例.doc_第1页
第1页 / 共7页
Canopen-PDO-简介与示例.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
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) 0 PDO存在(此PDO有效) 1 PDO不存在 (此PDO无效) 30 0 此PDO允许RTR传输 1 此PDO不允许RTR传输 29 0 11-bit ID(CAN 2.0A) 1 29-bit ID(CAN 2.0B) 28-11 0 若bit 29=0,则此处的数值为 0 x 若bit 29=1:则此处就是29位COB-ID 内的第 28~11位 10-0(LSB) x COB-ID内的第 10~0 位 除了保留的COB-ID以外,其他的COB-ID都能用来自定义PDO的COB-ID,但要注意避免一个COB-ID在同一节点上被不同的通讯对象重复使用。当bit 31=0时,PDO为有效状态,此时PDO的COB-ID的参数不允许更改。 4.2 传输类型 PDO通讯参数含有数个作用不同的参数,其中子索引为 0x02的参数为传输类型,而每一个PDO均可设定其传输类型。通过传输类型可以了解PDO在传送与接收时的特性。 不同类型与PDO传输特性关系表: 传输类型 PDO传输方式 同步 异步 循环 非循环 仅远程传送请求 0 ○ ○ 1-240 ○ ○ 241-251 reversed 252 ○ ○ 253 ○ ○ 254 ○ 255 ○   当TxPDO的传输类型是1-240之间的某个值,则表示需要接收到这么多个SYNC对象才能够触发TxPDO的传送。若RxPDO的传输类型是0-240,则仅需要一个SYNC对象的接收便可以启用在此之前收到且尚未被启用的RxPDO对象,与传输类型的数字大小无关。     仅TxPDO的传输类型可以被设定为252和253,如果传输类型被设定为这两种时,则只有在接收到此TxPDO的RTR信息时,设备才会对外传送TxPDO。传输类型若被设定为252,则表示设备在接收到SYNC对象时,才会更新TxPDO内的数据。传输类型若被设定为253,则在接收到RTR信息时,设备会更新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通讯参数存放于对象字典中主索引为0x1400的地方,而其相对应的映射参数存放于对象字典中主索引0x1600的地方,可依次推得主索引0x1401和0x1601为一对,主索引0x1402和0x1602为一对。TxPDO的通讯参数和映像参数的关系同样遵循这样的关系。在用户开始利用PDO对实际的I/O通道作存取前,必须先取得PDO的通讯参数和映射参数。  此外,PDO的通讯只能在NMT的操作(Operational)状态下使用,若使用者要使用PDO来进行数据的传输,可以透过NMT模块控制协议传送模块控制信息,要求设备改变NMT状态为操作状态。 另外,通过PDO传送信息,PDO内的数据长度必须和其对应PDO映射参数内所记录的数据长度相吻合,当PDO消费者收到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。 步骤1:在使用PDO通讯之前,必须将设备NMT状态设定在操作状态。 11位 COB-ID =000 RTR=0 DLC=8 01 01 00 00 00 00 00 00 NMT主端 NMT从端 节点:1 步骤2:传送对象字典总第一组RxPDO给IO设备。 11位 COB-ID =201 RTR=0 DLC=8 AA 55 00 00 00 00 00 00 PDO生产者 PDO消费者 COB-ID:0x201 PDO-msg:AA 55 00 00 00 00 00 00 根据设备预设PDO映射,第一组RxPDO只有2字节数据,此处的数据长度DLC是8,设备在收到这个PDO之后会依据这个PDO映射参数处理前面2个字节,后面6个字节丢弃。第一个字节映射DO通道0~7,第二字节映射DO通道8~15。在IO设备上第一组RxPDO的预设是255,在收到此PDO之后会立即更新DO通道状态。    当DI变化时,对象字典内的数值就会发生变化。由于第一组TxPDO传输类型是255,当DI变化时,会传送第一组TxPDO给PDO消费者,假如DI状态改变为0xDDFF。 11位 COB-ID = 181 RTR=0 DLC=2 FF DD PDO消费者 PDO生产者 COB-ID:0x181 PDO-msg:FF DD 00 00 00 00 00 00 数据长度设定为2,因此只有前面2个字节有效。   模拟量输出AO与数字量输出DO类似,一个模拟量通道占用2个字节。例如,预设第二组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=0 DLC=8 2B 01 18 05 E8 03 00 00 SDO客户端 SDO服务端 ccs:1 n:2 e:1 s:1 m:01 18 05 d:E8030000  0x03E8即十六进制的1000。此外因为n=2,所以最后2字节的内容“0000“没有意义。   步骤2:如果SDO传输成功,SDO服务端回复以下信息结束SDO通讯。 11位 COB-ID =581 RTR=0 DLC=8 60 01 18 05 00 00 00 00 SDO客户端 SDO服务端 scs:3 m:01 18 05 步骤3:更改了事件计时器后,第二组的TxPDO便会以每1秒传送一次。 4.1.2 非循环同步RxPDO 步骤1:设定第一组RxPDO的传输类型为0。 11位 COB-ID =601 RTR=0 DLC=8 2F 00 14 02 00 00 00 00 SDO客户端 SDO服务端    ccs:1 n:3 e:1 s:1 m:00 14 02 d:00 11位 COB-ID =581 RTR=0 DLC=8 60 00 14 02 00 00 00 00 SDO客户端 SDO服务端 scs:3 m:00 14 02 步骤2:使用第一组RxPDO,让IO设备更改DO输出为0xFF00。 11位 COB-ID = 201 RTR=0 DLC=8 00 FF 00 00 00 00 00 00 PDO生产者 PDO消费者 COB-ID:0x201 PDO-msg:00 FF 00 00 00 00 00 00 步骤3:发送一个SYNC对象给IO设备,触发前一个步骤传输的RxPDO。 11位 COB-ID = 80 RTR=0 DLC=0 SYNC生产者 SYNC消费者 4.1.2 非循环同步TxPDO 步骤1:设定第一组TxPDO传输类型为0。 11位 COB-ID =601 RTR=0 DLC=8 2F 00 18 02 00 00 00 00 SDO客户端 SDO服务端 ccs:1 n:3 e:1 s:1 m:00 18 02 d:00 00 00 00 11位 COB-ID =581 RTR=0 DLC=8 60 00 18 02 00 00 00 00 SDO客户端 SDO服务端 scs:3 m:00 18 02 步骤2:TxPDO传输类型为0,当DI变化后IO设备不会自动发送TxPDO,如果收到SYNC信息后,TxPDO就会触发。如果DI没有变化,即使收到SYNC信息也不会触发TxPDO的发送。 11位 COB-ID = 80 RTR=0 DLC=0 SYNC生产者 SYNC消费者 步骤3:IO设备发送TxPDO给使用者。 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服