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

網(wǎng)絡(luò)通信技術(shù)在超聲波探傷系統(tǒng)中的應(yīng)用

2009-04-29 00:00:00
電腦知識(shí)與技術(shù) 2009年27期

摘要:網(wǎng)絡(luò)通信在實(shí)際中有著廣泛的應(yīng)用,該文結(jié)合某超聲波探傷系統(tǒng)中的實(shí)際應(yīng)用,討論了在嵌入式操作系統(tǒng)Linux和windows間實(shí)現(xiàn)網(wǎng)絡(luò)通信的關(guān)鍵技術(shù),并詳細(xì)說(shuō)明了利用Socket實(shí)現(xiàn)Linux與windows不同操作系統(tǒng)之間網(wǎng)絡(luò)通信的方法。

關(guān)鍵詞:網(wǎng)絡(luò)通信;Linux;Windows;Socket;UDP

中圖分類號(hào):T330文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)27-7788-02

Application of Network Communication Technology in Ultrasonic Testing System

SONG Jing

(College of Information Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)

Abstract: The network communication has the broad application in actual. Combining with the application in an ultrasonic testing system, this paper discussed the key techniques of the network communication between embedded operating system Linux and windows. And specified the method of network communication of different operating system between Linux and Windows by using Socket.

Key words: Network communication;Linux;Windows;Socket;UDP

在工業(yè)控制,智能家電等領(lǐng)域,嵌入式系統(tǒng)已成為各種具體應(yīng)用的基礎(chǔ)。對(duì)于有聯(lián)網(wǎng)需求的應(yīng)用,在工業(yè)領(lǐng)域我們通常使用各類工業(yè)現(xiàn)場(chǎng)總線來(lái)連接嵌入式系統(tǒng)及各個(gè)主機(jī);而對(duì)于另一些場(chǎng)合,往往使用TCP/IP網(wǎng)絡(luò)以簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),降低成本。本文就是針對(duì)這類需求,探討了在超聲波探傷系統(tǒng)中嵌入式Linux系統(tǒng)與Windows主機(jī)實(shí)現(xiàn)通信的方法。

1 開發(fā)環(huán)境

本文結(jié)合的某超聲波探傷系統(tǒng)的硬件框圖如圖1。

該系統(tǒng)是基于PC機(jī)的超聲探傷系統(tǒng)。其中模擬部分負(fù)責(zé)超聲波信號(hào)的發(fā)生和接收,F(xiàn)PGA子系統(tǒng)負(fù)責(zé)高速信號(hào)處理以及各種邏輯控制,嵌入式子系統(tǒng)負(fù)責(zé)各種硬件設(shè)備的控制和管理。超聲波觸發(fā)電路激勵(lì)探頭產(chǎn)生超聲波信號(hào)并接收其回波,得到的信號(hào)經(jīng)過(guò)濾波、高頻放大、高速AD轉(zhuǎn)換、高速緩存等處理,然后通過(guò)PCI總線送入PC機(jī)中。同時(shí)在 PC機(jī)上采用VC++開發(fā)了超聲波無(wú)損檢測(cè)信號(hào)分析系統(tǒng),實(shí)現(xiàn)波形的實(shí)時(shí)顯示、用戶指令操作、波形的后續(xù)處理等操作。

數(shù)據(jù)傳輸是超聲波探傷系統(tǒng)的重要任務(wù)之一,為了使系統(tǒng)具有通信功能,本設(shè)計(jì)采用了以太網(wǎng)來(lái)完成此項(xiàng)功能,以太典型的應(yīng)用形式是Ethernet + TCP/IP,即在由以太網(wǎng)構(gòu)建的底層傳輸網(wǎng)絡(luò)上采成為通用標(biāo)準(zhǔn)的網(wǎng)絡(luò)傳輸協(xié)議TCP/IP進(jìn)行數(shù)據(jù)通信,這是當(dāng)今最流行,應(yīng)廣泛的以太網(wǎng)通信方式。

2 網(wǎng)絡(luò)通信原理

2.1 Socket介紹

Socket是為方便開發(fā)人員進(jìn)行TCP/IP程序開發(fā),而為TCP/IP協(xié)議開發(fā)的一組應(yīng)用程序接口(API),它是網(wǎng)絡(luò)通信中應(yīng)用進(jìn)程和網(wǎng)絡(luò)協(xié)議之間的接口。Socket在所有網(wǎng)絡(luò)操作系統(tǒng)和網(wǎng)絡(luò)應(yīng)用程序中都是必不可少的。

socket函數(shù)原型為:int socket(int domain, int type, int protocol)。

常用的Socket類型有兩種:針對(duì)于面向連接的TCP服務(wù)應(yīng)用的流式Socket和對(duì)應(yīng)于無(wú)連接的UDP服務(wù)應(yīng)用的數(shù)據(jù)報(bào)式Socket。

2.2 網(wǎng)絡(luò)通信框圖

