日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

最新廣告
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計(jì)算2025年會(huì)
CAIAC 2025
2025工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

基于ODBC技術(shù)實(shí)現(xiàn)iFix組態(tài)軟件與關(guān)系數(shù)據(jù)庫(kù)通訊接口
  • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):建筑樓宇    
  • 點(diǎn)擊數(shù):8459     發(fā)布時(shí)間:2008-04-13 16:48:22
  • 分享到:


    龔偉平(1976-)
男,湖南雙峰人,中南大學(xué)信息科學(xué)與工程學(xué)院在讀工程碩士研究生,(湖南婁底華菱漣鋼集團(tuán)信息自動(dòng)化中心,湖南  婁底 417009)主要研究方向?yàn)橄冗M(jìn)控制技術(shù)及工程應(yīng)用、過(guò)程工業(yè)控制、智能控制與智能自動(dòng)化。

摘要:本論文詳細(xì)介紹了基于ODBC技術(shù)實(shí)現(xiàn)iFix 組態(tài)軟件與關(guān)系數(shù)據(jù)庫(kù)通訊的原理和方法,增強(qiáng)了報(bào)表功能;某工程應(yīng)用實(shí)例表明該方法行之有效。

關(guān)鍵詞:關(guān)鍵字 ODBC;iFix;三級(jí)機(jī);SQL2000

Abstract: This paper describes in detail the communication principle and method of iFix configuration software and relational database based on ODBC technology, and the function of report is also added to this system. The practical engineering application shows the effectiveness of the method.

Key words: ODBC;iFix;Level3;SQL2000

1   引言

    iFix是Intellution Dynamics(全世界上第一套基于組件技術(shù)的自動(dòng)化監(jiān)控軟件家族)最為重要的上位監(jiān)控軟件產(chǎn)品之一,該軟件產(chǎn)品無(wú)疑為全球自動(dòng)化生產(chǎn)制造業(yè)提供了易于使用,高性能的自動(dòng)化監(jiān)控解決方案,平臺(tái)功能強(qiáng)大,集控制技術(shù)、人機(jī)界面技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)絡(luò)技術(shù)于一身,可實(shí)現(xiàn)數(shù)據(jù)采集、實(shí)時(shí)過(guò)程監(jiān)控、報(bào)警和報(bào)警管理、報(bào)表查詢打印、趨勢(shì)分析等功能,并且可與信息自動(dòng)化管理系統(tǒng)進(jìn)行無(wú)縫連接。借助ODBC技術(shù),將iFix采集的現(xiàn)場(chǎng)數(shù)據(jù)通過(guò)以太網(wǎng)傳送到L3系統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)共享信息資源的全方位、全過(guò)程信息系統(tǒng)。

2   總體思路 

    開(kāi)放式數(shù)據(jù)庫(kù)互連(ODBC)是Microsoft的標(biāo)準(zhǔn)API,用來(lái)訪問(wèn)、顯示和修改多種關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù);結(jié)構(gòu)化查詢語(yǔ)言(SQL)是關(guān)系數(shù)據(jù)庫(kù)使用的標(biāo)準(zhǔn)語(yǔ)言,用來(lái)檢索、更新和管理數(shù)據(jù),不提供公共應(yīng)用程序接口(API)。ODBC技術(shù)的最大優(yōu)勢(shì)是開(kāi)放的互操作性,通過(guò)安裝多種ODBC驅(qū)動(dòng)程序,可實(shí)現(xiàn)同一應(yīng)用程序?qū)Σ煌瑪?shù)據(jù)庫(kù)的訪問(wèn)。由于iFix和SQL2000都支持ODBC標(biāo)準(zhǔn),可以通過(guò)ODBC接口實(shí)現(xiàn)SCADA節(jié)點(diǎn)和數(shù)據(jù)庫(kù)服務(wù)器之間的通訊。



