《四》canfestival系列教程之用pdo切换驱动器的工作状态
首先要查询字典,查找用到变量的索引号.
本试验以1号节点为例.
需要用到的东西:
电脑
can分析仪和相应的软件
支持canopen的驱动器
本试验是通过电脑用参分析仪输入报文,直接控制驱动器.

1.找到驱动器工作状态的索引和子索引.
2.我们这次要切换速度模式个转矩模式,所以要找到速度模式和转矩模式的值.
3.我们这次要用pdo,需要规划一下pdo的用法,因为使用的这款驱动器支持4个pdo.
pdo1,用于修改驱动器工作状态.
pdo2,用于修改速度模式下的速度值.
pdo3,用于修改转矩模式下的转矩值.
为了实现上面的想法,需要找到pdo1,pdo2,pdo3的通讯参数索引和映射参数索引.

答:
首先找驱动器工作状态的索引,根据ds402中,找到6060h索引.
从elmo驱动器上位机的帮助文档中搜索6060.
可以看到类型是integer 8位的.然后支持pdo映射.

从下面可以看到,3代表了速度模式,4代表了转矩模式.
也就是在0x6060 00 索引中写入3,驱动器为速度模式;写入4,为转矩模式.


答:
2.找到改变速度和改变转矩的索引.
这两条从ds402中进行查找. 改变速度的是0x60ff, 改变转矩的是0x6071.
需要注意的是单位.



答:
3.关于pdo的索引
可以在ds301中进行查找.pdo具体用法需要查看ds301.
这次驱动器的pdo只是负责接收,所以用到的只是RPDO.
所以用到的是rpdo1,rpdo2,rpdo3.
rpdo1的通讯参数索引是1400h,子索引00h:个数. 01h:要接收的cob-id. 02h:方式. ......
rpdo1的映射参数索引是1600h,子索引00h:个数. 01h:数据1. 02h:数据2. ......
rpdo2的通讯参数索引是1401h,子索引00h:个数. 01h:要接收的cob-id. 02h:方式. ......
rpdo2的映射参数索引是1601h,子索引00h:个数. 01h:数据1. 02h:数据2. ......
rpdo3的通讯参数索引是1402h,子索引00h:个数. 01h:要接收的cob-id. 02h:方式. ......
rpdo3的映射参数索引是1602h,子索引00h:个数. 01h:数据1. 02h:数据2. ......
上面是用到pdo索引,还需要用sdo或者上位机,对pdo索引内的参数进行修改,以完成pdo的映射关系.修改之后各pdo才可以用.

修改各个pdo的映射,
配置pdo的固定流程:
失能,
消数,
数据映入,
个数写入,
使能,
rpdo1用于传输工作模式,需要配置映射:
rpdo1对应的是1400h 和 1600h
rpdo1接收的cob-id习惯上为201h
601,22 00 14 01 01 02 00 80 // 失能
601,22 00 16 00 00 00 00 00 // 消数
601,22 00 16 01 08 00 60 60 // 数据映入
601,22 00 16 00 01 00 00 00 // 个数写入
601,22 00 14 01 01 02 00 00 // 使能
rpdo2用于传输目标速度,需要配置映射:
rpdo2对应的是1401h 和 1601h
rpdo2接收的cob-id习惯上为301h
601,22 01 14 01 01 03 00 80 // 失能
601,22 01 16 00 00 00 00 00 // 消数
601,22 01 16 01 20 00 ff 60 // 数据映入
601,22 01 16 00 01 00 00 00 // 个数写入
601,22 01 14 01 01 03 00 00 // 使能
rpdo3用于传输目标转矩,需要配置映射:
rpdo3对应的是1402h 和 1602h
rpdo3接收的cob-id习惯上为401h
601,22 02 14 01 01 04 00 80 // 失能
601,22 02 16 00 00 00 00 00 // 消数
601,22 02 16 01 10 00 71 60 // 数据映入
601,22 02 16 00 01 00 00 00 // 个数写入
601,22 02 14 01 01 04 00 00 // 使能

关闭tpdo,(也可以不用关)
上面是接收pdo的配置.
如果没有用到发送也可以关闭发送pdo.
关于发送pdo,即tpdo的索引:
tpdo1通讯参数1800h,映射参数1a00h.
tpdo2通讯参数1801h,映射参数1a01h.
tpdo3通讯参数1802h,映射参数1a02h.
tpdo4通讯参数1803h,映射参数1a03h.
601,22 00 18 01 01 18 00 80 // 失能tpdo1
601,22 01 18 01 01 28 00 80 // 失能tpdo2
601,22 02 18 01 01 38 00 80 // 失能tpdo3
601,22 03 18 01 01 48 00 80 // 失能tpdo4

配置完成之后,
进行测试.
注意:
在转矩模式下会加速到最大,
所以为了防止发生意外,要随时准备断电.
上电,用笔记本接入can分析仪,然后接入驱动器.
驱动器状态的切换.
601,22 40 60 00 06 00 00 00
601,22 40 60 00 07 00 00 00
601,22 40 60 00 0f 00 00 00
进入操作模式(只有在操作模式下pdo才能够输出)
000,01 00
通过pdo1切换为速度模式.201,03
用pdo2在速度模式下,传输速度值.301,e8 03 00 00
停止电机转动,用pdo2传输速度为0. 301,00 00 00 00
通过pdo1切换为转矩模式.201,04
通过pdo3在转矩模式下,传输转矩值.401,00 10
停止,转矩传为0. 401,00 00
