關(guān)于該文檔:
描述了泰科智能AP系列精密伺服驅(qū)動(dòng)器的CANopen使用方法。任何參與評(píng)估和設(shè)計(jì)分布式運(yùn)動(dòng)控制系統(tǒng)的人均可從本手冊(cè)中找到所需的信息。本手冊(cè)要求用戶對(duì)運(yùn)動(dòng)控制,網(wǎng)絡(luò)和CANopen有一定的了解。
對(duì)象說明:
名字 |
描述 |
Type |
對(duì)象類型(例如無(wú)符號(hào)32位,整型,字符串) |
Access |
對(duì)象的獲取方式:
RO---只讀
WO---只寫
RW---可讀可寫
RC---可讀取,可清零 |
Units |
對(duì)象值的單位 |
Range |
數(shù)據(jù)類型可接受的范圍 |
Map PDO |
YES---對(duì)象可以映射到PDO,NO---不可以映射到PDO。EVENT---對(duì)象可以映射并且可設(shè)置為由事件觸發(fā) |
Memory |
數(shù)據(jù)類型可接受的范圍有些對(duì)象可以保存到驅(qū)動(dòng)器的flash存儲(chǔ)器(F)中,有些可以保存到RAM(R)中,有些既可以保存到flash也可保存到RAM。如果一個(gè)對(duì)象不能存儲(chǔ),或者對(duì)象包括子檢索對(duì)象,存儲(chǔ)區(qū)就會(huì)包含一個(gè)破折號(hào)(-) |
1. CAN和CANopen
本節(jié)描述深圳泰科智能驅(qū)動(dòng)器CANopen的使用以及其基礎(chǔ)---控制器區(qū)域網(wǎng)絡(luò)(CAN)。
泰科智能AP系列多款驅(qū)動(dòng)器支持CAN和CANopen協(xié)議,可以進(jìn)行分布式運(yùn)動(dòng)控制。通過使用CANopen,驅(qū)動(dòng)器可以接受來(lái)自主控制器的指令,完成回零點(diǎn)操作,點(diǎn)對(duì)點(diǎn)的運(yùn)動(dòng),速度控制,轉(zhuǎn)矩控制和插補(bǔ)運(yùn)動(dòng)。(這些驅(qū)動(dòng)器也支持串口通訊)
2.1. CAN和CANopen簡(jiǎn)介和結(jié)構(gòu)
CAN給出了高速可靠網(wǎng)絡(luò)的數(shù)據(jù)鏈路層和物理層的定義。CANopen給出了如何使不同的設(shè)備類型(包括運(yùn)動(dòng)控制設(shè)備)在CAN網(wǎng)絡(luò)中以高效的方式工作。
如下圖所示,在CANopen運(yùn)動(dòng)控制系統(tǒng)中,每個(gè)驅(qū)動(dòng)器都有自己獨(dú)立的閉環(huán)控制環(huán)路。主應(yīng)用控制器通過網(wǎng)絡(luò)發(fā)送指令和接收狀態(tài)信息,從而協(xié)調(diào)多個(gè)設(shè)備的工作。每個(gè)設(shè)備都可以向主控制器或網(wǎng)絡(luò)中其它設(shè)備發(fā)送消息。CANopen定義了映射設(shè)備和主控制器通過網(wǎng)絡(luò)共享的消息的協(xié)議格式。

