netX片上系統(tǒng)數(shù)據(jù)采集與遠程監(jiān)控的設計與實現(xiàn)———netX片上系統(tǒng)數(shù)據(jù)采集與遠程監(jiān)控的設計與實現(xiàn)
隨著網(wǎng)絡信息技術、工業(yè)控制的不斷發(fā)展,遠程監(jiān)控應用領域不斷拓寬,特別是實現(xiàn)現(xiàn)場控制嵌入式智能設備的通信和配置診斷,通過這些智能設備所提供的通信接口直接利用Internet將其接入集中監(jiān)控管理系統(tǒng),采用Web Sever訪問技術,在遠程實時獲取設備運行的各種參數(shù)和實時數(shù)據(jù),發(fā)送遙控命令,配置參數(shù),獲取設備的報警信息和運行狀態(tài)等方面,具有深刻的現(xiàn)實意義和長遠意義。PROFINET是一種最新的實時工業(yè)以太網(wǎng)協(xié)議,可以提供辦公室和自動化領域的開放、一致連接,是實現(xiàn)工業(yè)實時以太網(wǎng)通信的主流技術之一。德國赫優(yōu)訊netX中包含EtherCAT、CANopen、Modbus、PROFINET等現(xiàn)場總線協(xié)議,是一種高度集成的網(wǎng)絡控制器,具有全新的系統(tǒng)優(yōu)化結構,適合工業(yè)通信及大規(guī)模數(shù)據(jù)吞吐;研究基于netX片上系統(tǒng)(netX Soc)實現(xiàn)PROFINET實時以太網(wǎng)接入、本地數(shù)據(jù)快速處理、數(shù)據(jù)存貯技術及基于Web Server的遠程數(shù)據(jù)訪問,以便為一些工業(yè)實時通信控制提供良好的解決策略。
1.系統(tǒng)結構
圖1為分布式遠程數(shù)據(jù)采集系統(tǒng)的網(wǎng)絡結構,包括多個與主站掛接的NXIO(赫優(yōu)訊實時以太網(wǎng)從站IO測試板),通過PROFINET實時以太網(wǎng)把若干個嵌入式控制器與主站監(jiān)控計算機連接,然后再將主站監(jiān)控計算機接入Internet,監(jiān)控計算機將數(shù)據(jù)實時發(fā)送到數(shù)據(jù)庫服務器,同時將采集到的從站數(shù)據(jù)和監(jiān)控信息可以發(fā)布出去。另外,主站監(jiān)控計算機還可以通過RS-232總線與NXIO從站實現(xiàn)數(shù)據(jù)采集和控制處理。采用該方式,用戶無論在多遠,只要能夠連接到Internet,就可以通過Internet網(wǎng)絡訪問所有控制設備的實時和歷史數(shù)據(jù)。
數(shù)據(jù)庫服務器用來存儲采集到的從站數(shù)據(jù)及相關的配置數(shù)據(jù),供主站監(jiān)控計算機運行時讀取和寫入并設置其自身的工作狀態(tài)。管理員可通過瀏覽器訪問和修改數(shù)據(jù)庫中的參數(shù)。Web應用程序服務器實現(xiàn)數(shù)據(jù)在網(wǎng)絡上的發(fā)布,接受在Internet上的任一用戶查詢?yōu)g覽,并允許授權用戶更改監(jiān)控主站計算機工作參數(shù),存儲在數(shù)據(jù)庫服務器上。有用戶請求時,Web應用程序服務器通過Internet從數(shù)據(jù)庫服務器中讀取用戶請求數(shù)據(jù),再通過Internet網(wǎng)絡把這些數(shù)據(jù)發(fā)送到請求數(shù)據(jù)用戶,用戶的一些參數(shù)設置信息保存到數(shù)據(jù)庫服務器上,或通過netX主站將配置信息下達到NXIO從站。
2.netX SoC主從站間數(shù)據(jù)通信設計
2.1 系統(tǒng)設計思路及程序部署
利用赫優(yōu)訊cifX實時以太網(wǎng)主站板卡、赫優(yōu)訊實時以太網(wǎng)從站IO測試板NXIO,搭建PROFINET實時以太網(wǎng)通信平臺,實現(xiàn)主從站PROFINET網(wǎng)絡通信及相應通信程序設計。圖2描述了主從站間基于PROFINET和RS232通信的主從站的控制程序、NXIO從站基于rcX嵌入式系統(tǒng)下的實時控制任務程序、數(shù)據(jù)存儲及Web方式下的數(shù)據(jù)訪問程序的部署。
2.2 系統(tǒng)程序主要功能描述
1) 主站W(wǎng)eb Server界面控制顯示程序:由ASP.Net設計的主站W(wǎng)eb Server界面程序,監(jiān)控從站按鈕、指示燈狀態(tài),同時實現(xiàn)主從站通信參數(shù)配置,并實現(xiàn)與主站通信程序的數(shù)據(jù)交互。
2) 主站數(shù)據(jù)通信程序:SYCON.net系統(tǒng)配置軟件實現(xiàn)對卡驅動、網(wǎng)絡診斷并實現(xiàn)主從站PROFINET通信,另外,采用C#串口通信類事件驅動完成基于RS232通信下對從站串口通信的配置和數(shù)據(jù)交互。
3) 從站循環(huán)掃描控制IO程序:基于rcX實時操作系統(tǒng),通過調用板級支持包中的系統(tǒng)函數(shù)實現(xiàn)IO控制。
4) 從站數(shù)據(jù)通信程序:基于BSP、串口通信協(xié)議和PROFINET IO協(xié)議棧實現(xiàn)與主站的通信。
5) 從站間多任務數(shù)據(jù)交互:從站控制作業(yè)如LED控制任務與通信任務采用信號量通信的方式獲得共享內存區(qū)(ARM數(shù)據(jù)POOL)的訪問權限,實現(xiàn)任務間的數(shù)據(jù)交互。
3.netX SoC主從站數(shù)據(jù)通信及Web訪問設計
3.1 主從站通信配置
SYCON.net是基于現(xiàn)場設備工具(FDT)/設備類型管理器(DTM)技術的配置工具。FDT不依賴通信協(xié)議及主機系統(tǒng)或現(xiàn)場設備的軟件環(huán)境,它具有標準的接口規(guī)范,對智能儀表實現(xiàn)綜合集成;DTM可以實現(xiàn)設備的驅動、設置及通信,在FDT下運行。采用FDT/DTM可提高系統(tǒng)對現(xiàn)場設備進行診斷和維護的能力,實現(xiàn)快速響應,提高系統(tǒng)的安全性和可靠性。如圖3所示,SYCON.net配置工具可以實現(xiàn)PROFINET IO網(wǎng)絡配置、連接、診斷和相關NXD配置文件的導出。方式是在SYCON.net配置工具中,在右側Hilscher GmbH列表中選擇Master文件夾中的netX500 PNM模塊拖到左側網(wǎng)絡線上。同樣的方法可以將NXIO從站加入到左側主站網(wǎng)絡線上,并利用DTM配置相應的主從站。對于其他廠家的從站設備,需要加入設備的GSD文件。
3.2 主站通信設計
主站通信利用C-Toolkit配置cifX卡,包括初始化、內存操作、字符操作、事件處理、文件處理、同步定時、PLC的配置讀寫等,如圖4所示。Visual Studio.NET平臺下,采用C#(C-sharp)結合C-Toolkit下提供的關于cifX卡固件加載的Lab文件、API函數(shù)及通信授權協(xié)議實現(xiàn)主站通信程序的設計,包括從站數(shù)據(jù)并入庫、向從站發(fā)送相關的配置信息等。圖5是串口通信類事件驅動完成對NXIO從站串口通信的配置,以及通過RS-232實現(xiàn)控制從站IO接口的開關及LED狀態(tài)顯示,同時程序包含Socket類實現(xiàn)接受Web下發(fā)的從站配置和控制信息。
主站通信網(wǎng)絡程序中定義Socket類,用于監(jiān)聽Web頁面上客戶端發(fā)送的配置信息。如下是主站Socket通信部分代碼:
3.3 Web控制及配置程序設計
基于VisualStudio.Net開發(fā)平臺,實現(xiàn)Web Server服務器對Slave Device NXIO的串口配置及LED燈的監(jiān)控。圖6是二號從站LED燈控制的一個測試界面。Web頁面封裝一個含有Socket的ActiveX控件:用于與服務器端的Socket通信,當配置從站信息和接受從站采集信息,觸發(fā)事件并實現(xiàn)數(shù)據(jù)交互。Web方式不適合實時監(jiān)控數(shù)據(jù)的實時查詢顯示,可用Web頁面刷新方式查詢各個監(jiān)控點的數(shù)據(jù)狀態(tài)。如每兩秒刷新一次監(jiān)控頁面,則可在HTML文件中加入代碼:<meta http-equiv="refresh"content="2">。
4.netX SoC從站系統(tǒng)技術研究
4.1 嵌入式netX硬件平臺的通信設計
netX嵌入系統(tǒng)用戶程序包括實時通信和控制程序。在rcX嵌入式下進行實時通信程序和控制程序設計,實時多任務操作系統(tǒng)中依據(jù)時間片和中斷進行任務調度。圖7為NXIO從站軟件系統(tǒng)架構。實時通信程序和控制程序可通過雙端口內存(DPM)交換數(shù)據(jù),相對獨立;實時通信程序采用消息通信機制時,利用接收發(fā)送標志位可提高通信數(shù)據(jù)的完整性。
4.2 netX從站程序設計及實現(xiàn)
從站控制程序是基于rcX實時操作系統(tǒng),通過調用板級支持包中的系統(tǒng)函數(shù)實現(xiàn)IO控制、串口通信程序以及基于PROFINET實時通信程序的設計。從站的實現(xiàn)流程如下:在Hitop IDE開發(fā)環(huán)境下完成硬件初始化,主函數(shù)實現(xiàn)任務的初始化及配置,LED控制任務、串口通信任務、PROFINET實時通信及各個任務間的調度,實現(xiàn)程序下載并駐留到在rcX嵌入式控制器中。從站通信及控制程序的軟件層次如圖7所示。
5.結論
通過NetX SoC配置PROFINET協(xié)議棧等通信技術研究,實現(xiàn)了PROFINET實時以太網(wǎng)接入、NetX SoC主從站間PROFINET和UART數(shù)據(jù)通信,以及Web方式下依托控制主站對從站實施遠程配置管理及監(jiān)控,為采用PROFINET實現(xiàn)遠程控制、監(jiān)管提供了一種可行的技術解決方案。