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

正文內(nèi)容

專(zhuān)拉力試驗(yàn)機(jī)無(wú)線(xiàn)網(wǎng)絡(luò)的pc軟件設(shè)計(jì)_畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-09-16 21:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 上位 PC 軟件設(shè)計(jì)分析 需求分析 PC 軟件應(yīng)該包括 串口通信、 人機(jī)界面、 數(shù)據(jù)顯示、 圖形 繪制 、 數(shù)據(jù)儲(chǔ)存 等功能。 串口 通 信 作為一種基本而又靈活方便的通信方式 ,它被廣泛應(yīng)用于工業(yè)控制與自動(dòng)控制中 ,它不僅沒(méi)有因?yàn)闀r(shí)代的進(jìn)步而遭淘汰 ,反而在規(guī)格上越來(lái)越完善 ,應(yīng)用也越來(lái)越廣泛。 本軟件就是運(yùn)用串口實(shí)現(xiàn)上下位機(jī)之間的通信的。要求則是能完成數(shù)據(jù)的接收,并且可以在界面上修改串口傳輸?shù)膮?shù)。 人機(jī)界面是工業(yè)控制軟件中的重要組成部分,通過(guò)顯示器、鍵盤(pán)和鼠標(biāo) ,實(shí)現(xiàn)人機(jī)對(duì)話(huà)功能和操作人員對(duì)控制系統(tǒng)操作的干預(yù)。本 軟件 對(duì)人機(jī)界面的需求是界面友好,易于操作。 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 16 圖形 繪制 是工業(yè)控制軟件中最重要的內(nèi)容,包括控制軟件總貌顯示、工藝流程圖畫(huà)面、系統(tǒng)實(shí)時(shí)數(shù)據(jù)顯示等。 工業(yè)圖形的繪制通常是以坐標(biāo)系的形式動(dòng)態(tài)地顯示圖形的變化 ,并且操作面板符合操作人員的習(xí)慣。本 軟件 對(duì)圖形界面的需求是,能夠 準(zhǔn)確 顯示拉力曲線(xiàn) 圖,直觀(guān)地觀(guān)察到拉力試驗(yàn)的過(guò)程 。 數(shù)據(jù)顯示 一般 用編輯框?qū)崿F(xiàn),將試驗(yàn)的內(nèi)容以數(shù)據(jù)的形式顯示出來(lái)有利 于保證數(shù)據(jù)的真實(shí)性和準(zhǔn)確性,防止由于人為 的種種原因 造成數(shù)據(jù)錯(cuò)誤。本 軟件 對(duì) 數(shù)據(jù)顯示 的 要求 是可 以將試驗(yàn) 數(shù)據(jù)顯示在界面上,并能顯示是哪臺(tái)設(shè)備發(fā)來(lái)的數(shù)據(jù) 。 數(shù)據(jù)存儲(chǔ)是控制軟件的重要組成部分,一般的工業(yè)控制軟件會(huì)將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù),這樣有利于數(shù)據(jù)的安全性和可靠性。但考慮到種種的原因,本軟件最終是將數(shù)據(jù)儲(chǔ)存儲(chǔ)在一個(gè)指定的 .TXT 文檔中,比較簡(jiǎn)單的完成了對(duì)數(shù)據(jù)的保存。 模塊化程序設(shè)計(jì) 一個(gè)系統(tǒng)是否能夠正常地運(yùn)行,不但取決于硬件設(shè)計(jì)的合理性和可靠性,同時(shí)還要看系統(tǒng)的軟件能否可靠的運(yùn)行,軟件功能是否能夠滿(mǎn)足用戶(hù)的需求。工業(yè)控制軟件的開(kāi)發(fā)所遵循的一個(gè)重要原則是軟件能夠很好的和硬件相配合,可靠有效地完 成對(duì)硬件的信息采集和控制。 在軟件設(shè)計(jì)過(guò)程中,當(dāng)用計(jì)算機(jī)高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)時(shí),對(duì)于完成大規(guī)模的程序設(shè)計(jì),往往按其問(wèn)題的需要,將程序劃分成若干段去編寫(xiě)?;蛘呤菍?duì)于那些重復(fù)使用的程序段,將其進(jìn)行獨(dú)立設(shè)計(jì)。使其達(dá)到計(jì)算機(jī)可以重復(fù)執(zhí)行,而設(shè)計(jì)人員又不必重復(fù)去編寫(xiě)的目的。這樣,可以使更多人參與編寫(xiě),同時(shí)又避免因重復(fù)設(shè)計(jì)、交叉設(shè)計(jì)產(chǎn)生的錯(cuò)誤。這樣劃分的程序段落被稱(chēng)為程序模塊。以特定的規(guī)則將程序模塊組合起來(lái),這種程序設(shè)計(jì)的方式被稱(chēng)為程序模塊化程序設(shè)計(jì)。各種高級(jí)語(yǔ)言在進(jìn)行模塊化程序設(shè)計(jì)時(shí),雖然解決問(wèn)題所采取的方式 、方法有所不同,但所要達(dá)到的目的卻是一致的,而且在其模塊的定義、調(diào)用方式、參數(shù)傳遞等等方面,其實(shí)質(zhì)性的問(wèn)題也是一致的。各種計(jì)算機(jī)高級(jí)語(yǔ)言對(duì)于程序模塊的編寫(xiě)方式和使用方法都各自的規(guī)范。模塊化結(jié)構(gòu)的程序的共同點(diǎn)是 : (l)必須有也只能有一個(gè)主控程序模塊 ; (2)程序模塊具有獨(dú)立性,主控程序可以直接或間接的調(diào)用其余的模塊 ; (3)程序模塊 (主控程序模塊 )之間也存在調(diào)用與被調(diào)用的關(guān)系 ; (4)任何一個(gè)程序模塊調(diào)用另一個(gè)程序模塊被調(diào)用的程序模塊執(zhí)行完畢后 , 必須返回其調(diào)用程序的下一個(gè)執(zhí)行點(diǎn) ; (5)從主控程序開(kāi)始,在其 內(nèi)終止。 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 17 功能模塊的劃分 根據(jù)用戶(hù)需求和測(cè)試系統(tǒng)的要求,各功能模塊可劃分為: 拉力試驗(yàn)機(jī)數(shù)據(jù)接收 顯示模塊、串口參數(shù)輸入模塊、 拉力曲線(xiàn)繪制模塊以及一些 附加功能模塊。 如圖 圖 程序模塊結(jié)構(gòu)劃分圖 ( 1) 通信 模塊 PC機(jī)和下位機(jī)通訊時(shí),需要設(shè)置串口端口號(hào),串口波特率等參數(shù)。本模塊主要負(fù)責(zé)提供串口參數(shù)設(shè)置界面,用戶(hù)設(shè)置完成后點(diǎn)擊 打開(kāi)串口 ,模塊將相關(guān)參數(shù)傳遞給串口控件。 ( 2)存儲(chǔ) 顯示模塊 設(shè)置完串口參數(shù)后,下位機(jī)發(fā)送的數(shù)據(jù)經(jīng)串口傳送給 PC軟件 。 根據(jù)數(shù)據(jù)前的ID信息,按要求 顯示 該組的數(shù)據(jù)。 顯示模塊提供給用戶(hù)一個(gè)比較友好的界面,讓數(shù)據(jù) 更加生動(dòng)直觀(guān)的顯示出來(lái) ,同時(shí)數(shù)據(jù)將被保存在一個(gè) .TXT文檔中 。 ( 3) 繪圖模塊 數(shù)據(jù)傳上來(lái)之后,數(shù)據(jù)顯示模塊開(kāi)始顯示數(shù)據(jù),對(duì)應(yīng)的,拉力曲線(xiàn)繪制模塊開(kāi)始繪制拉力曲線(xiàn)圖。 ( 4)附加功能模塊 附加功能模塊包括, 翻看以前的數(shù)據(jù) 、清空 接收區(qū) 、 關(guān)閉程序 、 停止顯示 等功能 。在測(cè)試系統(tǒng)中起輔助作用,為軟件使用者提供更全面的功能服務(wù)。 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 18 設(shè)計(jì)的思路及實(shí)現(xiàn)的方法 總體設(shè)計(jì)概述 本 軟件主要完成對(duì)多 臺(tái)拉 力試驗(yàn)機(jī)進(jìn)行數(shù)據(jù)采集 , 繪出拉力曲線(xiàn)圖,被對(duì)接收到的數(shù)據(jù)進(jìn)行存儲(chǔ)。 第一步:用戶(hù)使用 PC 端 軟件的人機(jī)界面對(duì) 串口的 參數(shù)進(jìn)行設(shè)置 。 第二步: 打開(kāi)串口,開(kāi)始接收數(shù)據(jù)。每組數(shù)據(jù)最前面對(duì)應(yīng)各拉力試驗(yàn)機(jī)的 ID 號(hào),以便確定是哪臺(tái)拉力試驗(yàn)機(jī)正在工作并上傳數(shù)據(jù) 。第三步: 軟件對(duì)接收到的數(shù)據(jù)進(jìn)行處理,并在人機(jī)界面繪圖框里繪制拉力曲線(xiàn)圖 。第四步: 對(duì)拉力實(shí)驗(yàn)的數(shù)據(jù)進(jìn)行儲(chǔ)存,數(shù)據(jù)存放在對(duì)應(yīng)文件夾里的 , 以便隨時(shí)查看。 編程語(yǔ)言的選擇 本系統(tǒng)的 PC端 軟件采用 C++作為開(kāi)發(fā)語(yǔ)言。使用軟開(kāi)發(fā)工具是 Microsoft Visual C++ , C++在 C 語(yǔ)言的基礎(chǔ)上,增加了對(duì)面向?qū)ο缶幊?、?lèi)屬編程、數(shù)據(jù)抽象等技術(shù)的支持,還對(duì) C 語(yǔ)言進(jìn)行了非面向?qū)ο蟮臄U(kuò)充。使用 C++語(yǔ)言進(jìn)行程序設(shè)計(jì)可以獲得可重用性、可靠性、連續(xù)性、訪(fǎng)問(wèn)控制、繼承性以及多態(tài)性等優(yōu)勢(shì)。 編程的步驟 確定了課題任務(wù),軟件工作模式后經(jīng)過(guò)整理。確定了本次上位機(jī)軟件軟件開(kāi)發(fā)流程步驟如圖 。 第一步: 第二步: 第三步 : 第四步: 第五步: 第六步: 圖 編程的步驟圖 確定課題任務(wù),確定程序模塊 人機(jī)界面設(shè)計(jì) 串口通信實(shí)現(xiàn) 編寫(xiě)各功能模塊程序代碼 程序調(diào)試 生成 .EXE 可執(zhí)行文件 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 19 本章小結(jié) 在本章中共分三小節(jié)分別介紹了拉力試驗(yàn)機(jī)的無(wú)線(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)、上位軟件設(shè)計(jì)分析和軟件實(shí)現(xiàn)的思路和方法。 近年來(lái),隨著無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)的日益發(fā)展,無(wú)線(xiàn)網(wǎng)絡(luò)的應(yīng)用越來(lái)越被各行各業(yè)所 接受 。由于無(wú)線(xiàn)網(wǎng)絡(luò)系統(tǒng)具有安裝方便、靈活性強(qiáng)、綜合成本低、性?xún)r(jià)比高和易擴(kuò)展、易維護(hù)等特性, 使得 逐漸被廣大用戶(hù)所青睞 。本次課題中的拉力試驗(yàn)機(jī)系統(tǒng)運(yùn)用的 Zigbee無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)是一種相比于 wifi和藍(lán)牙等一些常見(jiàn)的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)更有競(jìng)爭(zhēng)力的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)。 軟件設(shè)計(jì)分析則從軟件的需求講起,分析了用戶(hù) 需求和需要具有的功能。通過(guò)分析找到了適合本次課題的軟件設(shè)計(jì)方法,即模塊化程序設(shè)計(jì)。此小節(jié)介紹了模塊化程序設(shè)計(jì)的概念和特點(diǎn),最后將本次的軟件設(shè)計(jì)分為四個(gè)模塊實(shí)現(xiàn),在下面的章節(jié)里將講到具體的實(shí)現(xiàn)方法。 第三小結(jié)主要講解了本次軟件設(shè)計(jì)的思路及實(shí)現(xiàn)方法,簡(jiǎn)單介紹了 C++用于編寫(xiě)上位機(jī)軟件的優(yōu)勢(shì)。最后給出了軟件編程的步驟圖。 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 20 第三章 上位軟件的具體設(shè)計(jì) 軟件總體流程圖 圖 軟件運(yùn)行的總體流程圖接收下位機(jī)信息 開(kāi)始 設(shè)置串口 并打開(kāi)串口 接收請(qǐng)求消息 結(jié)束 N 接收數(shù)據(jù),顯示并繪圖 **START? 顯示設(shè)備號(hào) 準(zhǔn)備接收數(shù)據(jù) Y END? Y N 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 21 串口通信的實(shí)現(xiàn) 隨著計(jì)算機(jī)的普及,計(jì)算機(jī)網(wǎng)絡(luò)和多微機(jī)系統(tǒng)的廣泛應(yīng)用,盡管當(dāng)今 USB 通信技術(shù)和以太網(wǎng)技術(shù)快速發(fā)展,然而串口通信技術(shù)始終以其連接簡(jiǎn)便,價(jià)格低廉,穩(wěn)定可靠等優(yōu)點(diǎn),在計(jì)算機(jī)通信領(lǐng)域占有一席之地。 本次畢業(yè)設(shè)計(jì)所采用就是 串行通信 (Serial Communication )的方式。 VC++是新一代面向?qū)ο蟮目梢暬_(kāi)發(fā)工具,提供了良好的界面設(shè)計(jì)能力,在 PC 機(jī)的串口通信方面有很強(qiáng)的功能。對(duì)于從事機(jī)械行業(yè)的人來(lái)說(shuō),熟悉基于 RS232 串口通信的高級(jí)語(yǔ)言編程方法顯得十分 必要的 。 目前 Win32 中基于 VC + + 6. 0 的常用串口通信程序一般可以用兩種方法實(shí)現(xiàn) : ①利用 MSComm ActiveX 串行通信控件 。 ②使用 Win2dows API 通信函數(shù)。雖然在 Windows 下 Win32API 提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜。 Windows 平臺(tái)先進(jìn)的 ActiveX 技術(shù)使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。利用已有的 AxtiveX 控件,只需要編寫(xiě)少量的代碼,就可以輕松高效地完成任務(wù)。因此程序 員不需要花時(shí)間去了解復(fù)雜的API 函數(shù),只需要利用 MSComm 控件就可實(shí)現(xiàn)串口編程。 MSComm 控件簡(jiǎn)介 MSComm 通信控件 是微軟公司開(kāi)發(fā)的專(zhuān)門(mén)用于串行通信的控件。它是高級(jí)語(yǔ)言編寫(xiě)的串行通信程序和 PC串口之間的橋梁。通過(guò)這個(gè)橋梁,使得開(kāi)發(fā)串口通信程序的工作變得簡(jiǎn)單容易。設(shè)置幾個(gè)控件屬性,然后添加控件的事件響應(yīng)代碼,就可以使串口按照要求進(jìn)行工作。 MSComm控件的大部分控件屬性是可讀可寫(xiě)的。當(dāng)對(duì)其進(jìn)行寫(xiě)入操作時(shí),是在設(shè)置屬性的新值。當(dāng)讀屬性時(shí),可以讀出該屬性的當(dāng)前設(shè)置值。在 Visual C++中,對(duì)控件的屬性設(shè)定都是通過(guò)特定的函數(shù)來(lái)實(shí)現(xiàn)的,這些函數(shù)都是 CMSComm類(lèi)的成員函數(shù),當(dāng)聲明了一個(gè) CMSComm類(lèi)的實(shí)例后,就可以對(duì)該實(shí)例使用“ .”操作符加成員函數(shù)的方法來(lái)訪(fǎng)問(wèn)控件的屬性了。 在使用串口對(duì)象之前,首先要了解一下控件的一些屬性。 下面介紹一些本次畢業(yè)設(shè)計(jì)用到的,比較常用的 MSComm控件的屬性, 圖 。 CommPort 屬性 通過(guò)設(shè)置該屬性值,可以決定串口通信使用的串口編號(hào)。讀取該屬性值可以獲取當(dāng)前程序使用的串口編號(hào)。使用如下兩個(gè)函數(shù)來(lái)操作該屬性: Void SetCommport(short nNewValue)。 //設(shè)置串口編號(hào) 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 22 Short GetCommPort()。 //返回正在使用的串口編號(hào) nNewValue可以設(shè)置成從 1~16 的任何數(shù) (默認(rèn)值為 1),對(duì)應(yīng)使用的串口號(hào)為COM1~ PortOpen 屬性打開(kāi)一個(gè)并不存在的端口時(shí), MSComm 控件會(huì)產(chǎn)生錯(cuò)誤 68(設(shè)備無(wú)效)。打開(kāi)串口之前必須設(shè)置好串口號(hào)。 Settings 屬性 該屬性用于設(shè)置并返回?cái)?shù)據(jù)傳輸速率、奇偶校驗(yàn)、數(shù)據(jù)比特 、停止比特參數(shù)。使用如下兩個(gè)函數(shù)來(lái)操作該屬性: void SetSettings(LPCTSTR lpszNewValue) , // 設(shè)置通信參數(shù),由lpszNewValue來(lái)表示 CString GetSettings(); //讀取當(dāng)前串口通信參數(shù) 使用字符串類(lèi)型來(lái)設(shè)置該屬性, lpszNewValue的格式如下: BBBB,P,D,S 其中 BBBB是波特率( 9600為默認(rèn)值), P為奇偶效驗(yàn)類(lèi)型( N為默認(rèn)值), D為數(shù)據(jù)位數(shù)( 8為默認(rèn)值), S為停止位數(shù)( 1為默認(rèn)值) 例如 執(zhí)行 (9600,N,8,1)。 //將串口 波 特率設(shè)置為9600bps,無(wú)校驗(yàn), 8 位數(shù)據(jù)位, 1 位停止位。 PortOpen屬性 設(shè)置該屬性可以打開(kāi)或關(guān)閉串口。使用如下兩個(gè)函數(shù)來(lái)操作該屬性; void SetPortOpen( BOOL bNewValue); //打開(kāi)或關(guān)閉串口 BOOL GetPortOpen(); //讀取串口狀態(tài),即狀態(tài)為打開(kāi)還是關(guān)閉 由 bNewValue決定打開(kāi)還是關(guān)閉串口,為 FLASH時(shí)為關(guān)閉 串口。在使用串口之前應(yīng)通過(guò)設(shè)置該屬性來(lái)打開(kāi)串口,而退出串口通信時(shí)應(yīng)該關(guān)閉串口,以釋放程序占用的串口資源。 InPut屬性 通過(guò)操作該屬性值可以從串口通信輸入緩存區(qū)來(lái)獲取數(shù)據(jù)。使用如下函數(shù)來(lái)操作該屬性; VARIANT GetInput(); 執(zhí)行該函數(shù)后,返回并刪除接收緩存區(qū)中的數(shù)據(jù)。默認(rèn)情況下讀取緩存區(qū)里南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文 ) 23 的全部?jī)?nèi)容,若設(shè)置 InputLen屬性值大于 0,則讀取的字符數(shù)量由 InPutLen屬性值決定。 InPutLen屬性 當(dāng)使用 GetInput()函數(shù)從輸入緩存區(qū)讀讀取數(shù)據(jù)時(shí),該屬性決定了一次讀取的字節(jié)數(shù)。 使用如下函數(shù)來(lái)操作該屬性: void SetInputLen( short nNewValue); //設(shè)置輸入緩存區(qū)中一次讀出的字節(jié)數(shù) Short Get
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1