亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vb2.txt

?? VB串口資料。 用VB開發(fā)串口不錯的資料
?? TXT
字號:
 本文介紹VB6.0利用MSComm通信控件,開發(fā)微機通過串口對工業(yè)儀表進行實時數(shù)據(jù)采集的編程技術。給出的程序代碼具有通用性,并有詳細的注釋,可以直接或稍加改動后用于其他數(shù)據(jù)采集或?qū)崟r控制程序中。

----一臺工業(yè)專用實時檢測儀表,接高精度位移傳感器,用于測量微小形變或微量位移,儀表測量精度為0.01毫米,測量范圍最大值為50毫米。該儀表帶有一個9針的RS-232C 串口,能與微機進行串口數(shù)據(jù)通信,實時傳送檢測數(shù)據(jù),通過微機軟件處理可實現(xiàn)工業(yè)實時監(jiān)控。 

----該儀表的串口數(shù)據(jù)通信協(xié)議是:數(shù)據(jù)傳輸速率為 9600bps,1位開始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗位。儀表每秒發(fā)送50幀檢測數(shù)據(jù),每幀數(shù)據(jù)由4個字節(jié)組成。第一個字節(jié)定義為二進制常數(shù)0F0H,是每幀數(shù)據(jù)開始的標志字節(jié);后面連續(xù)2個字節(jié)為數(shù)據(jù)字節(jié),采用壓縮的BCD碼編碼方式,高位在前,低位在后,即一個字節(jié)表示兩位十進制數(shù),則兩個字節(jié)表示四位十進制數(shù),小數(shù)點采用固定形式,定義在兩字節(jié)中間;第四個字節(jié)為符號字節(jié),該字節(jié)第八位為1,即: 

 

----則為負數(shù);第八位為0,即: 

 

----則為正數(shù)。 

----例如:0F0H 26H 87H 80H 0F0H 34H 62H 00H 表示 -26.87 34.62。 

----通信傳輸速率為9600bps,則最快速度1.04ms發(fā)送一個字節(jié),儀表每秒發(fā)送50幀數(shù)據(jù),每幀數(shù)據(jù)有4個字節(jié),即每秒發(fā)送200個字節(jié),平均5.0ms 發(fā)送一個字節(jié),連續(xù)讀取串口數(shù)據(jù)時要在程序中添加循環(huán)等待程序。 

----為了實現(xiàn)實時監(jiān)測功能,接收數(shù)據(jù)的讀取要盡可能的快速,則設置MSComm1的屬性如下: 

RThreshold = 1	
接收緩沖區(qū)收到一個字節(jié)產(chǎn)生OnComm事件
    InputLen = 1		每次讀取一個字節(jié)

----儀表每秒發(fā)送50幀數(shù)據(jù),微機收到一幀完整數(shù)據(jù)至少需要20 ms時間,然后再進行數(shù)據(jù)處理。如果微機在下一幀數(shù)據(jù)接收前即20ms內(nèi)能將數(shù)據(jù)計算處理完畢,則接收緩沖區(qū)內(nèi)只會保存有一幀數(shù)據(jù),不會存有兩幀以上數(shù)據(jù),接收緩沖區(qū)的大小不會影響實時監(jiān)測效果(接收緩沖區(qū)>4字節(jié)),這時完全可以實現(xiàn)實時監(jiān)測或?qū)崟r控制;如果微機在20ms內(nèi)不能將數(shù)據(jù)計算處理完畢,接收緩沖區(qū)設置得又很大,在數(shù)據(jù)計算處理完畢前,接收緩沖區(qū)內(nèi)就會保存有兩幀以上數(shù)據(jù),而且一次工作時間越長,緩沖區(qū)內(nèi)滯留數(shù)據(jù)幀就越多,數(shù)據(jù)采集和數(shù)據(jù)處理之間產(chǎn)生逐漸增大的額外時間差,當接收緩沖區(qū)充滿后,時間差不再增大,固定在某一值,部分數(shù)據(jù)因不能及時采集到接收緩沖區(qū)中,數(shù)據(jù)產(chǎn)生丟失現(xiàn)象,真實工作情況就會和微機處理結果產(chǎn)生較大的時間差,對實時監(jiān)測和實時控制很不利,這種情況下接收緩沖區(qū)的大小就會影響實時監(jiān)測效果,所以接收緩沖區(qū)設置不能過大,以保證數(shù)據(jù)處理的實時性。 