圖1  多層ODBC驅(qū)動(dòng)程序結(jié)構(gòu)圖

    在本應(yīng)用中是通過(guò)在iFix端安裝ODBC驅(qū)動(dòng)程序,把SQL2000數(shù)據(jù)庫(kù)作為數(shù)據(jù)源來(lái)實(shí)現(xiàn)連接的。在iFix中可通過(guò)兩種ODBC結(jié)構(gòu)(多層ODBC驅(qū)動(dòng)和單層ODBC驅(qū)動(dòng))來(lái)實(shí)現(xiàn)通訊。數(shù)據(jù)庫(kù)文件和應(yīng)用可位于同一臺(tái)計(jì)算機(jī)上,也可以通過(guò)網(wǎng)絡(luò)位于另外計(jì)算機(jī)上。多層驅(qū)動(dòng)更為普遍,通常與遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器如SQL2000和Oracle等一起使用。多層驅(qū)動(dòng)處理由應(yīng)用引起的ODBC呼叫,傳遞實(shí)際SQL命令到數(shù)據(jù)庫(kù)系統(tǒng)。由于SQL2000屬于遠(yuǎn)程服務(wù)器數(shù)據(jù)庫(kù),所以采用的是多層ODBC驅(qū)動(dòng)程序,其結(jié)構(gòu)如圖1所示。

    當(dāng)iFix ODBC應(yīng)用請(qǐng)求連接時(shí),由ODBC驅(qū)動(dòng)管理器裝載相應(yīng)的驅(qū)動(dòng)程序,ODBC驅(qū)動(dòng)程序?qū)Fix ODBC的調(diào)用轉(zhuǎn)換成對(duì)特定數(shù)據(jù)庫(kù)的調(diào)用,并與數(shù)據(jù)庫(kù)客戶端支持層通訊。網(wǎng)絡(luò)層將請(qǐng)求處理并傳送到數(shù)據(jù)庫(kù)服務(wù)器,監(jiān)聽(tīng)進(jìn)程負(fù)責(zé)接收客戶端服務(wù)的請(qǐng)求,最終由數(shù)據(jù)庫(kù)引擎查詢實(shí)現(xiàn)數(shù)據(jù)的操作。

3    數(shù)據(jù)通訊原理

    通過(guò)ODBC API提供訪問(wèn)SQL數(shù)據(jù)源,iFix允許使用下列方法:iFix SQL接口選項(xiàng),稱為iFix ODBC;以及在Microsoft  Visual Basic for Applications通過(guò)DAO或RDO。iFix到SQL數(shù)據(jù)源的路徑如圖2所示。



圖2  iFix到SQL數(shù)據(jù)源的路徑示意圖

    iFix ODBC由SQL觸發(fā)塊(SQT)、SQL數(shù)據(jù)塊(SQD)、SQL任務(wù)三部分組成,其中SQL觸發(fā)塊用于指定SQL命令的名稱,并確定數(shù)據(jù)傳輸觸發(fā)的時(shí)間或事件,SQL數(shù)據(jù)塊用于指定采集和傳送的數(shù)據(jù)以及數(shù)據(jù)傳送的方向。SQL任務(wù)除處理和ODBC驅(qū)動(dòng)的通訊外,還和SQT塊、SQD塊通訊。以iFix過(guò)程數(shù)據(jù)庫(kù)到關(guān)系數(shù)據(jù)庫(kù)為例說(shuō)明數(shù)據(jù)的傳輸過(guò)程:

    (1)當(dāng)SQL觸發(fā)塊(SQT)由時(shí)間或事件觸發(fā)時(shí),把要執(zhí)行的SQL 命令的名稱和數(shù)據(jù)源的名稱DSN 一起傳給SQL任務(wù);

    (2)SQL任務(wù)根據(jù)接收到的信息到關(guān)系數(shù)據(jù)庫(kù)的SQL庫(kù)表檢索與命令名對(duì)應(yīng)的SQL命令。數(shù)據(jù)庫(kù)引擎以字符串的形式返回SQL命令;

    (3)SQL任務(wù)把從SQL庫(kù)表獲得的SQL命令和SQL數(shù)據(jù)塊(SQD)中列出的數(shù)據(jù)塊中的數(shù)據(jù)結(jié)合,形成完整的命令;

    (4)SQL任務(wù)用該命令對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行操作,由數(shù)據(jù)庫(kù)引擎把數(shù)據(jù)寫入數(shù)據(jù)表中。

