基于組態(tài)王的監(jiān)控系統(tǒng)設(shè)計(jì)及數(shù)據(jù)處理_第1頁(yè)
基于組態(tài)王的監(jiān)控系統(tǒng)設(shè)計(jì)及數(shù)據(jù)處理_第2頁(yè)
基于組態(tài)王的監(jiān)控系統(tǒng)設(shè)計(jì)及數(shù)據(jù)處理_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

基于組態(tài)王的監(jiān)控系統(tǒng)設(shè)計(jì)及數(shù)據(jù)處理在某污水處理系統(tǒng)監(jiān)控系統(tǒng)設(shè)計(jì)中,筆者采用組態(tài)王6.5、單片機(jī)、ACCESS和E×CEL的合設(shè)計(jì)了整個(gè)監(jiān)控系統(tǒng)。上位機(jī)采用研華的工控PC機(jī),系統(tǒng)監(jiān)控采用組態(tài)王軟件;底層數(shù)據(jù)采集和控制由PLC、單片機(jī)、智能儀表完成。由于組態(tài)王在數(shù)據(jù)庫(kù)功能上比較薄弱,在設(shè)計(jì)中采用SQL技術(shù)將數(shù)據(jù)保存到MSACCESS2000中,并且通過(guò)VBA(VlsuaIBasicForApp“cation)編程實(shí)現(xiàn)E×CEL對(duì)ACCESS數(shù)據(jù)庫(kù)的查詢。1系統(tǒng)概述系統(tǒng)中存在多種不同類型的監(jiān)控變量,其中有一部分需要控制的變量(如壓力等),這可以用PLC實(shí)現(xiàn)控制;有一部分變量只需要采集(如溫度、電流等),這些量可以通過(guò)用組態(tài)王支持的智能儀表進(jìn)行采集;還有一部分只需要采集的數(shù)據(jù)由于所用的采集儀表不能和組態(tài)王直接通訊,所以采用單片機(jī)AT89C52編寫程序?qū)崿F(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集,并采用通用單片機(jī)ASCJI通信協(xié)議實(shí)現(xiàn)單片機(jī)和組態(tài)王的數(shù)據(jù)共享。整個(gè)系統(tǒng)結(jié)構(gòu)上采用多級(jí)分布式結(jié)構(gòu),分為2個(gè)數(shù)據(jù)采集站和1個(gè)監(jiān)控總站;按照功能劃分本系統(tǒng)則分為設(shè)備現(xiàn)場(chǎng)控制、現(xiàn)場(chǎng)數(shù)據(jù)采集、遠(yuǎn)程設(shè)備監(jiān)控三部分。底層由PLC、單片機(jī)、智能儀表組成.其中,PLC主要完成現(xiàn)場(chǎng)控制設(shè)備的控制。單片機(jī)和智能儀表完成對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的采集。數(shù)據(jù)采集站作用是與底層的PLC、單機(jī)和智能儀表通訊,獲取生產(chǎn)過(guò)程的數(shù)據(jù),顯示工藝流程,歷史曲線圖,實(shí)時(shí)曲線圖、報(bào)警畫面、生成數(shù)據(jù)庫(kù)等。監(jiān)控總站與數(shù)據(jù)采集站通過(guò)以太網(wǎng)連接,以獲取生產(chǎn)工藝參數(shù),報(bào)警記錄等數(shù)據(jù)信息。監(jiān)控總站可以根據(jù)操作人員的選擇切換監(jiān)視各個(gè)數(shù)據(jù)采集系統(tǒng)的運(yùn)行情況。監(jiān)控總站計(jì)算機(jī)還完成網(wǎng)絡(luò)服務(wù)器的功能,將這些生產(chǎn)參數(shù)上網(wǎng)傳輸,實(shí)現(xiàn)網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控。2軟件設(shè)計(jì)整個(gè)監(jiān)控軟件以組態(tài)王6.5作為編輯平臺(tái)。整個(gè)監(jiān)控系統(tǒng)具有如下主要功能:1)總體監(jiān)控:顯示采集數(shù)據(jù)的實(shí)時(shí)值,組態(tài)王通過(guò)和底層PLC、智能儀表和單片機(jī)通訊,訪問相關(guān)設(shè)備寄存器來(lái)獲得各設(shè)備的運(yùn)行情況,并通過(guò)動(dòng)畫連接、實(shí)時(shí)曲線等顯示出來(lái)。2)歷史曲線:顯示系統(tǒng)運(yùn)行的時(shí)候各個(gè)主要變量的歷史記錄,可以查詢以前的歷史記錄時(shí)段,任意時(shí)間的記錄。3)控制功能:在上位機(jī)端可對(duì)底層PLC、智能儀表進(jìn)行控制,實(shí)現(xiàn)遠(yuǎn)程控制。4)數(shù)據(jù)存儲(chǔ):每隔一定時(shí)間將數(shù)據(jù)保存到ACCESS中,方便以后的查詢,所保存的數(shù)據(jù)還可以通過(guò)E×CEL進(jìn)行查詢,進(jìn)行二次處理。5)報(bào)警功能:當(dāng)有事故或故障發(fā)生時(shí),微機(jī)通過(guò)外接音箱發(fā)出語(yǔ)音報(bào)警,并在微機(jī)屏幕上給出提示;報(bào)警畫面上可以設(shè)置報(bào)警的上限、上上限、下限和下下限,當(dāng)超過(guò)了設(shè)置的范圍時(shí)就會(huì)有報(bào)警,保證了系統(tǒng)的安全運(yùn)行。6)打印功能:打印各種報(bào)表、歷史曲線、運(yùn)行記錄、報(bào)警數(shù)據(jù)等。PLC和組態(tài)王所支持的智能儀表與組態(tài)王之間的通訊不需要編寫程序讀取設(shè)備的內(nèi)部寄存器的值,相關(guān)的驅(qū)動(dòng)程序已經(jīng)集成在組態(tài)王中,只需要在組態(tài)王中定義對(duì)應(yīng)的設(shè)備,并定義相應(yīng)的I/O變量即可讀取設(shè)備內(nèi)部寄存器的值。而組態(tài)王所不支持的儀表則由單片機(jī)進(jìn)行數(shù)據(jù)采集、轉(zhuǎn)換,并且由單片機(jī)通過(guò)通用單片機(jī)ASCI|通信協(xié)議和組態(tài)王數(shù)據(jù)共享。當(dāng)組態(tài)王要讀取單片機(jī)的數(shù)據(jù)時(shí),將會(huì)向單片機(jī)發(fā)送基于該協(xié)議的讀命令包,單片機(jī)響應(yīng)后,將數(shù)據(jù)發(fā)送給組態(tài)王,其數(shù)據(jù)發(fā)送格式也是基于通用單片機(jī)ASC||通信協(xié)議的。3數(shù)據(jù)處理3.1數(shù)據(jù)存儲(chǔ)組態(tài)王雖然可定義數(shù)據(jù)文件在硬盤中的保存日期(超過(guò)該日期自動(dòng)從硬盤中刪除),但如果要保存的時(shí)間較長(zhǎng),保存的數(shù)據(jù)量將非常龐大,不僅造成硬盤的浪費(fèi),而且由于組態(tài)王的數(shù)據(jù)文件結(jié)構(gòu)形式復(fù)雜,年終時(shí)報(bào)表處理也需要花費(fèi)大量的處理時(shí)間。因此,在本系統(tǒng)中使用SQL技術(shù),將數(shù)據(jù)隔一定的時(shí)間(如1小時(shí))保存到ACCESS2000中。具體實(shí)現(xiàn)步驟如下:首先,建立一個(gè)ACCESS數(shù)據(jù)庫(kù),在此命名為“變量數(shù)據(jù)”,并且建立相應(yīng)的數(shù)據(jù)表“溫度數(shù)據(jù)”,然后在控制面板中的ODBC數(shù)據(jù)源中添加一個(gè)基于驅(qū)動(dòng)程序AC—CESSDrIver的數(shù)據(jù)源,在本系統(tǒng)中取名為“工作站”,并將該數(shù)據(jù)源連接到剛剛建立的ACCESS數(shù)據(jù)庫(kù)“變量數(shù)據(jù)”。在組態(tài)王中用語(yǔ)句SQLConnect(DevicelD,“dsn=工作站;uid=;pwd=”)實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的連接。接著在組態(tài)王中建立對(duì)應(yīng)的記錄體,記錄體名應(yīng)和數(shù)據(jù)表名相同;記錄體中的字段名稱也需和數(shù)據(jù)表中的字段名稱相同。建好記錄體后,可以在組態(tài)王命令語(yǔ)言中的“運(yùn)行時(shí)”,使用SQLInsert(DeviceID,“溫度數(shù)據(jù)”,“溫度數(shù)據(jù)”)語(yǔ)句將組態(tài)王的數(shù)據(jù)保存到ACCESS數(shù)據(jù)庫(kù)中,當(dāng)系統(tǒng)退出運(yùn)行時(shí)語(yǔ)句SQLDISCONNECT(DeviceID)斷開和數(shù)據(jù)庫(kù)的連接。3.2數(shù)據(jù)檢索考慮到組態(tài)王提供的報(bào)表格式有限,不能滿足工程的需要,而使用EXCEL可以方便地進(jìn)行表格式數(shù)據(jù)綜合管理和分析等二次處理的功能,系統(tǒng)添加了E×CEL對(duì)ACCESS數(shù)據(jù)庫(kù)進(jìn)行查詢的功能。EXCEL提供了“宏”的概念來(lái)進(jìn)行功能擴(kuò)展,宏是存儲(chǔ)在VisuaIBasIc模塊中的一系列命令和函數(shù),當(dāng)需要執(zhí)行該項(xiàng)任務(wù)時(shí)可隨時(shí)運(yùn)行宏。其開發(fā)環(huán)境稱之為VBA(VjsuaIBasicForApp¨cation),VBA提供了一套基于VB的面向?qū)ο蟮南到y(tǒng)開發(fā)工具,很多語(yǔ)法繼承于VB語(yǔ)言,可以像編寫VB程序那樣來(lái)編寫VBA程序,實(shí)現(xiàn)特定的功能。支持VBA二次開發(fā)的應(yīng)用程序都內(nèi)建許多對(duì)象,這些對(duì)象都具有方法和屬性。VBA通過(guò)改變這些對(duì)象的屬性,調(diào)用相應(yīng)的方法訪問這些對(duì)象,實(shí)現(xiàn)編程目的。ExceI中的VBA,主要在VB中增加了關(guān)于ExceI工作簿、工作表、區(qū)域、數(shù)據(jù)透視表等對(duì)象的屬性、事件和方法。要使用VBA進(jìn)行數(shù)據(jù)庫(kù)查詢必須先添加“×Iodbc.xIa”加載宏,該宏中封裝了對(duì)數(shù)據(jù)庫(kù)訪問、搜索、查詢的功能,該宏在0f—fice安裝盤中可以找到,添加方式為“E×CEL一工具一宏一VisualBasic編輯器一工具一引用”。在使用VBA編程時(shí),首先要注意在E×CEL中工作簿定義為“Workb∞k”工作表為“worksheet”區(qū)域?yàn)椤皉ange”單元為“ce¨”。在編程時(shí)對(duì)單元格進(jìn)行操作,必須指明單元格所在的工作表以及所在的區(qū)域。以下語(yǔ)句示例將Sheetl上A1單元格的值設(shè)置為3.1,Worksheets(“Sheetl”).Range(“A1”).VaIue=3.1下面介紹幾個(gè)重要的數(shù)據(jù)庫(kù)檢索函數(shù):chan=SQLOpen(“DSN=server,,)建立與數(shù)據(jù)源的連接,其中server為數(shù)據(jù)源名。SQLExecQuery(ConnectIon,TeXt)函數(shù)在該數(shù)據(jù)源上執(zhí)行查詢。Connection指定要查詢的數(shù)據(jù)源的唯一連接標(biāo)識(shí);Text要在數(shù)據(jù)源上執(zhí)行的查詢內(nèi)容。Setoutput=Worksheets(“電流”).Range(“A1”)將查詢結(jié)果顯示在表“電流”的A1單元格中。SQLRelr

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論