《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于VB的WebAccess組態功能擴展
基于VB的WebAccess組態功能擴展
來源:微型機與應用2012年第2期
劉德生, 張天開, 李長啟, 李金鳳
(青島理工大學 自動化學院, 山東 青島 266033)
摘要: 結合高速鐵路國家實驗室“車廂環境檢測”項目,探索如何用VB設計一些輔助程序,并將這些程序嵌到WebAccess組態軟件中,通過兩者的緊密結合,解決一些現實中的棘手問題,擴展組態軟件的功能以便更好地滿足用戶需求。
Abstract:
Key words :

摘  要: 結合高速鐵路國家實驗室“車廂環境檢測”項目,探索如何用VB設計一些輔助程序,并將這些程序嵌到WebAccess組態軟件中,通過兩者的緊密結合,解決一些現實中的棘手問題,擴展組態軟件的功能以便更好地滿足用戶需求。
關鍵詞: VB; WebAccess; I/O點; 控件; SQL; Excel

    WebAccess組態軟件是基于瀏覽器開發的B/S架構的組態軟件,可實現遠程監控和遠程在線維護。項目選用150點WebAccess組態軟件,其中包括150個外部點、150個內部點和不受個數限制的本地點,每個點相當于一個寄存器。外部點用來存儲外部設備通過通信傳送給計算機的數據,內部點是中間變量點(包括計算點、累算點、常數點),它們都是全局有效的;本地點相當于局部點,只在對應的畫面內有效。使用以上所有資源,在實際設計過程中遇到三個WebAccess不能解決的問題:(1)內部I/O點不夠用; (2)本身不帶微風速采集器的驅動程序;(3)不能按需求將SQL數據庫中表導成Excel表和實現多表并發(將多個Excel表合成一個)。
    當軟件本身不能實現某些功能時,就需要考慮一些輔助軟件,這里將VB作為一個輔助軟件,通過它設計一些輔助程序,并將這些輔助程序與WebAccess巧妙地結合在一起,就可以很好地解決以上三個問題。