4   實(shí)現(xiàn)方法

    4.1 數(shù)據(jù)庫(kù)服務(wù)器的配置

    (1)創(chuàng)建SQL2000數(shù)據(jù)庫(kù)與表單:數(shù)據(jù)庫(kù)名稱為iFix ;創(chuàng)建SQL命令表、錯(cuò)誤記錄表與實(shí)時(shí)數(shù)據(jù)采集表 。創(chuàng)建SQL命令:在SQL Query Analyzer中使用SQL語(yǔ)言創(chuàng)建SQL庫(kù)表,用以存放將要執(zhí)行的SQL命令。該庫(kù)表只能有sqlname和sqlcmd兩個(gè)字段,分別存放SQL命令的名稱和內(nèi)容。創(chuàng)建錯(cuò)誤記錄表和數(shù)據(jù)表:錯(cuò)誤記錄表用于記錄所有SQL運(yùn)行的錯(cuò)誤消息,其字段也需根據(jù)要求設(shè)置;數(shù)據(jù)表用于存放實(shí)際傳輸?shù)臄?shù)據(jù),可根據(jù)應(yīng)用的需要?jiǎng)?chuàng)建合適的字段(需要傳輸多少個(gè)標(biāo)簽數(shù)據(jù)就需要有多少個(gè)字段)。

    (2)創(chuàng)建ODBC數(shù)據(jù)源:打開(kāi)WINDOWS控制面板中管理工具的數(shù)據(jù)源(ODBC),選中系統(tǒng)DSN或用戶DSN項(xiàng),單擊添加后選擇SQL2000驅(qū)動(dòng)程序,填寫數(shù)據(jù)源DSN名稱:iFixODBC與服務(wù)器名稱:SUNOK。

    (3)在SQL Server Network Utility Gerneral中允許TCP/IP協(xié)議,在其屬性中設(shè)置端口。

    (4)在客戶端配置中網(wǎng)絡(luò)庫(kù)選用TCP/IP,注意端口設(shè)置與步驟C中一致,使服務(wù)器能響應(yīng)iFix ODBC應(yīng)用的請(qǐng)求。

    4.2 SCADA節(jié)點(diǎn)(iFix端)的配置

    在對(duì)iFix軟件進(jìn)行配置前,需安裝SQL2000的網(wǎng)絡(luò)服務(wù)和基本客戶機(jī)軟件(ODBC驅(qū)動(dòng)程序包括在其中),以支持ODBC的運(yùn)行。

    (1)添加SQL帳戶:在創(chuàng)建完ODBC數(shù)據(jù)源后,就可在系統(tǒng)設(shè)置SCU中添加SQL帳戶,把SQL2000數(shù)據(jù)源添加進(jìn)來(lái)。此處選擇的數(shù)據(jù)庫(kù)類型為SQL2000,填寫的用戶名和密碼必須具有訪問(wèn)在數(shù)據(jù)庫(kù)中創(chuàng)建的SQL庫(kù)表和數(shù)據(jù)表的權(quán)限,數(shù)據(jù)庫(kù)ID便是SQL2000數(shù)據(jù)源名DSN。

    (2)配置SQL任務(wù):在SCU的配置SQL任務(wù)對(duì)話框中完成。首先需啟用SQL支持,啟用后SQL任務(wù)會(huì)以WSQLODC.EXE任務(wù)的形式自動(dòng)添加。然后需分別設(shè)置主、次備份文件的路徑,以便與數(shù)據(jù)庫(kù)服務(wù)器的通訊出現(xiàn)故障時(shí)將數(shù)據(jù)備份,等故障排除后重新發(fā)送。此外還需分別輸入數(shù)據(jù)源名、數(shù)據(jù)庫(kù)中SQL庫(kù)表和錯(cuò)誤記錄表的名稱。

    (3)定義SQT和SQD塊:iFix過(guò)程數(shù)據(jù)庫(kù)與SQL2000數(shù)據(jù)庫(kù)的通訊方式及傳輸內(nèi)容是通過(guò)配置SQT和SQD塊具體實(shí)現(xiàn)的。在iFix過(guò)程數(shù)據(jù)庫(kù)管理器中添加標(biāo)簽SQT與SQD。SQT塊中需添加將執(zhí)行的SQL命令名(需與SQL2000數(shù)據(jù)庫(kù)中表單名稱一致)與數(shù)據(jù)庫(kù)ID,命令執(zhí)行的時(shí)間事件或塊事件與事件類型,以及與該SQT塊鏈接的SQD塊。在SQD塊中需定義需要傳輸?shù)倪^(guò)程數(shù)據(jù)標(biāo)簽(時(shí)間日期標(biāo)簽?zāi)J(rèn)為TMTD)以及傳輸?shù)姆较颉?BR>
    4.3 報(bào)表的實(shí)現(xiàn)

    iFix基于時(shí)間調(diào)度事件可以生成每天的Excel格式報(bào)表,但經(jīng)過(guò)實(shí)踐后,發(fā)現(xiàn)iFix運(yùn)行緩慢,其后臺(tái)服務(wù)占有相當(dāng)?shù)南到y(tǒng)資源。如果采用API計(jì)時(shí)器也需占用大量的系統(tǒng)資源,造成控制系統(tǒng)死機(jī)。因此,建議不采用調(diào)度事件或API計(jì)時(shí)器觸發(fā)。Intellution推薦所有iFix的VBA腳本中使用ADO來(lái)處理數(shù)據(jù)庫(kù)的訪問(wèn)。

    (1)創(chuàng)建ADO對(duì)象

    為了使用ActiveX數(shù)據(jù)對(duì)象來(lái)處理數(shù)據(jù),需要參考畫面工程中的ActiveX數(shù)據(jù)對(duì)象庫(kù)。從VBE的工具菜單中選擇參考指令然后選擇ADO類型庫(kù)。對(duì)象變量被聲明為模塊級(jí),這意味著在本例中可以應(yīng)用在所有其他程序中。如果讀取它們之后不處理這些記錄,那么它們被聲明為程序級(jí)。
