在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

用VB開發(fā)多通道儀表數(shù)據(jù)采集程序

用VB開發(fā)多通道儀表數(shù)據(jù)采集程序

更新時(shí)間:2022-04-27 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

1.前言


  實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)過去在DOS操作系統(tǒng)下一般是采用匯編語言開發(fā)制作。隨著Windows操作系統(tǒng)的普及應(yīng)用,數(shù)據(jù)采集及工業(yè)控制等軟件的開發(fā)也上升到 Windows環(huán)境下?梢暬浖_發(fā)平臺(tái)的出現(xiàn),為軟件開發(fā)提供了強(qiáng)大的圖形界面功能,使得開發(fā)出來的各種應(yīng)用軟件具有良好的人機(jī)交互功能。匯編語言的特點(diǎn)是功能強(qiáng)、運(yùn)行速度快,但編程復(fù)雜、調(diào)試難,而高級(jí)語言具有良好的可讀性及方便的調(diào)試手段。


  Visual Basic 是Windows環(huán)境下簡(jiǎn)單、易學(xué)、高效的可視化編程語言開發(fā)系統(tǒng),以其所見即所得的可視化界面設(shè)計(jì)風(fēng)格和32位面向?qū)ο蟮某绦蛟O(shè)計(jì)等特點(diǎn),已廣泛地應(yīng)用于各個(gè)領(lǐng)域,是很多計(jì)算機(jī)軟件開發(fā)人員采用的開發(fā)工具。VB不但提供了良好的界面設(shè)計(jì)能力,而且在微機(jī)串口通信方面也有很強(qiáng)的功能。采用 VB開發(fā)Winodws下的數(shù)據(jù)采集和工業(yè)控制應(yīng)用軟件十分方便,尤其軟件界面設(shè)計(jì)非常便捷,編程工作量較小,開發(fā)周期短,特別適合非計(jì)算機(jī)專業(yè)的工程技術(shù)人員掌握和使用。   


  2.MSComm控件特點(diǎn)


  MSComm控件是Microsoft提供的擴(kuò)展控件,用于支持 VB程序?qū)Υ诘脑L問,該控制“隱藏”了大部分串口通訊的底層運(yùn)行過程和許多煩瑣的處理過程,同時(shí)支持查詢方法和事件驅(qū)動(dòng)通訊的機(jī)制,事件驅(qū)動(dòng)通訊是交互方式處理串口事務(wù)的一種非常有效的方法,特別適合 Windows程序的編寫。在串口通訊過程中,當(dāng)發(fā)送數(shù)據(jù)、收到數(shù)據(jù)或產(chǎn)生傳輸錯(cuò)誤時(shí),觸發(fā)MSComm控件的OnComm事件,然后可以通過判斷 CommEvent屬性值獲得事件類型,再根據(jù)事件類型進(jìn)行相應(yīng)數(shù)據(jù)處理。因此用其實(shí)現(xiàn)微機(jī)串口的數(shù)據(jù)通訊相當(dāng)簡(jiǎn)單,以很少的程序代碼就可以輕松實(shí)現(xiàn)串口的訪問和數(shù)據(jù)通訊。


  3.實(shí)時(shí)數(shù)據(jù)采集示例程序


  下面給出的應(yīng)用實(shí)例,通過對(duì)一臺(tái)工業(yè)八通道實(shí)時(shí)檢測(cè)儀表數(shù)據(jù)通訊協(xié)議進(jìn)行分析,利用VB6.0開發(fā)微機(jī)通過串口對(duì)多通道工業(yè)儀表進(jìn)行實(shí)時(shí)數(shù)據(jù)采集的編程技術(shù)。給出的程序代碼具有通用性,并有詳示,可以直接或稍加改動(dòng)后用于其它數(shù)據(jù)采集或?qū)崟r(shí)控制程序中。


  3.1 儀表及其數(shù)據(jù)通訊協(xié)議


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


  該儀表的串口數(shù)據(jù)通訊協(xié)議是:數(shù)據(jù)傳輸速率為9600bps,1位開始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位。儀表每秒通過串口發(fā)送200個(gè)字節(jié)數(shù)據(jù),由于接入的位移傳感器數(shù)量在 1-8路可調(diào),所以發(fā)送的每幀數(shù)據(jù)長(zhǎng)度不定長(zhǎng),隨傳感器數(shù)量多少而變化。儀表數(shù)據(jù)傳輸首先發(fā)送每幀數(shù)據(jù)的開始標(biāo)志字節(jié),該字節(jié)定義為二進(jìn)制常數(shù)0FAH;然后發(fā)送1個(gè)字節(jié)的通道狀態(tài)字節(jié),該字節(jié)按位順序每位代表相應(yīng)的一路通道狀態(tài),某位是1則代表該通道接有位移傳感器,某位是0則代表該通道未接位移傳感器;從第三個(gè)字節(jié)開始按位移傳感器接通的通道順序發(fā)送采集數(shù)據(jù)字節(jié),每道數(shù)據(jù)有三個(gè)字節(jié),前2個(gè)數(shù)據(jù)字節(jié)采用壓縮的BCD碼編碼方式,第1個(gè)數(shù)據(jù)字節(jié)是高位,第2個(gè)數(shù)據(jù)字節(jié)是低位,即一個(gè)字節(jié)表示兩位十進(jìn)制數(shù),則兩個(gè)字節(jié)表示四位十進(jìn)制數(shù),小數(shù)點(diǎn)采用固定形式,定義在兩字節(jié)中間;第3個(gè)數(shù)據(jù)字節(jié)為符號(hào)字節(jié),該字節(jié)第八位為1,即1xxxxxxx則為負(fù)數(shù),第八位為0,即0xxxxxxx則為正數(shù)。


  例如發(fā)送的字節(jié)數(shù)據(jù)為:0FAH 0B1H 26H 87H 8H 34H 62H 00H 37H 76H 0H 42H 53H 80H


  0FAH為幀開始標(biāo)志字節(jié),第一道,第五道,第六道,第八道接有位移傳感器,表示 -26.87 34.62 37.76 -42.53。


  3.2 部分參數(shù)的技術(shù)分析


  3.2.1 儀表通訊傳輸速率為9600bps,則最快速度為1.0417ms發(fā)送一個(gè)字節(jié);儀表每秒發(fā)送200個(gè)字節(jié),平均5.0ms發(fā)送一個(gè)字節(jié),在查詢方式或連續(xù)讀取串口數(shù)據(jù)時(shí)要在程序中添加循環(huán)等待程序,等待接收緩沖區(qū)收到足夠的字節(jié)才能進(jìn)行數(shù)據(jù)處理。


  3.2.2 儀表發(fā)送每幀數(shù)據(jù)長(zhǎng)度不定長(zhǎng),為了實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)功能,接收數(shù)據(jù)的讀取要盡可能的快速,則在程序開始運(yùn)行時(shí)設(shè)置MSComm1的屬性


  RThreshold = 26 接收緩沖區(qū)收到26個(gè)字節(jié)產(chǎn)生OnComm事件


  InputLen = 1 Input每次讀取一個(gè)字節(jié)


  等到程序接收到一幀完整數(shù)據(jù)后,計(jì)算出當(dāng)前幀數(shù)據(jù)長(zhǎng)度,再將Rthreshold屬性修改為幀長(zhǎng)度,則接收緩沖區(qū)在收到一幀數(shù)據(jù)后,MSComm控件才會(huì)觸發(fā)一個(gè)OnComm事件,這樣就會(huì)有更多的時(shí)間進(jìn)行數(shù)據(jù)的計(jì)算和處理。


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


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


  3.2.5 VB中有 Byte類型變量,但沒有字節(jié)的位處理語句。通道狀態(tài)字節(jié)的位處理要通過對(duì)該字節(jié)的值運(yùn)算進(jìn)行判斷,符號(hào)字節(jié)的位處理則要判斷符號(hào)字節(jié)的值是否大于127,大于127則為負(fù)數(shù);壓縮的BCD碼存入Byte類型變量,VB系統(tǒng)只按十進(jìn)制數(shù)處理,這要通過一個(gè)簡(jiǎn)單算法換算,解壓BCD碼才能還原成十進(jìn)制表示數(shù)值。假如a是Byte類型變量,W是Single類型變量,將一個(gè)壓縮的BCD碼存入 a中,則算法是:


 。=(a\16)*10 + a-(a\16)*16


  則W=a-(a\16)*6


  3.3 程序代碼


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


  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ù)個(gè)數(shù)計(jì)數(shù)器


  Dim b1 As Single


  Dim b2 As Single


  Dim WW As Single ‘十進(jìn)制檢測(cè)值


  Dim TD(8) as Boolean ‘通道狀態(tài)數(shù)組


  Dim Wmax(8) As Single ‘最大值數(shù)組


  Dim Wmin(8) As Single ‘最小值數(shù)組


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


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


