最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《九》canfestival系列教程之canopen中驅(qū)動器的配置方法(二)

2021-08-14 13:11 作者:GXTon_阿通  | 我要投稿

上面一節(jié)講解了一下原理,如果對原理不明白的可以看第一節(jié).

下面開始操作.

第一步

首先你要查手冊,看一下驅(qū)動器的can初始波特率.如果沒有波特率,就無法進(jìn)行連接.

如果懶得去查,那就不斷去切換波特率,什么時候有數(shù)據(jù)返回,就可以了.

一般返回的是設(shè)備上線報文,例如:?0x00000705? 0x00

就說明當(dāng)前驅(qū)動器是5號節(jié)點.

有了波特率節(jié)點號,后面就是進(jìn)行參數(shù)配置了.

第二步(原理)

?先進(jìn)行讀取,讀取驅(qū)動器的原有狀態(tài).

我們的目的是要進(jìn)行配置驅(qū)動器,讓驅(qū)動器接收速度指令.

并根據(jù)傳入的速度值進(jìn)行運動.

因為是要配置驅(qū)動器的接收,所以需要配置RPDO,

一般驅(qū)動器支持多個RPDO.

我們此次使用RPDO1.

RPDO1的通訊參數(shù)索引是1400h.(ds301上規(guī)定好的)

RPDO1的映射參數(shù)索引是1600h.(ds301上規(guī)定好的)

速度的在字典中的索引是60ffh.(ds402上規(guī)定好的)

這里都是協(xié)議上規(guī)定好的,配置好之后,驅(qū)動器接收了PDO1的數(shù)據(jù),自然會找到1400h和1600h索引.從根據(jù)里面的配置解析數(shù)據(jù).如果用的是PDO2,就是1401h和1601h索引了.

1400h是PDO的通訊參數(shù),里面有6個子索引,分別代表了PDO的6個功能.

00h子索引:里面的值表示后面的子索引個功能里面,有幾個參數(shù)是有效的.如果是1,就表示01子索引有效.

01h子索引:PDO的觸發(fā)條件.

進(jìn)行數(shù)據(jù)的讀取:

讀取?索引1400? 子索引00

0x00000605 ??? ?0x4000140000000000

返回

0x00000585 ?????0x4F00140002000000

說明有2個參數(shù)

讀取?索引1400? 子索引01? ? ? ?

?0x00000605 ???? 0x4000140100000000

返回

0x00000585 ??? ?0x4300140105020000

說明,0205代表接收的id是205(注意這里是小端模式)?

讀取?索引1400? 子索引02

0x00000605 ??? ? 0x4000140200000000

返回

0x00000585 ? ? ? 0x4F001402FF000000

說明,ff代表模式.(因為是接收PDO,所以這個參數(shù)沒有作用).

讀取?索引1600? 子索引00

0x00000605 ? ? ?0x4000160000000000

返回

0x00000585 ? ? ?0x4F00160001000000

說明,01代表有一個參數(shù).

讀取?索引1600? 子索引01

0x00000605 ? ? ?0x4000160100000000

返回

0x00000585 ? ?? 0x4300160110004060

說明,10?00?40 60,因為是小端模式,所以正確順序為:0x60 40 00 10.

6040代表索引,00代表子索引,10代表類型.


第三步(向字典中寫入數(shù)據(jù),確定PDO映射關(guān)系)

寫入數(shù)據(jù)是有一套流程的.

這一步驟非常關(guān)鍵,它是配置PDO數(shù)據(jù)含義的,配置完成之后pdo傳輸?shù)臄?shù)據(jù),就會按照配置好的意義解析.它決定了PDO這個"列車"上面載了什么樣的"貨物".通過這里,可以決定PDO傳輸速度還是位置等.

1.失能:? 先要失能PDO.把PDO的cob-id最高位置一.

2.消數(shù):? 把PDO的映射個數(shù)寫0.

3.映入:? 把PDO要傳輸?shù)臄?shù)據(jù)寫入字典中.

4.寫數(shù):? 把PDO中映射的參數(shù)個數(shù)寫到00子索引.

5.使能:? 把PDO中cob-id使能.

6.模式:? 把驅(qū)動器模式改成速度模式.


例子:

第1步? 失能

0x00000605 ??? ? 0x22 00 14 01 05 02 00 80

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

14?00:索引

01? ? ?:子索引

0205:要接收的PDO的id號

80? ??:最高位置一,代表失能

返回以60開頭,就是寫入成功,以80開頭就表示失敗.


第2步? 消數(shù)