創(chuàng)建ADO記錄集:

    Dim conODBC As ADODB.Connection
    Dim adoRS As ADODB.Recordset
    Private Sub InitADO()
    Dim strQuery As String
    On Error GoTo ErrorHandler
    strQuery = "select * from iFixNo1 "
    Set conODBC = New ADODB.Connection
    conODBC.Open "driver= _
    & " SQL server};server=SUNOK;uid=sa;pwd=;database=iFix"
    Set adoRS = New ADODB.Recordset
    adoRS.Open strQuery, conODBC, adOpenDynamic, _
    adLockPessimistic, adCmdText
    Exit Sub
    ErrorHandler:
        HandleError
End Sub
(2)初始變量定義
Dim ReportArray As Variant “存放日?qǐng)?bào)中所有要顯示的參數(shù)的數(shù)組”
Dim FirstPoint1 As Variant“ 第一個(gè)變量”
Dim tempvar As Variant “中間變量”
Dim strStartTime, strEndTime “報(bào)表查詢的時(shí)間范圍”
Dim Interval As Variant “報(bào)表查詢的間隔時(shí)間”
Dim OutReportfile As Variant “輸出EXCEL表格的文件名”
Dim TemplateName As String “這個(gè)是日?qǐng)?bào)表模板的文件名”
(3)建立對(duì)EXCEL的引用,并打開(kāi)報(bào)表的模板文件:
Set msExcel = CreateObject("Excel.Application")
With msExcel
.WindowState = xlMinimized
.Visible = False
.Workbooks.Open ReportTemplateName, , False Rem“ 打開(kāi)報(bào)表的模板文件”
.ActiveWorkbook.ActiveSheet.Select
.DisplayAlerts = False
.DisplayAlerts = False
.Wait (Now() + 0.00002)
End With
(4)建立查詢數(shù)據(jù)庫(kù)后的記錄集,并把數(shù)據(jù)寫到Excel中后另存為Excel文件:
Set adoRS = New ADODB.Recordset
adoRS.CursorLocation = adUseClient
adoRS.Open SQL1, conODBC, adOpenForwardOnly, adLockReadOnly
If adoRS.BOF Then
adoRS.Close
conODBC.Close
With msExcel
DoEvents
.ActiveWorkbook.Close
.Quit
End With
Set msExcel = Nothing
Rem MsgBox “第一個(gè)表查詢條件為空,請(qǐng)檢查查詢條件”
Exit Sub
Else
c = 1
While adoRS.EOF <> True
With msExcel.Worksheets(1)
For j = 1 To 24
If adoRS(0) <> "" Then
msExcel.Worksheets(1).Cells(j, c).Value = adoRS(0)
adoRS.MoveNext
End If
Next j
End With
c = c + 1
Wend
msExcel.ActiveWorkbook.SaveAs “d:\” & OutReportfile & “.xls”
msExcel.Quit
msExcel.DisplayAlerts = True
msExcel.Visible = True
Set msExcel = Nothing
Set conODBC = Nothing
adoRS.Close

