LabVIEW以其快速的開發(fā),穩(wěn)定的運行,贏得了越來越多用戶的青睞。
在日常工作中,不是每個導致用戶都能很好的利用這個工具。這樣往往會進展不順利的情況。
為了避免這樣的狀況,我們應當遵從LabVIEW開發(fā)項目的流程。
1 詳細而準確的需求。這是工作的起點,也是容易被忽略的地方,有時候,很多人只是說,我這個就是采集幾個數(shù)據(jù),簡單計算一下,后保存一下結果就可以了,但是隨著項目的開展,要增加很多內(nèi)容,如果程序框架沒有選好,旺旺會導致到處打補丁的境遇。
2 LabVIEW很多時候是要和硬件打交道的。在調(diào)試硬件設備前,需要認真閱讀硬件的說明書,搞清楚如何接線,常用的調(diào)試命令,這需要強調(diào)的是,接線一定要連接可靠,不要由于臨時調(diào)試,線纜有虛接的地方,影響調(diào)試的進展。磨刀不誤砍柴工,前期的準備工作一定要做好,這樣看起來是花了不少時間,但比起返工的花費來說,是少多了。
3 在開發(fā)過程中,當硬件設備和系統(tǒng)滿足調(diào)試測試要求的時候,要盡量多做測試,發(fā)現(xiàn)問題,及時調(diào)整。我們把調(diào)試貫徹在整個流程,這樣會發(fā)現(xiàn)很多小問題,及時解決,會的提升開發(fā)效率,節(jié)省終的調(diào)試時間。
如果您在這方面有什么問題,歡迎溝通交流。
在航空航天科研中,遇到項目緊,指標高,需要人來幫助的時候。如果需要LabVIEW編程開發(fā),自動測試、圖像識別、數(shù)據(jù)處理等方面的事情,可以聯(lián)系我們。
十七年來堅守LabVIEW開發(fā)及硬件、集成工作。
開發(fā)周期短,服務周期長,確保系統(tǒng)能用、好用。
提供優(yōu)化方案,不花冤枉錢。
LabVIEW程序?qū)W習建議(具體可登錄www.bjcyck.com):
labVIEW學習開發(fā)出一個程序,非常簡單,拉幾條線放幾個Funtion,很快就能夠完成了,但是,你有考慮過你的程序內(nèi)存使用問題嗎?、有考慮過其他人接手(或是下次你再復習)容不容易閱讀?、又或是程序架構擴增的彈性呢?
NI Example :
我推薦初學者再遇到不會的function、或有時間的時候?qū)I Example打開來看看一樣的功能Example怎么寫出出來的,然后模仿再寫一次,這樣反復練習才會學習到比較好的good style。NI在文件上面非常的下功夫,教學的資源也是非常的多,每次的LabVIEW升版都能看到新的Example,也會淘汰一些不范例程序。
Help-->Find Example
或是對著組件按Control+H ,在內(nèi)文中找Find Example
2.LabVIEW 書籍 :
這里有兩本書推薦,
一本是比較適合初階,CLD程度閱讀的LabVIEW For Everyone,這本是本英文書,深入淺出的介紹LabVIEW的組件,
另外一本市圣經(jīng),The LabVIEW Style Book,這本書我之前有介紹過,可以參考: LabVIEW_推薦參考書_The LabVIEW Style Book, 這本書分成很多段落在分享和教導讀者如何建立程序架構、設計親切易懂的人機接口和養(yǎng)成良好習慣 。
3.論壇:LabVIEW Pro、NI英文論壇
網(wǎng)絡上很多LabVIEW資源,從以前的LabVIEW360、LAVA、LabVIEW Pro,我都很建議可以去瀏覽,這編列幾個:
LabVIEW Pro : 小編很用心地在經(jīng)營,有練功區(qū)、程序基礎教學、討論區(qū)、技術專題..等
NI Discussion Forums : 外國搞手討論都輝激起如元子彈的震撼教育
LabVIEW 360 : 很多不錯的資源,討論人氣也是非常的旺
LAVA : 討論很多VI擴充tools
如果項目著急或者需要外包,推薦www.bjcyck.com。他們從事LabVIEW開發(fā)十幾年,可以聯(lián)系咨詢。
程序?qū)懽鹘ㄗh:
1. 使用英文版的LabVIEW:
LabVIEW許多資源都是用英文的,包括白皮書、使用說明、Help文件、或是spec文件..等等。用英文版的LabVIEW開發(fā)熟習組件名稱,這樣再搜尋資源會比較輕松;放心,英文接口對寫程序不會有什么影響的。
2.LabVIEW Good Style :
使用Good Style開發(fā)LabVIEW是我一再強調(diào)的,好的寫作習慣養(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 :適合小程序,需要輪轉(zhuǎn)重復的功能
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...等常常再不I或是同一個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 程序批注
千萬不要覺得批注是幫助別人閱讀自己的程序才需要寫,我的經(jīng)驗是,大部分都是幫助自己 不用一年,程序邏輯沒有文件的輔助是很難快速切入的。
應該是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.利用調(diào)整間距工具: 有各種調(diào)整間距的方法:平分、固定間距、0間距...
3.調(diào)整對象大小: 調(diào)整對象大小,也可以多選多個對象將他們調(diào)整成大小全部一樣。
4.字體大小\顏色:
整個面板的字體大小、顏色好控制在3種不同的組合,過多顏色、大小會讓畫面過于凌亂??梢苑殖?不重要小字(size:14、灰色)、正文(size:16、黑色)、非常強調(diào)(size:20、紅色)
5.利用Tab簡化控制組件很多的人機,才不會讓使用者一次看到過多的控制組件產(chǎn)生恐懼感(?)
可以參考NI Example-->Programmatically Manipulate a Tab Control.vi 來看使用方法
Debug程序建議:
利用Explain Help查看錯誤碼,每個錯誤都要發(fā)揮偵探的精神,找出實質(zhì)的原因,才不會出現(xiàn)"幽靈bug"的問題。(有時候會發(fā)生有時候又不會發(fā)生的bug)
項目程序建議:
1.文件夾整理,將程序依照自己的固定方法、分類整理control、SubVI,這樣在移動項目時,不容易有"丟包"的subVI,也容易一目了然項目的程序用途。
2.使用VI Hirechy檢視
從hirechy可以檢查程序的整潔度和關聯(lián)圖,在閱讀他人的程序格外重要,可以從這個架構途中,了解整個項目架構和應用層面。
如果項目著急或者需要外包,推薦。他們從事LabVIEW開發(fā)十幾年,可以聯(lián)系咨詢。