賈庚午 陳新楚,2
(1.福州大學電氣工程與自動化學院,福州 350116; 2.福建省工業(yè)控制信息安全技術企業(yè)重點實驗室,福州 350008)
隨著計算機技術和網(wǎng)絡技術等新技術的不斷涌現(xiàn)和快速發(fā)展,整個社會開始發(fā)生劃時代的變革[1]。而工業(yè)控制組態(tài)軟件自20 世紀80年代問世以來,其發(fā)展卻相對緩慢?,F(xiàn)在人們對于工業(yè)控制領域智能化和網(wǎng)絡化的要求也越來越高,很多跨國企業(yè)例如西門子、ABB 等都試圖表明其工業(yè)控制系統(tǒng)具有開放性和網(wǎng)絡化特性,但由于缺乏統(tǒng)一標準,使得它們的產(chǎn)品雖然采用了先進的控制組態(tài)技術,但都局限于在局域網(wǎng)范圍內(nèi)實現(xiàn),并沒有形成基于互聯(lián)網(wǎng)的應用,導致控制資源難以共享,在時空限制方面具有極大弊端[2]。
而物聯(lián)網(wǎng)、云平臺等新技術的出現(xiàn)和應用,為工業(yè)控制系統(tǒng)的遠程組態(tài)和監(jiān)控的實現(xiàn)提供了技術支持[3]。本文在中海創(chuàng)集團自主研發(fā)的IAP(工業(yè)自動化通用技術平臺)的研究基礎上,設計一套工業(yè)控制系統(tǒng)的遠程組態(tài)及監(jiān)控平臺,試圖通過對該平臺的研究,為工業(yè)控制系統(tǒng)控制組態(tài)和監(jiān)控功能向互聯(lián)網(wǎng)領域的拓展提供一條新的路徑,從而實現(xiàn)工業(yè)控制與信息技術的融合。同時,本文也為在下一階段中,建設工業(yè)控制系統(tǒng)的云端服務體系創(chuàng)造條件。
本文所設計的遠程組態(tài)及監(jiān)控平臺,其主要實現(xiàn)的功能是:將工業(yè)控制系統(tǒng)的應用范圍從局域網(wǎng)環(huán)境擴展到更為廣闊的互聯(lián)網(wǎng)環(huán)境,實現(xiàn)工業(yè)控制系統(tǒng)良好的遠程交互體驗。通過互聯(lián)網(wǎng),工業(yè)用戶可以更加充分的利用遠程平臺中的信息資源,對控制系統(tǒng)的開發(fā)、組態(tài)和維護等過程進行遠程仿真應用,從而減少實際項目調(diào)度的工作量并控制風險,同時降低差錯率,提高控制算法的效率與優(yōu)化程度。
在此遠程平臺中,為實現(xiàn)上述目標而采用的綜合策略為:首先針對遠程平臺在互聯(lián)網(wǎng)環(huán)境下可能面臨的問題,設計適應互聯(lián)網(wǎng)環(huán)境的遠程平臺新架構(gòu)。在遠程平臺新架構(gòu)的基礎上,充分利用在局域網(wǎng)中已成熟應用的IAP,通過對IAP 組態(tài)數(shù)據(jù)和監(jiān)控數(shù)據(jù)通信過程(局域網(wǎng)條件下)的研究,對IAP在遠程平臺中的通信方案重新設計,并把相關軟件進行相應的改進。最終成功設計出一套基于IAP 的工業(yè)控制系統(tǒng)遠程組態(tài)及監(jiān)控平臺,實現(xiàn)控制資源的遠程共享。
本文之所以采用IAP 作為遠程組態(tài)及監(jiān)控平臺的基礎,是因為與傳統(tǒng)DCS 系統(tǒng)相比,IAP 通過采用數(shù)據(jù)引擎技術和數(shù)據(jù)建模技術[4],不僅可以兼容不同廠家的PLC、IPC 設備,還可以運行統(tǒng)一的控制組態(tài)軟件,從而實現(xiàn)控制策略的跨平臺運行[5]。因此,在IAP 的基礎上對遠程平臺進行研究和開發(fā),對于解決在工業(yè)控制系統(tǒng)與信息技術融合過程中,所存在的架構(gòu)開放性問題具有先天優(yōu)勢,更加有利于解決工業(yè)控制系統(tǒng)當前局域網(wǎng)限制問題和標準不統(tǒng)一問題。
遠程平臺所運行的互聯(lián)網(wǎng)環(huán)境,與局域網(wǎng)環(huán)境相比,最大的不同是互聯(lián)網(wǎng)環(huán)境的復雜性:在互聯(lián)網(wǎng)環(huán)境下,數(shù)據(jù)通信過程變得更加復雜,數(shù)據(jù)的實時響應性能以及數(shù)據(jù)的完整性、安全性都值得探討。在遠程平臺中,通信對象是在網(wǎng)絡中通信的組態(tài)數(shù)據(jù)和監(jiān)控數(shù)據(jù)。因此對于遠程平臺來說,首先需要設計合理的系統(tǒng)架構(gòu),使遠程平臺在互聯(lián)網(wǎng)環(huán)境中進行遠程操作時能很好地應對和解決,可能產(chǎn)生的一些問題。在此基礎上,再根據(jù)遠程平臺的架構(gòu)對IAP 原有軟件進行升級和適配,從而建立起工業(yè)控制系統(tǒng)的遠程組態(tài)及監(jiān)控平臺。為了對遠程平臺中的數(shù)據(jù)進行有效的管理和控制,遠程平臺采用了三層體系架構(gòu)的設計方案[6]:三層架構(gòu)分別為數(shù)據(jù)訪問層、交互邏輯層和用戶應用層,如圖1所示。