CANopen網(wǎng)絡(luò)支持多達(dá)127個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都有一個(gè)7位的節(jié)點(diǎn)ID,其中節(jié)點(diǎn)ID 0是保留節(jié)點(diǎn),不允許用戶使用。
2.2. CAN協(xié)議概述
CANopen是基于CAN的,CAN是一種串口總線網(wǎng)絡(luò),最早由Robert Bosch GmbH設(shè)計(jì),用來(lái)協(xié)調(diào)汽車制造中多個(gè)控制系統(tǒng)的工作。
CAN模型后來(lái)被廣泛應(yīng)用于分布式控制。任何設(shè)備都可以向網(wǎng)絡(luò)中發(fā)送廣播信息。每個(gè)設(shè)備都會(huì)收到這些信息,然后經(jīng)過濾波器,只接受那些對(duì)自己適用的消息。因此,單個(gè)消息可以到達(dá)多個(gè)節(jié)點(diǎn),減少了消息發(fā)送的數(shù)量。這樣也可以極大的節(jié)省對(duì)地址的帶寬要求,允許分布式控制以實(shí)時(shí)的速度傳輸過整個(gè)系統(tǒng)。
CAN的其它優(yōu)勢(shì)包括:
1. CAN在汽車及其它工業(yè)上被廣泛使用,可以降低硬件成本,并且有連續(xù)的支持。已有的標(biāo)準(zhǔn)部件也可以降低系統(tǒng)設(shè)計(jì)的難度。
2. CAN相對(duì)的簡(jiǎn)單性降低了培訓(xùn)的難度。
3. 通過對(duì)設(shè)備的分布式控制,CAN可以減少設(shè)備和中央控制器之間的連線。線纜的減少可以提高系統(tǒng)工作的可靠性。
4. 基于設(shè)備的錯(cuò)誤檢測(cè)和處理方法也會(huì)使CAN網(wǎng)絡(luò)更加可靠。
CAN的物理層以差分方式驅(qū)動(dòng),需兩根總線,首尾兩個(gè)終端各接一個(gè)120歐姆的電阻。CAN支持的最大傳輸速率可達(dá)1,000,000 bits/second,距離可達(dá)25米。較低的速率可傳輸更遠(yuǎn)的距離。
2.3. CAN消息
CANopen消息以CAN消息(CAN消息也被稱為通訊對(duì)象或者COB)的格式傳輸。
CAN消息格式:
CAN消息以網(wǎng)絡(luò)包的形式在總線上傳輸。每個(gè)包由一個(gè)標(biāo)識(shí)號(hào) (CAN的消息ID),一些控制位和0-8個(gè)字節(jié)的數(shù)據(jù)組成的。
CRC錯(cuò)誤校驗(yàn):
每個(gè)包的發(fā)送都帶有CRC(冗余檢測(cè))信息,以便控制器可以判定并重新發(fā)送不正確的數(shù)據(jù)包。
CAN消息ID:
每一個(gè)CAN消息都有一個(gè)CAN消息ID(也叫COB-ID)。消息ID有兩個(gè)重要的作用:
CAN消息頭部分是消息ID,數(shù)越小,優(yōu)先級(jí)越高。當(dāng)同一時(shí)間有兩個(gè)或多個(gè)設(shè)備要發(fā)送消息時(shí),有更高優(yōu)先級(jí)的消息先發(fā)送。其它設(shè)備等待后重發(fā)。
相對(duì)于其它網(wǎng)絡(luò)技術(shù),這種碰撞處理方法可以提高帶寬的利用率。而其它網(wǎng)絡(luò)技術(shù),如因特網(wǎng),處理碰撞的方法則是要求兩個(gè)設(shè)備都放棄發(fā)送,并延時(shí)后再重新嘗試。
其它信息:
更多關(guān)于CAN協(xié)議的信息,請(qǐng)參考CAN 2.0規(guī)格書,作者Robert Bosch GmbH,和ISO 11898, Road Vehicles, Interchange of Digital Information, 高速通訊控制器區(qū)域網(wǎng)絡(luò)。
2.4. CANopen協(xié)議概述
CANopen是基于CAN的一系列應(yīng)用層協(xié)議。它實(shí)現(xiàn)了兩個(gè)基本的目的:
1. 它們實(shí)現(xiàn)了一種可以將多個(gè)CAN消息進(jìn)行打包的方法,從而可以以整體的方式發(fā)送大的數(shù)據(jù)塊。
2. 它們簡(jiǎn)化并標(biāo)準(zhǔn)化了多種應(yīng)用類型(包括運(yùn)動(dòng)控制)的設(shè)備之間的通訊
CANopen由CiA小組開發(fā),包括基本的CANopen應(yīng)用層和通訊協(xié)議(DS 301),以及多個(gè)設(shè)備子協(xié)議,包括驅(qū)動(dòng)器和運(yùn)動(dòng)控制的CANopen協(xié)議(DSP 402)。
通訊協(xié)議:
應(yīng)用層和通訊協(xié)議描述了網(wǎng)絡(luò)上設(shè)備使用的通訊技術(shù)。所有的CANopen應(yīng)用必須遵守該協(xié)議。
驅(qū)動(dòng)器和運(yùn)動(dòng)控制協(xié)議:
每一個(gè)CANopen設(shè)備協(xié)議都描述了一個(gè)標(biāo)準(zhǔn)設(shè)備的特定應(yīng)用。泰科CANopen驅(qū)動(dòng)器遵循驅(qū)動(dòng)器和運(yùn)動(dòng)控制協(xié)議。該協(xié)議列出了一個(gè)狀態(tài)機(jī)和一個(gè)位置控制函數(shù),還支持多個(gè)運(yùn)動(dòng)控制模式,包括:
1. 回零點(diǎn)
2. 位置曲線
3. 速度曲線
4. 轉(zhuǎn)矩曲線
5. 位置插補(bǔ)
6. 位置周期同步
7. 速度周期同步
8. 轉(zhuǎn)矩周期同步
驅(qū)動(dòng)器的工作模式使用工作模式對(duì)象設(shè)置。
2.5. CANopen設(shè)備的定義和存取
本節(jié)描述了CANopen網(wǎng)絡(luò)中用來(lái)配置和控制設(shè)備的對(duì)象和方法。
定義一個(gè)設(shè)備:CANopen對(duì)象和對(duì)象字典
控制CANopen網(wǎng)絡(luò)上的一個(gè)設(shè)備,主要是向該設(shè)備寫入?yún)?shù),讀取設(shè)備的狀態(tài)信息。為實(shí)現(xiàn)該目標(biāo),每個(gè)設(shè)備都定義了一組可以寫入的參數(shù),還有一些可以被讀取的狀態(tài)值。這些參數(shù)和狀態(tài)值的集合即是設(shè)備的對(duì)象。
這些對(duì)象定義和控制著設(shè)備的全部特性和操作。例如,一些對(duì)象定義了設(shè)備的基本信息:設(shè)備類型,具體型號(hào),串口號(hào)等,其它的被用來(lái)檢測(cè)設(shè)備的狀態(tài),傳送運(yùn)動(dòng)指令。
一個(gè)設(shè)備的所有對(duì)象的集合就被稱為對(duì)象字典。CANopen網(wǎng)絡(luò)中的每一個(gè)對(duì)象都必須定義一個(gè)對(duì)象字典,而幾乎每一個(gè)CANopen網(wǎng)絡(luò)消息都包含了從每個(gè)設(shè)備上讀取值或向每個(gè)設(shè)備上寫入值。
作為接口的對(duì)象字典:
對(duì)象字典是一個(gè)設(shè)備和網(wǎng)絡(luò)上其它實(shí)體之間的接口。如下圖所示:

