LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測控系統(tǒng)B/S模式軟件設(shè)計(jì)
圖5.2是LabVIEW數(shù)據(jù)實(shí)時(shí)采集顯示界面,軟件的操作過程說明如下:
(1)AD通道校準(zhǔn)是指對(duì)采集板卡的計(jì)量校準(zhǔn),如果測得模擬量沒有在精度要求范圍內(nèi),軟件有自己校準(zhǔn)功能。
(2)參數(shù)設(shè)置界面是按照用戶的要求來配置一些參數(shù),比如說位移的起始點(diǎn)、終止點(diǎn)、步長等參數(shù)。
(3)測試界面如上圖5.2所示,也是軟件的主界面,但選擇好測試方式后,(硬件部分連接好的情況下)就開始了實(shí)時(shí)采集與顯示。對(duì)于采集的數(shù)據(jù),測試完畢后,點(diǎn)擊保存可以保存到Excel表中,也可以保存成特定格式的數(shù)據(jù),在將此數(shù)據(jù)倒到分析軟件中,進(jìn)行無償?shù)姆治?,從而可以進(jìn)行相應(yīng)的補(bǔ)償。但是對(duì)于工廠中大量的測試數(shù)據(jù)數(shù)據(jù)庫是首先存儲(chǔ)方式??梢岳肔abSQL方式向數(shù)據(jù)庫數(shù)據(jù)表添加記錄,假設(shè)數(shù)據(jù)表為位移Displacement表。具體步驟如下:
①建立與數(shù)據(jù)庫的連接。首先通過ADO Connection Create.vi創(chuàng)建一個(gè)Connection對(duì)象,然后利用ADO Connection Open.vi建立與數(shù)據(jù)庫的連接。數(shù)據(jù)庫由ADO Connection Open.vi的ConnectionString指定,此參數(shù)由前面板的字符串控件提供,如下圖5.3所示。
②生成SQL命令,執(zhí)行命令。在前面板table控件中輸入表名,Current和Error控件中輸入字段值。在程序框圖中使用Format Into String生成SQL命令,將它連接到ADO Connection Execute.vi即可執(zhí)行,同時(shí)可在前面板Command Text控件顯示此命令。
③斷開與數(shù)據(jù)庫之間的連接。利用ADOConnectionClose.vi關(guān)閉Connection對(duì)象,并使用ADO Connection Destroy.vi刪除Connection對(duì)象。(4)歷史數(shù)據(jù)回放界面,可以根據(jù)用戶需要,按照測試的日期時(shí)間打開所需要回放查詢的文件。數(shù)據(jù)回放界面繪制出的相應(yīng)歷史曲線如圖5.4所示。
在實(shí)時(shí)與歷史曲線顯示部分,趨勢曲線能夠形象清楚地描繪出現(xiàn)場數(shù)據(jù)在一段時(shí)間內(nèi)的分布趨勢,通過趨勢圖,操作員可以根據(jù)各個(gè)現(xiàn)場數(shù)據(jù)采集點(diǎn)的數(shù)據(jù)的變化趨勢看出各個(gè)量的變化情況,且能查看任何歷史時(shí)刻的數(shù)據(jù),供現(xiàn)場操作人員作出適當(dāng)?shù)奶幚怼?/span>
數(shù)據(jù)記錄監(jiān)控模塊DSC的應(yīng)用
(1)測控系統(tǒng)在上述功能的實(shí)現(xiàn)過程中,遇到了三個(gè)實(shí)際工程問題:
①監(jiān)控界面中現(xiàn)場數(shù)據(jù)顯示的速度慢,最慢達(dá)到5秒的延遲,很顯然這不符合工業(yè)現(xiàn)場過程控制實(shí)時(shí)性的要求。
②由于LabVIEW軟件本身不像FIX工控軟件一樣,帶有實(shí)時(shí)數(shù)據(jù)庫。當(dāng)系統(tǒng)比較小時(shí),即在控制點(diǎn)數(shù)少的情況下,實(shí)現(xiàn)監(jiān)控功能可以利用全局變量的概念,將監(jiān)視或控制的現(xiàn)場測量點(diǎn)都看作是全局變量,暫且稱它們?yōu)椤叭肿兞繋臁?。然后?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/LabVIEW">LabVIEW實(shí)現(xiàn)的各個(gè)功能看作是一個(gè)子程序,每一個(gè)子程序都是從全局變量庫中取數(shù)據(jù)或向里寫數(shù)據(jù)。也就是將這個(gè)“全局變量庫”看作是一個(gè)實(shí)時(shí)數(shù)據(jù)庫,現(xiàn)場每一個(gè)測量點(diǎn)都與庫中的參數(shù)一一對(duì)應(yīng)。這種方法在控制點(diǎn)數(shù)少的情況下還是可行的,但是,當(dāng)系統(tǒng)是大中型的情況即現(xiàn)場控制點(diǎn)數(shù)很多的時(shí)候,在實(shí)踐中發(fā)現(xiàn),使用全局變量的方法,不僅編程量大,而且數(shù)據(jù)查找起來沒有數(shù)據(jù)庫查找起來方便快捷,另外,全局變量一直是編程人員所盡量避免使用的方法。
③由于在實(shí)際的過程控制監(jiān)視中,要求各個(gè)界面之間來回的切換,實(shí)現(xiàn)界面的友好操作性。FIX監(jiān)控軟件通過編程有調(diào)用各個(gè)界面的函數(shù),可以方便的實(shí)現(xiàn)界面之間的切換。然而,在用LabvEIW實(shí)現(xiàn)界面之間切換的過程中,將上述的“全局變量庫”作在“數(shù)據(jù)總攬”的界面里,其它各個(gè)子程序(界面),例如,“實(shí)時(shí)和歷史曲線”、“歷史數(shù)據(jù)”、各個(gè)流程圖等,都是和它進(jìn)行數(shù)據(jù)交換。所以“數(shù)據(jù)總攬”子程序起著實(shí)時(shí)數(shù)據(jù)庫的作用,它在系統(tǒng)運(yùn)行的過程中不能被關(guān)閉,本課題是利用VI Sevrer技術(shù)使得“數(shù)據(jù)總攬”子程序在系統(tǒng)己開運(yùn)行時(shí)就以最小化的形式開始運(yùn)行,保證數(shù)據(jù)的實(shí)時(shí)性。但是,考慮到“歷史數(shù)據(jù)”和“歷史曲線”兩個(gè)子程序由于需要存取歷史數(shù)據(jù)的原因,而在系統(tǒng)運(yùn)行的過程中不能被關(guān)閉,所以也將它們始終處于最小化的狀態(tài)運(yùn)行。按照上述的做法,發(fā)現(xiàn)在系統(tǒng)運(yùn)行過程中,各個(gè)界面之間切換起來速度較慢,這不能充分滿足現(xiàn)場過程控制的實(shí)時(shí)性和可靠性的要求。(2)基于DSC模塊的問題解決方法
第一個(gè)問題,數(shù)據(jù)讀和寫的速度有明顯的差別。利用Datasocket技術(shù)編程實(shí)現(xiàn)數(shù)據(jù)的讀和寫,寫數(shù)據(jù)的速度卻很快。所以可能是編程中出現(xiàn)的數(shù)據(jù)緩沖或者程序中等待事件的發(fā)生執(zhí)行效率低的原因,決定數(shù)據(jù)顯示部分通過在前面板直接用Datasocket連接OPC服務(wù)器。結(jié)果數(shù)據(jù)顯示速度明顯達(dá)到幾百毫秒,滿足了實(shí)時(shí)要求。而且這種方法開發(fā)時(shí)間短,效率高。
干涉儀相關(guān)文章:干涉儀原理
評(píng)論