已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
學士學位論文 i 摘 要 隨著自動化技術以及信息技術的發(fā)展,鍋爐的管理越來越趨于智能化,省去了很 多的人力物力且管理效率有很大提高,減少了因為監(jiān)督管理不善而引起的事故。visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可視化程序設計語言,大大簡化 windows 程序界面的設計工作,同時其編程系統(tǒng)采用了面向對象、事件驅動機制,它 還引入了使用部件編程的概念,實際上這是對面向對象編程思想的擴展。 本設計是利用 vb 設計上位機的各個界面,并利用對 vb 中的 mscomm (microsoft communication control)通信控件的編程,使上位機與控制主板進行通信 連接,單片機將上位機所需溫度數(shù)據(jù)傳輸給上位機,上位機對接收到的數(shù)據(jù)進行校對、 處理和顯示,對下位機各個參數(shù)進行補償,下位機修改參數(shù)后,將正確的溫度數(shù)據(jù)傳 送給上位機,上位機保存修改后各溫度數(shù)據(jù)。并利用 api 函數(shù)、vb 中的動態(tài)數(shù)組及 picture 控件對采集的實時溫度數(shù)據(jù)進行曲線顯示,利用文件調用對歷史溫度進行顯示, 利用 vb 數(shù)組進行編碼與譯碼,實現(xiàn) led activex 控件(仿真的七段譯碼器)的仿真, 可直觀的顯示鍋爐各點的溫度。 關鍵字:上位機;界面設計;串口通信 學士學位論文 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 學士學位論文 iii 目錄 摘 要i abastractii 1 緒論1 1.1 vb 簡介 1 1.2 vb 串口通信簡介 1 1.2.1 事件驅動方式1 1.2.2 查詢方式2 1.3 系統(tǒng)要研究的主要內容2 1.4各項研究的基本要求2 1.5 項目研究的意義2 2 通信協(xié)議設計4 2.1 rs-485 串行接口標準4 2.2 rs-485 通信協(xié)議4 3 上位機界面設計6 3.1 窗體設計6 3.1.1 窗體的特點6 3.1.2 窗體的建立6 3.2 主界面設計8 3.3 密碼界面設計21 3.4 參數(shù)修改界面設計23 4 繪制曲線27 4.1 實時曲線27 4.2 歷史曲線33 5 系統(tǒng)調試36 5.1 設置調試斷點36 5.2 單步執(zhí)行36 5.3 調試窗口37 結論38 致謝39 學士學位論文 iv 參考文獻40 附錄 a41 附錄 b46 學士學位論文 1 1 緒論 1.1 vb 簡介 basic 是英文 beginners all-purpose symbolic instruction code(初學者通用符號 指令代碼)的縮寫,它是專門為初學者設計的高級語言。 visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可視化程序設計語言。 “visual”是“可視化的”、 “形象化的”的意思。visual basic 的語法與 basic 語言的語法基 本相同,因此 visual basic 也具有易學易用的特點,此外它還提供了一套可視化設計工 具,大大簡化了 windows 程序界面的設計工作,同時其編程系統(tǒng)采用了面向對象、事 件驅動機制,應用 visual basic 可以方便地完成從小的應用程序,到大型的數(shù)據(jù)庫管理 系統(tǒng)、多媒體信息處理、功能強大的 internet 應用程序等各項任務。 1.2 vb 串口通信簡介 通信,對于設備來說就是兩設備之間的數(shù)據(jù)交換,這種通信是通過電信號來實現(xiàn) 的。高電位代表一種狀態(tài),而低電位代表另一種狀態(tài),在組合了很多種電位狀態(tài)之后 就形成了設備之間的數(shù)據(jù)交換。 計算機的發(fā)展已經(jīng)有很長一段時間,其中串行通信存在的時間很長,應用領域也 非常廣泛。市場上有很多產(chǎn)品應用了串行通信技術作為產(chǎn)品對外數(shù)據(jù)交換的橋梁,串 行通信受到如此重視,主要原因就是因為其技術簡單而且容易實現(xiàn)。 visual basic 提供了大量的控件供編程人員使用,編程人員可以方便地利用這些組 件中的屬性、方法、語言等以事件驅動方式開發(fā)應用程序。 mscomm 控件全稱為 microsoft communication control,是 microsoft 公司提供的 簡化 windows 下串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通信功能。mscomm 控件提供下列兩種處理通信的方式: 1.2.1 事件驅動方式 事件驅動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下, 在事件發(fā)生時需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 carrier detect (cd) 或 request to send (rts) 線上一個字符到達或一個變化發(fā)生時。在這些情況下, 可以利用 mscomm 控件的 oncomm 事件捕獲并處理這些通訊事件。oncomm 事件 學士學位論文 2 還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 commevent 屬 性。在編程過程中,就可以在 oncomm 事件處理函數(shù)中加入自己的處理代碼。這種方 法的優(yōu)點是程序響應及時,可靠性高。每個 mscomm 控件對應著一個串行端口。如 果應用程序需要訪問多個串行端口,必須使用多個 mscomm 控件。 1.2.2 查詢方式 查詢方式實質上還是事件驅動,但在有些情況下,這種方式顯得更為便捷。在程 序的每個關鍵功能之后,可以通過檢查 commevent 屬性的值來查詢事件和錯誤。如 果應用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫一個簡 單的電話撥號程序,則沒有必要對每接收一個字符都產(chǎn)生事件,因為唯一等待接收的 字符是調制解調器的“確定”響應。 1.3 系統(tǒng)要研究的主要內容 利用 vb 編程軟件完成上位機同下位機的通信控制,通過上位機來監(jiān)控鍋爐溫度 等各項指標。 完成單片機同 vb 編程軟件通信的連接。 實現(xiàn)上位機軟件對下位機的參數(shù)修改功能。 實現(xiàn)溫度采集的上位機顯示輸出、繪制并且存儲溫度變化曲線。 完成實際軟件的調試。 1.4 各項研究的基本要求 進行上位機的界面設計,利用對 mscomm 通信控件的編程完成對上位機與單片機 的通信連接,單片機將上位機所需數(shù)據(jù)傳輸給上位機,上位機對接收到的數(shù)據(jù)進行處 理和顯示,保存單片機向上位機傳輸?shù)母鞣N溫度數(shù)據(jù),對下位機各個參數(shù)進行補償。 并利用 vb 中的動態(tài)數(shù)組及 picture 控件對采集的溫度數(shù)據(jù)進行曲線顯示,利用 vb 數(shù) 組進行編碼與譯碼,實現(xiàn)七段數(shù)碼管的仿真,使 led 直觀的顯示鍋爐各點的溫度。 1.5 項目研究的意義 隨著自動化技術以及信息技術的發(fā)展,鍋爐的管理越來越趨于智能化,省去了很 學士學位論文 3 多的人力物力且管理效率有很大提高,減少了因為監(jiān)督管理不善而引起的事故。本課 題的設計正是基于這個目的,在本設計中主要采集鍋爐的各點的溫度,通過 led 顯示 屏直觀準確的進行顯示,把采集到的數(shù)據(jù)通過 rs485 傳輸?shù)缴衔粰C,上位機將采集上 來的鍋爐溫度數(shù)據(jù)進行實時處理,并在顯示屏上顯示,使人在電腦面前就能觀測到鍋 爐房內的溫度情況,而且監(jiān)測人員可以通過電腦把監(jiān)測時間內任意時刻的溫度曲線調 出,便于操作人員進行數(shù)據(jù)分析,更為以后的維修等提供了數(shù)據(jù)保障。 學士學位論文 4 2 通信協(xié)議設計 本工程主要是通過橋式電路采集鍋爐各點的溫度,然后將采集的溫度轉換為電壓 值,再通過單片機內的 pt100 的 a/d 值與溫度的對照表表格一一對照,將電壓值一一 轉換為溫度值,等待上位機的中斷信息,系統(tǒng)的主要流程是用戶通過計算機串口發(fā)出 相應的控制指令,通過電平轉化,將控制信號通過 rs-485 串行接口送到單片機的,單 片機接收信號做出相應的反應,將上位機所需要的參數(shù)發(fā)送回計算機,上位機將其傳 送來的數(shù)據(jù)進行顯示,完成一整套控制和監(jiān)視的功能。 2.1 rs-485 串行接口標準 (1) rs-485 的電氣特性:發(fā)送端:邏輯“1”以兩線間的電壓差+(2 至 6)v 表示;邏 輯“0”以兩線間的電壓差-(2 至 6)v 表示。接收端:a 比 b 高 200mv 以上即認為是 邏輯“1”,a 比 b 低 200mv 以上即認為是邏輯“0”。 (2) rs-485 的數(shù)據(jù)最高傳輸速率為 10mbps。但是由于 rs-485 常常要與 pc 機的 rs- 232 口通信,所以實際上一般最高 115.2kbps。又由于太高的速率會使 rs-485 傳輸距 離減小,所以往往為 9600bps 左右或以下。 (3) rs-485 接口是采用平衡驅動器和差分接收器的組合,抗噪聲干擾性好。 (4) rs-485 接口的最大傳輸距離標準為 1200 米(9600bps 時) ,rs-485 接口在總線 上是容許連接多達 128 個收發(fā)器、即 rs-485 具有多機通信功能,這樣用戶可以利用單 一的 rs-485 接口方便的建立起網(wǎng)絡。因為 rs-485 接口組成的半雙工網(wǎng)絡,一般只需 二根信號線,所以 rs-485 接口均采用雙絞線傳輸。rs-485 的國際標準并沒有規(guī)定 rs- 485 的接口連接器標準、所以采用接線端子或者 db-9、db-25 等連接器都可以。 2.2 rs-485 通信協(xié)議 在 rs-485 通信中,發(fā)送過程主要采取了總線仲裁機制: 在向 485 總線寫數(shù)據(jù)時,主設備先寫一字節(jié)的地址請求,所有的從設備均會收到, 只有地址與之相等的從設備端口打開,其他設備全部關閉。這樣,主設備與從設備之 間的通信就是點對點的。 每一個從設備均有一根請求線與主設備相連,若從設備需要與主設備通信時,先 通過請求線進行請求,當請求成功后,從設備應能檢測到總線上的地址與自身地址相 學士學位論文 5 同,從設備才能打開發(fā)送中斷,才能發(fā)送消息,發(fā)送完之后必須關閉發(fā)送中斷,釋放 總線,以保證其他從設備這段時間能與主設備正常通信,提高通信效率。 rs-485 通信發(fā)送流程圖如下圖所示。 y n y n 開始 握手協(xié)議 傳輸一幀 是否傳完 校驗和 校驗成功 返回 圖 2.1 rs-485 發(fā)送流程圖 面向握手,即每發(fā)出一幀,總是要等待確認幀,否則將認為是通信出錯。這是一 種可靠的通信方式,適合傳輸系統(tǒng)命令和一些非常重要的系統(tǒng)參數(shù)。在此設計中進行 傳輸時,先進行握手來確定是否發(fā)送數(shù)據(jù),在數(shù)據(jù)發(fā)送之后,將所發(fā)的數(shù)據(jù)進行累加 作為所傳送數(shù)據(jù)的最后一個數(shù)據(jù),作為校驗碼,如果校驗碼錯誤,則會通信錯誤,丟 棄該次傳送的數(shù)據(jù)。 學士學位論文 6 3 上位機界面設計 3.1 窗體設計 3.1.1 窗體的特點 實用性的應用程序往往需要多個窗體,以滿足用戶不同的輸入輸出操作。在多窗 體中,各個窗體是平等的,每個窗體都有自己的界面和程序代碼,具有一定的特點和 功能。對用戶而言,多窗體可以使界面豐富多彩。 在某一個時刻只能有一個窗體是激活的。 3.1.2 窗體的建立 進入集成開發(fā)環(huán)境的新建工程,選擇“標準 exe” ,按“確定”按鈕后第一個窗體 自動加載,其缺省名為 form1 并缺省定為啟動窗口以后的窗口需要有集成開發(fā)環(huán)境的 “工程”菜單選項中的“添加窗體”來加入。在本設計中主界面為啟動窗口,在主界 面中有四個 commandbutton,其中三個可分別調出其它的三個界面。 comchangepara comhistime comrealtime主顯示 屏界面 密鑰 屆面 參數(shù)修改 界面 實時溫度 曲線界面 歷史溫度 曲線界面 圖 3.1 多窗體示意圖 窗體的主要屬性 窗體的屬性決定了窗體的外觀和操作。窗體的大部分屬性可用兩種方法來設置: 通過屬性窗口設置和通過程序代碼設置。有少量的屬性不能在程序代碼中設置。 (1)caption 屬性 設置窗體的標題內容。標題內容應概括說明本窗體作用。 學士學位論文 7 (2)maxbutton 屬性和 minbutton 屬性 maxbutton 屬性為 true,窗體右上角有最大化按鈕;為 false 時,無最大化按鈕。 minbutton 屬性為 true,窗體右上角有最小化按鈕;為 false 時,無最小化按鈕。 (3)borderstyle 屬性 決定窗體邊框式樣及窗體是否能調整大小。 (4)backcolor 屬性和 forecolor 屬性 backcolor 屬性設置窗體的背景顏色,forcolor 屬性設置窗體的前景顏色。窗體的前景 顏色是執(zhí)行 print 方法時所顯示文本的顏色。 (5)height 屬性和 width 屬性 設置窗體的初始高度和寬度。其單位為 twip。1twip=1/20 點=1/1440 英寸=1/567cm。 (6)left 屬性和 top 屬性 用于設置窗體左邊框距屏幕左邊界的距離和窗體頂邊距屏幕頂端的距離。其單位為 twip。 (7)name(名稱)屬性 設置窗體的名稱,在程序代碼中用這個名稱引用該窗體。新建工程時,窗體的名稱缺 省為 form1;添加第二個窗體,其名稱缺省為 form2,依次類推。為了便于識別,用 戶通常給 name 屬性設置一個有實際意義的名稱。 (8)enabled 屬性 屬性值為 true 或 false,設置對象是否能夠對用戶產(chǎn)生的事件做出反應。一般在程序中 設置,用于臨時屏蔽對窗體或其它控件的的控制。 (9)moveable 屬性 屬性值為 true 或 false,設置是否可以移動窗體。 (10)visible 屬性 屬性值為 true 或 false,設置窗體是否被顯示。用戶可用該屬性在程序代碼中控制窗體 的隱現(xiàn)。 (11)picture 屬性 設置在窗體中顯示的圖片。單擊 picture 屬性右邊的按鈕,彈出“加載圖片”對話框,用 戶可選擇一個圖片文件作為窗體的背景圖片。若在程序中設置該屬性的值,需要使用 loadpicture 函數(shù)。 (12)windowstate 屬性 學士學位論文 8 設置窗體啟動后的大小狀態(tài)。 表 3.1 窗口屬性設置 名稱caption 屬性 maxbutton 屬性 minbutton 屬性 borderstyle 屬性 windowstate 屬性 mainform主屏true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmrealtime實時溫度曲線true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmhistime歷史溫度曲線true/ true 2-sizable 可修改窗體尺寸 2-maximized 最大化顯示 frmchangepara溫度對照修正表true/ true 2-sizable 可修改窗體尺寸 0-normal 正常大小 dialogpassword請輸入密碼true/ true 2-sizable 可修改窗體尺寸 0-normal 正常大小 3.2 主界面設計 主界面的作用用來顯示時間,以及顯示該時間各點的溫度值,并有四個 commandbutton 調用其它的界面和校正時間子過程。 進入 visual basic 的用戶界面,這時編輯窗口內有一個新的表單 form1,將表單的 標題(caption)屬性改為 mainform,這個表單是該上位機的主界面。在以后的窗體設 計中所用的空間還需在框架的基礎上添加 mscomm 控件、dtpicker 控件、 commdialog 控件、msflexgrid 控件和已編輯好 led activex 控件(仿真的七段譯碼 器) 。 在 mainform 窗口中加入圖片框 picture1,為了界面的美觀在其 picture 屬性中鏈接 所要圖片的地址,在 mainform 界面加入 led activex 控件,進行對系統(tǒng)的時間的顯 示和下位機的溫度的實時顯示,加入時間控件對顯示時間和溫度的 led activex 控件 進行刷新,再加入 4 個 commandbutton,來調用其它的界面和校正時間子過程,加入 mscomm 控件使得此界面和單片機進行通訊。 學士學位論文 9 圖 3.2 主界面設計 在 vb 應用程序中,命令按鈕是使用最多的對象之一,常常用它接受用戶的操作 信息,觸發(fā)相應的事件過程,以實現(xiàn)指定的功能。 (1)caption 屬性 設定命令按鈕上顯示的文本。 (2)default 屬性 該屬性用于設置默認命令按鈕。 (3)style 屬性和 picture 屬性 命令按鈕上除了可以顯示文字外,還可以顯示圖形。若要顯示圖形,首先應將 style 屬性設置為 1,然后在 picture 屬性中設置要顯示的圖形文件。 (4)value 屬性 該屬性只能在程序運行期間引用或設置。true 表示被按下,false(默認)表示未被按 下。commandbutton 最常用的事件是 click 事件 學士學位論文 10 表 3.2 commandbutton 控件屬性設計 屬性 名稱 caption 屬性style 屬性picture 屬性事件 comsettime校正時間0-standardnoneclick 事件 comchangepara修正參數(shù)0-standardnoneclick 事件 comhistime歷史溫度曲線0-standardnoneclick 事件 comrealtime實時溫度曲線0-standardnoneclick 事件 在此界面中用到了 timer 控件,時鐘控件(timer)又稱計時器、定時器控件,用 于有規(guī)律地定時執(zhí)行指定的工作,適合編寫不需要與用戶進行交互就可直接執(zhí)行的代 碼,如計時、倒計時、動畫等。在程序運行階段,時鐘控件不可見。 時鐘控件: 圖 3.3 時間控件圖示 其屬性如下 (1)interval 屬性 取值范圍在 0 到 64767 之間(包括這兩個數(shù)值) ,單位為毫秒(0.001 秒) ,表示計時 間隔。若將 interval 屬性設置為 0 或負數(shù),則計時器停止工作。 (2)enabled 屬性 無論何時,只要時鐘控件的 enabled 屬性被設置為 true 而且 interval 屬性值大于 0,則計時器開始工作(以 interval 屬性值為間隔,觸發(fā) timer 事件) 。 通過把 enabled 屬性設置為 false 可使時鐘控件無效,即計時器停止工作。 事件 時鐘控件只能響應 timer 事件,當 enabled 屬性值為 true 且 interval 屬性值大于 0 時,該事件以 interval 屬性指定的時間間隔發(fā)生,需要定時執(zhí)行的操作即放在該事件過 程中完成。 在主界面中時鐘控件有三個, 學士學位論文 11 表 3.3 timer 控件屬性設置 名稱 interval 屬性interval 屬性的作用enabled timer11000 每 1000 毫秒(也就是每 1 秒)刷新一次 顯示時間的 led activex 控件 true timedrawline10000 每 10 秒刷新顯示溫度的各 led activex 控件 true timersave1000 每隔一秒對所采集的溫度以以下路徑 curdir & “datay“ & year(date) & “m“ & month(date) & “d“ & day(date) & “ &“t“ & hour(time) & “.txt“保存一次 true 在此界面中首先用 vb 中的 format 函數(shù)、right 函數(shù)及日期函數(shù)將年月日時分秒分 別從右取數(shù)并以“00”格式化,將時間賦值給 led activex 控件,由 led activex 控 件將時間顯示。在 comsettime_click 事件中再利用 right 函數(shù)以及 format 函數(shù)格式化 時間,并將所有的時間數(shù)字利用與字符組成字符串,字符串的起始三個字符是“#0” ,n ;#代表的是傳送字符串的起始,而后的“0”表示的是單片機的地址,90nn 再利用 asc 函數(shù)與 mid 函數(shù)將字符串各個字符進行提取依次相加然后經(jīng)過一些計算得 到一個數(shù),把該數(shù)加在該字符串的最后作為校驗碼,這就避免了校驗碼的單一性,每 一組時間都會得到其相應的校驗碼,之后通過 mscomm 控件傳于單片機進行時間校驗, 當單片機接受字符串時,亦做同樣的計算,如果校驗碼相同,則根據(jù)所傳信息對時間 進行修改;如果校驗碼不相同,則丟棄該信息。 1、format 函數(shù) 返回 variant(string) (字符串)值,其中含有一個表達式,它是根據(jù)格式表達式中的 指令來格式化的。 2、chr 函數(shù) 返回字符串,其中包含有與指定的字符代碼相關的字符。 語法:chr(charcode) 必要的 charcode 參數(shù)是一個用來識別某字符的 long(長整數(shù))值。 0 到 31 之間的數(shù)字與標準的非打印 ascii 代碼相同。例如,chr(13)可以返回回車 學士學位論文 12 字符。charcode 的正常范圍為 0255。 3、asc 函數(shù) 返回一個 integer(整數(shù)型)值,代表字符串的第一個字符的字符代碼。 asc(string) 必要的 string 參數(shù)可以是任何有效的字符串表達式。如果 string 中沒有包含 任何字符, 則會產(chǎn)生運行時錯誤。 4、len 函數(shù) 返回 long(長整數(shù))值,其中包含字符串內字符的數(shù)目,或是存儲一個變量所需的字 節(jié)數(shù)。 語法:len(string | varname) len 函數(shù)語法中個參數(shù)的說明 string 任何有效的字符串表達式。如果它包含 null,會返回 null varname 任何有效的變量名稱。如果它包含 null,會返回 null;如果 varname 是 variant(變體數(shù)據(jù)類型) ,len 會視其為字符串并且總是返回其包含的字 符數(shù) 空字符長度為 0,空格也算一個字符,中方雖然占用 2bytes,但也算一個字符。 5、right 函數(shù) 返回 variant(string) (字符串)值,其中包含字符串中從右邊算起指定數(shù)量的字符。 語法:left(string,length) left 函數(shù)的語法的命名參數(shù) string 必要參數(shù)。字符串表達式,其中最右邊的那些字符將被返回。如果它包 含 null,會返回 null length 必要參數(shù)。數(shù)值表達式,指出將返回多少個字符。如果為 0,返回零長 度字符串(“” ) ;如果大于或是等于 string 的字符串,則返回整個字符串 6、mid 函數(shù) 返回 variant(string) (字符串)值,其中包含字符串中指定數(shù)量的字符。 語法:mid(string,strat,length) mid 函數(shù)的語法的命名參數(shù) string 必要參數(shù)。字符串表達式,其中返回字符。如果 string 包含 null,會返 回 null 學士學位論文 13 start 必要參數(shù)。為 long。指定 string 中被取出部分的字符位置。如果 start 超 過 string 的字符數(shù),mid 返回零長度字符串(“” ) length 可選參數(shù);為 variant(long) 。要返回的字符數(shù)。如果省略或 length 超 過文本的字符數(shù)(包含 start 處的字符) ,將返回字符串中從 start 到尾端的所有字符 mid(x,n):由 x 的第 n 個字符起,讀取后面的所有字符。 mid(x,n,m):由 x 的第 n 個字符起,讀起 m 個字符。 若 nlen(x),則返回空字符串,若第 n 個字符以后不足 m 個字符,則返回后面的所有字 符。 7、input 函數(shù) 返回字符串,它包含以 input 或 binary 方式打開的文件中的字符。 語法:input(number,#filenumber) input 函數(shù)的語法中各參數(shù): number 必要。任何有效的數(shù)值表達式,指定要返回的字符個數(shù); filenumber 必要。任何有效的文件號。 8、input #語句 從已打開的順序文件中讀出數(shù)據(jù)并將數(shù)據(jù)指定給變量。 語法:input #filenumber,varlist filenumber 必要。任何有效的文件號; varlist 必要。用逗號分界的變量列表,將文件中讀出的值分配給這些變量不可 能是一個數(shù)組或對象變量。但是,可以使用變量描述數(shù)組元素或用戶定義類的元素; 通常用 print #或 put 將 input 函數(shù)讀出的數(shù)據(jù)寫入文件。input 函數(shù)只用于以 input 或 binary 方式打開的文件。 與 input # 語句不同,input 函數(shù)返回它所讀出的所有字符,包括逗號、回車符、空白 列、換行符、引號和前導空格等。 9、mscomm 控件 圖 3.4 通行控件圖示 mscomm 控件通過串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通訊功能。 mscomm 控件在串口編程時非常方便,microsoft communications control(以下簡稱 學士學位論文 14 mscomm)是 microsoft 公司提供的簡化 windows 下串行通信編程的 activex 控件, 它為應用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。具體的來說,它提供了兩種 處理通信問題的方法:一是事件驅動(eventdriven)方法,一是查詢法。 mscomm 控件兩種處理通訊的方式 mscomm 控件提供下列兩種處理通訊的方式:事件驅動方式和查詢方式。 mscomm 控件的常用屬性 commport 設置并返回通訊端口號。 settings 以字符串的形式設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。 portopen 設置并返回通訊端口的狀態(tài)。也可以打開和關閉端口。 input 從接收緩沖區(qū)返回和刪除字符。 output 向傳輸緩沖區(qū)寫一個字符串。 下面分別描述: commport 屬性:設置并返回通訊端口號。 語法 object.commportvalue (value 一整型值,說明端口號。) 說明 在設計時,value 可以設置成從 1 到 16 的任何數(shù)(缺省值為 1) 。但是如 果用 portopen 屬性打開一個并不存在的端口時,mscomm 控件會產(chǎn)生錯誤 68(設 備無效) 。 注意:必須在打開端口之前設置 commport 屬性。 rthreshold 屬性:在 mscomm 控件設置 commevent 屬性為 comevreceive 并 產(chǎn)生 oncomm 之前,設置并返回的要接收的字符數(shù)。 語法:object.rthreshold = value (value 整型表達式,說明在產(chǎn)生 oncomm 事 件之前要接收的字符數(shù)。 ) 說明:當接收字符后,若 rthreshold 屬性設置為 0(缺省值)則不產(chǎn)生 oncomm 事件。例如,設置 rthreshold 為 1,接收緩沖區(qū)收到每一個字符都會使 mscomm 控件產(chǎn)生 oncomm 事件。 ctsholding 屬性:確定是否可通過查詢 clear to send (cts) 線的狀態(tài)發(fā)送數(shù)據(jù)。 clear to send 是調制解調器發(fā)送到相聯(lián)計算機的信號,指示傳輸可以進行。該屬性在 設計時無效,在運行時為只讀。 語法: object.ctsholding(boolean) mscomm 控件的 ctsholding 屬性設置值: 學士學位論文 15 true clear to send 線為高電平。 false clear to send 線為低電平。 說明:如果 clear to send 線為低電平 (ctsholding = false) 并且超時時, mscomm 控件設置 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 屬性給出一種手工查詢的方法。 詳細信息有關握手協(xié)議,可參閱 handshaking 屬性。 sthreshold 屬性: mscomm 控件設置 commevent 屬性為 comevsend 并產(chǎn)生 oncomm 事件之前,設置并返回傳輸緩沖區(qū)中允許的最小字符數(shù)。 語法 object.sthreshold = value value 整形表達式,代表在 oncomm 事件產(chǎn)生之前在傳輸緩沖區(qū)中的最小字符數(shù)。 說明:若設置 sthreshold 屬性為 0(缺省值) ,數(shù)據(jù)傳輸事件不會產(chǎn)生 oncomm 事件。若設置 sthreshold 屬性為 1,當傳輸緩沖區(qū)完全空時,mscomm 控件產(chǎn)生 oncomm 事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于 value,commevent 屬性設置為 comevsend,并產(chǎn)生 oncomm 事件。comevsend 事件僅當字符數(shù)與 sthreshold 交叉 時被激活一次。例如,如果 sthreshold 等于 5,僅當在輸出隊列中字符數(shù)從 5 降到 4 時,comevsend 才發(fā)生。如果在輸出隊列中從沒有比 sthreshold 多的字符, comevsend 事件將絕不會發(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 接收事件。 學士學位論文 16 comevcts 3 clear-to-send 線變化。 comevdsr 4 data-set ready 線變化。 comevcd5 carrier detect 線變化。 comevring 6 振鈴檢測。 comeveof 7 文件結束。 error 常數(shù) 常數(shù) 值 描述 comeventbreak 1001 接收到中斷信號 comeventctsto1002 clear-to-send 超時 comeventdsrto1003data-set ready 超時 comeventframe 1004幀錯誤 comeventoverrun1006 端口超速 comeventcdto 1007carrier detect 超時 comeventrxover1008接收緩沖區(qū)溢出 comeventrxparity1009parity 錯誤 comeventtxfull 1010傳輸緩沖區(qū)滿 comeventdcb 1011 檢索端口 設備控制塊 (dcb) 時的意外錯誤 inputmode 常數(shù) 常數(shù)值 描述 cominputmodetext 0 (缺?。?通過 input 屬性以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年安徽省巢湖市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 2022年甘肅省蘭州市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2024年云南省昭通市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2024年湖南省懷化市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2022年廣西壯族自治區(qū)崇左市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 淮北市和淮南市2025屆高三第一次質量檢測(一模)生物試卷(含答案解析)
- 小學生學習之星事跡材料
- 河北省秦皇島市(2024年-2025年小學六年級語文)統(tǒng)編版競賽題(上學期)試卷及答案
- 2025年激光治療機項目立項申請報告
- 廣東省潮州市(2024年-2025年小學六年級語文)統(tǒng)編版開學考試((上下)學期)試卷及答案
- 2024年營銷部工作人員安全生產(chǎn)責任制(2篇)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應用實踐指導材料之3:4組織環(huán)境-4.1理解組織及其環(huán)境(雷澤佳編制-2025B0)
- 2024年國家低壓電工電工作業(yè)證理論考試題庫(含答案)
- 2025年上半年山西呂梁市柳林縣招聘畢業(yè)生70人到村(社區(qū))工作(第二批)重點基礎提升(共500題)附帶答案詳解
- 2024年非煤礦山年終安全生產(chǎn)工作總結
- 部編版2024-2025學年三年級上冊語文期末測試卷(含答案)
- 研發(fā)部年終總結(33篇)
- 一年級數(shù)學計算題專項練習1000題集錦
- 2024年高考物理模擬卷(山東卷專用)(考試版)
- 湖北省武漢市青山區(qū)2022-2023學年五年級上學期數(shù)學期末試卷(含答案)
- 2024年安徽省高校分類對口招生考試數(shù)學試卷真題
評論
0/150
提交評論