国内精品伊人久久久久av一坑_中文字幕亚洲精品乱码_亚洲女人天堂成人av在线_欧美日韩亚洲一区

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

文章信息歸屬于西安氣液渦輪流量計廠所有:http://www.tzzwkj.com/wolun/view-52-1.html 轉載請注明出處
網頁聊天
live chat
主站蜘蛛池模板: 平遥县| 密山市| 汾西县| 花莲市| 洪泽县| 太康县| 永福县| 革吉县| 林州市| 兴化市| 锦屏县| 赤壁市| 喀什市| 屏东市| 石屏县| 凭祥市| 星子县| 大名县| 福海县| 闽清县| 剑阁县| 阿拉尔市| 兴隆县| 呈贡县| 新野县| 渝中区| 太原市| 金门县| 塘沽区| 蓬安县| 太康县| 阿鲁科尔沁旗| 盐边县| 同江市| 通山县| 榆中县| 大足县| 镇远县| 洪雅县| 塔城市| 沈阳市|