1 VB程序使用SQL數據庫擴展組態I/O點
    高鐵車廂環境檢測項目中要檢測的參數包含60點溫度、60點風速、20點壓力、2點濕度,對應每一點都要有一個修正值和最終值(測量值+修正值),為了便于Matlab繪制參數云圖,每個點還要有一個標志值(表示該點在試驗中是否被選用)和X、Y、Z三個坐標值(表示該點在車廂中的位置),以上這些點要求都是全局有效的,對一個只有150點的WebAccess是遠遠不能滿足的。如果采用I/O點數多的WebAccess,不僅會增加成本,而且會使利用率很低,因為每一個點的三個坐標值、修正值及標志值在試驗開始前都是設定好的,實驗過程中它們的值保持不變。根據這個特點,在每個值設定好后,用VB編寫的輔助程序將不同屬性的設定值存儲到SQL特定數據庫的不同表中,在某個畫面需要某些值時再用VB編寫的輔助程序從數據庫中讀出這些值并存儲到本地點,在這個畫面中就可以隨意使用這些儲存著特定值的本地點,在畫面退出后,本地點所占的內存空間被釋放,這些點就不存在,但它們對應的值卻始終存儲在SQL數據庫中。采用這種方法,不僅節省大量I/O點,而且不會影響系統的性能。SQL數據庫存方框圖如圖1,相關VB程序如下:

    ‘******將溫度點T1的標志位FT1及三個坐標XT1、YT1、ZT1通過VB控件讀到變量ft1、xt1、yt1、zt1中,其他溫度點的標志位及坐標用同樣的方法讀到相應的變量中,然后將這些變量的值存儲到testdata數據庫    TXYZTABLE表中******’
    ft1 = Bwocxrun1.GetValue("FT1", Me.AP)
    xt1 = Bwocxrun1.GetValue("XT1", Me.AP)
    yt1 = Bwocxrun1.GetValue("YT1", Me.AP)
    zt1 = Bwocxrun1.GetValue("ZT1", Me.AP)
    ……
    s1 = "USE testdata"
    Conn.Execute s1
    s2 = " INSERT INTO TXYZTABLE VALUES (1,′" & ft1 & "′,′" & xt1 & "′,′" & yt1 & "′,′" & zt1 & "′,……,′" & ft60 & "′,′" & xt60 & "′,′" & yt60 & "′,′" & zt60 & "′)"
    Conn.Execute s2
    ‘******將testdata數據庫TXYZTABLE表中數據讀出存儲到變量ft1、xt1、yt1、zt1、……、ft60、xt60、yt60、zt60中,再通過VB控件將變量這些變量的值賦給相應的WebAccess點******
    s3 = “DECLARE C1 CURSOR FOR
    SELECT
    FT1,XT1,YT1,ZT1,FT2,XT2,YT2,ZT2,……,FT60,XT60,YT60,ZT60 FROM TXYZTABLE WHERE Flag=1”
    Conn.Execute s3
    s4 = “OPEN C1 FETCH NEXT C1 INTO ft1,xt1,yt1,zt1, ft2,xt2,yt2,zt2,……, ft60,xt60,yt60,zt60 CLOSE C1”
    Conn.Execute s4
    Call Bwocxrun1.SetValue("FT1", ft1, Me.AP)
    Call Bwocxrun1.SetValue("XT1", xt1, Me.AP)
    Call Bwocxrun1.SetValue("YT1", yt1, Me.AP)
    Call Bwocxrun1.SetValue("ZT1", zt1, Me.AP)
    ……
  以上程序是對溫度標志位及溫度坐標的存取程序,系統中用到的其他的點,只要在系統運行過程中保持其值不變,都可以用同樣的方法實現存取,從而節省系統I/O點。
2 風速數據采集
    微風速采集器由16塊1504四通道空氣速度測試接口模塊組成,每個模塊4個通道,共64個通道(實際只用60個),每個通道與一個熱式傳感器探頭相連接,在風速采集器上可以直接得到每個探頭測得的風速值,并顯示在液晶屏上,也可以通過串口線將風速采集器與電腦相連接,利用上位機軟件進行大規模的數據采集與數據處理。但WebAccess本身不帶風速采集器的驅動程序,無法將數據讀到WebAccess相應的點中。
    解決上述問題有兩種方法,第一種解決方法是請相關公司編寫風速采集器的驅動程序,但這個方法有很多不利之處:除需要增加成本之外,還需為技術人員提供相關資料以及調試實際設備的機會,耗時耗財。第二種解決方法是利用WebAccess支持在畫面中嵌入由第三方軟件制作的控件的特點,用VB編寫一個串口通信和數據處理程序,通信協議采用與微風速采集器一致的協議,將風速采集器測得數據存到VB控件所占的內存空間中,對測得數據進行處理后得到風速參數,再將風速參數寫到對應的WebAccess點中,就能方便自如地顯示和處理風速參數。通過VB控件這個媒介,在沒有設備驅動的情況下同樣可以將數據傳送到對應的WebAccess點中,在一定程度上可以擺脫WebAccess自身不帶很多設備驅動的限制,在設計系統選擇設備時就可以有更多的機會。其方框圖如圖2,相關VB程序如下:

    ‘******定義程序中所需變量******
    Sub ReceiveTextFromCom()
    Dim av As Variant        //存儲通信得到的數據
    Dim b(1 To 60)As Single   //存儲轉化成字節型的數據
    Dim ab(0 To 300) As Byte   //通信得到的數據轉化成
                              字節存儲
    Dim ac(0 To 300) As Byte   //通信得到的數據轉化成
                             字節后去除通信信息存儲
    Dim j,k,m As Integer                          //中間變量
    ‘******讀取串口接收緩沖區的數據,將接收到的數據轉換成字節型,并計算風速值賦給b(1)~b(60)。數組ab()中存儲的是風速值,每4個字節表示一路風速值,但ab(128)存儲回車符,便于通信校驗用,數據處理時應去掉******
    j = MSComm1.InBufferCount     //串口寄存器中數據個
                                數賦值給j
    av = MSComm1.Input   //串口寄存器中數據賦值給av
    ac = av                          //av變量值賦值給ac
    For k = 10 To j - 1 Step 1     //去除開頭部分的通信
                                輔助字節
            ab(m) = ac(k)
            m = m + 1
    Next k
    b(1) = (ab(0) - 48) * 10 + (ab(1) - 48) + (ab(2) -
        48) / 10 + (ab(3) - 48) / 100
    ……
    b(32) = (ab(124) - 48) * 10 + (ab(125) - 48) + (ab
        (126) - 48) / 10 + (ab(127) - 48) / 100
    b(33) = (ab(129) - 48) * 10 + (ab(130) - 48) + (ab
        (131) - 48) / 10 + (ab(132) - 48) / 100
    ……
    b(60) = (ab(237) - 48) * 10 + (ab(238) - 48) + (ab
        (239) - 48) / 10 + (ab(240) - 48) / 100
    ‘******將VB控件中的風速值b(1)~b(60)寫到WebAccess對應(VV1~VV60)點中******
    Call Bwocxrun1.SetValue("VV1", b1, Me.AP)
    Call Bwocxrun1.SetValue("VV2", b2, Me.AP)
    ……
    Call Bwocxrun1.SetValue("VV60", b60, Me.AP)
    ‘************為用戶控件初始化屬性************
