999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于UDP協(xié)議檢測(cè)嵌入式板卡的網(wǎng)絡(luò)通信質(zhì)量

2012-10-12 13:28:30何俊杰蔣知峰方江龍
制造業(yè)自動(dòng)化 2012年4期
關(guān)鍵詞:網(wǎng)絡(luò)通信嵌入式界面

何俊杰,蔣知峰,方江龍

HE Jun-jie1, JIANG Zhi-feng2, FANG Jiang-long2

(1. 上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200090;2. 上海開(kāi)通數(shù)控有限公司,上海 200233)

0 引言

以太網(wǎng)在信息網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。將以太網(wǎng)應(yīng)用到工控領(lǐng)域,首先要求數(shù)據(jù)傳輸具有更好的實(shí)時(shí)性,其次還強(qiáng)調(diào)在工業(yè)環(huán)境下數(shù)據(jù)傳輸?shù)恼_性和穩(wěn)定性。目前在工控嵌入式領(lǐng)域,網(wǎng)絡(luò)通信通常采用UDP或TCP協(xié)議。UDP與TCP相比,UDP使用非連接的、不可靠的通信方式,因此網(wǎng)絡(luò)傳輸速度快,實(shí)時(shí)性相對(duì)較好[1]。實(shí)際上,在控制現(xiàn)場(chǎng)級(jí)的工業(yè)以太網(wǎng)中,只要沒(méi)有硬件錯(cuò)誤,非連接的數(shù)據(jù)通信通常能夠順利完成,并且與TCP 相比具備更好的實(shí)時(shí)性。當(dāng)UDP不能通信時(shí),TCP 同樣面臨通信中斷[2]。本文采用UDP通信協(xié)議編程,通過(guò)對(duì)丟包率、出錯(cuò)率和長(zhǎng)時(shí)間工作下板卡網(wǎng)絡(luò)的穩(wěn)定性來(lái)分析判斷嵌入式網(wǎng)絡(luò)通信質(zhì)量的高低。

1 測(cè)試的原理方法

選用兩塊相同型號(hào)的嵌入式主板作為測(cè)試平臺(tái),兩塊主板采用相同的嵌入式操作系統(tǒng),一塊作為服務(wù)器,另一塊作為客戶端;客戶端循環(huán)發(fā)送指定的報(bào)文到服務(wù)器,服務(wù)器接收到正確的報(bào)文后給客戶端以確認(rèn)報(bào)文。通過(guò)循環(huán)檢測(cè)通信的質(zhì)量判斷網(wǎng)絡(luò)通信質(zhì)量。

實(shí)際測(cè)試的研華PCM-3343主板是應(yīng)用在機(jī)床數(shù)控系統(tǒng)的核心板卡,軟件環(huán)境是嵌入式的Windows CE操作系統(tǒng)并且移植了.NET環(huán)境。具體的測(cè)試方法是取同一型號(hào)相同軟件環(huán)境的兩塊嵌入式板卡,一塊作為客戶端,一塊作為服務(wù)器。網(wǎng)絡(luò)負(fù)載通過(guò)發(fā)送數(shù)據(jù)包的大小來(lái)控制,負(fù)載越大通信周期越長(zhǎng)。通過(guò)測(cè)試主機(jī)和客戶端在一定的網(wǎng)絡(luò)負(fù)載下,板卡長(zhǎng)時(shí)間工作下的穩(wěn)定性、丟包率和出錯(cuò)率的高低來(lái)檢測(cè)評(píng)估被測(cè)板卡網(wǎng)絡(luò)通信質(zhì)量的高低。

2 具體實(shí)現(xiàn)

2.1 通信時(shí)間和采樣時(shí)間的檢測(cè)方法

