引言
隨著各個企業安全意識的增強以及現代化管理水平的提高,對分布式環境的遠程測控在工業控制系統中得到了越來越廣泛的應用。傳統的監測系統多為遠程監控主機通過傳輸網絡與代理服務器進行數據交互,此種方式需要額外的數據采集和控制設備負責現場設備的數據采集以及把采集到的實時數據發送給代理服務器,適應性較差,內部網數據傳輸速率不高,影響遠程監控的實時性,而且當代理服務器出現故障時,遠程監控主機將對所有的現場設備失去監視和控制,可靠度不高。因此,筆作提出了一種基于嵌人式技術的遠程集中測控系統,它將嵌人式技術、無線通信技術和自動控制技術有機地結合起來,采用嵌人式硬件平臺和無線通信模塊,不需要額外的數據采集和控制設備。該系統實時性強、可靠性高、結構小巧、開發費用低廉,更適用于現代工業測控系統川。
1、系統總體設計方案
嵌人式遠程測控系統實現方案如圖1所示。系統由客戶端瀏覽器,嵌人式服務器平臺,現場測控模塊3部分組成。客戶端瀏覽器是運行在桌面計算機中的通用瀏覽器應用程序,嵌入式服務器是以S3 C4510B芯片為核心組建的網絡服務平臺,現場測控模塊是以MCS-51單片機為核心構成的測控執行部件。其中嵌人式服務器平臺是系統的核心部件。負責對現場設備進行測控數據的采集、存儲、轉發及與遠程客戶端瀏覽器的數據交互。
圖1 嵌入式遠程集中剛控系統實現方案
本方案中,服務器采用嵌人式硬件平臺,基于uClinux操作系統系統,建立嵌人式Web服務器和分布式現場的測控應用程序。測控應用程序通過驅動無線模塊,以主動輪詢方式實現嵌人式平臺與和分布式測控設備之間的通信。現場測控模塊負責對測控應用程序發出命令進行響應,以完成分布式現場的數據采集和控制動作執行。
通過公共網關接口CGI ( Common Gateway Interface)實現嵌人式Web服務器和分布式現場的測控應用程序接口。CGI可以使編寫的程序處理WWW上客戶端送來的表單和數據,并對此做出響應,可使編寫的程序和Web服務器間的接口標準化。
嵌人式服務器正常工作往往要引人文件系統,uClinux操作系統提供了很好的文件系統;同時利用uClinux操作系統自身所帶的TCP/IP ( Transport Control Protocol/Internet Protocol)協議棧,只要在應用層上利用操作系統提供的網絡API ( Application Programming Interface)編寫服務器端程序即可,大大節省了開發時間。
2、系統硬件設計
對于一個嵌入式系統而言,硬件系統設計相當重要,一方面要考慮所選擇的器件是否適合應用要求,硬件資源是否足夠用來編程調試并保證系統性能優良;另一方面硬件資源要在滿足系統需求前提下盡可能降低成本。綜合考慮以上因素,設計本系統中的嵌人式服務器平臺結構框圖如圖a所示。基于S3 C4510B核心芯片擴展了必要的Flash , SDRAM ( Synchronous Dynamic Random Access Memory)以及網絡接口和無線通信接日模塊。
網絡傳輸接口由以太網物理層接口器DM9161、網絡隔離變壓器FC一巧岱和RJ45接口組成。本系統沒有單獨使用以太網控制器,因為S3C4510B內嵌一個以太網控制器支持媒體獨立接口(MII:Media Independent Interface)和帶緩沖DMA接口(BDI:Buffered DMA Interface),可在半雙工或全雙工模式下提供10 /100 Mbit/s的以太網接人。在全雙工模式下支持IEEE802. 3 MAC ( Media Access Control)層協議。DM9161完成物理層及數據發送/接收功能,支持100BaseT和lOBaseT網絡。由于S3C4510B片內已有帶MII接口的MAC控制器,DM9161也提供了MII接口,各種信號的定義也很明確,因此DM9161與S3 C4510的連接較簡單。信號發送和接收端應通過網絡隔離變壓器FC-S15IS和RJ45接口接人傳輸媒質。
數據通信采用無線數傳Modem模塊PTR2Q00完成。該器件是業界倍受推崇的一款無線數傳產品。它將數據的接收和發射合為一體;采用FSK調制/解調技術,可直接進行數據輸入/輸出,抗干擾能力強;采用DDS(直接數據合成)十PLL(Phase-Locked Lo叩)頻率合成技術;頻率穩定性極好;其工作頻率穩定可靠、外圍元件少、功耗極低且便于設計生產。另外,由于它采用了低發射功率、高靈敏度設計,因而可滿足無線管制的要求且無需使用許可證,是目前低功率無線數傳的理想選擇。利用S3 C4510B芯片的GPIO控制PTR2001〕的D0, DI和TXEN引腳,并通過對GPIO高低電平的設置來控制TXEN從而實現收發轉換岡,通過驅動GPIO(General-Purpose UO Port)模擬PTR2000的DO及DI收發時序,遵循多機通信協議,即可完成主動方式的數據通信。
此外,在設備現場,可利用MSC-51系列單片機控制PTR2000完成現場測控模塊的功能(其中包括無線信道的建立)。MSC-51的TTL電平與YTR2000的TTL電平相同,可直接將PTR2000的DO和DI與MSC-51的RXD和TXD相連。如圖3所示,現場測控的MSC-51和PTR2000的連接電路示意圖,把MSC-51的Pl. 7和PTR2000的TXEN相連,以控制模塊的發射控制、頻道轉換和低功耗模式。
圖3 現場測控MSC-51和PTR2000連接電路示意圖
3、軟件程序實現
本設計的軟件程序編寫涉及到很多關鍵技術,包括嵌人式HTTP(Hypertext Transfer Protocol)服務器、公共網關接口CGI , HTML和Java Applet技術以及在Linux下的進程間通信。嵌人式HTTP服務器是建立在客戶端/服務器端模式下的,由守護進程偵聽80端口提供服務,對嵌人式HTTP服務器而言,瀏覽器就是客戶端。在類linux下建立嵌人式HTTP服務器涉及到網絡Socket編程,Socket利用客戶端/服務器端模式在進程之間建立通信連接。對嵌入式HTTP服務器而言,服務被提供時必然存在服務進程和客戶進程,它們在通信前又必須創建各自的套接字并建立連接,然后才能對相應的套接字進行“讀”和“寫”操作,實現數據傳輸。
公共網關接口CGI是建立在HTTP服務器內的一個軟件模塊,它可以執行存儲在服務器上的程序。CGI腳本與HTTP服務器一起負責響應客戶請求。HTTP服務器根據請求調用相應的CGI程序進行處理,最后向客戶端返回處理結果并結束交互過程。傳統的純HTML文檔所包含的信息是靜止不動的,而利用CGI腳本則可根據用戶請求實時運行,并產生動態信息,具有很高的效率和更大的靈活性。
HTML的實現比較容易,Java Applet相對比較復雜一點。本系統的Java Applet由圖形界面和網絡連接交互兩部分組成,當然Java Applet的整體運行還是按照Java Applet生命周期(包括3個基本循環:init()、start()和stop())運行的。