• 官方微信

            CA800二維碼微平臺 大視野

          • 工控頭條

            CA800二維碼工控頭條App

          當(dāng)前位置:自動化網(wǎng)>自動化文庫>解決方案>CANopen對象字典生成辦法

          CANopen對象字典生成辦法

          發(fā)布時間:2013-09-25 來源:龔龍峰(廣州虹科電子科技有限公司) 類型:解決方案 人瀏覽
          分享到:
          關(guān)鍵字:

          CANopen 對象字典 生成器

          導(dǎo)讀:

          本文在闡述CANopen對象字典的概念與結(jié)構(gòu)的基礎(chǔ)之上,結(jié)合生成對象字典常用方法的不足,引出一種可快速可靠創(chuàng)建與修改對象字典的對象字典生成器ODBuilder,不僅有效減少編輯對象字典的時間,而且最大限度地避免工程師手工編輯對象字典的錯誤出現(xiàn),為CANopen設(shè)備參數(shù)設(shè)置提供有力可靠的解決方案。

          摘要:

          本文在闡述CANopen對象字典的概念與結(jié)構(gòu)的基礎(chǔ)之上,結(jié)合生成對象字典常用方法的不足,引出一種可快速可靠創(chuàng)建與修改對象字典的對象字典生成器ODBuilder,不僅有效減少編輯對象字典的時間,而且最大限度地避免工程師手工編輯對象字典的錯誤出現(xiàn),為CANopen設(shè)備參數(shù)設(shè)置提供有力可靠的解決方案。

          關(guān)鍵詞:

          CANopen,對象字典,生成器,ODBuilder,EDS文件

          Abstract:

          In this paper, on the introduction of the concept and structure of the CANopen object dictionary, combined with the shortage of common methods of generating object dictionary, lead to a object dictionary generator-ODBuilder, which is quickly and reliably create and modify the CANopen object dictionary. This tool not only effectively reduce the time of editing object dictionary, but significantly minimize the occurrence of error of manually editing the object dictionary, and provide a robust and reliable solutions for the parameter Settings of CANopen equipment.

          Key words: 

          CANopenObject dictionarygenerator,ODBuilder,EDS File

          引言

          CANopen協(xié)議是一種基于控制器局域網(wǎng)(CAN)的應(yīng)用層協(xié)議,該協(xié)議具有實(shí)時高效、組網(wǎng)靈活和產(chǎn)品兼容性高等優(yōu)勢,CANopen協(xié)議在國內(nèi)越來越受到青睞,其應(yīng)用領(lǐng)域也越來越多廣泛,不僅應(yīng)用于過程與生產(chǎn)自動化等領(lǐng)域,還涉及到醫(yī)療、鐵路、軍事、太陽能等等領(lǐng)域。目前CANopen協(xié)議由CiACAN in Automation)組織負(fù)責(zé)管理與推廣。

          對象字典是CANopen通信接口與應(yīng)用程序之間接口,是CANopen協(xié)議的重要組成部分。在CANopen網(wǎng)絡(luò)中,每個標(biāo)準(zhǔn)的CANopen設(shè)備都有一個對象字典,用來描述CANopen設(shè)備的全部功能。

          一般在CANopen配置或者開發(fā)工程中,對象字典的創(chuàng)建與管理是一個不可缺少的步驟,同時也是保證CANopen正常通訊的重要保障。如果CANopen系統(tǒng)工程相對比較簡單,人工編寫對象字典是可行的。但是如果面對系統(tǒng)較復(fù)雜、通訊量龐大的CANopen工程,單純用人工編寫對象字典是很低效的,同時也很容易出現(xiàn)編寫錯誤,可能給CANopen工程帶來潛在的危險。為了提高對象字典的編輯效率,同時最大限度地避免對象字典的編輯錯誤,本文描述的一個快速可靠的對象字典生成器ODBuilder,為CANopen工程的對象字典生成與修改提供一個很好的解決方案。

          一、對象字典結(jié)構(gòu)與EDS文件描述

          1.1對象字典結(jié)構(gòu)

          對象字典是一個有序的對象組,每個對象采用一個 16 位的索引值來尋址,為了允許訪問數(shù)據(jù)結(jié)構(gòu)中的單個元素,同時定義了一個 位的子索引。對象字典中索引值0000- 0x0FFF 是數(shù)據(jù)類型的定義,具體類型有固定的分區(qū)。而一個CANopen節(jié)點(diǎn)的對象字典相關(guān)的常用范圍在 0x1000 到 0x9FFF 之間。其中,索引1000h-1FFFh描述的是通信對象(COB),如設(shè)備類型,錯誤寄存器,支持的 PDO 數(shù)量等等,該參數(shù)定義了CANopen接口的通信功能。索引2000h-5FFFh是預(yù)留給制造商定義的特定對象。索引000h-9FFFh是用于標(biāo)準(zhǔn)化設(shè)備子協(xié)議的對象描述,例如I/O模塊子協(xié)議、驅(qū)動與運(yùn)動控制設(shè)備子協(xié)議、傳感器與測量設(shè)備子協(xié)議、醫(yī)療器材子協(xié)議、電梯子協(xié)議等等。CANopen 對象字典通用結(jié)構(gòu)如表1所示。

          索引

          對象

          0000h

          未用(Not used

          0001 - 001F

          靜態(tài)數(shù)據(jù)類型 (標(biāo)準(zhǔn)數(shù)據(jù)類型,如 BooleanInteger 16

          0020 - 003F

          復(fù)雜數(shù)據(jù)類型

          (預(yù)定義由簡單類型組合成的結(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è)備類型,錯誤寄存器,支持的 PDO 數(shù)量)

          2000 - 5FFF

          制造商特定子協(xié)議區(qū)域

          6000 - 9FFF

          標(biāo)準(zhǔn)的設(shè)備子協(xié)議區(qū)域

          A000 - FFFF

          保留(Reserved

          1 CANopen 對象字典通用結(jié)構(gòu)

          1.2 EDS文件描述

          CANopen 網(wǎng)絡(luò)中每個節(jié)點(diǎn)都有一個對象字典對象字典包含了描述這個設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。而在描述CANopen設(shè)備時,使用了一種標(biāo)準(zhǔn)化的ASCII格式的描述文件,即:電子數(shù)據(jù)表(EDS)。電子數(shù)據(jù)表不僅記錄了對象字典的所有參數(shù),同時也對設(shè)備及其配置進(jìn)行標(biāo)準(zhǔn)化的描述,所以EDS電子數(shù)據(jù)表是對象字典的載體與保存方式。

          二、對象字典的實(shí)現(xiàn)

          通常來說,在CANopen工程中將所有的CANopen通信描述條目放在一個表格中,然后用索引來訪問所有的對象。這不失是一個解決方法,不過這種方法只適用于系統(tǒng)簡單、通信參數(shù)少、非CANopen通信標(biāo)準(zhǔn)化的產(chǎn)品中,而且對象字典的修改與管理工作都較為繁瑣。由此本文介紹一種動態(tài)輸入掩碼顯示各個參考的對象類型,編輯過程不斷檢查其正確性并修正的對象字典生成器ODBuilderODBuilder工具生成的對象字典,通信描述完全符合CANopen標(biāo)準(zhǔn)規(guī)范CiA DS301以及設(shè)備描述符合EDS標(biāo)準(zhǔn)文件CiA DSP306規(guī)范,具有CANopen標(biāo)準(zhǔn)化設(shè)備的通用性。

          三、對象字典生成器ODBuilder

          3.1對象字典生成原理

          對象字典生成器ODBuilder生成對象字典的原理是根據(jù)CANopen通信協(xié)議的訪問對象字典的機(jī)制,通過固定的索引、子索引來創(chuàng)建每一個CANopen對象字典條目。訪問對象字典示意圖如圖3.1所示。

          3.1 CANopen訪問對象字典

          對象字典條目表格提供一個指向存儲器中某個變量的指針,而應(yīng)用程序可直接通過變量名稱訪問所需的條目。因此對象字典條目列表就構(gòu)成了索引/子索引與對應(yīng)變量名稱之間的接口。

          對象字典列表分為幾個不同的塊,目的為了方便對象的查找。通常分為用戶可通過索引查找相應(yīng)的列表(如通信Communication Profile Area),再通過偏移量訪問該列表中所需的單元。因此在生成對象字典時為了描述索引里的單元,就先創(chuàng)建該單元的訪問類型、數(shù)據(jù)類型和指針變量等的結(jié)構(gòu)體。然后利用創(chuàng)建好的結(jié)構(gòu)體與應(yīng)用變量建立相關(guān)聯(lián)的索引條目。此外,還會編輯一個包含指向子索引字段的指針列表,方便查找相關(guān)條目。

          3.2對象字典生成過程

          對象字典生成器ODBuilder創(chuàng)建一個簡明樹形結(jié)構(gòu)的對象字典工程,方便修改與訪問對象字典條目;在編輯對象字典條目過程中,無需手工輸入不同條目的數(shù)據(jù)類型,直接通過下拉選項(xiàng)選擇對應(yīng)類型;在編輯過程中,ODBuilder不斷檢查對象字典的輸入條目的正確性并提供修正參考,最后完成后可生成標(biāo)準(zhǔn)EDS文件。ODBuilder對象字典生成過程原理框圖如圖3.2所示。

          3.2 對象字典生成過程原理框圖

          3.3 創(chuàng)建簡明樹型條目

          根據(jù)對象字典條目的分布特性,ODBuilder將創(chuàng)建的對象字典以簡明的樹型結(jié)構(gòu),索引值由小到大排列。用戶需要訪問或者修改某一條索引,可直接點(diǎn)擊該條目就可以進(jìn)行訪問或修改。如圖3.3所示。

          3.3 樹型結(jié)構(gòu)索引結(jié)構(gòu)

          3.4 編輯對象字典索引屬性

          1.根據(jù)CANopen協(xié)議CiA DSP306規(guī)范,輸入不同的索引值,可靈活設(shè)定其“可選”、“制造商”、“強(qiáng)制”屬性。以編輯0x1000h索引為例,如圖3.3.1所示,通常用于Device Type,如果作為從站的產(chǎn)品,該索引通常為“強(qiáng)制”屬性,ODBuilder將其自動設(shè)置為“強(qiáng)制”屬性。

          3.4.1編輯對象字典索引屬性

          2.根據(jù)不同的CANopen設(shè)備的存儲需要,可選擇索引是否存儲在非易失存儲器以及ROM或者RAM中。

          3.索引的對象參數(shù)、數(shù)據(jù)類型、訪問類型等直接通過下拉條選擇,如圖3.3.2所示,另外可選該索引條目是否有PDO映射功能。

          3.4.2 下拉條選項(xiàng)輸入

          4.根據(jù)對象參數(shù)屬性,如果選擇為變量,默認(rèn)值、最小值和最大值為可輸入狀態(tài)。

          5.子索引自動繼承索引屬性,無需要重新設(shè)定其存儲屬性、PDO映射參數(shù)。

          3.5檢查輸入正確性

          CANopen系統(tǒng)工程較復(fù)雜的情況下,ODBuilder隨時提示對象字典的輸入,確保對象字典條目的每一個屬性參數(shù)不遺漏,檢查對象字典條目的輸入正確性。例如,如果編輯對象字典時遺漏索引標(biāo)示符(Designator)的輸入,則會提示用戶輸入對應(yīng)值。同樣,遺漏索引值、對象類型、數(shù)據(jù)類型、訪問類型任何一項(xiàng)都有相應(yīng)的輸入提示。如圖3.5所示。

          3.4 檢查輸入提示

          3.6導(dǎo)出EDS文件

          當(dāng)完成對象字典所有條目的編輯,ODBuilder的檢查功能已經(jīng)很大程度的減少對象字典的輸入錯誤,同時導(dǎo)出符合CiA DSP306規(guī)范的EDS文件,該文件不僅包含了CANopen設(shè)備的對象字典所有的內(nèi)容,同時也要求添加文件描述信息,設(shè)備信息等信息。如圖3.6所示。

          3.6生成EDS

          結(jié)語

          本文在CANopen對象字典的概念基礎(chǔ)上,進(jìn)一步闡述了一種可快速可靠靈活創(chuàng)建對象字典的工具ODBuilder,并生成標(biāo)準(zhǔn)化EDS文件,不僅為CANopen設(shè)備的生產(chǎn)也為CANopen工程設(shè)備的參數(shù)配置,提供快速創(chuàng)建與修改對象字典的解決方案,目前該軟件已經(jīng)應(yīng)用于多家大型醫(yī)療器材、運(yùn)動控制、軌道運(yùn)輸?shù)刃袠I(yè)設(shè)備的對象字典生成。

          參考文獻(xiàn)

          [1] Olaf pfeiffer, Andrew Ayre, Christan Keydelembedded networking with CAN and

          CANopen [M], 2008, 42-56

          [2]()Holger Zeltwanger 著,周立功,黃曉清,嚴(yán)寒亮譯,現(xiàn)場總線 CANopen 設(shè)計與應(yīng)

          用 [M],2011,62-75

          [3]CiA Draft Standard 306Version 1.3,01 January 2005

          [4] CANopen Object Dictionary Software ODBuilder ManualEdition August 2008

          作者簡介 龔龍峰,(1988- ),男,助理工程師,研究方向:自動化及通信技術(shù)

          本文地址:本文地址: http://m.xznet110.com/apply/d_1nrvgv6j3lnn1_1.html

          拷貝地址

          上一篇:GPRS城市亮化監(jiān)控系統(tǒng)

          下一篇:取水遠(yuǎn)傳監(jiān)控系統(tǒng)

          版權(quán)聲明:版權(quán)歸中國自動化網(wǎng)所有,轉(zhuǎn)載請注明出處!

          主站蜘蛛池模板: 成人毛片全部免费观看| 激情内射日本一区二区三区| 日韩高清在线免费观看| 免费观看欧美一级牲片一| 麻豆国产精品免费视频| 国自产偷精品不卡在线| 亚拍精品一区二区三区| 里番acg全彩| 妞干网在线观看| 亚洲国产成人一区二区精品区| 韩国免费特一级毛片| 好吊妞视频这里只有精品| 久久天天躁狠狠躁夜夜躁2014 | 无码精品国产va在线观看dvd | 五月婷婷开心综合| 波多野结衣在线中文| 国产成a人亚洲精v品无码| aaa免费毛片| 搞av.com| 亚洲欧美日韩国产一区图片| 国产老妇一性一交一乱| 性高湖久久久久久久久aaaaa| 亚洲综合激情九月婷婷| 色av.com| 国产精品社区在线观看| 久久99精品久久只有精品| 百合潮湿的欲望| 国产粉嫩嫩00在线正在播放| 中日韩欧美电影免费看| 波多野结衣教师中文字幕| 国产a久久精品一区二区三区| 国产精品区免费视频| 中文字幕在线免费视频| 欧美视频第一页| 国产免费私拍一区二区三区| jealousvue熟睡入侵中| 最新国产三级久久| 亚洲熟妇丰满xxxxx| 色综七七久久成人影| 国产欧美日韩中文久久| 一二三四在线观看高清|