武漢鐵路職業(yè)技術(shù)學(xué)院 朱志偉
本文闡述了一種基于嵌入式WEB服務(wù)器的SCADA系統(tǒng)的實現(xiàn)方式,主要剖析了嵌入式WEB服務(wù)器和瀏覽器WEB人機交互界面的設(shè)計與實現(xiàn),并通過測試結(jié)果驗證了該SCADA系統(tǒng)能夠滿足某些特定工業(yè)應(yīng)用的需求且具有較好的實時性和可靠性,為小型嵌入式SCADA系統(tǒng)的推廣與應(yīng)用提供一個簡單易行的解決方案。
SCADA系統(tǒng),即數(shù)據(jù)采集與監(jiān)視控制系統(tǒng),是工業(yè)控制系統(tǒng)的一種。目前,SCADA系統(tǒng)已發(fā)展到了第四代,第四代SCADA系統(tǒng)的一個重要技術(shù)要求是融合Internet。典型的SCADA系統(tǒng),是一個由現(xiàn)場控制設(shè)備、數(shù)據(jù)服務(wù)器和監(jiān)控計算機構(gòu)成的3層控制系統(tǒng),廣泛應(yīng)用在電氣化鐵路、電力、石油、化工等工業(yè)領(lǐng)域。[1]總之,SCADA系統(tǒng)的大型應(yīng)用技術(shù)十分成熟,但小型嵌入式SCADA系統(tǒng)的應(yīng)用未得到充分發(fā)展。
基于嵌入式WEB服務(wù)器的SCADA系統(tǒng),其實是一個小型的嵌入式的B/S模式SCADA系統(tǒng)。本文重點設(shè)計實現(xiàn)SCADA系統(tǒng)的上層結(jié)構(gòu),包含數(shù)據(jù)服務(wù)器、監(jiān)控計算機及其構(gòu)成的工作模式,不針對具體現(xiàn)場設(shè)備。方案設(shè)計目標(biāo):滿足小規(guī)模遠(yuǎn)程數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)的應(yīng)用需求,滿足需要把數(shù)據(jù)服務(wù)器集成到現(xiàn)場設(shè)備中的SCADA系統(tǒng)的應(yīng)用需求,滿足成本低、易于維護和設(shè)備通用。據(jù)此設(shè)計SCADA系統(tǒng)方案:數(shù)據(jù)服務(wù)器選用性價比高的STM32F103單片機作為核心,監(jiān)控計算機選用通用PC計算機,數(shù)據(jù)服務(wù)器和監(jiān)控計算機通過工業(yè)交換機構(gòu)成B/S模式,數(shù)據(jù)服務(wù)器數(shù)量可為1臺以上。本文SCADA系統(tǒng)方案,有兩個需要設(shè)計實現(xiàn)的關(guān)鍵部分:基于STM32F103單片機的嵌入式WEB服務(wù)器和基于PC計算機瀏覽器的WEB人機交互界面。
基于STM32F103C8T6單片機的嵌入式WEB服務(wù)器,需要完成兩個設(shè)計任務(wù):具備RJ45以太網(wǎng)接口,能夠支持TCP/IP協(xié)議,并在此基礎(chǔ)上實現(xiàn)HTTP協(xié)議,以完成WEB服務(wù)器的遠(yuǎn)程瀏覽器WEB訪問功能;具備RS485總線接口、CAN總線接口、模擬量輸入輸出通道AI/AO和數(shù)字量輸入輸出通道DI/DO,能夠支持常用現(xiàn)場總線通信、模擬量和數(shù)字量的輸入輸出,以完成WEB服務(wù)器對各類不同現(xiàn)場設(shè)備的數(shù)據(jù)采集與控制功能。
WEB服務(wù)器的遠(yuǎn)程瀏覽器WEB訪問功能的實現(xiàn),包含硬件和軟件的具體實現(xiàn)。硬件具體實現(xiàn):以太網(wǎng)硬件選用HR911105A以太網(wǎng)接口插座和高性能以太網(wǎng)接口芯片W5500,STM32F103C8T6單片機通過SPI與W5500接口,W5500連接HR911105A以太網(wǎng)接口插座;由于W5500內(nèi)部集成全硬件TCP/IP協(xié)議棧,協(xié)議棧技術(shù)采用硬件邏輯門電路實現(xiàn)復(fù)雜的TCP/IP協(xié)議簇,所以TCP/IP協(xié)議通信應(yīng)用實現(xiàn)具有簡單快速、可靠性高、安全性好的優(yōu)勢。軟件具體實現(xiàn):在TCP模式下用socket函數(shù)打開一個80端口,socket初始化端口完成后用listen函數(shù)監(jiān)聽端口是否有遠(yuǎn)程監(jiān)控計算機連接,如果有遠(yuǎn)程PC通過瀏覽器WEB建立連接,則WEB服務(wù)器與WEB人機交互界面啟動雙向數(shù)據(jù)通信;為了滿足各種應(yīng)用的需要,設(shè)計實現(xiàn)數(shù)字量和模擬量2種類型數(shù)據(jù)通信,WEB服務(wù)器用send函數(shù)按HTTP協(xié)議向WEB人機交互界面發(fā)送json格式數(shù)據(jù)信息,同時接收來自PC計算機 WEB人機交互界面發(fā)送過來的數(shù)據(jù)信息。在設(shè)計實現(xiàn)過程中,設(shè)計HTTP協(xié)議的json格式數(shù)據(jù)信息是實現(xiàn)嵌入式WEB服務(wù)器的關(guān)鍵。
WEB服務(wù)器對各類不同現(xiàn)場設(shè)備的數(shù)據(jù)采集與控制功能的實現(xiàn)簡述:選用MAX485接口芯片,實現(xiàn)RS485總線通信功能;選用TJA1050高速收發(fā)器芯片,實現(xiàn)CAN總線通信功能;STM32F103C8T6單片機集成模擬量和數(shù)字量接口電路,實現(xiàn)數(shù)字量和模擬量數(shù)據(jù)采集功能,這些常用硬件電路的具體應(yīng)用編程設(shè)計這里不重復(fù)描述。
基于PC計算機瀏覽器的WEB人機交互界面,要求具有監(jiān)視控制現(xiàn)場設(shè)備的功能,即需要能夠與WEB服務(wù)器完成雙向各種數(shù)據(jù)信息通信。WEB人機交互界面的設(shè)計與實現(xiàn),包括2各部分:WEB網(wǎng)頁的設(shè)計與實現(xiàn),WEB網(wǎng)頁與WEB服務(wù)器的實時數(shù)據(jù)通信的設(shè)計與實現(xiàn)。
WEB網(wǎng)頁的設(shè)計與實現(xiàn)。由于本設(shè)計由于不針對具體應(yīng)用,只在WEB網(wǎng)頁中設(shè)計了16個開關(guān)量采集測試、8個模擬量采集測試、16個開關(guān)控制量測試和4個參數(shù)設(shè)置測試這4個常用的代表性功能區(qū),本設(shè)計完全可以依據(jù)用戶的需要設(shè)計圖形與文字更加豐富的動態(tài)WEB監(jiān)控界面。WEB網(wǎng)頁具體實現(xiàn):用文本編輯器編寫一個名為index的html文件,按照WEB人機交互界面的要求,在 body部分設(shè)計網(wǎng)頁的結(jié)構(gòu)和內(nèi)容,在style部分設(shè)計網(wǎng)頁的樣式,這是WEB監(jiān)控界面前端實現(xiàn)重要的兩部分腳本。
WEB網(wǎng)頁與WEB服務(wù)器的實時數(shù)據(jù)通信的設(shè)計與實現(xiàn):用文本文件編輯器編寫一個名為STM32_Script的JScript Script文件,此文件運行在網(wǎng)頁的后臺,當(dāng)用瀏覽器打開index文件時,它會用window.makeRequest向遠(yuǎn)程WEB服務(wù)器發(fā)送連接請求,連接成功后接收WEB服務(wù)器發(fā)送來的json格式數(shù)據(jù)信息并上傳給WEB,同時用xhttp.send向遠(yuǎn)程WEB服務(wù)器發(fā)送WEB網(wǎng)頁最新的控制和參數(shù)設(shè)置信息。
在嵌入式WEB服務(wù)器和WEB人機交互界面都設(shè)計實現(xiàn)后,用交換機連接它們構(gòu)成B/S模式的SCADA系統(tǒng),然后進行了反復(fù)測試。本SCADA系統(tǒng)調(diào)試結(jié)果表明:基于STM32F103單片機的嵌入式WEB服務(wù)器和基于PC計算機瀏覽器的WEB人機交互界面,能夠構(gòu)成B/S模式運行并且各項功能正常,WEB監(jiān)控界面風(fēng)格符合工業(yè)要求,WEB人機交互界面與WEB服務(wù)器之間的44個通道的數(shù)據(jù)通信能夠在0.2秒內(nèi)可靠完成,系統(tǒng)具有較高的實時性和可靠性,能夠滿足小型SCADA系統(tǒng)和嵌入式SCADA系統(tǒng)的應(yīng)用需求。
工業(yè)控制系統(tǒng)的應(yīng)用日趨廣泛,在有些小規(guī)模的應(yīng)用和需要嵌入式設(shè)計的場合,使用成熟的中大型SCADA系統(tǒng)顯得既不經(jīng)濟也不適宜。鑒于此,本文設(shè)計實現(xiàn)的這種基于嵌入式WEB服務(wù)器的SCADA系統(tǒng),能夠滿足這種小型簡單數(shù)據(jù)采集與監(jiān)視控制的應(yīng)用需求。本文闡述的B/S模式SCADA系統(tǒng),為了能夠適應(yīng)智能制造的需要,WEB人機交互界面可向3D方向發(fā)展,Web3D技術(shù)的發(fā)展應(yīng)用將成為本SCADA系統(tǒng)下一步發(fā)展的關(guān)鍵。