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