《四》canfestival系列教程之用pdo切換驅動器的工作狀態(tài)
首先要查詢字典,查找用到變量的索引號.
本試驗以1號節(jié)點為例.
需要用到的東西:
電腦
can分析儀和相應的軟件
支持canopen的驅動器
本試驗是通過電腦用參分析儀輸入報文,直接控制驅動器.

1.找到驅動器工作狀態(tài)的索引和子索引.?
2.我們這次要切換速度模式個轉矩模式,所以要找到速度模式和轉矩模式的值.
3.我們這次要用pdo,需要規(guī)劃一下pdo的用法,因為使用的這款驅動器支持4個pdo.
? ?pdo1,用于修改驅動器工作狀態(tài).
? ?pdo2,用于修改速度模式下的速度值.
? ?pdo3,用于修改轉矩模式下的轉矩值.
? 為了實現(xiàn)上面的想法,需要找到pdo1,pdo2,pdo3的通訊參數(shù)索引和映射參數(shù)索引.

答:
首先找驅動器工作狀態(tài)的索引,根據(jù)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的通訊參數(shù)索引是1400h,子索引00h:個數(shù).? 01h:要接收的cob-id.? 02h:方式. ......
rpdo1的映射參數(shù)索引是1600h,子索引00h:個數(shù).? 01h:數(shù)據(jù)1.? 02h:數(shù)據(jù)2.? ......
rpdo2的通訊參數(shù)索引是1401h,子索引00h:個數(shù).? 01h:要接收的cob-id.? 02h:方式. ......
rpdo2的映射參數(shù)索引是1601h,子索引00h:個數(shù).??01h:數(shù)據(jù)1.??02h:數(shù)據(jù)2.? ......
rpdo3的通訊參數(shù)索引是1402h,子索引00h:個數(shù).? 01h:要接收的cob-id.? 02h:方式. ......
rpdo3的映射參數(shù)索引是1602h,子索引00h:個數(shù).??01h:數(shù)據(jù)1.??02h:數(shù)據(jù)2.? ......
上面是用到pdo索引,還需要用sdo或者上位機,對pdo索引內的參數(shù)進行修改,以完成pdo的映射關系.修改之后各pdo才可以用.

修改各個pdo的映射,
配置pdo的固定流程:
失能,
消數(shù),
數(shù)據(jù)映入,
個數(shù)寫入,
使能,
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? //?消數(shù)
601,22 00?16 01 08?00 60 60? //?數(shù)據(jù)映入
601,22 00?16 00 01 00 00 00? //?個數(shù)寫入
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? //?消數(shù)
601,22?01?16?01 20?00?ff?60? //?數(shù)據(jù)映入
601,22?01?16?00?01?00 00?00? //?個數(shù)寫入
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? //?消數(shù)
601,22?02?16?01 10?00?71?60? //?數(shù)據(jù)映入
601,22?02?16?00?01?00 00?00? //?個數(shù)寫入
601,22?02?14?01?01?04?00?00? //?使能

關閉tpdo,(也可以不用關)
上面是接收pdo的配置.
如果沒有用到發(fā)送也可以關閉發(fā)送pdo.
關于發(fā)送pdo,即tpdo的索引:
tpdo1通訊參數(shù)1800h,映射參數(shù)1a00h.
tpdo2通訊參數(shù)1801h,映射參數(shù)1a01h.
tpdo3通訊參數(shù)1802h,映射參數(shù)1a02h.
tpdo4通訊參數(shù)1803h,映射參數(shù)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

配置完成之后,
進行測試.
注意:
在轉矩模式下會加速到最大,
所以為了防止發(fā)生意外,要隨時準備斷電.
上電,用筆記本接入can分析儀,然后接入驅動器.
驅動器狀態(tài)的切換.
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
