国产午夜成人免费看片无遮挡_日本免费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>

        欧美系列在线观看| 丁香五精品蜜臀久久久久99网站| 亚洲视频一区二区在线| 99久精品国产| 亚洲一级在线观看| 欧美成人精品福利| 91在线视频观看| 日韩中文字幕1| 欧美激情在线免费观看| 欧美三级视频在线播放| 国产一区二区三区四| 亚洲自拍偷拍综合| 国产日韩精品一区二区三区| 一本大道久久a久久精二百| 日韩av二区在线播放| 国产亚洲欧美一区在线观看| 欧美日韩中文字幕一区二区| 国产精品亚洲а∨天堂免在线| 亚洲日本va午夜在线影院| 精品国产污污免费网站入口| 欧洲av一区二区嗯嗯嗯啊| 国产精品18久久久久久久久久久久| 亚洲激情成人在线| 国产三区在线成人av| 欧美一级夜夜爽| 欧美视频一二三区| 9i在线看片成人免费| 国产自产v一区二区三区c| 舔着乳尖日韩一区| 亚洲精品第一国产综合野| 中文字幕第一区综合| 精品国产亚洲在线| 日韩欧美国产综合| 欧美日本韩国一区二区三区视频| 成人深夜在线观看| 国产一区二区精品在线观看| 麻豆精品一区二区| 日韩**一区毛片| 亚洲高清视频在线| 一区二区三区精品久久久| 亚洲特级片在线| 国产精品家庭影院| 日韩一区有码在线| 国产精品婷婷午夜在线观看| 久久久久久久综合日本| 精品av久久707| 欧美www视频| 精品国产污污免费网站入口| 精品成人在线观看| 精品精品欲导航| 久久久久久久综合日本| 日本一区二区综合亚洲| 亚洲国产精品ⅴa在线观看| 国产女主播视频一区二区| 国产日韩欧美激情| 国产精品网曝门| 一区视频在线播放| 亚洲一区在线观看免费观看电影高清| 亚洲欧美偷拍卡通变态| 亚洲永久精品大片| 免费精品视频最新在线| 韩国三级在线一区| 9i看片成人免费高清| 色8久久精品久久久久久蜜| 欧美视频在线观看一区二区| 91精品国产综合久久久久久久| 欧美一区二区成人| 久久无码av三级| 国产精品白丝在线| 亚洲高清免费在线| 国产福利一区在线| 日本韩国一区二区| 精品乱人伦一区二区三区| 国产精品三级视频| 亚洲成人午夜电影| 国产乱人伦偷精品视频免下载| 波波电影院一区二区三区| 在线观看一区二区精品视频| 欧美一级片在线看| 日韩美女视频一区| 人妖欧美一区二区| 国产大陆a不卡| 在线视频观看一区| 2017欧美狠狠色| 亚洲精品午夜久久久| 日韩成人一级片| 国产成人在线视频网址| 色妞www精品视频| 欧美不卡在线视频| 一区二区三区在线影院| 老司机精品视频导航| 在线亚洲+欧美+日本专区| 精品日产卡一卡二卡麻豆| 尤物视频一区二区| 高清不卡一区二区| 在线电影院国产精品| 成人欧美一区二区三区黑人麻豆| 三级久久三级久久久| 99精品热视频| 26uuu精品一区二区| 亚洲成在线观看| 不卡一区二区在线| 久久综合国产精品| 日韩一区精品视频| 欧美制服丝袜第一页| 欧美精品一区二区三区久久久| 亚洲一区影音先锋| 国产精品18久久久| 日韩一区二区免费视频| 亚洲视频网在线直播| 韩国精品主播一区二区在线观看 | 日本强好片久久久久久aaa| 成人精品小蝌蚪| 精品日韩一区二区三区免费视频| 一区二区三区在线不卡| 国产成人av网站| 日韩丝袜情趣美女图片| 一区二区三区四区亚洲| 成人精品gif动图一区| 久久精品免视看| 黄网站免费久久| 欧美一区二区免费视频| 亚洲午夜一区二区| 91久久精品一区二区三| 自拍偷拍亚洲激情| 色综合久久88色综合天天 | 欧美日韩高清一区| 亚洲人成精品久久久久久| 粉嫩aⅴ一区二区三区四区五区| 欧美电影免费观看高清完整版| 婷婷六月综合网| 欧美日韩在线一区二区| 一区二区日韩电影| 91精品欧美一区二区三区综合在| 亚洲成av人综合在线观看| 欧美色图12p| 日日夜夜免费精品| 欧美一区二区三区免费视频| 日韩电影在线观看网站| 欧美一区二区三区四区视频| 久久国产视频网| 久久久久久黄色| 成人av网址在线| 亚洲精品国产一区二区精华液 | 国产成人综合精品三级| 国产精品传媒在线| 欧美亚洲禁片免费| 日韩av成人高清| 26uuu成人网一区二区三区| 国模少妇一区二区三区| 中文一区一区三区高中清不卡| 成人高清免费在线播放| 亚洲一区二三区| 日韩视频在线观看一区二区| 狠狠色狠狠色综合系列| 国产精品美女久久久久久2018 | 欧美日韩高清在线| 久久99精品国产麻豆不卡| 国产日本一区二区| 91久久精品国产91性色tv| 日日夜夜精品免费视频| 久久女同性恋中文字幕| 色综合久久综合网97色综合| 日韩精品亚洲专区| 国产清纯在线一区二区www| 色综合久久天天| 久久国产欧美日韩精品| 中文字幕一区二区不卡| 欧美一区二区美女| 日本道色综合久久| 国产黄色精品网站| 日韩激情av在线| 亚洲情趣在线观看| 久久蜜臀精品av| 91精品国产欧美一区二区18 | 香蕉av福利精品导航| 国产亚洲精品aa午夜观看| 欧美三级电影网站| 波多野洁衣一区| 老司机免费视频一区二区三区| 亚洲精品国产高清久久伦理二区| 精品人在线二区三区| 欧美伊人久久大香线蕉综合69| 国产精品综合一区二区| 日韩成人av影视| 亚洲精品免费在线| 亚洲天堂免费在线观看视频| 久久这里只有精品6| 制服丝袜亚洲网站| 在线日韩av片| 一本一本久久a久久精品综合麻豆| 九九国产精品视频| 奇米色777欧美一区二区| 亚洲一区二区三区视频在线播放| 日本一区二区三区四区 | 国产三级欧美三级日产三级99 | 国产校园另类小说区| 欧美一级xxx| 欧美精品国产精品| 91成人免费在线|