摘要:本文分析總結(jié)了該標(biāo)準(zhǔn)無線網(wǎng)絡(luò)的各種研究方法,提出了該無線網(wǎng)絡(luò)的性能測試分析方法,并開發(fā)相應(yīng)的測試裝置,以考察其在工業(yè)無線網(wǎng)絡(luò)控制系統(tǒng)中通信的性能指標(biāo),為優(yōu)化和改善工業(yè)無線網(wǎng)絡(luò)通信提供了依據(jù)。
引言
近年來,中短程無線通信技術(shù)發(fā)展迅速,它正逐步滲透到工業(yè)控制領(lǐng)域,具有很好的應(yīng)用前景?;贗EEE802.15.4a(4A)標(biāo)準(zhǔn)的線性調(diào)頻擴頻技術(shù)(chirp spread spectrum , CSS)綜合了FSK、PSK和ASK三種調(diào)制方式的優(yōu)點,能有效地抑制惡劣環(huán)境中的噪聲和干擾且功耗極低,特別適合應(yīng)用于工業(yè)場合。為了研究該標(biāo)準(zhǔn)下的工業(yè)無線產(chǎn)品安全性和穩(wěn)定性,需要設(shè)計相應(yīng)的測試和驗證方法,以考察其性能。
目前,人們對于該標(biāo)準(zhǔn)的大部分研究工作還只是基于普通的計算機網(wǎng)絡(luò)的離線性能分析,新的測試方法和裝置未見報道。本文分析總結(jié)了該標(biāo)準(zhǔn)無線網(wǎng)絡(luò)的各種研究方法,提出了該無線網(wǎng)絡(luò)的性能測試分析方法,并開發(fā)相應(yīng)的測試裝置,以考察其在工業(yè)無線網(wǎng)絡(luò)控制系統(tǒng)中通信的性能指標(biāo),為優(yōu)化和改善工業(yè)無線網(wǎng)絡(luò)通信提供了依據(jù)。
一、實時性測試方法
1.1 工業(yè)無線網(wǎng)絡(luò)的實時性
實時性是指信號的輸入、運算和輸出都要在一定的時間內(nèi)完成,并根據(jù)生產(chǎn)過程工況及現(xiàn)場情況變化進行及時處理 。實時與快速并非是相同的含義,無論網(wǎng)絡(luò)的傳輸速度如何,只要在規(guī)定的響應(yīng)時間內(nèi)產(chǎn)生響應(yīng)動作,都說明系統(tǒng)具有實時性。工業(yè)無線網(wǎng)絡(luò)的實時性是指網(wǎng)絡(luò)中的功能節(jié)點通過網(wǎng)絡(luò)聯(lián)系在一起,當(dāng)某個節(jié)點向網(wǎng)絡(luò)發(fā)出訪問請求時,功能節(jié)點能夠在響應(yīng)時間內(nèi)完成相應(yīng)的功能操作川。對于工業(yè)無線通信的實時性測試主要是考核該網(wǎng)絡(luò)對各類事件的響應(yīng)速度、穩(wěn)定性、準(zhǔn)確性等性能,其關(guān)注的對象是工業(yè)無線網(wǎng)絡(luò)的性能指標(biāo),如:丟包率、時延、控制周期和吞吐量等,這些性能指標(biāo)是準(zhǔn)確評價在不同網(wǎng)絡(luò)負載下協(xié)議實現(xiàn)性能的一種重要手段。
1.2 測試方法
目前,基于IEEE802.15.4a標(biāo)準(zhǔn)的無線網(wǎng)絡(luò)的測試研究方法主要有理論分析、計算機仿真和真實測試平臺三大類。理論分析是用數(shù)學(xué)建模的方法對網(wǎng)絡(luò)及其環(huán)境進行詳細的描述和分析,間接實現(xiàn)對實際應(yīng)用網(wǎng)絡(luò)的研究。計算機仿真方法是利用NSZ、OPNET、Matlab等仿真軟件對無線網(wǎng)絡(luò)進行研究,這類方法具有成本低、靈活性好和可靠性高等優(yōu)勢。真實測試平臺本質(zhì)上就是原型系統(tǒng),最接近于實際應(yīng)用的網(wǎng)絡(luò)環(huán)境。
理論分析和計算機仿真的方法雖然可以進行多個同類協(xié)議的比較,但建模復(fù)雜、且不可能完全模擬工業(yè)現(xiàn)場的真實環(huán)境。真實平臺的測試方法更為真實可信,不僅全面包含影響網(wǎng)絡(luò)狀態(tài)的各個因素,而且避免了因模型簡化而導(dǎo)致的誤差。通過查閱相關(guān)文獻,發(fā)現(xiàn)基于IEEE802.15.4a的CSS物理層協(xié)議標(biāo)準(zhǔn)的研究平臺較少,大多數(shù)是理論仿真分析;而本課題已經(jīng)設(shè)計好基于IEEE802.15.4a的CSS物理層協(xié)議標(biāo)準(zhǔn)無線節(jié)點,并將該類節(jié)點集成到工業(yè)控制系統(tǒng)中去,且運行穩(wěn)定。因此,本文選擇了真實平臺的測試方法,并開發(fā)了測試裝置。
1.3 測試方法的實現(xiàn)
工業(yè)無線產(chǎn)品通常是以協(xié)議轉(zhuǎn)換器、ODBC、OPC和網(wǎng)關(guān)等方式接入到現(xiàn)有的控制系統(tǒng)。采用OPC、ODBC等方式的無線網(wǎng)路不能保證測試數(shù)據(jù)的實時性,但若以硬件的方式接入到控制系統(tǒng)中,如轉(zhuǎn)換器或者網(wǎng)關(guān)等,則可以解決上述問題。
本文研究的無線網(wǎng)絡(luò)是通過協(xié)議轉(zhuǎn)換器接入到工業(yè)控制網(wǎng)絡(luò)。按照這種接入方式,測試裝置通過無線發(fā)送數(shù)據(jù)、有線接收數(shù)據(jù),實現(xiàn)了數(shù)據(jù)的跟蹤測試。測試裝置接入無線網(wǎng)絡(luò)的測試方法示意圖如圖1所示。
由圖1可知,測試數(shù)據(jù)包的傳輸路徑為性能測試裝置(無線子節(jié)點)→協(xié)議轉(zhuǎn)換裝置(無線主站)→主干網(wǎng)絡(luò)PLC主站→協(xié)議轉(zhuǎn)換裝置( Modbus/TCP Client)→性能測試裝置。協(xié)議轉(zhuǎn)換裝置由無線主站、 Modbus/TCPclient、Profibus-DP從站等組成。無線主站收到測試數(shù)據(jù)包后,通過協(xié)議轉(zhuǎn)換裝置變換成 Profius-DP報文并上傳至PLC控制器;PLC將報文分發(fā)至有線網(wǎng)絡(luò)的數(shù)據(jù)映射區(qū),進行數(shù)據(jù)處理后,通過Profibus-DP報文分發(fā)至協(xié)議轉(zhuǎn)換裝置。協(xié)議轉(zhuǎn)換裝置將該Profibus-DP報文轉(zhuǎn)換為Modbus/TCP網(wǎng)絡(luò)協(xié)議報文,發(fā)送給測試節(jié)點。在此過程中采用時間戳的概念,記錄下每次數(shù)據(jù)包在各種協(xié)議中的接收廠發(fā)送時間、收發(fā)數(shù)據(jù)包的數(shù)量及其他有效信息,并最終計算出無線網(wǎng)絡(luò)的各種性能參數(shù)。
本文選擇了無線網(wǎng)絡(luò)的丟包率、無線網(wǎng)絡(luò)流量、無線網(wǎng)絡(luò)令牌循環(huán)時間和有線無線網(wǎng)絡(luò)的控制周期作為無線網(wǎng)絡(luò)性能的指標(biāo)。丟包率指一段時間內(nèi)無線丟失的包個數(shù)與發(fā)送的包的總數(shù)量之比;無線網(wǎng)絡(luò)流量指單位時間內(nèi)發(fā)送接收的數(shù)據(jù)總和;令牌循環(huán)周期指同一個無線節(jié)點相鄰兩次收到令牌的循環(huán)時間,表達式為:
TokenCycle=Tn+1-Tn (1)式中:Tn為無線節(jié)點C第N次收到令牌的時間;T n+1為第N+1次收到令牌的時間。
控制周期指在一組測試中,數(shù)據(jù)包離開A網(wǎng)絡(luò)源節(jié)點記錄時間為Tsend ,經(jīng)過網(wǎng)關(guān)或者協(xié)議轉(zhuǎn)換器有效地穿越至B網(wǎng)絡(luò),經(jīng)過主控制器后處理后再回到A網(wǎng)絡(luò)的目標(biāo)節(jié)點時間為Trecv。控制周期計算表達式為:
ControlCycle=Trecv- Tsend (2)
二、裝置硬件實現(xiàn)
本文選擇了AT91RM9200處理器,工作溫度范圍為-40~+80℃,具有很好的抗干擾特點。通過SPI總線與NAITRS無線模塊連接,實現(xiàn)測試裝置的無線通信功能。無線模塊采用了線性調(diào)頻擴頻CSS技術(shù)作為實現(xiàn)工業(yè)無線網(wǎng)絡(luò)協(xié)議IEEE802.15.4a的物理層標(biāo)準(zhǔn),測試裝置硬件結(jié)構(gòu)如圖2所示。
AT91RM9200微處理器集成了以太網(wǎng)控制器,通過MDIO接口外擴DM9l61 以太網(wǎng)物理層接口芯片,對外通過Rj45網(wǎng)口與其他的Medbus節(jié)點進行通信,其本身作為一個Modbus/TCP Server節(jié)點。LCD顯示屏采用Topway的LM32019EWF,分辨率為320×240, 供電電壓為3.3V,它以8080總線的方式連接到AT91RM92OO微處理器上。
觸摸屏采用的是AD7843芯片,通過I/O口線連接到處理器上,模擬 SPI實現(xiàn)數(shù)據(jù)的通信。系統(tǒng)擴展了DM9000網(wǎng)口與上位機進行通信,實現(xiàn)與上位計算機的數(shù)據(jù)交互;此外,還擴展了SDRAM存儲器和FLASH存儲器、 USB 接口、串口、輸入輸出I/O等。該裝置與測試網(wǎng)絡(luò)連接采用無線(基于IEEE802.15.4a標(biāo)準(zhǔn)CSS物理層的NAI TRS無線模塊)和有線( Modbus/TCP)的方式,實現(xiàn)與測控平臺的接入。
三、程序?qū)崿F(xiàn)
3.1 應(yīng)用程序設(shè)計
3.1.1 無線測試程序的實現(xiàn)
測試裝置通過無線接入到無線令牌環(huán)網(wǎng)絡(luò),進行數(shù)據(jù)測試。測試的具體步驟為:程序先進行初始化,測試裝置等待加入到無線令牌環(huán)網(wǎng)絡(luò)。測試裝置加入后等待獲得網(wǎng)絡(luò)的令牌。測試裝置獲得令牌后將測試數(shù)據(jù)發(fā)送至無線主站,同時將數(shù)據(jù)保存到一張二維表格1里。無線主站(協(xié)議轉(zhuǎn)換器)將測試數(shù)據(jù)轉(zhuǎn)換成Profihus-DP的數(shù)據(jù)包發(fā)送至PLC, PLC進行相應(yīng)的處理后,將數(shù)據(jù)返回協(xié)議轉(zhuǎn)換器。協(xié)議轉(zhuǎn)換器將數(shù)據(jù)包轉(zhuǎn)換成Modb-us/TCP的數(shù)據(jù)包發(fā)送給測試裝置,測試裝置將接收到的數(shù)據(jù)記錄到表I中。當(dāng)表I記滿后自動轉(zhuǎn)到表n,等待數(shù)據(jù)處理程序處理表I的數(shù)據(jù),處理完畢后清零。
3.1.2 數(shù)據(jù)處理程序的實現(xiàn)數(shù)據(jù)處理程序流程如圖3所示。
當(dāng)表Ⅰ(Ⅱ)完成256次測試后,測試程序會發(fā)送表Ⅰ(Ⅱ)測試完畢的信號量,數(shù)據(jù)處理程序獲得該同步信號量,并對該表進行數(shù)據(jù)處理。
根據(jù)表中發(fā)送和接收的數(shù)據(jù)信息計算出丟包率,令牌循環(huán)時間、無線網(wǎng)絡(luò)的流量和控制周期等參數(shù)。處理完成后清除表格中的數(shù)據(jù),并保存處理結(jié)果到相應(yīng)的數(shù)據(jù)區(qū)。
3.1.3 接口程序的實現(xiàn)
顯示程序和觸摸屏輸入程序主要完成對測試結(jié)果的顯示和用戶的設(shè)置。上電后首先對硬件進行初始化,然后通過輸入信息選擇相應(yīng)的顯示信息,即:丟包率顯示、流量顯示、令牌循環(huán)時間顯示、延時顯示以及與其他用戶交互的界面選擇。上位機通信利用套接字中的socket〔 〕和Connect 〔 〕函數(shù)與上位機之間建立起可用的TCP連接,用Send 〔 〕和receive 〔 〕函數(shù)將測試結(jié)果告知計算機。
3.2 多任務(wù)調(diào)度的實現(xiàn)
測試裝置的軟件系統(tǒng)采VxWorks嵌入式實時操作系統(tǒng)。VxWorks實時操作系統(tǒng)提供的多任務(wù)機制中對任務(wù)的控制采用了優(yōu)先級搶占和輪轉(zhuǎn)調(diào)度機制,充分保證了可靠的實時性,使同樣的硬件配置能滿足更強的實時性要求,為應(yīng)用開發(fā)留下更大的余地。
在主程序中設(shè)定系統(tǒng)時鐘分辨率及任務(wù)調(diào)度方式,并創(chuàng)建twire、thandle、tclient、tdisplay和tserver共五個新任務(wù)。twire為無線節(jié)點任務(wù),主要完成入網(wǎng)和發(fā)送接收數(shù)據(jù)、發(fā)送令牌等操作;thandle為性能測試結(jié)果的計算任務(wù),將一次測試過程中的各項數(shù)據(jù)記錄在列表中,計算得到性能指標(biāo)值等;tclient為TCP客戶端任務(wù),主要利用socket和connect函數(shù)建立起可用的TCP連接,用send和,receive函數(shù)發(fā)送報文并接收對方響應(yīng),完成一次測試結(jié)果的上傳;tdisPlay為顯示和輸入任務(wù),用于對測試數(shù)據(jù)的顯示和控制;tserver是Modbus/TCP服務(wù)器程序,完成Modbus/TCP 網(wǎng)絡(luò)通信的功能。上述各任務(wù)并行運行,任務(wù)之間的通信采用信號量和消息的方式。
各任務(wù)之間分別采用semhandle、semclient、semdis-play這三種信號量進行通信。其中,semhandle信號量用來同步thandle與 tserver任務(wù),即當(dāng)Modbus/TCP服務(wù)器端接收完一組測試包后才能開啟性能計算任務(wù);semclient信號量用來同步thandle與tclient任務(wù),當(dāng)測試數(shù)據(jù)計算得出結(jié)果后才能通過客戶端上傳至上位機;semdispl叮用來同步thandle和tdisplay任務(wù),即將thandie計算的數(shù)據(jù)結(jié)果同步顯示在液晶屏上。
四、實驗結(jié)果驗證待測網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖4所示
無線網(wǎng)絡(luò)流量、令牌周期和控制周期示意圖分別如圖5、圖6所示。
經(jīng)過測試,我們得到該系統(tǒng)在傳輸距離為30m以內(nèi)的丟包率小于0.1%,無線到Modbus/TCP的現(xiàn)場總線網(wǎng)絡(luò)的控制周期為27.34ms。
五、結(jié)束語
該測試方法提出了基于IEEE802.15.4a的CSS標(biāo)準(zhǔn)的嵌入式工業(yè)無線網(wǎng)絡(luò)的測試,其主要優(yōu)點在于由嵌入式操作系統(tǒng)提供統(tǒng)一的時間基準(zhǔn)而避免了時間基準(zhǔn)引起的測量誤差,并將測試裝置接入現(xiàn)場總線網(wǎng)段中進行測量,能更精確地獲得性能參數(shù)。
(轉(zhuǎn)載)