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