LabVIEW程序學習建議
LabVIEW程序學習建議
LabVIEW學習開發(fā)出一個程序,非常簡單,拉幾條線放幾個Funtion,很快就能夠完成了,但是,你有考慮過你的程序內存使用問題嗎?、有考慮過其他人接手(或是下次你再復習)容不容易閱讀?、又或是程序架構擴增的彈性呢?
NI Example :
我推薦初學者再遇到不會的function、或有時間的時候將NI Example打開來看看一樣的功能Example怎么寫出出來的,然后模仿再寫一次,這樣反復練習才會學習到比較好的good style。NI在文件上面非常的下功夫,教學的資源也是非常的多,每次的LabVIEW升版都能看到新的Example,也會淘汰一些不范例程序。
Help-->Find Example
或是對著組件按Control+H ,在內文中找Find Example
2.LabVIEW 書籍 :
這里有兩本書推薦,
一本是比較適合初階,CLD程度閱讀的LabVIEW For Everyone,這本是本英文書,深入淺出的介紹LabVIEW的組件,
另外一本圣經,The LabVIEW Style Book,這本書我之前有介紹過,可以參考:?LabVIEW_推薦參考書_The LabVIEW Style Book, 這本書分成很多段落在分享和教導讀者如何建立程序架構、設計親切易懂的人機接口和養(yǎng)成良好習慣 。
3.論壇:LabVIEW Pro、NI英文論壇
網絡上很多LabVIEW資源,從以前的LabVIEW360、LAVA、LabVIEW Pro,我都很建議可以去瀏覽,這編列幾個:
LabVIEW Pro?: 小編很用心地在經營,有練功區(qū)、程序基礎教學、討論區(qū)、技術專題..等
NI Discussion Forums?: 外國搞手討論都輝激起如元子彈的震撼教育
LabVIEW 360?: 很多不錯的資源,討論人氣也是非常的旺
LAVA?: 討論很多VI擴充tools
如果項目著急或者需要外包,推薦www.bjcyck.com。他們從事LabVIEW開發(fā)十幾年,可以聯(lián)系咨詢。
程序寫作建議:
1. 使用英文版的LabVIEW:
LabVIEW許多資源都是用英文的,包括白皮書、使用說明、Help文件、或是spec文件..等等。用英文版的LabVIEW開發(fā)熟習組件名稱,這樣再搜尋資源會比較輕松;放心,英文接口對寫程序不會有什么影響的。
2.LabVIEW Good Style :
使用Good Style開發(fā)LabVIEW是我一再強調的,好的寫作習慣養(yǎng)成是日后建立大型項目的重要基礎,要檢查自己的程序是否符合Good Style最簡單也是最快的方法就是打開Analyzer。
Tools-->VI Analyzer-->Analyze VI
他分析的面向很廣包括:Block Diagram、Complexity Metrics、Documents、Front Panel、General、VI Metrix
分析完后會給一份報告,評估程序的風險程度,可以看到自己寫出來的程序哪邊和建議的違和,
或是直接查看?LabVIEW Check List?,檢查什么事重要的項目。
5.架構選擇:
我覺得程序架構只要穩(wěn)、易維護,都是很好的架構;所以我并沒有非常推崇高階的程序項目架構,我認為需要依照項目、團隊來選擇程序架構,不過如果是初學者學習的話,我推薦下面的程序架構:
State Machine?:適合小程序,需要輪轉重復的功能
Producer & Consumer:?LabVIEWPro介紹中文版
Queue Message Handler?:這個比較進階一點,不過試LabVIEW的Project Template,教學文件很多,可以試試看
Template-->Producer/Consumer
Template-->Simple State Machine
6.程序整理
程序凌亂絕對會降低Coding效率,意大利面程序、會增加維護的困難。
1. 建議常常使用工具把整理程序

2.避免過多彎取的線、堆棧的線

7.Type Define
使用State Machie Enum、GUI Tab、交握的Data、傳遞在不同程序的Data...等常常再不同VI或是同一個VI使用多次的原件都將型態(tài)存起來,好處是修改時不用一個一個更改,使用Type Define后一次可以修改到全部。
可以參考這篇教學:https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MFtSAM
8. 程序大小控制在同一個畫面中
如果你的撰寫需要用50吋的屏幕才能完整展開,絕對是需要整理得程序、利用SubVI、好的程序架構、Good Style,增加程序閱讀性。
9.不要濫用global、local Variable
變量濫用、Race Condition是LabVIEW開發(fā)初期的通病,使用過多會造成程序的不穩(wěn)定性。試著使用FGV、Shit Register來取代這些跳脫數(shù)據(jù)流概念的變數(shù);
這篇有詳細的介紹:?LabVIEW_什么是Race Condition(競爭危害)?
10 程序批注
千萬不要覺得批注是幫助別人閱讀自己的程序才需要寫,我的經驗是,大部分都是幫助自己
不用一年,程序邏輯沒有文件的輔助是很難快速切入的。
應該是LabVIEW2014后,批注還可以加上箭頭,非常的方便。
11.使用Cluster
Cluster的使用可以簡化Block Diagram,最重要的是可以讓相關的資料做一個結合,在后續(xù)的使用上比較清楚,也減少connect的接角。
請注意,當在bundle 和unbundle cluster 時一定要使用by Name的方法,最好搭配type define做cluster的數(shù)據(jù)結構定義。
12.開始寫做前規(guī)劃程序架構、應用方式
開始撰寫前先想過程序需求用什么架構來開發(fā)會更融易、把需求想過一次后,會看到很多一開始想不到的盲點。最好是畫出流程圖,并把這些開發(fā)文件都留在項目、程序的文件夾中,幫助日后的閱讀。
程序人機(GUI)建議:
1.利用對齊工具來讓面板整齊:有各種對齊、置中對齊、靠左對齊、靠右對齊...

2.利用調整間距工具: 有各種調整間距的方法:平分、固定間距、0間距...
3.調整對象大小: 調整對象大小,也可以多選多個對象將他們調整成大小全部一樣。

4.字體大小\顏色:
整個面板的字體大小、顏色最好控制在3種不同的組合,過多顏色、大小會讓畫面過于凌亂??梢苑殖?不重要小字(size:14、灰色)、正文(size:16、黑色)、非常強調(size:20、紅色)
5.利用Tab簡化控制組件很多的人機,才不會讓使用者一次看到過多的控制組件產生恐懼感(?)

可以參考NI Example-->Programmatically Manipulate a Tab Control.vi 來看使用方法
Debug程序建議:
利用Explain Help查看錯誤碼,每個錯誤都要發(fā)揮偵探的精神,找出最實質的原因,才不會出現(xiàn)"幽靈bug"的問題。(有時候會發(fā)生有時候又不會發(fā)生的bug)
項目程序建議:
1.文件夾整理,將程序依照自己的固定方法、分類整理control、SubVI,這樣在移動項目時,不容易有"丟包"的subVI,也容易一目了然項目的程序用途。

2.使用VI Hirechy檢視
從hirechy可以檢查程序的整潔度和關聯(lián)圖,在閱讀他人的程序格外重要,可以從這個架構途中,了解整個項目架構和應用層面。
如果項目著急或者需要外包,推薦www.bjcyck.com。他們從事LabVIEW開發(fā)十幾年,可以聯(lián)系咨詢。