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