5   應(yīng)用實(shí)例

    本方法已用于湖南漣鋼焦化廠自動(dòng)配煤智能控制與專家系統(tǒng)中。iFix從施耐德PLC采集的各種配合煤的累積重量、水份、配煤比等實(shí)時(shí)數(shù)據(jù)需要傳送到鐵前L3系統(tǒng)數(shù)據(jù)庫(kù)中。為便于數(shù)據(jù)的管理,在數(shù)據(jù)庫(kù)中創(chuàng)建2個(gè)生產(chǎn)數(shù)據(jù)表。累積重量的數(shù)據(jù),采用塊事件觸發(fā)傳輸方式,事件標(biāo)簽設(shè)置為新煤三號(hào)皮帶運(yùn)行,事件類型為高到低。對(duì)于水份、配煤的數(shù)據(jù),也采用時(shí)間觸發(fā)傳輸方式,但將其時(shí)間間隔設(shè)置為較長(zhǎng)。通過(guò)把iFix采集的過(guò)程數(shù)據(jù)傳輸?shù)絊QL2000關(guān)系數(shù)據(jù)庫(kù),實(shí)現(xiàn)了對(duì)運(yùn)行工況數(shù)據(jù)的掌握,從而達(dá)到有效的生產(chǎn)調(diào)度、合理配置資源、提高生產(chǎn)效益、及時(shí)發(fā)現(xiàn)和迅速排除故障的目的。

