簡易比較 LabVIEW with MSRDS

 

今天要來比較一下 LabVIEW 與 MSRDS MVPL這兩個圖形化程式的異同之處。

在LabVIEW中, 一個最小的程式執行單位稱為 vi, 取 virtual instrument(虛擬儀器)之意。我們可以從下圖中看到一個 vi 的左右兩側會有許多的資料接口。 一般來說, 右側稱為 output, 左側稱為input。 所以我們可以從左到右來看LabVIEW的程式執行順序。 如果這個vi的控制參數很多, 接口就改接在vi的上方或下方。

另一方面我們可以從資料線( data wire)的顏色來看出它所傳遞的資料型別(data type), 綠色是Boolean, 藍色是整數, 橘色是double, 粉紅色是字串等等。

下圖是 LabVIEW 中的 NXT 超音波感應器vi, 可以看到它可接受的控制參數為port與切換英吋/公分顯示, 輸出的值當然就是與前方物體的距離。

接下來則是 MSRDS MVPL中的 NXT聲音感應器 service。 MSRDS將一個程式執行單位稱為sevice(服務元件), 這可對應到 LabVIEW的 vi。

下圖中是將聲音感應器的值顯示在一個對話框(simple dialog)中. 各位可以發現每個service都只有一個input與output, 但在連線時會跳出另一個視窗甚至多個視窗來指定這一條資料線的動作, 因此我們可以從下圖看到Data 到 LegoNXTSoundSensorv2的動作稱為”connectionUpdate”, 另一條線的動作稱為”AlertDialog”。

相較之下, MSRDS MVPL的畫面較為簡潔但也不大容易看出一些detail設定, LabVIEW則是一不小心就會把螢幕弄得亂糟糟。

LabVIEW 和 MSRDS MVPL都可以將所需要的一群程式碼包裝成個人化小程式以便之後使用, LabVIEW稱為SubVI, MSRDS 稱為 自訂活動元件 (Activity)。

PS: 所有MSRDS的 service都是由, 有興趣深入學習的朋友可參考台大土木康仕仲教授之教學網頁。 (http://sites.google.com/a/caece.net/robot-programming-2010/)

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *