基于B/S模式的數(shù)控機床網(wǎng)絡(luò)測控系統(tǒng)軟件設(shè)計
?、蹟嚅_與數(shù)據(jù)庫之間的連接。利用ADO Connection Close.vi關(guān)閉Connection對象,并使用ADO Connection Destroy.vi刪除Connection對象。
(4)歷史數(shù)據(jù)回放界面,可以根據(jù)用戶需要,按照測試的日期時間打開所需要回放查詢的文件。數(shù)據(jù)回放界面繪制出的相應歷史曲線如圖1.4所示。
在實時與歷史曲線顯示部分,趨勢曲線能夠形象清楚地描繪出現(xiàn)場數(shù)據(jù)在一段時間內(nèi)的分布趨勢,通過趨勢圖,操作員可以根據(jù)各個現(xiàn)場數(shù)據(jù)采集點的數(shù)據(jù)的變化趨勢看出各個量的變化情況,且能查看任何歷史時刻的數(shù)據(jù),供現(xiàn)場操作人員作出適當?shù)奶幚怼?P> 1.1.3數(shù)據(jù)記錄監(jiān)控模塊DSC的應用
?。?)測控系統(tǒng)在上述功能的實現(xiàn)過程中,遇到了三個實際工程問題:
?、俦O(jiān)控界面中現(xiàn)場數(shù)據(jù)顯示的速度慢,最慢達到5秒的延遲,很顯然這不符合工業(yè)現(xiàn)場過程控制實時性的要求。
?、谟捎贚abVIEW軟件本身不像FIX工控軟件一樣,帶有實時數(shù)據(jù)庫。當系統(tǒng)比較小時,即在控制點數(shù)少的情況下,實現(xiàn)監(jiān)控功能可以利用全局變量的概念,將監(jiān)視或控制的現(xiàn)場測量點都看作是全局變量,暫且稱它們?yōu)椤叭肿兞繋臁?然后把LabVIEW實現(xiàn)的各個功能看作是一個子程序,每一個子程序都是從全局變量庫中取數(shù)據(jù)或向里寫數(shù)據(jù)。也就是將這個“全局變量庫”看作是一個實時數(shù)據(jù)庫,現(xiàn)場每一個測量點都與庫中的參數(shù)一一對應。這種方法在控制點數(shù)少的情況下還是可行的,但是,當系統(tǒng)是大中型的情況即現(xiàn)場控制點數(shù)很多的時候,在實踐中發(fā)現(xiàn),使用全局變量的方法,不僅編程量大,而且數(shù)據(jù)查找起來沒有數(shù)據(jù)庫查找起來方便快捷,另外,全局變量一直是編程人員所盡量避免使用的方法。
?、塾捎谠趯嶋H的過程控制監(jiān)視中,要求各個界面之間來回的切換,實現(xiàn)界面的友好操作性。FIX監(jiān)控軟件通過編程有調(diào)用各個界面的函數(shù),可以方便的實現(xiàn)界面之間的切換。然而,在用LabvEIW實現(xiàn)界面之間切換的過程中,將上述的“全局變量庫”作在“數(shù)據(jù)總攬”的界面里,其它各個子程序(界面),例如,“實時和歷史曲線”、“歷史數(shù)據(jù)”、各個流程圖等,都是和它進行數(shù)據(jù)交換。所以“數(shù)據(jù)總攬”子程序起著實時數(shù)據(jù)庫的作用,它在系統(tǒng)運行的過程中不能被關(guān)閉,本課題是利用VI Sevrer技術(shù)使得“數(shù)據(jù)總攬”子程序在系統(tǒng)己開運行時就以最小化的形式開始運行,保證數(shù)據(jù)的實時性。但是,考慮到“歷史數(shù)據(jù)”和“歷史曲線”兩個子程序由于需要存取歷史數(shù)據(jù)的原因,而在系統(tǒng)運行的過程中不能被關(guān)閉,所以也將它們始終處于最小化的狀態(tài)運行。按照上述的做法,發(fā)現(xiàn)在系統(tǒng)運行過程中,各個界面之間切換起來速度較慢,這不能充分滿足現(xiàn)場過程控制的實時性和可靠性的要求。
?。?)基于DSC模塊的問題解決方法
第一個問題,數(shù)據(jù)讀和寫的速度有明顯的差別。利用Datasocket技術(shù)編程實現(xiàn)數(shù)據(jù)的讀和寫,寫數(shù)據(jù)的速度卻很快。所以可能是編程中出現(xiàn)的數(shù)據(jù)緩沖或者程序中等待事件的發(fā)生執(zhí)行效率低的原因,決定數(shù)據(jù)顯示部分通過在前面板直接用Datasocket連接OPC服務(wù)器。結(jié)果數(shù)據(jù)顯示速度明顯達到幾百毫秒,滿足了實時要求。而且這種方法開發(fā)時間短,效率高。
用LabVEIW能夠初步實現(xiàn)數(shù)據(jù)采集、顯示和存儲等功能的前提下,考慮到NI公司推出的LabVIEW一附加模塊--數(shù)據(jù)記錄監(jiān)控模塊DSC(Datalogging and Superviosry Control Module),此模塊是專為過程控制而設(shè)計開發(fā)的,是專用于輕松設(shè)計和維護分布式監(jiān)控系統(tǒng)的理想軟件工具。利用這個模塊可以很方便地完成與設(shè)備的連接,包括LabVEIW實時目標模塊和OPC設(shè)備。從系統(tǒng)概覽到節(jié)點執(zhí)行,該模塊提供了內(nèi)置式的開發(fā)工具,來成功記錄數(shù)據(jù)、警報和事件;顯示生產(chǎn)數(shù)據(jù)隨時間變化的趨勢;同時還可通過網(wǎng)絡(luò)數(shù)據(jù)庫,利用SQL/ODBC標準查詢從中提取數(shù)據(jù)。該模塊的應用增強了搜索和提取數(shù)據(jù)的靈活性,提高了數(shù)據(jù)記錄的可靠性和保護能力 .
相比其它附加模塊,DSC模塊有以下六個特點:內(nèi)置的網(wǎng)絡(luò)開發(fā)工具;用于實現(xiàn)數(shù)據(jù)共享和與第三方設(shè)備結(jié)合;應用的安全性設(shè)置;針對分布式監(jiān)控的開發(fā)工具;用于分布式數(shù)據(jù)記錄的網(wǎng)絡(luò)數(shù)據(jù)庫;實時和歷史趨勢曲線。
?。?)“LabVEIW+DSC”相結(jié)合運用“LabVEIW+DSC”相結(jié)合,軟件體系結(jié)構(gòu)圖如圖1.5所示。
為提高系統(tǒng)的開放性,選用了“LabVIEW+OPC”的設(shè)計方法。就是用LabVIEW作為上位機監(jiān)控軟件,采用先進的網(wǎng)絡(luò)通信技術(shù)--DataSocket技術(shù),通過OPC服務(wù)器接口來實現(xiàn)現(xiàn)場數(shù)據(jù)共享。這里采用的OPC服務(wù)器是Matrikon公司研發(fā)的,它作為一中間橋梁,實現(xiàn)了監(jiān)控軟件LabVIEW和現(xiàn)場智能組件之間的數(shù)據(jù)通信,通過OPC配置項建立與底層設(shè)備的數(shù)據(jù)采集點的一一對應關(guān)系。如下圖1.6所示:
圖1.6是OPC服務(wù)器的配置,其中項名Name是用戶自己定義的對應于現(xiàn)場的數(shù)據(jù)采集點,Item Path必須符合OPC服務(wù)器與MODBUS協(xié)議的語法要求,即“[port].Device. 0~4:”,同時設(shè)置該項是讀數(shù)據(jù)還是寫數(shù)據(jù)以及數(shù)據(jù)的類型、更新時間等等 .
LabVIEW訪問OPC的方法有很多種,本文采用的是通過DSC模塊中Tag Configuration Editor引擎,建立LabVIEW和OPC服務(wù)器的連接。DSC模塊使用Tag連接OPC數(shù)據(jù)項,通過Tag Configuration Editor,可以將DSC的Tag與OPC數(shù)據(jù)項對應起來,生成。scf文件,相當于LabVIEW的實時數(shù)據(jù)庫,如圖1.7所示
干涉儀相關(guān)文章:干涉儀原理
評論