Contenu connexe Similaire à LabView with Lego NXT (20) Plus de CAVEDU Education (20) LabView with Lego NXT2. 課程大綱
日 期 時 間 課 程 內 容
LabVIEW 環境簡介
了解 LabVIEW 資料流概念
人機界面/程式碼介紹
09:00~12:00
LabVIEW NXT函式總覽
第
編輯LabVIEW程式技巧
一
LabVIEW程式除錯工具
天
迴圈結構: For loop, While loop
遞迴概念與暫存器(Shift Register)
13:00~16:00
LabVIEW裡的判別與抉擇 (Case)
NXT感測器和馬達應用
3. 課程大綱
陣列與叢集: 掌握資料的第一步
圖表的應用與資料分析
09:00~12:00
第 字串和檔案存取
二 狀態機
天
Android 手機程式設計
13:00~16:00
使用Google App Inventor
5. LabVIEW 優點
• 直覺式程式設計
• Multithreading,平行處理迴圈
• 許多現成函式庫 (視覺,馬達控制,I/O)
• 可以和其他程式環境結合
– C,Matlab,.NET,ActiveX …
• 程式可移植到不同平臺執行
• Windows, Mac, PDA, FPGA …
6. LabVIEW 有那些種類的函數可以使用?
• 輸入和輸出
– 信號與資料模擬 Express Functions Palette
– 使用DAQ擷取及產生真實信號
– Instrument I/O Assistant (序列與GPIB)
– ActiveX,用於和其它程式通訊
• 分析
– 信號處理
– 統計
– 高級數學與公式
– 連續時間解算器(Continuous Time Solver)
• 視覺/馬達控制
– PID,Fuzzy
7. LabVIEW 的應用領域
• 業界量測與自動化標準
• 圖形化概念
• 豐富函式庫,包含:
– 視覺檢測
– 運動控制
– 資料擷取
– 儀器控制
– 進階運算
– 報表產生
– 和更多 …
• 整合週邊軟硬體和其他工具
13. 如何更改可視視窗
左邊:
Programming
NXT Robotics
右邊:
Programming
NXT Robotics
14. 工具 (Tools) 面板
• 建議:自動選擇工具 (Automatic Selection Tool)
• 用於操作及修改人機界面和程式區物件的工具
自動選擇工具
在以下工具中進行選擇:
操作工具
定位/改變大小工具
標籤工具
接線工具
17. Dataflow (資料流)
• 要駕馭 LabVIEW,一定要
清楚 dataflow
• LabVIEW 執行順序
– 要看資料是怎麼流的
– 資料左進右出
• VI 從左邊接受到所有的
input資料,VI才會執行
• VI 執行完,將會從右邊
輸出 output資料
20. LabVIEW EE NXT Setup
• 進行習題之前,先確認 NXT已連
線
• Tools NXT Tools NXT
Terminal
• 需要更新 NXT firmware -> 1.28
22. Exercise 1: Hello World
• Display -> Hello World.vit
• 用 Highlight Execution 了解資料流
27. NXT I/O
• 控制 NXT 的函式
– Motors
– Sensors
– Display
– Sound
– Log Data
– Advanced
29. Behaviors
• 現成的程式碼片段,來模擬一些動作
– Lurch (走走停停)
– Swerve (左晃右晃)
– Snake (蛇行)
– Move to Zero (馬達歸零)
– Position Control (馬達定位)
– Follow a Line (循跡)
– Save Light to File (紀錄光值)
– Drive While Sampling Light (邊走邊紀錄光值)
31. Exercise 2: 擷取 NXT Light Sensor
• Sensors -> Graphing_Sensor_Values.vit
• 如果用 Touch sensor 該如何修改程式?
34. Context Help 視窗
• Help Show Context Help,或 Ctrl+H
• 把滑鼠浮過欲查詢的 VI
更詳細的說明:
– 在 VI上按右鍵,選擇 “Help”
– 可以從 Context Help 視窗選擇
“Detailed Help”
35. 小技巧
• 鍵盤快捷鍵 Shortcuts
– <Ctrl+H> – 叫出 Context Help 視窗
– <Ctrl+B> – 清除所有斷線
– <Ctrl+E> – 從 Front Panel 和 Block Diagram
互相切換
– <Ctrl+Z> – Undo
37. 除錯工具
• 查看程式問題點
當程式有錯誤的時候,執行按鈕會有「斷箭」
按下「斷箭」則可以顯示程式錯誤點
• Execution Highlighting
程式會以「慢動作」顯示資料流向清楚
呈現
• Probes
程式執行時,可以在資料線上按下左
鍵,來查看此線的資料
39. 迴圈 (Loop)
While 迴圈
• While 迴圈
– 接點計算重複執行次數
– 至少執行一次
– 一直執行到滿足停止條件
為止
• For 迴圈 For 迴圈
– i 接點計算重複執行次數
– 根據計數接點的輸入埠 來
執行
40. 繪製迴圈
2. 圈選要重複執行的程式碼
1. 選擇結構
3. 拖拉其它的節點並完成接線
42. 暫存器(Shift Register) – 暫存器
• 可在迴圈結構的左邊框或右邊框使用
• 在邊框上按滑鼠右鍵,選擇 Add Shift Register
• 右側接點會在迴圈執行完畢時儲存資料
• 左側接點輸出上次迴圈的資料
初始值 值3
迴圈開
始之前
第一次 第二次執 最後一
執行 行 次執行
57. 使用迴圈建立 Array
啟動自動索引
• 自動索引
接線變粗
– “Auto-Indexing”
– 開啟時,迴圈會自動把
裡面的資料整理成 array 1D 陣列
– 關閉時,迴圈只會輸出
0 1 2 3 4 5
最後一筆資料
關閉自動索引
– 在節點上按右鍵,可以 接線保持原樣
選擇 Enable 或 Disable
Auto-Indexing
只有一個值(最後一次
執行)被傳出迴圈
5
61. Graphs and Charts
• Graph
– 適合顯示 array
– 不會累計資料,上次顯
示的 array 會被這次的資
料覆蓋
• Chart
– 適合顯示單筆資料
– 有 history 記憶體,可以
累計資料
63. Cluster (叢集) 簡介
• 將資料集合在一起的資料結構
• 資料可以是不同類型
• 相當於 C 的 struct
• 元件必須都是 control 或 indicator
• 可以想像綁成一條電纜的電線
64. 建立叢集
1. 選擇一個叢集邊框。
在 NXT Robotics» Array and Cluster,選擇 Cluster
2. 將物件放入邊框裡。
66. Log (Red) Dataset
• NXT 內建三個記憶體空間
– Red, Blue, Green
• 選擇記憶體空間
• 定義 Sample Time
– 資料點之間的時間差
• 定義 Time
– 整體作業時間
71. Web Publishing Tool
• Step1︰開啟vi檔,選擇 Tools→
Web Publishing Tool
• Step2︰啟動 Start Web Server
• Step3︰選擇 Save to Disk
• Step4︰程式將顯示此網頁的網址
(http://yourpcIP/檔名.htm)。
• Step5︰用瀏覽器開啟網址,進行
遠端控制動作。