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