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