Canopen PDO 簡介與示例_第1頁
Canopen PDO 簡介與示例_第2頁
Canopen PDO 簡介與示例_第3頁
Canopen PDO 簡介與示例_第4頁
Canopen PDO 簡介與示例_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、4.PDO通訊4.1 PDO COB-ID參數每一個PDO在對象字典內都會有其對應的PDO通訊參數,在使用PDO之前,必須要先查詢對象字典中PDO通訊參數對象內的COB-ID項目(子索引0x01)。COB-ID項目內記錄了PDO在傳輸時會使用的COB-ID,共有32位。COB-ID項目每一個位所表示的意義如下表:Bit編號值含義31(MSB)0PDO存在(此PDO有效)1PDO不存在 (此PDO無效)300此PDO允許RTR傳輸1此PDO允許RTR傳輸29011-bit ID(CAN 2.0A)129-bit ID(CAN 2.0B)28-110若bit 29=0,則此處的數值為 0x若bit

2、 29=1:則此處就是29位COB-ID內的第 2811位10-0(LSB)xCOB-ID內的第 100 位除了保留的COB-ID以外,其他的COB-ID都能用來自定義PDO的COB-ID,但要注意避免一個COB-ID在同一節(jié)點上被不同的通訊對象重復使用。當bit 31=0時,PDO為有效狀態(tài),此時PDO的COB-ID的參數不允許更改。4.2 傳輸類型PDO通訊參數含有數個作用不同的參數,其中子索引為 0x02的參數為傳輸類型,而每一個PDO均可設定其傳輸類型。通過傳輸類型可以了解PDO在傳送與接收時的特性。不同類型與PDO傳輸特性關系表:傳輸類型PDO傳輸方式同步異步循環(huán)非循環(huán)僅遠程傳送請求

3、01-240241-251reversed252253254255當TxPDO的傳輸類型是1-240之間的某個值,則表示需要接收到這么多個SYNC對象才能夠觸發(fā)TxPDO的傳送。若RxPDO的傳輸類型是0-240,則僅需要一個SYNC對象的接收便可以啟用在此之前收到且尚未被啟用的RxPDO對象,與傳輸類型的數字大小無關。僅TxPDO的傳輸類型可以被設定為252和253,如果傳輸類型被設定為這兩種時,則只有在接收到此TxPDO的RTR信息時,設備才會對外傳送TxPDO。傳輸類型若被設定為252,則表示設備在接收到SYNC對象時,才會更新TxPDO內的數據。傳輸類型若被設定為253,則在接收到RT

4、R信息時,設備會更新TxPDO內的數據。 傳輸類型如果被設定為254和255,便可以使用事件定時器(Event Timer)來觸發(fā)TxPDO的傳送。另外若某DI被映射到某個PDO,當此DI的值變化時,也會觸發(fā)其對應TxPDO的傳送。對RxPDO而言,若是傳輸類型被設定為254或255,則在接收到RxPDO之后,就必須立即啟用此RxPDO。4.3 PDO通訊規(guī)則根據CANopen DS-301的規(guī)范,與PDO有關的對象存放在對象字典中主索引0x1400到0x1BFF之間。每一個PDO的通訊參數對象均會對應到一個映像參數對象,兩者之間為一對一的關系。譬如第1組RxPDO通訊參數存放于對象字典中主索

5、引為0x1400的地方,而其相對應的映射參數存放于對象字典中主索引0x1600的地方,可依次推得主索引0x1401和0x1601為一對,主索引0x1402和0x1602為一對。TxPDO的通訊參數和映像參數的關系同樣遵循這樣的關系。在用戶開始用PDO對實際的I/O通道作存取前,必須先取得PDO的通訊參數和映射參數。此外,PDO的通訊只能在NMT的操作(Operational)狀態(tài)下使用,使用者要使用PDO來進數據的傳輸,可以透過NMT模塊控制協(xié)議傳送模塊控制信息,要求設備改變NMT狀態(tài)為操作狀態(tài)。另外,通過PDO傳送信息,PDO內的數據長必須和其對應PDO映射參數內所記錄的數據長相吻合,當PD

