MEA系列磁編碼器帶CANOPEN 通信協(xié)議使用手冊(cè)
MEA系列磁編碼器帶CANopen通信協(xié)議使用手冊(cè)
1. 磁編碼器概述
.式磁編碼器是利用磁阻效應(yīng)元件或霍爾元件對(duì)于磁場(chǎng)變化感應(yīng)而工作的編碼器,與光學(xué)式.式編碼器一樣,為非接觸式.式編碼器,用于精確測(cè)量整個(gè) 360°范圍內(nèi)的角度。其原理是采用磁阻或者霍爾元件對(duì)變化的磁性材料的角度或者位移值進(jìn)行測(cè)量,磁性材料角度或者位移的變化會(huì)引起一定電阻或者電壓的變化,通過(guò)放大電路對(duì)變化量進(jìn)行放大,通過(guò)單片機(jī)處理后輸出.值數(shù)字信號(hào)或者模擬量信號(hào),達(dá)到測(cè)量的目的。
.式磁編碼器采用磁電式設(shè)計(jì),通過(guò)磁感應(yīng)器件、利用磁場(chǎng)的變化來(lái)產(chǎn)生和提供轉(zhuǎn)子的.位置。利用磁器件代替了傳統(tǒng)的碼盤(pán),彌補(bǔ)了光電編碼器的一些缺陷,更具抗震、耐腐蝕、耐污染、性能可靠高、結(jié)構(gòu)更簡(jiǎn)單。
主要應(yīng)用:1. 角度測(cè)量 2. 工業(yè)自動(dòng)化控制 3. 機(jī)器人行業(yè) 4. 紡織業(yè) 5. 精密機(jī)床 6. 伺服電機(jī) 7. 閥門(mén)控制
主要特征:
1. 產(chǎn)品結(jié)構(gòu)緊湊,適合惡劣工業(yè)控制應(yīng)用場(chǎng)所。.值磁電碼盤(pán),高精度全數(shù)字化,無(wú)信號(hào)干擾、零點(diǎn)飄移。CANopen通信協(xié)議總線(xiàn)輸出。從站個(gè)數(shù)為可多達(dá)99個(gè)。
2. 波特率和地址碼可現(xiàn)場(chǎng)撥碼開(kāi)關(guān)設(shè)置或系統(tǒng)軟件設(shè)置。
3. 每圈4096分辨率。
4. 寬工作電壓,極低的耗電流。
5. *法蘭或同步法蘭,國(guó)際標(biāo)準(zhǔn)外形結(jié)構(gòu)。
2.主要特性參數(shù)
工作電壓 | 10-30Vdc極性保護(hù)(或5Vdc 定購(gòu)) |
消耗電流 | 35mA(24Vdc) ,70mA(12Vdc) |
輸出信號(hào) | CANopen通信協(xié)議總線(xiàn)輸出,輸出和輸入二線(xiàn)分離。 |
信號(hào)傳輸 | 屏蔽雙絞銅電纜(2根信號(hào)線(xiàn),1根接地線(xiàn))傳輸距離與波特率有關(guān)。 |
分辨率/圈 | 4096 (可選1024、16384、65536) |
重復(fù)精度 | ±2BIT(實(shí)際精度與安裝精度、軸同心度有關(guān)) |
相對(duì)濕度 | 98%(無(wú)凝液) |
工作溫度 | -40--85℃ |
儲(chǔ)存溫度 | -40--90℃ |
防護(hù)等級(jí) | IP65 |
允許轉(zhuǎn)速 | 10000轉(zhuǎn)/分(分辨率4096的有效轉(zhuǎn)速.高3000轉(zhuǎn)/分) |
停電保存 | 在4096圈內(nèi)全程.,停電不影響位置保存。 |
連接電纜 | 插座后出 |
外形特征 | *法蘭或同步法蘭,金屬外殼,密封雙軸承結(jié)構(gòu) (見(jiàn)外形尺寸附圖;特殊外形可訂做) |
磁編碼器電氣連接使用說(shuō)明
4.1 磁編碼器接線(xiàn)示意圖
4.2 接線(xiàn)說(shuō)明
功能板接線(xiàn)接口:JP2
1 | V+ | 外部電源輸入正端,10~30VDC,極性保護(hù) |
2 | GND | 外部電源輸入負(fù)端 |
3 | CAN+ | CAN輸入接口 |
4 | CAN- | |
5 | GND | |
6 | CAN+ | CAN輸出接口 |
7 | CAN- | |
8 | GND |
4.3 撥碼開(kāi)關(guān)說(shuō)明
編碼器節(jié)點(diǎn)地址和波特率設(shè)定通過(guò)十進(jìn)制撥碼開(kāi)關(guān)進(jìn)行,地址設(shè)置為2位,波特率設(shè)定1位,還有一個(gè)指撥開(kāi)關(guān)可以設(shè)定終端電阻。
4.3.1 節(jié)點(diǎn)地址設(shè)定
節(jié)點(diǎn)地址(Node_ID)通過(guò)選擇撥碼開(kāi)關(guān)1,2來(lái)設(shè)定,.位撥碼開(kāi)關(guān)為編碼器設(shè)定地址的10位,第二位撥碼開(kāi)關(guān)為編碼器設(shè)定地址的個(gè)位,編碼器地址=高位碼值×10+低位碼值。出廠(chǎng)值設(shè)置為32。
4.3.2 CAN波特率設(shè)定
編碼器支持8種不同的波特率傳輸,CAN波特率通過(guò)撥碼開(kāi)關(guān)3來(lái)設(shè)定,CAN波特率可設(shè)置為0~7。出廠(chǎng)設(shè)置為3(250Kbps)。
CAN Baud | CAN Baud rate |
0 | 1000Kbps |
1 | 800Kbps |
2 | 500Kbps |
3 | 250Kbps |
4 | 125Kbps |
5 | 100Kbps |
6 | 50Kbps |
7 | 20Kbps |
5、Object Directory(對(duì)象字典)
5.1 Detailed description of the communication parameters(通訊子協(xié)議區(qū)域)
5.1.1 Object 1000H: Device type(設(shè)備類(lèi)型)
提供設(shè)備外形和所使用的設(shè)備類(lèi)型的信息:
1000 | VAR | Device type | Unsigned32 | ro | M |
數(shù)據(jù)內(nèi)容
Device type number | Encoder type | ||
Byte 0 (LSB) | Byte 1 | Byte 2 | Byte 3 (MSB) |
96h | 01h | 01h (單圈.編碼器) | 00h |
5.1.2 Object 1002H: Manufacturer device name(制造商設(shè)備名)
包含制造商設(shè)備名稱(chēng)
1008 | VAR | device name | Vis-String | ro | O |
數(shù)據(jù)內(nèi)容:" YUBE"
5.1.3 Object 1008H: Device name(設(shè)備名稱(chēng))
設(shè)備名稱(chēng)
1008 | VAR | device name | Vis-String | ro | O |
數(shù)據(jù)內(nèi)容:" XXXX" 或”XXXX”
5.1.4 Object 1009H: Hardware version(硬件版本)
包含硬件版本號(hào)
1009 | VAR | Hardware version | Vis-String | ro | O |
數(shù)據(jù)內(nèi)容:" 1.00"
5.1.5 Object 100AH: Software version(軟件版本)
包含軟件版本號(hào)
100A | VAR | Software version | Vis-String | ro | O |
數(shù)據(jù)內(nèi)容:" 1.00 "
5.1.6 Object 1018H: Identity Object(設(shè)備ID)
讀取設(shè)備ID。
1018 | VAR | Identity Object | ro | M |
數(shù)據(jù)內(nèi)容:
Sub-Index 1h : 發(fā)送Vendor-ID (0000003Fh)
Sub-Index 2h : 發(fā)送產(chǎn)品代碼(h)
Sub-Index 3h : 發(fā)送編碼器序號(hào)(h)
5.1.7 Object 1800H: 1.transmit PDO parameter (TXPDO1 異步)
這個(gè)對(duì)象包括PDO1的參數(shù)。
1800 | RECORD | 1.transmit PDO parameter | rw | M |
數(shù)據(jù)內(nèi)容:
SUB Index 1h: COB ID
Default Value:180h + Node-ID
SUB Index 2h: transmission type(傳輸類(lèi)型)
Default Value = 1 (循環(huán)) ,2(編碼器碼值變化觸發(fā)),3(PDO觸發(fā))
5.1.8 Object 2101H: 編碼器分辨率
讀取設(shè)備ID。
2101 | VAR | Identity Object | ro | M |
數(shù)據(jù)內(nèi)容:12 (位)
5.1.9 Object 2200H: 循環(huán)時(shí)間
讀取設(shè)備ID。
2101 | VAR | Identity Object | ro | M |
數(shù)據(jù)內(nèi)容:10-5000
注:設(shè)置為10時(shí),波特率須100kbps以上。
5.1.10 Object 2300H: restore default parameters(恢復(fù)默認(rèn)參數(shù)值)
2300 | ARRAY | restore default parameters | Unsigned32 | w | O |
數(shù)據(jù)內(nèi)容:
Byte0: 6cH(“l(fā)”)
Byte1: 6fH(“o”)
Byte2: 61H(“a”)
Byte3: 64H(“d”)
注:恢復(fù)默認(rèn)參數(shù)時(shí),地址開(kāi)關(guān)位置必須為0,即兩位地址撥碼開(kāi)關(guān)都設(shè)定在0位置上。
5.1.11 Object 3000H: 節(jié)點(diǎn)號(hào)
2300 | ARRAY | restore default parameters | Unsigned32 | rw | O |
數(shù)據(jù)內(nèi)容:Node-ID
5.1.12 Object 3001H: 波特率代碼
2300 | ARRAY | restore default parameters | Unsigned32 | rw | O |
數(shù)據(jù)內(nèi)容:0-7
6、Layer-Setting-Service (LSS)
編碼器除了通過(guò)指撥開(kāi)關(guān)設(shè)置節(jié)點(diǎn)地址和CAN波特率以外,還可以通過(guò)在CiA DSP-305協(xié)議里定義的Layer-Setting-Service (LSS)進(jìn)行設(shè)置。LSS主節(jié)點(diǎn)通過(guò)CAN總線(xiàn)可以對(duì)LSS從節(jié)點(diǎn)的節(jié)點(diǎn)地址和CAN波特率進(jìn)行設(shè)置。LSS主節(jié)點(diǎn)先設(shè)置LSS從節(jié)點(diǎn)進(jìn)入configuration mode(配置模式),然后從節(jié)點(diǎn)被給予了一個(gè)新的節(jié)點(diǎn)地址,從節(jié)點(diǎn)進(jìn)行確認(rèn)是否支持新的節(jié)點(diǎn)地址。然后再切換回operation mode (操作模式)。
注:編碼器如果需要載入通過(guò)LSS設(shè)定并保存在EEPROM里地址和波特率需要把地址設(shè)定為0,即兩位地址撥碼開(kāi)關(guān)都設(shè)定在0位置上,系統(tǒng)啟動(dòng)的時(shí)候就會(huì)從EEPROM里讀取
mod: new LSS mode
0 = set operation mode (操作模式)
1 = set configuration mode(配置模式)
nid: new node address for the LSSslave(LSS的新節(jié)點(diǎn)地址)
(range 1 to 127)
tab: 定義使用的baudrate table
0 = 符合標(biāo)準(zhǔn)CiA DSP-305
1 ... 127 = 保留
ind: 在baudrate table中的索引,定義編碼器新的波特率
舉例:
1. Setting node address(設(shè)置節(jié)點(diǎn)地址)
Send : 7E5 04 01 00 00 00 00 00 00 -> 進(jìn)入配置模式
Send : 7E5 11 20 00 00 00 00 00 -> 設(shè)置新的節(jié)點(diǎn)地址為0x20
Receive: 7E4 11 00 00 00 00 00 00 00 -> Success
Send : 7E5 17 00 00 00 00 00 00 00 ->存貯配置
Receive: 7E4 17 00 00 00 00 00 00 00 -> Success
Send : 7E5 04 00 00 00 00 00 00 00 -> 進(jìn)入操作模式(重啟)
Receive: 720 00 -> New bootup message
2. Setting baudrate(設(shè)置波特率)
Send : 7E5 04 01 00 00 00 00 00 00 ->進(jìn)入配置模式
Send : 7E5 13 00 02 00 00 00 00 00 -> 設(shè)置新的波特率500K
Receive: 7E5 13 00 00 00 00 00 00 00 -> Success
Send : 7E5 15 10 00 00 00 00 00 00 -> 設(shè)置編碼器波特率(重啟)
Receive: 740 00 -> New bootup message (500k)
注意事項(xiàng)
4 請(qǐng)勿自行維修和拆卸編碼器
4 請(qǐng)?jiān)谶M(jìn)行下列工作時(shí),務(wù)必?cái)嚅_(kāi)電源后操作
1、當(dāng)連接大地線(xiàn)時(shí);
2、當(dāng)對(duì)編碼器接線(xiàn)或斷開(kāi)接線(xiàn)時(shí)。
4 編碼器上電前請(qǐng)仔細(xì)檢查接線(xiàn)是否正確無(wú)誤
4 在下列場(chǎng)合應(yīng)采取適當(dāng)?shù)钠帘未胧?/span>
1、靠近電源動(dòng)力線(xiàn)的場(chǎng)合
2、處在強(qiáng)電場(chǎng)或強(qiáng)磁場(chǎng)的場(chǎng)合
3、在產(chǎn)生靜電或交流接觸器干擾等類(lèi)似的場(chǎng)合
4 不要將編碼器安裝在下列場(chǎng)合
1、暴露于陽(yáng)光直射的場(chǎng)合
2、溫度和濕度超過(guò)使用條件的場(chǎng)合
3、有腐蝕性氣體或可燃性氣體的場(chǎng)合
4、有大量粉塵、鹽及金屬性粉末的場(chǎng)合
5、水、油及化學(xué)液體易濺射到的場(chǎng)合
6、有直接震動(dòng)或沖擊的場(chǎng)合
故障排除
CANOPEN編碼器采用了.的生產(chǎn)工藝,出廠(chǎng)前進(jìn)行了嚴(yán)格的測(cè)試,大大提高了編碼器的可靠性。常見(jiàn)的故障一般是操作或參數(shù)設(shè)置不當(dāng)引起的。若發(fā)現(xiàn)無(wú)法處理的故障,請(qǐng)記錄故障現(xiàn)象并及時(shí)通知當(dāng)?shù)卮斫?jīng)銷(xiāo)商或者和我們聯(lián)系。
以下是CANOPEN編碼器在日常應(yīng)用中的幾個(gè)常見(jiàn)故障:
故障現(xiàn)象 | 原因分析 | 處理措施 |
編碼器通電不工作 指示燈不亮 | 電源線(xiàn)接觸不良 | 檢查編碼器接頭是否松脫 |
編碼器CAN通訊不通 | 顯示編碼器CAN的連接線(xiàn)松脫 | 檢查內(nèi)部線(xiàn)纜,如果CAN速率過(guò)高,超過(guò)500Kbps,CAN接口的兩端應(yīng)加上120歐姆電阻。 如仍有問(wèn)題,請(qǐng)與廠(chǎng)家聯(lián)系。 |
編碼器位置值不變化 | 編碼器與其轉(zhuǎn)換板接觸不良 | 調(diào)整編碼器插頭,如仍有問(wèn)題,請(qǐng)與廠(chǎng)家聯(lián)系。 |
附錄:CANopen數(shù)據(jù)格式
CANopen的數(shù)據(jù)格式如下:
COB-ID | 指令 | 索引 | 子索引 | 數(shù)據(jù) | ||||
11bit | 字節(jié)0 | 字節(jié)1 | 字節(jié)2 | 字節(jié)3 | 字節(jié)4 | 字節(jié)5 | 字節(jié)6 | 字節(jié)7 |
低位 | 高位 | 低位 | 高位 |
COB-ID組成說(shuō)明:
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
功能代碼 | 設(shè)備地址 | |||||||||
X | X | X | X | X | X | X | X | X | X | X |
可以使用的功能代碼:
功能 | 代碼(bit) | COB-ID |
NMT | 0000 | 0 |
SYNC | 0001 | 128(80H) |
Emergency | 0001 | 129-255(81H-FFH |
PDO(RX) | 0011 | 385-511(181H-1FFH) |
PDO(TX) | 0100 | 513-639(201H-27FH) |
SDO(RX) | 1011 | 1409-1535(581H-5FFH) |
SDO(TX) | 1100 | 1537-1663(601H-67FH) |
RX/TX是從上位機(jī)角度出發(fā),RX為編碼器數(shù)據(jù)發(fā)出,TX為編碼器數(shù)據(jù)接收。
索引表:
Index | Sub | R/W | Name |
0x1000 | 0x00 | R | 設(shè)備代碼 |
0x1002 | 0x00 | R | 廠(chǎng)商 |
0x1008 | 0x00 | R | 設(shè)備名稱(chēng) |
0x1009 | 0x00 | R | 硬件版本 |
0x100A | 0x00 | R | 軟件版本 |
0x1010 | 0x00 | W | 保存參數(shù) |
0x1018 | 0x01 | R | 廠(chǎng)商代碼 |
0x02 | R | 生產(chǎn)類(lèi)型代碼 | |
0x03 | R | 生產(chǎn)批號(hào) | |
0x1800 | 0x01 | R | PDO-ID |
0x02 | RW | 傳輸模式 | |
0x03 | R | 同步時(shí)間 | |
0x2101 | 0x00 | R | 分辨率 |
0x2200 | 0x00 | RW | 循環(huán)時(shí)間 |
0x2300 | 0x00 | W | 出廠(chǎng)設(shè)置 |
0x3000 | 0x00 | R | 節(jié)點(diǎn)號(hào) |
0x3001 | 0x00 | R | 波特率代碼 |
命令字節(jié)說(shuō)明:
命令 | 功能 |
22H | 寫(xiě)參數(shù) |
60H | 執(zhí)行確認(rèn) |
40H | 查詢(xún)參數(shù) |
43H | 查詢(xún)返回(1字節(jié)有效) |
4BH | 查詢(xún)返回(2字節(jié)有效) |
4FH | 查詢(xún)返回(4字節(jié)有效) |
80H | 故障 |
故障代碼列表:
代碼 | 故障 |
0x | 索引不存在 |
0x | 子索引不存在 |
0x | 參數(shù)值太小 |
0x | 參數(shù)值太大 |
0x | 寫(xiě)只讀對(duì)象 |
0x | 讀只寫(xiě)對(duì)象 |
0x | 一般錯(cuò)誤 |
編碼器設(shè)置說(shuō)明:
數(shù)據(jù)格式為ID,DL,D0,D1。數(shù)據(jù)為16進(jìn)制格式。假設(shè)編碼器的節(jié)點(diǎn)號(hào)是NN。
啟動(dòng)所有節(jié)點(diǎn): 發(fā)送000,02,01,00
啟動(dòng)NN號(hào)節(jié)點(diǎn):發(fā)送000,02,01,NN
停止所有節(jié)點(diǎn): 發(fā)送000,02,02,00
停止NN號(hào)節(jié)點(diǎn):發(fā)送000,02,02,NN
復(fù)位所有節(jié)點(diǎn): 發(fā)送000,02,81,00
復(fù)位NN號(hào)節(jié)點(diǎn):發(fā)送000,02,81,NN
附錄2、CANopen 簡(jiǎn)介
1、CANopen協(xié)議
從OSI網(wǎng)絡(luò)模型的角度來(lái)看同,現(xiàn)場(chǎng)總線(xiàn)網(wǎng)絡(luò)一般只實(shí)現(xiàn)了第1層(物理層)、第2層(數(shù)據(jù)鏈路層)、第7層(應(yīng)用層)。因?yàn)楝F(xiàn)場(chǎng)總線(xiàn)通常只包括一個(gè)網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡(luò)層),也不需要第5層(會(huì)話(huà)層)第6層(描述層)的作用。
CAN(Controller Area Network)現(xiàn)場(chǎng)總線(xiàn)僅僅定義了第1層、第2層(見(jiàn)ISO11898標(biāo)準(zhǔn));實(shí)際設(shè)計(jì)中,這兩層由硬件實(shí)現(xiàn),設(shè)計(jì)人員無(wú)需再為此開(kāi)發(fā)相關(guān)軟件(Software)或固件(Firmware)。
同時(shí),CAN只定義物理層和數(shù)據(jù)鏈路層,沒(méi)有規(guī)定應(yīng)用層,本身并不完整,需要一個(gè)高層協(xié)議來(lái)定義CAN報(bào)文中的11/29位標(biāo)識(shí)符、8字節(jié)數(shù)據(jù)的使用。而且,基于CAN總線(xiàn)的工業(yè)自動(dòng)化應(yīng)用中,越來(lái)越需要一個(gè)開(kāi)放的、標(biāo)準(zhǔn)化的高層協(xié)議:這個(gè)協(xié)議支持各種CAN廠(chǎng)商設(shè)備的互用性、互換性,能夠?qū)崿F(xiàn)在CAN網(wǎng)絡(luò)中提供標(biāo)準(zhǔn)的、統(tǒng)一的系統(tǒng)通訊模式,提供設(shè)備功能描述方式,執(zhí)行網(wǎng)絡(luò)管理功能。
● 應(yīng)用層(Application layer):為網(wǎng)絡(luò)中每一個(gè)有效設(shè)備都能夠提供一組有用的服務(wù)與協(xié)議。
● 通訊描述(Communication profile):提供配置設(shè)備、通訊數(shù)據(jù)的含義,定義數(shù)據(jù)通訊方式。
● 設(shè)備描述(Device profile):為設(shè)備(類(lèi))增加符合規(guī)范的行為。
下面的章節(jié)將介紹基于CAN的高層協(xié)議:CAL協(xié)議和基于CAL協(xié)議擴(kuò)展的CANopen協(xié)議。CANopen協(xié)議是CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn)之一,并且在發(fā)布后不久就獲得了廣泛的承認(rèn)。尤其是在歐洲,CANopen協(xié)議被認(rèn)為是在基于CAN的工業(yè)系統(tǒng)中占.地位的標(biāo)準(zhǔn)。大多數(shù)重要的設(shè)備類(lèi)型,例如數(shù)字和模擬的輸入輸出模塊、驅(qū)動(dòng)設(shè)備、操作設(shè)備、控制器、可編程控制器或編碼器,都在稱(chēng)為“設(shè)備描述”的協(xié)議中進(jìn)行描述;“設(shè)備描述”定義了不同類(lèi)型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。依靠CANopen協(xié)議的支持,可以對(duì)不同廠(chǎng)商的設(shè)備通過(guò)總線(xiàn)進(jìn)行配置。
2、通信對(duì)象
CANopen 有四類(lèi)通信對(duì)象。
.類(lèi)通信對(duì)象是用8 個(gè)字節(jié)的數(shù)據(jù)字段,把過(guò)程數(shù)據(jù)對(duì)象PDO(Process Data Objects)映象到一個(gè)單一的CAN 幀,從而傳輸應(yīng)用對(duì)象。每個(gè)PDO 有一個(gè).的標(biāo)識(shí)符,且可以?xún)H通過(guò)一個(gè)節(jié)點(diǎn)發(fā)送,但其接受者可不止一個(gè)(生產(chǎn)者/消費(fèi)者通信)。發(fā)送PDO 可用多種方式,如由內(nèi)部事件驅(qū)動(dòng)、由內(nèi)部定時(shí)器驅(qū)動(dòng)、由遠(yuǎn)程請(qǐng)求驅(qū)動(dòng)和由接收到來(lái)自特定的節(jié)點(diǎn)的一個(gè)同步信息驅(qū)動(dòng)。應(yīng)用對(duì)象和支持的傳送方式的缺省映象在對(duì)象字典中對(duì)每一個(gè)PDO 都作了描述。PDO 標(biāo)識(shí)符具有高優(yōu)先級(jí)以確保良好的實(shí)時(shí)性能,如果需要硬實(shí)時(shí)控制,那么系統(tǒng)的設(shè)計(jì)者可為每個(gè)PDO 組態(tài)一個(gè)禁止時(shí)間(inhibit-time) ,該“禁止時(shí)間”嚴(yán)禁在特定的時(shí)間內(nèi)發(fā)送這個(gè)對(duì)象。因此設(shè)計(jì)者可對(duì)多個(gè)對(duì)象設(shè)計(jì)一個(gè)確定的PDO 行為,發(fā)送PDO 無(wú)需確認(rèn)PDO。 映象對(duì)象中定義了被在PDO內(nèi)傳送的應(yīng)用對(duì)象,它描述了所映象的應(yīng)用對(duì)象的順序和長(zhǎng)度。在預(yù)操作狀態(tài)(Pre-Operational State)期間支持動(dòng)態(tài)PDO 映象的設(shè)備必須支持這個(gè)功能。若在預(yù)操作狀態(tài)下支持動(dòng)態(tài)映象,則服務(wù)數(shù)據(jù)對(duì)象SDO 客戶(hù)負(fù)責(zé)數(shù)據(jù)的一致性。
第二類(lèi)通信對(duì)象是傳送組態(tài)數(shù)據(jù)的服務(wù)數(shù)據(jù)對(duì)象SDO(Service Data Objects) ,組態(tài)數(shù)據(jù)有時(shí)多于8 個(gè)字節(jié)。SDO 傳輸協(xié)議允許傳送任意長(zhǎng)度的數(shù)據(jù)對(duì)象,.段內(nèi)的.個(gè)字節(jié)包含必須的數(shù)據(jù)流控制信息,它包括為克服的雙重接受CAN 幀的問(wèn)題而設(shè)置的一個(gè)觸發(fā)位,.段內(nèi)的第2 4 字節(jié)包含要讀出或?qū)懭氲膶?duì)象字典登入項(xiàng)的索引和子索引,.段內(nèi)的.后四個(gè)字節(jié)可用于組態(tài)數(shù)據(jù),用同樣的CAN標(biāo)識(shí)符。第二段以及其后繼段包含控制字節(jié)和多達(dá)7 個(gè)字節(jié)的組態(tài)數(shù)據(jù),接受者確認(rèn)每個(gè)字節(jié)以便有點(diǎn)對(duì)點(diǎn)通信(客戶(hù)/服務(wù)器)。
第三類(lèi)通信對(duì)象是網(wǎng)絡(luò)管理對(duì)象節(jié)點(diǎn)保護(hù)對(duì)象(Nodeguarding Object)和NMT 對(duì)象節(jié)點(diǎn)保護(hù)對(duì)象。是由NMT 主站節(jié)點(diǎn)遠(yuǎn)程請(qǐng)求的,具有一個(gè)字節(jié)的CAN 幀數(shù)據(jù)字節(jié),主要包含節(jié)點(diǎn)的狀態(tài)節(jié)點(diǎn)保護(hù)時(shí)間,在對(duì)象定期發(fā)送節(jié)點(diǎn)保護(hù)時(shí)間,在對(duì)象字典中也作了規(guī)定,并且可以由SDO 進(jìn)行組態(tài)。此外還規(guī)定了保護(hù)時(shí)間壽命(Life Guarding Time) ,在該時(shí)間區(qū)內(nèi)NMT 主站必須保護(hù)一個(gè)NMT 從站,這就確保了即使在主站不存在的情況下,節(jié)點(diǎn)仍能以用戶(hù)的方式作出反應(yīng)。NMT 對(duì)象映象到一個(gè)單一的帶有2 個(gè)字節(jié)數(shù)據(jù)長(zhǎng)度的CAN 幀,它的標(biāo)識(shí)符為0 ,.個(gè)字節(jié)包含命令說(shuō)明符,第二個(gè)字節(jié)包含必須執(zhí)行此命令的設(shè)備的節(jié)點(diǎn)標(biāo)識(shí)符(當(dāng)節(jié)點(diǎn)標(biāo)識(shí)符為0 時(shí)所有的節(jié)點(diǎn)必須執(zhí)行此命令), 由NMT 主站發(fā)送的NMT 對(duì)象強(qiáng)制節(jié)點(diǎn)轉(zhuǎn)換成另一個(gè)狀態(tài)。CANopen 狀態(tài)機(jī)規(guī)定了初始化狀態(tài)子程序操作、操作狀態(tài)和停止(正式為準(zhǔn)備)狀態(tài)。
在加電后每個(gè)CANopen 處于初始化狀態(tài)然后自動(dòng)地轉(zhuǎn)換到預(yù)操作狀態(tài),在此狀態(tài)下提供了同步對(duì)象和節(jié)點(diǎn)保護(hù),還允許SDO 的傳送。如果NMT 主站已將一個(gè)或多個(gè)節(jié)點(diǎn)設(shè)置為操作狀態(tài),則允許他們發(fā)送和接受PDO,在停止?fàn)顟B(tài)除NMT 對(duì)象外不允許通信。初始化狀態(tài)又分成三個(gè)子狀態(tài),以使全部或部分的節(jié)點(diǎn)復(fù)位在Reset_Application 子狀態(tài)中。制造商專(zhuān)用(manufacture-specific)行規(guī)區(qū)域和標(biāo)準(zhǔn)化設(shè)備行規(guī)區(qū)域的參數(shù)均設(shè)置成它們的缺省值。在Reset_Communication 子狀態(tài)中,通信行規(guī)區(qū)域的參數(shù)設(shè)定為它們的通電(power-on)值。第三個(gè)子狀態(tài)是初始化狀態(tài)在通電后或復(fù)位通信后或復(fù)位應(yīng)用后,節(jié)點(diǎn)自動(dòng)地進(jìn)入此狀態(tài),通電值(Power-on)是上一次存儲(chǔ)的參數(shù)。
第四類(lèi)通信對(duì)象是應(yīng)急對(duì)象。由設(shè)備內(nèi)部出現(xiàn)致命錯(cuò)誤來(lái)觸發(fā),并從相關(guān)應(yīng)用設(shè)備上的應(yīng)急客戶(hù)發(fā)送,因此應(yīng)急對(duì)象適用于中斷類(lèi)型的報(bào)警信號(hào),每個(gè)“錯(cuò)誤事件”(error event)只能發(fā)送一次應(yīng)急對(duì)象,只要在設(shè)備上不發(fā)生新的錯(cuò)誤就不得再發(fā)送應(yīng)急對(duì)象。零個(gè)或多個(gè)應(yīng)急對(duì)象消費(fèi)者可接受這些應(yīng)急消費(fèi)者的反應(yīng)是由應(yīng)用的。CANopen 定義了應(yīng)急對(duì)象中要傳送的若干個(gè)應(yīng)急錯(cuò)誤代碼,它是一個(gè)單一的具有8 個(gè)數(shù)據(jù)字節(jié)的CAN 幀。
3、CANopen預(yù)定義連接集
為了減小簡(jiǎn)單網(wǎng)絡(luò)的組態(tài)工作量,CANopen定義了強(qiáng)制性的缺省標(biāo)識(shí)符(CAN-ID)分配表。這些標(biāo)志符在預(yù)操作狀態(tài)下可用,通過(guò)動(dòng)態(tài)分配還可修改他們。CANopen設(shè)備必須向它所支持的通訊對(duì)象提供相應(yīng)的標(biāo)識(shí)符。
缺省ID分配表是基于11位CAN-ID,包含一個(gè)4位的功能碼部分和一個(gè)7位的節(jié)點(diǎn)ID(Node-ID)部分。如圖3-1所示。
Node-ID由系統(tǒng)集成商定義。Node-ID范圍是1~127(0不允許被使用)。如下表格CANopen預(yù)定義主/從連接集CAN標(biāo)識(shí)符分配表。
CANopen預(yù)定義主/從連接集的廣播對(duì)象 | |||
對(duì)象 | 功能碼 ID-bits 10-7 | COB-ID | 通訊參數(shù)在OD中的索引 |
NMT Module Control | 0000 | 000H | |
SYNC | 0001 | 080H | 1005H,1006H,1007H |
Time Stamp | 0010 | 100H | 1012H,1013H |
CANopen主/從連接集的對(duì)等對(duì)象 | |||
對(duì)象 | 功能碼 ID-bits 10-7 | COB-ID | 通訊參數(shù)在OD中的索引 |
緊急 | 0001 | 081H-0FFH | 1024H,1015H |
PDO(接收) | 0011 | 181H-1FFH | 1800H |
PDO(發(fā)送) | 0100 | 201H-27FH | 1400H |
SDO(接收) | 1011 | 581H-5FFH | 1200H |
SDO(發(fā)送) | 1100 | 601H-67FH | 1200H |
NMT Error Control | 1110 | 701H-77FH | 1016H-1017H |
注意: ● PDO/SDO 發(fā)送/接收是由上位機(jī)觀察的。
● NMT 錯(cuò)誤控制包括節(jié)點(diǎn)保護(hù)(Node Guarding)和Boot-up協(xié)議。