樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)-2019年精選文檔_第1頁
樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)-2019年精選文檔_第2頁
樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)-2019年精選文檔_第3頁
樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)-2019年精選文檔_第4頁
樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)-2019年精選文檔_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、樂高M(jìn)INDSTORMSE軟件程序模塊開發(fā).、八、一前言樂高的MINDSTORMS EV機(jī)器人自2013年上市后大受歡迎, 其采用官方提供的直觀的圖形化編程語言, 大大降低了使用者的 門檻。EV3機(jī)器人相對DFRobot、Makeblock等其他機(jī)器人教育 產(chǎn)品而言,其成熟的積木搭建系統(tǒng)能輕松制作各種復(fù)雜機(jī)械結(jié) 構(gòu),然而它的傳感器等電子模塊種類少, 不利于更全面的教學(xué)應(yīng) 用。筆者通過剖析 MINDSTORMS EV3程軟件程序模塊研究其內(nèi) 容,總結(jié)出該軟件程序模塊的開發(fā)制作方法, 希望能為廣大教育 工作者針對EV3機(jī)器人定制的電子硬件模塊進(jìn)行程序模塊開發(fā) 提供借鑒。MINDSTORMS E軟件

2、簡介MINDSTORMS E軟件是圖形化的編程環(huán)境,包含 EV3機(jī)器 人程序需要的所有工具,該軟件基于 National Instruments 的 WebUI Builder開發(fā),軟件界面如圖1所示。EV3軟件中含有多 類程序模塊, 這些模塊有的是控制電機(jī)的, 有的是采集傳感器數(shù) 據(jù)的,還有一些是有其他用途的。 編程的過程就是在屏幕上拖拽 模塊,把它們相互連接起來,再更改模塊的設(shè)置。 1 該軟件還 具有很好的擴(kuò)展性, 提供了程序模塊導(dǎo)入工具, 通過該工具可以 管理程序模塊和導(dǎo)入模塊。 軟件中的每一個圖形模塊內(nèi)部有對應(yīng) 的 VIX 文件, 下載運行程序時, 程序模塊先轉(zhuǎn)化成內(nèi)部的 VIX 文

3、件再運行。MINDSTORMS EV3 DEVELOPS件簡介MINDSTORMS E程序模塊剖析EV3程序模塊導(dǎo)入到軟件前是以文件形式存在的,文件后綴 為.ev3b,把后綴改為.zip解壓后得到根目錄文件夾,文件夾內(nèi) 包含 help 、images、VIs 、strings 四個子文件夾和 blocks.xml 文件。help文件夾存放各國語言命名的文件夾和對應(yīng)的HTML文件,用于在軟件查看幫助時顯示不同語言的幫助內(nèi)容。 Images 文件夾存放程序模塊各種模式和在不同區(qū)域顯示的圖像文件。 strings 文件夾內(nèi)有各國語言命名的文件夾和對應(yīng)的 blocks.xml 文件,該文件用于定義用戶

4、操作程序模塊時查看模 塊的上下文幫助及模塊上的文字說明。 VIs 文件夾存放程序模塊 不同模式下對應(yīng)的VIX文件,即模塊對應(yīng)的程序內(nèi)容。根目錄 blocks.xml 用于定義程序模塊的內(nèi)部名稱、程序模塊的參數(shù)屬 性、模塊不同模式的顯示圖片內(nèi)容以及各模塊對應(yīng)的VIX文件。MINDSTORMS EV3序模塊制作 對于一個新的程序模塊, help 文件夾內(nèi)的幫助內(nèi)容并不是 必須的,它不影響程序模塊的正常使用功能,本文僅對根目錄 blocks.xml 文件, images、 VIs、 strings 文件夾內(nèi)容進(jìn)行介紹。1. 根目錄 blocks.xml根目錄 blocks.xml 定義了模塊的類別(

5、執(zhí)行器類、傳感器 類等)、模塊的功能模式以及不同模式對應(yīng)的VIX程序文件。模 塊根據(jù)功能不同分為測量模式、 比較模式等, 具體什么功能模式 由開發(fā)者自己定義。該文件還定義了不同模式下的顯示圖像和 VIX 中的參數(shù)的類型、范圍等。以一個新開發(fā)的觸摸開關(guān)程序模 塊為例,該模塊的根目錄 blocks.xml 內(nèi)容如圖 2 所示。(1) EditorDefinitions根元素。該元素是 MINDSTOREMV3程序模塊根目錄 blocks.xml 文件的規(guī)范,文件必須含有該元素 作為開頭。( 2)PolyGroups 和 PolyGroup 元素。 PolyGroups 元素定 ?x 程序模塊組的內(nèi)

