LabVIEW Pro 專業論壇-✦LabVIEW NXG 特區✦-最新! LabVIEW NXG 2.0 開箱文
 
     
 
 
 
LabVIEW 討論區基礎教學每月專題分享技術問題精選online Test
技術討論區 程式分享區 教育訓練與認證區 閒話家常區 工作機會討論區 回報區 ✦LabVIEW NXG 特區✦ 高手專訪系列
 熱門關鍵字 
    CLD 考前衝刺    3小時內學會 LabVIEW    TOP 資源排行榜    取得 NI 協助    量測概念充電站
 您的位置:首頁 > ✦LabVIEW NXG 特區✦ > 最新! LabVIEW NXG 2.0 開箱文
  ✦LabVIEW NXG 特區✦   板主:
 之0(0篇)
最新! LabVIEW NXG 2.0 開箱文 
 
joannachen
暱稱:Jo
經驗值:4614
等級:總舵主
發文:211
回文:1060
版本:請選擇
闖關狀態:
迷霧之森
前往地圖:
 
字級設定

作者:許濬麟
 
一轉眼就 2.0
 
NXG的開箱文彷彿才剛寫完,忙碌的一年一轉眼溜走的同時,NXG 2.0也悄悄的開放下載:http://www.ni.com/zh-tw/shop/labview/download.html
 
 
在此同時,NI Software Technology Preview也默默地更新成了2.1 BETA
[+]放大圖片
 
NXG 2.1將會於明年推出,如果有興趣想要接著嘗鮮的夥伴,可以前往NI Software Technology Preview頁面進行申請:http://www.ni.com/zh-tw/support/software-technology-preview.html
 
回到現在的主題:LabVIEW NXG 2.0。依照慣例,我們還是從安裝開始吧!
今年開始,NI針對重大Upgrade會慢慢採用線上發布的機制,也就是除了新版的軟體之外,其餘的Service Pack將都透過線上下載的方式取得。這次的更新,包含LabVIEW 2017 SP1之外,NXG 2.0也可以透過線上下載的方法來取得。
LabVIEW 2017 SP1更新的方法可以透過NI Update Service:
[+]放大圖片
 
 
而NXG 2.0下載的方式則是透過NI Package Manager:
[+]放大圖片
 
夠直接明瞭了吧!
 
不過下載當然就有下載的缺點,那就是佔硬碟空間:
[+]放大圖片
 
由於系統碟是SSD,所以看到這種佔SSD空間的怪物,在安裝完畢之後立馬移除。當然如果大家的系統碟是HD,或是日進斗金不會在乎這麼一點點損耗,那麼留著這些檔案當然還是有優點:日後要重新安裝時不需要重新下載…
 
安裝完畢之後,就可看到這次的Loader主題又改變了!更加具有專業性質的圖式,意味著這個版本往網路世界及自動化更邁進了一步。
[+]放大圖片
 
 
該用哪個版本?專業版免費體驗中!
 
許多人對於NXG 2.0還是感到陌生的,更甭論所謂的版本選擇。而在NXG 2.0中,恢復了以往的基本版、完整版以及專業版的分野,讓眾多的使用者可以各取所需:需要快速使用NI硬體解取訊號而不想專注於程式撰寫,或想短期租用的夥伴可以選擇基本版;需要更多函式庫或是操作在不同的作業平台如Mac的夥伴可以選擇完整版;當然什麼都要的夥伴就是選擇專業版!
在免費體驗推廣的期間,NI直接讓所有夥伴都取得專業版,除了可以試用全部的功能之外,也可以藉此評估自己真正需要的版本。
[+]放大圖片
 
至於目前NXG的版本授權策略依舊隨著LabVIEW Current gen來取得,無法直接購買。也就是NXG 2.0試用的時候一樣可以下載專業版進行試用,但啟用授權的License就是依照current gen的版本來決定。
 
人人都可以是系統設計師!
 
