【科普知识】解析通信协议中的PDO参数与配置

PDO的全称是Process Data Object,即传输过程数据,其用来传输实时的数据,是CANopen等通信中最主要的数据传输方式。PDO是单向传输,不需要应答,且PDO的长度可以小于8个字节,因此传输速度高于SDO。

一、PDO对象

按照接收与发送的不同,PDO可分为RPDO和TPDO。每个PDO由通信参数和映射参数共同决定最终传输的方式及内容。控制器使用了4个RPDO和4个TPDO来实现PDO的传输,相关对象列表如下:

二、PDO通信参数

1.PDO的标识符COB-ID

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

例如:对于节点地址为1的电机,TPDO1 的COB-ID为80000181h,表示该PDO被禁用,处于无效状态,当其COB-ID为181h时,表明该PDO被激活。

查询TPDO1是否启用:

2.PDO的传输类型

PDO的传输类型位于通信参数(RPDO:1400h~1403h,TPDO: 1800h~1803h)的子索引02上,决定该PDO遵循哪种传输方式。

传输触发类型如下图:

(1)当TPDO的传输类型为0时,如果映射数据发生改变,且接收到一个同步帧,则发送该TPDO

(2)当TPDO的传输类型为1~240时,接收到相应个数的同步帧时,发送该TPDO

(3)当TPDO的传输类型是254或255时,映射数据发生改变或者事件计时器到达则发送该TPDO

(4)当RPDO的传输类型为0~240时,只要接收到一个同步帧,则将该RPDO最新的数据更新到应用

(5)当RPDO的传输类型为254或者255时,将接收到的数据直接更新到应用

同步帧:默认COB-ID:0x80,无数据帧。

查询TPDO1传输类型数值:

传输类型数值为1时:

3.禁止时间

针对TPDO设置了禁止时间,存放在通信参数(1800h~1803h) 的子索引03上,避免由于某个高优先级的PDO数据量太大,持续占据总线,而使其他优先级较低的数据无力竞争总线的问题。该参数有16位无符号整数定义,单位是 100us,设置数值后,同一个TPDO传输间隔不得小于该参 数对应的时间。举例:设置TPDO1的禁止时间为100,则TPDO1的传输间隔不会小于10ms。

设置及查询TPDO1的禁止时间(单位0.1ms):

4.事件计时器

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

设置及查询TPDO1的事件计时器时间(单位1ms):

5.查询TPDO1映射的参数

6.修改TPDO1映射的参数(预操作模式下)

当设置索引1A00-00映射参数个数为0时(上图中的清除当前映射配置),之前的映射数据仍然存在于1A00-01和1A00-02之中,不过此时TPDO1的报文数据为全为0,位数与之前的映射数据位数保持一致。

设置索引1A00-00映射参数个数为1时,TPDO1的报文数据为之前1A00-01中映射的数据值。

设置索引1A00-00映射参数个数为2时,TPDO1的报文数据为之前1A00-01和1A00-02中映射的数据值。


以上即是今天分享的全部内容,如果您有任何问题请及时联系我们。

˜ 本文章全部内容或部分内容禁止擅自转载、拷贝。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值