圖1 遠程平臺架構(gòu)示意圖
由圖1可以看出,用戶應用層處于整個遠程平臺的末端,作為遠程平臺與用戶之間的銜接環(huán)節(jié),該層由用戶直接進行操作[7],用戶應用層主要實現(xiàn)控制系統(tǒng)設計與仿真的用戶終端功能:互聯(lián)網(wǎng)中的遠程用戶通過用戶應用層發(fā)出協(xié)調(diào)仿真、遠程控制和動態(tài)重構(gòu)等請求。這些請求會被傳輸給處于用戶應用層上層的交互邏輯層;同時在接收到交互邏輯層的反饋數(shù)據(jù)之后,用戶應用層會把用戶請求所對應的反饋數(shù)據(jù)呈現(xiàn)在用戶的終端界面上。在用戶應用層中所運行軟件為控制策略組態(tài)軟件IAPlogic 和人機界面組態(tài)軟件IAPview。
交互邏輯層是遠程平臺架構(gòu)設計的核心層,負責用戶應用層和數(shù)據(jù)訪問層所有的數(shù)據(jù)傳輸,交互邏輯層在平臺數(shù)據(jù)交換過程中起到了承上啟下的作用:一方面,交互邏輯層與用戶應用層建立起交互關聯(lián),通過互聯(lián)網(wǎng)將用戶的請求傳送給數(shù)據(jù)訪問層;另一方面,交互邏輯層與數(shù)據(jù)訪問層進行對接,數(shù)據(jù)訪問層將用戶請求的反饋數(shù)據(jù)通過互聯(lián)網(wǎng)返回給用戶,實現(xiàn)遠程用戶和互聯(lián)網(wǎng)終端數(shù)據(jù)的交互和處理。交互邏輯層通過采用進程間數(shù)據(jù)通信技術,可以實現(xiàn)用戶應用層、數(shù)據(jù)訪問層的解藕,使得遠程平臺的結(jié)構(gòu)更為清晰,分工更加明確,且利于遠程平臺的后期維護和升級。交互邏輯層所運行軟件為人機界面服務器端遠程通信軟件VRemoteServer 和人機界面用戶端遠程通信軟件VRemoteClient,以及控制組態(tài)遠程通信軟件 IAPlogicNetService 和IAPlogicNetClient。
數(shù)據(jù)訪問層位于整個架構(gòu)的最頂層,主要用于實現(xiàn)控制系統(tǒng)設計與選型、控制系統(tǒng)建模與組態(tài)、仿真運行、工況管理以及先進控制策略研究等控制系統(tǒng)設計與仿真運行功能。數(shù)據(jù)訪問層通過交互邏輯層接收來自用戶協(xié)調(diào)仿真、遠程控制、動態(tài)重構(gòu)等請求,然后根據(jù)這些請求通過局域網(wǎng)實現(xiàn)對服務器資源的遠程訪問,并將服務器資源所反饋的數(shù)據(jù)再經(jīng)交互邏輯層傳輸給遠端的互聯(lián)網(wǎng)用戶,這樣就構(gòu)成了一套完整的控制系統(tǒng)回路,實現(xiàn)了工業(yè)控制系統(tǒng)的遠程組態(tài)及監(jiān)控。主要運行軟件為數(shù)據(jù)中心管理軟件IAPdata 和系統(tǒng)結(jié)構(gòu)組態(tài)軟件IAPplant。
遠程平臺通信方案主要解決的是在互聯(lián)網(wǎng)的復雜環(huán)境下,數(shù)據(jù)訪問層和用戶應用層如何通過交互邏輯層進行數(shù)據(jù)交互的問題。遠程平臺的通信方案建立在遠程平臺三層架構(gòu)的基礎上,是通過對IAP數(shù)據(jù)通信過程(局域網(wǎng)條件下)的研究,并針對互聯(lián)網(wǎng)環(huán)境進行改進和適配得到的。因此,在設計遠程平臺通信方案時,首先需要對IAP 在局域網(wǎng)中的數(shù)據(jù)通信進行分析,通過分析組態(tài)數(shù)據(jù)和信息交互通信的具體數(shù)據(jù)通信過程,探索出遠程平臺架構(gòu)的改變對其產(chǎn)生的影響[8]。IAP 在局域網(wǎng)中數(shù)據(jù)的通信過程如圖2所示。