直到現在,仍有許多工程師問我:如何評估或建立一個硬體系統。
這件事情以往需要一個熟悉NI產品的人,熟記各種模組編號及功能,根據經驗及線上手冊的協助,進而建立一個硬體雛型架構,這件事情往往令許多應用夥伴卻步。NXG 2.0則提供了另一個全然不同的觀點:SystemDesigner。
當開啟專案之後,與NXG 1.0不同的是:每個專案內都預設了一個SystemDesigner。而使用者可以選擇使用或不使用他。
[+]放大圖片
 
 
SystemDesigner到底是拿來**嘛的呢?他具有兩種模式,一種是Live View,也就是目前系統上實際連接的裝置全覽。讓使用者可以快速地藉由右方的Property Panel瀏覽所選取的裝置資訊、功能、腳位等,或是讓使用者快速透過視覺化方式選取想要使用的硬體,並且快速建立測量功能。
[+]放大圖片
 
透過這種模式,大幅降低了非工程背景人員進行資料擷取的門檻:只要照著圖點點點選選選就可以完成資料擷取。
 
另一種模式則是Design View。在這個模式下可以慢慢地透過圖形化的方式來建立自己需求的環境。例如先選出自己的電腦:
[+]放大圖片
 
 
接著想要在設計中用上已經存在的裝置:
[+]放大圖片
 
 
又或者想要額外新增一個cDAQ Chassis:
[+]放大圖片
 
 
最後只需要透過接線的方式即可完成設計。老樣子,接得起來就代表能夠這樣組裝,接不起來當然就代表規劃錯誤。
[+]放大圖片
 
 
除此之外,以往令人感到痛苦的模組選擇,現在則是分門別類地幫大家放好:
[+]放大圖片
 
 
當找到想要用的類型但不知道每個模組特性?沒關係,點進該類型之後會自動表列出所有支援的模組名稱,同時當滑鼠停留在模組名稱上,則會顯示該模組的技術規格大綱:
[+]放大圖片
 
 
最後選取完畢之後就可以將該模組拖曳到機箱中:
[+]放大圖片
 
這樣的硬體設計挑選,是不是感到簡單了許多?
[+]放大圖片
 
 
當然,一個複雜的系統在設計完畢之後,總是需要與其他的同事或合作夥伴進行確認,此時就可以把SystemDesigner當作Front Panel一樣開始貼圖拉線,不一會,一個相當專業的系統架構圖就大功告成了!
[+]放大圖片
 
 
用了很長的篇幅介紹SystemDesigner所為何事?我一直很推崇這句話:「一個好的工具是拿來給普羅大眾使用的,而不是給少數人拿來膜拜的」,NXG讓硬體使用、規劃及溝通,透過SystemDesigner變得更簡單了。這句話絕非恭維,而是當前視覺化的介面運用與以往的工程軟體姿態相較,顯得更加人性化!
 
功能!我要更多功能!
 
這句話或許是許多LabVIEW老玩家對於NXG的共同看法。那麼在NXG 2.0中,到底新增了甚麼功能,相信也不少夥伴很期待。
 
首先,VI Server可以使用了!
謝天謝地,沒有VI Server怎麼活啊。尤其是做系統自動化及系統介面的開發夥伴,一定都會使用到這個功能。因此在NXG 2.0中立刻看到它的復出:
[+]放大圖片
 
阿咧?怎麼功能這麼少?只有看到Property Node而沒看到Invoke Node。那實際挑選一個Property Node最豐富的Graph Control來看看:
[+]放大圖片
 
阿咧咧?看樣子在NXG2.1/3.0應該會陸續的將相關功能都加回來吧?
 
個人猜測現階段沒有加回來,是因為與後續要談的WebVI有關,元件的屬性及方法需要有更完善的規劃才不會導致應用衝突,因此才延後實裝。當然這是個人猜測,或說是一點小小的期望:快把功能還給我!
 
還好,動態呼叫的功能還在…阿咧咧咧?目前只開放簡單的動態呼叫,對於複查的動態呼叫或是非同步呼叫的功能似乎還沒上線。這部分也只能繼續引頸期盼囉!
[+]放大圖片
 
 
搭配著動態呼叫,就必須補充一下很重要的reentrancy的設定: 
直接透過GVI Property Panel中的Document中可以開啟行為的屬性設定:
[+]放大圖片
 
 
現階段只有Execution可以選擇,但看起來後續應該會陸續增加功能於頁籤上。Execution中目前可以設定的就是VI reentrancy跟inline subVI。Reentrancy中的三個選項其實就是依序對應Current gen中的Non-reentrant/share clone reentrant/pre-allocated clone reentrant。
[+]放大圖片
 
 
除了VI Server之外,另一個重點就是toolkit的增加。較為特別的莫過於:Vision以及Skyline!
 
