CANopen協(xié)議詳情講解_第1頁
CANopen協(xié)議詳情講解_第2頁
CANopen協(xié)議詳情講解_第3頁
CANopen協(xié)議詳情講解_第4頁
CANopen協(xié)議詳情講解_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

實(shí)用標(biāo)準(zhǔn)文案精彩文檔根據(jù)DS301的內(nèi)容進(jìn)行介紹1、CAN總線CAN標(biāo)準(zhǔn)報(bào)文2、CANopen應(yīng)用層協(xié)議CANopen協(xié)議不針對某種特別的應(yīng)用對象,具有較高的配置靈活性,高數(shù)據(jù)傳輸能力,較低的實(shí)現(xiàn)復(fù)雜度。同時(shí),CANopen完全基于CAN標(biāo)準(zhǔn)報(bào)文格式,而無需擴(kuò)展報(bào)文的支持,最多支持127個(gè)節(jié)點(diǎn),并且協(xié)議開源.一個(gè)標(biāo)準(zhǔn)的CANopen節(jié)點(diǎn)(下圖),在數(shù)據(jù)鏈路層之上,添加了應(yīng)用層。該應(yīng)用層一般由軟件實(shí)現(xiàn),和控制算法共同運(yùn)行在實(shí)時(shí)處理單元內(nèi).一個(gè)標(biāo)準(zhǔn)的CANopen節(jié)點(diǎn)CANopen應(yīng)用層協(xié)議細(xì)化了CAN總線協(xié)議中關(guān)于標(biāo)識(shí)符的定義。定義標(biāo)準(zhǔn)報(bào)文的11比特標(biāo)識(shí)符中高4比特為功能碼,后7比特為節(jié)點(diǎn)號,重命名為通訊對象標(biāo)識(shí)符(COB-ID)。功能碼將所有的報(bào)文分為7個(gè)優(yōu)先級,按照優(yōu)先級從高至低依次為:網(wǎng)絡(luò)命令報(bào)文(NMT)同步報(bào)文(SYNC)緊急報(bào)文(EMERGENCY)時(shí)間戳(TIME)過程數(shù)據(jù)對象(PDO)服務(wù)數(shù)據(jù)對象(SDO)節(jié)點(diǎn)狀態(tài)報(bào)文(NMTErrControl)7位的節(jié)點(diǎn)號則表明CANopen網(wǎng)絡(luò)最多可支持127個(gè)節(jié)點(diǎn)共存(0號節(jié)點(diǎn)為主站).下表給出了各報(bào)文的COB-ID范圍.NMT命令為最高優(yōu)先級報(bào)文,由CANopen主站發(fā)出,用以更改從節(jié)點(diǎn)的運(yùn)行狀態(tài)。SYNC報(bào)文定期由CANopen主站發(fā)出,所有的同步PDO根據(jù)SYNC報(bào)文發(fā)送。EMERGENCY報(bào)文由出現(xiàn)緊急狀態(tài)的從節(jié)點(diǎn)發(fā)出,任何具備緊急事件監(jiān)控與處理能力的節(jié)點(diǎn)會(huì)接收并處理緊急報(bào)文。TIME報(bào)文由CANopen主站發(fā)出,用于同步所有從站的內(nèi)部時(shí)鐘.PDO分為4對發(fā)送和接收PDO,每一個(gè)節(jié)點(diǎn)默認(rèn)擁有4對發(fā)送PDO和接收PDO,用于過程數(shù)據(jù)的傳遞。SDO分為發(fā)送SDO和接收SDO,用于讀寫對象字典.MTErrorControl報(bào)文由從節(jié)點(diǎn)發(fā)出,用以監(jiān)測從節(jié)點(diǎn)的運(yùn)行狀態(tài)。狀態(tài)機(jī)CANopen的每一個(gè)節(jié)點(diǎn)都維護(hù)了一個(gè)狀態(tài)機(jī)。該狀態(tài)機(jī)的狀態(tài)決定了該節(jié)點(diǎn)當(dāng)前支持的通訊方式以及節(jié)點(diǎn)行為。初始化時(shí),節(jié)點(diǎn)將自動(dòng)設(shè)置自身參數(shù)和CANopen對象字典,發(fā)出節(jié)點(diǎn)啟動(dòng)報(bào)文,并不接收任何網(wǎng)絡(luò)報(bào)文。初始化完成后,自動(dòng)進(jìn)入預(yù)運(yùn)行狀態(tài).在該狀態(tài),節(jié)點(diǎn)等待主站的網(wǎng)絡(luò)命令,接收主站的配置請求,因此可以接收和發(fā)送除了PDO以外的所有報(bào)文。運(yùn)行狀態(tài)為節(jié)點(diǎn)的正常工作狀態(tài),接收并發(fā)送所有通訊報(bào)文。停止?fàn)顟B(tài)為一種臨時(shí)狀態(tài),只能接收主站的網(wǎng)絡(luò)命令,以恢復(fù)運(yùn)行或者重新啟動(dòng).CANopen節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換圖CANopen節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換條件3、DeviceModelCommunication提供通信對象和傳輸經(jīng)過底層的數(shù)據(jù)的適當(dāng)功能;ObjectDictionary對此設(shè)備上的應(yīng)用程序?qū)ο?,通信對象和狀態(tài)機(jī)的行為有影響的所有數(shù)據(jù)項(xiàng)的集合。Application由在處理環(huán)境方面的設(shè)備功能組成.設(shè)備應(yīng)用在數(shù)據(jù)條目中的完整描述在對象字典中叫設(shè)備子文件(deviceprofile)4、OD每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)對象字典(ObjectDictionary,OD)。該對象字典保存了節(jié)點(diǎn)信息、通訊參數(shù)和所有的過程數(shù)據(jù),是CANopen節(jié)點(diǎn)的核心數(shù)據(jù)結(jié)構(gòu)。上層應(yīng)用程序也主要通過讀寫對象字典和CANopen應(yīng)用層進(jìn)行交互。CANopen對象字典為兩級數(shù)組結(jié)構(gòu),通過索引(16bits)和子索引(8bits)來編址。設(shè)備子文件中最重要的就是對象字典的描述,對象字典在slave節(jié)點(diǎn)中一般是在設(shè)備初始化寫好的不會(huì)修改,而在master節(jié)點(diǎn)中可以在運(yùn)行過程中動(dòng)態(tài)修改,不修改的OD一般存在ROM中,而修改的存在RAM中。由于它是由16bits的位索引,所以最多有65536個(gè)entries.根據(jù)節(jié)點(diǎn)所支持的通訊方式,每一個(gè)節(jié)點(diǎn)都必須實(shí)現(xiàn)1000h~1FFFh當(dāng)中的一個(gè)必要子集,同時(shí)實(shí)現(xiàn)6000h以上部分的數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)大小由節(jié)點(diǎn)的功能自行決定.1000h以下部分所有的節(jié)點(diǎn)都不需實(shí)現(xiàn).對象字典作為在CAN總線上連接application和通信的媒介,其允許來自application數(shù)據(jù)在CAN網(wǎng)絡(luò)上進(jìn)行交換。CANopen定義了可以進(jìn)入對象字典的服務(wù)和通信對象。每一個(gè)入口通過索引和子索引來編址。在一個(gè)主索引里中的子索引入口的類型和屬性可能會(huì)變化.5、PDO數(shù)據(jù)處理對象(PDO)特別適合快速的數(shù)據(jù)處理傳輸.通信模塊針對這些數(shù)據(jù)處理對象定義了一個(gè)PDOproducer和一個(gè)或多個(gè)PDOconsumers。PDO的傳輸是由事件觸發(fā)的,這樣的事件可以是代表一個(gè)PDO變量的變化;可以是時(shí)間的過期或者是接收到一個(gè)特定的消息。過程數(shù)據(jù)直接在一個(gè)CAN消息中傳輸而不需要協(xié)議頭文件.一個(gè)PDO的長度是在0到8個(gè)字節(jié)之間。PDOs包含在其映射參數(shù)和通信參數(shù)中。TPDOs和RPDOs的最大的數(shù)可以被定義為512。一個(gè)簡單的CANopen設(shè)備一般支持4個(gè)PDOs。實(shí)際當(dāng)中,對一個(gè)具體的CANopen設(shè)備而言,其PDOs的個(gè)數(shù)由應(yīng)用層或設(shè)備profile來決定的。3。1PDO的結(jié)構(gòu)—映射參數(shù)在對象詞典中一個(gè)PDO由臨近的條目構(gòu)成。所謂的映射參數(shù)定義了這些條目的連接.一個(gè)映射參數(shù)通過索引、分索引和位數(shù)定義數(shù)據(jù)源.例如:一個(gè)CAN消息最多有8個(gè)字節(jié)。這意味著當(dāng)使用一個(gè)PDO時(shí),在一個(gè)PDO中發(fā)送8個(gè)字典的對象條目。3.2PDO的結(jié)構(gòu)—通信參數(shù)為了傳輸一個(gè)PDO,通信參數(shù)定義了傳輸?shù)男再|(zhì)和CAN標(biāo)識(shí)符(CANidentifier)。PDO通信參數(shù)是在對象詞典的條目(RPDOs:index0x1400–0x15FF,TPDOs:0x1800—0x19FF)如果允許,映射參數(shù)在數(shù)據(jù)服務(wù)對象幫助下可以通過CAN修改。3。2COB—ID(CAN標(biāo)識(shí)符,分索引1)COB-ID作為身份證明,PDO的優(yōu)先權(quán)在總線入口(access)之前。對于每一個(gè)CAN消息來說只允許有一個(gè)發(fā)送者(生產(chǎn)者)。然而,對這個(gè)已存在的消息來說其允許多個(gè)接收者(消費(fèi)者)。位30=0,著對這個(gè)PDO來說一個(gè)遠(yuǎn)程發(fā)送請求(RTR)是被允許.3。3PDO連接的例子設(shè)備A的輸入2和3被轉(zhuǎn)移到設(shè)備B的輸出1和3。兩個(gè)設(shè)備都支持完全映射。傳輸和接收都是PDOs使用的是相同的標(biāo)識(shí)符0x01C0。因此設(shè)備B自動(dòng)的接收由設(shè)備A發(fā)送的PDO。設(shè)備B作為接收者根據(jù)映射原理分析數(shù)據(jù):它傳遞第一個(gè)字節(jié)到輸出1,傳遞第二個(gè)字節(jié)到輸出3.在另一方面,發(fā)送設(shè)備A以同樣的字節(jié)存儲(chǔ)它的輸入2和3。6、SDO數(shù)據(jù)字典作為應(yīng)用層和通信層的主要數(shù)據(jù)交換媒介.一個(gè)CANopen設(shè)備的所有數(shù)據(jù)的入口可以通過對象字典來管理。每一個(gè)對象字典的入口可以用索引和子索引來表示其地址。CANopen定義了所謂的SDO就是用于進(jìn)入到這些入口。通信模塊基于客戶-服務(wù)器框架上的數(shù)據(jù)交換。讀或?qū)懭肟诳偸怯煽蛻魜沓跏蓟⑶沂怯煞?wù)器服務(wù).每一個(gè)CANopen設(shè)備必須有一個(gè)數(shù)據(jù)服務(wù)對象服務(wù)器來進(jìn)入到它的對象字典。SDO發(fā)送需要兩類不同的COBIDs(CANidentifier)。第一個(gè)COBID用于從客戶到服務(wù)器發(fā)送一個(gè)請求。服務(wù)器通過第二個(gè)COBID發(fā)送反饋信號到客戶。不同的COBID必須用于各自的方向以防止在CAN總線上的沖突。通信profile定義了COBIDs可以用defaultSDPserver.每一個(gè)CANopen設(shè)備可以處理127個(gè)SDOservers.CANopen標(biāo)準(zhǔn)CiADS-301定義了不同的協(xié)議用于發(fā)送SDOs。讀OD入口稱作為上傳,寫入口稱為下載。一個(gè)正在進(jìn)行的發(fā)送可以在終止轉(zhuǎn)移服務(wù)幫助下由客戶或服務(wù)器來中斷。TPDO傳輸?shù)氖遣蓸拥臄?shù)據(jù),當(dāng)發(fā)生觸發(fā)TPDO傳輸?shù)氖录r(shí),各個(gè)TPDO根據(jù)自己的傳輸類型決定是否進(jìn)行采樣并傳輸。TPDO的傳輸分為同步和異步兩大類,傳輸類型為同步的,需要在接收到同步消息(SYNC)時(shí)采樣數(shù)據(jù)。同步又分為周期和非周期兩種.傳輸類型0為非周期傳輸,表示只有接收到同步消息并且規(guī)定的事件發(fā)生才進(jìn)行采樣數(shù)據(jù)發(fā)送,具體是在收到同步對象后,判斷規(guī)定的事件是否發(fā)生,如果發(fā)生則進(jìn)行采樣并觸發(fā)TPDO的發(fā)送。傳輸類型1~240為周期傳輸,傳輸類型的值表示在接收到對應(yīng)個(gè)數(shù)的同步消息后采樣并觸發(fā)TPDO的發(fā)送,例如某個(gè)TPDO的傳輸類型為10,就表示此TPDO每次接收到10個(gè)同步消息后采樣并發(fā)送數(shù)據(jù)。傳輸類型252為非周期傳輸,在接收到同步對象后進(jìn)行采樣但不發(fā)送,在接收到請求該數(shù)據(jù)的遠(yuǎn)程幀后發(fā)送.傳輸類型253—255為異步傳輸,定義為此三種類型的TPDO在接收到遠(yuǎn)程幀或規(guī)定的事件發(fā)生后進(jìn)行傳輸.7、CANopen中的協(xié)議CANmessageinCANopen數(shù)據(jù)放在CAN幀中是按最小位在前的順序存放.NMTprotocol設(shè)置節(jié)點(diǎn)進(jìn)入操作設(shè)置節(jié)點(diǎn)進(jìn)入停止設(shè)置節(jié)點(diǎn)進(jìn)入預(yù)操作設(shè)置節(jié)點(diǎn)進(jìn)入復(fù)位應(yīng)用設(shè)置節(jié)點(diǎn)進(jìn)入復(fù)位通信配置所有節(jié)點(diǎn)時(shí),使用nodeID=00NodeGuardProtocol主節(jié)點(diǎn)發(fā)送下列命令來詢問節(jié)點(diǎn)的狀態(tài)節(jié)點(diǎn)響應(yīng)HeartBeatProtocol節(jié)點(diǎn)周期傳送它的狀態(tài)。BootupProtocol節(jié)點(diǎn)進(jìn)入預(yù)操作狀態(tài)時(shí),它發(fā)送:SDOprotocol所有SDO幀都具有相同的CAN幀長度:8bytes數(shù)據(jù)和rtr=0。SDODownloadexpeditedprotocol為了寫0xd0d1…到服務(wù)器節(jié)點(diǎn)對象字典,客戶機(jī)發(fā)送請求:SDOUploadexpeditedprotocol為了讀0xd0d1…到服務(wù)器節(jié)點(diǎn)對象字典,客戶機(jī)發(fā)送請求:SDOabortprotocolAbortcode(hexa)05030000Togglebitnotalternated05040000SDOprotocoltimedout05040001Client/servercommandspecifiernotvalidorunknown05040002Invalidblocksize(blockmodeonly)05040003Invalidsequencenumber(blockmodeonly)05040004CRCerror(blockmodeonly)05040005Outofmemory06010000Unsupportedaccesstoanobject06010001Attempttoreadawriteonlyobject06010002Attempttowriteareadonlyobject06020000Objectdoesnotexistintheobjectdictionary06040041ObjectcannotbemappedtothePDO06040042ThenumberandlengthoftheobjectstobemappedwhouldexeedPDOlength06040043Generalparameterincompatibilityreason06040047Generalinternalincompatibilityinthedevice06060000Accessfailedduetoahardwareerror06070010Datatypedoesnotmatch,lengthofserviceparameterdoesnotmatch06070012Datatypedoesnotmatch,lengthofserviceparametertoohight06070013Datatypedoesnotmatch,lengthofserviceparametertoolow06090011Sub—indexdoesnotexist。06090030Valuerangeofparameterexceeded(onlyforwriteaccess)06090031Valueofparameterwrittentoohight06090032Valueofparameterwrittentoolow06090036Maximumvalueislessthanminimumvalue08000000Generalerror08000020Datacannotbetransferredorstoredtotheapplication08000021Datacannotbetransferredorstoredtotheapplicationbecauseoflocalcontrol08000022Datacannotbetransferredorstoredtotheapplicationbecauseofthepresentdevicestate08000023Objectdictionarydynamicgenerationfailsornoobjectdictionaryispresent.8、CANopen中PDO與SDO配置HowtoconfigureaPDOTransmit?例子:--—-配置PDO0x1800+n—-——它的COBID是0x387-—--該P(yáng)DO始終觸發(fā)傳輸—--—它必須包含數(shù)據(jù):dataX(2bytes),dataY(4bytes),按下面的順序——dataX定義在索引0x6000,子索引03——dataY定義在索引0x2010,子索引211—索引1800+n,子索引01:寫COBID(4bytes)2—-子索引02:寫傳輸字節(jié)《t》(1byte)t=1to0xF0:PDO在每接到《t》個(gè)SYNC后被傳輸t=FD:在接收到PDO請求(rtr=1)后傳輸t=FF:根據(jù)事件進(jìn)行傳輸,節(jié)點(diǎn)自發(fā)發(fā)送PDO3—索引1A00+n:定義第n個(gè)數(shù)據(jù)的映射子索引0:寫嵌入到PDO中的數(shù)據(jù)個(gè)數(shù)(1byte),本例是,寫入《2》子索引1:定義在哪里尋找嵌入的第一個(gè)數(shù)據(jù)和大小。(8bytes)格式是:index(2bytes)–subindex(1byte)–sizeinbits(1byte)本例,寫入《60000310》子索引2:定義在哪里尋找嵌入的第二個(gè)數(shù)據(jù)和大小。(8bytes)本例,寫入《20102120》配置節(jié)點(diǎn)5的PDO1802在每3個(gè)SYNC傳輸,發(fā)送的SDO(s)應(yīng)為60523021801000087036052F021802030000006052F021A000200000060523021A011003006060523021A0220211020什么是PDOTransmitedPAGEXXX〈onrequestPAGEXXX〉?當(dāng)一個(gè)節(jié)點(diǎn)接受到帶有相同COBID的rtr,該P(yáng)DO必須傳輸。例如:如果帶有COBID384的PDO被請求,它就必須被傳輸.HowtoconfigureaPDOReceive?例子-———配置PDO0x1400+n——--它的COBID是0x183—--—該P(yáng)DO始終觸發(fā)傳輸——-—它必須包含數(shù)據(jù):dataX(2bytes),dataY(4bytes),按下面的順序--dataX定義在索引0x6000,子索引03--dataY定義在索引0x2010,子索引211—索引1400+n,子索引01:寫COBID(4bytes)2--子索引02:寫傳輸字節(jié)《t》(1byte)t=1to0xF0:PDO在每接到《t》個(gè)SYNC后被傳輸t=FD:在接收到PDO請求(rtr=1)后傳輸t=FF:根據(jù)事件進(jìn)行傳輸,節(jié)點(diǎn)自發(fā)發(fā)送PDO3—索引1600+n:定義映射子索引0:寫嵌入到PDO中的數(shù)據(jù)個(gè)數(shù)(1byte),本例是,寫入《2》子索引1:定義在哪里尋找嵌入的第一個(gè)數(shù)據(jù)和大小。(8bytes)格式是:index(2bytes)–subindex(1byte)–sizeinbits(1byte)本例,寫入《60000310》子索引2:定義在哪里尋找嵌入的第二個(gè)數(shù)據(jù)和大小。(8bytes)本例,寫入《20102120》配置節(jié)點(diǎn)5的PDO1802在每3個(gè)SYNC接收,發(fā)送的SDO(s)應(yīng)為60523021401000083016052F021402030000006052F0216000200000060523021601100300606052302160220211020HowtoconfigureaSDOclient?在CANopen網(wǎng)絡(luò),每一個(gè)slave節(jié)點(diǎn)實(shí)現(xiàn)一個(gè)SDO服務(wù)器(index1200),來接收來自client節(jié)點(diǎn)的SDO.缺省情況下,slave節(jié)點(diǎn)功能都是很好的配置的了。一般,slave節(jié)點(diǎn)不需要實(shí)現(xiàn)任何SDOclient,因?yàn)樗恍枰l(fā)送SDO到其他的節(jié)點(diǎn)。Master節(jié)點(diǎn)為了發(fā)送SDO到slave節(jié)點(diǎn),它應(yīng)該有幾個(gè)SDOclients(每個(gè)slave一個(gè))。項(xiàng)必須被配置在1280,1281,…配置SDOclient定義在index0x1280+n來和節(jié)點(diǎn)nsl通信1–Index1280+n,subindex01:writethecobIdtransmit(4bytes):600+nsl2–subindex02:writethecobIdreceive(4bytes):580+nsl3–subindex03:writetheslavenodeid(1byte):nsl(Optional)HowtoconfigureanodetosendtheSYNC?Index1006,subindex00:writetheperiodinmicroseconds。(4bytes):例子:tosendaSYNCevery10(dec)ms(1000micro),writethevalue:0x2710TheSDOshouldbeifitisthenode9:6092306100010270000Tostop,write0。Tostart,write0x40000080atindex0x1005,subindex0WhatistheSYNCmessage?Howtoconfigureanodetosenditsheartbeat?Tosenditsheartbeateverynmilliseconds:1–Index1017–subindex00:write《n》PAGEXXX(2bytes):例子:tosendaheartbeatevery100ms,writethevalue:0x64TheSDOshouldbe,ifitisthenode9:6092B17100064000000Tostop,write0。9、CANopen如何修改對象字典的理解SDO的基本結(jié)構(gòu)如下:Client→Server/Server→Client下載/上傳(Download/upload)請求/應(yīng)答(Request/response)分段/加速傳送(Segmented/expeditedtransfer)CAN幀數(shù)據(jù)字節(jié)長度用于后續(xù)每個(gè)分段的交替清零和置位的觸發(fā)位(togglebit)SDO中實(shí)現(xiàn)了5個(gè)請求/應(yīng)答協(xié)議:啟動(dòng)域下載(InitiateDomainDownload);域分段下載(DownloadDomainSegment);啟動(dòng)域上傳(InitiateDomainUpload);域分段上傳(UploadDomainSegment)和域傳送中止(AbortDomainTransfer)?!煜螺d(Download)是指對對象字典進(jìn)行寫操作,上傳(Upload)指對對象字典進(jìn)行讀操作。§協(xié)議的SDO命令字(SDOCAN報(bào)文的第一個(gè)字節(jié))語法和細(xì)節(jié)在下面部分說明:(‘-’表示不相關(guān),應(yīng)為0).§讀取參數(shù)時(shí),使用啟動(dòng)域上傳(InitiateDomainUpload)協(xié)議§設(shè)置參數(shù)時(shí),使用啟動(dòng)域下載(InitiateDomainDownload)協(xié)議n:表示報(bào)文數(shù)據(jù)中無意義數(shù)據(jù)的字節(jié)數(shù)【從(8-n)字節(jié)到第7字節(jié)數(shù)據(jù)無意義】(當(dāng)e=1且s=1時(shí)n有效,否則n為0)。e:e=0時(shí)正常傳送,e=1時(shí)加速傳送。s:表示是否指明數(shù)據(jù)長度,0為數(shù)據(jù)長度未指明,1為數(shù)據(jù)長度指明。e=0,s=0:由CiA保留。e=0,s=1:數(shù)據(jù)字節(jié)為字節(jié)計(jì)數(shù)器,byte4是數(shù)據(jù)低位部分(LSB),byte7是數(shù)據(jù)高位部分(MSB).e=1:數(shù)據(jù)字節(jié)為將要下載(download)的數(shù)據(jù)。Examples:※讀取參數(shù)發(fā)送SDO報(bào)文接收SDO報(bào)文(**為最大字節(jié)數(shù)據(jù))※注:SDO報(bào)文發(fā)送時(shí)命令字均為0x40如果數(shù)據(jù)為1個(gè)字節(jié),則接收命令字為0x4F如果數(shù)據(jù)為2個(gè)字節(jié),則接收命令字為0x4B如果數(shù)據(jù)為3個(gè)字節(jié),則接收命令字為0x47如果數(shù)據(jù)為4個(gè)字節(jié),則接收命令字為0x43※修改參數(shù)時(shí)發(fā)送SDO報(bào)文(**為最大字節(jié)數(shù)據(jù))如果數(shù)據(jù)為1個(gè)字節(jié),則發(fā)送命令字為0x2F如果數(shù)據(jù)為2個(gè)字節(jié),則發(fā)送命令字為0x2B如果數(shù)據(jù)為3個(gè)字節(jié),則發(fā)送命令字為0x27如果數(shù)據(jù)為4個(gè)字節(jié),則發(fā)送命令字為0x23接收SDO報(bào)文※注:SDO報(bào)文接收時(shí)命令字均為0x60讀取參數(shù)舉例Send:6014001650000000000->讀取6501h/00h地址的參數(shù)(節(jié)點(diǎn)地址01)(SingleTurnresolution:四個(gè)字節(jié))Receive:58143016500A08C0000-〉6501h/00h地址的參數(shù)值為0x00008CA0Send:6014000200000000000—>讀取2000h/00h地址的參數(shù)(Mode:一個(gè)字節(jié))Receive:5814F00200000000000-〉2000h/00h地址的參數(shù)值為0x00寫入?yún)?shù)舉例Send:60123016500A08C0000->將6501h/00h地址的參數(shù)值設(shè)為0x00008CA0(SingleTurnresolution:四個(gè)字節(jié))Receive:5816001650000000000—>6501h/00h地址的參數(shù)值修改成功Send:6012F00200000000000->將2000h/00h地址的參數(shù)值設(shè)為0x00(Mode:一個(gè)字節(jié))Receive:5816000200000000000->2000h/00h地址的參數(shù)值修改成功§注:參數(shù)修改后并沒有直接保存,必須在Object1010h:Saveparameters(保存參數(shù))內(nèi)進(jìn)行“save”寫入才能保存所修改參數(shù)。在Sub-Index1寫入命令“save”(0x65766173h),參數(shù)將會(huì)存入存儲(chǔ)器。舉例:Send:6012310100173617665-〉將0x65766173h寫入1010h/01h地址Receive:581601010010

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論