圖2 IAP 局域網(wǎng)通信過程示意圖
如圖2所示,在局域網(wǎng)中IAP 的數(shù)據(jù)通信是通過對共享內(nèi)存的使用完成的。首先,IAP 在局域網(wǎng)中建立起socket 連接,通過socket 連接將邏輯組態(tài)軟件和人機界面組態(tài)軟件所需數(shù)據(jù)的數(shù)據(jù)類型及操作請求提交給共享內(nèi)存,然后數(shù)據(jù)中心以及系統(tǒng)結(jié)構(gòu)組態(tài)軟件根據(jù)共享內(nèi)存中的信息進行解析,并將計算結(jié)果通過共享內(nèi)存?zhèn)骰亟o邏輯組態(tài)軟件和人機界面組態(tài)軟件,整個過程是通過socket 連接對共享內(nèi)存的操作完成的。
互聯(lián)網(wǎng)的復雜環(huán)境中,為了使遠程平臺穩(wěn)定運行,且具有良好的可擴展性和可維護性[9],交互邏輯層采用專門通信軟件VRemote 和IAPlogicNet,并在用戶應用層增加共享內(nèi)存。交互邏輯層中的通信軟件所建立連接方式為http 連接,與局域網(wǎng)所應用的socket 連接相比,數(shù)據(jù)對接更便捷,容錯性更強。遠程平臺的通信過程如圖3所示,遠程組態(tài)軟件所需數(shù)據(jù)的數(shù)據(jù)類型及操作請求首先傳送給用戶應用層的共享內(nèi)存。并通過交互邏輯層所建立的http 連接傳輸給數(shù)據(jù)訪問層的共享內(nèi)存,然后交由數(shù)據(jù)中心和系統(tǒng)結(jié)構(gòu)組態(tài)軟件對數(shù)據(jù)進行解析。計算結(jié)果在傳輸?shù)綌?shù)據(jù)訪問層的共享內(nèi)存后,再通過交互邏輯層所建立的http 連接,依次傳輸?shù)接脩魬脤拥墓蚕韮?nèi)存和遠程組態(tài)軟件中,實現(xiàn)組態(tài)數(shù)據(jù)在互聯(lián)網(wǎng)中的遠程通信[10]。

圖3 遠程平臺互聯(lián)網(wǎng)通信過程示意圖
遠程平臺由服務器端、客戶端和互聯(lián)網(wǎng)三個部分組成,服務器端和客戶端分別擁有獨立的PC 處理器。其中,服務器PC 端運行數(shù)據(jù)中心管理軟件IAPdata 和系統(tǒng)結(jié)構(gòu)組態(tài)軟件IAPplant,以及遠程通信軟件VRemoteServer、IAPlogicNetService。其主要作用是將局域網(wǎng)中的控制站數(shù)據(jù)與外部互聯(lián)網(wǎng)中的客戶端進行數(shù)據(jù)交互,對遠程監(jiān)控和組態(tài)數(shù)據(jù)進行運算,并將運算結(jié)果傳輸給遠程的客戶端,從而實現(xiàn)遠程控制??蛻鬚C 端運行控制策略組態(tài)軟件IAPlogic 和人機界面組態(tài)軟件IAPview,以及遠程通信軟件VRemoteClient、IAPlogicNetClient。其主要作用是接收來自服務器端的遠程監(jiān)控命令和組態(tài)數(shù)據(jù),方便工程人員進行通過人機界面進行操作。
在對服務器端的實驗測試機及客戶端實驗測試機配置不同網(wǎng)段IP 以及相應的端口信息之后,經(jīng)過驗證可以連通互聯(lián)網(wǎng)。即可運行測試工程對遠程控制平臺進行實驗測試。操作步驟如下:①運行服務器PC 端的系統(tǒng)結(jié)構(gòu)組態(tài)軟件IAPplant 和數(shù)據(jù)中心管理軟件 IAPdata,以及相應的遠程通信軟件VRemoteServer、IAPlogicNetService;②運行PC 端控制策略組態(tài)軟件IAPlogic 和人機界面組態(tài)軟件IAPview,VRemoteClient 和 IAPlogicNetClient; ③在控制策略組態(tài)軟件IAPlogic 和人機界面組態(tài)軟件IAPview 中對遠程工程進行下載和運行操作,如圖4、圖5所示。

