基于虛擬儀器的濁度測試系統的設計
0 引 言
??? 濁度是工業水處理(除鹽水)檢驗水質要求的一個重要參數,對除鹽水的水質要求較高。目前,濁度的測定大部分都是停留在傳統儀器的模式下,沒有擺脫獨立使用,手動操作的模式。隨著科技的迅猛發展,計算機強大的處理能力,虛擬儀器在測定系統中正被廣泛采用,它可以利用虛擬儀器的多面板能滿足多功能的測量要求,同時提高檢測的精度和可靠性;利用虛擬儀器良好的人機交互性和在線幫助功能使測量具有很大的靈活性,操作簡便。將測試結果圖形化形式顯示出來,使測試的結果更加直觀明了;隨著計算機網絡的發展,虛擬儀器還能滿足今后更多功能的擴展和網絡互聯的要求?;诖嗽O計了基于虛擬儀器的濁度測試系統,利用LabVIEW圖形化的編程語言和編程環境,實現了對濁度數據的顯示、標定和報警等功能。
1 系統的硬件設計
1.1 測量電路的設計
??? 中央處理器采用C8051F020。C8051F單片機是完全集成的混合信號系統級芯片(SoC),具有與8051兼容的高速CIP-51內核,與MCS-51指令集完全兼容。片內集成了數據采集和控制系統中常用的模擬、數字外設及其他功能部件,內置FLASH程序存儲器、內部RAM。C8051F單片機還具有片內調試電路,通過4腳的JTAG接口可以進行非侵入式、全速的在線系統調試。放大后的信號由C8051F020內的交叉開關選通,調節增益后送ADC0進行A/D轉換并存儲。
1.1.1 主控制板電路
??? 主控制板電路實現數據的采集、存儲、處理和輸出功能。它由C8051F020單片機處理電路、傳感和模擬信號處理電路、AT45DB081數據存儲電路、DS18B20溫度監控電路、RS 232通信電路、液晶顯示和鍵盤電路、報警電路、標準4~20 mA工業信號輸出電路幾部分構成。濁度儀的核心控制器件是Cygnal公司新出產的混合信號系統級單片機C8051F020。在一個標準的8051中,除MUL和DIV以外所有指令都需要12或24個系統時鐘周期,并且通常最大系統時鐘頻率為12 MHz。而對于CIP-51內核,70%的指令執行時間為1或2個系統時鐘周期,沒有執行時間超過8個系統時鐘周期的指令。可見C8051F020單片機的指令執行速度是標準8051單片機的10倍,因此測量時間非常短,可以滿足在線實時測量的要求。該單片機片內集成了Cygnal公司獨創的CIP-51的CPU內核,指令系統與MCS-51完全兼容。它具有如下特點:集成度高、抗干擾能力強、速度高、可靠性高、擴展功能強等。本儀器中選用C8051F020單片機,可以使電路在設計上結構緊湊,并能夠提高儀器的抗干擾能力。C8051F020的原理圖如圖1所示。
1.1.2 傳感和模擬信號處理電路
??? 光電轉換元件采用的是TCZ 6×6型硅光電池,此種型號硅光電池的光電特性,其短路電流與入射光強有良好的線性關系。但是其轉換信號僅為10-7A數量級,必須進行放大處理,因此,在電路設計中采用了輸入阻抗高的運算放大器LF353來獲取電流信號,并進行濾波放大處理。如圖2所示。
1.2 C8051F020與虛擬儀器的實現
??? 串口通信雖然傳輸速度較慢,但是由于簡單易行,并且現有的微機都具備串行通信口,因而得到了廣泛的應用。本文在濁度測試系統中利用串口實現了對單片機的通信控制。
1.2.1 系統硬件配置
??? 本文通信系統采用C51F020作為下位機,PC機作為上位機,二者通過RS 232串口接收或發送數據和指令。傳輸介質為二芯屏蔽電纜。RS 232信號和單片機串口信號的電平轉換采用MAX232,它是具有雙驅動器、雙接收器的通信器接口電路,不需外接電容而進行倍壓及電壓極性轉換,只需+5 V供電,電源電流為5 mA,傳輸率為200 Kb/s。串行接口電路原理見圖3。
??? 系統中PC機承擔主控任務,負責該測控系統的通信參數設定、數據的采集處理及對單片機運行的控制,程序采用LabVIEW編寫。其通信協議為:采用RS 232異步通信方式,51單片機串行口共有4種工作方式,這里采用單片機串口通信的方式1,該方式為8位異步串行通信方式,其波特率是可變的,1位起始位,8位數據位,1位停止位,無奇偶校驗,若晶振頻率為11.059 2 MHz,取波特率為4 800 Kb/s。下位機按接收到的指令工作,若主控機發出無效或錯誤指令,將不作任何控制。
1.2.2 程序設計
??? 主機通信程序:在主機通信程序設計中,采用圖形化語言LabVIEW作為編程語言。它把高級語言中的函數封裝為圖形功能模塊,圖標間的連線表示各個功能模塊之間的數據傳遞。編程方式簡單、直觀、便于使用。串口通信功能模塊包括串口初始化模塊、串口讀模塊以及串口寫模塊,通過這些模塊就可以實現對單片機的控制。
??? LabVIEW串口子VI是通過RS 232實現數據通信的。LabVIEW串口子VI共有5個串行通信節點,分別實現串口初始化、串口寫、串口讀、檢測串口緩存、中斷等功能。
??? C8051F020單片機的程序采用匯編語言寫成。利用匯編語言直接對相關硬件進行操作,具有開銷小、效率高的特點。在編寫單片機程序時應當注意的是必須保證PC機與單片機串口通信時的波特率一致。如果兩者不同的話,就無法進行數據的傳輸而導致通信失敗。所以,在單片機程序中初始化時應當根據單片機晶振和串口通信方式對寄存器進行設置。
2 軟件開發
??? 該系統由C8051F單片機、ADC0809 A/D轉換器組成的小系統作為前端數據采集系統,并通過RS 232串行總線將采集到的數據傳送到PC機,用Lab-VIEW進行數據的接受與處理。其結構組成如圖4所示。
2.1 菜單設計
??? 在整個程序設計中,首先完成了各子功能(子VI)的程序,將其做成單個模塊,每個單個模塊是由更小的模塊組成,每一級的模塊均刻以圖標形式放置在程序流程圖中,這樣增加了程序的可維護性和可讀性,使流程圖更加清晰明了,同時避免了大量重復編程工作。系統的主界面設計中,利用LabVIEW中提供的EDITMENU菜單,先將要實現的功能作為菜單選項的內容,以便在運行時調用,然后在框圖中對各項菜單的調用通過CASE循環進行選擇,使各項菜單對應于各項子VI,在各子VI中vi set up的execution options中選定show front panel when called選項,這樣在運行中,當選擇了菜單中的某些內容時,該子VI就被選中調用。圖5為菜單后面板程序設計流程圖。菜單中包括文件操作(讀取、存儲、打印)通道顯示和信號分析以及幫助,程序分別調用相應功能的子VI程序,完成相應操作。下面簡要介紹本采集程序中采用的幾個典型模塊。
2.2 數據采集模塊設計
??? 本設計采用VISA編寫儀器控制程序,程序在運行時VISA就會根據實際接口類型自動調用相應的接口驅動程序例程,完成通信操作。串口通信模塊包括串口初始化模塊、串口寫模塊、串口讀模塊,通過這些模塊就可以實現對單片機的控制。圖5為串口設置后面板程序框圖。如圖5所示,主程序運行后,設置串口波特率為9 600,通道選著串口1,采用默認通信協議(1位起始位、8位數據位、1位停止位),串口緩存大小設置為16 368 B。
2.3 保存模塊設計
??? 本設計采用Access數據庫對采集的數據進行分析及對歷史數據查詢回放,其特點表現在:關系數據庫的SQL語言是非過程性語言,對數據的查詢或操作簡單;利用數據庫管理數據,數據的獨立性好;Access數據庫使用方便,操作簡單,能夠滿足數據庫管理的需要。利用LV的ActiveX功能,調用Microsoft ADO控件,既可以利用SQL語言又可以利用ADO提供的各種方法和屬性,方便靈活地實現對Access數據庫訪問。在LV功能模塊中含有ActiveX子模板,子模板中包含用作與ActiveX服務器相連接的自動化節點函數,實現對數據庫的操縱。ADO主要有三個主體對象,分別為Connection,Command和RecordSet對象。訪問數據庫步驟為:連接到數據源一指定訪問數據源的命令一執行命令。本設計建立兩個數據源分別用來存放歷史數據、報警數據及相對應的時間。
3 軟件實現功能
??? 利用LabVIEW這種圖形化的編程語言和編程環境,實現了對濁度數據的顯示、標定和報警等功能。濁度實時數據趨勢圖、歷史數據趨勢圖、歷史數據查詢和報警歷史記錄分別如圖6所示。
??? 實時曲線是通過調用LV軟件中Chart子模板來實現的。它將數據在坐標系中實時、逐點(或一次多個點)地顯示出來,可以反映被測物理量的變化趨勢,與傳統的模擬示波器、波形記錄儀的顯示方式相仿。在實時曲線界面中,有單片機采集數據及向LV發送數據的控制按鈕,可以方便地實現對下位機數據的采集控制。另外,該模版具有上限、下限報警監視、報警限設定功能,當數據發生報警后,實時值字體顯示顏色立即發生改變,可以方便用戶對數據進行監視。
??? 歷史曲線是通過調用LV軟件中Graph子模板來實現的。用戶可以調整X Scale及Y Scale顯示方式,如顯示時間刻度、數據顯示格式、顯示刻度是否自動縮放、曲線顏色等。通過游標(如圖6(b),Cursor),可以讀取波形上某一點的確切坐標值。歷史曲線界面還具有歷史曲線查詢及歷史趨勢刷新功能。點擊“歷史曲線查詢按鈕”,可以彈出“歷史趨勢查詢”子VI模板,用戶根據需要設定查詢時間,便可得到需要的數據以便分析。點擊“歷史趨勢刷新”按鈕可以直接顯示當前歷史趨勢。
??? 歷史報警表調用LV中Table控件進行顯示。表中有報警序號、報警名稱、報警值、報警進入時間以及狀態顯示項目。該表記錄了高限、低限時報警值及恢復正常值的時間及報警值,通過滾動條用戶可以方便查詢報警歷史數據。
4 結 語
??? 本文使用了C8051F單片機進行前端的數據采集,通過RS 232串口實現與LabVIEW的強大的信號分析處理功能實現了濁度的歷史數據、實時數據的查詢和分析,同時設計了實時報警,當濁度超過某個值時迅速報警。實踐證明,采用虛擬儀器不論是在技術上或是在經濟上都能夠取得良好的效果。
評論
查看更多