Vision大家一定耳熟能詳,它的功能被完美的重現在NXG 2.0中:
[+]放大圖片
[+]放大圖片
 
[+]放大圖片
 
[+]放大圖片
 
這部分的功能就不多作介紹了,相信在視覺的領域比我厲害的前輩多的是!
而就算不是前輩也不用擔心不會用,NXG 2.0針對這三大類別功能,新增超過60個範例,部分範例與Current gen相同,部分範例則是新增。
[+]放大圖片
 
 
既然有Toolkit,也就代表影像擷取也上線了,沒錯!直接在專案上按右鍵即可新增Camera:
[+]放大圖片
 
 
新增後立刻跳出影像擷取面板,並同時擷取筆電鏡頭Camera的影像資料:
[+]放大圖片
 
透過這個面板可以快速地設定相機的參數,以及實際看到的影像。(大頭貼圖片來源:https://www.facebook.com/yangmachi/)
 
最後將設定檔拖曳到GVI的Block Diagram即可完成硬體的初始化設定,與訊號擷取一樣便利!
[+]放大圖片
 
 
除了Vision toolkit之外,另一個值得介紹的toolkit則是Skyline toolkit:
[+]放大圖片
 
有參加NIDays 2017的夥伴應該有印象在這個版本,NI推出了一個新的服務功能:SystemLink。該產品頁面可以參考:http://www.ni.com/zh-tw/landing/systems-management-software.html,若對於SystemLink不熟的朋友也可以看這個連結:https://www.youtube.com/watch?v=qxd6h8FxiS0
 
簡單來說,SystemLink類似於InsightCM,但更傾向提供一個Web前端介面給一般使用者操作,針對分散式測試、量測與控制解決方案,提供集中化的管理功能。主要讓使用者便於管理眾多連網系統,當中更內建軟體佈署、裝置設定與診斷功能。此外,SystemLink 也備有安全、可擴充的資料服務,以及多項 LabVIEW API;支援的硬體則涵蓋 PXI、CompactRIO與Windows電腦。。而Skyline toolkit則是一個提供與SystemLink通訊的API。如果有興趣的夥伴,可以從這份教學開始:http://www.ni.com/tutorial/54037/en/
 
在整合領域,能實作前端及後端的LabVIEW工程師不多,如果大家對於Web Service駕輕就熟,或是公司有其他部門同事可以支援前端功能,當然就不見得需要這類的服務來協助。若屬於一人部門,那麼透過Skyline與SystemLink整合,或許會是成本較低的方式。
 
傳說中的物件導向
 
為什麼說傳說中呢,就我接觸到的大多數LabVIEW工程師,都沒有接觸過LabVIEW的物件導向。主要原因是LabVIEW資料流傳值,導致於在物件導向的設計上與C#或是JavaScript有許多地方有差異。同時在白皮書上也特別說明,LabVIEW的物件導向適合於較為進階的使用者,主要在於許多的特性及設定確實需要較完整LabVIEW的技能之後才能掌握的。
 
在NXG 1.0中,並未開放物件導向的設計,而在NXG 2.0中才正式引入,令人訝異的是,物件導向的方式居然與gtype物件結合。在NXG 1.0中,gtype物件的作用在於定義資料型態,而NXG 2.0則是透過gtype的相關設定可以直接將其轉換成物件:
[+]放大圖片
 
 
啟用之後該物件就直接繼承到G Object下,同時也讓設定繼承及多態的作業變得更方便設定操作:
[+]放大圖片
 
 
當然,Current gen中有的物件導向操作,大致上NXG 2.0也都有,但可惜的是目前沒看到Class Hierarchy的功能,較難針對物件繼承關係進行瀏覽。
[+]放大圖片
 
 
NXG 2.0物件導向的整體設計來說還算不錯,不過與Current gen比起來還是弱勢許多,畢竟Current gen已經有妥善的物件導向工具如GOOP tool或是UML tool,可以大幅加速開發效率。希望NXG後續也可以持續的強化這方面的功能!
 
圖形化GVI比較工具
 
以LabVIEW的環境而言,由於較難對程式碼進行branch,modify以及merge,因此程式副本的存在需求較小。一般來說在一個良好設計的LabVIEW架構中,比較少會用到程式碼的比較工具,但在部分較為特殊的狀況下,可能已經有複數個相同功能但不同參數設定的程式副本存在,此時就有機會尋找這些程式碼有哪些地方不同。實際上compare tool這個功能在Current gen中也存在,在NXG 2.0中則是以新的面貌呈現。
 
在專案中,可以簡單地透過選擇兩個檔案後直接按右鍵,就可以開啟檔案比較功能:
[+]放大圖片
 
開啟後就會直接進到比較模式,可以在此針對Front Panel跟Block Diagram上的差異部分進行比對。
[+]放大圖片
 
 
該是時候建立函示庫/執行檔!
 
NXG 2.0中,終於有建立函示庫/執行檔的功能,而且變得更加的簡便:只需要在專案檔案上操作即可!在想要變成執行檔的GVI上按右鍵,就可以看到建立函示庫/執行檔的選項:
[+]放大圖片
 
 
接著會彈出一個簡易的設定視窗進行設定,功能看起來有點少,或許是還沒有準備拿來大量佈署使用吧。
[+]放大圖片
 
 
確定後,系統會自動的搜尋被引用的子函式並且包到應用程式設定中:
[+]放大圖片
 
打開gcomp檔案,也就是Component設定檔後,即可看到應用程式內佈署情形,同時也可以直接按下上方的Build Application槌子符號按鈕來建立執行檔。
[+]放大圖片
 
 
建立完畢的執行檔則是透過下方的Status視窗上對項目按右鍵即可開啟所在的存放資料夾。
[+]放大圖片
 
 
啟動執行檔後就是畫面上所呈現的結果:
[+]放大圖片
 
 
NXG所產生的執行檔只能在有NXG Runtime的電腦中執行,這點要特別注意。此外測試起來感覺build的過程比Current gen好很多,不過每次執行的時候似乎是因為要載入runtime的關係,啟動需要等待幾秒鐘之後才會將畫面開起來。
 
若要在兩個主程式中共用相同的子函式,一般來說會建立通用資料夾,如LabVIEW中的User.lib等,很多人為了避免麻煩的做法則是產生檔案的副本,但這樣檔案的後續維運則會有潛在的風險,如副本同時維護等問題。
在NXG中的執行檔也考量到相同的問題,因此強迫使用者,當子函式被主程式所引用時,必須放在相同的Component設定檔中:
[+]放大圖片
 
如果不在同一個設定檔中,則主程式則無法引用該子函式而造成斷線。透過這種方法可以有效地針對引用進行管理,減少維運的成本。
 
但如果是兩個執行檔都需要呼叫同一個子函式呢?
NXG 2.0則是利用了Library來解決這個問題。概念就像是當需要使用相同的功能,那就把該功能做成dll給其他人呼叫一樣。操作部分跟執行檔相同,在專案列表直接按右鍵建立Library,並且選擇設定檔模式為Library。
[+]放大圖片
 
[+]放大圖片
 
 
設定完畢後,該子函式就可以提供給兩個不同的執行檔使用而不會產生衝突或斷線!
[+]放大圖片
 
 
現階段的狀態看起來,NXG中Library的功能跟Current gen大致類似,但實際上的應用定位似乎不太相同,或許NI有其他需要賦予給Library的任務,這部分就只能等待後續版本推出之後再繼續推敲。而大致上對於Application及Library的設計也十分清晰,對於入門的使用者來說,門檻確實降低不少。
 
透過NXG 2.0完成網頁人機介面
 
NXG 2.0的專案中,增加了WebVI的選項:
[+]放大圖片
 
 

主要目的就是透過這個功能,讓不會設計網頁人機介面的使用者,也能夠建立網路服務功能。在NXG 2.0中,一個網路應用包含了:

  • 網路應用程式設定檔(gcomp)
  • WebVI(gviweb)
  • 其他多媒體文件
  • Web Server Target
例如建立一個具有簡單計算功能的WebVI人機介面應用程序:
[+]放大圖片
 
程式碼則是很單純的計算:
[+]放大圖片
 
 
接著到SystemDesigner中新增一個Web Server,並且將剛剛建立的gcomp添加至Web Server的Software中:
[+]放大圖片
 
 
最後在software上按右鍵選擇Run:
[+]放大圖片
 
 
NXG會自動建立文件檔案,並啟動Web Service服務,同時開啟程序頁面:
[+]放大圖片
 
使用者就可以直接透過網頁來操作,超級便利!
 
除了寫些簡單的運算程式之外,NXG 2.0也提供了HTTP Client的API讓WebVI使用。透過RESTFul的設計,可以讓網頁與其他的Web Service進行互動,例如用LabVIEW 2017的Web Service開發了遠端儀控API,就可以在NXG中透過RESTFul的方式直接介接進行顯示或控制。
[+]放大圖片
 
 
除了自行寫程式之外,當然也可以將外部的資源拿進NXG的WebVI中使用,最常被引用的莫過於Google的圖表或是地圖。在NXG的範例中,就有透過IFrame的方式將地圖鑲入WebVI的展示:
[+]放大圖片
 
這部分就需要進到HTML的編輯模式下進行編輯:
[+]放大圖片
 
上圖反紅的地方就是將Google Map鑲入WebVI的語法。也因此需要這種功能的使用者,就需要有一定程度的網頁開發技術才能協同作業。
 
透過NXG 2.0來設計網頁人機介面的方式十分簡易,但也有些缺點,其中最大的缺點就是NXG不能關閉,一旦關閉了,後台的Web Service就跟著關閉,後續網頁關閉後重開,就會無法進行操作。
 
目前有許多網頁人機介面的功能可以透過其他程式來達成,但是人機介面加上Web Service可以一氣呵成的軟體,現階段NXG 2.0算是表現相當優異的!倘若未來能夠繼續在Web Service Target中再加入如資料庫或是更多的網路需求元件功能進來,將會更令人驚豔。
 
歡樂的時光總是過的特別快,又到時間講掰掰
 
在應用的市場中,唯一不變的東西就是「改變」,延續著NXG 1.0的變革,在NXG 2.0中也看到NI在這套軟體上持續的揉捏鍛鍊,企圖塑成新一代的應用程式領頭羊,透過的方法就是改變以往對於LabVIEW這件事情的設計。
這種方法其實利弊分明,缺點一定是破壞原有的使用者經驗,將所有的使用者習慣打回原形,重新來過,這點在過往一年的使用者接觸經驗中,不斷的被提醒:「NXG這樣一點都不好用啊」。
也因為一切重來,不受限於前幾個世代的思維,因此更能以新時代的思維來為使用者思考,如同上文介紹的,許多功能確實變得更為直觀,操作性上也改善了不少,這點確實值得我們為其喝采。
 
NXG 2.0現階段表現良好,但內容相較於Current gen來說,功能確實少了非常多,希望研發團隊能在未來帶來更多進展,更完善的功能,以期下一個版本:NXG 2.1,能夠具有更豐富的內容來迎接LabVIEW的使用者們。
 
歡樂的時光總是過的特別快,又到時間講掰掰,希望以上的功能說明及展示,能夠讓對NXG 2.0有興趣的夥伴可以有個簡易的介紹及操作說明,讓大家能夠透過這篇文章,快速跨入NXG 2.0的使用環境中。
 
 
 
  文章人氣: 2057 讚:5 文章日期:2018/03/28 13:44
 之0(0篇)
 
 
   會員中心 
帳號:
     
密碼:
     
  以後自動登入
 
註冊
   待回覆文章 
1. NI9234 振動訊號與RS232 4800 baud rate結合
2. [心得]2018 程式獵人分享大會
3. 心得 :LabVIEW Pro 程式獵人分享會
4. [心得] 2018 Labview程式獵人分享會
5. [心得]2018 程式獵人分享大會
6. 支持向量機SVM數據輸入問題
7. 2018 LabVIEW 程式獵人分享大會
8. cRIO運行透明化plot area的chart會變得延遲
 
   Top 5 熱門討論 
1. [講義下載] 4月14日LabVIEW Pro 程式獵人分享會圓滿落幕!
2. [心得] 還好我有去~ LabVIEW Pro 程式獵人分享會
3. 不知道的原件
4. [心得]2018 程式獵人分享大會
5. 心得 :LabVIEW Pro 程式獵人分享會
 
 
 
LabVIEW討論區 站長信箱 關於我們 站內聲明
國家儀器股份有限公司贊助;Sponsored by NI.
© 2010 National Instruments, Taiwan. All rights reserved. design by begonia