圖4 操作流程示意圖

圖5 遠程工程界面打開示意圖
工業(yè)控制領域?qū)υO備監(jiān)控的實時性要求一般在10s 左右,互聯(lián)網(wǎng)作為數(shù)據(jù)傳輸網(wǎng)絡,進行數(shù)據(jù)遠程傳輸本身就需要一定時間,且互聯(lián)網(wǎng)是公共網(wǎng)絡,難免存在數(shù)據(jù)“堵塞”現(xiàn)象,因此必須對利用互聯(lián)網(wǎng)進行數(shù)據(jù)傳輸造成的延遲時間進行測試,確保系統(tǒng)可以滿足工業(yè)控制的實時性要求。
數(shù)據(jù)傳輸是在服務器端和客戶端之間進行,因此需要使用遠程工程IAPDEMO 進行測試,服務器PC 端和客戶PC 端之間通過不同網(wǎng)段IP 的互聯(lián)網(wǎng)相連接,其中服務器PC 端的IP 為222.79.57.197,客戶PC 端的IP 為202.101.149.29。測試工程中具有記錄數(shù)據(jù)的發(fā)送時間和接收時間的功能,即測試延遲時間。具體的測試結(jié)果見表1。

表1 遠程平臺傳輸延遲測試表
除了以上3 次測試之外,還進行了多次隨機測試,結(jié)果基本與以上結(jié)論相同,即盡管偶發(fā)數(shù)據(jù)接收不均勻的情況,但是數(shù)據(jù)傳輸延遲時間基本在3s之內(nèi)。此延遲時間基本可以滿足實際使用要求。
本文依托IAP,設計了一套工業(yè)控制系統(tǒng)遠程平臺。通過該平臺可以實現(xiàn)對工程的遠程組態(tài)監(jiān)控和控制,實現(xiàn)了控制資源的遠程共享,使得工業(yè)控制系統(tǒng)的自動化程度和靈活性大大提高,并且平臺具有高一體性、易于維護和易于后期的擴展升級等特點。這種新型的遠程監(jiān)控和組態(tài)平臺,在后續(xù)的開發(fā)和使用中可利用豐富的控制站資源,結(jié)合半實物仿真模式的架構(gòu)形成一套具有充分產(chǎn)業(yè)化應用價值的控制系統(tǒng)。
[1] 龐文堯,丁金婷.遠程實驗技術發(fā)展現(xiàn)狀[J].科技通報,2004,20(4): 311-315.
[2] Hayama R,Higashi M,SadahiroKawahara,et al.Fault-tolerant automobile steering based on diversit-y of steer-by-wire,braking and accelerat-ion[J].Reliability Engineering and System Safety,2010(4): 10-17.
[3] Chou W.Inside SSL: the secure sockets layer protocol[J].IT Professional,2002(4): 47-52.
[4] 鄭松,倪維斗.基于數(shù)據(jù)引擎技術的通用控制站[J].電氣時代,2008(9): 122-125.
[5] 鄭松,倪維斗.分布式控制系統(tǒng)動態(tài)重構(gòu)技術研究與實現(xiàn)[J].原子能科學技術,2009,43(8): 724-728.
[6] 華銓平,龐倩超,謝穎.抽象工廠設計模式在3 層結(jié)構(gòu)開發(fā)中的應用[J].大慶石油學院學報,2009(3): 112-115,137.
[7] 唐成華,陳新度,陳新.管理信息系統(tǒng)中多用戶權限管理的研究及實現(xiàn)[J].計算機應用研究,2004(3): 217-219.
[8] 張玉祥,高昆元,王魁生.大型信息系統(tǒng)通用權限管理系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,2004(12): 132-139.
[9] 李波,黃東軍.一種Web 環(huán)境下改進的權限控制機制[J].企業(yè)技術開發(fā),2006(4): 3-5,11.
[10] 李英軍,馬曉星,蔡敏.設計模式:可復用面向?qū)ο筌浖幕A[M].北京: 機械工業(yè)出版社,2000: 156-160.