Private Sub Command1_Click() ‘開始按鈕


With MSComm1


   .CommPort=2 ‘使用COM2


   .Setting="9600,N,8,1" ‘設(shè)置通信口參數(shù)


   .InBufferSize=40 ‘設(shè)置MSComm1接收緩沖區(qū)為40字節(jié)


   .OutBufferSize=2 ‘設(shè)置MSComm1發(fā)送緩沖區(qū)為2字節(jié)


   .InputMode = comInputModeBinary  ‘設(shè)置接收數(shù)據(jù)模式為二進(jìn)制形式


   .InputLen = 1           ‘設(shè)置Input 一次從接收緩沖讀取字節(jié)數(shù)為1


   .SThreshold = 1 ‘設(shè)置Output 一次從發(fā)送緩沖讀取字節(jié)數(shù)為1


   .InBufferCount = 0 ‘清除接收緩沖區(qū)


   .OutBufferCount = 0 ‘清除發(fā)送緩沖區(qū)


   For i=1 to 8


   Wmax(i) = -99 ‘最大值賦初值


   Wmin(i) = 99 ‘最小值賦初值


   Next i


   w = 0 ‘?dāng)?shù)據(jù)個(gè)數(shù)計(jì)數(shù)器清零


   .RThreshold = 1 ‘設(shè)置接收一個(gè)字節(jié)產(chǎn)生OnComm事件


   On Error Resume Next       ‘改變錯(cuò)誤處理的方式。


   Err.Clear


   If .PortOpen = False Then ‘判斷通信口是否打開


    .PortOpen = True ‘打開通信口


    If Err Then ‘錯(cuò)誤處理


     MsgBox "串口通信無效"


     Exit Sub


    End If


   End If


