在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于TCP/IP的多數(shù)據(jù)流傳輸測(cè)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      基于TCP/IP的多數(shù)據(jù)流傳輸測(cè)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      作者: 時(shí)間:2012-05-31 來源:網(wǎng)絡(luò) 收藏

      1.3 遠(yuǎn)程控制臺(tái)模塊
      遠(yuǎn)程控制臺(tái)負(fù)責(zé)對(duì)數(shù)傳與實(shí)時(shí)處理模塊、控制臺(tái)模塊的網(wǎng)絡(luò)喚醒和網(wǎng)絡(luò)監(jiān)控,以及完成對(duì)遠(yuǎn)程設(shè)備電源的相關(guān)操作。遠(yuǎn)程控制臺(tái)接收相鄰模塊的網(wǎng)絡(luò)數(shù)據(jù)幀(包括數(shù)傳與實(shí)時(shí)處理模塊對(duì)多進(jìn)行整合的數(shù)據(jù)幀和控制臺(tái)模塊轉(zhuǎn)發(fā)的單片機(jī)采集數(shù)據(jù)幀),對(duì)控制臺(tái)發(fā)送網(wǎng)絡(luò)控制幀(完成參數(shù)設(shè)置、系統(tǒng)開啟關(guān)閉、板卡操作、串口操作等任務(wù)),采用UDP協(xié)議進(jìn)行通信。
      1.4 控制臺(tái)設(shè)備模塊
      控制臺(tái)設(shè)備模塊由CPCI工控計(jì)算機(jī)和繼電器板卡組成。供電電源繼電器卡采用NI PXI-2564 16路5 A SPST開關(guān)模塊,它是大功率繼電器卡,可進(jìn)行電源輸入和電源備份;斷電及轉(zhuǎn)電控制信號(hào)繼電器卡采用ADLINK PXI-7901 16路通用SPDT開關(guān)模塊,可進(jìn)行電源的控制切換。系統(tǒng)結(jié)構(gòu)及外部接口關(guān)系如圖3所示。

      b.jpg


      系統(tǒng)采用Agilent N6700系列模塊電源供電,控制臺(tái)由RS 422串行通信接口連接到單片機(jī)測(cè)控模塊、網(wǎng)絡(luò)連接到遠(yuǎn)程控制臺(tái)。為通信的穩(wěn)定可靠,控制臺(tái)與遠(yuǎn)程控制臺(tái)間的千兆以太網(wǎng)通過光電轉(zhuǎn)換器轉(zhuǎn)為光纖連接??刂婆_(tái)接受遠(yuǎn)程控制臺(tái)的控制,對(duì)來自單片機(jī)采集模塊的數(shù)據(jù)進(jìn)行解碼及顯示并傳向遠(yuǎn)程控制臺(tái),通信采用UDP協(xié)議。

      2 軟件設(shè)計(jì)與實(shí)現(xiàn)
      2.1 多重事件方式實(shí)現(xiàn)網(wǎng)口及串口通信
      控制臺(tái)模塊需要接收遠(yuǎn)程控制臺(tái)的遠(yuǎn)程控制命令幀和來自RS 422串行通信接口(與單片機(jī)采集模塊相連)的串行數(shù)據(jù),并把串行數(shù)據(jù)打包成既定格式UDP數(shù)據(jù)幀轉(zhuǎn)發(fā)送到遠(yuǎn)程控制臺(tái),為此控制臺(tái)軟件需建立后臺(tái)管理器(CTConManager)來開啟網(wǎng)絡(luò)監(jiān)控線程、串口監(jiān)控線程兩個(gè)獨(dú)立線程進(jìn)行監(jiān)控網(wǎng)口和串行口。二者流程圖如圖4所示。

      d.jpg


      軟件需要把串口數(shù)據(jù)進(jìn)行協(xié)議轉(zhuǎn)換為UDP數(shù)據(jù)幀發(fā)送,所以網(wǎng)絡(luò)監(jiān)控線程采用等待多重事件的方式來處理由WSACreateEvent函數(shù)創(chuàng)建的網(wǎng)絡(luò)事件(m_evtNetWork)和串口事件(m_evtOverlappedSeira1),串口監(jiān)控流程采用異步事件模式監(jiān)控串行口的數(shù)據(jù)接收。網(wǎng)絡(luò)事件由WSAEvent Select函數(shù)與當(dāng)前的socket接口綁定,串口事件由串口接收一個(gè)完整數(shù)據(jù)幀后設(shè)置到網(wǎng)絡(luò)監(jiān)控線程。當(dāng)控制臺(tái)網(wǎng)絡(luò)可以接收到遠(yuǎn)程控制臺(tái)的網(wǎng)絡(luò)幀(即有網(wǎng)絡(luò)事件發(fā)生)時(shí),線程調(diào)用ProcessNetworkEvent函數(shù)來處理這個(gè)事件(即開始解析遠(yuǎn)程命令幀),相應(yīng)串口事件調(diào)用網(wǎng)絡(luò)監(jiān)控線程的ProcessSerialEvent函數(shù)來處理這個(gè)事件(即發(fā)送數(shù)據(jù)幀)。線程中的網(wǎng)絡(luò)超時(shí)事件(WSA_WAIT_TIME OUT)處理超時(shí)任務(wù)(ProcessTimeOut Event)包括串口和板卡狀態(tài)的循環(huán)檢測(cè)以及狀態(tài)數(shù)據(jù)包的發(fā)送。
      軟件采用這種機(jī)制能及時(shí)響應(yīng)多重事件,實(shí)現(xiàn)了串口和網(wǎng)絡(luò)接口的對(duì)接,節(jié)省了設(shè)備資源,使系統(tǒng)效率得到了提高。
      2.2 整合同步處理
      根據(jù)系統(tǒng)要求,數(shù)傳與實(shí)時(shí)處理模塊將多個(gè)流的相同或不同字段的數(shù)據(jù)進(jìn)行提取并整合為一個(gè)UDP數(shù)據(jù)報(bào)文并發(fā)送至遠(yuǎn)程控制臺(tái)。
      由于多個(gè)發(fā)送過程中很可能會(huì)出現(xiàn)某個(gè)數(shù)據(jù)流到達(dá)時(shí)間相對(duì)其他數(shù)據(jù)流有延遲,這就會(huì)造成在整合為UDP數(shù)據(jù)報(bào)文的過程中數(shù)據(jù)的不同步。為解決這個(gè)問題,軟件采用基于數(shù)據(jù)隊(duì)列的方式實(shí)現(xiàn)碼流同步。首先將多個(gè)既定長度的TCP流數(shù)據(jù)(TCPDataValue)加入(push)多個(gè)相應(yīng)隊(duì)列(CDataQueue),當(dāng)所有隊(duì)列的長度大于等于1,即所有隊(duì)列有元素時(shí),將隊(duì)列中的第一個(gè)(即最先壓入隊(duì)列)元素彈出(GetFirstDa ta),然后進(jìn)行碼流的數(shù)據(jù)提取。

      tcp/ip相關(guān)文章:tcp/ip是什么




      評(píng)論


      相關(guān)推薦

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

      關(guān)閉