CANopen對(duì)象字典生成辦法
二、對(duì)象字典的實(shí)現(xiàn)
通常來(lái)說(shuō),在CANopen工程中將所有的CANopen通信描述條目放在一個(gè)表格中,然后用索引來(lái)訪問(wèn)所有的對(duì)象。這不失是一個(gè)解決方法,不過(guò)這種方法只適用于系統(tǒng)簡(jiǎn)單、通信參數(shù)少、非CANopen通信標(biāo)準(zhǔn)化的產(chǎn)品中,而且對(duì)象字典的修改與管理工作都較為繁瑣。由此本文介紹一種動(dòng)態(tài)輸入掩碼顯示各個(gè)參考的對(duì)象類型,編輯過(guò)程不斷檢查其正確性并修正的對(duì)象字典生成器ODBuilder。ODBuilder工具生成的對(duì)象字典,通信描述完全符合CANopen標(biāo)準(zhǔn)規(guī)范CiADS301以及設(shè)備描述符合EDS標(biāo)準(zhǔn)文件CiADSP306規(guī)范,具有CANopen標(biāo)準(zhǔn)化設(shè)備的通用性。
三、對(duì)象字典生成器ODBuilder
3.1對(duì)象字典生成原理
對(duì)象字典生成器ODBuilder生成對(duì)象字典的原理是根據(jù)CANopen通信協(xié)議的訪問(wèn)對(duì)象字典的機(jī)制,通過(guò)固定的索引、子索引來(lái)創(chuàng)建每一個(gè)CANopen對(duì)象字典條目。訪問(wèn)對(duì)象字典示意圖如圖3.1所示。
圖3.1CANopen訪問(wèn)對(duì)象字典
對(duì)象字典條目表格提供一個(gè)指向存儲(chǔ)器中某個(gè)變量的指針,而應(yīng)用程序可直接通過(guò)變量名稱訪問(wèn)所需的條目。因此對(duì)象字典條目列表就構(gòu)成了索引/子索引與對(duì)應(yīng)變量名稱之間的接口。
對(duì)象字典列表分為幾個(gè)不同的塊,目的為了方便對(duì)象的查找。通常分為用戶可通過(guò)索引查找相應(yīng)的列表(如通信CommunicationProfileArea),再通過(guò)偏移量訪問(wèn)該列表中所需的單元。因此在生成對(duì)象字典時(shí)為了描述索引里的單元,就先創(chuàng)建該單元的訪問(wèn)類型、數(shù)據(jù)類型和指針變量等的結(jié)構(gòu)體。然后利用創(chuàng)建好的結(jié)構(gòu)體與應(yīng)用變量建立相關(guān)聯(lián)的索引條目。此外,還會(huì)編輯一個(gè)包含指向子索引字段的指針列表,方便查找相關(guān)條目。
3.2對(duì)象字典生成過(guò)程
對(duì)象字典生成器ODBuilder創(chuàng)建一個(gè)簡(jiǎn)明樹(shù)形結(jié)構(gòu)的對(duì)象字典工程,方便修改與訪問(wèn)對(duì)象字典條目;在編輯對(duì)象字典條目過(guò)程中,無(wú)需手工輸入不同條目的數(shù)據(jù)類型,直接通過(guò)下拉選項(xiàng)選擇對(duì)應(yīng)類型;在編輯過(guò)程中,ODBuilder不斷檢查對(duì)象字典的輸入條目的正確性并提供修正參考,最后完成后可生成標(biāo)準(zhǔn)EDS文件。ODBuilder對(duì)象字典生成過(guò)程原理框圖如圖3.2所示。
圖3.2對(duì)象字典生成過(guò)程原理框圖
3.3創(chuàng)建簡(jiǎn)明樹(shù)型條目
根據(jù)對(duì)象字典條目的分布特性,ODBuilder將創(chuàng)建的對(duì)象字典以簡(jiǎn)明的樹(shù)型結(jié)構(gòu),索引值由小到大排列。用戶需要訪問(wèn)或者修改某一條索引,可直接點(diǎn)擊該條目就可以進(jìn)行訪問(wèn)或修改。如圖3.3所示。
圖3.3樹(shù)型結(jié)構(gòu)索引結(jié)構(gòu)
3.4編輯對(duì)象字典索引屬性
1.根據(jù)CANopen協(xié)議CiADSP306規(guī)范,輸入不同的索引值,可靈活設(shè)定其“可選”、“制造商”、“強(qiáng)制”屬性。以編輯0x1000h索引為例,如圖3.3.1所示,通常用于DeviceType,如果作為從站的產(chǎn)品,該索引通常為“強(qiáng)制”屬性,ODBuilder將其自動(dòng)設(shè)置為“強(qiáng)制”屬性。
圖3.4.1編輯對(duì)象字典索引屬性
2.根據(jù)不同的CANopen設(shè)備的存儲(chǔ)需要,可選擇索引是否存儲(chǔ)在非易失存儲(chǔ)器以及ROM或者RAM中。
3.索引的對(duì)象參數(shù)、數(shù)據(jù)類型、訪問(wèn)類型等直接通過(guò)下拉條選擇,如圖3.3.2所示,另外可選該索引條目是否有PDO映射功能。
評(píng)論