0x00000605 ??? ? 0x22?00?16?00?00?00?00 00

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

16?00:索引

00? ? ?:子索引

00 00 00 00:要接收的PDO的id

返回以60開頭,就是寫入成功,以80開頭就表示失敗.


第3步? 映射進(jìn)入數(shù)據(jù)

0x00000605 ??? ? 0x22?00?16?01?20?00?ff?60

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

16?00,01:索引,子索引.

20?00?ff?60:?實際是0x60?ff 00 20,含義60ff是索引,00是子索引,20是32位無符號.驅(qū)動器接收到的數(shù)據(jù),會存入到60ff,00里面.存入的數(shù)據(jù)以32位無符號格式.因為字典在ds402中規(guī)定好了,不能更改,字典索引60ff,00的里面存儲的是速度值.所以改變這里面的值,就是改變驅(qū)動器的速度.

返回以60開頭,就是寫入成功,以80開頭就表示失敗.


第4步? 傳輸個數(shù)寫入

0x00000605 ??? ? 0x22?00?16?00?01?00?00?00

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

16?00,01:索引,子索引.

01?00?00?00:?數(shù)據(jù)個數(shù)是 0x00 00 00 01,就是傳輸一個數(shù)據(jù),一條PDO中可以包含多個數(shù)據(jù),但是這次我們只傳輸一個速度值,所以個數(shù)是1.

返回以60開頭,就是寫入成功,以80開頭就表示失敗.


第5步? PDO使能

0x00000605 ??? ? 0x22?00?14?01?05?02?00?00

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

14?00,01:索引,子索引.

05?02?00?00:因為是小端模式,轉(zhuǎn)換之后是0x00 00 02 05,這個也就是驅(qū)動器接收的cob-id號.因為最高位不是1,所以是有效的PDO.驅(qū)動器會接受以0x205開頭的can報文.

返回以60開頭,就是寫入成功,以80開頭就表示失敗.


第6步? 設(shè)置為速度模式

0x00000605 ??? ? 0x22?60?60?00?03?00?00?00

22? ? ?:不計長度的寫.(還有一種是按照個數(shù)的寫)

60?60,00:索引,子索引.

03?00?00?00:03代表了速度模式.

返回以60開頭,就是寫入成功,以80開頭就表示失敗.

第四步(用PDO傳輸數(shù)據(jù),驗證結(jié)果)

用PDO傳輸數(shù)據(jù),

本次實驗是電腦用PDO傳輸速度給驅(qū)動器,

驅(qū)動器接收PDO速度,以該速度進(jìn)行電機驅(qū)動.

因為驅(qū)動器配置成了5號節(jié)點.

所以,PDO的格式為:

0x00000205 ? ? ?0xe803000000000000

0x00000205:?標(biāo)識符? 或者叫做? id? 或者叫做? COB-ID.

? ? ? ? ? ? ? ? ? ? ? 這里可以拆解成兩部分200+5,

? ? ? ? ? ? ? ? ? ? ? 200代表功能碼,表示該條報文為PDO傳輸數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? 5代表節(jié)點號,因為驅(qū)動器被配制成第五節(jié)點.

?0xe803000000000000:? 數(shù)據(jù),因為是小端,所以正確順序為0x03e8,就是10進(jìn)制的1000.

綜上,該條指令的意思就是,向5號驅(qū)動器,用PDO的方式發(fā)送1000這一數(shù)據(jù).

數(shù)據(jù)"1000"代表什么含義,PDO指令并沒有說明,因為傳輸雙方,在配置字典的時候就已經(jīng)規(guī)定PDO1傳輸?shù)臄?shù)據(jù)是0x60ff里的數(shù)據(jù)(也就是ds402中規(guī)定的速度),所以傳輸雙方"心知肚明".












《九》canfestival系列教程之canopen中驅(qū)動器的配置方法(二)的評論 (共 條)

分享到微博請遵守國家法律
西吉县| 金塔县| 澄城县| 辽中县| 阜平县| 新营市| 象州县| 潢川县| 克什克腾旗| 班戈县| 蕲春县| 天镇县| 北海市| 伊金霍洛旗| 夏邑县| 通海县| 白山市| 平昌县| 灌南县| 尉犁县| 通化市| 凤凰县| 车致| 将乐县| 萨嘎县| 浦东新区| 澎湖县| 安庆市| 大足县| 汽车| 五莲县| 镇远县| 巴里| 灵璧县| 宜君县| 稷山县| 象山县| 巴东县| 海口市| 富民县| 苍南县|