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

正文內(nèi)容

直流電機(jī)遠(yuǎn)程測(cè)控系統(tǒng)的設(shè)計(jì)學(xué)士學(xué)位論文-資料下載頁(yè)

2025-06-23 02:00本頁(yè)面
  

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