已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)士學(xué)位論文 i 摘 要 隨著自動(dòng)化技術(shù)以及信息技術(shù)的發(fā)展,鍋爐的管理越來越趨于智能化,省去了很 多的人力物力且管理效率有很大提高,減少了因?yàn)楸O(jiān)督管理不善而引起的事故。visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可視化程序設(shè)計(jì)語言,大大簡(jiǎn)化 windows 程序界面的設(shè)計(jì)工作,同時(shí)其編程系統(tǒng)采用了面向?qū)ο蟆⑹录?qū)動(dòng)機(jī)制,它 還引入了使用部件編程的概念,實(shí)際上這是對(duì)面向?qū)ο缶幊趟枷氲臄U(kuò)展。 本設(shè)計(jì)是利用 vb 設(shè)計(jì)上位機(jī)的各個(gè)界面,并利用對(duì) vb 中的 mscomm (microsoft communication control)通信控件的編程,使上位機(jī)與控制主板進(jìn)行通信 連接,單片機(jī)將上位機(jī)所需溫度數(shù)據(jù)傳輸給上位機(jī),上位機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行校對(duì)、 處理和顯示,對(duì)下位機(jī)各個(gè)參數(shù)進(jìn)行補(bǔ)償,下位機(jī)修改參數(shù)后,將正確的溫度數(shù)據(jù)傳 送給上位機(jī),上位機(jī)保存修改后各溫度數(shù)據(jù)。并利用 api 函數(shù)、vb 中的動(dòng)態(tài)數(shù)組及 picture 控件對(duì)采集的實(shí)時(shí)溫度數(shù)據(jù)進(jìn)行曲線顯示,利用文件調(diào)用對(duì)歷史溫度進(jìn)行顯示, 利用 vb 數(shù)組進(jìn)行編碼與譯碼,實(shí)現(xiàn) led activex 控件(仿真的七段譯碼器)的仿真, 可直觀的顯示鍋爐各點(diǎn)的溫度。 關(guān)鍵字:上位機(jī);界面設(shè)計(jì);串口通信 學(xué)士學(xué)位論文 ii abastract with the development of automation technology and imformation technology, the management of boiler goes to more and more intelligenize, which help to economize much manpower and material resources, reduce accident capable of being attributed to negligent supervisory mangement. visual basic is presented by microsoft company in 1991,whose language was designed based on windows visualized program. this had grately simplified the designing work of windows process interface, meanwhile, the programming-mechanism adopt object-orientation and matter driving mechanism. visual basic has also introduced using the concept of part programming. in reality, this is an expension to the idea of object- oriented program. this design used each interface of monitor-computer of vb design, and make use of programming mscomm to connect monitor-computer and controller mainboard. thus micro- controllor can transfer temperature data that monitor-computer needed, who then profreed, dispose and display the data received, and repair each parameter of lower monitor. after that, it will transfer the accurate temperature data to upper monitor and then revamp again to display and preserve. micro-controllor use api function, vb dynamic array, and picture control to graphic display the real-time temperature data, use document transfer to vision historical temperature, amd use vb array to coding, so as to implement led activex control simulation, and intuitionisticly vision each temperature of the boiler. keywords: monitor-computer; design of interface; series communication 學(xué)士學(xué)位論文 iii 目錄 摘 要i abastractii 1 緒論1 1.1 vb 簡(jiǎn)介 1 1.2 vb 串口通信簡(jiǎn)介 1 1.2.1 事件驅(qū)動(dòng)方式1 1.2.2 查詢方式2 1.3 系統(tǒng)要研究的主要內(nèi)容2 1.4各項(xiàng)研究的基本要求2 1.5 項(xiàng)目研究的意義2 2 通信協(xié)議設(shè)計(jì)4 2.1 rs-485 串行接口標(biāo)準(zhǔn)4 2.2 rs-485 通信協(xié)議4 3 上位機(jī)界面設(shè)計(jì)6 3.1 窗體設(shè)計(jì)6 3.1.1 窗體的特點(diǎn)6 3.1.2 窗體的建立6 3.2 主界面設(shè)計(jì)8 3.3 密碼界面設(shè)計(jì)21 3.4 參數(shù)修改界面設(shè)計(jì)23 4 繪制曲線27 4.1 實(shí)時(shí)曲線27 4.2 歷史曲線33 5 系統(tǒng)調(diào)試36 5.1 設(shè)置調(diào)試斷點(diǎn)36 5.2 單步執(zhí)行36 5.3 調(diào)試窗口37 結(jié)論38 致謝39 學(xué)士學(xué)位論文 iv 參考文獻(xiàn)40 附錄 a41 附錄 b46 學(xué)士學(xué)位論文 1 1 緒論 1.1 vb 簡(jiǎn)介 basic 是英文 beginners all-purpose symbolic instruction code(初學(xué)者通用符號(hào) 指令代碼)的縮寫,它是專門為初學(xué)者設(shè)計(jì)的高級(jí)語言。 visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可視化程序設(shè)計(jì)語言。 “visual”是“可視化的”、 “形象化的”的意思。visual basic 的語法與 basic 語言的語法基 本相同,因此 visual basic 也具有易學(xué)易用的特點(diǎn),此外它還提供了一套可視化設(shè)計(jì)工 具,大大簡(jiǎn)化了 windows 程序界面的設(shè)計(jì)工作,同時(shí)其編程系統(tǒng)采用了面向?qū)ο?、?件驅(qū)動(dòng)機(jī)制,應(yīng)用 visual basic 可以方便地完成從小的應(yīng)用程序,到大型的數(shù)據(jù)庫管理 系統(tǒng)、多媒體信息處理、功能強(qiáng)大的 internet 應(yīng)用程序等各項(xiàng)任務(wù)。 1.2 vb 串口通信簡(jiǎn)介 通信,對(duì)于設(shè)備來說就是兩設(shè)備之間的數(shù)據(jù)交換,這種通信是通過電信號(hào)來實(shí)現(xiàn) 的。高電位代表一種狀態(tài),而低電位代表另一種狀態(tài),在組合了很多種電位狀態(tài)之后 就形成了設(shè)備之間的數(shù)據(jù)交換。 計(jì)算機(jī)的發(fā)展已經(jīng)有很長(zhǎng)一段時(shí)間,其中串行通信存在的時(shí)間很長(zhǎng),應(yīng)用領(lǐng)域也 非常廣泛。市場(chǎng)上有很多產(chǎn)品應(yīng)用了串行通信技術(shù)作為產(chǎn)品對(duì)外數(shù)據(jù)交換的橋梁,串 行通信受到如此重視,主要原因就是因?yàn)槠浼夹g(shù)簡(jiǎn)單而且容易實(shí)現(xiàn)。 visual basic 提供了大量的控件供編程人員使用,編程人員可以方便地利用這些組 件中的屬性、方法、語言等以事件驅(qū)動(dòng)方式開發(fā)應(yīng)用程序。 mscomm 控件全稱為 microsoft communication control,是 microsoft 公司提供的 簡(jiǎn)化 windows 下串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。mscomm 控件提供下列兩種處理通信的方式: 1.2.1 事件驅(qū)動(dòng)方式 事件驅(qū)動(dòng)通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下, 在事件發(fā)生時(shí)需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 carrier detect (cd) 或 request to send (rts) 線上一個(gè)字符到達(dá)或一個(gè)變化發(fā)生時(shí)。在這些情況下, 可以利用 mscomm 控件的 oncomm 事件捕獲并處理這些通訊事件。oncomm 事件 學(xué)士學(xué)位論文 2 還可以檢查和處理通訊錯(cuò)誤。所有通訊事件和通訊錯(cuò)誤的列表,參閱 commevent 屬 性。在編程過程中,就可以在 oncomm 事件處理函數(shù)中加入自己的處理代碼。這種方 法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。每個(gè) mscomm 控件對(duì)應(yīng)著一個(gè)串行端口。如 果應(yīng)用程序需要訪問多個(gè)串行端口,必須使用多個(gè) mscomm 控件。 1.2.2 查詢方式 查詢方式實(shí)質(zhì)上還是事件驅(qū)動(dòng),但在有些情況下,這種方式顯得更為便捷。在程 序的每個(gè)關(guān)鍵功能之后,可以通過檢查 commevent 屬性的值來查詢事件和錯(cuò)誤。如 果應(yīng)用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫一個(gè)簡(jiǎn) 單的電話撥號(hào)程序,則沒有必要對(duì)每接收一個(gè)字符都產(chǎn)生事件,因?yàn)槲ㄒ坏却邮盏?字符是調(diào)制解調(diào)器的“確定”響應(yīng)。 1.3 系統(tǒng)要研究的主要內(nèi)容 利用 vb 編程軟件完成上位機(jī)同下位機(jī)的通信控制,通過上位機(jī)來監(jiān)控鍋爐溫度 等各項(xiàng)指標(biāo)。 完成單片機(jī)同 vb 編程軟件通信的連接。 實(shí)現(xiàn)上位機(jī)軟件對(duì)下位機(jī)的參數(shù)修改功能。 實(shí)現(xiàn)溫度采集的上位機(jī)顯示輸出、繪制并且存儲(chǔ)溫度變化曲線。 完成實(shí)際軟件的調(diào)試。 1.4 各項(xiàng)研究的基本要求 進(jìn)行上位機(jī)的界面設(shè)計(jì),利用對(duì) mscomm 通信控件的編程完成對(duì)上位機(jī)與單片機(jī) 的通信連接,單片機(jī)將上位機(jī)所需數(shù)據(jù)傳輸給上位機(jī),上位機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行處 理和顯示,保存單片機(jī)向上位機(jī)傳輸?shù)母鞣N溫度數(shù)據(jù),對(duì)下位機(jī)各個(gè)參數(shù)進(jìn)行補(bǔ)償。 并利用 vb 中的動(dòng)態(tài)數(shù)組及 picture 控件對(duì)采集的溫度數(shù)據(jù)進(jìn)行曲線顯示,利用 vb 數(shù) 組進(jìn)行編碼與譯碼,實(shí)現(xiàn)七段數(shù)碼管的仿真,使 led 直觀的顯示鍋爐各點(diǎn)的溫度。 1.5 項(xiàng)目研究的意義 隨著自動(dòng)化技術(shù)以及信息技術(shù)的發(fā)展,鍋爐的管理越來越趨于智能化,省去了很 學(xué)士學(xué)位論文 3 多的人力物力且管理效率有很大提高,減少了因?yàn)楸O(jiān)督管理不善而引起的事故。本課 題的設(shè)計(jì)正是基于這個(gè)目的,在本設(shè)計(jì)中主要采集鍋爐的各點(diǎn)的溫度,通過 led 顯示 屏直觀準(zhǔn)確的進(jìn)行顯示,把采集到的數(shù)據(jù)通過 rs485 傳輸?shù)缴衔粰C(jī),上位機(jī)將采集上 來的鍋爐溫度數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,并在顯示屏上顯示,使人在電腦面前就能觀測(cè)到鍋 爐房?jī)?nèi)的溫度情況,而且監(jiān)測(cè)人員可以通過電腦把監(jiān)測(cè)時(shí)間內(nèi)任意時(shí)刻的溫度曲線調(diào) 出,便于操作人員進(jìn)行數(shù)據(jù)分析,更為以后的維修等提供了數(shù)據(jù)保障。 學(xué)士學(xué)位論文 4 2 通信協(xié)議設(shè)計(jì) 本工程主要是通過橋式電路采集鍋爐各點(diǎn)的溫度,然后將采集的溫度轉(zhuǎn)換為電壓 值,再通過單片機(jī)內(nèi)的 pt100 的 a/d 值與溫度的對(duì)照表表格一一對(duì)照,將電壓值一一 轉(zhuǎn)換為溫度值,等待上位機(jī)的中斷信息,系統(tǒng)的主要流程是用戶通過計(jì)算機(jī)串口發(fā)出 相應(yīng)的控制指令,通過電平轉(zhuǎn)化,將控制信號(hào)通過 rs-485 串行接口送到單片機(jī)的,單 片機(jī)接收信號(hào)做出相應(yīng)的反應(yīng),將上位機(jī)所需要的參數(shù)發(fā)送回計(jì)算機(jī),上位機(jī)將其傳 送來的數(shù)據(jù)進(jìn)行顯示,完成一整套控制和監(jiān)視的功能。 2.1 rs-485 串行接口標(biāo)準(zhǔn) (1) rs-485 的電氣特性:發(fā)送端:邏輯“1”以兩線間的電壓差+(2 至 6)v 表示;邏 輯“0”以兩線間的電壓差-(2 至 6)v 表示。接收端:a 比 b 高 200mv 以上即認(rèn)為是 邏輯“1”,a 比 b 低 200mv 以上即認(rèn)為是邏輯“0”。 (2) rs-485 的數(shù)據(jù)最高傳輸速率為 10mbps。但是由于 rs-485 常常要與 pc 機(jī)的 rs- 232 口通信,所以實(shí)際上一般最高 115.2kbps。又由于太高的速率會(huì)使 rs-485 傳輸距 離減小,所以往往為 9600bps 左右或以下。 (3) rs-485 接口是采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗噪聲干擾性好。 (4) rs-485 接口的最大傳輸距離標(biāo)準(zhǔn)為 1200 米(9600bps 時(shí)) ,rs-485 接口在總線 上是容許連接多達(dá) 128 個(gè)收發(fā)器、即 rs-485 具有多機(jī)通信功能,這樣用戶可以利用單 一的 rs-485 接口方便的建立起網(wǎng)絡(luò)。因?yàn)?rs-485 接口組成的半雙工網(wǎng)絡(luò),一般只需 二根信號(hào)線,所以 rs-485 接口均采用雙絞線傳輸。rs-485 的國(guó)際標(biāo)準(zhǔn)并沒有規(guī)定 rs- 485 的接口連接器標(biāo)準(zhǔn)、所以采用接線端子或者 db-9、db-25 等連接器都可以。 2.2 rs-485 通信協(xié)議 在 rs-485 通信中,發(fā)送過程主要采取了總線仲裁機(jī)制: 在向 485 總線寫數(shù)據(jù)時(shí),主設(shè)備先寫一字節(jié)的地址請(qǐng)求,所有的從設(shè)備均會(huì)收到, 只有地址與之相等的從設(shè)備端口打開,其他設(shè)備全部關(guān)閉。這樣,主設(shè)備與從設(shè)備之 間的通信就是點(diǎn)對(duì)點(diǎn)的。 每一個(gè)從設(shè)備均有一根請(qǐng)求線與主設(shè)備相連,若從設(shè)備需要與主設(shè)備通信時(shí),先 通過請(qǐng)求線進(jìn)行請(qǐng)求,當(dāng)請(qǐng)求成功后,從設(shè)備應(yīng)能檢測(cè)到總線上的地址與自身地址相 學(xué)士學(xué)位論文 5 同,從設(shè)備才能打開發(fā)送中斷,才能發(fā)送消息,發(fā)送完之后必須關(guān)閉發(fā)送中斷,釋放 總線,以保證其他從設(shè)備這段時(shí)間能與主設(shè)備正常通信,提高通信效率。 rs-485 通信發(fā)送流程圖如下圖所示。 y n y n 開始 握手協(xié)議 傳輸一幀 是否傳完 校驗(yàn)和 校驗(yàn)成功 返回 圖 2.1 rs-485 發(fā)送流程圖 面向握手,即每發(fā)出一幀,總是要等待確認(rèn)幀,否則將認(rèn)為是通信出錯(cuò)。這是一 種可靠的通信方式,適合傳輸系統(tǒng)命令和一些非常重要的系統(tǒng)參數(shù)。在此設(shè)計(jì)中進(jìn)行 傳輸時(shí),先進(jìn)行握手來確定是否發(fā)送數(shù)據(jù),在數(shù)據(jù)發(fā)送之后,將所發(fā)的數(shù)據(jù)進(jìn)行累加 作為所傳送數(shù)據(jù)的最后一個(gè)數(shù)據(jù),作為校驗(yàn)碼,如果校驗(yàn)碼錯(cuò)誤,則會(huì)通信錯(cuò)誤,丟 棄該次傳送的數(shù)據(jù)。 學(xué)士學(xué)位論文 6 3 上位機(jī)界面設(shè)計(jì) 3.1 窗體設(shè)計(jì) 3.1.1 窗體的特點(diǎn) 實(shí)用性的應(yīng)用程序往往需要多個(gè)窗體,以滿足用戶不同的輸入輸出操作。在多窗 體中,各個(gè)窗體是平等的,每個(gè)窗體都有自己的界面和程序代碼,具有一定的特點(diǎn)和 功能。對(duì)用戶而言,多窗體可以使界面豐富多彩。 在某一個(gè)時(shí)刻只能有一個(gè)窗體是激活的。 3.1.2 窗體的建立 進(jìn)入集成開發(fā)環(huán)境的新建工程,選擇“標(biāo)準(zhǔn) exe” ,按“確定”按鈕后第一個(gè)窗體 自動(dòng)加載,其缺省名為 form1 并缺省定為啟動(dòng)窗口以后的窗口需要有集成開發(fā)環(huán)境的 “工程”菜單選項(xiàng)中的“添加窗體”來加入。在本設(shè)計(jì)中主界面為啟動(dòng)窗口,在主界 面中有四個(gè) commandbutton,其中三個(gè)可分別調(diào)出其它的三個(gè)界面。 comchangepara comhistime comrealtime主顯示 屏界面 密鑰 屆面 參數(shù)修改 界面 實(shí)時(shí)溫度 曲線界面 歷史溫度 曲線界面 圖 3.1 多窗體示意圖 窗體的主要屬性 窗體的屬性決定了窗體的外觀和操作。窗體的大部分屬性可用兩種方法來設(shè)置: 通過屬性窗口設(shè)置和通過程序代碼設(shè)置。有少量的屬性不能在程序代碼中設(shè)置。 (1)caption 屬性 設(shè)置窗體的標(biāo)題內(nèi)容。標(biāo)題內(nèi)容應(yīng)概括說明本窗體作用。 學(xué)士學(xué)位論文 7 (2)maxbutton 屬性和 minbutton 屬性 maxbutton 屬性為 true,窗體右上角有最大化按鈕;為 false 時(shí),無最大化按鈕。 minbutton 屬性為 true,窗體右上角有最小化按鈕;為 false 時(shí),無最小化按鈕。 (3)borderstyle 屬性 決定窗體邊框式樣及窗體是否能調(diào)整大小。 (4)backcolor 屬性和 forecolor 屬性 backcolor 屬性設(shè)置窗體的背景顏色,forcolor 屬性設(shè)置窗體的前景顏色。窗體的前景 顏色是執(zhí)行 print 方法時(shí)所顯示文本的顏色。 (5)height 屬性和 width 屬性 設(shè)置窗體的初始高度和寬度。其單位為 twip。1twip=1/20 點(diǎn)=1/1440 英寸=1/567cm。 (6)left 屬性和 top 屬性 用于設(shè)置窗體左邊框距屏幕左邊界的距離和窗體頂邊距屏幕頂端的距離。其單位為 twip。 (7)name(名稱)屬性 設(shè)置窗體的名稱,在程序代碼中用這個(gè)名稱引用該窗體。新建工程時(shí),窗體的名稱缺 省為 form1;添加第二個(gè)窗體,其名稱缺省為 form2,依次類推。為了便于識(shí)別,用 戶通常給 name 屬性設(shè)置一個(gè)有實(shí)際意義的名稱。 (8)enabled 屬性 屬性值為 true 或 false,設(shè)置對(duì)象是否能夠?qū)τ脩舢a(chǎn)生的事件做出反應(yīng)。一般在程序中 設(shè)置,用于臨時(shí)屏蔽對(duì)窗體或其它控件的的控制。 (9)moveable 屬性 屬性值為 true 或 false,設(shè)置是否可以移動(dòng)窗體。 (10)visible 屬性 屬性值為 true 或 false,設(shè)置窗體是否被顯示。用戶可用該屬性在程序代碼中控制窗體 的隱現(xiàn)。 (11)picture 屬性 設(shè)置在窗體中顯示的圖片。單擊 picture 屬性右邊的按鈕,彈出“加載圖片”對(duì)話框,用 戶可選擇一個(gè)圖片文件作為窗體的背景圖片。若在程序中設(shè)置該屬性的值,需要使用 loadpicture 函數(shù)。 (12)windowstate 屬性 學(xué)士學(xué)位論文 8 設(shè)置窗體啟動(dòng)后的大小狀態(tài)。 表 3.1 窗口屬性設(shè)置 名稱caption 屬性 maxbutton 屬性 minbutton 屬性 borderstyle 屬性 windowstate 屬性 mainform主屏true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmrealtime實(shí)時(shí)溫度曲線true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmhistime歷史溫度曲線true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmchangepara溫度對(duì)照修正表true/ true 2-sizable 可修改窗體尺寸 0-normal 正常大小 dialogpassword請(qǐng)輸入密碼true/ true 2-sizable 可修改窗體尺寸 0-normal 正常大小 3.2 主界面設(shè)計(jì) 主界面的作用用來顯示時(shí)間,以及顯示該時(shí)間各點(diǎn)的溫度值,并有四個(gè) commandbutton 調(diào)用其它的界面和校正時(shí)間子過程。 進(jìn)入 visual basic 的用戶界面,這時(shí)編輯窗口內(nèi)有一個(gè)新的表單 form1,將表單的 標(biāo)題(caption)屬性改為 mainform,這個(gè)表單是該上位機(jī)的主界面。在以后的窗體設(shè) 計(jì)中所用的空間還需在框架的基礎(chǔ)上添加 mscomm 控件、dtpicker 控件、 commdialog 控件、msflexgrid 控件和已編輯好 led activex 控件(仿真的七段譯碼 器) 。 在 mainform 窗口中加入圖片框 picture1,為了界面的美觀在其 picture 屬性中鏈接 所要圖片的地址,在 mainform 界面加入 led activex 控件,進(jìn)行對(duì)系統(tǒng)的時(shí)間的顯 示和下位機(jī)的溫度的實(shí)時(shí)顯示,加入時(shí)間控件對(duì)顯示時(shí)間和溫度的 led activex 控件 進(jìn)行刷新,再加入 4 個(gè) commandbutton,來調(diào)用其它的界面和校正時(shí)間子過程,加入 mscomm 控件使得此界面和單片機(jī)進(jìn)行通訊。 學(xué)士學(xué)位論文 9 圖 3.2 主界面設(shè)計(jì) 在 vb 應(yīng)用程序中,命令按鈕是使用最多的對(duì)象之一,常常用它接受用戶的操作 信息,觸發(fā)相應(yīng)的事件過程,以實(shí)現(xiàn)指定的功能。 (1)caption 屬性 設(shè)定命令按鈕上顯示的文本。 (2)default 屬性 該屬性用于設(shè)置默認(rèn)命令按鈕。 (3)style 屬性和 picture 屬性 命令按鈕上除了可以顯示文字外,還可以顯示圖形。若要顯示圖形,首先應(yīng)將 style 屬性設(shè)置為 1,然后在 picture 屬性中設(shè)置要顯示的圖形文件。 (4)value 屬性 該屬性只能在程序運(yùn)行期間引用或設(shè)置。true 表示被按下,false(默認(rèn))表示未被按 下。commandbutton 最常用的事件是 click 事件 學(xué)士學(xué)位論文 10 表 3.2 commandbutton 控件屬性設(shè)計(jì) 屬性 名稱 caption 屬性style 屬性picture 屬性事件 comsettime校正時(shí)間0-standardnoneclick 事件 comchangepara修正參數(shù)0-standardnoneclick 事件 comhistime歷史溫度曲線0-standardnoneclick 事件 comrealtime實(shí)時(shí)溫度曲線0-standardnoneclick 事件 在此界面中用到了 timer 控件,時(shí)鐘控件(timer)又稱計(jì)時(shí)器、定時(shí)器控件,用 于有規(guī)律地定時(shí)執(zhí)行指定的工作,適合編寫不需要與用戶進(jìn)行交互就可直接執(zhí)行的代 碼,如計(jì)時(shí)、倒計(jì)時(shí)、動(dòng)畫等。在程序運(yùn)行階段,時(shí)鐘控件不可見。 時(shí)鐘控件: 圖 3.3 時(shí)間控件圖示 其屬性如下 (1)interval 屬性 取值范圍在 0 到 64767 之間(包括這兩個(gè)數(shù)值) ,單位為毫秒(0.001 秒) ,表示計(jì)時(shí) 間隔。若將 interval 屬性設(shè)置為 0 或負(fù)數(shù),則計(jì)時(shí)器停止工作。 (2)enabled 屬性 無論何時(shí),只要時(shí)鐘控件的 enabled 屬性被設(shè)置為 true 而且 interval 屬性值大于 0,則計(jì)時(shí)器開始工作(以 interval 屬性值為間隔,觸發(fā) timer 事件) 。 通過把 enabled 屬性設(shè)置為 false 可使時(shí)鐘控件無效,即計(jì)時(shí)器停止工作。 事件 時(shí)鐘控件只能響應(yīng) timer 事件,當(dāng) enabled 屬性值為 true 且 interval 屬性值大于 0 時(shí),該事件以 interval 屬性指定的時(shí)間間隔發(fā)生,需要定時(shí)執(zhí)行的操作即放在該事件過 程中完成。 在主界面中時(shí)鐘控件有三個(gè), 學(xué)士學(xué)位論文 11 表 3.3 timer 控件屬性設(shè)置 名稱 interval 屬性interval 屬性的作用enabled timer11000 每 1000 毫秒(也就是每 1 秒)刷新一次 顯示時(shí)間的 led activex 控件 true timedrawline10000 每 10 秒刷新顯示溫度的各 led activex 控件 true timersave1000 每隔一秒對(duì)所采集的溫度以以下路徑 curdir & “datay“ & year(date) & “m“ & month(date) & “d“ & day(date) & “ &“t“ & hour(time) & “.txt“保存一次 true 在此界面中首先用 vb 中的 format 函數(shù)、right 函數(shù)及日期函數(shù)將年月日時(shí)分秒分 別從右取數(shù)并以“00”格式化,將時(shí)間賦值給 led activex 控件,由 led activex 控 件將時(shí)間顯示。在 comsettime_click 事件中再利用 right 函數(shù)以及 format 函數(shù)格式化 時(shí)間,并將所有的時(shí)間數(shù)字利用與字符組成字符串,字符串的起始三個(gè)字符是“#0” ,n ;#代表的是傳送字符串的起始,而后的“0”表示的是單片機(jī)的地址,90nn 再利用 asc 函數(shù)與 mid 函數(shù)將字符串各個(gè)字符進(jìn)行提取依次相加然后經(jīng)過一些計(jì)算得 到一個(gè)數(shù),把該數(shù)加在該字符串的最后作為校驗(yàn)碼,這就避免了校驗(yàn)碼的單一性,每 一組時(shí)間都會(huì)得到其相應(yīng)的校驗(yàn)碼,之后通過 mscomm 控件傳于單片機(jī)進(jìn)行時(shí)間校驗(yàn), 當(dāng)單片機(jī)接受字符串時(shí),亦做同樣的計(jì)算,如果校驗(yàn)碼相同,則根據(jù)所傳信息對(duì)時(shí)間 進(jìn)行修改;如果校驗(yàn)碼不相同,則丟棄該信息。 1、format 函數(shù) 返回 variant(string) (字符串)值,其中含有一個(gè)表達(dá)式,它是根據(jù)格式表達(dá)式中的 指令來格式化的。 2、chr 函數(shù) 返回字符串,其中包含有與指定的字符代碼相關(guān)的字符。 語法:chr(charcode) 必要的 charcode 參數(shù)是一個(gè)用來識(shí)別某字符的 long(長(zhǎng)整數(shù))值。 0 到 31 之間的數(shù)字與標(biāo)準(zhǔn)的非打印 ascii 代碼相同。例如,chr(13)可以返回回車 學(xué)士學(xué)位論文 12 字符。charcode 的正常范圍為 0255。 3、asc 函數(shù) 返回一個(gè) integer(整數(shù)型)值,代表字符串的第一個(gè)字符的字符代碼。 asc(string) 必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式。如果 string 中沒有包含 任何字符, 則會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。 4、len 函數(shù) 返回 long(長(zhǎng)整數(shù))值,其中包含字符串內(nèi)字符的數(shù)目,或是存儲(chǔ)一個(gè)變量所需的字 節(jié)數(shù)。 語法:len(string | varname) len 函數(shù)語法中個(gè)參數(shù)的說明 string 任何有效的字符串表達(dá)式。如果它包含 null,會(huì)返回 null varname 任何有效的變量名稱。如果它包含 null,會(huì)返回 null;如果 varname 是 variant(變體數(shù)據(jù)類型) ,len 會(huì)視其為字符串并且總是返回其包含的字 符數(shù) 空字符長(zhǎng)度為 0,空格也算一個(gè)字符,中方雖然占用 2bytes,但也算一個(gè)字符。 5、right 函數(shù) 返回 variant(string) (字符串)值,其中包含字符串中從右邊算起指定數(shù)量的字符。 語法:left(string,length) left 函數(shù)的語法的命名參數(shù) string 必要參數(shù)。字符串表達(dá)式,其中最右邊的那些字符將被返回。如果它包 含 null,會(huì)返回 null length 必要參數(shù)。數(shù)值表達(dá)式,指出將返回多少個(gè)字符。如果為 0,返回零長(zhǎng) 度字符串(“” ) ;如果大于或是等于 string 的字符串,則返回整個(gè)字符串 6、mid 函數(shù) 返回 variant(string) (字符串)值,其中包含字符串中指定數(shù)量的字符。 語法:mid(string,strat,length) mid 函數(shù)的語法的命名參數(shù) string 必要參數(shù)。字符串表達(dá)式,其中返回字符。如果 string 包含 null,會(huì)返 回 null 學(xué)士學(xué)位論文 13 start 必要參數(shù)。為 long。指定 string 中被取出部分的字符位置。如果 start 超 過 string 的字符數(shù),mid 返回零長(zhǎng)度字符串(“” ) length 可選參數(shù);為 variant(long) 。要返回的字符數(shù)。如果省略或 length 超 過文本的字符數(shù)(包含 start 處的字符) ,將返回字符串中從 start 到尾端的所有字符 mid(x,n):由 x 的第 n 個(gè)字符起,讀取后面的所有字符。 mid(x,n,m):由 x 的第 n 個(gè)字符起,讀起 m 個(gè)字符。 若 nlen(x),則返回空字符串,若第 n 個(gè)字符以后不足 m 個(gè)字符,則返回后面的所有字 符。 7、input 函數(shù) 返回字符串,它包含以 input 或 binary 方式打開的文件中的字符。 語法:input(number,#filenumber) input 函數(shù)的語法中各參數(shù): number 必要。任何有效的數(shù)值表達(dá)式,指定要返回的字符個(gè)數(shù); filenumber 必要。任何有效的文件號(hào)。 8、input #語句 從已打開的順序文件中讀出數(shù)據(jù)并將數(shù)據(jù)指定給變量。 語法:input #filenumber,varlist filenumber 必要。任何有效的文件號(hào); varlist 必要。用逗號(hào)分界的變量列表,將文件中讀出的值分配給這些變量不可 能是一個(gè)數(shù)組或?qū)ο笞兞?。但是,可以使用變量描述?shù)組元素或用戶定義類的元素; 通常用 print #或 put 將 input 函數(shù)讀出的數(shù)據(jù)寫入文件。input 函數(shù)只用于以 input 或 binary 方式打開的文件。 與 input # 語句不同,input 函數(shù)返回它所讀出的所有字符,包括逗號(hào)、回車符、空白 列、換行符、引號(hào)和前導(dǎo)空格等。 9、mscomm 控件 圖 3.4 通行控件圖示 mscomm 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。 mscomm 控件在串口編程時(shí)非常方便,microsoft communications control(以下簡(jiǎn)稱 學(xué)士學(xué)位論文 14 mscomm)是 microsoft 公司提供的簡(jiǎn)化 windows 下串行通信編程的 activex 控件, 它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。具體的來說,它提供了兩種 處理通信問題的方法:一是事件驅(qū)動(dòng)(eventdriven)方法,一是查詢法。 mscomm 控件兩種處理通訊的方式 mscomm 控件提供下列兩種處理通訊的方式:事件驅(qū)動(dòng)方式和查詢方式。 mscomm 控件的常用屬性 commport 設(shè)置并返回通訊端口號(hào)。 settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。 portopen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。 input 從接收緩沖區(qū)返回和刪除字符。 output 向傳輸緩沖區(qū)寫一個(gè)字符串。 下面分別描述: commport 屬性:設(shè)置并返回通訊端口號(hào)。 語法 object.commportvalue (value 一整型值,說明端口號(hào)。) 說明 在設(shè)計(jì)時(shí),value 可以設(shè)置成從 1 到 16 的任何數(shù)(缺省值為 1) 。但是如 果用 portopen 屬性打開一個(gè)并不存在的端口時(shí),mscomm 控件會(huì)產(chǎn)生錯(cuò)誤 68(設(shè) 備無效) 。 注意:必須在打開端口之前設(shè)置 commport 屬性。 rthreshold 屬性:在 mscomm 控件設(shè)置 commevent 屬性為 comevreceive 并 產(chǎn)生 oncomm 之前,設(shè)置并返回的要接收的字符數(shù)。 語法:object.rthreshold = value (value 整型表達(dá)式,說明在產(chǎn)生 oncomm 事 件之前要接收的字符數(shù)。 ) 說明:當(dāng)接收字符后,若 rthreshold 屬性設(shè)置為 0(缺省值)則不產(chǎn)生 oncomm 事件。例如,設(shè)置 rthreshold 為 1,接收緩沖區(qū)收到每一個(gè)字符都會(huì)使 mscomm 控件產(chǎn)生 oncomm 事件。 ctsholding 屬性:確定是否可通過查詢 clear to send (cts) 線的狀態(tài)發(fā)送數(shù)據(jù)。 clear to send 是調(diào)制解調(diào)器發(fā)送到相聯(lián)計(jì)算機(jī)的信號(hào),指示傳輸可以進(jìn)行。該屬性在 設(shè)計(jì)時(shí)無效,在運(yùn)行時(shí)為只讀。 語法: object.ctsholding(boolean) mscomm 控件的 ctsholding 屬性設(shè)置值: 學(xué)士學(xué)位論文 15 true clear to send 線為高電平。 false clear to send 線為低電平。 說明:如果 clear to send 線為低電平 (ctsholding = false) 并且超時(shí)時(shí), mscomm 控件設(shè)置 commevent 屬性為 comeventctsto (clear to send timeout) 并 產(chǎn)生 oncomm 事件。 clear to send 線用于 rts/cts (request to send/clear to send) 硬件握手。如果 需要確定 clear to send 線的狀態(tài),ctsholding 屬性給出一種手工查詢的方法。 詳細(xì)信息有關(guān)握手協(xié)議,可參閱 handshaking 屬性。 sthreshold 屬性: mscomm 控件設(shè)置 commevent 屬性為 comevsend 并產(chǎn)生 oncomm 事件之前,設(shè)置并返回傳輸緩沖區(qū)中允許的最小字符數(shù)。 語法 object.sthreshold = value value 整形表達(dá)式,代表在 oncomm 事件產(chǎn)生之前在傳輸緩沖區(qū)中的最小字符數(shù)。 說明:若設(shè)置 sthreshold 屬性為 0(缺省值) ,數(shù)據(jù)傳輸事件不會(huì)產(chǎn)生 oncomm 事件。若設(shè)置 sthreshold 屬性為 1,當(dāng)傳輸緩沖區(qū)完全空時(shí),mscomm 控件產(chǎn)生 oncomm 事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于 value,commevent 屬性設(shè)置為 comevsend,并產(chǎn)生 oncomm 事件。comevsend 事件僅當(dāng)字符數(shù)與 sthreshold 交叉 時(shí)被激活一次。例如,如果 sthreshold 等于 5,僅當(dāng)在輸出隊(duì)列中字符數(shù)從 5 降到 4 時(shí),comevsend 才發(fā)生。如果在輸出隊(duì)列中從沒有比 sthreshold 多的字符, comevsend 事件將絕不會(huì)發(fā)生。 handshake 常數(shù) 常數(shù)值 描述 comnone0 無握手。 comxonxoff1 xon/xoff 握手。 comrts2 request-to-send/clear-to-send 握手。 comrtsxonxoff3 request-to-send 和 clear-to-send 握手皆可。 oncomm 常數(shù) 常數(shù)值 描述 comevsend 1 發(fā)送事件。 comevreceive2 接收事件。 學(xué)士學(xué)位論文 16 comevcts 3 clear-to-send 線變化。 comevdsr 4 data-set ready 線變化。 comevcd5 carrier detect 線變化。 comevring 6 振鈴檢測(cè)。 comeveof 7 文件結(jié)束。 error 常數(shù) 常數(shù) 值 描述 comeventbreak 1001 接收到中斷信號(hào) comeventctsto1002 clear-to-send 超時(shí) comeventdsrto1003data-set ready 超時(shí) comeventframe 1004幀錯(cuò)誤 comeventoverrun1006 端口超速 comeventcdto 1007carrier detect 超時(shí) comeventrxover1008接收緩沖區(qū)溢出 comeventrxparity1009parity 錯(cuò)誤 comeventtxfull 1010傳輸緩沖區(qū)滿 comeventdcb 1011 檢索端口 設(shè)備控制塊 (dcb) 時(shí)的意外錯(cuò)誤 inputmode 常數(shù) 常數(shù)值 描述 cominputmodetext 0 (缺?。?通過 input 屬性以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024石材行業(yè)深度合作開發(fā)合同書3篇
- VI設(shè)計(jì)合同書模板標(biāo)準(zhǔn)
- 2025年度個(gè)人住宅陽臺(tái)防水改造合同范本8篇
- 個(gè)人間緊急貸款協(xié)議樣本2024年版版
- 2025年度新能源汽車充電設(shè)施運(yùn)營(yíng)管理承包合同協(xié)議書模板1500字4篇
- 長(zhǎng)沙文創(chuàng)藝術(shù)職業(yè)學(xué)院《藝術(shù)學(xué)理論》2023-2024學(xué)年第一學(xué)期期末試卷
- 家庭火災(zāi)自救技巧的普及與推廣
- 小空間大功能單身公寓的空間利用畢業(yè)設(shè)計(jì)
- 2025年度精密模具租賃服務(wù)合同模板4篇
- 2025年食品加工委托生產(chǎn)與食品安全合同3篇
- 氣動(dòng)調(diào)節(jié)閥調(diào)校
- 中考模擬考試化學(xué)試卷與答案解析(共三套)
- 新人教版五年級(jí)小學(xué)數(shù)學(xué)全冊(cè)奧數(shù)(含答案)
- 風(fēng)電場(chǎng)升壓站培訓(xùn)課件
- 收納盒注塑模具設(shè)計(jì)(論文-任務(wù)書-開題報(bào)告-圖紙)
- 博弈論全套課件
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 腦電信號(hào)處理與特征提取
- 高中數(shù)學(xué)知識(shí)點(diǎn)全總結(jié)(電子版)
- GB/T 10322.7-2004鐵礦石粒度分布的篩分測(cè)定
- 2023新譯林版新教材高中英語必修一重點(diǎn)詞組歸納總結(jié)
評(píng)論
0/150
提交評(píng)論