1 引言 組態(tài)軟件(hmi)是國內(nèi)對scada(supervisory control and data acquisition,監(jiān)控和數(shù)據(jù)采集)系統(tǒng)的一種流行的簡稱。它是以計算機為基礎(chǔ)的生產(chǎn)過程控制與調(diào)度自動化系統(tǒng),它可以對現(xiàn)場的運行設(shè)備進行監(jiān)視和控制,以實現(xiàn)數(shù)據(jù)采集、測量、各類信號報警、設(shè)備控制以及參數(shù)調(diào)節(jié)等各項功能。 隨著現(xiàn)代工業(yè)生產(chǎn)規(guī)模的日益擴大,工業(yè)自動化應(yīng)用日益呈現(xiàn)規(guī)模化、復(fù)雜化和廣域分布化特性,同時隨著信息化時代的到來,使得用戶對組態(tài)軟件的功能和結(jié)構(gòu)都提出了更高的要求。針對不同的行業(yè),其對組態(tài)軟件的實時性、多任務(wù)性、分布性等的要求也不一樣。例如航天、電力等領(lǐng)域?qū)崟r性和分布性要求較高,對分布性要求相對較低。而環(huán)境、供水供氣等行業(yè)對實時性要求較低,對分布性要求較高。由于行業(yè)條件要求的差異,相應(yīng)的組態(tài)軟件的體系結(jié)構(gòu)也會有所差別。 2 c/s、b/s體系結(jié)構(gòu) c/s (客戶機/服務(wù)器)和b/s(瀏覽器和服務(wù)器)是當(dāng)今的兩大主流技術(shù)。c/s是美國borland公司最早研發(fā),b/s是美國微軟公司研發(fā)。兩種體系結(jié)構(gòu)各有優(yōu)劣,因此也可將兩種體系結(jié)構(gòu)混合使用。 2.1c/s體系結(jié)構(gòu) c/s軟件體系結(jié)構(gòu),即client/server(客戶機/服務(wù)器)結(jié)構(gòu),有兩層結(jié)構(gòu)和三層結(jié)構(gòu)。三層結(jié)構(gòu)將應(yīng)用功能分成表示層、功能層和數(shù)據(jù)層三個部分。它是兩層結(jié)構(gòu)的進化,主要解決客戶機負(fù)荷太重、數(shù)據(jù)安全性低等局限。下面主要講三層c/s軟件體系結(jié)構(gòu)。 功能層相當(dāng)于應(yīng)用的本體,它是將具體的業(yè)務(wù)處理邏輯編入程序中表示層和功能層之間的數(shù)據(jù)交往要盡可能簡潔。通常,在功能層中包含有確認(rèn)用戶對應(yīng)用和數(shù)據(jù)庫存取權(quán)限的功能以及記錄系統(tǒng)處理日志的功能。功能層的程序多半是用可視化編程工具開發(fā)的。 數(shù)據(jù)層就是數(shù)據(jù)庫管理系統(tǒng),負(fù)責(zé)管理對數(shù)據(jù)庫數(shù)據(jù)的讀寫。數(shù)據(jù)庫管理系統(tǒng)必須能迅速執(zhí)行大量數(shù)據(jù)的更新和檢索。 與傳統(tǒng)的二層結(jié)構(gòu)相比,三層c/s結(jié)構(gòu)具有以下優(yōu)點: (1)允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對獨立性,從而使整個系統(tǒng)的邏輯結(jié)構(gòu)更為清晰,能提高系統(tǒng)和軟件的可維護性和可擴展性。 (2)允許更靈活有效地選用相應(yīng)的平臺和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升級性和開放性。 (3)三層c/s結(jié)構(gòu)中,應(yīng)用的各層可以靈活的選擇各自最適合的開發(fā)語言,使之能并行地而且是高效地進行開發(fā),達到較高的性能價格比。 (4)用戶必須通過功能層的授權(quán)才能訪問數(shù)據(jù)層,這就為嚴(yán)格的安全管理奠定了堅實的基礎(chǔ),整個系統(tǒng)的管理層次也更加合理和可控制。 2.2b/s體系結(jié)構(gòu) b/s(browser/server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),它是internet技術(shù)的興起產(chǎn)物,是基于c/s結(jié)構(gòu)理論上,改進的一種結(jié)構(gòu),如圖2所示。 以目前的技術(shù)形勢下,建立b/s結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過internet/intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握,成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如lan,wan,internet/intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也相對比較安全。尤其在java語言出現(xiàn)之后,b/s架構(gòu)管理軟件更是方便、快捷、高效。 2.3c/s、b/s混合體系結(jié)構(gòu) c/s、b/s混合體系結(jié)構(gòu)是基于c/s體系結(jié)構(gòu)的成熟性和b/s體系結(jié)構(gòu)的先進性,采用靈活的結(jié)合方式將二者組織起來一種混合結(jié)構(gòu)體,如圖3所示。 2.4c/s與b/s體系結(jié)構(gòu)比較與建議 c/s與b/s體系結(jié)構(gòu)比較的格式化表參見表1所示。 在工業(yè)組態(tài)軟件開發(fā)過程中,軟件所應(yīng)用的環(huán)境決定了軟件的體系結(jié)構(gòu),一般實時性要求比較高的,可以采用c/s結(jié)構(gòu),要求能在廣域網(wǎng)中發(fā)布的(分布性高),可以采用b/s結(jié)構(gòu),如果實時性和分布性都要求比較高的可以采用c/s、b/s混合模式。 c/s結(jié)構(gòu)的典型應(yīng)用有北京亞控公司的組態(tài)王、北京昆侖公司的mcgs、大慶三維公司的force control;b/s結(jié)構(gòu)的典型應(yīng)用有加特儀表有限公司通用組態(tài)軟件;混合結(jié)構(gòu)的典型應(yīng)用有萬洲電氣集團有限公司的配網(wǎng)智能優(yōu)化節(jié)電系統(tǒng),實際應(yīng)用表明,該體系結(jié)構(gòu)兼顧了響應(yīng)速度快和廣域網(wǎng)發(fā)布的雙重優(yōu)點,滿足監(jiān)控系統(tǒng)對數(shù)據(jù)處理的及時性和web發(fā)布的要求,保證了系統(tǒng)的實時性、穩(wěn)定性和安全性。(網(wǎng)絡(luò)) |