----設置接收數(shù)據(jù)模式采用二進制形式,即 InputMode=comInputModeBinary,但用Input屬性讀取數(shù)據(jù)時,不能直接賦值給 Byte 類型變量,只能通過先賦值給一個 Variant 類型變量,返回一個二進制數(shù)據(jù)的數(shù)組,再轉(zhuǎn)換保存到Byte類型數(shù)變量中。 

----VB中有Byte類型變量,但沒有字節(jié)的位處理語句,符號字節(jié)的位處理要判斷符號字節(jié)的值是否大于 127,大于127則為負數(shù);壓縮的BCD碼存入 Byte類型變量,VB系統(tǒng)只按十進制數(shù)處理,這要通過一個簡單算法換算,解壓BCD碼才能還原成十進制表示數(shù)值。假如a是Byte類型變量,D是Single類型變量,將一個壓縮的BCD 碼存入a中,則算法是: 

D=(a\16)*10 + a-(a\16)*16 
則D=a-(a\16)*6

----程序清單: 

----在通用聲明中定義程序所用變量: 

Dim ab(4) As Byte    
 ‘字節(jié)數(shù)據(jù)類型數(shù)組,用來存儲接收到的一組字節(jié)數(shù)據(jù)
    Dim av As Variant ‘用來從接收緩沖區(qū)讀取數(shù)據(jù)
    Dim i As Integer
    Dim j As Integer
    Dim w As Integer	‘接收數(shù)據(jù)個數(shù)計數(shù)器
    Dim b1 As Single
    Dim b2 As Single
    Dim WW As Single		‘十進制檢測值
    Dim MaxW As Single		‘最大值
    Dim MinW As Single		‘最小值

----在窗體中添加名為Command1的[開始]按鈕和名為 MSComm1的MSComm控件。 

---- [開始]按鈕的Click事件處理程序主要是對MSComm1控制的參數(shù)初始化設置,程序中大部分參數(shù)在設計時可在MSComm1控制的屬性窗口中設置: 

Private Sub Command1_Click()
	‘開始按鈕
  With MSComm1
     .CommPort=2			    ‘使用COM2
     .Setting=“9600,N,8,1"   	    ‘設置通信口參數(shù)
     .InBufferSize=40			
     ‘設置MSComm1接收緩沖區(qū)為40字節(jié)
     .OutBufferSize=2				   
     ‘設置MSComm1發(fā)送緩沖區(qū)為2字節(jié)
     .InputMode = comInputModeBinary	
     ‘設置接收數(shù)據(jù)模式為二進制形式
     .InputLen = 1         
     ‘設置Input 一次從接收緩沖讀取字節(jié)數(shù)為1
     .SThreshold = 1			
   	‘設置Output 一次從發(fā)送緩沖讀取字節(jié)數(shù)為1
     .InBufferCount = 0	 ‘清除接收緩沖區(qū)
     .OutBufferCount = 0	 ‘清除發(fā)送緩沖區(qū)
     MaxW = -99			
     ‘最大值賦初值
     MinW = 99			   ‘最小值賦初值
     w = 0					
     ‘數(shù)據(jù)個數(shù)計數(shù)器清零
     .RThreshold = 1  	
	‘設置接收一個字節(jié)產(chǎn)生OnComm事件
     If .PortOpen = False Then			   
    ‘判斷通信口是否打開
        .PortOpen = True	   ‘打開通信口
        If Err Then		   ‘錯誤處理
          MsgBox “串口通信無效"
          Exit Sub
        End If
     End If
  End With
End Sub

----為了達到實時數(shù)據(jù)采集目的,實時數(shù)據(jù)采集處理程序采用MSComm事件驅(qū)動方式。 

----MSComm1_OnComm的事件處理程序只處理 comEvReceive事件,首先判斷幀數(shù)據(jù)的開始字節(jié),關閉OnComm接收事件,然后接收數(shù)據(jù)字節(jié),將壓縮BCD進行還原轉(zhuǎn)換,再接收符號字節(jié),判斷數(shù)據(jù)符號,判斷數(shù)據(jù)最大最小值,最后打開OnComm接收事件,等待下一次OnComm事件產(chǎn)生: 

