完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 624542931 于 2014-12-12 16:38 编辑
在開篇前簡單說明一下,本人從事散熱行的研發,研發意味著探究未知領域的東西,並把這個東西應用于現實。由於未知,化解未知最直接有效的方法就是用一系列基礎實驗來瞭解這個東西。這就意味著研發有很多實驗要做,但讓一個研發工程師呆在實驗室做實驗是一件很奢侈的事情,工程師應該是設計實驗與分析數據。所以,labview進入我們『流體力學實驗室』。LabVIEW用在研發實驗室主要需滿足兩個必要條件:1、由於實驗多,則必須可以快速搭建測試系統。2、實驗數據必須準確性高。今天就和大家結合自己的開發經歷探討第一個問題:如何快速搭建測控系統。(由於源程序涉及公司機密,故不會透露) 設計框架 由於程序均並非特別大型的程序(大約100個子VI),故採用至上而下的程序設計框架,我幾乎所有程序均是按以下思路設計的。 看到這張圖可能會有些空洞,下面就結合我的一個開發實例來簡單說明。 發該應用程序主要是實現熱管(大多筆電或高配PC里的銅管)最大功率自動量測。用到的外設有溫度採集模塊(PICO-tc08)、程控電源(PSP603)和自製的TEC(ThermoElectric Cooler)控制電路。測試示意圖如下所示: 需求: 1、 採集8~16個溫度點 2、 蒸發段(Evaporator)的加熱片從初始功率不斷增加/減少功率到熱管的極限傳熱功率。 3、 冷凝段(Condenser)加熱或製冷控制Evaporator ~Condenser的中點T5處於60±1℃。 4、 記錄各個功率達到穩態后的數據并輸出測試結果 綜上需求結合上述程序設計框架,以下分步解析: 測試前: 程序初始化:包括開啟動畫、將部份VI載入內存 讀取歷史參數:本程序需設定約20個參數,如果每次打開程序都要去設定一番,這肯定不是一個好方案。故採用一個文本文件保存最後一次設定的參數,每次打開程序時將其讀取出來對號入座。 參數偵錯:舉個簡單例子,我需要設定初始輸出功率50W,但不小心多按了個0,變成了500W,這樣大的一個功率幾十秒就可能燒壞我的加熱塊。因此得在參數設定完需判定是否在需求範圍之內 (如0~100),這種方法能解決問題,但參數繁多,每個參數範圍不一樣,有些是數值、有些為字符串。那麼就需要在每個參數後面加一個判定程序,使得程序繁雜。在此,介紹另外一種方法,用XControl實現參數偵錯。以數值為例。 在XControl中插入快捷菜單項【Setting Range】 點擊進入Setting Range進入密碼驗證窗口(防止操作人員修改或誤點) 密碼正確后進入設定介面,包括最大最下值及缺省值。 點擊Finish退出后,將該空間的值設定為101,則會彈出窗口提示,并將其值設定為缺省值。 測試中 清空歷史數據:清空上一次測試的數據,即完成一個產品測試后,程序中還保存有本次測試的數據,在測試下個產品前,是可以在前面板的表格控件或圖表控件中查看這些數據的。 外設初始化:這裡包含接口錯誤檢測程序,當無法與外設通信時,將返回自定義錯誤。通信無誤則初始化外部設備、準備測試。 1、 PICO-TC08溫度採集模塊:為簡化程序,用其採集模塊自帶的軟件,然後通過DDE(Dynamic DataExchange)讀取該軟件的數據。 2、程控電源PSP603:向程控電源發送數據并讀取其狀態,無數據返回則報錯端口連接有誤 3、TEC溫控模塊:自製的溫控模塊是以AVR單片機為控制核心,輸出兩路PWM波控制H橋的一塊小電路。PC發送啟動指令,單片機接收到指令后對其外設進行初始化完成后返回啟動完成信號。PC未接收到啟動完成信號則會報錯。 測試:在我所寫的測控程序中,均採用生產者消費者架構。這裡是程序的核心,對於應用程序實現的功能不同,消費者循環里的程序會大不相同,而程序的其他部份則變動不大。其中還包括保存TDMS檔的歷史數據。 測試后: 輸出報表:輸出報表的工作沒有多大難度,但相當繁瑣。故我所設計的應用程序均是採用填寫Excel報表模板的方法輸出報表,這種方法可製作較為美觀的報表。填寫報表無非插入圖片,插入數組、插入字符串、繪製圖表。最後再設定字體、顏色、大小。設計諸多SubVIs來實現上述功能,每次調用即可。 報表模板如下: 輸出的測試報表: 關閉外設:關閉程控電源及TEC控制模塊輸出輸出,在此最好確認關閉后再返回等待下個產品測試。 用戶介面控制程序:處理用戶事件,及while循環+event結構。當然程序還得包含打開歷史數據的功能。 綜上,我所設計用於不同測試的應用程序其用戶介面相似(直接Copy原有介面做簡單修改)、實驗室所用的儀器也都寫好底層驅動程序(新增一台儀器就對著說明書寫一套對應的驅動程序,況且很多儀器會提供DLL供調用)、輸出報表也集成了諸多子VI供自己調用(一勞永逸)。重新設計一個應用程序,只需要將生產者消費者架構里的程序、算法改一改就OK了。所以,每個人針對自己的行業需求,設計一套屬於屬於自己的SubVIs和XControl是非常有必要的。 篇幅很短,內容片面,諸多細節問題歡迎討論、指正,多謝! 评分
|
||
相关推荐
4 个讨论
|
||
版主啊版主 终于等到你了,感动啊!在这周五之际,能看到你的分享
|
|
|
|
|
|
|
|
|
|
|
|
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 21:16 , Processed in 0.661807 second(s), Total 69, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号