End With


End Sub


  為了達(dá)到實(shí)時(shí)數(shù)據(jù)采集目的,實(shí)時(shí)數(shù)據(jù)采集處理程序采用MSComm事件驅(qū)動(dòng)方式。MSComm1_OnComm 的事件處理程序只處理comEvReceive事件,首先判斷幀數(shù)據(jù)的開始字節(jié),關(guān)閉OnComm接收事件,然后接收數(shù)據(jù)字節(jié),將壓縮BCD進(jìn)行還原轉(zhuǎn)換,再接收符號(hào)字節(jié),判斷數(shù)據(jù)符號(hào),判斷數(shù)據(jù)最大最小值,最后打開OnComm接收事件,等待下一次OnComm事件產(chǎn)生:


Private Sub MSComm1_OnComm()


With MSComm1


Select Case .CommEvent ‘判斷MSComm1通訊事件


  Case comEvReceive ‘收到Rthreshold個(gè)字節(jié)產(chǎn)生的接收事件


   av = .Input ‘讀取一個(gè)接收字節(jié)


   ab(1) = av(0) ‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組


   If ab(1) = 170 Then ‘判斷是否為數(shù)據(jù)開始標(biāo)志,0FAH=170


     .RThreshold = 0 ‘關(guān)閉OnComm事件接收


     W=W+1     ‘計(jì)數(shù)器加1


     av = .Input ‘讀取通道狀態(tài)字節(jié)


     ab(0) = av(0) ‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)


     For i = 1 To 8 ‘通道狀態(tài)數(shù)組復(fù)位


     TD(i) = False


     Next i


     cn = 2           ‘幀長(zhǎng)度賦初值,一個(gè)開始字,一個(gè)狀態(tài)字


     If ab(0) >= 128 Then    ‘判斷第八通狀態(tài)


     TD(8) = True       ‘第八道是真


     ab(0) = ab(0) - 128   ‘第7位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 64 Then     ‘判斷第七通狀態(tài)


     TD(7) = True       ‘第七道是真


     ab(0) = ab(0) - 64    ‘第6位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 32 Then     ‘判斷第六通狀態(tài)


     TD(6) = True       ‘第六道是真


     ab(0) = ab(0) - 32    ‘第5位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 16 Then     ‘判斷第五通狀態(tài)


     TD(5) = True       ‘第五道是真


     ab(0) = ab(0) - 16    ‘第4位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 8 Then     ‘判斷第四通狀態(tài)


     TD(4) = True       ‘第四道是真


     ab(0) = ab(0) - 8     ‘第3位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 4 Then     ‘判斷第三通狀態(tài)


     TD(3) = True       ‘第三道是真


     ab(0) = ab(0) - 4     ‘第2位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 2 Then     ‘判斷第二通狀態(tài)


     TD(2) = True       ‘第二道是真


     ab(0) = ab(0) - 2     ‘第0位置零


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     If ab(0) >= 1 Then     ‘判斷第一通狀態(tài)


     TD(1) = True       ‘第一道是真


     cn = cn + 3       ‘幀長(zhǎng)度加3個(gè)字節(jié)


     End If


     For i = 1 To 8 ‘


     If TD(i) = True Then


      av = .Input    ‘讀取第一個(gè)數(shù)據(jù)字節(jié)(BCD碼高位字節(jié))


      ab(2) = av(0)    ‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組


      av = .Input    ‘讀取第二個(gè)數(shù)據(jù)字節(jié)(BCD碼低位字節(jié))


      ab(3) = av(0)    ‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組


      av = .Input    ‘讀取第三個(gè)接收字節(jié)(符號(hào)位字節(jié))


      ab(4) = av(0)    ‘轉(zhuǎn)換保存到字節(jié)數(shù)據(jù)類型數(shù)組


      b1 = ab(2) - 6 * (ab(2) 16)   ‘高位字節(jié)壓縮BCD碼轉(zhuǎn)換為實(shí)數(shù)


      b2 = ab(3) - 6 * (ab(3) 16)   ‘低位字節(jié)壓縮BCD碼轉(zhuǎn)換為實(shí)數(shù)


      WW = b2 + b1 / 100 ‘?dāng)?shù)值組合,標(biāo)定小數(shù)點(diǎn)


      If ab(4) > 127 Then WW = -WW ‘判斷數(shù)據(jù)符號(hào)位


      Label1(i-1) = Format(WW,"0.00")   ‘顯示毫米單位數(shù)值,2位小數(shù)


      If WW>Wmax(i) And WW<51 Then     ‘判斷最大值,儀表在剛開始工作時(shí)有干擾,會(huì)傳導(dǎo)一些亂碼,位移傳感器有參數(shù)偏差,最大值一般都略大于50毫米,所以取51為極限最大值,取-51為極限最小值。

       Wmax(i) = WW


       Label2(i-1)=Format(Wmax(i),"0.00") ‘顯示最大值


      End If


      If WW -51 Then ‘判斷最小值


       Wmin(i) = WW


       Label3(i-1)=Format(Wmin(i),"0.00") ‘顯示最小值


      End If


     End If


     Next i


    .RThreshold = cn ‘打開MSComm1事件接收


   Else


    .RThreshold = 1


   End If


  Case Else