在具體實(shí)際測(cè)試中,由于嵌入式Windows CE系統(tǒng)和.NET環(huán)境已經(jīng)移植在被測(cè)板卡上,因此可以使用C#中ms級(jí)的timer控件來(lái)測(cè)量通信周期時(shí)間的長(zhǎng)短,但在實(shí)際應(yīng)用中卻無(wú)法獲得精確的時(shí)間。在實(shí)驗(yàn)測(cè)試中,發(fā)送1400字節(jié)大小的數(shù)據(jù)包時(shí),時(shí)間通常記錄為0或是1ms,不能獲得精確的時(shí)間。查閱了相關(guān)資料,可以采用以下兩個(gè)函數(shù)QueryPerformanceCounter() 和QueryPerformanceFrequency() 來(lái)獲得高精度計(jì)時(shí)。QueryPerformanceCounter()這個(gè)函數(shù)返回高精確度性能計(jì)數(shù)器的值,它可以以微妙為單位計(jì)時(shí)。但是QueryPerformanceCounter()確切的精確計(jì)時(shí)的最小單位是與系統(tǒng)有關(guān)的,所以,必須要查詢系統(tǒng)以得到QueryPerformanceCounter()返回的嘀噠聲的頻率。QueryPerformanceFrequency()提供了這個(gè)頻率值,返回每秒嘀噠聲的個(gè)數(shù)。這樣就能獲得詳細(xì)的時(shí)間信息,用時(shí)間記錄數(shù)值來(lái)反應(yīng)嵌入式板卡的通信質(zhì)量。實(shí)際測(cè)試中數(shù)值處理以ms為單位,取值保留精確到小數(shù)點(diǎn)后三位,能夠滿足測(cè)試的時(shí)間精度要求。

采樣時(shí)間可通過(guò)Timer控件來(lái)實(shí)現(xiàn)。長(zhǎng)時(shí)間工作下,ms級(jí)的精度完全可以滿足采樣時(shí)間間隔的要求。

應(yīng)用在嵌入式環(huán)境中,測(cè)試通信時(shí)間的部分程序代碼如下:

2.2 防止客戶端和服務(wù)器都處于接收狀態(tài)的解決方法

UDP通信協(xié)議采用三種通信方式:?jiǎn)尾?、廣播和組播。因?yàn)楸緦?shí)驗(yàn)只有直連的兩塊板卡,因此采用單播——客戶機(jī)/服務(wù)器模型。在數(shù)據(jù)交互通信的過(guò)程中,如果發(fā)送的數(shù)據(jù)包丟失或是損壞,導(dǎo)致服務(wù)器無(wú)法接收到數(shù)據(jù)包,此時(shí)客戶機(jī)和服務(wù)器均處于等待接收數(shù)據(jù)包狀態(tài),為了防止出現(xiàn)雙方均等待接收的狀態(tài),采用的超時(shí)的思想來(lái)處理。當(dāng)客戶機(jī)發(fā)出數(shù)據(jù)包后超過(guò)一定的時(shí)間沒(méi)有收到返回的數(shù)據(jù)包時(shí),客戶機(jī)重新發(fā)送數(shù)據(jù)包,以此來(lái)防止出現(xiàn)雙方都等待接收數(shù)據(jù)包的狀態(tài)。在嵌入式的.NET環(huán)境中,所能用的API有限,超時(shí)的編程不能通過(guò).NET環(huán)境的類庫(kù)來(lái)實(shí)現(xiàn),因此本實(shí)驗(yàn)通過(guò)使用調(diào)用動(dòng)態(tài)鏈接庫(kù)的思想來(lái)對(duì)底層的超時(shí)通信所用的函數(shù)做封裝。底層超時(shí)編程具體實(shí)現(xiàn)是通過(guò)select()函數(shù)和一些宏定義如FD_ISSET、FD_SET等函數(shù)來(lái)實(shí)現(xiàn)。select()函數(shù)用于確定套接口的狀態(tài),超時(shí)則返回0;出錯(cuò)返回SOCKET_ERROR錯(cuò)誤,可通過(guò)WSAGetLastError獲取相應(yīng)錯(cuò)誤代碼;依舊是1的位就是準(zhǔn)備好的描述符,可以通過(guò)函數(shù)FD_ISSET來(lái)檢測(cè)。動(dòng)態(tài)鏈接庫(kù)底層的函數(shù)的導(dǎo)出編程如下:

超時(shí)處理的關(guān)鍵部分實(shí)現(xiàn)程序如下:

用此方法可以達(dá)到防止出現(xiàn)服務(wù)器和客戶機(jī)都處于接收等待狀態(tài)的目的。在實(shí)際應(yīng)用測(cè)試中,由于設(shè)置的超時(shí)時(shí)間遠(yuǎn)遠(yuǎn)比數(shù)據(jù)包傳輸周期要長(zhǎng)的多,因此除了監(jiān)控界面,從時(shí)間數(shù)據(jù)上也很容易區(qū)分當(dāng)時(shí)網(wǎng)絡(luò)的狀態(tài)。

2.3 監(jiān)控測(cè)試界面的實(shí)現(xiàn)和丟包、出錯(cuò)的處理

