◆夏紅偉
(江蘇省軍區(qū) 江蘇 210009)
在科技時代的今天,自動化和智能化能力成為企業(yè)的核心競爭力,提高自身的信息化水平成為企業(yè)的核心任務。在工業(yè)領(lǐng)域中,大多數(shù)企業(yè)都使用了集散控制系統(tǒng)展開管理,但是受到網(wǎng)絡(luò)安全隔離的要求和成本的限制,該系統(tǒng)的使用受到諸多限制。因此,本文通過設(shè)計實時數(shù)據(jù)采集系統(tǒng),在滿足安全需求的同時,優(yōu)化管理效果。
軟件設(shè)計要滿足以下六種要求:(1)數(shù)據(jù)采集系統(tǒng)和DCS系統(tǒng)不能互相影響;(2)DCS系統(tǒng)特定控制點上的數(shù)據(jù)要保存下來;(3)數(shù)據(jù)保存要保證歷史連續(xù)性;(4)采集系統(tǒng)即使遇到網(wǎng)絡(luò)故障也不能影響數(shù)據(jù)連續(xù)性;(5)采集系統(tǒng)遇到故障可以自動報警和自動恢復;(6)系統(tǒng)采樣周期控制在5s之內(nèi)。
采集系統(tǒng)的工作任務是將數(shù)據(jù)從控制網(wǎng)中收集到工作站中。如發(fā)電廠DCS系統(tǒng)具備上位機管理程序,能夠采集數(shù)據(jù),將特定控制點數(shù)據(jù)讀取出來。上位機管理程序所采集的數(shù)據(jù)只是在本地中保存下來,并不會公開文件格式,文件只保存了一個周期的數(shù)據(jù),歷史數(shù)據(jù)并沒有保存下來。因此本設(shè)計對此進行了優(yōu)化,在DCS系統(tǒng)中增設(shè)采樣機,在該采樣機上設(shè)置上位機管理程序,將程序中API函數(shù)調(diào)取出來,在采樣網(wǎng)絡(luò)之下使用通信程序?qū)?shù)據(jù)傳輸給數(shù)據(jù)庫。
在采集系統(tǒng)中設(shè)置了采樣站的配置和驗證、采樣點的配置和驗證、診斷網(wǎng)絡(luò)故障、收集采樣數(shù)據(jù)、傳輸數(shù)據(jù)、儲存離線數(shù)據(jù)、傳輸離線數(shù)據(jù)的功能。首先系統(tǒng)對采樣站登錄口令進行驗證,避免未經(jīng)授權(quán)的用戶啟動采樣工作。其次在采樣服務器中將DCS系統(tǒng)采集數(shù)據(jù)登錄口令、采樣站名稱、ip地址、mac地址以及DCS系統(tǒng)保存下來[1]。采樣站傳輸數(shù)據(jù)之前,將數(shù)據(jù)和服務器儲存信息進行對比,通過驗證之后傳輸采樣數(shù)據(jù)。在通信正常的情況下,數(shù)據(jù)被傳輸?shù)椒掌髦?,如果無法和服務器保持正常通信,采樣站數(shù)據(jù)傳輸狀態(tài)變成儲存狀態(tài)。在無法正常通信的時候,數(shù)據(jù)被保存到本地文件中。
對于采樣數(shù)據(jù)時間的測試,要在一個采樣周期中,得到全部控制點的數(shù)據(jù),同時在緩存區(qū)得到儲存,這個過程花費的時間就是rt。rt值越小代表著數(shù)據(jù)傳輸時間充裕。對本設(shè)計進行rt性能測試,在rt值為264ms時,控制點中包含了489個邏輯點和1200個模擬點,是控制點數(shù)量最少的DCS系統(tǒng)。在rt值為395ms時,控制點包含1217個邏輯點和3660個模擬點,是控制點數(shù)量最多的DCS系統(tǒng)。由此可以發(fā)現(xiàn)rt隨著控制點增加逐漸變大,時間可以控制在毫秒級別,數(shù)據(jù)采樣以及處理具備了充足的時間。
對于采樣周期性能的測試,為了能夠保持連續(xù)采樣,需要每個周期進行一次采樣工作,采樣工作之后還需要進行實時數(shù)據(jù)傳輸以及儲存工作,這些工作都需要在周期時間內(nèi)完成。事實上,周期是理論上的,并不能得到精準的把控,測試周期性能只能使用近似測量法。利用采樣單位時間和次數(shù)的比值,也就是實際采樣周期,記作PT。當PT值和T越接近的時候,代表著性能越好。對本設(shè)計進行測試,發(fā)現(xiàn)在控制點數(shù)量為 489個邏輯點和1200個模擬點時,采樣次數(shù)為118,PT值為5.08。在控制點數(shù)量為1217個邏輯點和3660個模擬點時,采樣次數(shù)為118,PT值為5.08。
實時數(shù)據(jù)采集系統(tǒng)中進行的是單向傳輸,只允許采樣站服務器傳輸數(shù)據(jù),不允許接收數(shù)據(jù)。同時系統(tǒng)需要優(yōu)先傳輸實時數(shù)據(jù),在線采樣數(shù)據(jù)會被優(yōu)先傳輸。系統(tǒng)還應該具備自動診斷和自動恢復能力,系統(tǒng)傳輸數(shù)據(jù)的時間,也就是采樣站傳出數(shù)據(jù),到服務器數(shù)據(jù)庫之間的時間要少于5s。
本文對系統(tǒng)功能進行了如下設(shè)計:采樣服務器處于非信任網(wǎng)絡(luò),因此采樣站和數(shù)據(jù)庫之間不能直線通訊,網(wǎng)閘文件接收線程來負責對文件的接收,將文件中數(shù)據(jù)傳輸給數(shù)據(jù)庫[2]。服務器處于網(wǎng)閘信任網(wǎng)絡(luò),采樣站才能和數(shù)據(jù)庫傳輸數(shù)據(jù)。離線傳輸服務器主要負責采樣站離線數(shù)據(jù)的傳輸,網(wǎng)閘文件發(fā)送線程則主要負責以文件形式傳輸數(shù)據(jù)。這樣的設(shè)計能夠?qū)崿F(xiàn)數(shù)據(jù)傳輸?shù)陌踩?,在系統(tǒng)維護上也十分簡便。通過網(wǎng)閘傳輸文件的使用,發(fā)送端獲取網(wǎng)閘授權(quán)的用戶名稱、用戶密碼以及授權(quán)文件等信息。采樣站如果作為網(wǎng)閘信任端,要儲存相關(guān)授權(quán)信息。服務器同樣作為網(wǎng)閘信任端,將安全授權(quán)信息在一臺計算機上保存,更方便對計算機進行維護。
同時能夠?qū)υ诰€以及離線的優(yōu)先傳輸問題進行處理。例如:同一時間,A站發(fā)來大量在線數(shù)據(jù),B站發(fā)來大量離線數(shù)據(jù),網(wǎng)閘需要先傳輸A站數(shù)據(jù),再傳輸B站數(shù)據(jù)。但是網(wǎng)閘并不具備控制優(yōu)先傳輸?shù)哪芰Γ瑸榱吮WC安全不允許采樣站之間互相通訊,使得離線數(shù)據(jù)的傳輸受到抑制。通過使用通信服務器,將采樣站中在線數(shù)據(jù)和離線數(shù)據(jù)全部接收下來,同時在傳輸隊伍中得到儲存。網(wǎng)閘文件發(fā)送線程從兩個隊列情況將在線隊列數(shù)據(jù)傳輸出去。如網(wǎng)閘文件發(fā)送線程最多只能對10個隊列元素進行處理。如果在線隊列元素超過10個,網(wǎng)閘文件就不會處理離線的傳輸隊列,直接發(fā)送在線隊列。如果在線隊列元素沒有超過10個的時候,可以直接將在線傳輸元素取走,再將離線傳輸隊列中取走10-n個元素。
對傳輸子系統(tǒng)性能測試同采樣子系統(tǒng)性能測試一致,首先要測試基準延時時間BST,也就是在采樣周期內(nèi),采樣站得到全部控制點采樣數(shù)據(jù),將采樣數(shù)據(jù)傳輸給服務器花費的時間[3]。BST的值等于最后采樣時間和首個采樣時間的差值。系統(tǒng)控制點的數(shù)量越多,對應的BST值也就越大。例如:將采樣定時設(shè)定為5s,數(shù)據(jù)實時傳輸100次中,將最大值、最小值以及平均值記錄下來。在本次測試中,控制點數(shù)量為489個邏輯點和1200個模擬點時,BST最小值為2.53s,BST最大值為3.11s,平均值為2.82s。在控制點數(shù)量為1217個邏輯點和3660個模擬點時,BST最小值為3.13s,BST最大值為3.81s,平均值為3.42s。從測量結(jié)果中可以判斷,傳輸離線數(shù)據(jù)增加了BST值,但是BST值都能控制在5s之內(nèi),可以達到用戶的要求。其次要進行傳輸延時時間測試,也就是在一個周期內(nèi)得到全部實時數(shù)據(jù),將數(shù)據(jù)傳輸給服務器的時間。經(jīng)過測試發(fā)現(xiàn),傳輸延時時間都能控制在5s之內(nèi),能夠達到用戶的要求。
綜上所述,在網(wǎng)絡(luò)安全隔離基礎(chǔ)上構(gòu)建實時數(shù)據(jù)采集系統(tǒng),讓企業(yè)生產(chǎn)過程中數(shù)據(jù)得到實時采集和傳輸,該系統(tǒng)的開發(fā)簡便,具有良好的穩(wěn)定性,且維護工作簡單。該系統(tǒng)設(shè)計在線數(shù)據(jù)和離線數(shù)據(jù)的同時傳輸方式,將生產(chǎn)數(shù)據(jù)完善的儲存在服務器中。該系統(tǒng)的應用不僅能夠滿足企業(yè)對網(wǎng)絡(luò)安全的要求,而且能夠滿足企業(yè)生產(chǎn)對數(shù)據(jù)共享的需求,提高了企業(yè)生產(chǎn)和管理的效率。