CANopen協(xié)議和對(duì)象字典:
CANopen協(xié)議中定義了包括大多數(shù)對(duì)象字典的強(qiáng)制和可選的對(duì)象。通訊協(xié)議定義了所有的設(shè)備如何在網(wǎng)絡(luò)上進(jìn)行通訊。例如,通訊協(xié)議給出了設(shè)備的字典對(duì)象發(fā)送和接收消息的方式。設(shè)備協(xié)議給出了如何獲取設(shè)備的特殊函數(shù)。例如,驅(qū)動(dòng)器和運(yùn)動(dòng)控制的CANopen協(xié)議(DSP 402)給出了用來(lái)控制設(shè)備回零點(diǎn)和位置控制的對(duì)象。
除了應(yīng)用層和通訊協(xié)議、設(shè)備協(xié)議給出的對(duì)象之外,CANopen還允許制造商向字典中加入特定設(shè)備的對(duì)象。
對(duì)象字典的結(jié)構(gòu):
對(duì)象字典是一個(gè)查找表。每個(gè)對(duì)象由一個(gè)16位檢索號(hào)和8位子檢索號(hào)標(biāo)識(shí)。大多數(shù)對(duì)象由簡(jiǎn)單的數(shù)據(jù)類型表示,如16位整形,32位整形和字符串類型。這些可以直接由16位檢索號(hào)獲取。
其它的對(duì)象使用子檢索號(hào)來(lái)表示相應(yīng)參數(shù)所屬的組。例如,Motor Data(電機(jī)數(shù)據(jù))對(duì)象由24個(gè)字檢索對(duì)象組成,這些子對(duì)象定義了電機(jī)的基本特性,如電機(jī)類型,電機(jī)線配置和霍爾類型。(子檢索號(hào)提供多達(dá)255個(gè)檢索號(hào)的子入口)
如下所示為字典的組成:
索引范圍 |
對(duì)象 |
0000 |
未使用 |
0001-001F |
靜態(tài)數(shù)據(jù)類型 |
0020-003F |
復(fù)合數(shù)據(jù)類型 |
0040-005F |
制造商定義的復(fù)合數(shù)據(jù)類型 |
0060-007F |
設(shè)備協(xié)議定義的靜態(tài)數(shù)據(jù)類型(也包括運(yùn)動(dòng)控制中定義的) |
0080-009F |
設(shè)備協(xié)議定義的復(fù)合數(shù)據(jù)類型(也包括運(yùn)動(dòng)控制中定義的) |
00A0-0FFF |
保留空間 |
1000-1FFF |
通訊協(xié)議區(qū)(DS 301) |
2000-5FFF |
制造商定義協(xié)議區(qū) |
6000-9FFF |
標(biāo)準(zhǔn)化設(shè)備協(xié)議區(qū)(包括運(yùn)動(dòng)控制協(xié)議) |
A000-FFFF |
保留空間 |
|