CANopen對(duì)象字典生成辦法
CANopen協(xié)議是一種基于控制器局域網(wǎng)(CAN)的應(yīng)用層協(xié)議,該協(xié)議具有實(shí)時(shí)高效、組網(wǎng)靈活和產(chǎn)品兼容性高等優(yōu)勢(shì),CANopen協(xié)議在國(guó)內(nèi)越來(lái)越受到青睞,其應(yīng)用領(lǐng)域也越來(lái)越多廣泛,不僅應(yīng)用于過(guò)程與生產(chǎn)自動(dòng)化等領(lǐng)域,還涉及到醫(yī)療、鐵路、軍事、太陽(yáng)能等等領(lǐng)域。目前CANopen協(xié)議由CiA(CANinAutomation)組織負(fù)責(zé)管理與推廣。
本文引用地址:http://www.ex-cimer.com/article/201612/330642.htm對(duì)象字典是CANopen通信接口與應(yīng)用程序之間接口,是CANopen協(xié)議的重要組成部分。在CANopen網(wǎng)絡(luò)中,每個(gè)標(biāo)準(zhǔn)的CANopen設(shè)備都有一個(gè)對(duì)象字典,用來(lái)描述CANopen設(shè)備的全部功能。
一般在CANopen配置或者開(kāi)發(fā)工程中,對(duì)象字典的創(chuàng)建與管理是一個(gè)不可缺少的步驟,同時(shí)也是保證CANopen正常通訊的重要保障。如果CANopen系統(tǒng)工程相對(duì)比較簡(jiǎn)單,人工編寫對(duì)象字典是可行的。但是如果面對(duì)系統(tǒng)較復(fù)雜、通訊量龐大的CANopen工程,單純用人工編寫對(duì)象字典是很低效的,同時(shí)也很容易出現(xiàn)編寫錯(cuò)誤,可能給CANopen工程帶來(lái)潛在的危險(xiǎn)。為了提高對(duì)象字典的編輯效率,同時(shí)最大限度地避免對(duì)象字典的編輯錯(cuò)誤,本文描述的一個(gè)快速可靠的對(duì)象字典生成器ODBuilder,為CANopen工程的對(duì)象字典生成與修改提供一個(gè)很好的解決方案。
一、對(duì)象字典結(jié)構(gòu)與EDS文件描述
1.1對(duì)象字典結(jié)構(gòu)
對(duì)象字典是一個(gè)有序的對(duì)象組,每個(gè)對(duì)象采用一個(gè)16位的索引值來(lái)尋址,為了允許訪問(wèn)數(shù)據(jù)結(jié)構(gòu)中的單個(gè)元素,同時(shí)定義了一個(gè)8位的子索引。對(duì)象字典中索引值0000-0x0FFF是數(shù)據(jù)類型的定義,具體類型有固定的分區(qū)。而一個(gè)CANopen節(jié)點(diǎn)的對(duì)象字典相關(guān)的常用范圍在0x1000到0x9FFF之間。其中,索引1000h-1FFFh描述的是通信對(duì)象(COB),如設(shè)備類型,錯(cuò)誤寄存器,支持的PDO數(shù)量等等,該參數(shù)定義了CANopen接口的通信功能。索引2000h-5FFFh是預(yù)留給制造商定義的特定對(duì)象。索引000h-9FFFh是用于標(biāo)準(zhǔn)化設(shè)備子協(xié)議的對(duì)象描述,例如I/O模塊子協(xié)議、驅(qū)動(dòng)與運(yùn)動(dòng)控制設(shè)備子協(xié)議、傳感器與測(cè)量設(shè)備子協(xié)議、醫(yī)療器材子協(xié)議、電梯子協(xié)議等等。CANopen對(duì)象字典通用結(jié)構(gòu)如表1所示。
索引 | 對(duì)象 |
0000h | 未用(Notused) |
0001-001F | 靜態(tài)數(shù)據(jù)類型(標(biāo)準(zhǔn)數(shù)據(jù)類型,如Boolean,Integer16) |
0020-003F | 復(fù)雜數(shù)據(jù)類型 (預(yù)定義由簡(jiǎn)單類型組合成的結(jié)構(gòu)如PDOCommPar,SDOParameter) |
0040-005F | 制造商規(guī)定的復(fù)雜數(shù)據(jù)類型 |
0060-007F | 設(shè)備子協(xié)議規(guī)定的靜態(tài)數(shù)據(jù)類型 |
0080-009F | 設(shè)備子協(xié)議規(guī)定的復(fù)雜數(shù)據(jù)類型 |
00A0-0FFF | 保留(Reserved) |
1000-1FFF | 通訊子協(xié)議區(qū)域 (如設(shè)備類型,錯(cuò)誤寄存器,支持的PDO數(shù)量) |
2000-5FFF | 制造商特定子協(xié)議區(qū)域 |
6000-9FFF | 標(biāo)準(zhǔn)的設(shè)備子協(xié)議區(qū)域 |
A000-FFFF | 保留(Reserved) |
表1CANopen對(duì)象字典通用結(jié)構(gòu)
1.2EDS文件描述
CANopen網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象字典,對(duì)象字典包含了描述這個(gè)設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。而在描述CANopen設(shè)備時(shí),使用了一種標(biāo)準(zhǔn)化的ASCII格式的描述文件,即:電子數(shù)據(jù)表(EDS)。電子數(shù)據(jù)表不僅記錄了對(duì)象字典的所有參數(shù),同時(shí)也對(duì)設(shè)備及其配置進(jìn)行標(biāo)準(zhǔn)化的描述,所以EDS電子數(shù)據(jù)表是對(duì)象字典的載體與保存方式。
評(píng)論