6、容。ModuleName屬性定義程序模塊組名稱, ModuleVersion 屬性定義程序模塊組版本。 PolyGroups 元素內(nèi)可 以包含多個 PolyGroup 元素,每個 PolyGroup 對應(yīng)一個程序模塊, 若有多個新的程序模塊同時創(chuàng)建,可以把它們都放在一個 PolyGroups 定義。若 block.xml 文件內(nèi)容有嚴(yán)重錯誤則在使用 模塊導(dǎo)入向?qū)Чぞ邔?dǎo)入時無法顯示任何內(nèi)容。 PolyGroup 元素設(shè) 定每個程序模塊的內(nèi)容。Name屬性用于定義程序模塊組下的單 個程序模塊名稱,該名稱可以和PolyGroups的ModuleNameS性 不一致。 BlockFamily 屬性定義

7、模塊屬于傳感器類、執(zhí)行器類或 其他類別。 定義屬性時應(yīng)根據(jù)模塊的功能選擇不同的類別, 程序 模塊會出現(xiàn)在對應(yīng)類別選擇面板中。(3)Parameter 元素。該元素用于設(shè)定程序模塊不同模式 下 VIX 文件公共參數(shù)的屬性,屬性包含其數(shù)據(jù)類型、默認(rèn)值、數(shù) 據(jù)范圍和方向等。本文例子中的觸摸開關(guān)模塊有三個公共參數(shù),分別為 Port、State 和 Result °Port 對應(yīng)的 CompilerDirectives 、Direction 、DefaultValue 屬性分別定義了端口是輸入口、方向 為輸入以及默認(rèn)值是 1.3。State參數(shù)對應(yīng)的Identification 、 Direc

8、tion 、 DataType 屬性分別定義了該參數(shù)顯示的圖像、數(shù)據(jù) 方向為輸出以及類型為布爾型, 其設(shè)定效果如圖 3所示。 Result 參數(shù)的定義方法和前兩個參數(shù)一樣。(4)Hardware 元素。該部分內(nèi)容只適用于傳感器功能的程序模塊, 其他類別的程 序模塊不需要該部分內(nèi)容。 EV3PlotColor 元素為軟件數(shù)據(jù)記錄 模式下線條的顯示顏色。 EV3AutoID 元素用于軟件對傳感器種類 的識別,第三方開發(fā)的傳感器模塊可以使用 -1 和官方的傳感器 進(jìn)行區(qū)分,由于舉例的觸摸開關(guān)模塊為傳感器,因此 Direction 元素指定方向為輸入。 DefaultPort 元素確定模塊拖拽到編程界

9、 面時的默認(rèn)端口, 1.3 表示為 3號端口。(5)Block 元素。該元素用于定義程序模塊每個模式對應(yīng) 的 VIX 文件、模式特有的參數(shù)和在一些參數(shù)改變時顯示的圖像。 對于一個傳感器模塊,通??梢栽O(shè)定為三種模式,即測量模式、 比較模式和更改模式,對于每個模式最重要的內(nèi)容就是內(nèi)部的 VIX 文件。(6) Mode元素。該元素定義程序塊模式,注意該模式名稱 與 images 文件夾中對應(yīng)的模式顯示圖像關(guān)聯(lián),否則對應(yīng)模式的 圖像以及模塊的上下文幫助不顯示。 Reference Type 屬性定義 VIX 使用的函數(shù)庫,對于第三方程序模塊函數(shù)庫為“ VIlibName屬性選擇對應(yīng)模式的 VIX。 P

