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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

12、塊中讀數(shù) 據(jù)字;(4 db_write向 PLC 的 DB 塊中寫數(shù) 據(jù)字。當(dāng)使用 DLL 函數(shù)時(shí),必須在標(biāo)準(zhǔn)模塊 代碼窗口中聲明 DLL 函數(shù)過(guò)程,此后才能 在程序中調(diào)用 DLL 。以下以 load_tool函數(shù) 為例說(shuō)明系統(tǒng)通訊的工作過(guò)程。 load_tool函數(shù)主要用來(lái)初始化適配器和初始化鏈接 地址,它的聲明格式如下: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)用的過(guò)程為:PLC_adr_table = Chr(2 & Chr(0 & Chr(2 & Chr(0myflag.S7Err = load_tool(1, "S7ONLINE", PLC_adr_table此函數(shù)傳送 3個(gè)參數(shù):no :此參數(shù)設(shè)置可激活連接的數(shù)量, 連接個(gè)數(shù)最多可達(dá) 16個(gè)。此例中 no 為 1; name :用戶驅(qū)動(dòng)設(shè)備名稱,如 MPI 驅(qū) 動(dòng)器的設(shè)備名為“ S7ONLINE ” ;adr :連接部分的地址列表指針; 如果沒(méi)有錯(cuò)誤,此函數(shù)返回 0,否則返 回錯(cuò)誤信息的相應(yīng) 16進(jìn)制代碼。3.2 自定義數(shù)據(jù)庫(kù)的設(shè)計(jì)工控軟件最重

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

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

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

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í)時(shí)數(shù)據(jù)庫(kù)中當(dāng)

19、時(shí)時(shí)刻的 數(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ù)趨勢(shì)圖的實(shí)現(xiàn)歷史數(shù)據(jù)趨勢(shì)圖的實(shí)現(xiàn)和實(shí)時(shí)數(shù)據(jù)趨 勢(shì)圖類似, 主要的不同點(diǎn)有兩處:即數(shù)據(jù)源 和歷史數(shù)據(jù)的裝載。歷史數(shù)據(jù)的數(shù)據(jù)源是存儲(chǔ)在硬盤中的 DA T 文件。 因?yàn)槲覀円呀?jīng)把每天產(chǎn)生的數(shù)據(jù) (即 2880條記錄存成一個(gè)以當(dāng)天日期為 文件名的 dat 文件,因此可以通過(guò)編程的方 式找出任何一天任何時(shí)刻在數(shù)據(jù)文件中的 記錄。定位某天數(shù)據(jù)文件的代碼如下:Public Function GetFilename(ByVal vDate As Date As StringDi

溫馨提示

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

評(píng)論

0/150

提交評(píng)論