基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)控制系統(tǒng)開發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
在工業(yè)自動(dòng)化領(lǐng)域里,控制網(wǎng)絡(luò)正向體系結(jié)構(gòu)的開放性方向發(fā)展,信息溝通的領(lǐng)域正迅速覆蓋從工廠的現(xiàn)場(chǎng)設(shè)備到控制、管理的各個(gè)層次,基于 internet/intranet的企業(yè)綜合自動(dòng)化方案已經(jīng)成為熱門的研究方向。
通過internet瀏覽器相關(guān)人員能夠進(jìn)行生產(chǎn)過程的遠(yuǎn)程監(jiān)視,遠(yuǎn)程設(shè)備調(diào)試和遠(yuǎn)程設(shè)備故障診斷、處理,不但可以提高企業(yè)自動(dòng)化水平,實(shí)現(xiàn)無人職守,而且在很大程度上為企業(yè)生產(chǎn)運(yùn)作的科學(xué)管理、安全運(yùn)行和有效維護(hù)奠定了堅(jiān)實(shí)的基礎(chǔ)。但是,由于網(wǎng)絡(luò)延時(shí)的存在,基于網(wǎng)絡(luò)的控制系統(tǒng)不可能是一種閉環(huán)控制,采用的是遠(yuǎn)程監(jiān)督控制方案,而邏輯控制功能由現(xiàn)場(chǎng)設(shè)備層完成。
本文根據(jù)這一思想提出基于b/s結(jié)構(gòu)進(jìn)行的網(wǎng)絡(luò)控制,并開發(fā)了一套基于plc和交流變頻器的實(shí)時(shí)遠(yuǎn)程控制系統(tǒng),該系統(tǒng)集工控組態(tài)軟件、plc技術(shù)、變頻控制技術(shù),網(wǎng)絡(luò)通信技術(shù)于一體。
2 browser /server結(jié)構(gòu)的工業(yè)信息監(jiān)控系統(tǒng)
客戶/服務(wù)器(client/server)技術(shù)是目前廣泛使用的一種信息處理模式[2]。與傳統(tǒng)的集中式信息處理模式相比,它可以減少系統(tǒng)開支,將網(wǎng)絡(luò)所連接的微機(jī)群信息處理性能大大提高,因?yàn)槠浞植际教幚淼奶攸c(diǎn),它可以提高系統(tǒng)的可靠性,此外,由于其采用模塊化及開放式體系結(jié)構(gòu),使得它容易將不同的機(jī)器有效地連接在一起,易于系統(tǒng)的擴(kuò)展升級(jí),提高了系統(tǒng)的靈活性。但其也存在許多潛在的缺陷[3],諸如布局困難、培訓(xùn)費(fèi)用及系統(tǒng)維護(hù)費(fèi)用高等,而且c/s結(jié)構(gòu)也不能滿足客戶端跨平臺(tái)的要求。因此,本文利用browser /server結(jié)構(gòu)建造工業(yè)信息監(jiān)控系統(tǒng)。
2.1 browser/server體系結(jié)構(gòu)的特點(diǎn)
隨著internet/intranet技術(shù)和應(yīng)用的發(fā)展,www服務(wù)成為核心服務(wù),用戶可通過瀏覽器browser統(tǒng)一的界面上,完成網(wǎng)絡(luò)上各種服務(wù)和應(yīng)用功能。這種在20世紀(jì)90年代中期發(fā)展的,基于瀏覽器、web服務(wù)器和應(yīng)用服務(wù)器的計(jì)算結(jié)構(gòu)稱為browser/service(b /s,瀏覽器/服務(wù)器)計(jì)算模式,b/s模式繼承傳統(tǒng)的c/s(客戶/服務(wù)器)模式中的網(wǎng)絡(luò)軟、硬件平臺(tái)和應(yīng)用,但克服了c/s模式的上述缺陷,這種新的結(jié)構(gòu)具有下列優(yōu)點(diǎn):
(1) 應(yīng)用服務(wù)器的開發(fā)簡(jiǎn)單
b/s結(jié)構(gòu)是一個(gè)包括了客戶、web服務(wù)器和應(yīng)用服務(wù)器的三層結(jié)構(gòu),涉及到四個(gè)組成部分:瀏覽器、web服務(wù)器、數(shù)據(jù)庫服務(wù)器、應(yīng)用服務(wù)器。這種劃分使得程序的編制簡(jiǎn)單,例如應(yīng)用服務(wù)器不必過多地考慮和客戶端的通訊問題,大量的與客戶端的數(shù)據(jù)傳輸由數(shù)據(jù)庫服務(wù)器和web服務(wù)器完成,使開發(fā)者能夠把更多的精力放在功能的完善上。
(2) 有許多現(xiàn)成的可供選擇的外圍程序
web服務(wù)器和數(shù)據(jù)庫服務(wù)器可以采用現(xiàn)成的產(chǎn)品,只有應(yīng)用服務(wù)器需要自己開發(fā),而且由于web服務(wù)器負(fù)責(zé)與數(shù)據(jù)庫服務(wù)器和客戶端瀏覽器的一部分通信,減輕了應(yīng)用服務(wù)器的開發(fā)負(fù)擔(dān)。
(3) 客戶端獲取數(shù)據(jù)更加容易
采用b/s結(jié)構(gòu),最直接的和最大的變化體現(xiàn)在客戶端上??蛻舳瞬辉傧駛鹘y(tǒng)的c/s結(jié)構(gòu)中那樣,只與一個(gè)應(yīng)用服務(wù)器通信。客戶端獲取數(shù)據(jù)的渠道不止一條。對(duì)于非實(shí)時(shí)數(shù)據(jù),瀏覽器可以直接向web服務(wù)器發(fā)出數(shù)據(jù)查詢請(qǐng)求,而應(yīng)用服務(wù)器只要負(fù)責(zé)把數(shù)據(jù)寫入數(shù)據(jù)庫即可,不參與客戶端獲取數(shù)據(jù)庫中的數(shù)據(jù)這一過程。對(duì)實(shí)時(shí)數(shù)據(jù),瀏覽器通過頁面內(nèi)嵌的activex控件,直接與應(yīng)用服務(wù)器通信,而web服務(wù)器和數(shù)據(jù)庫服務(wù)器對(duì)此將一無所覺。
2.2 browser/server結(jié)構(gòu)的工業(yè)信息監(jiān)控系統(tǒng)
b/s結(jié)構(gòu)的工業(yè)信息監(jiān)控系統(tǒng)是c/s結(jié)構(gòu)的延伸,它們的網(wǎng)絡(luò)結(jié)構(gòu)基本相同,只是服務(wù)器端的功能更加分散,基本框圖如圖1所示。
工業(yè)信息監(jiān)控系統(tǒng)采用b/s模式,客戶端直接通過瀏覽器與服務(wù)器端進(jìn)行動(dòng)態(tài)交互,而c/s模式采用的是事件驅(qū)動(dòng)方式。各子站得到現(xiàn)場(chǎng)控制單元的實(shí)時(shí)信息,并將其寫入數(shù)據(jù)庫服務(wù)器保存,web服務(wù)器將數(shù)據(jù)庫服務(wù)器的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)發(fā)布到網(wǎng)上,客戶端便能通過瀏覽器方便的得到這些實(shí)時(shí)信息;另一方面,客戶端的控制信息也可以通過web服務(wù)器寫入各子站,再由子站將數(shù)據(jù)寫入現(xiàn)場(chǎng)設(shè)備,實(shí)現(xiàn)遠(yuǎn)程控制。b/s模式下瀏覽器代替專門的客戶端軟件,用戶通過瀏覽器獲得自己權(quán)限內(nèi)的企業(yè)內(nèi)部數(shù)據(jù)信息,同時(shí)做出決策。按照tcp/ip通信協(xié)議和www規(guī)范,通過嵌在web頁面activex控件對(duì)數(shù)據(jù)端口的訪問,實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)的遠(yuǎn)程采集,同時(shí)根據(jù)采集的信息發(fā)出相應(yīng)的指令對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行控制。因此,系統(tǒng)的開放性得到很大提高,開發(fā)與維護(hù)更加方便。
3 基于b/s結(jié)構(gòu)的遠(yuǎn)程控制實(shí)例
本文研究開發(fā)了一套基于plc和交流變頻器的實(shí)時(shí)遠(yuǎn)程控制系統(tǒng),該系統(tǒng)集工控組態(tài)軟件、plc技術(shù)、變頻控制技術(shù),網(wǎng)絡(luò)通信技術(shù)于一體。
3.1 系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)是一個(gè)雙容水箱水位實(shí)時(shí)檢測(cè)和控制系統(tǒng),采用一般化的監(jiān)控系統(tǒng)分層結(jié)構(gòu),整個(gè)系統(tǒng)分成三級(jí):現(xiàn)場(chǎng)控制級(jí)(plc)、上位機(jī)監(jiān)控級(jí)(服務(wù)器)、遠(yuǎn)程控制級(jí)(客戶)。實(shí)驗(yàn)臺(tái)實(shí)現(xiàn)以下功能:
(1) 通過對(duì)下位機(jī)(plc)的程序設(shè)計(jì),使其能實(shí)現(xiàn)對(duì)水位的pid控制和模糊控制。
(2) 通過通訊電纜實(shí)現(xiàn)下位機(jī)(plc)與上位機(jī)(組態(tài)王)的通訊。
(3) 通過對(duì)上位機(jī)工控軟件的開發(fā),使其能采集現(xiàn)場(chǎng)數(shù)據(jù),并將客戶端的用戶信息寫到下位機(jī)(plc)。
(4) 遠(yuǎn)程客戶與上位機(jī)通過實(shí)驗(yàn)室局域網(wǎng)通信,使遠(yuǎn)程客戶能瀏覽水位實(shí)時(shí)趨勢(shì)圖和歷史趨勢(shì)圖,并能進(jìn)行控制參數(shù)的調(diào)節(jié),選擇控制方式,以及緊急事故處理(啟停泵)系統(tǒng)框圖如圖2所示。
3.2 系統(tǒng)硬件配置
整個(gè)水位網(wǎng)絡(luò)控制系統(tǒng)的工藝流程的設(shè)計(jì)如下所述:通過plc控制程序?qū)λ贿M(jìn)行pid控制和模糊控制,把運(yùn)算的結(jié)果輸出到變頻器,來控制交流馬達(dá)的啟停和轉(zhuǎn)速,從而水位穩(wěn)定在設(shè)定值,此外通過plc與組態(tài)王的通信,以及遠(yuǎn)程客戶機(jī)與上位機(jī)的通信,實(shí)現(xiàn)在遠(yuǎn)程客戶端對(duì)給定值,高限,低限的設(shè)置,以及控制方式的選擇,控制參數(shù)的調(diào)整,并通過報(bào)警圖,趨勢(shì)圖對(duì)水位進(jìn)行監(jiān)控。系統(tǒng)硬件具體配置如附表所示。
3.3系統(tǒng)軟件配置
由上述的網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)系統(tǒng)分成三個(gè)層次,其軟件設(shè)計(jì)也由三個(gè)部分組成:
(1) 現(xiàn)場(chǎng)控制層軟件設(shè)計(jì):在這一部分要實(shí)現(xiàn)的功能是水位信號(hào)的采集、pid控制算法的實(shí)現(xiàn)、模糊控制算法的實(shí)現(xiàn)、控制信號(hào)的輸出等。選用的控制器是西門子s7-300系列的可編程邏輯控制器,因此選擇與之配套的編程軟件step7,它可使用梯形邏輯,功能塊圖或語句表。利用step7編制控制程序,調(diào)試成功后將程序?qū)懭雙lc,這樣plc就可以脫機(jī)運(yùn)行了。通過實(shí)驗(yàn),驗(yàn)證了這一控制方案,控制精度高,運(yùn)行平穩(wěn),抗干擾能力強(qiáng)。
(2) 上位機(jī)軟件設(shè)計(jì):這一部分主要是作為遠(yuǎn)程客戶機(jī)與下位機(jī)(plc)通信的橋梁,一方面負(fù)責(zé)采集plc數(shù)據(jù),并將其傳送給遠(yuǎn)程客戶機(jī),另一方面,接收遠(yuǎn)程客戶機(jī)的控制信息,并將其寫入plc。組態(tài)王自帶s7-300的驅(qū)動(dòng)程序,能方便地得到plc數(shù)據(jù),并且其網(wǎng)絡(luò)功能較強(qiáng),能快速實(shí)現(xiàn)基于 tcp/ip協(xié)議的網(wǎng)絡(luò)通信,因此,我們采用組態(tài)王作為上位機(jī)軟件開發(fā)環(huán)境。
(3) 遠(yuǎn)程客戶端軟件設(shè)計(jì)
這一部分主要是實(shí)現(xiàn)與上位機(jī)的通信以及監(jiān)控畫面的開發(fā),為了便于實(shí)現(xiàn)與上位機(jī)的通信,采用統(tǒng)一的開發(fā)環(huán)境—組態(tài)王,將整個(gè)應(yīng)用程序分配給多個(gè)服務(wù)器,用以提高項(xiàng)目的整體容量結(jié)構(gòu)并改善系統(tǒng)的性能。服務(wù)器的分配可以是基于項(xiàng)目中物理設(shè)備結(jié)構(gòu)或不同的功能,用戶可以根據(jù)系統(tǒng)需要設(shè)立專門的io服務(wù)器、歷史數(shù)據(jù)服務(wù)器、報(bào)警服務(wù)器、登錄服務(wù)器和web服務(wù)器等。
3.4 網(wǎng)絡(luò)控制的實(shí)現(xiàn)及安全管理
因?yàn)榻M態(tài)王是完全基于網(wǎng)絡(luò)的,是一種真正客戶/服務(wù)器模式,因此可以將“組態(tài)王”安裝在網(wǎng)絡(luò)版windows98/2000或nt上,并在配置網(wǎng)絡(luò)時(shí)綁定tcp/ip協(xié)議,即可利用其網(wǎng)絡(luò)功能實(shí)現(xiàn)遠(yuǎn)程控制。
在本系統(tǒng)中我們利用實(shí)驗(yàn)室原有的局域網(wǎng),將其中1臺(tái)作為服務(wù)器,通過串行口與下位機(jī)(plc)相連,并將該機(jī)網(wǎng)絡(luò)標(biāo)識(shí)設(shè)為server,其余計(jì)算機(jī)作為遠(yuǎn)程客戶,將其網(wǎng)絡(luò)標(biāo)識(shí)分別設(shè)為client1、client2等,各主機(jī)安裝統(tǒng)一的操作系統(tǒng)windows2000,且都安裝組態(tài)王6.0。完成網(wǎng)絡(luò)連接之后,對(duì)各個(gè)站點(diǎn)設(shè)置網(wǎng)絡(luò)參數(shù),并且定義在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)交換的變量,報(bào)警數(shù)據(jù)和歷史數(shù)據(jù)的存儲(chǔ)和引用等等。
在此系統(tǒng)中,程客戶端除了可以實(shí)時(shí)監(jiān)控雙容水箱的水位控制情況外,利用網(wǎng)絡(luò)的回寫功能,還可以實(shí)現(xiàn)遠(yuǎn)程修改p、i、d參數(shù),以提高控制效果。為確保系統(tǒng)的安全運(yùn)行,每個(gè)參數(shù)都有一定的修改權(quán)限,只有擁有該權(quán)限的用戶才能修改,這樣就確保了網(wǎng)絡(luò)控制的安全有效性。
4 結(jié)束語
本文客戶/服務(wù)器模式和瀏覽器/服務(wù)器模式進(jìn)行了分析比較,提出了基于瀏覽器/服務(wù)器模式的網(wǎng)絡(luò)架構(gòu)。并以實(shí)驗(yàn)室雙容水箱水位控制系統(tǒng)為研究對(duì)象,深入研究了組態(tài)軟件—組態(tài)王的網(wǎng)絡(luò)功能,并利用該組態(tài)軟件實(shí)現(xiàn)了網(wǎng)絡(luò)遠(yuǎn)程控制,進(jìn)而證明了利用b/s模型進(jìn)行網(wǎng)絡(luò)控制的有效性。