由于已經(jīng)在嵌入式板卡上移植了Windows CE操作系統(tǒng)和.NET類庫(kù),因此監(jiān)控測(cè)試界面可以利用C#來(lái)編寫。IP地址是通過(guò)編程直接顯示的,為了能夠達(dá)到靈活測(cè)試的目的,界面除了使用Label控件來(lái)命名標(biāo)簽外,具體參數(shù)均使用TextBox控件來(lái)顯示和修改。底層程序通過(guò)讀取上層界面的參數(shù)來(lái)配置底層的參數(shù)。這樣做的好處的是編寫好程序后,底層程序不需要修改,只要修改界面參數(shù)就能完成不同參數(shù)環(huán)境的測(cè)試。

當(dāng)在通信過(guò)程中出現(xiàn)丟包和數(shù)據(jù)包出錯(cuò)情形,除了在界面中“網(wǎng)絡(luò)狀態(tài)”對(duì)應(yīng)的TextBox控件中實(shí)時(shí)顯示外,均在文檔中記錄發(fā)生的時(shí)間、次數(shù)等信息。

每次通信周期的時(shí)間值都會(huì)實(shí)時(shí)的顯示在界面右下角最大的TextBox控件中。當(dāng)記錄信息超過(guò)二十條時(shí),清空控件重新記錄。當(dāng)?shù)竭_(dá)采樣時(shí)間時(shí),記錄文檔的同時(shí),并計(jì)算采樣時(shí)間間隔內(nèi)所有通信周期數(shù)值的平均時(shí)間值,同時(shí)顯示在界面“周期時(shí)間顯示”欄對(duì)應(yīng)的TextBox控件中。

編寫的監(jiān)控測(cè)試界面在PC機(jī)上模擬運(yùn)行測(cè)試中的截圖如圖1所示。

圖1 監(jiān)控測(cè)試界面

2.4 實(shí)驗(yàn)結(jié)果分析

在實(shí)際測(cè)試中對(duì)不同的參數(shù)環(huán)境下做了測(cè)試,以下是其中比較具有代表性的一組測(cè)試。采樣時(shí)間間隔為1s,傳送的數(shù)據(jù)包大小為6000字節(jié),測(cè)試時(shí)間長(zhǎng)達(dá)二十小時(shí)左右。這樣,板卡的網(wǎng)絡(luò)負(fù)載遠(yuǎn)遠(yuǎn)大于實(shí)際工作時(shí)實(shí)時(shí)傳輸數(shù)據(jù)包的大小,測(cè)試的通信周期次數(shù)為八百多萬(wàn)次,得到八萬(wàn)多個(gè)采樣時(shí)間點(diǎn),能夠從所得數(shù)據(jù)來(lái)分析評(píng)估板卡的通信質(zhì)量和通信穩(wěn)定性。通過(guò)每?jī)煞昼姡s120個(gè)采樣數(shù)據(jù)點(diǎn))取平均數(shù),每小時(shí)采取30個(gè)平均時(shí)間點(diǎn),做出的二十張曲線圖,以下摘取的是第一小時(shí)和最后一小時(shí)的兩張圖。

第1小時(shí)數(shù)據(jù)記錄分析圖如圖2所示。

圖2 第1小時(shí)數(shù)據(jù)分析圖

第20小時(shí)左右的數(shù)據(jù)記錄分析圖,如圖3所示。

圖3 第20小時(shí)左右數(shù)據(jù)分析圖

通過(guò)分析長(zhǎng)時(shí)間工作下采樣時(shí)間值的波動(dòng)、出錯(cuò)率和丟包率來(lái)判斷網(wǎng)絡(luò)通信質(zhì)量的高低。本次實(shí)驗(yàn)在八百多萬(wàn)次的測(cè)試中,丟包9次,出錯(cuò)2次,正確的穩(wěn)定傳送率在99.999%以上,通過(guò)圖表分析通信周期時(shí)間為12.973ms左右,時(shí)間波動(dòng)在0.148ms左右,通信穩(wěn)定性較好,通過(guò)測(cè)試得到的數(shù)值分析判斷此板卡的通信質(zhì)量較高。

3 結(jié)束語(yǔ)

