基于LabVIEW的數(shù)控機床網(wǎng)絡(luò)測控系統(tǒng)--基于B/S模式的軟件設(shè)計 2
當(dāng)DSC引擎運行起來以后,它就開始記錄數(shù)據(jù)、事件、錯誤等,并將數(shù)據(jù)記錄到暫且稱之為“大本營數(shù)據(jù)庫”里,即運行的程序都是從“大本營數(shù)據(jù)庫”里取數(shù)據(jù)或發(fā)送數(shù)據(jù)。可以看到,在程序運行的過程中,通過DSC引擎在LabVIEW和OPC服務(wù)器之間傳遞著數(shù)據(jù),發(fā)揮著中間橋梁的作用。DSC模塊的運用,使得界面之間的切換更加友好化;并通過設(shè)置標(biāo)簽的配置的更新速度、刷新頻率等成功解決了數(shù)據(jù)更新速度慢、界面之間切換慢的問題,保證了控制的實時性和可靠性等要求。
(4)報表生成和實時與歷史曲線顯示
現(xiàn)場采集來的數(shù)據(jù)可以以報表的形式輸出到Execl表格中,以供存儲與瀏覽。然而,LabVIEW本身沒有強大的實時數(shù)據(jù)庫,只有通過DSC模塊生成的。scf文件來記錄數(shù)據(jù)并存入歷史數(shù)據(jù)庫,但是它是根據(jù)記錄死區(qū)log Deadband所定義的偏差來記錄數(shù)據(jù)的,而不是根據(jù)時間記錄的,只有當(dāng)數(shù)據(jù)的變化超出偏差時才記錄,因此,會導(dǎo)致在生成報表時數(shù)據(jù)和時間不對應(yīng)。鑒于上述原因,一般通過編程來實現(xiàn)會比較好。
編程如下:先將要求記錄的標(biāo)簽Tag的值按照時間間隔(如1小時)寫入一個表(如控件Table),然后再根據(jù)要求記錄的數(shù)據(jù)個數(shù)(如24個)將Table的記錄數(shù)據(jù)寫入Excel中,并將Table清空。這種方法只要求用戶定義報表輸出周期和數(shù)據(jù)輸出的周期即可。
例如:要求每小時記錄一個數(shù)據(jù),每天生成一個報表,就可以只設(shè)定數(shù)據(jù)輸出的周期1小時,數(shù)據(jù)的個數(shù)24個即可。到目前為止,此種方法在現(xiàn)場控制中應(yīng)用效果非常好。
尤其在編程過程中,調(diào)用了LabVIEW中的兩個子VI:Generate Unique Filename.vi(用來指示報表的路徑及時間)和Array to HTML Table.vi(用于生成報表的格式),使得流程圖的編譯更簡單、簡潔,并增加了軟件的可復(fù)用性。具體數(shù)據(jù)存儲及報表生成程序和報表生成界面如圖5.8和圖5.9所示。
在實現(xiàn)實時曲線時,調(diào)用了DSC模塊提供的Trend Tags.vi,該子VI的輸入為標(biāo)簽(Tag)和時間長度,可以通過編程來實現(xiàn)X、Y軸顯示的數(shù)據(jù)范圍的大?。粚崿F(xiàn)歷史曲線時,調(diào)用DSC模塊提供的Read Treace.vi,通過Historical Trend控件可以查看任意歷史時刻的采集的數(shù)據(jù),通過選擇不同的現(xiàn)場采集點,X、Y軸的量程范圍也隨之變化。
5.2基于B/S模式的網(wǎng)絡(luò)測控系統(tǒng)遠程測控界面
本文中的數(shù)控機床網(wǎng)絡(luò)化測控系統(tǒng)的通信部分,在前端可以選擇工業(yè)以太網(wǎng)總線,傳入到下位機測控服務(wù)器,服務(wù)器端安裝有LabVIEW的軟件,在服務(wù)器上可以對數(shù)據(jù)分析處理、存儲,遠程的WEB客戶端可以通過瀏覽Web網(wǎng)頁形式,觀察現(xiàn)場的實時采集情況。遠程控制平臺中選中你要進行服務(wù)的設(shè)備名稱和服務(wù)內(nèi)容,再按提交任務(wù),就可以把你的任務(wù)請求通過Web Server下傳到數(shù)據(jù)庫服務(wù)器,硬件服務(wù)器對它進行響應(yīng),然后把這個請求傳給下位機測控服務(wù)器數(shù)據(jù)測試平臺,然后啟動數(shù)控機床,調(diào)出相應(yīng)的程序代碼,測試儀對數(shù)控機床進行數(shù)據(jù)采集,同時通過總線技術(shù)把實時采集的數(shù)據(jù)上傳到下位機測控服務(wù)器,下位機測控服務(wù)器取出數(shù)據(jù)供數(shù)據(jù)平臺軟件進行進一步的分析處理,并把結(jié)果放在數(shù)據(jù)庫里面,供遠程客戶回放查看。
評論