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

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

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