NXT-G

NXT-G

NXT-G即NXT-G程式語言,是樂高公司為Mindstorms NXT機器人開發的一種圖形化程式語言,簡稱G語言

簡介,版本,編程模組與執行緒,編程模組,故障數據線,

簡介

因為其編程方法簡單易學,又可以編出極其複雜的程式(樂高公司稱c語言、Java語言編出的程式,NXT-G都可以編出),又因為LEGO MINDSTROMS NXT機器人在美國越發普及,NXT-G語言已成為“TIOBE世界程式語言排行榜2011年榜單”的第15名。樂高公司為這種程式語言開發的軟體稱為“LEGO MINDSTROMS NXT 編程(programming)”,下文簡稱編程軟體。
編程中的編程軟體編程中的編程軟體

版本

編程軟體分兩種版本:玩具版本(8547 NXT零售版本附帶)和教育版本(左圖)(須在網上下載,只有9797 NXT 教育版本用戶可使用),它們的主要區別是玩具版只有英語,而教育版本可選擇語言。

編程模組與執行緒

NXT-G語言最主要的編程方法則是用這些模組。每一個模組代表著文本。
模組的元素模組的元素
程式語言的一個或多個語句。圖中的模組從左自右依次是:“前進(bc馬達)”“檢測位於三連線埠的光電感測器”“轉動A馬達”。而壓在模組下面的樂高橫樑則代表執行緒,所以圖中的程式是一個簡單的單執行緒程式。模組可以任意從模組面板或編程區中的任意地方拉到橫樑上並成為程式的一部分。當然,模組也可以從外部導入(工具-》模組導入導出嚮導...),就像c中的外部頭檔案,還可以利用編輯-》新建“我的模組”來新建自己的模組,就像c里的自己編寫函式。而要分支出一個執行緒時,則需要用連線工具(shift+滑鼠點擊)把要連線的模組和主執行緒連線起來。

編程模組

NXT-G語言的每個模組除了需要擺放,還需要進行相關的設定,在編程軟體中表現為“參數設定面板”。選中一個模組(圖為選中右上圖中的第二個模組),在下面的參數設定面板即顯示出該模組的相關設定選項。當這個設定選項需要用前面的模組來決定,則需要數據中心與數據線。點擊模組的左下方(像一個凹槽),數據中心就會彈出(如上圖),再點擊一下即彈回。數據中心分為很多排,每排中間都以一個圖示,滑鼠停留在其上時,即彈出此排數據接口的名稱。數據接口即為圖示兩旁的金屬接頭,向左的為輸入接口,向右的為輸出接口,點擊一個輸入接口(輸出接口),再點擊一個輸出接口(輸入接口),即可連線數據線(如上面圖中的綠線)。輸出連線埠可以分為很多個數據線分別連線輸入連線埠,但輸入連線埠只能接一條數據線。其中黃線為數字數據線,綠線為邏輯數據線,橙色為文本數據線,灰色虛線為故障數據線。點擊數據線的輸出接口即可刪除數據線,關閉數據中心時連有數據線的數據接口不會隱藏。
光電感測器模組的參數設定面板光電感測器模組的參數設定面板

故障數據線

故障數據線就是連線失誤的數據線,呈現為灰色虛線。導致數據線故障的原因有:
1、類型誤配:同一種類型的數據接口只能連線相同類型的數據接口,否則數據線故障。
2、循環:數據線產生了循環。比如A模組的任務是把A1*3,,輸出A2,B模組為B1/7,輸出B2。但是A2連著B1,B2連著A1,導致數據線循環故障。
3、輸入缺失:數據中心中,有兩個數據接口的排為輸入排,右面的接口是左面連線的數據線的延續,所以左面沒有輸入,右面連線輸出就會引起故障。
4、輸入過多:多條數據線連線至同一輸入接頭將造成數據線故障,程式無效。

相關詞條

熱門詞條

聯絡我們