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

正文內容

直流電機遠程測控系統(tǒng)的設計學士學位論文-資料下載頁

2025-06-23 02:00本頁面
  

【正文】 = value Value為整數(shù),說明端口。在設計時,value可以設置成從1到16的和數(shù)(默認值為1)。由于一般的計算機只有COMCOMCOMCOM四個串行口,所以value的值一般為1到4。如果PortOpen屬性打開一個并不存在的端口,MSComm控件會產生錯誤68(設備無效)。必須在打開端口之前設置CommPort屬性。2 Input屬性返回并刪除接收緩沖區(qū)中的數(shù)據(jù)。該屬性在設計時無效,在運行時為只讀。Input屬性語法:Str = InputLen屬性確定被Input屬性讀取的字符數(shù)。設置InputLen為0,則Input屬性讀取緩沖區(qū)中全部的內容。 InputMode屬性確定用Input屬性讀取的數(shù)據(jù)類型。如果設置InputMode為InputModeText,Input屬性通過一個Variant返回文本數(shù)據(jù)。如果設置InputMode為InputModBinary,Input屬性通過一個variant返回一個二進制數(shù)據(jù)的數(shù)組。3 Output屬性往傳輸緩沖區(qū)寫數(shù)據(jù)流。該屬性在設計時無效,在運行時為只寫。 Output屬性語法: = value Value為字符串,寫到傳輸緩沖區(qū)(Output)中的字符。 Output屬性可以傳輸文本數(shù)據(jù)或二進制數(shù)據(jù)。用Output屬性傳輸文本數(shù)據(jù),必須定義包含一個字符串的Variant。發(fā)送二進制數(shù)據(jù),必須傳遞一個包含字節(jié)數(shù)組的Variant到Output屬性。 一般情況下,如果發(fā)送一個ANSI字符串到應用程序,可以以為本數(shù)據(jù)的形式發(fā)送。如果發(fā)送包含嵌入控制字符、Null字符等數(shù)據(jù),要以二進制形式發(fā)送。4 PortOpen屬性設置并返回通信端口的狀態(tài)(開或關)。在設計時無效。 PortOpen屬性語法: = valueValue為布爾表達式,說明通信端口的狀態(tài)。Value的設置值為True時,通信端口打開,當value的設置值為False時,通信端口關閉,并清除接收和發(fā)送緩沖區(qū)。當程序終止時,MSComm控件自動關閉串行端口。在打開端口之前,確定Commport屬性設置為一個合法的端口。如果Commport為一個非法的端口,則當打開端口時,MSComm控件產生錯誤68(設備無效)。串行端口設備必須支持Setting屬性當前的設置值。如果Setting屬性包含硬件部支持的通信設置值,硬件可能不會正常工作。5 Setting屬性設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位參數(shù)。Setting屬性語法: = valueValue為字符串表達式,說明通信端口的設置值。當端口打開時,如果Value非法,則MSComm控件產生380錯誤(非法屬性值)。Value由四個設置值組成,格式如下:“BBBB、P、D、S”BBBB為波特率,P為奇偶校驗,D為數(shù)據(jù)位,S為停止位。Value的默認值為“9600,N,8,1”。合法波特率為1300、600、1200、2400、9600、14400、19200、28800、38400、56000、128000、256000。合法的數(shù)據(jù)位置為2。 電機驅動監(jiān)控程序的設計進行通信程序的設計的時候,首先要考慮的是控制命令的流程,然后進行程序的編寫。主控計算機電平轉換電路單片機電機串口輸出命令經電平轉換給單片機單片機收到命令后執(zhí)行執(zhí)行結果返回串口執(zhí)行結果經單片機處理后返回轉換器圖36 命令流程圖先看一下電機驅動系統(tǒng)是由哪些部分組成的。一套電機驅動系統(tǒng)包括主控部分(計算機)電平轉換電路(RS232/RS485轉換電路)、單片機和電動機。通過傳輸命令,計算機可以控制電機驅動系統(tǒng)的操作并獲得所需要的數(shù)據(jù)。在命令傳輸過程中,命令流程圖如圖36所示。電機系統(tǒng)的主要流程是用戶通過計算機串口發(fā)出相應的控制命令,通過電平轉換將控制信號送到單片機的串口,單片機分析控制信號,做出相應的反應,使電機按照控制命令運轉或停止,達到控制目的。同時整個驅動系統(tǒng)的運行參數(shù),如電壓、電流等由單片機的采集系統(tǒng)獲取后,經由單片機串口發(fā)送回計算機串口,由通信程序顯示完成一整套控制和監(jiān)控的功能。 按照命令流通過程,VisualBasic中的程序編寫步驟如下:(1) 引用MSComm控件,賦予適當?shù)拿Q。設置串行端口號或在程序中設置。(2) 在適當?shù)氖录绦蛑辛頜SComm控件對象的PortOpen屬性為True,以打開串行通信端口。(3) 準備發(fā)送命令時,將命令字符串進行必要的組合,然后使用Output命令發(fā)送。(4) 等待命令發(fā)送并由控制模塊部分執(zhí)行后,返回執(zhí)行結果。(5) 使用MSComm控制的Input命令獲取執(zhí)行結果。設計通信程序的時候,要考慮到監(jiān)控程序的功能包括發(fā)送控制信號給電機驅動系統(tǒng),同時接收驅動系統(tǒng)返回的反饋信號。監(jiān)控通信程序實現(xiàn)的是發(fā)送控制命令和接收驅動系統(tǒng)反饋兩個功能。設計程序時要充分考慮這兩方面的因素。通信程序主要功能如下:(1) 發(fā)送控制信號給單片機執(zhí)行各種動作控制,如電機運轉和停止等,同時具備發(fā)送單個控制命令和控制命令組合的功能;(2) 接收單片機發(fā)送過來的數(shù)據(jù),如電機轉速等,并顯示在界面上;(3) 編輯、顯示發(fā)送的各種控制命令;(4) 顯示串口發(fā)送和接收數(shù)據(jù)的情況;(5) 顯示電機轉速隨時間變化的報表和特性曲線。我們知道要進行通信,首先就應該要有一個通信雙方所必須遵守的規(guī)則,這就是通信協(xié)議。但對于通信雙方的通信方式可能是不同的,下面介紹一下監(jiān)控系統(tǒng)的通信協(xié)議。(1) 通信的波特率為9600;(2) 通信命令由1個字節(jié)組成,用來指示電機執(zhí)行各種控制命令;(3) 每個字節(jié)包括一個起始位、一個停止位和8位數(shù)據(jù)位,無奇偶校驗;(4) 在通信過程中,VB編寫的通信程序向單片機發(fā)送控制命令,單片機收到一個正確命令后執(zhí)行相應的命令。單片機應答主控部分的控制命令和返回參數(shù)的各項命令方式如表31所示。表31 單片機應答監(jiān)控程序命令應答命令電機運行狀態(tài)接收正確1字節(jié)返回電機轉速1字節(jié)的轉速值電機驅動系統(tǒng)中的各種控制命令如表32所示。表32 電機控制命令控制功能控制命令電機停止00H電機正轉01H電機反轉02H電機加速03H電機減速04H測電機轉速05H規(guī)劃好通信程序的功能,有了一份詳細的通信協(xié)議,通信程序的設計工作就有了一個核心的內容,我們可以根據(jù)這個核心內容實現(xiàn)控制、顯示、發(fā)送、接收等各項內容。下面開始進行程序的設計和編寫過程。所有程序和代碼都是使用Microsoft Visual Basic 。既然使用的開發(fā)環(huán)境是Visual Basic,在新建工程中有多種不同的程序類型可供選用,這里選擇標準EXE。進入Visual Basic的用戶界面,這時編輯窗口內有一個新的表單Form1,我們將在這個表單上設計程序的用戶界面。將表單的標題(Caption)屬性改為電機驅動監(jiān)控程序,這個表單成為設計通信程序的基石,在這個表單上將完成通信程序的主界面。經常使用的工具在工具箱中顯示,屬性窗口顯示選中對象的屬性,工具欄上有常見的命令圖標,還有所有的Visual Basic命令可以在下拉菜單中選擇。SCMomm控件、ADOData Control控件和 DataGrid控件屬于Active控件,不在原工具箱中,使用時需要額外添加,以便在工程中使用。選擇“工程”→“部件”菜單項,打開“部件”對話框,選定所需要的控件并確定,即實現(xiàn)添加到工具箱中,如圖37所示。圖37 添加控件到工具箱1 主窗體主窗體具體功能:(1) 電機進行驅動,如電機正轉、電機反轉、電機停止、電機加速、電機減速、電機測速等驅動;(2) 對電機進行監(jiān)控,如隨時測電機轉速的大小,當轉速在允許的范圍內顯示正常工作,超出允許范圍要提示報警。所以,主窗體主要有控制命令的發(fā)送程序及上位機向單片機發(fā)送控制命令和接收單片機向上位機發(fā)送的數(shù)據(jù)的程序。圖38 主窗體主窗體主要有SMComm控件、按鈕控件、定時器控件組成,如圖3 8所示??刂泼畎l(fā)送程序如下:Public Sub Send(Data As String)Dim OutData(0) As ByteDim ComOut As VariantOutData(0) = DataComOut = OutData = ComOut ,發(fā)送命令End Sub在執(zhí)行控制命令發(fā)送程序之前必須要對MSComm控件的屬性進行設置,否則將產生錯誤。MSComm控件的屬性設置如下: = 1 39。設置通信口參數(shù)(1到4) = 1 39。數(shù)據(jù)接受按字節(jié)(binary) 方式 = 1 39。設置接收1個字節(jié)產生OnComm事件 = 1 39。設置Input次從接收緩沖讀取字節(jié)數(shù)為1 = 1 39。設置Msml接收緩沖區(qū)為1字節(jié) = 1 39。設置Msml發(fā)送緩沖區(qū)為1字節(jié) = 9600,n,8,1 = True 39。打開串口數(shù)據(jù)接收程序如下:DPrivate Sub MSComm1_OnComm()Select Case Case EvReceiveDim InData() As ByteDim ComIn As VariantComIn = 39。串口接收InData = ComIn 39。將輸入數(shù)據(jù)存儲在字節(jié)型數(shù)組中N = InData(0) 39。賦給轉速Receive (N) 39。調用子程序把轉速值保存在access數(shù)據(jù)庫里End Sub保存轉速的子程序代碼如下:Public Sub Receive(Data As Integer)Dim ZS As SingleZS = DataBh = Bh + 1Sj = Sj + 1 Dim n As New = Provider=。 Data Source= + + \。 39。創(chuàng)建Connection對象n,關鍵New用于創(chuàng)建新對象 Dim cmd As New 39。創(chuàng)建Command對象cmd 39。打開到數(shù)據(jù)庫的連接 If = adStateOpen Then 39。判斷連接的狀態(tài) Set = n 39。設置cmd的ActiveConnection屬性,指定與其關聯(lián)的數(shù)據(jù)庫連接 = insert into data(自動編號,運行時間,電機轉速) values(39。 amp。 Bh amp。 39。,39。 amp。 Sj amp。 39。,39。 amp。 ZS amp。 39。)39。設置要執(zhí)行的命令文本 39。執(zhí)行命令ElseEnd If 39。關閉連接 End Sub“正轉”按鈕程序如下:Private Sub zhengz_Click()Dim str As StringIf = True Then 39。判斷通信口是否打開 = True = True = True = True = True = FalseTingZhi = 0Zhuanx = 1str = 1 39。賦值正轉命令代碼Send (str) 39。發(fā)送命令代碼Elseh = MsgBox(串口沒打開!??!, 1 + vbExclamation, 電機驅動監(jiān)控)End IfEnd Sub“反轉”按鈕程序代碼如下:Private Sub fanz_Click()Dim str As StringIf = True Then 39。判斷通信口是否打開 = True = True = True = True = True = FalseTingZhi = 0Zhuanx = 2str = 2 39。賦值反轉命令代碼Send (str) 39。發(fā)送命令代碼Elsehh = MsgBox(串口沒打開?。?!, 1 + vbExclamation, 電機驅動監(jiān)控)End IfEnd Sub“停止”按鈕程序代碼如下:Private Sub tingz_Click()Dim str As StringIf = True Then 39。判斷通信口是否打開 = False = False = True = TrueTingZhi = 1str = 0 39。賦值停止命令代碼Send (str) 39。發(fā)送命令代碼Elsehh = MsgBox(串口沒打開?。?!, 1 + vbExclamation, 電機驅動監(jiān)控)End IfEnd Sub“加速”按鈕程序代碼如下:Private Sub jiasu_Click()Dim str As StringIf = True Then 39。判斷通信口是否打開
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1