Private Sub UserControl_InitProperties()
        m_BackColor = m_def_BackColor
        m_ForeColor = m_def_ForeColor
        m_Enabled = m_def_Enabled
        Set m_Font = Ambient.Font
        m_BackStyle = m_def_BackStyle
        m_BorderStyle = m_def_BorderStyle
        m_AP = m_def_AP
End Sub
3 將SQL數據庫表導成Excel表并合并

 


    在實際應用中要將不同編號、不同車型、不同時間的試驗數據(包括溫度值、壓力值、風速值、溫度點坐標、壓力點坐標、風速點坐標及試驗信息)在試驗過程中分別存儲到指定數據庫的7個表中,在試驗結束后將所有的數據導成一個Excel表(包含7個Sheet,每個Sheet對應前面的一項試驗數據)并根據用戶設定的路徑保存,最后將SQL數據庫中對應的表清空,這樣做不僅便于用戶查找和轉移試驗數據,還便于Matlab讀取數據和繪制云圖,同時可以防止因數據庫數據量過大而導致錯誤。實現上述功能的唯一方法是將SQL數據庫中對應的7個表導成7個Excel表,再將這7個Excel合并成一個包含7個Sheet的Excel表,最后將合并好的Excel表存到用戶指定的路徑下。 WebAccess自身所帶的TCL腳本語言不能實現上述功能,但WebAccess可以調用其他軟件編寫的應用程序(.exe文件),通過此思路用VB編寫一個能夠實現所需功能的應用程序,在試驗結束時,用WebAccess TCL腳本語句調用該應用程序,根據用戶的實際需求完成功能后自動退出應用程序。其方框圖如圖3,相關VB程序如下:

    ‘******定義程序中的變量******
    Dim xapp,xapp1 As Excel.Application
                      //定義xapp、xapp1為Excel應用對象
    Dim wb,wb1 As Excel.Workbook
                           //定義wb、wb1為Excel工作薄
    Dim ws,ws1 As Excel.Worksheet         //定義ws、ws1為
                                       Excel工作表
    ‘******建立一個新的Excel工作簿,并在其中添加4個sheet,再將工作簿中的7個sheet重新命名后存儲到Pathname指定的路徑下,最后退出創建的xapps對象******
    Set xapps = CreateObject("Excel.Application")
    xapps.Workbooks.Add
    Set wb = xapps.ActiveWorkbook
    sheetcount = wb.Sheets.Count
    wb.Sheets.Add               
    wb.Sheets.Add
    wb.Sheets.Add
    wb.Sheets.Add
    Set ws = wb.Sheets(1)       
    ws.Name = "TDATATABLE"
                    //用同樣的方法命名其他6個sheet
    wb.SaveAs pathname                                        
    xapps.Quit
    ‘******將新建的ADODB連接Conn連接到指定服務器的數據庫,并將其打開,為操作數據庫做好準備******
    Dim rs As  ADODB.Recordset          //定義rs為ADODB
                                       記錄集
    Dim Conn  As  ADODB.Connection
                             //定義Conn為ADODB連接
    Set rs = New  ADODB.Recordset 
                  //建立一個新的ADODB記錄集賦給rs
    Set Conn = New  ADODB.Connection
                  //建立一個新的ADODB連接賦給Conn
    Conn.ConnectionString="Driver={sqlserver};server=服務器名稱;uid=用戶名;pwd=用戶密碼;database=testdata"
