基于VBNET的礦井廢水監(jiān)控系統(tǒng)的設_第1頁
基于VBNET的礦井廢水監(jiān)控系統(tǒng)的設_第2頁
基于VBNET的礦井廢水監(jiān)控系統(tǒng)的設_第3頁
基于VBNET的礦井廢水監(jiān)控系統(tǒng)的設_第4頁
基于VBNET的礦井廢水監(jiān)控系統(tǒng)的設_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、The design and realizing of examining and data-collecting system in mine wastewater processing base on VB.NETCHEN Jian-bo1 , SHI Dong-wen 1, XI dan-li1 , T ANG Zhen-hua2 (1.College of Environmental Science and Engineering Donghua University,Shanghai 200051,China; 2. Environmental Monitoring Station

2、of Jiujiang , Jiujang 332000, ChinaAbstract: In the field of modern waste treatment, online data acquisition and computer control are key factors. Combining the application of process examining and data-collecting system in mine wastewater processing, this article introduce the design and realizing

3、of developing application software based on VB.NET. It emphatically shows the technologies of realizing communication and disposing real-time datum and history datum.Key words: process examining and data-collecting system; communication ; real-time datum; History datum第一作者:陳健波,男, 1975年生, 2003年畢業(yè)于江蘇大

4、學環(huán)境工程系,碩士學位?,F(xiàn)東 華大學環(huán)境科學與工程學院攻讀博士學位,主要研究方向:水處理的計算機仿真與控制。聯(lián)系地址:上海市延安西路 1882號東華大學 324信箱 陳健波E-MAIL:基于 VB.NET 的礦井廢水監(jiān)控系統(tǒng)的設計與實現(xiàn)陳健波 1,施東文 1,奚旦立 1 ,唐振華 2(1.東華大學環(huán)境科學與工程學院 ,上海 200051; 2.九江市環(huán)境監(jiān)測站,江西 九江 332000摘要:在現(xiàn)代污水處理技術中,實現(xiàn)數(shù)據(jù)的實時采集和計算機監(jiān)控是一項關鍵技術。本文結合礦井廢水處 理過程監(jiān)測軟件的應用,介紹了基于 VB.NET 的應用系統(tǒng)的設計及其實現(xiàn),重點介紹了通信方法的實現(xiàn)、 實時數(shù)據(jù)和歷史數(shù)

5、據(jù)的處理。關鍵詞:監(jiān)控系統(tǒng); VB.NET ;通信;實時數(shù)據(jù);歷史數(shù)據(jù)中圖號:TP311.135.1 文獻標識碼:B前言作為當今使用最廣泛的編程工具之一, VB.NET 是一種可視化的完全面向對象的 WINDOWS 開發(fā)語言, 它支持抽象性、 封裝 性、 繼承性和多態(tài)性, 并支持重載和結構異 常處理。 VB.NET 簡單易學,同時又是一種 功能強大和伸縮性強的開發(fā)工具, 既可以開 發(fā)小型應用程序, 也支持大型的企業(yè)級應用 開發(fā)。 本文就是以礦井廢水處理過程的監(jiān)控 系統(tǒng)的應用為例, 介紹采用 VB.NET 開發(fā)監(jiān) 控軟件的具體過程, 并將其應用于實際的工 程項目。1礦井廢水處理的監(jiān)測和控制量礦井

6、廢水處理系統(tǒng)中有多工藝參數(shù)和 過程變量要進行監(jiān)測, 這些量都是計算機系 統(tǒng)的巡回檢測量。 為了正確判斷廢水處理的 工況, 及時給出相應的操作控制策略, 保證 處理過程的穩(wěn)定, 我們給定了一組描述系統(tǒng) 工況的監(jiān)測量和一組系統(tǒng)操作控制量。 1.1監(jiān)測量監(jiān)測量共 7組,由下位 PLC 實測所得。 它們是:(1污水進水流量 A 、 B , 實際范圍 0 100方 /小時;(2A1、 A2 、 B1、 B2藥劑計量泵頻 率,實際范圍 050Hz ;(3配水井液位,實際范圍 07.0m ;(4儲藥罐 A 液位、儲藥罐 B 液位, 實際范圍 02.0m ;(5一體化設備 1#、 2#、 3#、 4#PH 值

7、,實際范圍 014;(6一體化設備 1#、 2#、 3#、 4#電導 率,實際范圍 -21002100mV ;(7一體化設備出水濁度,實際范圍 0-500NTU ;控制量控制量共 5組, 這 5組控制變量可以在 現(xiàn)場手動控制, 也可以由上位計算機自動或 手動控制。(1污水泵房污水提升泵開停;(2污水進水 A 、 B 的流量;(3A1、 A2 、 B1、 B2藥劑計量泵頻 率;(4116# 電動閥門開停;(5攪拌電機 A 、 B 開停;2 系統(tǒng)組成和軟件總體設計系統(tǒng)網(wǎng)絡結構從下到上依次分為:現(xiàn)場 級(由先進控制儀表和執(zhí)行機構組成 ,控 制 級 (由 西 門 子 S7-CPU318-2DP 、 S

8、7-CPU224PLC 通過 PROFIBUS-DP 現(xiàn)場總 線網(wǎng)絡構成 ,車間級 (工控機,車間級與控 制級之間通過 MPI 網(wǎng)絡進行通訊 ,管理級 (廠級管理局域網(wǎng)絡 。管理級主要由局域網(wǎng) 構成,也可以由局域網(wǎng)連到 Internet 上進行 遠程監(jiān)控和操作。 而本系統(tǒng)主要是采用無線 Modem 來實現(xiàn)這一遠程監(jiān)控功能,因此具 有比目前有線 Internet 更高的靈活性和實時 性。監(jiān)控系統(tǒng)的用戶界面要求是圖形化, 多 媒體化, 實時過程中的監(jiān)控數(shù)據(jù)要求在處理 后以數(shù)字、 動畫形式提供給操作人員, 界面 必須形象生動、 直觀并且方便操作。 考慮到 VB 代碼效率不及 VC 高,因此系統(tǒng)不應有

9、 太多的動畫、 聲響, 否則會導致系統(tǒng)相應速 度。 根據(jù)礦井廢水處理的實際工作流程, 經(jīng) 過認真分析, 在系統(tǒng)中設計了 6個主要操作界面:(1 主界面 工藝參數(shù)的動態(tài)及動畫 顯示、控制方式(手 /自動的選擇; (2指導參數(shù)的設定 設定生產(chǎn)指導 參數(shù),對比動態(tài)顯示當前工藝參數(shù);(3操作日志記錄 顯示和查詢設備 使用的時間和操作人員;(4故障信息記錄 顯示儀表設備故 障信息;(5 數(shù)據(jù)查詢 動態(tài)顯示實時數(shù)據(jù)趨 勢、以曲線形式查詢以往記錄;(6參數(shù)修正 必要的參數(shù)修正和報 警極限的重新設定;(7打印 數(shù)據(jù)報表的打印; 由于系統(tǒng)是實時性監(jiān)控系統(tǒng), 計算機需 要完成大量的顯示、打印和人機交換工作, 即常

10、被稱為前臺作業(yè); 同時還要完成大量的 實時數(shù)據(jù)處理, 存儲及通訊任務, 即常被稱 為的后臺作業(yè)。系統(tǒng)既要保證數(shù)據(jù)的實時 性、又要保證界面切換在感覺上的連續(xù)性。 為此我們將后臺任務的全部工作設計成不 同的類柔合放入不同的程序段, 在前臺作業(yè) 的同時通過定時中斷的方式完成后臺作業(yè) 的各個任務。3 VB 實現(xiàn)的關鍵技術3.1 PC與 PLC 通信的實現(xiàn)在硬件上, PC 與 PLC CPU3 18-DP 之 間的數(shù)據(jù)通信是通過 PC/MPI適配器連接實 現(xiàn)的,而西門子公司的 PRODA VE S7軟件 包的動態(tài)鏈接庫 (DLL提供了 大量的基于 Windows NT ,Windows95/98, Wi

11、ndows3.11或 MS-DOS 的函數(shù),這樣就使用戶自行開 發(fā)解決 PC 與 PLC 之間的數(shù)據(jù)交換和數(shù)據(jù)處 理的問題變?yōu)榭赡?。動態(tài)鏈接庫是一種過程庫, 應用程序可 以在運行的時候鏈接并使用它, 這種鏈接又 不同于編譯時的靜態(tài)鏈接。在 WINDOWS 系統(tǒng)中, DLL 是最重要的組成要素之一。 許 多大型的應用程序包括 WINDOWS 本身都 包含了大量的 DLL 。PRODA VE 的動態(tài)鏈接庫提供的函數(shù) 主要有 :(1 load_tool PC 機與 PLC 系統(tǒng)初始化 鏈接;(2 unload_tool 斷開 PC 機與 PLC 系 統(tǒng)鏈接;(3 db_read從 PLC 的 DB

12、塊中讀數(shù) 據(jù)字;(4 db_write向 PLC 的 DB 塊中寫數(shù) 據(jù)字。當使用 DLL 函數(shù)時,必須在標準模塊 代碼窗口中聲明 DLL 函數(shù)過程,此后才能 在程序中調(diào)用 DLL 。以下以 load_tool函數(shù) 為例說明系統(tǒng)通訊的工作過程。 load_tool函數(shù)主要用來初始化適配器和初始化鏈接 地址,它的聲明格式如下:Public Declare Function load_tool Lib "w95_s7.dll" (ByVal no As Integer, ByV al name As String, ByV al adr As String As Integer

13、程序調(diào)用的過程為:PLC_adr_table = Chr(2 & Chr(0 & Chr(2 & Chr(0myflag.S7Err = load_tool(1, "S7ONLINE", PLC_adr_table此函數(shù)傳送 3個參數(shù):no :此參數(shù)設置可激活連接的數(shù)量, 連接個數(shù)最多可達 16個。此例中 no 為 1; name :用戶驅動設備名稱,如 MPI 驅 動器的設備名為“ S7ONLINE ” ;adr :連接部分的地址列表指針; 如果沒有錯誤,此函數(shù)返回 0,否則返 回錯誤信息的相應 16進制代碼。3.2 自定義數(shù)據(jù)庫的設計工控軟件最重

14、要的是穩(wěn)定性, 如果系統(tǒng) 利用其他的數(shù)據(jù)庫作后臺, 一方面增加了軟 件對其他數(shù)據(jù)庫的依賴性, 另一方面也增加 了軟件的復雜性。 再者, 一般商業(yè)數(shù)據(jù)庫雖 然功能強大, 但是大都不能保證實時性。 因 此, 幾乎所有的組態(tài)軟件都自帶數(shù)據(jù)庫。 對 于國內(nèi)中小型的水處理項目, 自控部分的主 要工作是簡單的儀表監(jiān)控和執(zhí)行機構的控 制,不必使用相對價格較高的組態(tài)軟件。 在我們開發(fā)的監(jiān)控軟件中使用了自定 義數(shù)據(jù)。 自定義數(shù)據(jù)庫分實時數(shù)據(jù)庫和歷史 數(shù)據(jù)庫。 實時數(shù)據(jù)庫就是存儲在內(nèi)存中的當 前一段時間系統(tǒng)采集的數(shù)據(jù)。 而歷史數(shù)據(jù)則 是系統(tǒng)存儲在硬盤中的每日數(shù)據(jù)。 實時數(shù)據(jù)和歷史數(shù)據(jù)是兩個獨立的過程。實時數(shù)據(jù)通過

15、靜態(tài)數(shù)組實現(xiàn)。 我們規(guī)定 系統(tǒng)每 4秒采集一次數(shù)據(jù), 靜態(tài)數(shù)組保存的 數(shù)據(jù)最多為一個小時, 因此這個數(shù)組的長度 為 900。 歷史數(shù)據(jù)通過數(shù)據(jù)文件的形式實現(xiàn), 我們將每日的數(shù)據(jù)存成一個單獨的文件。 系 統(tǒng)每 30秒存儲一次采集的數(shù)據(jù),因此每日 的數(shù)據(jù)中有 2880條記錄。每日的數(shù)據(jù)文件 以當天的日期作為文件名進行存儲, 這樣可 以很容易通過編程定位數(shù)據(jù)文件, 減少數(shù)據(jù) 查詢的時間。4 實時和歷史數(shù)據(jù)趨勢圖的實現(xiàn)4.1 實時數(shù)據(jù)趨勢圖的實現(xiàn)實時數(shù)據(jù)曲線反映的是現(xiàn)場數(shù)據(jù)的實 時性, 因此對繪圖效率, 定時精度提出了較 高的要求,同時要求曲線動態(tài)變化。實時數(shù)據(jù)趨勢的顯示是通過對實時數(shù) 據(jù)庫的操作實現(xiàn)

16、的。 曲線繪制仿照數(shù)字示波 器的顯示方式, 從繪圖區(qū)的最左端開始繪制 曲線, 當曲線到達繪圖區(qū)最右端時, 再將繪 圖的起始點置于最左端, 并將圖像清除, 實 現(xiàn)從左到右的循環(huán)刷新。VB.NET 提供 Drawline 方法可用于曲 線地繪制,但是與 Visual Basic. 6.0相比, VB.NET 的繪圖功能大大增強,程序設計的 方法也與 Visual Basic. 6.0大相徑庭。為了 在指定的控件或窗體上畫圖, 可以按以下步 驟操作:1. 聲明一個 Graphics 對象2. 用 CreateGraphics 方 法建 立 一 個 Graphics 對象3. 用繪圖方法繪畫下面是相關

17、的程序示例Private Sub RealTimeline(ByVal vIndex As IntegerDim g As GraphicsG = Picture1.CreateGraphics(Dim Gpen As New Pen(Color.Black,2Dim Limit As SingleDim Y1, Y2, j As LongDim P1, P2 As BooleanDim Startpoint As LongIf myTimer. RealtimePointer < 1 Then Exit SubLimit = StrA(vIndex.Max - StrA(vIndex.

18、MinIf Limit < 0.01 Then Limit = 0.1 If RepaintAll ThenPicture1.ClsStartpoint = 0ElseStartpoint = myTimer. RealtimePointer - 1End IfFor j = Startpoint To myTimer. RealtimePointerP2 = TimesData(j.S7NoErr Y2 = 400 - CLng(400 * (TimesData(j.A(vIndex - StrA(vIndex.Min / Limit' TimesData(j 為實時數(shù)據(jù)庫中當

19、時時刻的 數(shù)據(jù)If (Y2 > 400 Then Y2 = 400 If (Y2 < 0 Then Y2 = 0If (j <> Startpoint And P1 And P2 Then Picture1.DrawLine (Gpen ,j - 1, Y1,j, Y2P1 = P2Y1 = Y2Next jEnd Sub4.2歷史數(shù)據(jù)趨勢圖的實現(xiàn)歷史數(shù)據(jù)趨勢圖的實現(xiàn)和實時數(shù)據(jù)趨 勢圖類似, 主要的不同點有兩處:即數(shù)據(jù)源 和歷史數(shù)據(jù)的裝載。歷史數(shù)據(jù)的數(shù)據(jù)源是存儲在硬盤中的 DA T 文件。 因為我們已經(jīng)把每天產(chǎn)生的數(shù)據(jù) (即 2880條記錄存成一個以當天日期為 文件名的 dat 文件,因此可以通過編程的方 式找出任何一天任何時刻在數(shù)據(jù)文件中的 記錄。定位某天數(shù)據(jù)文件的代碼如下:Public Function GetFilename(ByVal vDate As Date As StringDi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論