10、arameterReferenee 元素列出VIX使用的實際參數(shù)名稱,這些參數(shù)必須已經(jīng)在PolyGroup中進(jìn)行了定義。 PalttteInfo 元素設(shè)定默認(rèn)模式和模塊在選擇面板中 的位置, 含有該內(nèi)容的模式會成為默認(rèn)模式, 即程序模塊拖拽到 界面時顯示的模式。 Weight 屬性確定模塊出現(xiàn)在選擇面板從左 到右的位置。 BloekInterfaee 元素內(nèi)容可設(shè)為 Measure、 Compare Change三者之一,設(shè)定值與模塊的模式對應(yīng)一致。 HardwareModeInfo 元素定義傳感器在數(shù)據(jù)記錄模式下的內(nèi)容。 NameS性設(shè)定為所需名稱,ID屬性標(biāo)記傳感器的類型,如果傳 感器模塊

11、為數(shù)字型的,可設(shè)為0, Range為數(shù)據(jù)范圍,數(shù)字型傳感器設(shè)為 0, 1。 Unit 為單位,數(shù)字型傳感器無單位,設(shè)為空。 上述為測量模式的 Bloek 元素內(nèi)容介紹, 另外的比較和更改模式 的定義方法和測量模式一樣,只是它們不需定義 HardwareModeInfo 元素的相關(guān)內(nèi)容。2.images 文件夾Images 文件夾存放程序模塊的圖像文件,以新建的觸摸開 關(guān)模塊為例,其圖像文件如圖 4 所示。對于新程序模塊,需要設(shè) 定其在選擇面板、編程面板和在端口查看硬件列表的顯示圖像。 圖像的名稱要根據(jù)程序模塊的模式, 以及所在面板按照一定命名 方式設(shè)置,否則圖像不能顯示。( 1)選擇面板圖像。

12、 命名方式為 PolyGroup_Palette.png , 圖像大小為20X 20。( 2)編程面板圖像。 命名方式為 PolyGroup_Diagram.png , 圖像大小為34X 34。( 3)程序模塊模式圖像。命名方式為PolyGroup_Mode_Diagram.png ,圖像大小為 38X 22。如果需 要鼠標(biāo)移動到模塊模式的圖像上方產(chǎn)生新的圖像, 其命名方式為 PolyGroup_Mode_Diagram_MouseOver.png。(4)端口查看硬件圖像。命名方式為PolyGroup_Category.png 。3. VIs 文件夾4. strings 文件夾Strings

13、文件夾中放有不同國家語言文件夾,其中有對應(yīng)的 blocks.xml 文件,該 blocks.xml 與根目錄的 blocks.xml 非同 一文件, 該文件主要提供程序模塊的可見名稱、 上下文幫助和幫 助URL簡體中文的blocks.xml應(yīng)放在命名為zh-Hans的文件 夾。以新創(chuàng)建的觸摸開關(guān)程序模塊為例,其內(nèi)容如圖 6 所示。該 文件內(nèi)容主要對 PolyGroups 、PolyGroup 、Parameter 和 Block 這四元素進(jìn)行設(shè)定。 注意此處 Parameter 和 Block 的內(nèi)容是分別 對多個程序模塊的參數(shù)和多個模式進(jìn)行定義, 它們的設(shè)定方法都 相同,因此僅對其中一個 P

14、arameter 元素和 Block 元素進(jìn)行介紹。(1)EditorStrings 根元素。與根目錄 blocks.xml 文件相 似,該元素是MINDSTORM/3程序模塊strings 中block.xml開 發(fā)的規(guī)范格式,文件必 ?含有該元素作為開頭。(2) PolyGroups元素。ModuleName屬性要與根目錄的 blocks.xml 中的 PolyGroups ModuleName 屬性一致,否則兩個block.xml 文件內(nèi)容無法關(guān)聯(lián),程序模塊文字內(nèi)容無法顯示。(3) PolyGroup元素。Name屬性也需與根目錄的 blocks.xml 中的 PolyGroup 元素 Name屬性一致,DisplayName 和 DisplayNamePrefix 均設(shè)為顯示的名稱。( 4) Parameter 元素。該部分定義參數(shù)的顯示名稱和描述,Name屬性設(shè)為參數(shù)名,DisplayName為參數(shù)顯示的文字, Description 為參數(shù)的描述內(nèi)容,設(shè)定不同參數(shù)時只需修改對應(yīng) 的文字內(nèi)容。(5) Block元素。該元素的 Mode屬性要和根目錄的blocks.xml中的Mode屬性一致,Disp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論