6   結(jié)束語(yǔ)

    筆者采用以上方法成功實(shí)現(xiàn)了iFix過(guò)程數(shù)據(jù)庫(kù)與SQL2000關(guān)系數(shù)據(jù)庫(kù)的連接,該方法實(shí)現(xiàn)簡(jiǎn)單,只需掌握基本的SQL語(yǔ)言,大大節(jié)省了開(kāi)發(fā)時(shí)間。測(cè)試表明通過(guò)該ODBC接口能實(shí)時(shí)、準(zhǔn)確地將過(guò)程數(shù)據(jù)傳送到數(shù)據(jù)庫(kù)服務(wù)器,能滿足對(duì)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)的要求。

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 五月天激情婷婷,欧美午夜在线,日一下影院,免费一区二区三区四区,99热99re8国产在线播放,婷婷开心激情网 | 91黄色影院-91黄色视屏-91黄色大片-91黄-91果冻制片厂广电传媒-91果冻传媒 | 性情网站-性派对交换俱乐部-性派对xxxhd-性派对videos18狂欢-国产中学生-国产中文字幕在线视频 | 波多野结衣中文字幕教师-波多野结衣中文字幕2022免费-波多野结衣中文在线观看-波多野结衣中文在线播放-波多野结衣中文一区-波多野结衣中文丝袜字幕 | 免费黄色在线播放-免费黄色一级片-免费黄色一级毛片-免费黄色一级-亚洲婷婷综合网-亚洲婷婷天堂在线综合 | 欧美精品综合-欧美精品自拍-欧美精品专区免费观看-欧美精品在线一区二区三区-欧美精品在线一区-欧美精品在线视频观看 | 亚洲香蕉久久综合网-亚洲香蕉久久一区二区三区四区-亚洲香蕉久久一区二区-亚洲香蕉国产高清在线播放-净空法师最新忏悔文-精油按摩理论片 | 亚洲乱伦熟女在线-亚洲精品国自产在线-亚州女人69内射少妇-亚州巨乳成人片-亚州激情视频-亚瑟在线中文影院 | 亚洲成人777777-亚洲成av人在线视-亚洲成av人影片在线观看-亚洲成av人片在线观看-玖玖色资源-玖玖色在线 | 国产精品亚洲精品日韩己满十八小-国产精品亚洲精品观看不卡-国产精品亚洲精品不卡-国产精品亚洲精品-四虎影视精品-四虎影视国产精品永久在线 | 久久亚洲精品中文字幕-久久亚洲精品永久网站-久久亚洲精品无码A片大香大香-久久亚洲精品成人综合-在线观看视频中文字幕-在线观看视频一区 | 韩国三级一区-韩国三级香港三级日本三级la-韩国三级香港三级日本三级-韩国三级视频网站-日韩欧美一及在线播放-日韩欧美一二三区 久久久久久久久国产-久久久久久久久97-久久久久久久国产视频-久久久久久久国产精品影院-午夜精-午夜寂寞院 | 亚洲免费在线观看-做羞羞的事情的免费视频-最终痴汉电车在线观看-最新综艺-最新自拍偷拍-最新在线精品国自拍视频 | 北条麻妃在线观看,国产播放器一区,日本丶国产丶欧美色综合,亚洲一区二区三区高清,九九九国产,亚洲欧美久久精品一区 | 久久九九99,伊人婷婷在线,日韩在线视频在线观看,黄色一级视频免费,日韩欧美亚州,亚洲精品在线免费 | 亚洲色图网站-亚洲色图图片专区-亚洲色图图片区-亚洲色图图片-精品久久久中文字幕一区-精品久久久中文字幕二区 | av资源每日更新网站在线-av资源免费每日更新-av资源在线-av资源在线播放-av资源在线播放韩国-av资源在线观 | 国产视频xxxx-国产视频www-国产视频a区-国产视频99-香港一级纯黄大片-香港一级a毛片在线播放 | 香蕉久久综合-香蕉久久夜色精品国产尤物-香蕉久久夜色精品国产-香蕉久久久久-久久网站视频-久久网免费 | 国产精品视频视频久久-国产精品视频全国免费观看-国产精品视频区-国产精品视频免费视频-四虎国产精品永免费-四虎国产精品永久在线播放 | 视频区国产亚洲.欧美-视频黄色在线-视频国产激情-十九岁日本电影免费粤语高清-久久99九九精品免费-久久99九九国产免费看小说 | 亚洲欧美在线x视频,国产97碰免费视频,88午夜理论不卡,伦理电影院一个免费看片高清在线欧美激情视频在线观看一区二区三区 | 莜田优在线观看-尤物最新网址-尤物综合-尤物自拍-久久久久久网址-久久久久久网站 | 激情综合欧美-激情综合激情五月-激情综合丁香-激情综-四虎影视精品-四虎影视国产在线观看精品 | 国产精品福利在线观看入口-国产精品福利在线观看秒播-国产精品福利在线观看免费不卡-国产精品福利一区二区亚瑟-四虎免费入口-四虎免费看片 | 91在线视频在线-91在线视频在线观看-91在线丨亚洲-91在线天堂-91在线无码精品秘 入口91-91在线无码精品秘蜜桃 | 99国产精品欧美久久久久久影院,日本不卡中文字幕,国产片在线观看播放,日韩国产欧美在线观看,久久综合狠狠综合久久97色,婷婷在线影院 | 99re最新网址-99re这里只有精品在线观看-99re这里只有精品视频在线观看-99re这里只有精品视频-嗯好爽视频-嗯啊在线观看免费影院 99只有精品-99这里只有精品在线-99这里只有精品视频-99这里只有精品66视频-欧美国产视频-欧美国产日韩综合 | 欧美日韩中文综合v日本-欧美日韩中文字幕久久-欧美日韩中文在线-欧美日韩中文一区二区三区-欧美日韩中文国产一区二区三区-欧美日韩在线视频观看 | 精品午夜一区二区三区在线观看-精品午夜视频-精品午夜寂寞影院在线观看-精品午夜寂寞黄网站在线-日夜啪啪一区二区三区-日日摸天天爽天天爽视频 | 欧美日韩国产在线成人网,成人免费一级片,在线观看国产一区,国产麻豆精品免费密入口,国产欧美日韩在线,在线视频观看国产 | 欧美日韩亚洲无线码在线观看,国产成人亚洲综合91精品555,欧美成人国产,国产成人青青热久免费精品,亚洲欧美日韩色图,国产三级网站在线观看 | 91导航在线-91岛国-91第一页-91短视频在线高清hd-91粉嫩萝控精品福利网站-91粉色视频在线观看 | 一个人看的www观看免费-一个人看的www高清在线观看-一个人看的www高清视频-一个人看的www高清免费资源-久久999-久久996热精品xxxx | 亚洲精品在线免费观看,在线日韩欧美,午夜高清在线观看免费完整版,亚洲综合久久久,久久一区二区三区免费,日韩小视频在线 | 欧美一级视频精品观看-欧美一级三级-欧美一级日韩一级亚洲一级va-欧美一级日韩一级亚洲一级-中文字幕精品一区-中文字幕精品视频在线观看 | 色视频高清在线观看-色视频播放-色社区-色涩网站在线观看-色涩色-色色综合 | 欧美日本一道免费一区三区-欧美日本一道高清二区三区-欧美日本一道道一区二区三-欧美日本亚洲国产一区二区-在线观看黄的网站-在线观看国内自拍 | 日韩精品在线视频观看-日韩精品在线播放-日韩精品影视-日韩精品一区在线观看-日韩精品一区二区亚洲AV观看-日韩精品一区二区三区在线观看l | 国产精品高清免费网站-国产精品高清2021在线-国产精品福利在线播放-国产精品福利影院-色黄视频在线观看-色狐视频 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 |