圖2是系統(tǒng)在 TCP/IP協(xié)議下通過(guò)網(wǎng)絡(luò)進(jìn)行通信的框圖。服務(wù)器端和客戶端都通過(guò)Socket接口相互問(wèn)進(jìn)行通信。

根據(jù)建立連接的類型,分成面向連接和無(wú)連接兩種,分別對(duì)應(yīng)TCP和UDP協(xié)議;兩個(gè)系統(tǒng)通過(guò)各自的網(wǎng)絡(luò)接口設(shè)備物理上互連,在傳遞數(shù)據(jù)信息時(shí),在上層建立起UDP套接字虛連接。

3 網(wǎng)絡(luò)通信實(shí)現(xiàn)

針對(duì)嵌入式設(shè)備通訊主要是發(fā)送接收一些實(shí)時(shí)數(shù)據(jù)信息及指令,這里選擇了相對(duì)高效的UDP傳輸協(xié)議。

由于使用UDP協(xié)議來(lái)傳輸數(shù)據(jù),可能會(huì)因物理網(wǎng)絡(luò)或者其它原因丟失數(shù)據(jù)包或數(shù)據(jù)包在傳輸過(guò)程中損壞,可以利用一段時(shí)間內(nèi)的多次發(fā)送來(lái)覆蓋這種小概率的數(shù)據(jù)出錯(cuò);另外一種較好的解決方法是將此糾錯(cuò)處理交給應(yīng)用層即所編寫的程序來(lái)應(yīng)對(duì),比如在Linux端發(fā)送消息時(shí)即確定好一個(gè)關(guān)于本次發(fā)送字符串的校驗(yàn)標(biāo)志,然后Windows端接收到后先對(duì)這個(gè)字符串做相同的校驗(yàn)處理,結(jié)果與取出的標(biāo)志相比較,同則接受這個(gè)包,并做進(jìn)一步處理,不同則認(rèn)為包在傳輸過(guò)程中已損壞,舍棄等待下一個(gè)包到達(dá)。

3.1 Linux下網(wǎng)絡(luò)通信程序設(shè)計(jì)

1) 創(chuàng)建Socket

sock = socket(AF_INET, SOCK_DGRAM, 0);創(chuàng)建Socket

2) 配置Socket

//先對(duì)服務(wù)器地址server_addr等數(shù)據(jù)結(jié)構(gòu)和字節(jié)順序進(jìn)行初始化。

bind(sock, (struct sockaddr *) client_addr, sizeof(client_addr))// 利用bind()函數(shù)綁定端口和地址信息

3) 數(shù)據(jù)通信

recvfrom(sock,(char *)recvPacket,sizeof(RecvPacket), 0,(struct sockaddr *)server_addr,addr_len);// 接收數(shù)據(jù)

sendto(sock,(char *)sendPacket,sizeof(SendPacket), 0,(struct sockaddr *)server_addr,addr_len);//發(fā)送數(shù)據(jù)

在編譯之前我們需要在系統(tǒng)里安裝g++、gcc,它們就是Linux下的C++/C的編譯器,這里我們使用g++來(lái)編譯C++程序。該程序利用雙線程來(lái)實(shí)現(xiàn)收發(fā)數(shù)據(jù),在Linux下,編譯一個(gè)多線程的程序命令為:g++ -lpthread -o file file.c

也可以將編譯過(guò)程寫入makefile中,定義相關(guān)參數(shù)及使用靜態(tài)鏈接,最后編譯,連接,產(chǎn)生目標(biāo)代碼。

3.2 Windows下網(wǎng)絡(luò)通信程序設(shè)計(jì)

Windows主機(jī)部分作為監(jiān)控端,不僅需要實(shí)現(xiàn)數(shù)據(jù)信息的實(shí)時(shí)接收,處理與轉(zhuǎn)發(fā),還需要有一良好的人機(jī)交互界面,采用VisualC++6.0中的MFC可以方便的創(chuàng)建人機(jī)交互界面,而且MFC封裝了WinSock類庫(kù),可以很方便地開發(fā)基于TCP/I P的網(wǎng)絡(luò)應(yīng)用程序,其服務(wù)器端監(jiān)控程序的開發(fā)步驟如下 :

1)創(chuàng)建套接字 ServerSocket 。

ServerSocket=socket(AF_INET,SOCK_DGRAM,0);

2)為套接字分配地址。

//初始客戶端端的地址和端口信息

//初始化自己的地址和端口信息并與socket綁定

bind(m_socket,(SOCKADDR*) addrSrv,sizeof(SOCKADDR));

3)數(shù)據(jù)通信

Socket配置完成后,就可以通過(guò)send()和recv()發(fā)送和接收數(shù)據(jù)了,函數(shù)模型與Linux下函數(shù)相同。

recvfrom(sock,(char*)recvPacket,sizeof(RecvPacket),0,(SOCKADDR*)addrClient,len)

sendto(sock,(char *)sendPacket,sizeof(SendPacket),0,(SOCKADDR*)addrClient,len)

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

