国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

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

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

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

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

1.前言


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


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


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


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


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


  下面給出的應(yīng)用實(shí)例,通過(guò)對(duì)一臺(tái)工業(yè)八通道實(shí)時(shí)檢測(cè)儀表數(shù)據(jù)通訊協(xié)議進(jìn)行分析,利用VB6.0開(kāi)發(fā)微機(jī)通過(guò)串口對(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ù),通過(guò)微機(jī)軟件處理可實(shí)現(xiàn)工業(yè)實(shí)時(shí)監(jiān)控。


  該儀表的串口數(shù)據(jù)通訊協(xié)議是:數(shù)據(jù)傳輸速率為9600bps,1位開(kāi)始位,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)位。儀表每秒通過(guò)串口發(fā)送200個(gè)字節(jié)數(shù)據(jù),由于接入的位移傳感器數(shù)量在 1-8路可調(diào),所以發(fā)送的每幀數(shù)據(jù)長(zhǎng)度不定長(zhǎng),隨傳感器數(shù)量多少而變化。儀表數(shù)據(jù)傳輸首先發(fā)送每幀數(shù)據(jù)的開(kāi)始標(biāo)志字節(jié),該字節(jié)定義為二進(jìn)制常數(shù)0FAH;然后發(fā)送1個(gè)字節(jié)的通道狀態(tài)字節(jié),該字節(jié)按位順序每位代表相應(yīng)的一路通道狀態(tài),某位是1則代表該通道接有位移傳感器,某位是0則代表該通道未接位移傳感器;從第三個(gè)字節(jié)開(kāi)始按位移傳感器接通的通道順序發(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為幀開(kāi)始標(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ù)的讀取要盡可能的快速,則在程序開(kāi)始運(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è)置不能過(guò)大,讓部分?jǐn)?shù)據(jù)丟失,以保證數(shù)據(jù)處理的實(shí)時(shí)性。


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


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


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


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


  3.3 程序代碼


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


  Dim ab(4) As Byte ‘字節(jié)數(shù)據(jù)類型數(shù)組,用來(lái)存貯接收到的一組字節(jié)數(shù)據(jù)


  Dim av As Variant ‘用來(lái)從接收緩沖區(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的[開(kāi)始]按鈕和名為MSComm1的MSComm控件。


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


Private Sub Command1_Click() ‘開(kāi)始按鈕


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 ‘判斷通信口是否打開(kāi)


    .PortOpen = True ‘打開(kāi)通信口


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


     MsgBox "串口通信無(wú)效"


     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ù)的開(kāi)始字節(jié),關(guān)閉OnComm接收事件,然后接收數(shù)據(jù)字節(jié),將壓縮BCD進(jìn)行還原轉(zhuǎn)換,再接收符號(hào)字節(jié),判斷數(shù)據(jù)符號(hào),判斷數(shù)據(jù)最大最小值,最后打開(kāi)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ù)開(kāi)始標(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è)開(kāi)始字,一個(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     ‘判斷最大值,儀表在剛開(kāi)始工作時(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 ‘打開(kāi)MSComm1事件接收


   Else


    .RThreshold = 1


   End If


  Case Else


End Select


End With


End Sub

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

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        在线免费观看日本一区| 欧美电影免费观看高清完整版在线| 激情文学综合网| 欧美无砖专区一中文字| 亚洲精品你懂的| 91免费看`日韩一区二区| 中文在线免费一区三区高中清不卡| 韩国精品一区二区| 久久蜜臀精品av| 国产美女在线观看一区| 中文字幕精品三区| 99久久伊人久久99| 亚洲综合激情网| 欧美日韩中文字幕精品| 日本在线不卡视频一二三区| 欧美一区二区三区免费视频| 欧美aa在线视频| 久久久久成人黄色影片| 91麻豆精品秘密| 性做久久久久久免费观看| 精品噜噜噜噜久久久久久久久试看| 久久av老司机精品网站导航| 国产日产精品1区| 成人一级片在线观看| 亚洲综合色区另类av| 56国语精品自产拍在线观看| 国产专区综合网| 亚洲国产精品久久久久婷婷884| 日韩一区二区在线免费观看| 成人综合在线观看| 亚洲激情av在线| 欧美精品一区二区三区一线天视频 | 亚洲一区视频在线| 日韩女优av电影在线观看| 国产成人精品亚洲777人妖| 夜夜爽夜夜爽精品视频| 国产亚洲一二三区| 欧美日韩一区二区在线观看 | 欧美人妖巨大在线| 国产.欧美.日韩| 日本中文字幕一区二区视频| 亚洲美女屁股眼交| 欧美大片一区二区| 在线观看国产一区二区| eeuss鲁片一区二区三区在线看| 亚洲国产日韩av| 国产精品视频你懂的| 欧美精品一区二区三区很污很色的| 色94色欧美sute亚洲13| 99精品视频在线播放观看| 日本不卡一二三| 亚洲一区二区影院| 一区二区三区电影在线播| 久久伊99综合婷婷久久伊| 欧美一区2区视频在线观看| 色婷婷综合久久| 成人av小说网| 成人一级视频在线观看| 国产一区二区三区久久久 | 日韩欧美成人激情| 91久久精品日日躁夜夜躁欧美| 国产91精品露脸国语对白| 久久精品国产一区二区三| 天堂资源在线中文精品| 蜜桃在线一区二区三区| 亚洲精品乱码久久久久久久久 | 国产精品乡下勾搭老头1| 美国欧美日韩国产在线播放| 日韩成人av影视| 亚洲成人综合视频| 亚洲电影激情视频网站| 亚洲高清中文字幕| 午夜精品久久久久久久99水蜜桃 | 久久综合久久鬼色中文字| 日韩午夜中文字幕| 精品三级在线观看| 欧美精品一区二区三区蜜桃视频| 日韩精品一区二区三区四区视频 | 一区在线观看免费| 一区二区在线观看免费| 亚洲第一福利一区| 婷婷综合久久一区二区三区| 奇米影视一区二区三区| 久久国产剧场电影| 成人国产精品免费观看动漫| 99re视频精品| 欧美日韩视频在线第一区| 91精品国产91久久久久久最新毛片| 欧美日韩不卡在线| 精品1区2区在线观看| 国产精品网站在线| 亚洲成人自拍网| 国产乱码精品一区二区三区忘忧草| 国产精品中文字幕日韩精品 | 欧美精品一卡二卡| 国产无一区二区| 欧美高清在线精品一区| 亚洲成av人影院在线观看网| 亚洲mv在线观看| 国产成人精品影视| 欧美影片第一页| 欧美tk丨vk视频| 中文字幕综合网| 蜜臀av国产精品久久久久| 国产 欧美在线| 欧美日韩国产区一| 国产性天天综合网| 日日噜噜夜夜狠狠视频欧美人| 国产精品99久久久久久久女警| 丁香亚洲综合激情啪啪综合| 欧美巨大另类极品videosbest | 成人综合婷婷国产精品久久| 成人动漫一区二区三区| 成人黄色大片在线观看| 欧美疯狂性受xxxxx喷水图片| 91精品国产综合久久久久久久 | 欧美日韩一区 二区 三区 久久精品 | 亚洲高清免费观看 | 国产精品麻豆欧美日韩ww| 日韩成人伦理电影在线观看| 国产高清精品久久久久| 在线免费观看视频一区| 国产精品色哟哟网站| 亚洲综合视频在线观看| 懂色av一区二区三区免费看| 欧洲亚洲精品在线| 久久久精品国产免费观看同学| 亚洲成人动漫av| av动漫一区二区| 日韩精品一区二区三区在线| 一区二区成人在线| 国产91丝袜在线播放0| 精品国产三级a在线观看| 天天综合网天天综合色| 欧美欧美欧美欧美首页| 亚洲免费观看高清在线观看| 91原创在线视频| 国产精品成人一区二区三区夜夜夜| 国产成人aaa| 久久久精品一品道一区| 国产精品 欧美精品| 久久这里只有精品首页| 国产一区二区三区在线观看精品 | 久久久欧美精品sm网站| 国产成人日日夜夜| 国产亚洲自拍一区| 不卡一区在线观看| 欧美韩国一区二区| k8久久久一区二区三区| 国产精品另类一区| 国产精品一二二区| 亚洲素人一区二区| 91免费版在线看| 三级欧美韩日大片在线看| 欧美日韩三级在线| 无码av免费一区二区三区试看| 在线电影院国产精品| 丝袜诱惑亚洲看片| 久久嫩草精品久久久精品一| 国产精品一级黄| 欧美一区二区网站| 狠狠色丁香久久婷婷综合丁香| www国产精品av| 91免费视频观看| 午夜久久福利影院| 国产午夜精品在线观看| 91麻豆精品在线观看| 亚洲综合在线免费观看| 日韩欧美中文字幕制服| 国产成人精品午夜视频免费| 亚洲另类色综合网站| 欧美区在线观看| av一区二区三区四区| 午夜久久电影网| 久久新电视剧免费观看| 在线中文字幕一区二区| 青青草国产成人99久久| 国产精品久久久久久久久搜平片 | 色av一区二区| 久久激五月天综合精品| 国产精品久久福利| 91精品国产福利| 色婷婷久久一区二区三区麻豆| 日韩和欧美一区二区三区| 国产午夜精品久久| 91精品国产综合久久精品性色| 国产乱理伦片在线观看夜一区| 亚洲午夜影视影院在线观看| 精品欧美一区二区久久| 91福利区一区二区三区| 极品少妇一区二区三区精品视频| 国产精品久久777777| 久久综合九色综合欧美就去吻| 91性感美女视频| 国产91精品一区二区麻豆亚洲| 三级在线观看一区二区| 一区二区三区四区视频精品免费 | 不卡一二三区首页| 国产一区二区三区免费观看| 亚洲一级在线观看|