本文嘗試使用UDP網(wǎng)絡(luò)通信協(xié)議,通過(guò)軟件編程的方法來(lái)檢測(cè)在一定的網(wǎng)絡(luò)負(fù)載下,工控嵌入式板卡網(wǎng)絡(luò)通信長(zhǎng)時(shí)間工作下,通信質(zhì)量的高低。經(jīng)過(guò)對(duì)研華PCM-3343板卡的實(shí)驗(yàn)驗(yàn)證分析,此方法能夠達(dá)到測(cè)試嵌入式板卡通信質(zhì)量的目的。

[1]蕭文龍, 林松儒. TCP/IP最佳入門[M]. 北京: 機(jī)械工業(yè)出版社, 2006.

[2]吉順平, 陸宇平. 基于UDP/IP 的工業(yè)以太網(wǎng)絡(luò)通信協(xié)議的設(shè)計(jì)[J]. 信息與控制, 2008, 37(5): 562-563.

[3]黃靜, 李銘. C#高級(jí)編程(第6版)[M]. 北京: 清華大學(xué)出版社, 2008.

[4]陳健, 宋健建. Linux程序設(shè)計(jì)(第4版)[M]. 北京: 人民郵電出版社, 2010.

[5]呂秀鋒, 黃倩. C語(yǔ)言程序設(shè)計(jì)現(xiàn)代方法(第2版)[M]. 北京: 人民郵電出版社, 2010.

猜你喜歡
網(wǎng)絡(luò)通信嵌入式界面
海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
國(guó)企黨委前置研究的“四個(gè)界面”
基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:48
網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見(jiàn)問(wèn)題及技術(shù)發(fā)展
電子制作(2017年17期)2017-12-18 06:41:06
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
人機(jī)交互界面發(fā)展趨勢(shì)研究
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 3344在线观看无码| 亚洲欧洲日韩综合色天使| 亚洲成人一区在线| 欧美日韩精品在线播放| 亚洲综合中文字幕国产精品欧美| vvvv98国产成人综合青青| 动漫精品啪啪一区二区三区| 日韩AV手机在线观看蜜芽| 国产精品亚洲精品爽爽| 精品成人一区二区三区电影| 日韩精品欧美国产在线| 色噜噜狠狠狠综合曰曰曰| 国产精品午夜电影| 国产精欧美一区二区三区| 四虎成人免费毛片| 国产清纯在线一区二区WWW| 亚洲黄色高清| 亚洲黄色片免费看| 欧美激情网址| 精品久久国产综合精麻豆| 日韩精品毛片人妻AV不卡| 日本精品中文字幕在线不卡| 欧美精品v日韩精品v国产精品| 在线免费看片a| 亚洲色图欧美在线| 国产主播福利在线观看| 成年人福利视频| 成人av专区精品无码国产| a级毛片免费播放| 免费a级毛片18以上观看精品| 女人18一级毛片免费观看| 毛片在线播放网址| 91欧美亚洲国产五月天| 欧美日韩国产综合视频在线观看 | 麻豆AV网站免费进入| 欧美人与性动交a欧美精品| 久久婷婷国产综合尤物精品| 国产乱子伦一区二区=| 欧美日韩在线国产| 亚洲无码高清一区二区| 欧美高清视频一区二区三区| 亚洲嫩模喷白浆| 亚洲精品中文字幕无乱码| 人人澡人人爽欧美一区| 国产精品久久自在自2021| 亚洲天堂区| 欧美亚洲另类在线观看| 欧美乱妇高清无乱码免费| 国产在线视频欧美亚综合| 亚洲欧美日韩成人在线| 国产成人高清精品免费5388| 欧美a网站| 美女被躁出白浆视频播放| 最新亚洲av女人的天堂| 久久这里只精品国产99热8| 国内自拍久第一页| 成人免费视频一区二区三区| 国产h视频免费观看| 99草精品视频| 黄片一区二区三区| 日本亚洲欧美在线| 精品一区二区三区自慰喷水| 欧美综合在线观看| 中文字幕在线日本| 国产草草影院18成年视频| 久久精品无码国产一区二区三区| 精品一区二区三区中文字幕| 国产精品第三页在线看| 高h视频在线| 色综合天天视频在线观看| 国产美女无遮挡免费视频| 欧美在线导航| 欧美 国产 人人视频| 蜜臀AVWWW国产天堂| 日韩精品成人网页视频在线| 无码精品国产dvd在线观看9久 | 国产成人免费高清AⅤ| 亚洲婷婷在线视频| 午夜日b视频| 99热这里只有成人精品国产| 最新国产麻豆aⅴ精品无| 青青极品在线|