色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 以太網(wǎng)技術(shù)在繼電器可靠性檢測系統(tǒng)中的應用

          以太網(wǎng)技術(shù)在繼電器可靠性檢測系統(tǒng)中的應用

          作者: 時間:2009-11-12 來源:網(wǎng)絡 收藏

          2.2 實現(xiàn)功能

            檢測裝置的軟件由兩大部分組成:一是實時檢測與處理程序,包括了試驗參數(shù)的設置,對試驗狀態(tài)以及失效數(shù)據(jù)的保存,對失效數(shù)據(jù)進行數(shù)學分析,打印報表等,檢測裝置記錄的失效數(shù)據(jù)有失效時間,失效試品號、觸點號,觸點失效的類型,失效時觸點電壓以及各觸點累計失效次數(shù)等;二是通訊程序,接收服務器的參數(shù)設置、基本操作,并上傳試驗狀態(tài)及失效信息。圖2為檢測裝置的操作界面,菜單項代表了所能實現(xiàn)的所有操作,文本顯示區(qū)對設置參數(shù)、試驗狀態(tài)以及失效發(fā)生時的失效信息進行顯示。軟件采用可視化編程語言VC++6.0嵌入?yún)R編語言的方法實現(xiàn)[4]。

          圖2 檢測裝置操作界面

          3、集中控制的實現(xiàn)

            以太網(wǎng)只定義了物理層和鏈路層,但目前在傳輸層和網(wǎng)絡層已基本上統(tǒng)一,TCP/IP協(xié)議被普遍采用。傳輸層協(xié)議包括UDP協(xié)議和TCP協(xié)議。無論是基于UDP協(xié)議或者TCP協(xié)議,都要保證網(wǎng)絡傳輸?shù)囊欢ǖ?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/可靠性">可靠性和實時性。由于UDP協(xié)議具有實現(xiàn)機制簡單、傳輸效率高的特點,其較多地被應用到高效率的實時系統(tǒng)中。但為了實現(xiàn)傳輸?shù)?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/可靠性">可靠性,就需要在應用層采用一些差錯控制機制,而這些措施與TCP協(xié)議中自帶的傳輸機制非常相似。實際上,在許多實時性的系統(tǒng)中,采用TCP協(xié)議也基本可以滿足傳輸時間的要求,還避免了在應用層進行繁瑣的處理[5]。因此在本方案中傳輸層選擇使用TCP協(xié)議。
          應用層的協(xié)議目前還沒有統(tǒng)一,本文旨在研究一個可廣泛適用于多種應用場合和多種應用層協(xié)議的通用的通信方案,用戶可根據(jù)需要選擇不同的應用層協(xié)議,也可以定義自己的數(shù)據(jù)包格式。

          3.1 套接字(Socket)

            TCP/IP網(wǎng)絡環(huán)境下的應用程序是通過網(wǎng)絡系統(tǒng)編程界面套接字Socket(在Windows操作系統(tǒng)下稱之為Winsock)來實現(xiàn)的。套接字構(gòu)成了核心協(xié)議的用戶視圖,通過套接字應用程序可訪問通信協(xié)議,套接字是網(wǎng)絡通信的基本構(gòu)件。套接字是可以被命名的通信端點,應用程序通過它在網(wǎng)絡上發(fā)送和接收數(shù)據(jù)。每個套接字都有其類型,并有一個與之相連的進程。TCP/IP提供3種類型套接字:

            1)流式套接字(Stream Scoket)。該接口提供一個面向連接、可靠的數(shù)據(jù)傳輸服務,數(shù)據(jù)無差錯、無重復地發(fā)送,且按發(fā)送順序接收。內(nèi)設流量控制,避免數(shù)據(jù)流超限;數(shù)據(jù)被看作字節(jié)流,無長度限制。流式套接字提供了一種可靠的面向連接的數(shù)據(jù)傳輸方式,如果想發(fā)送大批量數(shù)據(jù)或想讓數(shù)據(jù)按順序無重復地到達目的地,流式套接字最為有用。

            2)數(shù)據(jù)包套接字(Datagram Scoket)。該接口提供一個無連接服務。數(shù)據(jù)包以獨立包形式被發(fā)送,不提供無錯保證,數(shù)據(jù)可能丟失或重復,并且接收順序混亂。數(shù)據(jù)包套接字比較適用于數(shù)據(jù)包或記錄型數(shù)據(jù)的傳輸,數(shù)據(jù)包的發(fā)送不能得到保證,而且不能排序到達。

            3)原始套接字(Raw Scoket)。該接口允許對較低層協(xié)議,如IP、ICMP直接訪問,主要用于新的網(wǎng)絡協(xié)議實現(xiàn)的測試等[6]。

            在進行網(wǎng)絡開發(fā)時,阻塞問題是網(wǎng)絡編程中十分重要的問題。由于在阻塞模式下,在I/O操作完成前,執(zhí)行操作的Winsock函數(shù)會一直等待下去,不會立即返回程序(將控制權(quán)交還給程序)。故用這種方式,服務器應用程序?qū)⒑茈y同時通過多個建好連接的套接字進行通信。在此系統(tǒng)的應用中,需要實現(xiàn)一臺服務器同時和六個套接字進行通信,因此結(jié)合對有限硬件資源的考慮,選擇了非阻塞類型的套接字,這也是一般協(xié)議開發(fā)中通常用到的套接字通信方式。

          3.2 通信的實現(xiàn)

            系統(tǒng)通信采用客戶機/服務器模式,利用VC的微軟基礎(chǔ)類(MFC)進行網(wǎng)絡開發(fā),MFC提供了兩種類型描述Windows Socket,分別是CAsynSocket和CSocket。其中CAsynSocket類封裝了Windows Sockets API,并將與Socket有關(guān)的Windows消息轉(zhuǎn)換為回調(diào)函數(shù)。CAsynSocket處于網(wǎng)絡更底層,其使用就更具靈活性,相應要求編程者應熟悉網(wǎng)絡底層細節(jié)。而CSocket類是CAsynSocket類的派生類,通過MFC中的CArchive類的對象提供了更高層次的抽象,它封裝了Socket實現(xiàn)中的許多細節(jié)。這里我們采用CAsynSocket類實現(xiàn)系統(tǒng)中“一對多”的數(shù)據(jù)發(fā)送,通過在服務器中建立Winsock空間數(shù)組的方式來解決[7]。

            首先,構(gòu)造CAsyncSocket類型的對象,然后利用該對象創(chuàng)建內(nèi)嵌的Socket句柄。例如:

                     CAsyncSocket m_listen;
                     m_listen.Create(nPort);//服務器指定端口

            若是客戶端,需要用CAsyncSocket::Connect()函數(shù)連接服務器端的套接字。

          時間繼電器相關(guān)文章:時間繼電器




          評論


          相關(guān)推薦

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

          關(guān)閉