基于LabVIEW的數控機床網絡測控系統--基于B/S模式的軟件設計 (二)
在Analog Tag Configuration的Connect目錄下的Item與OPC服務器的項名進行匹配,并對Tag進行了詳細的描述,如OPC服務器,工程量的范圍,報警的上下限,更新的死區等等。在運行時,標簽引擎Tag Engine會根據。scf文件的配置建立與OPC服務器的連接。當OPC服務器與。scf文件配置好以后,可以在LabVIEW的前面板上通過Numeric Control,Numeric Indicator控件讀寫現場采集的數據,Numeric Control,Numeric Indicator控件通過人機向導HMI Wizard For Analog Control與。scf文件Tag進行匹配,并自動默認控件的Lable為與之對應的OPC配置所對應的項名。
本文引用地址:http://www.104case.com/article/270599.htm當DSC引擎運行起來以后,它就開始記錄數據、事件、錯誤等,并將數據記錄到暫且稱之為“大本營數據庫”里,即運行的程序都是從“大本營數據庫”里取數據或發送數據。可以看到,在程序運行的過程中,通過DSC引擎在LabVIEW和OPC服務器之間傳遞著數據,發揮著中間橋梁的作用。DSC模塊的運用,使得界面之間的切換更加友好化;并通過設置標簽的配置的更新速度、刷新頻率等成功解決了數據更新速度慢、界面之間切換慢的問題,保證了控制的實時性和可靠性等要求。
(4)報表生成和實時與歷史曲線顯示
現場采集來的數據可以以報表的形式輸出到Execl表格中,以供存儲與瀏覽。然而,LabVIEW本身沒有強大的實時數據庫,只有通過DSC模塊生成的。scf文件來記錄數據并存入歷史數據庫,但是它是根據記錄死區log Deadband所定義的偏差來記錄數據的,而不是根據時間記錄的,只有當數據的變化超出偏差時才記錄,因此,會導致在生成報表時數據和時間不對應。鑒于上述原因,一般通過編程來實現會比較好。
編程如下:先將要求記錄的標簽Tag的值按照時間間隔(如1小時)寫入一個表(如控件Table),然后再根據要求記錄的數據個數(如24個)將Table的記錄數據寫入Excel中,并將Table清空。這種方法只要求用戶定義報表輸出周期和數據輸出的周期即可。
例如:要求每小時記錄一個數據,每天生成一個報表,就可以只設定數據輸出的周期1小時,數據的個數24個即可。到目前為止,此種方法在現場控制中應用效果非常好。
尤其在編程過程中,調用了LabVIEW中的兩個子VI:Generate Unique Filename.vi(用來指示報表的路徑及時間)和Array to HTML Table.vi(用于生成報表的格式),使得流程圖的編譯更簡單、簡潔,并增加了軟件的可復用性。具體數據存儲及報表生成程序和報表生成界面如圖5.8和圖5.9所示。
在實現實時曲線時,調用了DSC模塊提供的Trend Tags.vi,該子VI的輸入為標簽(Tag)和時間長度,可以通過編程來實現X、Y軸顯示的數據范圍的大小;實現歷史曲線時,調用DSC模塊提供的Read Treace.vi,通過Historical Trend控件可以查看任意歷史時刻的采集的數據,通過選擇不同的現場采集點,X、Y軸的量程范圍也隨之變化。


評論