基于PCL-818HG的損傷測試系統(tǒng)的設(shè)計(jì)
摘 要:為了對遭受火災(zāi)損傷后的混凝土結(jié)構(gòu)進(jìn)行修復(fù)和加固。必須對其損傷特性參數(shù)進(jìn)行測試和診斷。采用PCL-818HG數(shù)據(jù)采集卡和Visual C++6.O開發(fā)了混凝土結(jié)構(gòu)損傷測試系統(tǒng)??梢詫?shí)時(shí)測量荷載、位移、應(yīng)變及加速度等損傷特性參數(shù)。實(shí)際運(yùn)行證明:該方法方便、快捷、可靠,對PCI-818HG應(yīng)用于其他領(lǐng)域的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)也有較高的參考價(jià)值。
關(guān)鍵詞:PCL-818HG; Visual C++6.0: 結(jié)構(gòu)損傷: 數(shù)據(jù)采集
1 引言
為了對火災(zāi)結(jié)構(gòu)進(jìn)行經(jīng)濟(jì)有效的修復(fù)加固.首先必須對結(jié)構(gòu)進(jìn)行損傷診斷。由于現(xiàn)代建筑的特點(diǎn)(結(jié)構(gòu)復(fù)雜化、高層化、裝飾多樣化、火災(zāi)荷載大及通風(fēng)量大等).火災(zāi)持續(xù)時(shí)間較長,火災(zāi)中灼熱的混凝土在消防隊(duì)滅火時(shí)還受到消防水泵高壓水的沖擊,因此,一般混凝土結(jié)構(gòu)在火災(zāi)中損失得較嚴(yán)重,且在升溫或急速降溫時(shí)還可能產(chǎn)生裂縫和爆裂。這些結(jié)構(gòu)的實(shí)際損傷程度和修復(fù)可能性需經(jīng)綜合、科學(xué)的評價(jià)后才能確定。為了確?;馂?zāi)混凝土修復(fù)工程的可靠性和經(jīng)濟(jì)性,快速科學(xué)地對遭受高溫?fù)p傷的建筑物進(jìn)行檢測鑒定和評估是工程實(shí)踐中迫切需要解決的問題。為此,筆者采用研華的PCL-818HG型多通道高增益數(shù)據(jù)采集卡.基于Visual C++6.0編寫程序,開發(fā)了混凝土結(jié)構(gòu)損傷測試系統(tǒng),測試火災(zāi)后混凝土的各種參數(shù),為其修復(fù)工程提供了科學(xué)、可靠的原始數(shù)據(jù),從而可減輕損失,縮短修復(fù)周期。
2 系統(tǒng)硬件
2.1 硬件特性
數(shù)據(jù)采集使用的是PCI-818HG型數(shù)據(jù)采集卡.該卡是用于PC/XT/AT的高增益、高性能多功能數(shù)據(jù)采集卡。它提供了5種理想的測量和控制函數(shù).并有12位A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器.最大MD采樣頻率可達(dá)100 kHz,具有數(shù)字量輸入、數(shù)字量輸出以及可編程計(jì)時(shí)/計(jì)數(shù)功能。此卡內(nèi)置一個(gè)工業(yè)標(biāo)準(zhǔn)的12位連續(xù)轉(zhuǎn)換器,轉(zhuǎn)換模擬輸入。板上1 K字節(jié)的FIFO數(shù)據(jù)緩沖器提供了在Windows系統(tǒng)下高速的數(shù)據(jù)傳輸性能。自動通道掃描電路和板上的SRAM可以用DMA或者在每個(gè)通道不同增益的情況下進(jìn)行多通道A/D轉(zhuǎn)換。該卡的數(shù)據(jù)采集可以采用查詢方式、中斷方式和DMA方式。查詢方式和中斷方式往往會浪費(fèi)大量的CPU時(shí)間,難以滿足實(shí)時(shí)要求.只有DMA方式采集數(shù)據(jù)最快。在DMA方式中采用的是雙數(shù)據(jù)緩沖技術(shù)。當(dāng)采集卡進(jìn)行MD數(shù)據(jù)轉(zhuǎn)換時(shí).程序仍然可以訪問采集的數(shù)據(jù)。一般來說A/D轉(zhuǎn)換可以在后臺來完成.而數(shù)據(jù)可以通過DMA控制器傳送到內(nèi)存中,從而節(jié)省CPU的時(shí)間,滿足實(shí)時(shí)測控的要求。本系統(tǒng)采用的是。DMA方式。采集速度由軟件設(shè)定為內(nèi)部觸發(fā)。采集步頻Pacel=2 MHz/(10x100)=2 kHz。通道選擇由驅(qū)動程序依次掃描采集卡的模擬輸人通道。采集通道、測量過程設(shè)置的程序結(jié)構(gòu)與此類同。不再贅述。
在數(shù)據(jù)采集系統(tǒng)中。PCL-818HG卡是外界電信號與計(jì)算機(jī)之間的橋梁。它把從外界獲取的各種電信號轉(zhuǎn)換為統(tǒng)一的數(shù)字信號傳遞給計(jì)算機(jī)。并接收計(jì)算機(jī)傳送的數(shù)字或控制信號,將模擬或數(shù)字信號傳遞給外設(shè)。其過程如圖1所示。
圖1從左到右的過程即為數(shù)據(jù)采集過程.是由PCL-818HG卡的A/D轉(zhuǎn)換器完成的。PCL-818HG卡有16個(gè)模擬量輸入通道.可構(gòu)成16路單端輸入或8路差分輸入。最大A/D采樣頻率可達(dá)100 kHz。另外。PCL-818HG還具有一個(gè)用于讀取微弱輸入信號的高增益可編程放大器.無需外部信號放大器就能獲得微弱的輸入信號.可對每個(gè)輸入通道的增益進(jìn)行編程設(shè)置。.PCL-818HG不同輸入方式的增益如表1所示。
2.2 數(shù)據(jù)采集系統(tǒng)
基于PCL-818HG型數(shù)據(jù)采集卡的火災(zāi)后混凝土結(jié)構(gòu)損傷測試系統(tǒng)主要測量火災(zāi)后混凝土結(jié)構(gòu)的荷載、位移、應(yīng)變及加速度等參數(shù).為其修復(fù)工程提供科學(xué)可靠的原始數(shù)據(jù)。PCL一818HG內(nèi)部框圖及其擴(kuò)展框圖如圖2所示。PCL-818HG通過PCLD-8115型端子板外接各種能夠測量火災(zāi)后混凝土結(jié)構(gòu)損傷參數(shù)的傳感器.它與上位機(jī)PC相連.通過控制界面控制各個(gè)采集通道并顯示各種實(shí)時(shí)采集的數(shù)據(jù)。數(shù)據(jù)采集系統(tǒng)框圖如圖3所示。
2.3 高速數(shù)據(jù)采集系統(tǒng)的工作過程
高速數(shù)據(jù)采集系統(tǒng)的工作過程分為“初始化”、“高速采集”和“數(shù)據(jù)處理”。“初始化”通過在控制界面上手動設(shè)置各種硬件參數(shù)來完成;“高速采集”為軟件核心部分.整個(gè)采集過程均在內(nèi)存中通過上位機(jī)PC與采集前端PCL-818HG之間的高速交互通信實(shí)現(xiàn).采集周期可達(dá)1 ms以下;“數(shù)據(jù)處理”分預(yù)處理和后處理。預(yù)處理由采集卡預(yù)處理功能完成,后處理要根據(jù)傳感器參量間的關(guān)系和方程來實(shí)現(xiàn)。
3 軟件設(shè)計(jì)
3.1 軟件開發(fā)環(huán)境
利用PCL-818HG進(jìn)行Windows應(yīng)用程序開發(fā)有以下3種方法。
(1)利用“研華”光盤中附帶的GeniDAQ Devel-opment開發(fā)環(huán)境。這是研華公司針對PCL系列板提供的標(biāo)準(zhǔn)開發(fā)環(huán)境.其優(yōu)點(diǎn)是針對性強(qiáng),其缺點(diǎn)為不是通用的開發(fā)環(huán)境.程序移植性較差;
(2)由用戶自行開發(fā)針對底層硬件的驅(qū)動程序。這種方法靈活性最大.代碼執(zhí)行效率也高,可以充分發(fā)揮硬件的性能,但是要求開發(fā)者具有相當(dāng)?shù)挠?jì)算機(jī)軟、硬件設(shè)計(jì)水平;
(3)采用通用的開發(fā)環(huán)境(Visual Studio、Delphi等).調(diào)用“研華”提供的標(biāo)準(zhǔn)動態(tài)鏈接庫文件和第三方制作的AetiveX控件。采用這種方法可以在一定程度上降低程序開發(fā)難度.具有較高的靈活性和更好的可移植性。因此,在實(shí)際中較多采用的是第三種開發(fā)方法。本系統(tǒng)使用Visual c++6.0語言編程。
PCL一818HG提供了一個(gè)基于Windows的標(biāo)準(zhǔn)開發(fā)環(huán)境.還提供了標(biāo)準(zhǔn)Windows動態(tài)鏈接庫文件。動態(tài)鏈接庫DLL是一種基于Windows的程序模塊.它是在運(yùn)行時(shí)被裝入和連接的。動態(tài)鏈接庫中只包含應(yīng)用程序運(yùn)行時(shí)裝入該DLL的有關(guān)信息,并非是源代碼的復(fù)制.因此使用動態(tài)鏈接庫可以使多個(gè)應(yīng)用程序之間共享代碼和資源.提高運(yùn)行速率。研華公司的“Advanteeh DLL Driver”軟件支持PCL一818HG等多種型號板卡的設(shè)備驅(qū)動,它提供了“ad-sapi32ldll”動態(tài)鏈接庫。其中包含一系列能對PCL一818HG相關(guān)地址進(jìn)行讀寫操作的函數(shù)。Visual C++6.0能夠像使用Visual C++6.0自身的函數(shù)一樣調(diào)用這些DLL函數(shù)。
3.2 動態(tài)鏈接庫DLL
Advanteeh DLL都有如下共同的形式:
status=FUNCTION—Name(arameter 1,param-eter 2……parameter n)
當(dāng)n≥0時(shí).每一個(gè)函數(shù)在各種不同的狀態(tài)下返回一個(gè)值.如表2所示。暗示函數(shù)執(zhí)行成功與否。
3.3 軟件設(shè)計(jì)
綜上所述,Visual C++6.0環(huán)境下,通調(diào)用動態(tài)鏈接庫中的函數(shù)很容易對硬件設(shè)備進(jìn)行底層I/O口操作。程序流程圖如圖4所示。
4 結(jié)束語
相對于傳統(tǒng)的使用單片機(jī)開發(fā)的數(shù)據(jù)采集系統(tǒng)而言.采用PCL一818HG型數(shù)據(jù)采集板可以降低開發(fā)難度,縮短周期,明顯提高采樣頻率和速度。以Visual C++6.0作為軟件開發(fā)平臺??梢猿浞掷肰isual C++6.0界面友好的優(yōu)勢和PCL一818HG豐富的資源.在短時(shí)間內(nèi)開發(fā)出功能強(qiáng)大的數(shù)據(jù)采集系統(tǒng)軟件。PCL一818HG提供給用戶很大的開發(fā)自由度和靈活性.且能在很大程度上兼容不同數(shù)據(jù)采集對象的特性.實(shí)現(xiàn)一個(gè)系統(tǒng)的重復(fù)利用。