6、O消費者收到PDO信息時,會根據此PDO的COB-ID來查找相對應的RxPDO映射參數。若此PDO內的數據長m大于其映像參數所記錄的長n,則PDO消費者只會取前n字節(jié)來使用,其余部分丟棄。此PDO內的數據長小于其映像參數所記錄的長,則PDO消費者將會處這個PDO,并且會發(fā)出一個錯誤碼為8210h的EMCY(Emergency)信息給PDO生產者。4.4 PDO通訊范例4.4.1 讀寫設備IO假設CANopen IO設備有16路DI,16路DO,節(jié)點ID為1。使用預設COB-ID,16個DI映射給第一組TxPDO,16個DO映射給第一組RxPDO。PDO傳輸類型預設是255,使其輸出0x55AA

7、。步驟1:在使用PDO通訊之前,必須將設備NMT狀態(tài)設定在操作狀態(tài)。11位 COB-ID =000 RTR=0DLC=8 0101000000000000NMT主端NMT從端節(jié)點:1步驟2:傳送對象字典總第一組RxPDO給IO設備。11位 COB-ID =201 RTR=0DLC=8 AA55000000000000PDO生產者PDO消費者COB-ID:0x201PDO-msg:AA 55 00 00 00 00 00 00根據設備預設PDO映射,第一組RxPDO只有2字節(jié)數據,此處的數據長度DLC是8,設備在收到這個PDO之后會依據這個PDO映射參數處理前面2個字節(jié),后面6個字節(jié)丟棄。第一個

8、字節(jié)映射DO通道07,第二字節(jié)映射DO通道815。在IO設備上第一組RxPDO的預設是255,在收到此PDO之后會立即更新DO通道狀態(tài)。當DI變化時,對象字典內的數值就會發(fā)生變化。由于第一組TxPDO傳輸類型是255,當DI變化時,會傳送第一組TxPDO給PDO消費者,假如DI狀態(tài)改變?yōu)?xDDFF。11位 COB-ID = 181 RTR=0DLC=2 FFDDPDO消費者PDO生產者COB-ID:0x181PDO-msg:FF DD 00 00 00 00 00 00數據長度設定為2,因此只有前面2個字節(jié)有效。模擬量輸出AO與數字量輸出DO類似,一個模擬量通道占用2個字節(jié)。例如,預設第二組

9、RxPDO對應一個AO通道。AI數值變化并不會自動傳送TxPDO給PDO消費者,使用者需要通過RTR遠程傳送請求,設備收到RTR信息以后會傳送AI的TxPDO給使用者。4.1.2 事件計時器步驟1:利用SDO存取對象字典內主索引為0x1801,子索引為0x05的項目,將第2組TxPDO的事件定時器數值設定為1000。事件定時器內數值的單位為毫秒,所以此處的1000即1秒。11位 COB-ID =601 RTR=0DLC=8 2B011805E8030000SDO客戶端SDO服務端ccs:1n:2e:1s:1m:01 18 05d:E8030000 0x03E8即十六進制的1000。此外因為n=

10、2,所以最后2字節(jié)的內容“0000“沒有意義。步驟2:如果SDO傳輸成功,SDO服務端回復以下信息結束SDO通訊。11位 COB-ID =581 RTR=0DLC=8 6001180500000000SDO客戶端SDO服務端scs:3m:01 18 05步驟3:更改了事件計時器后,第二組的TxPDO便會以每1秒傳送一次。4.1.2 非循環(huán)同步RxPDO步驟1:設定第一組RxPDO的傳輸類型為0。11位 COB-ID =601 RTR=0DLC=8 2F00140200000000SDO客戶端SDO服務端ccs:1n:3e:1s:1m:00 14 02d:0011位 COB-ID =581 RT

11、R=0DLC=8 6000140200000000SDO客戶端SDO服務端scs:3m:00 14 02步驟2:使用第一組RxPDO,讓IO設備更改DO輸出為0xFF00。11位 COB-ID = 201 RTR=0DLC=8 00FF000000000000PDO生產者PDO消費者COB-ID:0x201PDO-msg:00 FF 00 00 00 00 00 00步驟3:發(fā)送一個SYNC對象給IO設備,觸發(fā)前一個步驟傳輸的RxPDO。11位 COB-ID = 80 RTR=0DLC=0 SYNC生產者 SYNC消費者4.1.2 非循環(huán)同步TxPDO步驟1:設定第一組TxPDO傳輸類型為0。11位 COB-ID =601 RTR=0DLC=8 2F00180200000000SDO客戶端SDO服務端ccs:1n:3e:1s:1m:00 18 02d:00 00 00 0011位 COB-ID =581 RTR=0DLC=8 6000180200000000SD

溫馨提示

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

評論

0/150

提交評論