Conn.Open
     ‘******將testdata這個數據庫中TDATATABLE表,導成名為TDATATABLE Excel表,并存儲到到E盤根目錄下。用同樣的方法將其他表導出相應的Excel表******
    Dim s1, s2 As String
    s1 = "USE master"
    Conn.Execute s1
    s2 = "DECLARE  @myPath  varchar(200)SET @myPath= ′bcp testdata.dbo.TDATATABLE out E:\TDATATABLE.xls -c -q -S""服務器名稱"" -U""用戶名"" -P""用戶密碼""′EXEC master..xp_cmdshell @myPath"
Conn.Execute s2
    ‘******將TDATATABLE.xls中的數據存儲到另一個Excel表的sheet1中,修改一下程序,便可以將其他的Excel表中數據存儲到同一個Excel表中的不同sheet下,實現多表合一******
    Set xapp  = New Excel.Application     //新建 Excel應用                                        對象賦給xapp、xapp1
    Set xapp1 = New Excel.Application
    xapp.DisplayAlerts = False          
    xapp1.DisplayAlerts = False  //Excel 選擇默認應答消息,
                            防止彈出消息對話框
    xapp.Workbooks.Open ("E:\TDATATABLE.xls")
                     //用對象xapp打開指定路徑工作簿
    Set wb = xapp.ActiveWorkbook     //將當前工作簿賦值
                                   給wb
    xapp.Worksheets(1).Activate  //把sheet1置為當前工作表
    Set ws = xapp.ActiveSheet  //將當前工作表賦值給ws
    ws.UsedRange.Copy                //把ws工作表中所使用
                                  范圍的數據復制
    xapp1.Workbooks.Open pathname
             //用對象xapp1打pathname開指定路徑工作簿
    xapp1.Worksheets(1).Activate    //把當前工作簿的sheet1
                                 置為當前工作表
    Set ws1 = xapp1.ActiveSheet       //將當前工作表賦值給
                                  ws1
    ws1.Range("A1", "A1").PasteSpecial xlPasteValues
    //從A1行A1列開始將粘貼板中數據粘貼到當前工作表ws1
    xapp.ActiveWorkbook.Save
    xapp1.ActiveWorkbook.Save        //保存打開的工作簿
    VB是一種可視化的、面向對象的和采用事件驅動方式的結構化程序設計語言,它可以開發 Windows 環境下的各類應用程序,用它來做組態軟件的助手,可以更好地滿足實際需求。除此,VB簡單易學、效率高,且功能強大,設計人員不必花大量的時間學習就可以寫出滿足要求的程序。在這個項目中,VB編寫的相關輔助程序扮演著十分重要的角色,解決了很多實際問題,給設計人員帶來很大幫助。