End Select


End With


End Sub

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 91视频这里只有精品| 桥本有菜av在线| 九一国产精品视频| 免费看欧美黑人毛片| 国产精品av免费观看| 99久久久无码国产精品性色戒| 色综合天天色综合| 亚洲一区日韩精品| 五月激情婷婷在线| 99re8这里只有精品| 久久久99精品视频| 欧美亚洲日本一区二区三区| 女人床在线观看| 婷婷无套内射影院| 久草青青在线观看| 中文字幕在线观看日| 992kp免费看片| 超碰10000| 欧美黄色一级片视频| 亚洲xxxx2d动漫1| 国产手机视频在线观看| 九色自拍视频在线观看| 无遮挡又爽又刺激的视频| 污视频网站观看| 一本大道东京热无码aⅴ| 五十路熟女丰满大屁股| 高清一区二区视频| 亚洲自拍偷拍一区二区三区| 男女啪啪免费视频网站| 一级特黄性色生活片| 黄黄视频在线观看| 欧美丰满熟妇xxxxx| 中国一级黄色录像| 18岁视频在线观看| 福利在线一区二区| 91女神在线观看| 日本欧美视频在线观看| 手机在线国产视频| 97国产精东麻豆人妻电影| 一区二区三区四区毛片| 午夜肉伦伦影院| 特级西西人体www高清大胆| av网站在线不卡| 黄色一级在线视频| 大桥未久一区二区| 一区二区在线免费看| 乱妇乱女熟妇熟女网站| 国产精品啪啪啪视频| 亚洲国产精品三区| 欧美色图色综合| 欧美a级免费视频| 手机av在线网站| 污色网站在线观看| 国产a级片免费观看| 欧美成人免费在线观看视频| 女女同性女同一区二区三区按摩| 久久久久国产精品熟女影院| 欧美国产日韩激情| 欧美国产视频一区| 潘金莲一级淫片aaaaa免费看| av网站在线不卡| 日韩精品你懂的| 少妇一级淫免费放| 日本激情综合网| 男人插女人下面免费视频| 国产99久久九九精品无码| 免费看欧美黑人毛片| 欧美久久在线观看| www.av中文字幕| 欧美性大战久久久久xxx| av免费观看网| 国产精品wwwww| 日本xxxx黄色| 欧美 另类 交| 91免费国产精品| 欧美日韩性生活片| 成人午夜视频免费在线观看| 日本成年人网址| 91香蕉视频导航| 亚洲第一页在线视频| 九九久久九九久久| 国产h视频在线播放| 99视频精品免费| 欧美视频国产视频| av在线观看地址| 一区二区成人网| 一级黄色录像免费看| 男人天堂手机在线视频| 日本黄网站免费| 香蕉视频xxxx| 男女视频网站在线观看| 手机在线看福利| 日本一道在线观看| 日本熟妇人妻xxxxx| 手机精品视频在线| 人妻夜夜添夜夜无码av | 国产精品999.| 男人添女荫道口图片| 久久久国产欧美| 日韩精品在线视频免费观看| 日韩欧美精品在线观看视频| 九色porny自拍| 少妇av一区二区三区无码| 久久久久久久久久一区| 少妇人妻大乳在线视频| 红桃视频 国产| 久久久久久久久久久久久久国产| 久久精品久久99| 亚洲人成无码www久久久| 亚洲一区 在线播放| 色www免费视频| 久久无码高潮喷水| 国产av熟女一区二区三区| 三上悠亚av一区二区三区| 国产v片免费观看| 中文字幕在线中文| 国产美女18xxxx免费视频| wwwxxx黄色片| 国产综合av在线| 成人在线视频一区二区三区| 国产免费中文字幕| 高清一区二区视频| 国产aaa一级片| 凹凸国产熟女精品视频| 久久www视频| 欧美 亚洲 视频| 久久国产精品免费观看| 不卡的在线视频| 一起操在线视频| 一本色道久久亚洲综合精品蜜桃| 日本wwww视频| 国产精品免费观看久久| 欧美一级视频免费看| 精品国产一区三区| 精品国产一区二区三区无码| 999久久欧美人妻一区二区| 一二三四中文字幕| 成年在线观看视频| 精品国偷自产一区二区三区| 国产主播自拍av| 国产精品欧美激情在线观看| 欧美aⅴ在线观看| 9久久婷婷国产综合精品性色 | 亚洲自偷自拍熟女另类| 97国产精东麻豆人妻电影| 18禁男女爽爽爽午夜网站免费| 日本不卡在线观看视频| 99热手机在线| 国产探花在线观看视频| 91麻豆天美传媒在线| 国产成a人亚洲精v品在线观看| 日韩网站在线免费观看| 116极品美女午夜一级| 91最新在线观看| dy888午夜| 国产成人亚洲精品无码h在线| 五月婷婷之综合激情| 熟女视频一区二区三区| 免费欧美一级视频| 亚洲制服在线观看| 男女高潮又爽又黄又无遮挡| 久久精品影视大全| 日本一本中文字幕| 男人插女人下面免费视频| 天堂av免费看| 精品日韩久久久| 人体内射精一区二区三区| 色婷婷狠狠18| 波多野结衣家庭教师在线| 老司机午夜性大片| 妞干网在线观看视频| 不用播放器的免费av| 人妻精品无码一区二区三区| 久久久久久久久久一区二区| 免费看又黄又无码的网站| 邪恶网站在线观看| 日本丰满少妇xxxx| 青草全福视在线| 777视频在线| 白嫩少妇丰满一区二区| 给我免费播放片在线观看| 日韩av一卡二卡三卡| 国产超碰在线播放| 精品中文字幕av| 真人抽搐一进一出视频| 四虎免费在线观看视频| 亚洲这里只有精品| 欧美精品色婷婷五月综合| 久久艹国产精品| 免费看污污视频| 99亚洲国产精品| 国产农村妇女精品久久| 亚洲成人天堂网| 一道本在线免费视频| 激情婷婷综合网| 成人亚洲视频在线观看| 国产黄色特级片| 在线观看的毛片| 免费一区二区三区在线观看| 鲁一鲁一鲁一鲁一av|