<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CANopen對象字典生成辦法

CANopen對象字典生成辦法

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

三、對象字典生成器ODBuilder

3.1對象字典生成原理

對象字典生成器ODBuilder生成對象字典的原理是根據CANopen通信協(xié)議的訪(fǎng)問(wèn)對象字典的機制,通過(guò)固定的索引、子索引來(lái)創(chuàng )建每一個(gè)CANopen對象字典條目。訪(fǎng)問(wèn)對象字典示意圖如圖3.1所示。

圖3.1CANopen訪(fǎng)問(wèn)對象字典

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

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

3.2對象字典生成過(guò)程

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

圖3.2對象字典生成過(guò)程原理框圖

3.3創(chuàng )建簡(jiǎn)明樹(shù)型條目

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

圖3.3樹(shù)型結構索引結構

3.4編輯對象字典索引屬性

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

圖3.4.1編輯對象字典索引屬性

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

3.索引的對象參數、數據類(lèi)型、訪(fǎng)問(wèn)類(lèi)型等直接通過(guò)下拉條選擇,如圖3.3.2所示,另外可選該索引條目是否有PDO映射功能。



關(guān)鍵詞: CANopen對象字典生成辦

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>