Private Sub MSComm1_OnComm()
  With MSComm1
Select Case .CommEvent
	‘判斷MSComm1通信事件
      Case comEvReceive			
		‘收到Rthreshold個字節(jié)產(chǎn)生的接收事件
        av = .Input	
		‘讀取一個接收字節(jié)
        ab(1) = av(0)			
		‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組
        If ab(1) = &HF0 Then			
          ‘判斷是否為數(shù)據(jù)開始標志
          RThreshold = 0				
          ‘關閉OnComm事件接收
          Do
            DoEvents
          Loop Until .InBufferCount >= 3	
      ‘循環(huán)等待MSComm1接收緩沖區(qū)>=3個字節(jié)
          w = w + 1		‘計數(shù)器累加計數(shù)
          av = .Input			
         ‘讀取第二個數(shù)據(jù)字節(jié)(BCD碼高位字節(jié))
          ab(2) = av(0)		
    	‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組
          av = .Input					
         ‘讀取第三個數(shù)據(jù)字節(jié)(BCD碼低位字節(jié))
          ab(3) = av(0)		
		‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組
          av = .Input			
		‘讀取第四個數(shù)據(jù)字節(jié)(符號位字節(jié))
          ab(4) = av(0)		
		‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組	
          b1 = ab(2) - 6 * (ab(2)\16)	
     	‘高位字節(jié)壓縮BCD碼轉(zhuǎn)換為實數(shù)
          b2 = ab(3) - 6 * (ab(3)\16)	
    	‘低位字節(jié)壓縮BCD碼轉(zhuǎn)換為實數(shù)
          WW = b1 + b2 / 100			
    	‘數(shù)值組合,標定小數(shù)點
          If ab(4) > 127 Then WW=

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人h版在线观看| 久久影院电视剧免费观看| 日韩一区二区在线观看视频| 久久久精品国产免费观看同学| 亚洲免费高清视频在线| 久久国产福利国产秒拍| 欧美在线999| 国产欧美一区视频| 奇米色777欧美一区二区| 91麻豆6部合集magnet| 久久久久久97三级| 麻豆精品精品国产自在97香蕉| 91丨porny丨首页| 欧美激情一区在线| 国产一区二区三区四区五区美女| 欧美日韩国产123区| 亚洲乱码中文字幕| 国产成人免费9x9x人网站视频| 91精品国产一区二区三区香蕉| 亚洲特级片在线| 国产盗摄一区二区三区| 精品福利视频一区二区三区| 日韩国产在线观看| 欧美日韩国产乱码电影| 亚洲人成小说网站色在线| 国产91富婆露脸刺激对白| 欧美精品一二三四| 亚洲国产一区二区在线播放| 99re免费视频精品全部| 久久先锋影音av鲁色资源网| 精品无人区卡一卡二卡三乱码免费卡 | 777午夜精品视频在线播放| 亚洲乱码一区二区三区在线观看| 丁香激情综合五月| 国产精品乱人伦一区二区| 国产1区2区3区精品美女| 精品国产免费久久| 狠狠色丁香久久婷婷综| 久久九九99视频| 成人综合婷婷国产精品久久免费| 国产日产欧美一区| 成人黄色电影在线| 国产精品久久久久久户外露出| 成人av电影在线播放| 国产精品久久久久久久久果冻传媒| 99久久精品国产毛片| 亚洲精品视频免费观看| 欧美视频日韩视频在线观看| 亚洲一区免费在线观看| 欧美高清dvd| 韩国三级在线一区| 国产免费观看久久| 欧美自拍丝袜亚洲| 精品一区二区三区免费毛片爱| 欧美xxxxxxxx| 91免费看片在线观看| 亚洲高清不卡在线| 精品久久国产字幕高潮| youjizz久久| 亚洲国产成人va在线观看天堂| 7777女厕盗摄久久久| 国产在线一区二区| 亚洲麻豆国产自偷在线| 日韩亚洲国产中文字幕欧美| 国产麻豆精品95视频| 亚洲日本青草视频在线怡红院| 在线成人小视频| 国产一区视频导航| 亚洲一区二区视频在线| 久久久久国产一区二区三区四区| 成人精品视频一区| 日韩av网站免费在线| 国产女主播一区| 欧美一区二区三区系列电影| 国产宾馆实践打屁股91| 免费看黄色91| 综合久久久久综合| 日韩精品一区二区三区老鸭窝| 91亚洲男人天堂| 精品影视av免费| 亚洲小说春色综合另类电影| 国产欧美日韩一区二区三区在线观看| 欧洲一区二区三区在线| 国产91精品入口| 久久国产尿小便嘘嘘尿| 一二三区精品视频| 国产精品午夜在线| 日韩精品一区二区三区在线| 欧洲一区在线观看| a美女胸又www黄视频久久| 精品一区二区影视| 视频一区二区三区入口| 亚洲视频一二三区| 国产视频一区二区在线| 欧美一区二区三区公司| 欧洲视频一区二区| 成人午夜激情片| 国产精品一级片在线观看| 青青草一区二区三区| 亚洲福利国产精品| 亚洲精品欧美在线| 中文字幕一区二区三区四区| 国产亚洲婷婷免费| 日韩欧美综合在线| 91精品综合久久久久久| 欧美日本在线视频| 欧美人妖巨大在线| 欧美日韩精品免费| 欧美亚一区二区| 在线观看av不卡| 91在线播放网址| 一本在线高清不卡dvd| 成人深夜在线观看| 国产69精品久久777的优势| 国产高清成人在线| 国产激情一区二区三区桃花岛亚洲| 久久99久久99小草精品免视看| 亚洲成av人片在线观看无码| 亚洲一二三四区| 一二三四社区欧美黄| 亚洲国产成人91porn| 亚洲自拍偷拍欧美| 亚洲国产日韩a在线播放| 亚洲一区免费观看| 午夜精品福利在线| 日本亚洲最大的色成网站www| 日韩激情一二三区| 麻豆精品视频在线| 国产一区二区三区av电影| 国产不卡在线视频| 91最新地址在线播放| 在线观看免费视频综合| 欧美日韩国产天堂| 精品噜噜噜噜久久久久久久久试看 | 视频一区二区不卡| 欧美aⅴ一区二区三区视频| 久久99久久久欧美国产| 国产99久久久国产精品潘金| 北条麻妃一区二区三区| 日本道在线观看一区二区| 欧美日本在线播放| 精品国产乱码久久久久久闺蜜| 欧美韩国日本不卡| 亚洲在线视频网站| 美女脱光内衣内裤视频久久网站 | 日韩三区在线观看| 久久久久久久综合日本| 中文字幕日本乱码精品影院| 亚洲va欧美va人人爽| 国内外成人在线| 色网站国产精品| 日韩欧美国产一二三区| 国产精品久久久久久久久快鸭| 夜夜嗨av一区二区三区网页| 久久精品72免费观看| 91在线一区二区| 日韩一区二区影院| 中文字幕亚洲区| 美腿丝袜亚洲综合| 91影院在线观看| 精品sm捆绑视频| 一区二区三区电影在线播| 久久99精品久久只有精品| 91免费在线视频观看| 久久综合九色综合欧美98| 一区二区三区在线视频观看| 国产精品一区二区免费不卡| 精品污污网站免费看| 中文字幕在线不卡一区| 激情文学综合网| 欧美巨大另类极品videosbest| 国产精品毛片a∨一区二区三区 | 亚洲另类在线视频| 韩国精品主播一区二区在线观看 | 中文字幕日韩av资源站| 国产麻豆视频一区二区| 日韩亚洲欧美中文三级| 亚洲一区二区三区小说| 成人免费电影视频| 久久色视频免费观看| 亚洲第一福利一区| 日本大香伊一区二区三区| 中文字幕的久久| 国产在线看一区| 欧美一区二区精品在线| 亚洲一区在线视频| 色哟哟一区二区在线观看| 国产精品美女一区二区| 国产成人在线看| 久久久美女艺术照精彩视频福利播放| 日韩av一级电影| 91精品国产入口| 日韩一区精品字幕| 欧美日韩一区成人| 亚洲自拍欧美精品| 欧美最新大片在线看| 一区二区三区在线不卡| 91免费视频观看| 亚洲靠逼com| 欧美亚洲国产一区二区三区va|