新聞中心

        EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測控系統(tǒng)--網(wǎng)絡(luò)通信關(guān)鍵技術(shù)研究 1

        基于LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測控系統(tǒng)--網(wǎng)絡(luò)通信關(guān)鍵技術(shù)研究 1

        作者: 時(shí)間:2017-02-06 來源:網(wǎng)絡(luò) 收藏


        選擇采用C/S模式網(wǎng)絡(luò)應(yīng)用構(gòu)架時(shí),網(wǎng)絡(luò)通信利用Socket編程。Socket是TCP/IP協(xié)議傳輸所提供的接口,一般對于軟件開發(fā)主要使用兩種類型的套接字:

        本文引用地址:http://www.104case.com/article/201702/338494.htm

        (1)流式套接字

        流式套接字為應(yīng)用程序提供可靠的通信連接和無邊界限制的雙向數(shù)據(jù)流,能夠提供有序、無重復(fù)的傳輸,適用于處理大量數(shù)據(jù),并適用于要求得到響應(yīng)的應(yīng)用程序。流式套接字是基于直接連接的,建立在TCP基礎(chǔ)上。TCP三次握手——使用TCP協(xié)議的流程圖如圖4.2所示



        (2)數(shù)據(jù)報(bào)套接字

        支持雙向數(shù)據(jù)流動(dòng),但不能保證數(shù)據(jù)的順序和不重復(fù)性,同時(shí)也不十分可靠。數(shù)據(jù)報(bào)是無連接的,由UDP(用戶數(shù)據(jù)報(bào)協(xié)議)支持,幾乎是直接建立在IP層上,傳輸速度比較快。UDP即用戶數(shù)據(jù)報(bào)協(xié)議,它是一種無連接協(xié)議,因此不需要像TCP那樣通過三次握手來建立一個(gè)連接。同時(shí),一個(gè)UDP應(yīng)用可同時(shí)作為應(yīng)用的客戶端或服務(wù)器端。由于UDP協(xié)議并不需要建立一個(gè)明確的連接,因此建立UDP應(yīng)用要比建立TCP應(yīng)用簡單得多。它比TCP協(xié)議更為高效,也能更好地解決實(shí)時(shí)性的問題。使用UDP協(xié)議的流程圖如圖4.3所示。

        其中Socket信息數(shù)據(jù)結(jié)構(gòu)程序如下:

        struct sockaddr

        {

        unsigned short sa_family; /*地址族*/

        char sa_data[14]; /*14字節(jié)的協(xié)議地址,包含該socket的IP地址和端口號。*/

        };

        struct sockaddr_in

        {

        short int sa_family; /*地址族*/

        unsigned short int sin_port; /*端口號*/

        struct in_addr sin_addr; /*IP地址*/

        unsigned char sin_zero[8]; /*填充0以保持與struct sockaddr同樣大小*/

        };

        LabVIEW中為網(wǎng)絡(luò)通訊提供了基于TCP/UDP的通訊函數(shù)供用戶調(diào)用。這樣用戶可直接調(diào)用TCP模塊中已發(fā)布的TCP VI及相關(guān)的子VI來完成流程的編寫,而無需過多考慮網(wǎng)絡(luò)的底層實(shí)現(xiàn)。在設(shè)計(jì)上采用C/S(客戶端/服務(wù)器)通信模式,VI程序分為兩部分:處理主機(jī)工作在Server模式,完成數(shù)據(jù)接收,并提供數(shù)據(jù)的相關(guān)處理;數(shù)據(jù)點(diǎn)計(jì)算機(jī)工作于Client模式,實(shí)現(xiàn)數(shù)據(jù)傳送。TCP傳輸數(shù)據(jù)過程如下:首先由發(fā)送端發(fā)送連接請求,接收端偵聽到請求后回復(fù)并建立連接,然后開始傳輸,數(shù)據(jù)傳輸完成后關(guān)閉連接,傳輸過程結(jié)束。



        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 丁青县| 句容市| 库车县| 祁门县| 息烽县| 怀仁县| 揭西县| 宝丰县| 陆川县| 名山县| 嵩明县| 白水县| 山西省| 万荣县| 静乐县| 高雄县| 扎鲁特旗| 洪洞县| 伊宁市| 康马县| 汉中市| 永春县| 漳浦县| 白水县| 金溪县| 景谷| 台山市| 康保县| 施秉县| 锡林浩特市| 佳木斯市| 清河县| 宝兴县| 焉耆| 逊克县| 师宗县| 铜川市| 图们市| 兴业县| 辰溪县| 哈密市|