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

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

canopen部分 1 簡(jiǎn)介

2023-05-12 09:19 作者:GXTon_阿通  | 我要投稿

1.?canopen與cia301協(xié)議

CAN報(bào)文可以分為數(shù)據(jù)部分和ID部分,因?yàn)槎嗔薎D協(xié)議的制定可以更加靈活,各個(gè)廠家可以根據(jù)自己的喜好進(jìn)行編寫協(xié)議.

所以就會(huì)出現(xiàn)各種各樣的用法,各種各樣的協(xié)議.

CANopen是一個(gè)上層的協(xié)議.目的是為了消除這種亂糟糟的場(chǎng)面.CAN報(bào)文有更加明確的分類和用途,結(jié)合特點(diǎn)發(fā)揮出最大優(yōu)勢(shì).所以產(chǎn)生了cia301協(xié)議.cia301基本上就等同于CANopen.

Cia301協(xié)議是CANopen最基礎(chǔ)的協(xié)議.它規(guī)定了ID和報(bào)文的分類用法,之后大家都按照這個(gè)協(xié)議去做.

CAN通信的一個(gè)特點(diǎn)是有ID.針對(duì)ID,CANopen做了下面的功能:

Cia301協(xié)議中根據(jù)ID的不同,區(qū)分不同種類報(bào)文,主要?jiǎng)澐至讼旅鎺最?/span>:

SDO :服務(wù)器---客戶端模式,用于通信,主要用于配制參數(shù).

PDO :生產(chǎn)者---消費(fèi)者模式用于通信.

NMT :網(wǎng)絡(luò)管理.用于切換節(jié)點(diǎn)工作狀態(tài).

……

?

上面的報(bào)文就是通信的基礎(chǔ),通信是為了改變參數(shù).

傳輸過(guò)程中的數(shù)據(jù),總要有個(gè)地方進(jìn)行保存,CANopen一般把傳輸中的數(shù)據(jù)存到字典(即OD).字典是CANopen另一個(gè)重要的概念,字典里面存有參數(shù)和狀態(tài).

?字典可以看成是一個(gè)儲(chǔ)物柜.儲(chǔ)物柜里面有很多小格子.每個(gè)格子上面都有編號(hào)(編號(hào)就是索引).索引是索引,IDID.不能混淆.

?

舉例:

601, 40 ff 60 00 00 00 00 00

202,e8 03

000,01 00

?

上面是三種從can總線上接收的報(bào)文.

?

怎么去解讀,601, 40 ff 60 00 00 00 00 00

首先看ID,查找cia301手冊(cè),

可以知道601h是可以拆分成600+1.

1代表向1號(hào)驅(qū)動(dòng)器發(fā)送的數(shù)據(jù).

600h代表了它是一條SDO,然后后面的8字節(jié)的數(shù)據(jù),就要按照SDO的格式去解析.并不能按照其他的報(bào)文解析.

SDO格式在cia301中也有規(guī)定,后面的數(shù)據(jù),40 ff 60 00 00 00 00 00.可以拆分:

40代表指令.

Ff 60是小端,正確順序是60ffh 代表索引是60ff

00是自索引

00 00 00 00是真正的數(shù)據(jù),因?yàn)檫@條指令是讀指令,所以數(shù)據(jù)默認(rèn)填0即可.

至于60ff索引00自索引里面存的是什么數(shù)據(jù),就要查看cia402協(xié)議了.

這個(gè)是字典的東西.所以查看cia402協(xié)議,這里存的是驅(qū)動(dòng)器設(shè)置的速度值.

?

怎么去解讀,202,e8 03

這里通過(guò)查詢cia301,可以知道202h拆分為200+2,

2代表向2好驅(qū)動(dòng)器發(fā)送的數(shù)據(jù).

200是PDO的ID.所以后面的數(shù)據(jù)e8 03要按照PDO的格式去拆分.

?

怎么去解讀,000,01 00

這里通過(guò)查詢cia301協(xié)議可以知道000是NMT的ID.

所以這條報(bào)文是NMT指令,需要按照NMT格式解析.

01 00 可以拆分成:

01:節(jié)點(diǎn)進(jìn)入操作模式.

00:廣播模式,通知所有節(jié)點(diǎn).

也即是讓所有驅(qū)動(dòng)器進(jìn)入操作模式.

?

ID0x601,等于600+1,其中600就是功能碼,1就是節(jié)點(diǎn)號(hào).

功能碼600代表的是SDOID(沒(méi)有理由,協(xié)議規(guī)定好的,需要根據(jù)協(xié)議,記住一些常用的ID),

通過(guò)這個(gè)0x601ID我們就可以獲得一些信息: (SDO協(xié)議的格式)

這個(gè)can報(bào)文是SDO類型的,并且是發(fā)送給1號(hào)節(jié)點(diǎn)的.

至于發(fā)送到1號(hào)節(jié)點(diǎn)的哪個(gè)索引,就需要根據(jù)CAN報(bào)文后面的數(shù)據(jù)了.

CAN除了ID,還會(huì)有8個(gè)字節(jié)數(shù)據(jù),

按照SDO格式:其中前4個(gè)字節(jié)被用作命令碼,索引和子索引,后面的4個(gè)字節(jié)才是真正的數(shù)據(jù).

?

如果ID0x201,201=200+1;

200是功能碼,代表PDO.

1是節(jié)點(diǎn)號(hào),代表這條報(bào)文是發(fā)送給1號(hào)節(jié)點(diǎn)的.

那么按照PDO的規(guī)則,CAN報(bào)文后面的8個(gè)數(shù)據(jù)字節(jié)(可根據(jù)情況減少,最多8個(gè)字節(jié)),都是表示數(shù)據(jù)的.

?

至于為什么600SDO的功能碼,200PDO的功能碼,是因?yàn)?/span>cia301協(xié)議規(guī)定好的.大家都會(huì)按照cia301協(xié)議去做.(需要記住一些常用的報(bào)文ID和字典中常用的索引)


canopen部分 1 簡(jiǎn)介的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
凌海市| 班戈县| 定日县| 塔河县| 伊金霍洛旗| 兴和县| 和田市| 望城县| 惠安县| 喀喇沁旗| 玛曲县| 南雄市| 义乌市| 中西区| 西和县| 通城县| 漳浦县| 威信县| 乡宁县| 丰顺县| 景东| 沅江市| 泾川县| 武威市| 辛集市| 保亭| 固阳县| 余姚市| 陈巴尔虎旗| 济阳县| 富阳市| 兴山县| 即墨市| 台南市| 三台县| 垦利县| 鸡东县| 尖扎县| 红原县| 赣州市| 天水市|