孫建林 王蘇梅 盛磊
1 項目背景
梅山熱軋畫面系統(tǒng)采用了美國通用電氣公司設(shè)計開發(fā)的基于多層架構(gòu)的Cimplicity產(chǎn)品,該產(chǎn)品應(yīng)用領(lǐng)域非常廣泛,是一種專門應(yīng)用于需要人機接口設(shè)計和管理的各種控制場合。
梅山熱軋自動化系統(tǒng)采用Client/Server 結(jié)構(gòu)和面向?qū)ο蟪绦蛟O(shè)計技術(shù)(OOP)進(jìn)行設(shè)計,畫面系統(tǒng)作為一個相對獨立的系統(tǒng),可以非常方便的嵌入到整個自動化系統(tǒng)中去,使之成為一個整體來進(jìn)行軋制過程的控制。該畫面系統(tǒng)采用一臺Cimplicity Server管理整個畫面系統(tǒng)和20多臺畫面節(jié)點Complicity View。畫面服務(wù)器中配置的工程要完成對15000多個信號點的采集、控制,以及370多幅畫面的管理。
由于生產(chǎn)工藝、操作等方面的要求,在自動化系統(tǒng)中增加了多個瀏覽站Cimplicity View,其總數(shù)達(dá)到了四十臺。造成了畫面服務(wù)器負(fù)擔(dān)過重,系統(tǒng)響應(yīng)慢,乃至部分畫面在控制過程中多次發(fā)生突發(fā)性停滯現(xiàn)象。在緊急情況下由于畫面上數(shù)據(jù)刷新不及時,畫面的不可操作性,造成了多塊廢鋼,對生產(chǎn)產(chǎn)生了很大的影響。
2 畫面系統(tǒng)Cimplicity的工作原理
Cimplicity畫面系統(tǒng)是GE Faunc的產(chǎn)品,該軟件具有很高的靈活性和可伸縮性,它可以適用于單一的人機到完全網(wǎng)絡(luò)化的監(jiān)督控制和數(shù)據(jù)采集系統(tǒng)。在產(chǎn)品系列的各個層次上都具有網(wǎng)絡(luò)互聯(lián)的能力。
Cimplicity可靈活的構(gòu)成二層或三層架構(gòu)。對于簡單、小型應(yīng)用場合,它可配置為傳統(tǒng)的服務(wù)器和瀏覽站組成的基于客戶服務(wù)器體系結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu),如圖1所示;而對于復(fù)雜的控制場合,它又可配置為瀏覽站、中間處理服務(wù)器及后臺實時分布式數(shù)據(jù)庫的三層結(jié)構(gòu),如圖2所示。后臺實時分布式數(shù)據(jù)服務(wù)器負(fù)責(zé)數(shù)據(jù)的采集和數(shù)據(jù)的分配。瀏覽站連接到中間處理服務(wù)器上可以對被采集到的數(shù)據(jù)進(jìn)行完全的訪問以便觀察和控制,以及執(zhí)行用戶的操作請求。
圖1 基于Client/Server架構(gòu)的畫面系統(tǒng)
圖2 基于三層架構(gòu)的畫面系統(tǒng)
三層結(jié)構(gòu)是傳統(tǒng)的客戶服務(wù)器體系結(jié)構(gòu)的發(fā)展,代表了企業(yè)級應(yīng)用的未來,典型的有Web下的應(yīng)用、多層C/S應(yīng)用等。多層結(jié)構(gòu)和三層結(jié)構(gòu)的含義是一樣的,只是細(xì)節(jié)有所不同。之所以會有二層、三層這些提法,是因為應(yīng)用程序要解決三個層面的問題:
(1) 瀏覽層(界面層)提供給用戶一個視覺上的界面,通過界面層,用戶輸入數(shù)據(jù)、獲取數(shù)據(jù)。界面層同時也提供一定的安全性,確保用戶不會看到機密的信息。
(2) 邏輯層(也稱中間層、中介代理)是界面層和數(shù)據(jù)層的橋梁,它響應(yīng)界面層的用戶請求,執(zhí)行任務(wù)并從數(shù)據(jù)層抓取數(shù)據(jù),并將必要的數(shù)據(jù)傳送給界面層。使用清晰的語言陳述論點。
(3) 數(shù)據(jù)層,數(shù)據(jù)層定義、維護數(shù)據(jù)的完整性、安全性,它響應(yīng)邏輯層的請求,訪問數(shù)據(jù)。這一層通常由大型的數(shù)據(jù)庫服務(wù)器實現(xiàn),如Oracle、Sybase、DB2、MS SQL Server等。
單層結(jié)構(gòu)將瀏覽層、邏輯層、數(shù)據(jù)層合并在一起。二層結(jié)構(gòu)有兩種,一種將瀏覽層和邏輯層合為一層,數(shù)據(jù)層是另一層,通常稱為胖客戶/服務(wù)器結(jié)構(gòu);另一種將邏輯層和數(shù)據(jù)層合為一層,瀏覽層是另一層,通常稱為瘦客戶/服務(wù)器結(jié)構(gòu)。三層結(jié)構(gòu)則將這幾層分離處理。它是最簡單的多層應(yīng)用,它把應(yīng)用程序分為:瘦客戶端應(yīng)用程序、應(yīng)用程序服務(wù)器和遠(yuǎn)端數(shù)據(jù)庫服務(wù)器。其中,客戶端主要負(fù)責(zé)用戶界面的處理;服務(wù)器端主要負(fù)責(zé)商業(yè)邏輯的處理,為客戶端提供公共的數(shù)據(jù)服務(wù),處理客戶端與數(shù)據(jù)庫間的數(shù)據(jù)流;遠(yuǎn)端數(shù)據(jù)庫服務(wù)器提供關(guān)系數(shù)據(jù)庫的存取與維護。
其優(yōu)點在于:① 具有靈活的硬件系統(tǒng)構(gòu)成及更好的支持分布式計算環(huán)境。② 提高程序的可維護性。③ 瘦客戶的模式。④ 進(jìn)行嚴(yán)密的安全管理,此外,系統(tǒng)管理簡單,可支持異種數(shù)據(jù)庫,有很高的可用性。
3 設(shè)計思想及方法
經(jīng)過仔細(xì)分析,筆者認(rèn)為:原畫面服務(wù)器采用的硬件配置偏低,且設(shè)計時考慮的客戶機節(jié)點CimView數(shù)目較少,但現(xiàn)在整個畫面服務(wù)系統(tǒng)客戶機節(jié)點CimView數(shù)量增加較多,造成了畫面服務(wù)器負(fù)擔(dān)過重,畫面服務(wù)器的信號處理能力不足,這是發(fā)生部分畫面變灰故障的主要原因。
設(shè)計思想:針對這個原因筆者把目光集中到提高數(shù)據(jù)處理能力,降低畫面系統(tǒng)負(fù)載上,首先提高了畫面服務(wù)器的內(nèi)存容量,提高至512M,但效果不明顯。這時決定以犧牲整個畫面系統(tǒng)數(shù)據(jù)信號點的刷新頻率為代價,降低畫面系統(tǒng)負(fù)荷,把數(shù)據(jù)信號點的刷新頻率由每秒鐘刷新4次,降低到每秒鐘刷新3次,但效果也甚微。
在此情況下筆者重新考慮,提出對整個畫面系統(tǒng)進(jìn)行重新設(shè)計,區(qū)域劃分。采用雙畫面服務(wù)器在線聯(lián)機控制整個畫面系統(tǒng),來提高控制系統(tǒng)的性能。很顯然,實現(xiàn)這一設(shè)想,要解決諸多技術(shù)上的問題。首先原畫面系統(tǒng)管轄范圍需重新分離,按照區(qū)域?qū)υ械脑O(shè)備、CimView、資源、用戶及相關(guān)的點分別劃歸兩臺在線服務(wù)器響應(yīng),管理。兩者之間既要相互獨立,又要互不干擾,相輔相成,組成統(tǒng)一的畫面系統(tǒng),如圖3所示。
圖3 基于三層架構(gòu)的雙畫面中間處理服務(wù)器
但該方案實施難度較大,整個畫面系統(tǒng)有15000多個數(shù)據(jù)信號點需重新規(guī)劃,按照區(qū)域?qū)υO(shè)備、資源重新劃分,劃分后的系統(tǒng)其數(shù)據(jù)信號點一個也不能少。其次要對原有的370多幅畫面重新修改,修改后的畫面既要能滿足生產(chǎn)要求,又要盡可能的避免一幅畫面同時訪問兩個畫面服務(wù)器,造成時間響應(yīng)上的遲緩。外方工程師對該設(shè)計方案的獨特性給予了肯定,但由于沒有成功實踐過的經(jīng)驗,所以很難預(yù)料是否能成功實現(xiàn)這一設(shè)想。
設(shè)計方法:
(1) 硬件方面,提高數(shù)據(jù)處理能力。增大原畫面服務(wù)器的內(nèi)存容量,由256M提高到512M。新增的畫面服務(wù)器采用奔4處理器和512M DDR內(nèi)存。
(2) 軟件方面,對原有的畫面服務(wù)器系統(tǒng)進(jìn)行重新規(guī)劃,修改畫面。對原有整個軋線的CimView、設(shè)備、資源、用戶及相關(guān)的點重新劃分。粗軋、精軋區(qū)域的歸“精軋工程”服務(wù)器管理,卷取區(qū)域的歸“卷取工程”服務(wù)器管理。修改畫面使粗軋、精軋區(qū)域畫面歸“精軋工程”服務(wù)器管理,卷取區(qū)域畫面的歸“卷取工程”服務(wù)器管理。
(3) 預(yù)留將來粗軋、加熱爐改造擴展余量。“卷取工程”服務(wù)器留有足夠余量以加入粗軋、加熱爐區(qū)域的設(shè)備、資源及信號點。
4 項目具體實施步驟
(1) 安裝配置WIN2000操作系統(tǒng)及相關(guān)硬件,設(shè)置TCP/IP通訊網(wǎng)卡、UDP/IP網(wǎng)卡。
(2) 配置Cisco交換機端口。
(3) 安裝配置Cimplicity畫面服務(wù)器軟件,完成用戶注冊。
(4) 安裝配置基于TCP/IP 協(xié)議的GE IO_Services通訊軟件。
(5) 安裝配置基于NT環(huán)境下的瀏覽站與服務(wù)器之間的專用通訊軟件GE HINT。
(6) 安裝配置GE 信號交換SDB_Exchange軟件。
(7) 配置數(shù)據(jù)庫ODBC數(shù)據(jù)源。
(8) 修改所有畫面。
(9) 重新配置畫面工程、CimView、設(shè)備、資源、用戶及相關(guān)的點。
5 項目實施后存在的問題及改進(jìn)對策
存在的問題:① 由于現(xiàn)在是兩個畫面服務(wù)器管理畫面系統(tǒng),這就造成操作工第一次系統(tǒng)登錄時必須登錄兩個工程,且要經(jīng)過兩次身份認(rèn)證。② 在從精軋畫面工程切換到卷取畫面工程時等待時間較長。③ 整個計算機網(wǎng)絡(luò)系統(tǒng)負(fù)荷有所增大。
改進(jìn)對策:① 操作工在一次成功登錄時,選擇系統(tǒng)自動保存用戶和密碼。② 操作工成功登錄后,先進(jìn)行工程之間的切換。③ 雖然網(wǎng)絡(luò)系統(tǒng)負(fù)荷增大,但對整個網(wǎng)絡(luò)負(fù)載能力來說還是較小的。
6 項目評價
實時控制系統(tǒng)對信號的響應(yīng)性要求非常高,尤其是熱連軋過程控制系統(tǒng)。隨著軋制節(jié)奏的加快,要求各功能軟件能夠快速的做出反映,而且還需要快速的展現(xiàn)在操作人員面前,以便及時了解成品質(zhì)量情況。項目攻關(guān)小組通過近半年的設(shè)計、規(guī)劃、試驗、投入運行,終于實現(xiàn)了原有一個畫面中間處理服務(wù)器到建立二個畫面中間處理器的成功過渡,從中反映出大型實時控制系統(tǒng)分布式處理與三層架構(gòu)的結(jié)合對提高系統(tǒng)整體性能的有效性。對原有的CimView、設(shè)備、資源、用戶及相關(guān)的點重新規(guī)劃后,每臺畫面中間處理器的CPU使用率降低到50%以下,系統(tǒng)響應(yīng)更及時。自該項目成功投入使用后未發(fā)生畫面變灰和畫面不可操作的現(xiàn)象,基本杜絕了由于畫面系統(tǒng)問題而造成的廢鋼,從而有效的保證了生產(chǎn)的順行,同時該項目的成功實現(xiàn)也為將來我廠進(jìn)行粗軋、加熱爐計算機系統(tǒng)改造積累了豐富的經(jīng)驗。
7 結(jié)語
自動化實時控制領(lǐng)域向多層分布式應(yīng)用系統(tǒng)跨越已經(jīng)成為一種必然趨勢。開發(fā)好多層應(yīng)用系統(tǒng)關(guān)鍵是清晰、合理地劃分好瀏覽層、中間層和數(shù)據(jù)層并使其獨立,可以使系統(tǒng)構(gòu)成變的非常簡單,選擇什么樣的平臺和工具,如何簡化分布式應(yīng)用的開發(fā)、分發(fā)及管理工作,已成為企業(yè)迫切需要解決的問題。多層體系并不單是技術(shù)問題,它是一種軟件開發(fā)的方法論。而且,多層結(jié)構(gòu)主要是指邏輯上的三層,不是物理意義上的多層。傳統(tǒng)的Client/Server也可以采用三層開發(fā)思想。另外,若采用多層開發(fā)模式,而不運用OOP的開發(fā)思想,很難做到真正意義的多層結(jié)構(gòu)。如果把多層和OOP結(jié)合起來,進(jìn)行軟件開發(fā),那么開發(fā)出來的應(yīng)用系統(tǒng)就具有很強的適應(yīng)性,物理上既可以是多層的,也可以是傳統(tǒng)兩層的,可以根據(jù)實際的需要靈活配置。