freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn)(本科畢業(yè)論文)-wenkub

2023-05-23 06:42:58 本頁面
 

【正文】 、控制 線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式,主要用于串行式逐位數(shù)據(jù)傳輸。 串口是一種常見且有較長應(yīng)用歷史的設(shè)備間的通訊辦法。尤其在工業(yè)、通訊等領(lǐng)域內(nèi),串口在設(shè)備通訊方面 郭一君:串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn) 3 有著極為廣泛的應(yīng)用。計算機領(lǐng)域和視頻監(jiān)控領(lǐng)域都有遠(yuǎn)程監(jiān)控的說法,但意義完全不一樣。關(guān)于物聯(lián)網(wǎng)的規(guī)劃和設(shè)計以及研發(fā)關(guān)鍵在于 RFID、傳感器、嵌入式軟件以及傳輸數(shù)據(jù)計算等領(lǐng)域的研究。按照對物聯(lián)網(wǎng)的需求,需要按億計的傳感器 和電子標(biāo)簽,這將大大推進(jìn)信息技術(shù)元件的生產(chǎn),同時增加大量的就業(yè)機會。物聯(lián)網(wǎng)產(chǎn)業(yè)是當(dāng)今世界經(jīng)濟(jì)和科技發(fā)展的戰(zhàn)略制高點之一 。由于串行通信是在一根傳輸線上一位一位的傳 送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸。許多外設(shè)和 計算機 按串行方式進(jìn)行通信,這里所說的串行 方式,是指外設(shè)與接口電路之間的信息傳送方式,實際上,CPU 與接口之間仍按并行方式工作。 研究物聯(lián)網(wǎng),對串口設(shè)備的聯(lián)網(wǎng)、組網(wǎng)的研究也就是勢在必行的。 遠(yuǎn)程 監(jiān)控系統(tǒng) 有兩種類型,一種是生產(chǎn)現(xiàn)場沒有現(xiàn)場監(jiān)控系統(tǒng),而是將 數(shù)據(jù)采集 后直接送到遠(yuǎn)程 計算機 進(jìn)行處理,這種遠(yuǎn)程監(jiān)控與一般的現(xiàn)場監(jiān)控沒有多大的區(qū)別,只是數(shù)據(jù)傳輸距離比現(xiàn)場監(jiān)控系統(tǒng)要遠(yuǎn),其它部分則和現(xiàn)場監(jiān)控系統(tǒng)相同;另一種是現(xiàn)場監(jiān)控與遠(yuǎn)程監(jiān)控并存。 本文的主要工作 西安理工大學(xué)本科生畢業(yè)設(shè)計(論文) 6 本文即研究了串口聯(lián)網(wǎng)的原理,采用串口聯(lián)網(wǎng)服務(wù)器實現(xiàn)串口通訊與互聯(lián)網(wǎng)的結(jié)合,完成一臺串口設(shè)備的遠(yuǎn)程通訊。 論文的第三至第七章將分析本課題的工作并詳細(xì)描述基于串口聯(lián)網(wǎng)服務(wù)器的串口遠(yuǎn)程聯(lián)網(wǎng)連接的實現(xiàn)。 硬件結(jié)構(gòu)設(shè)計 P C 電 腦P C 電 腦G P S 設(shè) 備G P S 設(shè) 備以 太 網(wǎng)串 口 服 務(wù) 器串 口 服 務(wù) 器以 太 網(wǎng)R S 2 3 2串 口以 太 網(wǎng) 圖 01:課題硬件結(jié)構(gòu)設(shè)計 課題設(shè)計如圖 31 所示硬件結(jié)構(gòu)。 如果計算機至串口服務(wù)器的連接是經(jīng)由互聯(lián)網(wǎng)( Inter)的,則還需掌握相關(guān)路由配置,有可能需增 加一定網(wǎng)絡(luò)設(shè)備以打通路由連接。本課題的目標(biāo)也是實現(xiàn)這一基礎(chǔ)功能,為后續(xù)應(yīng)用設(shè)計提供底層服務(wù)。 串口聯(lián)網(wǎng)服務(wù)器工作模式 由于串口協(xié)議不具有網(wǎng)絡(luò)層和傳輸層,所以串口轉(zhuǎn)網(wǎng)口的通信,實際是將串口數(shù)據(jù)作為 TCP/IP 的應(yīng)用層數(shù)據(jù),用 TCP 封裝傳輸?shù)姆绞健4朔N模式類似于打電話機制,打電話的人是 TCP 客戶端,而接電話的是 TCP 服務(wù)端。其基本的硬件架構(gòu)如圖 21所示: 串 口 設(shè) 備串 口 服 務(wù) 器串 口 設(shè) 備串 口 設(shè) 備路 由 器以 太 網(wǎng)控 制 終 端( P C )控 制 終 端( P C )控 制 終 端( P C ) 圖 02: 串口聯(lián)網(wǎng)服務(wù)器應(yīng)用網(wǎng)絡(luò)架構(gòu) 整個控制網(wǎng)絡(luò)中,串口設(shè)備通過 RS232/RS485 連接到串口服務(wù)器上,串口服務(wù)器通過路由器 /交換器接入以太網(wǎng)。 VC++整合了便利的除錯工具,特別是整合了 微軟 視窗程式設(shè)計( Windows API)、三維動畫DirectX API, Microsoft .NET 框架。 它以擁有“語法高亮”, IntelliSense(自動完成功能)以及高級除錯功能而著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)花費的時間,在大型軟件計劃上尤其顯著。Visual Studio 20xx 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序 。 MFC 除了是一個類庫以 外,還是一個框架,你應(yīng)該試過,在 vc++里新建一個 MFC 的工 西安理工大學(xué)本科生畢業(yè)設(shè)計(論文) 12 程,開發(fā)環(huán)境會自動幫你產(chǎn)生許多文件,同時它使用了 。 MFC Object 和 Windows Object 是不一樣的,但兩者緊密聯(lián)系。 郭一君:串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn) 13 第三章 串口聯(lián)網(wǎng)服務(wù)器通訊底層 通信底層設(shè)計 串口聯(lián)網(wǎng)軟件底層以其硬件架構(gòu)為基礎(chǔ)。運行在 PC的 Client監(jiān)控終端,通過 Socket 與運行在串口服務(wù)器的 Server 端建立通信連接,進(jìn)而控制串口設(shè)備。 西安理工大學(xué)本科生畢業(yè)設(shè)計(論文) 14 MFC 中 TCP socket 編程 串口聯(lián)網(wǎng)網(wǎng)絡(luò)中,串口設(shè)備與 PC端監(jiān)控軟件的通信,主要通過 TCP socket套接字實現(xiàn)。流式套接字提供沒有記錄邊界的數(shù)據(jù)流,即字節(jié)流。當(dāng)服務(wù)器接收到來自客戶機的連接請求后,與客戶機建立連接。主要的 API 函數(shù)如下: 1) WSAStartup 調(diào)用 windows Socket DLL 函數(shù)原型 int WSAStartup( WORD wVersionRequested, // 應(yīng)用程序要求的 sockets 版本 LPWSADATA lpWSAData //指向數(shù)據(jù)結(jié)構(gòu) WSDATA 的指針, //得到 windows Socket 的具體信息) ; WSDATA 定義如下: typedef struct WSAData { WORD wVersion。 char FAR * lpVendorInfo。 char szSystemStatus[WSASYS_STATUS_LEN+1]。 endif } WSADATA, FAR * LPWSADATA。 4) closesocket 關(guān)閉套接字 函數(shù)原型: int closesocket( SOCKET s //要關(guān)閉的套接字 )。 struct sockaddr_in{ short sin_family。}。 8)connect 連接客戶端的 socket 到指定的網(wǎng)絡(luò)服務(wù)器。 返回值:接收到的字節(jié)數(shù) 10) send 對已經(jīng)建立連接的 socket 發(fā)送數(shù)據(jù)信息 函數(shù)原型: int send( SOCKET s, char FAR* buf, //發(fā)送數(shù)據(jù)緩沖區(qū) int len ,// 緩沖區(qū)長度 int flags //有 MSG_PEEK 和 MSG_OOB )。 13)recvfrom 接收目標(biāo)地址傳來的數(shù)據(jù)信息 函數(shù)原型: int recvfrom( IN SOCKET s, OUT char FAR * buf, IN int len, IN int flags, OUT struct sockaddr FAR * from, IN OUT int FAR * fromlen )。 如果想利用 Windows Sockets 方便地處理 MFC 應(yīng)用程序中的多個網(wǎng)絡(luò)協(xié)議, 而又不想放棄靈活性, 可以考慮使用 CAsyncSocket 。CSocket 類支持流方式和數(shù)據(jù)報方式,但一般情況下用的更多的是流方式的數(shù)據(jù)通信。 MFC 下 Socket編程基本步驟 sockets(套接字)編程有三種,流式套接字( SOCK_STREAM),數(shù)據(jù)報套接字( SOCK_DGRAM),原始套接字( SOCK_RAW);基于 TCP的 socket 編程是采用的流式套接字。 客戶機與服務(wù)器通信過程如圖 53 所示: 郭一君:串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn) 23 S o c k e t ( )B i n d ( )L i s t e n ( )A c c e p t ( )R e a d ( )W r i t e ( )C l o s e ( )C o n n e c t ( )W r i t e ( )R e a d ( )C l o s e ( )S o c k e t ( )連 接 請 求數(shù) 據(jù) 請 求應(yīng) 答 數(shù) 據(jù)T C P S e r v e r T C P C l i e n t 圖 03: 客戶機服務(wù)器底層通信過程 TCP Client 端 Socket 的編程實現(xiàn) 串口聯(lián)網(wǎng)實現(xiàn)串口設(shè)備的網(wǎng)絡(luò)互聯(lián),其主要的編程在于實現(xiàn)Client 端上位機的監(jiān)控設(shè)計。一種是通過 WSAAsyncSelect()函數(shù)注冊 Socket 套接字消息響應(yīng)來進(jìn)行實現(xiàn),這是最普遍的。 s 標(biāo)識一個需要事件通知的套接口的描述符 . hWnd 標(biāo)識一個在網(wǎng)絡(luò)事件發(fā)生時需要接收消息的窗口句柄 . wMsg 在網(wǎng)絡(luò)事件發(fā)生時要接收的消息 . lEvent 位屏蔽碼,用于指明應(yīng)用程序感興趣的網(wǎng)絡(luò)事件集合 . lEvent 參數(shù)由下表中列出的值組成 : FD_READ 欲接收讀準(zhǔn)備好的通知 . FD_WRITE 欲接收寫準(zhǔn)備好的通知 . FD_OOB 欲接收帶邊數(shù)據(jù)到達(dá)的通知 . FD_ACCEPT 欲接收將要連接的通知 . FD_CONNECT 欲接收已連接好的通知 . FD_CLOSE 欲接收套接口關(guān)閉的通知 . 實際編程時,則根據(jù)需要注冊響應(yīng)的網(wǎng)絡(luò)事件。 2)多線程接收實現(xiàn) 當(dāng)串口設(shè)備較多時,則可以利用多線程處理各個設(shè)備數(shù)據(jù)的收發(fā)。 Client Socket 套接字創(chuàng)建 在終端監(jiān)控軟件,當(dāng)用戶需要對串口設(shè)備通過網(wǎng)絡(luò)進(jìn)行控制時,點擊連接按鈕,終端軟件建立 Client 端套接字,實現(xiàn)與串口設(shè)備的通信。data)。 3)創(chuàng)建 Socket 套接字: m_socket=::socket(AF_INET,SOCK_STREAM,0)。 = i_addr((1))。 7)數(shù)據(jù)接收 Void CGPSctrlView::OnSocket(WPARAM wParam,LPARAM lParam) // 有 socket 數(shù)據(jù)發(fā)來時,調(diào)用此函數(shù) { CString strText, str。 if(lParam==FD_READ) { TRACE(CGPSctrlView::OnReceive\n)。 CStringArray strArray。 TRACE(nRead: %d, nRead)。 default: buffer[nRead] = 39。 inRead。 SetDlgItemText(IDC_BUTTON_CONNECT, _T( 斷開連接))。 } } 8)數(shù)據(jù)發(fā)送: ::send(m_socket, (char*)szBuffer, len, 0)。以 GPS 頻標(biāo)時標(biāo)設(shè)備為例,詳細(xì)介紹該過程。數(shù)據(jù)的驗證機制主要在 實現(xiàn)定 義好的 OnCommunication() 函數(shù)中實現(xiàn)。 郭一君:串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn) 31 若通過狀態(tài)機的驗證,則接收數(shù)據(jù)正確,對數(shù)據(jù)進(jìn)行解析。對此三個字節(jié)的數(shù)據(jù),利用函數(shù)解析后,顯示到列表控件響應(yīng)的位置,如下: (%d, m_RecvData[4])。 本章小結(jié) 本章主要講述了幀數(shù)據(jù)的結(jié)構(gòu),然后依據(jù)其結(jié)構(gòu),引出在接收幀數(shù)據(jù)時,所需要的各個步驟。 第五章 人機交互設(shè)計 串口設(shè)備網(wǎng)絡(luò)互聯(lián)系統(tǒng)中,主要的一部分是上位機人機交互的設(shè)計。Visual C++是一個功能強大的可視化軟件開發(fā)工具。 Visual C++ 不僅是一個 C++ 編譯器,而且是一個基于 Windows 操作系統(tǒng)的可視化集成開發(fā)環(huán)境( integrated development environment, IDE)。串口設(shè)備網(wǎng)絡(luò)互聯(lián)系統(tǒng)中,主要利用 Visual C++ 中 MFC 進(jìn)行應(yīng)用程序開發(fā)。而且 C++本身所具備的超越 C 語言的特性都可以使開發(fā)者編寫出更易用,更靈活的代碼。 Microsoft Visual C++提供了相應(yīng)的工具來完成這個工作: AppWizard 可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計用戶接 口; ClassWizard 用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫實現(xiàn)了應(yīng)用程序特定的邏輯。 郭一君:串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn) 35 圖 01: MFC 類庫層次結(jié)構(gòu)圖(部分) 1) CWinApp 類 每個應(yīng)用程序從類 CWinApp 派生出自己的應(yīng)用程序類,并定義一個全局的對象。其主要的成員函數(shù)如表 91 所示: 數(shù)據(jù)成員名稱 作用入描述 m_pszAppName 指定了應(yīng)用程序名稱 m_hInstance 標(biāo)識了應(yīng)用程序的當(dāng)前實例 m_lpCmdLine 指示一個以 NULL 結(jié)尾的字符串,指向應(yīng)用程序的命令行 m_nCmdShow 指示最初如何顯示窗口 m_pszExeName 應(yīng)用程序的模塊名稱 m_pszHelpFilePath 應(yīng)用程序的幫助文件路徑 西安理工大學(xué)本科生畢業(yè)設(shè)計(論文) 36 m_pszProfil
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1