基于聚類算法和行程編碼的工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)研究與實(shí)現(xiàn)
第一章 緒 論
隨著信息時(shí)代的到來,數(shù)據(jù)信息的眾多問題越來越突出,其在工業(yè)生產(chǎn)過程中也占據(jù)著越來越重要的地位。作為工業(yè)生產(chǎn)系統(tǒng)的重要組成部分,生產(chǎn)過程中的數(shù)據(jù)報(bào)表作用日益被各大企業(yè)所看重。工業(yè)數(shù)據(jù)報(bào)表同時(shí)也是一種瀏覽信息、分析數(shù)據(jù)的重要工具[1]。但是,現(xiàn)有工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)中的一些問題一直困擾著使用者,,如海量數(shù)據(jù)的存儲(chǔ)、不支持多種數(shù)據(jù)報(bào)表格式、歸檔查詢功能簡(jiǎn)單不能滿足要求等。因此,分析目前現(xiàn)有各種組態(tài)及工業(yè)報(bào)表系統(tǒng)的優(yōu)缺點(diǎn),開發(fā)適合我國(guó)國(guó)情并具有通用性的工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)是必要的。
1.1 課題研究的背景
目前 DCS(Distributed Control System)系統(tǒng)廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)的各個(gè)領(lǐng)域,其中服務(wù)器端通常采用組態(tài)軟件進(jìn)行設(shè)計(jì),如國(guó)外的 WinCC、Citech、ASPEN-tech;國(guó)內(nèi)的力控、組態(tài)王、世紀(jì)星等。它們都是在自動(dòng)控制系統(tǒng)監(jiān)控層一級(jí)的軟件平臺(tái)和開發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供具有快速構(gòu)建工業(yè)自動(dòng)控制系統(tǒng)監(jiān)控功能的,且具有一定層次的軟件工具。其中報(bào)表系統(tǒng)是組態(tài)軟件的一個(gè)重要功能,承擔(dān)著對(duì)工業(yè)生產(chǎn)過程中產(chǎn)生的數(shù)據(jù)進(jìn)行歸檔、查詢,為管理人員提供數(shù)據(jù)分析依據(jù)的重任。但是報(bào)表中信息在實(shí)際存儲(chǔ)中卻受到很多限制[2]:報(bào)表系統(tǒng)多是組態(tài)軟件自帶的報(bào)表工具,當(dāng)存儲(chǔ)數(shù)據(jù)量過大時(shí),報(bào)表系統(tǒng)存儲(chǔ)數(shù)據(jù)仍然是按照順序進(jìn)行存儲(chǔ),不對(duì)數(shù)據(jù)進(jìn)行壓縮處理,這樣會(huì)造成存儲(chǔ)空間需求增大,系統(tǒng)運(yùn)行緩慢等一系列問題。
.......
1.2 課題來源
石家莊橋東污水處理廠是總投資 9.6 億的省重點(diǎn)項(xiàng)目,也是“河北省利用世界銀行貸款河北城市環(huán)境項(xiàng)目”的子項(xiàng)目之一,目前已投入運(yùn)營(yíng),使得市區(qū)京廣鐵路以東的城市污水得到了有效的處理。石家莊橋東污水處理廠采用的是國(guó)際上領(lǐng)先的網(wǎng)絡(luò)控制系統(tǒng),其監(jiān)測(cè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖 1-1 所示:使用德國(guó)西門子公司的網(wǎng)絡(luò)控制系統(tǒng)來對(duì)全廠各個(gè)污水處理端口進(jìn)行檢測(cè)控制,同時(shí)通過廠內(nèi)光纖環(huán)網(wǎng)將采集到的數(shù)據(jù)進(jìn)行上傳,傳送至中控室內(nèi),由中控室內(nèi)的數(shù)據(jù)服務(wù)器進(jìn)行處理、存儲(chǔ)。中控室各個(gè)終端采用西門子公司的 WinCC 軟件。從圖 1-1 中可以看出,整個(gè)監(jiān)測(cè)網(wǎng)絡(luò)結(jié)構(gòu)分為三級(jí)冗余結(jié)構(gòu):(1)一級(jí):現(xiàn)場(chǎng)控制級(jí)。現(xiàn)場(chǎng)控制終端采用西門子公司的 PLC S7-300 和 S7-200相結(jié)合的監(jiān)測(cè)、控制方式,接受上一級(jí)的控制指令,對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行監(jiān)測(cè)和控制;并將在現(xiàn)場(chǎng)設(shè)備監(jiān)測(cè)端口采集的數(shù)據(jù)進(jìn)行上傳、匯總,送往上一級(jí)服務(wù)器。(2)二級(jí):現(xiàn)場(chǎng)管理子站。采用西門子公司的 PLC S7-400 作為子站服務(wù)器,分別對(duì)污水處理廠的進(jìn)水泵站、鼓風(fēng)機(jī)站、變電站、污泥控制室等 4 大部分的現(xiàn)場(chǎng)設(shè)備和儀表進(jìn)行監(jiān)測(cè)和管理。三級(jí)現(xiàn)場(chǎng)控制單元檢測(cè)采集的數(shù)據(jù)經(jīng)過匯總,會(huì)集中到各自對(duì)應(yīng)的子站服務(wù)器中,等待上位機(jī)進(jìn)行數(shù)據(jù)交換操作。
.......
第二章 行程編碼和聚類算法相結(jié)合的數(shù)據(jù)壓縮算法研究
2.1 數(shù)據(jù)庫(kù)的數(shù)據(jù)組織及訪問方式
數(shù)據(jù)庫(kù)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)有很多種類型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫(kù)系統(tǒng),他們都在各個(gè)方面得到了廣泛的應(yīng)用。二維表在數(shù)據(jù)庫(kù)存儲(chǔ)中占有重要地位,因?yàn)閿?shù)據(jù)庫(kù)中多數(shù)數(shù)據(jù)都是存儲(chǔ)在像二維表這樣的關(guān)系表中。當(dāng)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行查詢時(shí),二維表也是一個(gè)基本單位,二維表的結(jié)構(gòu)特點(diǎn)決了二維表在關(guān)系數(shù)據(jù)庫(kù)中的地位。二維表的行稱為一個(gè)元組,列稱為屬性。二維表中的記錄數(shù)隨實(shí)體的增減而變化,但字段個(gè)數(shù)卻是相對(duì)固定的,因此所有記錄的長(zhǎng)度都是相同的。二維表之間的數(shù)據(jù)聯(lián)系通過一個(gè)表的碼與另一個(gè)表的外碼的連接來體現(xiàn)[14]。
.......
2.2 關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)冗余與冗余的度量
2.2.1 關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余類型
冗余的存在是運(yùn)行壓縮的條件之一。通常情況下,冗余主要是指數(shù)據(jù)的重復(fù),包括在時(shí)間上、數(shù)據(jù)量上、空間上的重復(fù)。關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)重復(fù)主要有表的重復(fù)、屬性的重復(fù)、元組的重復(fù)等,其具體含義為:(1)為了數(shù)據(jù)安全的需要制作備份表,當(dāng)主表被破壞時(shí)可用此恢復(fù)數(shù)據(jù)。分布式數(shù)據(jù)庫(kù)為減少數(shù)據(jù)通訊開銷也常重復(fù)放表,這種數(shù)據(jù)冗余在這里是必需數(shù)據(jù)冗余,不能刪除。若是因其他原因產(chǎn)生的非必要的重復(fù)表則應(yīng)予以刪除。(2)屬性重復(fù)有不同表的屬性重復(fù)和同一表內(nèi)屬性重復(fù)兩種情況:不同表的屬性重復(fù)常用來建立表之間聯(lián)系,這只需要一個(gè)公共屬性,這是必需數(shù)據(jù)冗余,不能刪除;各表間的多于一個(gè)的屬性應(yīng)當(dāng)刪除。同一表內(nèi)有相同屬性內(nèi)容的多個(gè)屬性,若非數(shù)據(jù)安全檢查的需要,應(yīng)當(dāng)刪除。(3)表內(nèi)不同記錄內(nèi)容有時(shí)會(huì)完全相同,若非必要,應(yīng)予以刪除。元組的重復(fù)所引起的數(shù)據(jù)冗余的消除由記錄級(jí)的操作完成。上面數(shù)據(jù)庫(kù)的重復(fù)方式基本相類似,但還有另外一種冗余存在方式。這樣的冗余重復(fù)在數(shù)據(jù)庫(kù)的存儲(chǔ)中也占有很大部分,也是數(shù)據(jù)壓縮時(shí)經(jīng)常處理的一種壓縮形式。
.......
第三章 工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)的功能與實(shí)現(xiàn)研究.....32
3.1 工業(yè)數(shù)據(jù)報(bào)表研究開發(fā)環(huán)境及語(yǔ)言 ....32
3.2 工業(yè)數(shù)據(jù)報(bào)表總體功能介紹 ........34
3.3 登錄功能實(shí)現(xiàn) ........37
3.4 主窗體導(dǎo)航模塊功能實(shí)現(xiàn) ....38
3.5 基于聚類算法和行程編碼的歷史數(shù)據(jù)模塊功能實(shí)現(xiàn) ........39
3.6 基于聚類算法和行程編碼的數(shù)據(jù)曲線模塊功能實(shí)現(xiàn) ........42
3.7 基于聚類算法和行程編碼的階段查詢模塊功能實(shí)現(xiàn) ........44
3.8 基于聚類算法和行程編碼的報(bào)警查詢模塊功能實(shí)現(xiàn) ........48
3.9 變量管理模塊功能實(shí)現(xiàn) ........50
3.10 用戶管理模塊功能實(shí)現(xiàn) ......55
3.11 本章小結(jié).......60
第四章 數(shù)據(jù)壓縮算法在報(bào)表系統(tǒng)中的應(yīng)用及測(cè)試.....61
4.1 基于行程編碼算法的時(shí)間標(biāo)簽的壓縮 ........61
4.2 基于聚類差分壓縮算法的數(shù)據(jù)庫(kù)數(shù)據(jù)元組壓縮 ........64
4.3 數(shù)據(jù)查詢解壓縮操作 ....66
4.4 本章小結(jié) ........67
第五章 結(jié)論與展望.........68
第四章 數(shù)據(jù)壓縮算法在報(bào)表系統(tǒng)中的應(yīng)用及測(cè)試
本章將數(shù)據(jù)聚類壓縮算法代入到數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)壓縮中,對(duì)數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù)及新采集上來的數(shù)據(jù)進(jìn)行壓縮處理,同時(shí)根據(jù)數(shù)據(jù)時(shí)間標(biāo)簽的特點(diǎn),將行程編碼壓縮算法運(yùn)用到數(shù)據(jù)對(duì)應(yīng)時(shí)間標(biāo)簽的壓縮處理中。
4.1 基于行程編碼算法的時(shí)間標(biāo)簽的壓縮
時(shí)間標(biāo)簽作為數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的時(shí)間標(biāo)志,表明了采集的歷史數(shù)據(jù)的時(shí)間點(diǎn),是查詢歷史數(shù)據(jù)的一項(xiàng)重要依據(jù),同時(shí)工程人員也可通過此項(xiàng)記錄來查看過去某一時(shí)間點(diǎn)設(shè)備運(yùn)行情況,故障發(fā)生時(shí)間。若數(shù)據(jù)按采集時(shí)間排列,也就顯示出數(shù)據(jù)的發(fā)展趨勢(shì),為工藝改進(jìn)、設(shè)備維護(hù)、策劃管理提供了重要依據(jù)。時(shí)間標(biāo)簽基本是按照固定時(shí)間間隔的時(shí)間點(diǎn),因?yàn)闀r(shí)間標(biāo)簽記錄的就是采集數(shù)據(jù)時(shí)的時(shí)間點(diǎn),一般來說工業(yè)生產(chǎn)過程中數(shù)據(jù)的采集周期是固定的,可能是 1 s,或是 0.5 s。雖然因?yàn)槟承┰驎?huì)使數(shù)據(jù)采集時(shí)間差生微小偏差,但基本不妨礙工程人員從數(shù)據(jù)中獲取信息,因此可以對(duì)數(shù)據(jù)產(chǎn)生的時(shí)間標(biāo)簽進(jìn)行預(yù)處理,使得時(shí)間標(biāo)簽周期為固定時(shí)間,這樣就可以把時(shí)間標(biāo)簽調(diào)整為上一個(gè)時(shí)間標(biāo)簽和差值組合的形式存儲(chǔ)。經(jīng)過初步處理后,時(shí)間標(biāo)簽之間的差值基本為同一數(shù)值,只有在采集數(shù)據(jù)缺失時(shí)才會(huì)使時(shí)間差值為原來的整數(shù)倍。由此一來,時(shí)間標(biāo)簽之間的相似性就非常大,特別是相鄰兩個(gè)時(shí)間標(biāo)簽之間,為時(shí)間標(biāo)簽的壓縮提供了可能。對(duì)于時(shí)間標(biāo)簽的這一特性,可以采用較為簡(jiǎn)單有效的行程編碼壓縮算法對(duì)其進(jìn)行壓縮處。
........
結(jié)論
本文的工作是對(duì)基于聚類算法和行程編碼的工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)的研究,在充分考慮系統(tǒng)的功能、成本、實(shí)現(xiàn)難易程度的基礎(chǔ)上,根據(jù)現(xiàn)場(chǎng)調(diào)研,獲取現(xiàn)場(chǎng)工業(yè)查詢要求。選擇 VisualStudio 2008 作為程序的開發(fā)環(huán)境,C#為開發(fā)語(yǔ)言,利用 Visual Studio 2008 便捷強(qiáng)大的軟件開發(fā)能力,設(shè)計(jì)出符合工業(yè)要求的工業(yè)數(shù)據(jù)報(bào)表,并且采用 SQL2005 作為系統(tǒng)數(shù)據(jù)庫(kù),將工業(yè)報(bào)表與數(shù)據(jù)庫(kù)相連。同時(shí)將聚類壓縮算法和 RLE 文本壓縮算法引入到工業(yè)報(bào)表數(shù)據(jù)壓縮處理中,減少數(shù)據(jù)存儲(chǔ)所占空間,取得較好的壓縮效果。本文的主要工作:
(1)根據(jù)現(xiàn)場(chǎng)工業(yè)具體功能要求,提出了基于數(shù)據(jù)壓縮的工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)研究方案,并對(duì)整個(gè)工業(yè)數(shù)據(jù)報(bào)表進(jìn)行了詳細(xì)的設(shè)計(jì)。在 Visual Studio 2008 編程環(huán)境下,采用 C#語(yǔ)言,對(duì)工業(yè)數(shù)據(jù)報(bào)表進(jìn)行了實(shí)現(xiàn),設(shè)計(jì)出具有歷史數(shù)據(jù)查詢、曲線查詢、變量管理、用戶管理等滿足工業(yè)需求的報(bào)表工具。
(2)對(duì)歷史數(shù)據(jù)庫(kù)數(shù)據(jù)特性進(jìn)行了分析,介紹了聚類壓縮算法的優(yōu)點(diǎn)和它的整體運(yùn)算流程。采用排序的方式進(jìn)行分組及選取中心元組,可有效的降低對(duì)孤立點(diǎn)的敏感度,且具有有序性和全面性;利用經(jīng)驗(yàn)規(guī)則和代價(jià)函數(shù)選擇最優(yōu) k值,較好的減少了測(cè)試次數(shù),無需人工干預(yù)。確定這兩大參數(shù)即可完成元組聚類分組。最后進(jìn)行參照關(guān)系的討論和差分壓縮處理。進(jìn)過上面一系列步驟,可以對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行較好的壓縮處理。同時(shí)針對(duì)時(shí)間標(biāo)簽的特性,對(duì)行程編碼壓縮算法也進(jìn)行了詳細(xì)研究。
(3)將經(jīng)過討論、優(yōu)化的聚類壓縮算法和行程編碼壓縮算法結(jié)合起來,引入到工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)的數(shù)據(jù)庫(kù)數(shù)據(jù)壓縮中。用行程編碼壓縮算法對(duì)時(shí)間標(biāo)簽進(jìn)行壓縮;聚類壓縮算法對(duì)數(shù)據(jù)庫(kù)中數(shù)值數(shù)據(jù)進(jìn)行壓縮處理,通過這兩種壓縮算法的相結(jié)合,可以對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行良好的壓縮處理。并且在數(shù)據(jù)查詢時(shí)可達(dá)到較快速的解壓縮操作。
............
參考文獻(xiàn)(略)
本文編號(hào):38662
本文鏈接:http://sikaile.net/wenshubaike/lwfw/38662.html