參考文獻
[1] Advantech WebAccess產品使用手冊[S].研華(中國)公司工業自動化事業群,2009.
[2] 陳艷峰,高文姬,邵蘊秋,等.Visual Basic 數據庫項目案例導航[M].北京:清華大學出版社,2004.
[3] 臧玉琴,騰躍.Visual Basic界面、多媒體與操作系統程序設計[M].北京:人民郵電出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美亚洲自偷自偷| 久久国产一二区| 性做久久久久久久免费看| 国内精品视频久久| 欧美精品久久久久久久久久| 亚洲激情视频在线播放| 亚洲影院在线观看| 欧美色网一区二区| av不卡在线看| 国产一区视频在线看| 国模精品娜娜一二三区| 亚洲区一区二区三区| 一本久道久久综合狠狠爱| 亚洲精品乱码久久久久久| 欧美一区二区三区在线免费观看| 亚洲精品日韩一| 国产精品视频一二三| 国内精品模特av私拍在线观看| 国产婷婷色一区二区三区四区| 欧美丰满少妇xxxbbb| 欧美日韩综合在线免费观看| 狠狠干综合网| 亚洲精品国产欧美| 亚洲区第一页| 亚洲精品影院在线观看| 欧美电影免费网站| 亚洲免费大片| 亚洲线精品一区二区三区八戒| 欧美在线视频一区二区| 欧美激情欧美狂野欧美精品| 欧美三级网页| 最新高清无码专区| 亚洲欧美在线一区| 欧美日韩国语| 在线综合+亚洲+欧美中文字幕| 激情国产一区二区| 欧美成人精品一区| ●精品国产综合乱码久久久久| 老司机一区二区| 在线视频亚洲一区| 麻豆国产精品va在线观看不卡| 久久精品国产清自在天天线| 欧美日韩免费一区二区三区视频| 亚洲激情第一区| 国产精品成人免费精品自在线观看| 亚洲视频999| 欧美成人中文| 国产视频一区二区在线观看| 国产精品一区二区黑丝| 亚洲一区精品在线| 影音先锋日韩资源| 欧美伦理a级免费电影| 黄色工厂这里只有精品| 亚洲一区二区在线观看视频| 亚洲欧美日韩国产综合精品二区| 亚洲国产精品久久久久秋霞蜜臀| 亚洲人成网在线播放| 亚洲午夜成aⅴ人片| 一区二区三区精品国产| 国产在线欧美日韩| 狂野欧美一区| 国产日韩1区| 亚洲一区二区视频在线| 亚洲免费高清| 免费成人在线观看视频| 欧美日韩综合一区| 久久久五月天| 国产日韩精品在线观看| 亚洲婷婷综合久久一本伊一区| 亚洲日本欧美在线| 久久久久九九九九| 女人香蕉久久**毛片精品| 欧美日韩免费观看一区三区| 国产日韩精品久久| 日韩一二三区视频| 蜜臀av一级做a爰片久久| 国产精品久久综合| 亚洲国产一区在线观看| 亚洲欧美日韩精品久久久| 亚洲精品一区二区三区在线观看| 欧美国产另类| 亚洲一区二区综合| 国产欧美日韩一区二区三区在线| 久久久久久久久久久久久久一区| 亚洲一区亚洲二区| 国产精品国产自产拍高清av| 国模私拍视频一区| 一区二区三区在线看| 国产精品视频久久久| 欧美理论片在线观看| 影院欧美亚洲| 久久久www成人免费毛片麻豆| 国产一区二区主播在线| 亚洲欧美日韩国产另类专区| 欧美高清视频一区二区三区在线观看| 嫩草伊人久久精品少妇av杨幂| 欧美不卡视频一区| 在线观看视频一区二区| 日韩一级视频免费观看在线| 国产精品久久夜| 国产亚洲精久久久久久| 欧美不卡视频一区| 理论片一区二区在线| 国产九九视频一区二区三区| 黑人操亚洲美女惩罚| 免费亚洲婷婷| 欧美揉bbbbb揉bbbbb| 99在线热播精品免费99热| 亚洲国产精品小视频| 久久久在线视频| 午夜精品影院在线观看| 欧美14一18处毛片| 久久99在线观看| 国产精品久久久久久久电影| 久久国产精彩视频| 欧美主播一区二区三区| 欧美日韩精品一区二区三区四区| 一卡二卡3卡四卡高清精品视频| 91久久国产自产拍夜夜嗨| 国产精品99久久久久久有的能看| 国产一区观看| 欧美成人综合网站| 欧美国产日本高清在线| 女同性一区二区三区人了人一| 麻豆免费精品视频| 国产一区二区三区自拍| 欧美淫片网站| 亚洲日本电影| 国产裸体写真av一区二区| 欧美一区二区三区在线观看| 久久精品亚洲一区| 国产一区二区av| 亚洲欧美激情四射在线日| 在线观看国产精品淫| 亚洲国产精品一区二区尤物区| 亚洲一区二区免费看| 99视频一区二区| 国产精品久久久对白| 精品成人免费| 女生裸体视频一区二区三区| 亚洲欧洲日本一区二区三区| 日韩一区二区高清| 欧美激情一区二区三区蜜桃视频| 国产精品亚洲综合色区韩国| 美日韩精品视频免费看| 国产亚洲欧洲997久久综合| 欧美精品1区| 欧美有码视频| 欧美日韩精品是欧美日韩精品| 一本色道婷婷久久欧美| 国产一区美女| 一区二区三区精品视频在线观看| 六月婷婷一区| 欧美精品亚洲精品| 欧美成人免费一级人片100| 香蕉久久国产| 亚洲一区亚洲二区| 亚洲国产美国国产综合一区二区| 欧美精品日韩综合在线| 国产精品视频yy9299一区| 亚洲伊人色欲综合网| 在线看片第一页欧美| 亚洲一区亚洲二区| 一本色道久久综合亚洲二区三区| 国产精品入口尤物| 国产欧美日韩一区| 永久免费精品影视网站| 亚洲国产精品日韩| 欧美日本韩国一区| 国产视频一区免费看| 欧美在线网址| 欧美福利网址| 国产日韩在线视频| 亚洲在线网站| 开元免费观看欧美电视剧网站| 久久精品夜色噜噜亚洲a∨| 国模精品娜娜一二三区| 狠狠色综合网| 国内精品伊人久久久久av一坑| 伊人天天综合| 国产日韩欧美一区二区三区在线观看| 在线精品亚洲一区二区| 欧美日韩亚洲激情| 欧美在线短视频| 国产婷婷色一区二区三区在线| 久久精品国产精品亚洲综合| 在线观看欧美日韩| 黄色成人av| 久久精品国产99国产精品澳门| 国产精品夜色7777狼人| 欧美激情精品久久久久久| 亚洲国产精品va在看黑人| 久久综合伊人77777尤物| 久久久精品tv| 国产欧美日韩亚州综合| 国产精品欧美一区二区三区奶水| 亚洲人成77777在线观看网| 亚洲一区不卡| 欧美一区二区三区在线免费观看| 欧美在线中文字幕| 国产精品一区二区三区乱码| 午夜精品一区二区三区在线| 欧美极品aⅴ影院| 欧美日韩在线播放| 在线观看亚洲专区| 欧美视频一区二区| 欧美成人亚洲成人日韩成人| 一区二区欧美在线观看| 国产欧美一区二区在线观看| 在线看视频不卡| 欧美综合国产精品久久丁香| 国产精品综合av一区二区国产馆| 欧美国产第二页| 欧美精品情趣视频| 国产一区二区三区四区在线观看| 国产亚洲a∨片在线观看| 蜜桃久久精品乱码一区二区| 欧美激情一区二区三级高清视频| 欧美性猛交一区二区三区精品| 欧美一区二区三区喷汁尤物| 在线观看日韩av| 久久综合伊人77777| 欧美美女bbbb| 久久免费视频网| 午夜精品在线| 亚洲欧美成人综合| 女人天堂亚洲aⅴ在线观看| 久久这里有精品15一区二区三区| 亚洲欧洲一区二区三区| 欧美精品日韩一区| 欧美11—12娇小xxxx| 久久嫩草精品久久久久| 国产网站欧美日韩免费精品在线观看| 亚洲高清电影| 国产精品日产欧美久久久久| 久久久久久久综合色一本| 欧美淫片网站| 免费观看日韩| 国产精品五月天| 亚洲人成亚洲人成在线观看图片| 女人色偷偷aa久久天堂| 国语自产偷拍精品视频偷| 亚洲宅男天堂在线观看无病毒| 国产精品视频免费在线观看| 欧美一区免费视频| 亚洲精品麻豆| 亚洲乱亚洲高清| 久久精品国产精品亚洲| 欧美三日本三级少妇三99| 欧美在线播放一区| 国产欧美在线观看一区| 亚洲国产精品第一区二区三区| 国产一区视频观看| 欧美黑人在线观看| 韩日精品视频一区| 亚洲欧美日韩中文播放| 国产欧美日韩一区二区三区| 亚洲乱码国产乱码精品精| 中文精品一区二区三区| 亚洲社区在线观看| 性娇小13――14欧美| 91久久精品美女高潮| 狂野欧美激情性xxxx欧美| 久久免费的精品国产v∧| 久久久久一区二区三区四区| 亚洲精品一区在线| 国产精品揄拍500视频| 在线日韩av| 亚洲一级黄色片| 亚洲尤物在线| 怡红院精品视频在线观看极品| 国产精品国内视频| 欧美女同在线视频| 国产精品理论片| 久久精品国产在热久久| 欧美激情无毛| 在线观看视频欧美| 韩国av一区二区三区| 久久精品国产一区二区三区免费看| 久久天天躁狠狠躁夜夜爽蜜月| 在线不卡中文字幕播放| 欧美日韩视频在线观看一区二区三区| 国产精品性做久久久久久| 美女露胸一区二区三区| 日韩午夜精品视频| 欧美日韩国产综合一区二区| 亚洲国产欧美日韩| 欧美一区亚洲一区| 一区二区三区高清不卡| 久久久精品国产99久久精品芒果| 亚洲欧美日韩另类| 国产精品国产三级国产aⅴ无密码| 国产精品久久久久久久久久久久久| 欧美一区永久视频免费观看| 欧美一区二区视频免费观看| 一区二区三区久久久| 亚洲国产99精品国自产| 欧美日韩午夜在线视频| 卡一卡二国产精品| 欧美啪啪成人vr| 欧美精品国产精品日韩精品| 亚洲韩国精品一区| 黄色成人在线网址| 有码中文亚洲精品| 久久综合久久综合这里只有精品| 另类图片国产| 欧美少妇一区| 国产视频亚洲| 国产精品永久免费| 国产亚洲激情在线| 免费久久99精品国产自在现线| 亚洲第一天堂av| 国产精品99免视看9| 久久精品亚洲| 国产一区二区三区在线观看免费| 一本色道久久88精品综合| 国产伦精品一区二区三区照片91| 激情欧美一区二区| 欧美日韩喷水| 亚洲一区免费看| 欧美日韩在线精品一区二区三区| 欧美日韩日日夜夜| 国产目拍亚洲精品99久久精品| 午夜亚洲性色视频| 亚洲毛片av在线| 国产精品成人一区二区艾草| 欧美伊人久久久久久午夜久久久久| 亚洲欧美日韩精品综合在线观看|