内江瓷蛋医疗科技有限公司

基于工控機的虛擬儀器軟件設計方案

當前位置:首頁(yè) >> 儀器儀表技術(shù)文章

基于工控機的虛擬儀器軟件設計方案

引 言

    系統以工控機為核心,輔以一定的外圍簡(jiǎn)單電路,通過(guò)GPIB、USB以及串行通信口,把現有的測量?jì)x器連接起來(lái),并通過(guò)編程人員開(kāi)發(fā)針對測量過(guò)程的控制軟件。測量者只需要把儀器與設備正確地連接起來(lái),向汁算機發(fā)出簡(jiǎn)單的操作指令就可以實(shí)現測量、數據分析、處理和記錄的全過(guò)程。

    1、作為COM 組件的測量?jì)x器

    在軟件開(kāi)發(fā)中,可以先將儀器設計成COM組件。儀器的功能在C()M組件設汁中要全部實(shí)現并給出相應的接口函數,在虛擬儀器軟件中通過(guò)調用這些組件來(lái)實(shí)現對具體儀器的操作。這樣,編程人員在開(kāi)發(fā)虛擬儀器控制軟件時(shí)可以把具體的儀器當成組件來(lái)對待,通過(guò)組件的各個(gè)函數來(lái)完成實(shí)際儀器的各個(gè)指令操作。這樣做不但容易對硬件可能出現的問(wèn)題進(jìn)行排錯,而且一旦硬件更新,開(kāi)發(fā)人員只需要作針對C0M的升級維護即可。

    以某型頻譜分析儀為例,設汁測量某信號在控壓變化范圍內的雜散值的過(guò)程:

    1) 首先調整頻譜儀到對數坐標系,并根據該信號的變化范圍設定頻譜儀的中心頻率及合適的帶寬以保證頻譜儀在控壓變化范圍內可以捕獲信號.這樣實(shí)現了測量雜散初始化的子過(guò)程;

    2) 在不同的控壓點(diǎn)讀取帶寬內信號主瓣外的所有信號,以最大的旁瓣值作為雜散值。為了避免信號的白噪聲影響雜散值的測量.采用同一控壓點(diǎn)測量若干組信號用軟件求平均的思路.平滑白噪聲引起的信號起伏,取平滑后的雜散值作為測量結果,這樣實(shí)現了測量當前信號雜散值的子過(guò)程。


圖1 雜散值測量流程圖

    該型頻譜儀在連續測量若干組信號求平均的過(guò)程中,相鄰兩組數據測量之間有一個(gè)工控機與頻譜儀通信的時(shí)間,這就削弱了信號的時(shí)間相關(guān)性,不利于平滑白噪聲。為了提高測量的準確性,引入了可以作均值測量的頻譜儀,工控機只需讀取均值測量后主瓣外的所有信號最大值作為當前信號雜散值即可。按上述思路重新設計頻譜儀COM組件,測量雜散值的過(guò)程還是按照上述的測量流程圖,虛擬儀器軟件調用更新后的組件,程序員甚至可以不用改虛擬儀器軟件中的一句源代碼。

    對同一信號改進(jìn)前后軟件測出的雜散值分別為-76.3dB和-78.2dB,而用標定設備測出的值為-78.51dB,改進(jìn)后軟件的測量值更加準確。

    2、采用Access數據庫作實(shí)時(shí)測量存檔

    在測量過(guò)程中,有時(shí)設備會(huì )因為突然斷電、計算機病毒發(fā)作等一系列不可預期的故障導致測量過(guò)程意外中斷,但此時(shí)用戶(hù)測量可能還沒(méi)有結束,也沒(méi)有大提交測量報表,而在系統內存中的數據將會(huì )全部丟失,這對用戶(hù)來(lái)說(shuō)是非常不利的,所以必須對用戶(hù)的所有測量結果做一個(gè)實(shí)時(shí)的數據庫備份。

    對用戶(hù)測量全過(guò)程進(jìn)行監控的數據庫采用全部?jì)却孀兞看鎯Φ姆绞,包括用?hù)的設定量、用戶(hù)的測量結果、用戶(hù)的操作步驟以及測量結果的自動(dòng)評判,都在數據庫中建立相應的字段。在用戶(hù)進(jìn)行虛擬儀器操作時(shí)。每新測量一個(gè)產(chǎn)品都會(huì )以用戶(hù)填入的產(chǎn)品編號及測量時(shí)間新建一條測量記錄,操作過(guò)程中實(shí)時(shí)地把用戶(hù)的操作及結果同步提交到數據庫中,只有當用戶(hù)全部測量完畢并保存報表之后,該條記錄才被刪除,否則記錄予以保留,留下來(lái)的某條記錄即為某個(gè)非正常退出系統的實(shí)時(shí)測量存檔,這就是系統實(shí)時(shí)測量存檔的過(guò)程。當用戶(hù)下一次打開(kāi)虛擬儀器軟件時(shí),軟件會(huì )自動(dòng)加載該數據庫,如果數據庫存在數據記錄,則在加載操作界面之后會(huì )提示用戶(hù)有以前未完成的任務(wù),讓用戶(hù)選擇是繼續未完成的任務(wù)還是刪除某次不全的測試記錄,如果選擇繼續則會(huì )給出未完成任務(wù)列表,讓用戶(hù)選擇開(kāi)始某一次未完成的任務(wù),用戶(hù)選擇后會(huì )自動(dòng)把數據庫里對應的值恢復到虛擬儀器操作界面,恢復某一次意外狀態(tài)前的結果,這樣通過(guò)系統的問(wèn)詢(xún)及用戶(hù)的選擇,實(shí)現了加載測量存檔的過(guò)程。當然,如果用戶(hù)也可以選擇刪除某些不全但不想保留的測試記錄,對存檔數據庫進(jìn)行清理,同樣也可以選擇全新測量,開(kāi)始新的操作。

    虛擬儀器軟件的工作流程如圖2所示。


圖2 以數據庫為核心的軟件工作流程圖

    3、系統性能評價(jià)

    采用本文的方案,使用VB.NET程序設計語(yǔ)言開(kāi)發(fā)的虛擬儀器軟件成功的應用在某產(chǎn)品的指標測量上。整套系統研發(fā)周期短、維護簡(jiǎn)單方便。而“實(shí)時(shí)測量存檔”在軟件內部異常保護的基礎上又增加了一個(gè)抵御外部突發(fā)事件的能力,有效地保護了測量數據。每一個(gè)產(chǎn)品測量所需時(shí)間僅為原先人工用儀器測量的1/3~1/4(不包括后期的數據處理時(shí)間),極大地提高了生產(chǎn)效率。而整個(gè)系統的開(kāi)發(fā)成本非常低,所有的測量?jì)x器都是利用現有的設備,硬件的投入只是一臺工控機和GPIB轉接卡及一些電纜。電力分析儀| 諧波分析儀| 發(fā)生器| 多用表| 驗電筆| 示波表| 電流表| 鉤表| 測試器| 電力計| 電力測量?jì)x| 光度計| 電壓計| 電流計|

發(fā)布人:2010/7/24 9:26:00841 發(fā)布時(shí)間:2010/7/24 9:26:00 此新聞已被瀏覽:841次