本文著眼于網(wǎng)絡(luò)通信在超聲波探傷系統(tǒng)中的應(yīng)用,使其能夠進(jìn)行網(wǎng)絡(luò)通信,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、網(wǎng)絡(luò)互連、數(shù)據(jù)傳輸。基于TCP/IP協(xié)議的以太網(wǎng)通信快速準(zhǔn)確的實(shí)現(xiàn)了Window和Linux之間的數(shù)據(jù)傳輸。利用以太網(wǎng)簡(jiǎn)單方便、嵌入式操作系統(tǒng)Linux的開放和低價(jià)、再加上Windows良好的人機(jī)界面,通過(guò)Socket編程實(shí)現(xiàn)網(wǎng)絡(luò)通信,將這三者很好的結(jié)合在一起,是智能化檢測(cè)儀器的發(fā)展方向。本課題的研究為高性能的網(wǎng)絡(luò)化超聲波無(wú)損檢測(cè)技術(shù)奠定了良好的基礎(chǔ),具有一定的實(shí)際意義。

參考文獻(xiàn):

[1] 強(qiáng)建國(guó),馬曉,楊東亞,等.用Windows套接字實(shí)現(xiàn)雙向Internet實(shí)時(shí)通訊[J].蘭州理工大學(xué)學(xué)報(bào),2005,31(5).

[2] 郎銳,羅發(fā)根.Visual C++網(wǎng)絡(luò)通信程序開發(fā)指南[M]. 北京:機(jī)械工業(yè)出版社,2004.

[3] Douglas.Comer,David L.Stevens.TCP/IP客戶一服務(wù)器編程與應(yīng)用[M].北京:清華大學(xué)出版社,2004.

[4] 張樹兵,龐勇. Winsock網(wǎng)絡(luò)通信程序的開發(fā)[J]. 華北工學(xué)院學(xué)報(bào), 2002,23(2).

[5] 韋東山. 嵌入式Linux應(yīng)用開發(fā)完全手冊(cè) [M]. 北京:人民郵電出版社, 2008.

[6] John E. Swanke.前導(dǎo)工作室譯. VC++MFC擴(kuò)展編程實(shí)例[M].北京:機(jī)械工業(yè)出版社,2001.

主站蜘蛛池模板: 久久婷婷六月| 亚洲中文无码h在线观看| 国产精品真实对白精彩久久| 亚洲综合婷婷激情| 国产亚洲精品91| 91www在线观看| 国产成人免费视频精品一区二区 | 国产国产人在线成免费视频狼人色| 欧美精品亚洲精品日韩专| 五月激情综合网| 国产自视频| 99久久精彩视频| 最新日韩AV网址在线观看| 国产偷国产偷在线高清| 看看一级毛片| 成人一级黄色毛片| 亚洲人成网站在线播放2019| 欧美黑人欧美精品刺激| 亚洲狠狠婷婷综合久久久久| 成人自拍视频在线观看| 99re精彩视频| 国产一区二区三区在线精品专区| 国产成人一区在线播放| 免费看一级毛片波多结衣| 久久精品无码一区二区日韩免费| 波多野吉衣一区二区三区av| 国产高清在线丝袜精品一区| vvvv98国产成人综合青青| 98精品全国免费观看视频| 欧美国产成人在线| 亚洲国产天堂久久综合| 91亚洲免费视频| 极品私人尤物在线精品首页 | 国产极品粉嫩小泬免费看| 99视频在线观看免费| 天天爽免费视频| 亚洲女人在线| 呦系列视频一区二区三区| 国产亚洲一区二区三区在线| 色有码无码视频| 国产精品99一区不卡| 欧美国产综合视频| 国产精品尤物在线| 中文字幕 欧美日韩| 亚洲成肉网| 国产一区二区三区在线精品专区| 国产成人a在线观看视频| 国产成人h在线观看网站站| 美女毛片在线| 精品1区2区3区| 亚洲欧洲日产国码无码av喷潮| 国产成人无码播放| 91www在线观看| 国产精品一区二区国产主播| 91网红精品在线观看| 国产区在线看| 98超碰在线观看| 亚洲热线99精品视频| 久久久久青草大香线综合精品| 日本国产一区在线观看| 亚洲人成人无码www| 欧美日韩久久综合| 成人夜夜嗨| 日韩 欧美 小说 综合网 另类| 国产呦视频免费视频在线观看| 国产一级裸网站| 中文无码日韩精品| 国产成人综合日韩精品无码首页 | 91精品国产自产91精品资源| 免费看黄片一区二区三区| 久久99国产精品成人欧美| 免费一级毛片在线播放傲雪网| 午夜视频免费一区二区在线看| 乱人伦99久久| 97影院午夜在线观看视频| 国产男女免费完整版视频| 亚洲精品动漫| 97免费在线观看视频| 欧美亚洲另类在线观看| 国产精品久久久久久久久kt| 91福利在线看| 亚洲国产黄色|