儀表網(wǎng)手機版
手機訪問更快捷
儀表網(wǎng)小程序
更多流量 更易傳播
公眾號:ybzhan
隨時掌握行業(yè)動態(tài)
掃碼關(guān)注視頻號
網(wǎng)絡(luò)課堂 行業(yè)直播
針對渦輪流量計高精度采集器,設(shè)計相應(yīng)的遠程監(jiān)測軟件,以實現(xiàn)遠程后臺自動監(jiān)測流量的目的。系統(tǒng)將采集到的數(shù)據(jù)進行分析、處理,從而實現(xiàn)實時監(jiān)測流體流速的功能,數(shù)據(jù)的傳輸通過RS485總線,將基于STC12C2052單片機設(shè)計的采集器傳送來的數(shù)據(jù)傳到后臺上位機上,在上位機通過C#寫的監(jiān)測程序進行高精度較準確的實時監(jiān)測待測流體流速,具有一定的實用性和創(chuàng)新性。
1 引言
在工農(nóng)業(yè)生產(chǎn)和科學研究試驗中,要用氣體流量計對輸送管道流體進行流量檢測。流量計分類廣泛,其中,渦輪流量計由于其測量精度高、穩(wěn)定性好、對流量變化反應(yīng)迅速,抗*力強等特點被廣泛運用于測量精度要求高、流量變化快的場合,其輸出信號為正弦脈沖波信號,便于遠傳及與PC機相連,這樣在PC機上的用戶界面上便于數(shù)據(jù)采集及處理和分析。本文所研究的渦輪流量計實時監(jiān)測系統(tǒng),通過對渦輪流量計輸出電信號轉(zhuǎn)換成相同頻率的方波,對其脈寬進行測量,將采集的數(shù)據(jù)進行修正后現(xiàn)場液晶顯示,同時通過RS485串行通訊方式向上位機發(fā)送數(shù)據(jù),由上位機的監(jiān)測程序可以實時監(jiān)測渦輪流量計測得的流速。
2 系統(tǒng)設(shè)計思想
渦輪流量計流量積算儀的輸出是與流速成正比的類正弦波信號,通過信號調(diào)理電路對此信號進行濾波、放大、整形處理,輸入單片機采集信號的頻率,通過頻率計算渦輪流量計此刻測得的流速,將流速數(shù)據(jù)顯示在液晶屏上,同時單片機發(fā)出數(shù)據(jù),通過RS485總線傳輸?shù)娇刂茩C房中的上位機處,上位機的監(jiān)測程序?qū)崟r監(jiān)測渦輪流量計測得流速.
2.1 流速的處理
對于流速的處理,一種方法是將渦輪流量計輸出正弦波進行信號調(diào)理放大整形成方波,輸入單片機進行計數(shù),然后通過單位時間內(nèi)的脈沖數(shù)計算流速。
這種方法被廣泛應(yīng)用于當前的渦輪流量計中,本系統(tǒng)原本的思想是測量半個波長的脈寬,以此來計算出一個波長,從而通過公式算出頻率,不過信號調(diào)理電路轉(zhuǎn)換出來的波形下脈沖要比上脈沖略寬(見圖2),目前是通過測量方波一個周期的寬度,來計算當前的頻率,這使得數(shù)據(jù)相對于計數(shù)來平均計算更實時,更。
2.2 通信協(xié)議
液位變送器在低速、短距離、無干擾的場合可以采用普通的雙絞線,反之,在高速、長線傳輸時,則必須采用阻抗匹配(一般為120Ω)的RS485電纜。本系統(tǒng)由于現(xiàn)場環(huán)境復(fù)雜,干擾較強,下位機采用RS485串口通信。PC機默認的只帶有RS232接口,有兩種方法可以得到PC上位機的Rs485電路:(1)通過RS232/RS485轉(zhuǎn)換電路將PC機串口RS232信號轉(zhuǎn)換成RS485信號,對于情況比較復(fù)雜的工業(yè)環(huán)境是選用防浪涌帶隔離珊的產(chǎn)品。(2)通過PCI多串口卡,可以直接選用輸出信號為RS485類型的擴展卡。本系統(tǒng)與上位機進行通信,是采用*種方法,即通過RS-232、RS-485轉(zhuǎn)換模塊連接到上位機的串口上。
通信協(xié)議是進行串口通訊的基礎(chǔ),為了使下位機傳給上位機的數(shù)據(jù)能被上位機準確識別并且進行運算,本設(shè)計針對系統(tǒng)的實際應(yīng)用情況,制定了特定的通信協(xié)議,下位機傳輸兩個數(shù)據(jù),一個是定時器測量的脈寬數(shù)據(jù),還有一個是測量時間的數(shù)據(jù),通過上傳這兩種數(shù)據(jù),便于上位機實時分析測試數(shù)據(jù)。。
3 系統(tǒng)硬件設(shè)計
3.1 下位機硬件框架圖
硬件框架圖,渦輪流量計輸出信號進入信號調(diào)理模塊,經(jīng)過處理送入單片機P3.2口,經(jīng)過單片機處理后,顯示在顯示模塊上,通過設(shè)置按鍵,可以設(shè)置渦輪流量計的儀表系數(shù)K值,顯示當前流速和累積流量,數(shù)據(jù)傳輸模塊主要是MAX485,
3.2 STC12CZO52單片機簡介
本系統(tǒng)下位機采用宏晶科技的STC12CZo52單片機,STC12CZO52是宏晶科技推出的STC12系列增強型8051單片機,速度比普通的8051快12倍,具有較寬的操作電壓范圍。其片上集成:256字節(jié)的RAM;15個通用可編程1/0口,可以設(shè)置成準雙向口/弱上拉、推挽/強上拉、僅為輸入/高阻、開漏(復(fù)位后為準雙向口/弱上拉模式)4種模式;EEpROM功能;2個16位定時器/計數(shù)器;獨立的片內(nèi)看門狗定時器;全雙工異步串行口(L!ART)兼容普通的8051串口;指令兼容C8051,執(zhí)行的時間效率大幅提升。
單片機接口如圖4。其中,RXD、TxD、CS端連接MAX485作為數(shù)據(jù)傳輸模塊,XTAL1、XTAL2連接一個11.0592MHZ的時鐘晶振,為單片機提供外部時鐘。OUT端是信號調(diào)理后的方波輸入端。
3.3 信號調(diào)理模塊
信號調(diào)理電路主要任務(wù),是將渦輪流量計傳感器部分傳送過來的信號輸入,通過LM324四運放集成電路調(diào)理整形放大,輸出為0-3V的方波,方便單片機處理。
4 系統(tǒng)軟件設(shè)計
4.1 下位機(單片機程序設(shè)計)
下位機程序采用匯編語言編寫,測量語句盡量精簡,以減少指令執(zhí)行周期造成的誤差,用TO做計數(shù)器,記錄一個周期的脈沖寬度,T1做波特率發(fā)生器。
STC12C2052系列是1T的8051單片機,為了兼容傳統(tǒng)8051,定時器0和定時器1復(fù)位后是傳統(tǒng)8051的速度,即12分頻,這是為了兼容傳統(tǒng)8051。但也可不進行12分頻,實現(xiàn)真正的1T??梢酝ㄟ^設(shè)置一個特殊寄存器來提高單片機的速度。
T0x12:設(shè)置為0時,定時器0是傳統(tǒng)8051速度,12分頻;設(shè)置為1時,定時器0的速度是傳統(tǒng)8051的12倍,不分頻。
T1x12:設(shè)置為O時,定時器1是傳統(tǒng)8051速度,12分頻;設(shè)置為1時,定時器1的速度是傳統(tǒng)8051的12倍,不分頻。
串口UART用定時器1做波特率發(fā)生器時,UART的速度由T1的溢出率決定。
由上可知,將T0x12和T1x12都設(shè)置為1,即可實現(xiàn)采集時間的速度比傳統(tǒng)8051系列單片機快12倍,系統(tǒng)使用的外部時鐘晶振頻率為11.0592MHz,由此可算出小計時單位為0.09uS,這使得采集時間比同種渦輪流量計顯示儀表的設(shè)計更。并且串口通訊速度也比傳統(tǒng)8051系列單片機速度快。
4.2 上位機程序設(shè)計
上位機軟件采用C浮語言進行編寫。軟件的主要功能如下:對端口的參數(shù)(如端口設(shè)置、波特率、數(shù)據(jù)位、奇偶校驗等)進行設(shè)置;通過設(shè)置“數(shù)據(jù)顯示”按鈕或者“曲線顯示”按鈕,對下位機傳輸上來的測量數(shù)據(jù)進行提取計算,將計算出的渦輪流量計輸出的信號頻率動態(tài)的數(shù)據(jù)顯示或者曲線顯示在RichTextBox控件中;可以保存數(shù)據(jù)為excel格式,便于將采集到的數(shù)據(jù)進行比對分析;當顯示數(shù)據(jù)控件中的數(shù)據(jù)過多,可以點擊“清除窗口”按鈕進行控件清零。由于不同的渦輪流量計參數(shù)K值的不同,本軟件只是顯示頻率,而流速則根據(jù)輸入K值來計算。
4.2.1 上位機與下位機的通訊程序
由于下位機傳輸?shù)臄?shù)據(jù)終是RS485轉(zhuǎn)RS232串口傳到上位機上,在C#中要接收串口通信,需要在Form窗體中添加SerialPort控件,程序所用到該控件的屬性和方法如表3。
表3 SerialPort串口通信控件的主要屬性與方法
打開串口和關(guān)閉串口用的是一個Buton按鈕,寫打開/關(guān)閉串口程序中,用到一個互鎖,即一開始判斷串口是否打開正(comm.Isopen),如果當前串口是打開的,則關(guān)閉串口,如果當前串口是關(guān)閉的,則打開串口,并設(shè)置相應(yīng)的配置,即程序窗體上的端口設(shè)置部分,將設(shè)置的相應(yīng)數(shù)據(jù)存到相應(yīng)屬性中。后用一句判斷串口是否打開的語句來顯示按鈕的Text屬性:
“Buton2.Text=comm..IsOpen?”“停止接收?”:“接收數(shù)據(jù)”;
4.2.2 數(shù)據(jù)處理
差壓變送器數(shù)據(jù)處理部分是該軟件的重點部分,下位機傳送上來的數(shù)據(jù)正是通過此進行處理,并顯示在RichTextBox中。數(shù)據(jù)處理是在serialPort控件中的DataReceived屬性進行,首先在窗體初始化Private void form 1-Load (object sender.EventArgs e)中,寫上代碼:
Comm.DataReceiVed+=DataReceived;添加事件注冊,即打開串口后,接收到數(shù)據(jù)進入緩沖區(qū),此事件就會自動觸發(fā),進行數(shù)據(jù)處理。
數(shù)據(jù)處理詳細過程:先聲明一個臨時數(shù)組buf來保存當前來的串口數(shù)據(jù),用serialPort.Read(buf,0,n)將緩沖數(shù)據(jù)保存在buf數(shù)組中。然后進行一系列判斷,首先判斷數(shù)據(jù)是否接收完整,接著判斷數(shù)據(jù)的幀頭是否為FF,06(前面有介紹傳輸數(shù)據(jù)的格式),當數(shù)據(jù)接收完整后,提取數(shù)據(jù)部分,也就是第3字節(jié)到第8字節(jié)一共6個字節(jié)的數(shù)據(jù),將提取的數(shù)據(jù)分別進行處理,處理代碼如下:
其中,data1為頻率,data2為采集間隔時間。處理好數(shù)據(jù)后,就可以將數(shù)據(jù)動態(tài)顯示出來了。下面是將數(shù)據(jù)顯示在文本框中的代碼,運用Invoke線程:
4.2.3 數(shù)據(jù)的保存
顯示控件中的數(shù)據(jù)保存需要在Form窗體中添加saveFileDialog控件。首先將saveFileDialog控件的Filter屬性設(shè)置為TxT文檔(*.txt)|*.txt|Excel文件(*.xls)|*.xls,這樣保存的文件類型可以選擇為txt文本文檔或是excel表格文檔,可以根據(jù)需要設(shè)置為其他類型的文件。然后再窗體中添加button控件,控件的Click時間添加處理程序button6_Click,程序代碼如下:
5 結(jié)論
本系統(tǒng)由于是運用在工廠,對抗干擾要求比較高,在研究期間一直不斷改善硬件的抗干擾性及穩(wěn)定性,并且對程序的不斷修改優(yōu)化,不斷減少冗余語句以提高測量的精度,通過實驗室測試以及工廠的現(xiàn)場測試可以得出本系統(tǒng)測量范圍在0.66Hz-7000Hz之間,而渦輪流量計輸出頻率高不會超過6000Hz,故系統(tǒng)滿足要求。下位機程序中定時器運用溢出中斷方式比循環(huán)等待方式測量得出數(shù)據(jù)精度高1%-2%?,F(xiàn)在穩(wěn)定的程序的精度普遍在0007%-0.1%之間
本系統(tǒng)利用STC12CZO52系列單片機的不分頻設(shè)置,提高了計時速率和串口通訊的速率,實現(xiàn)了對渦輪流量計測量流速的實時監(jiān)測,并且能夠方便分析數(shù)據(jù),以進一步研究更為的測量方式,在技術(shù)不斷更新的今天,本系統(tǒng)有繼續(xù)研究下去的意義。
相關(guān)產(chǎn)品
免責聲明
客服熱線: 15267989561(同微信)
加盟熱線: 15267989561(同微信)
媒體合作: 0571-87759945
投訴熱線: 0571-87759942

下載儀表站APP

Ybzhan手機版

Ybzhan公眾號

Ybzhan小程序