canopen部分 2 ds402協(xié)議
1.?字典與cia402
設(shè)備的數(shù)據(jù)和配置都保存在字典里面.大部分參數(shù)是出廠之前已經(jīng)配置好的.
仍有一些參數(shù)需要根據(jù)需求進行配置,需要記住一些常用參數(shù)索引和類型.
對于字典的查詢可一查找cia301手冊,cia402手冊,faulhaber手冊,faulhaber上位機和elmo上位機.

字典是cia301協(xié)議里規(guī)定的概念.是核心的概念.
字典類似于一個帶有”管理員”的儲物柜.
這個儲物柜有多個格子,每個格子都有一個編號(索引).
如果想要取出格子里面的東西,需要知道格子的索引號.
還需要與儲物柜的管理員進行”通信”.
“通信”規(guī)則有兩套,
一種是比較慢的SDO,雖然比較慢,但是穩(wěn)定,會有回復.
另一種是比較快的PDO,效率很高.沒有回復.
?
比如你要存一個帽子到儲物柜里:
SDO需要你說出全面的信息,比如,第3行,第4列的黑色格子,放一個帽子(數(shù)據(jù)).
“管理員”收到你說的信息之后,接過你的帽子放入第3行,第4列的黑色格子,并回復你放好了.
?
PDO就不需要那么全面的信息,有點類似暗號.你和”管理員”很熟之后,之間的溝通就不需要那么繁瑣了.
你直接扔給”管理員”一個帽子,他就自動放入第3行,第4列的黑色格子了;
你直接扔給”管理員”一個鞋子,他就自動放入第8行,第8列的灰色格子了;
......
?
你可以進行更多的存取.
為了避免忘記這么多的配置,
你和”管理員”紀錄了一個賬冊,這個賬冊里面寫好了各個暗號(PDO配置).并且賬冊也放入了”儲物柜”的前面幾個格子里,為了以后可以隨時查看或更改(可讀可寫的,比如增加一個取放眼鏡的功能).
從此”儲物柜”分為了兩部分:
一部分是放置賬冊的,賬冊里面的內(nèi)容可以進行更改(PDO的配置可以進行更改).
另一部分是放置物品的,這里基本是不變的.柜子的大小,數(shù)量和放置各個物品的專用格子是不能更改的. (cia402固定好的).放帽子的格子只能放帽子,放鞋的格子只能放鞋.(驅(qū)動器廠家A或這驅(qū)動器廠家B都會遵循這個規(guī)則,放置速度和放置位置的索引是不會改變的)
?
“管理員”和”你”之所以有這么好的默契,是因為,各自心里都有一個共同的儲物柜(字典).
“你”出差去其他地方,在另一個地方又有了一個儲物柜.需要配置一個新的”管理員”.(另一個節(jié)點)
這個”儲物柜”構(gòu)造,大小都是和家里的一模一樣(放鞋和放帽子的位置不變,協(xié)議規(guī)定好的).上面一層,仍然放置賬冊,賬冊里面記錄了暗號(PDO配置),你讓新的管理員熟記賬冊的內(nèi)容.從此就可以進行PDO通信了.當然也可以通過SDO的方式進行通信.(需要說出第幾行第幾列的那個格子...)
?
因為”A管理員”和”B管理員”都是一個行業(yè)的(驅(qū)動器行業(yè)),所以他們的習慣是一樣的,都會把帽子放在鞋子的上面一個格子里,分毫不差.(遵從cia402協(xié)議)
?
如果你突然獲得一個手機,”A管理員”和”B管理員”沒有遇到過這個情況,所以,可能會放入不同的格子.(這個就是私有數(shù)據(jù)了)
?
如果一個驅(qū)動器遵循CANopen協(xié)議,那么這個驅(qū)動器里面就有一個字典.
這個字典里面存儲著驅(qū)動器當前的配置(里面也包括PDO的配置)和參數(shù).
用PDO或者SDO進行通信,查看字典配置,讀取或者寫入驅(qū)動器里的速度,位置,電壓,電流…...
例如速度:
驅(qū)動器遵從cia402協(xié)議,它的格子號(索引和子索引)是0x60ff 00. 0x60ff是索引,00是子索引.
601, 40 ff 60 00 00 00 00 00 這條SDO指令就可以讀取目標速度值.
601 ?是ID
40 ??是讀取指令,寫入指令是22
ff 60 是60ff,即索引
00 ??是子索引
00 00 00 00 是為了補齊8個字節(jié)
?
A廠家的驅(qū)動器或B廠家的驅(qū)動器,如果支持CANopen,則都會遵守這個cia402協(xié)議.
如果想要獲得驅(qū)動器的數(shù)據(jù),可以通過查找cia402協(xié)議,去找索引.
目前0x60...或0x10...的索引都是協(xié)議規(guī)定好的.
0x2....的索引是私有的,可能各個廠家不同.