范煜
作為一種基礎設施投資,企業(yè)期望從工業(yè)互聯(lián)網(wǎng)中可以獲取多方面的收益,通過對歷史數(shù)據(jù)的分析,找到數(shù)據(jù)挖掘的方向。
在工業(yè)大數(shù)據(jù)應用中,數(shù)據(jù)采集和存儲只是基礎,重點是數(shù)據(jù)分析和數(shù)據(jù)挖掘?;谔囟繕说臄?shù)據(jù)挖掘雖然可能產(chǎn)生立竿見影的效果,但也可能一無所獲。工業(yè)互聯(lián)網(wǎng)作為一種基礎設施投資,企業(yè)期望從中可以獲取多方面的收益,可以在支持日常生產(chǎn)經(jīng)營活動的同時,通過對歷史數(shù)據(jù)的分析,找到數(shù)據(jù)挖掘的方向。
如果把數(shù)據(jù)挖掘當做鉆井,數(shù)據(jù)分析就是勘探,可以為數(shù)據(jù)挖掘找到合適的井位(目標)。
工業(yè)大數(shù)據(jù)在日常生產(chǎn)經(jīng)營活動的作用可以分為快速反饋和深入分析兩個方面。快速反饋是指能及時看到日常生產(chǎn)數(shù)據(jù),對生產(chǎn)經(jīng)營的管理措施能迅速看到效果。
主要針對擁有多套生產(chǎn)控制系統(tǒng),或者有多個下屬企業(yè),目前數(shù)據(jù)分布在多種工業(yè)過程自動化系統(tǒng)中的情況。
深入分析是從多個維度入手,每個維度按層次結構逐級分析歷史數(shù)據(jù),按照一定路徑深入了解不同下屬企業(yè)、不同控制系統(tǒng)、不同測點的具體數(shù)據(jù)變化,特別是結合報警、故障數(shù)據(jù)的分析,建立多種故障預測模型。
一、項目背景和實現(xiàn)目標
本項目的客戶是一個集團,有五個下屬企業(yè)。
集團公司目前的日常生產(chǎn)數(shù)據(jù)的反饋是由下屬公司每天上報Excel格式數(shù)據(jù)報表,經(jīng)過人工匯總后生成日報表。下屬公司是值班人員從SCADA系統(tǒng)上在每天固定時間查詢數(shù)據(jù),放到預置公式的Excel表,再計算上報。
本項目先建立一套績效指標體系,按照可以分析的數(shù)據(jù)項由少到多,分別實現(xiàn)管理駕駛艙、綜合數(shù)據(jù)報表和專題數(shù)據(jù)分析,并支持后續(xù)的數(shù)據(jù)挖掘。
數(shù)據(jù)是將多個下屬公司的SCADA系統(tǒng)聯(lián)網(wǎng),實現(xiàn)數(shù)據(jù)的自動采集、上報。管理駕駛艙只顯示少量的頂層指標,并配上直觀的統(tǒng)計圖形,便于管理高層能迅速掌握公司整體運營狀況。
專題數(shù)據(jù)分析基于多維數(shù)據(jù)分析技術,可以對所有績效指標及構成績效指標的指標變量進行多維度的分析,而且可以按照一定的層次結構逐級鉆取到最小粒度。
綜合數(shù)據(jù)報表可以代替日報及月報,看到當月及當年的累計數(shù)據(jù),并和去年同期進行對比,時間粒度為日,顯示的數(shù)據(jù)項可以從專題數(shù)據(jù)分析中選擇,數(shù)據(jù)項是專題數(shù)據(jù)分析中指標加維度組合的一個子集。
從SCADA系統(tǒng)直接讀取數(shù)據(jù),有以下優(yōu)點:
1.及時:可以實時獲取相關數(shù)據(jù)。
2.準確:防止人工抄錄時的錯誤,或人為修改。
3.精細:有些以前沒有上報的數(shù)據(jù)也可以看到。
二、數(shù)據(jù)基礎和來源
工業(yè)大數(shù)據(jù)的工作基礎是積累大量的數(shù)據(jù),這些數(shù)據(jù)不但已經(jīng)采集上來,而且保存在歷史數(shù)據(jù)庫(或稱歸檔數(shù)據(jù)庫)中。這就要求企業(yè)已經(jīng)部署了PLC、DCS、FCS系統(tǒng),而且運行一段時間,有一定的數(shù)據(jù)積累。
PLC等數(shù)據(jù)不僅在現(xiàn)場可以采集,而且已經(jīng)聯(lián)網(wǎng)中央控制室,進行集中管理,通過SCADA或/和實時數(shù)據(jù)庫實現(xiàn)歷史數(shù)據(jù)的保存。
本項目的五個下屬企業(yè),運行了六個不同廠家開發(fā)的SCADA系統(tǒng),其中兩個系統(tǒng)是同一廠家提供,但一個已經(jīng)升級到MongoDB,一個還是原來的SQL Server,還有兩個下屬企業(yè)都是使用西門子的WinCC,但由不同廠家提供。有的下屬企業(yè)原來有多個獨立的SCADA系統(tǒng),現(xiàn)在已經(jīng)整合為一套了。
從數(shù)據(jù)源的訪問技術來劃分,MongoDB一個,SQL Server兩個、Oracle一個、WinCC兩個,雖然WinCC也采用SQL Server數(shù)據(jù)庫,但數(shù)據(jù)經(jīng)過加密,需要通過專門的OLEDB接口和命令格式訪問,所以和一般可直接訪問的SQL Server取數(shù)技術不同。
三、專題數(shù)據(jù)分析
專題數(shù)據(jù)分析是管理駕駛艙和綜合數(shù)據(jù)報表的基礎。專題數(shù)據(jù)分析為了實現(xiàn)對大規(guī)模歷史數(shù)據(jù)進行統(tǒng)計分析,同時又不降低實際監(jiān)控信息系統(tǒng)對實時數(shù)據(jù)庫的訪問性能,需要建立獨立的數(shù)據(jù)倉庫系統(tǒng)。
采集數(shù)據(jù)首先從控制系統(tǒng)歷史庫中提取數(shù)據(jù),按原來的粒度,保存到mongoDB數(shù)據(jù)庫中,然后,從mongoDB中讀出數(shù)據(jù),按小時保存到數(shù)據(jù)倉庫中。
變量表和報警等數(shù)據(jù),直接保存到數(shù)據(jù)倉庫中。
1.報警和采集數(shù)據(jù)分析
對來自多個SCADA系統(tǒng)的報警數(shù)據(jù)和變量的采集數(shù)據(jù)進行集中分析,是所有系統(tǒng)公用的功能,與每個SCADA系統(tǒng)的具體功能以及變量采集數(shù)據(jù)的類型無關。
報警數(shù)據(jù)的分析指標有報警次數(shù)、平均報警時間、報警的最長時間,可以了解極端清況下傳感器的情況。觀察分析報警時數(shù)據(jù)的時間走勢,也有助于了解數(shù)據(jù)的變化。
變量按不同下屬公司進行分析,每個公司按分區(qū)、站點組織成一個樹形結構,可以逐級鉆取,可以比較不同下屬公司,或者同個下屬公司的不同分區(qū)之間的報警情況。
鉆取或選擇到具體變量后,可以查詢該變量在一天內的所有數(shù)據(jù),以實際采集時間間隔顯示,比如分鐘。同時顯示上下限值,可以觀察一個報警比較頻繁,或時間比較長的一天內,數(shù)據(jù)相對上下限值的變化。如果是上下限值分時間段變化的,比如白天和晚上不同,也分別顯示出來。報警數(shù)據(jù)的顯示最小粒度是天,而采樣數(shù)據(jù)是實際采集時間間隔,比如分鐘。對于沒有報警的變量,可以直接輸入變量號,查詢詳細的采樣數(shù)據(jù)。
雖然在SCADA系統(tǒng)或實時數(shù)據(jù)庫系統(tǒng),都可以顯示采集數(shù)據(jù)的變化曲線,這里的優(yōu)勢是綜合了不同的公司或不同類型系統(tǒng)的數(shù)據(jù)統(tǒng)一顯示。
2、總量數(shù)據(jù)分析
用變量數(shù)據(jù)可以計算流量、用電量等產(chǎn)量或成本數(shù)據(jù),這些數(shù)據(jù)是累加的,所以是總量數(shù)據(jù)類型。
生產(chǎn)數(shù)據(jù)雖然取自SCADA,但許多情況下是人工讀取,手工計算,逐級上報。現(xiàn)代管理的要求是能夠從生產(chǎn)檢測和控制系統(tǒng)中直接獲取數(shù)據(jù)。而且,需要了解并生成總量數(shù)據(jù)的各組成部分的數(shù)據(jù)。
本項目首先要讀取變量數(shù)據(jù),再進行計算。為便于快速分析,沒有按采集時間間隔保存數(shù)據(jù),而是轉換為小時。一個總量數(shù)據(jù)會是多個變量數(shù)據(jù)的匯總,所以要建立多個變量中數(shù)據(jù)的加減關系,才能根據(jù)每個變量的數(shù)據(jù)自動匯總為總數(shù)。
建立變量之間的樹形關系,除用于計算外,還可用于數(shù)據(jù)的鉆取。比如一個企業(yè)的用電量是由多個車間的用電量累計而成,通過鉆取該下屬企業(yè),可以看到每個車間的用電量。一般分析維度由日期、時間、變量組成,時間粒度為小時,也可以設為分鐘、秒。
3.控制數(shù)據(jù)的分析
控制數(shù)據(jù)指的是電壓、水壓等,一般是在一個范圍內波動,如果超過預先設定的上下限值,就要報警。上下限值可能是固定的,也可以一天分為多個時間段,設為不同限值。限值甚至可以是動態(tài)的。
控制數(shù)據(jù)需要分析一段時間的變化情況,主要是分析平均值、最大值、最小值、合格率。分析維度有日期、時間和變量。數(shù)據(jù)可以按照年、月、日,或變量鉆取。
四、采集數(shù)據(jù)的處理
變量的數(shù)據(jù)類型分為模擬項和離散項,模擬項又可以分為總量型和控制型,記錄總量數(shù)據(jù)的變量值又分為累計值和瞬時值:
1)累計值:數(shù)據(jù)為累計增加,兩次之間的差,即為這期間的數(shù)量,比如水流量、電量,采樣時間為1分鐘,則差額為1分鐘的水量或電量。
2)瞬時值:數(shù)據(jù)為采樣時間的瞬時數(shù)值,一般計量單位為小時,如果采樣間隔時間為1分鐘,則這1分鐘的用量為瞬時值除以60。
3)監(jiān)測值:數(shù)據(jù)為在一個上限和下限值之間浮動的數(shù)值,比如電壓值、水壓值、PH值等
1.總量數(shù)據(jù)處理
為便于分析,總量值需要轉換為單位時間的數(shù)量??紤]到如果數(shù)據(jù)量太大,會影響處理和顯示速度,所以以小時為單位保存,當然也可以考慮分鐘。累計值變量的小時數(shù)據(jù)只需要將相隔一個小時的兩個時間點的數(shù)據(jù)相減即可。一般采樣時間為分鐘,兩個時間點之間的數(shù)據(jù)忽略,不會影響精度。但是,有的時間點不正好是整點,如果原始時間與達到時間并不是已小時為單位,而是相差幾分鐘,則需要微調一下數(shù)據(jù)。用瞬時值計算小時用量,需要用每個采集數(shù)據(jù)乘以時間間隔,主要是考慮到數(shù)據(jù)波動的影響??偭繑?shù)據(jù)可以累加進行分析,累加包括時間的累加,也包括多個變量之間數(shù)據(jù)的累計。有時變量之間關系復雜,因此需要建立一張對應表,將多個變量之間的加減關系注明,才能準確計算累計總量數(shù)據(jù)。有時一個變量的數(shù)據(jù)可以用于計算多個總量數(shù)據(jù)。
2.控制數(shù)據(jù)的處理
控制變量分為設備數(shù)據(jù)和計算數(shù)據(jù):
1)計算數(shù)據(jù):并無對應的傳感器,數(shù)據(jù)由子測點聚合而成
2)設備數(shù)據(jù):對應有傳感器,數(shù)據(jù)由傳感器直接采集,即使定義有子測點,也不使用子測點的數(shù)據(jù)
比如在一個處理車間有四個處理池,每個池有個測點,同時在車間出口也有一個測點,則車間的數(shù)據(jù)采用出口測點的數(shù)據(jù),但可以將四個處理池的測點作為車間的子測點,也可以鉆取看到每個處理池的數(shù)據(jù),并對四個池的數(shù)據(jù)進行比較分析。
五、數(shù)據(jù)的處理
1.離群值的去除
檢測值會摻雜一個離群點,這些值遠遠大于平均值。在處理數(shù)據(jù)時,需要識別這些離群點,并忽略。
但有的時間會一段時候數(shù)值都很大,這樣判斷離群點就比較困難,可能是設備或傳感器故障。即使能判斷,如果忽略全部數(shù)據(jù)的話,也不利于日后了解情況,所以只有保留。
2.缺失值的增加
在計算總量數(shù)據(jù)時,經(jīng)常會遇到缺失值,就是同個傳感器相鄰兩個時間點超過1小時,甚至多個小時,所以需要人工插入中間缺失的每個小時的記錄和值,不然做合計時,比如計算1天的累計流量,就會出錯。填充缺失值的方法是按缺失的每個小時增加一條記錄,計算兩頭數(shù)據(jù)差,按小時平均后作為其中每個小時的值。