基于聚類算法和行程編碼的工業(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)表格式、歸檔查詢功能簡單不能滿足要求等。因此,分析目前現(xiàn)有各種組態(tài)及工業(yè)報(bào)表系統(tǒng)的優(yōu)缺點(diǎn),開發(fā)適合我國國情并具有通用性的工業(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ì),如國外的 WinCC、Citech、ASPEN-tech;國內(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)營,使得市區(qū)京廣鐵路以東的城市污水得到了有效的處理。石家莊橋東污水處理廠采用的是國際上領(lǐng)先的網(wǎng)絡(luò)控制系統(tǒng),其監(jiān)測網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖 1-1 所示:使用德國西門子公司的網(wǎng)絡(luò)控制系統(tǒng)來對(duì)全廠各個(gè)污水處理端口進(jìn)行檢測控制,同時(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)測網(wǎng)絡(luò)結(jié)構(gòu)分為三級(jí)冗余結(jié)構(gòu):(1)一級(jí):現(xiàn)場控制級(jí),F(xiàn)場控制終端采用西門子公司的 PLC S7-300 和 S7-200相結(jié)合的監(jiān)測、控制方式,接受上一級(jí)的控制指令,對(duì)現(xiàn)場設(shè)備進(jìn)行監(jiān)測和控制;并將在現(xiàn)場設(shè)備監(jiān)測端口采集的數(shù)據(jù)進(jìn)行上傳、匯總,送往上一級(jí)服務(wù)器。(2)二級(jí):現(xiàn)場管理子站。采用西門子公司的 PLC S7-400 作為子站服務(wù)器,分別對(duì)污水處理廠的進(jìn)水泵站、鼓風(fēng)機(jī)站、變電站、污泥控制室等 4 大部分的現(xiàn)場設(shè)備和儀表進(jìn)行監(jiān)測和管理。三級(jí)現(xiàn)場控制單元檢測采集的數(shù)據(jù)經(jīng)過匯總,會(huì)集中到各自對(duì)應(yīng)的子站服務(wù)器中,等待上位機(jī)進(jìn)行數(shù)據(jù)交換操作。
.......
第二章 行程編碼和聚類算法相結(jié)合的數(shù)據(jù)壓縮算法研究
2.1 數(shù)據(jù)庫的數(shù)據(jù)組織及訪問方式
數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫。隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng),他們都在各個(gè)方面得到了廣泛的應(yīng)用。二維表在數(shù)據(jù)庫存儲(chǔ)中占有重要地位,因?yàn)閿?shù)據(jù)庫中多數(shù)數(shù)據(jù)都是存儲(chǔ)在像二維表這樣的關(guān)系表中。當(dāng)對(duì)數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢時(shí),二維表也是一個(gè)基本單位,二維表的結(jié)構(gòu)特點(diǎn)決了二維表在關(guān)系數(shù)據(jù)庫中的地位。二維表的行稱為一個(gè)元組,列稱為屬性。二維表中的記錄數(shù)隨實(shí)體的增減而變化,但字段個(gè)數(shù)卻是相對(duì)固定的,因此所有記錄的長度都是相同的。二維表之間的數(shù)據(jù)聯(lián)系通過一個(gè)表的碼與另一個(gè)表的外碼的連接來體現(xiàn)[14]。
.......
2.2 關(guān)系數(shù)據(jù)庫的數(shù)據(jù)冗余與冗余的度量
2.2.1 關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)冗余類型
冗余的存在是運(yùn)行壓縮的條件之一。通常情況下,冗余主要是指數(shù)據(jù)的重復(fù),包括在時(shí)間上、數(shù)據(jù)量上、空間上的重復(fù)。關(guān)系數(shù)據(jù)庫的數(shù)據(jù)重復(fù)主要有表的重復(fù)、屬性的重復(fù)、元組的重復(fù)等,其具體含義為:(1)為了數(shù)據(jù)安全的需要制作備份表,當(dāng)主表被破壞時(shí)可用此恢復(fù)數(shù)據(jù)。分布式數(shù)據(jù)庫為減少數(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ù)庫的重復(fù)方式基本相類似,但還有另外一種冗余存在方式。這樣的冗余重復(fù)在數(shù)據(jù)庫的存儲(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)境及語言 ....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)用及測試.....61
4.1 基于行程編碼算法的時(shí)間標(biāo)簽的壓縮 ........61
4.2 基于聚類差分壓縮算法的數(shù)據(jù)庫數(shù)據(jù)元組壓縮 ........64
4.3 數(shù)據(jù)查詢解壓縮操作 ....66
4.4 本章小結(jié) ........67
第五章 結(jié)論與展望.........68
第四章 數(shù)據(jù)壓縮算法在報(bào)表系統(tǒng)中的應(yīng)用及測試
本章將數(shù)據(jù)聚類壓縮算法代入到數(shù)據(jù)庫數(shù)據(jù)存儲(chǔ)壓縮中,對(duì)數(shù)據(jù)庫中的歷史數(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ù)庫中歷史數(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ā)展趨勢,為工藝改進(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)簽的這一特性,可以采用較為簡單有效的行程編碼壓縮算法對(duì)其進(jìn)行壓縮處。
........
結(jié)論
本文的工作是對(duì)基于聚類算法和行程編碼的工業(yè)數(shù)據(jù)報(bào)表系統(tǒng)的研究,在充分考慮系統(tǒng)的功能、成本、實(shí)現(xiàn)難易程度的基礎(chǔ)上,根據(jù)現(xiàn)場調(diào)研,獲取現(xiàn)場工業(yè)查詢要求。選擇 VisualStudio 2008 作為程序的開發(fā)環(huán)境,C#為開發(fā)語言,利用 Visual Studio 2008 便捷強(qiáng)大的軟件開發(fā)能力,設(shè)計(jì)出符合工業(yè)要求的工業(yè)數(shù)據(jù)報(bào)表,并且采用 SQL2005 作為系統(tǒng)數(shù)據(jù)庫,將工業(yè)報(bào)表與數(shù)據(jù)庫相連。同時(shí)將聚類壓縮算法和 RLE 文本壓縮算法引入到工業(yè)報(bào)表數(shù)據(jù)壓縮處理中,減少數(shù)據(jù)存儲(chǔ)所占空間,取得較好的壓縮效果。本文的主要工作:
(1)根據(jù)現(xiàn)場工業(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#語言,對(duì)工業(yè)數(shù)據(jù)報(bào)表進(jìn)行了實(shí)現(xiàn),設(shè)計(jì)出具有歷史數(shù)據(jù)查詢、曲線查詢、變量管理、用戶管理等滿足工業(yè)需求的報(bào)表工具。
(2)對(duì)歷史數(shù)據(jù)庫數(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值,較好的減少了測試次數(shù),無需人工干預(yù)。確定這兩大參數(shù)即可完成元組聚類分組。最后進(jìn)行參照關(guān)系的討論和差分壓縮處理。進(jìn)過上面一系列步驟,可以對(duì)數(shù)據(jù)庫中數(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ù)庫數(shù)據(jù)壓縮中。用行程編碼壓縮算法對(duì)時(shí)間標(biāo)簽進(jìn)行壓縮;聚類壓縮算法對(duì)數(shù)據(jù)庫中數(shù)值數(shù)據(jù)進(jìn)行壓縮處理,通過這兩種壓縮算法的相結(jié)合,可以對(duì)數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行良好的壓縮處理。并且在數(shù)據(jù)查詢時(shí)可達(dá)到較快速的解壓縮操作。
............
參考文獻(xiàn)(略)
本文編號(hào):38662
本文鏈接:http://sikaile.net/wenshubaike/lwfw/38662.html