LabVIEW開發(fā)入門簡單,但是這個簡單僅僅是入門
在開發(fā)時,也要為后續(xù)升級維護做好準備。
在開發(fā)時,代碼要規(guī)矩,該做的注釋不要少。
慢就是快,這時有道理的。
術業(yè)有專攻,我們每個人把自己的領域能做好,這就很好了,要涉獵多個領域,的確不是一般人。而我們絕大部分都是常人。
北京瀚文網(wǎng)星科技有限責任公司具備十六年LabVIEW項目開發(fā)經(jīng)驗,服務范圍涵蓋:數(shù)據(jù)采集與信號處理、儀器控制、自動化測試與系統(tǒng)驗證、嵌入式監(jiān)測與控制系統(tǒng)、計量科研與院校教學等。
為您提供LabVIEW編程開發(fā)、LabVIEW升級維護以及LabVIEW相關所有工作。讓您全身心的投入到核心工作中來,減輕您的工作壓力,提升工作效率。
公司不但致力于LabVIEW開發(fā),在系統(tǒng)集成與產品開發(fā)方面也具備豐富經(jīng)驗,歡迎咨詢。
我們是做LabVIEW開發(fā)與系統(tǒng)集成的,所以結合自己的體會簡單總結一下:
開車和做項目一樣,都要遵守規(guī)矩。這些規(guī)矩都是從安全運行角度、項目開發(fā)角度總結出來的??雌饋矶炷茉?,但是要把這些融入骨髓,融入血液中,不要因為一時的沖動而改變。比如LabVIEW開發(fā)要遵從需求、開發(fā)、調試、驗證、維護、升級等環(huán)節(jié),不可一蹴而就。不按規(guī)矩進行的開發(fā),乍看起來提高了速度,殊不知卻埋下了隱患。雖然一時不容易爆發(fā),但總在海邊走沒有不濕鞋的。不要存在僥幸心理。
如果有LabVIEW開發(fā)與系統(tǒng)集成的項目,歡迎與我們聯(lián)系,繼續(xù)做進一步的探討。
用LabVIEW進行編程開發(fā),越來越得到更多的共識。
在開發(fā)過程中,是離不開終用戶的支持與配合,比如詳盡的需求,哪些地方是一定要實現(xiàn)的,哪些地方是現(xiàn)在還不確定,需要預留準備的。還有哪些地方屬于錦上添花的,這些要考慮項目的工期以及預算的情況。
軟件要想好用,系統(tǒng)想運行穩(wěn)定可靠,是需要雙方的互相配合。如果您在這方面有要求,歡迎與我們聯(lián)系。
如果您在工作中遇到LabVIEW編程開發(fā),自動測試、圖像識別、數(shù)據(jù)處理等方面的事情,可以聯(lián)系我們。
我們十七年來一直堅守LabVIEW開發(fā)及相關硬件與集成工作, 立足行業(yè),深刻理解客戶需求。
我們的服務開發(fā)周期短,服務周期長,確保系統(tǒng)能用、好用。
提供硬件選型,軟件開發(fā)、系統(tǒng)集成全套解決方案。為您節(jié)省資金,降低預算,把每一分錢都花到刀刃上。
在如下領域,都是LabVIEW發(fā)揮作用的廣闊天地
數(shù)據(jù)采集與信號處理
通過各種總線測量各種傳感器
執(zhí)行分析與信號處理
在自定義用戶界面上顯示數(shù)據(jù)
記錄數(shù)據(jù)并生成報表
儀器控制
自動化數(shù)據(jù)采集
控制多種儀器
分析并顯示信號
自動化測試與驗證系統(tǒng)
自動化實現(xiàn)產品驗證或生產測試
控制多種儀器
借助自定義用戶界面,分析并顯示測試結果
嵌入式監(jiān)測和控制系統(tǒng)
復用ANSI C和HDL代碼
集成現(xiàn)成可用的硬件
使用FPGA技術進行原型設計
醫(yī)療、機器人等領域的工具
院校教學
將基于動手實踐的互動方法應用于教學中
基于真實數(shù)據(jù)測量進行算法設計
通過多核處理提高應用性能
部分應用如下所示
LabVIEW面向組件設計在礦井通風機在線監(jiān)測系統(tǒng)中的應用
LabVIEW在電站監(jiān)控系統(tǒng)中的應用
LabVIEW數(shù)控加工虛擬在線監(jiān)測系統(tǒng)
LabVIEW Modbus/TCP協(xié)議的自動在線監(jiān)控系統(tǒng)
LabVIEW在風力發(fā)電監(jiān)控系統(tǒng)的研究與應用
LabVIEW機器視覺在繼電器檢測系統(tǒng)中的應用
LabView在內鑲式滴灌管在線監(jiān)控系統(tǒng)中的應用
LabVIEW在原煤倉清堵機監(jiān)控系統(tǒng)中的應用
LabVIEW環(huán)境監(jiān)控系統(tǒng)
Labview開發(fā)船用振動噪聲故障監(jiān)測系統(tǒng)中
LabVIEW在電能質量監(jiān)測系統(tǒng)中的應用
LabVIEW在礦井水文監(jiān)控系統(tǒng)的應用
LabView開發(fā)無線節(jié)水監(jiān)控系統(tǒng)
LabVIEW智能控制與遠程監(jiān)控應用
LabVIEW 在物聯(lián)網(wǎng)發(fā)電設備遠程監(jiān)測系統(tǒng)的應用
通過LabVIEW實現(xiàn)高壓無功補償監(jiān)控系統(tǒng)
LabVIEW程序學習建議(具體可登錄www.bjcyck.com):
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的組件,
另外一本市圣經(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)系咨詢。
程序寫作建議:
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...等常常再不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.利用調整間距工具: 有各種調整間距的方法:平分、固定間距、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)圖,在閱讀他人的程序格外重要,可以從這個架構途中,了解整個項目架構和應用層面。
如果項目著急或者需要外包,推薦。他們從事LabVIEW開發(fā)十幾年,可以聯(lián)系咨詢。