關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于VC的執行機構以太網控制系統的設計

        基于VC的執行機構以太網控制系統的設計

        作者: 時間:2010-04-21 來源:網絡 收藏

        2.2 電動轉串口模塊通訊的實現

        串行通訊采用TTL電平,占用兩個I/O口,即輸入口(RxD)和輸出口(TxD),主控板需要提供+5V電源給轉串口模塊,硬件連接如圖2所示。


        圖2 底層通訊的實現原理圖

        本系統中所采用的主控芯片為Intel 80C196MC。圖中P2.0作為80C196MC的串行輸出,P2.1作為80C196MC的串行輸入。網卡地線應和主控制板的數字地即單片機的地連接。80C196MC與轉串口模塊之間采用異步通信,一幀長度為10位,包含8位數據,1位奇偶校驗位和1位結束位。

        3 軟件部分的實現

        本系統采用++6.0的WinSock編程。套接字(Socket)已經成為當今最流行的網絡通信應用程序接口。套接字最初由加利福利亞大Berkeley分校為Unix操作系統開發的網絡通信接口, 后來它又被移植到DOS與Windows 系統,特別是近幾年互聯網在全世界范圍內的廣泛普及, 進一步奠定了它在網絡通信程序開發領域的主宰地位。

        系統采用Client/Server模式。通過以太網轉串口模塊的配置軟件,將該模塊設置成服務器模式,而主控計算機上的控制軟件部分為客戶端,每次啟動由主控計算機主動連接執行機構。客戶端和服務器采用面向連接的通信協議:控制計算機和模塊之間會建立一個虛擬連接,這個連接一旦建立,客戶端和服務器之間就可以把數據當作一個雙向字節流進行交換;如果連接建立不成功,則不會發送數據。另外,面向連接傳輸的每一個報文都需要接收端確認,未確認報文被認為是出錯的報文。

        3.1 通信過程

        Socket有同步阻塞方式和異步非阻塞方式兩種使用,本系統應用程序中創建了繼承于CAsyncSocket類的TestSocket類,它是一個異步非阻塞Socket封裝類。

        由于已經將以太網轉串口模塊設置為服務器模式,所以,主控計算機段的程序是作為客戶端出現的,該程序的編寫大致按照以下步驟進行:

        1) 首先調用WSAStartup函數來初始化套接字庫。

        2) 調用socket函數來創建一個套接字。

        3) 調用connect函數連接服務器,發出連接請求

        4) 服務器響應連接請求后,與服務器開始進行交互操作(接收、發送數據等),直到請求結束。

        5) 調用closesocket關閉套接字,釋放套接字資源。

        6) 調用WSACleanup函數釋放相應資源。

        客戶端程序與服務器的通信過程如圖3所示:


        圖3:面向連接服務的socket調用模型

        在以太網轉串口模塊中,服務器程序調用listen函數將此socket置于監聽狀態,讓這個socket對進來的連接進行監聽并確認連接請求。當服務器端監聽到來自客戶端的連接請求后,一個正在監聽的socket將給將給每個請求發送一個確認信息,然后調用accept函數,接著,面向連接的客戶通過調用connect函數啟動網絡對話。在客戶端和服務器端建立連接以后,雙方就可以通過send和recv或其它面向連接的Socket API函數進行網絡通信了。

        3.2 通信協議

        計算機和以太網轉串口模塊之間用SOCKET進行通信,模塊和執行機構之間則采用TTL電平通信,采用統一的通信協議。計算機為主動通訊設備,即所有的對話均由控制計算機發起,執行機構只是被動的應答命令。

        協議中信息幀主要分為兩種:數據幀與命令幀。它實現一般信息通信功能。數據幀包含一般的I/O信息,而命令幀則包含控制、查詢及設置等命令。為保證信息傳送的準確性,每條命令必須進行校驗(校驗和1),如果命令后有命令參數的話,要再次校驗(校驗和2)。執行機構返回的信息也要校驗。校驗的方法可采用逐字節異或的方式。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 京山县| 基隆市| 滦平县| 延寿县| 兖州市| 开化县| 无为县| 沧州市| 甘肃省| 汝州市| 通河县| 隆子县| 江永县| 积石山| 南澳县| 凉山| 增城市| 抚顺县| 通江县| 龙海市| 中方县| 阿勒泰市| 丰宁| 晋城| 望江县| 舞阳县| 兴文县| 仁怀市| 乃东县| 麦盖提县| 武川县| 枣强县| 盘山县| 历史| 油尖旺区| 安康市| 安阳县| 时尚| 渝北区| 余姚市| 宽城|