无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

online services

咨詢熱線

0510-85166823 0510-85136823

微信公眾號

微信咨詢

18915273738 17712380786

手機淘寶

在VB中訪問NETLINK并讀寫S7300 PLC數(shù)據(jù)

2007/10/18 12:24:46

VB中訪問NETLINK并讀寫S7300 PLC數(shù)據(jù)

無錫市北辰自動化技術(shù)有限公司 張鵬 2007-10-16

 

一、概述

Hilscher NETLINK用于將西門子MPI協(xié)議轉(zhuǎn)換為以太網(wǎng)TCP/IP協(xié)議,并提供公開的無需授權(quán)的驅(qū)動函數(shù)庫。

NETLINK有三種應(yīng)用:

1、對于僅僅需要STEP7編程監(jiān)控和WINCC監(jiān)控,安裝IBHNET127驅(qū)動即可,該驅(qū)動安裝后將在控制面板的Set PG/PC Interface中添加IBHNet MPI/PPI/Profibus三個驅(qū)動連接;將STEP7(S7 ONLINE)和WINCC(MPI)的訪問點指向以上驅(qū)動連接即可。

2、對于第三方組態(tài)軟件(如KingView、iFix等)通過NETLINK訪問PLC,選擇我公司開發(fā)的OPCServer。

3、對于VB或者VC++(6.0以上版本)的自行開發(fā)界面,有兩種方法實現(xiàn)通訊:

l          調(diào)用Hilscher提供的IP Driver驅(qū)動函數(shù)庫進行通訊;

l          使用winsock控件進行通訊;

 

本文對在VB6.0中通過Hilscher IP Driver驅(qū)動庫讀寫S7300/400 PLC數(shù)據(jù)的基本開發(fā)步驟作簡要描述,具體資料可以參考NETLINK光盤netDEVICE System Software中的Nlmpi_pie.pdf和Drv_Ip.pdf文件,該光盤可到 http://www.moduwu.com/co/beichen-automation/index_download.asp 頁面中下載。

 

二、平臺和配置

1、平臺:WINDOW2000+SP4,Microsoft VB6.0;

2、軟件和驅(qū)動安裝:Hilscher SYCON軟件和IP Driver;

3、硬件要求:NETLINK電纜一根,西門子S7300 CPU一臺(如CPU314),以太網(wǎng)交換機一臺(如TP-LINK),以太網(wǎng)電纜;

4、系統(tǒng)配置:如下圖所示

 

三、NETLINK參數(shù)配置

如上圖所示,將計算機網(wǎng)卡的IP地址配置為192.168.1.10,將NETLINK的RJ45端口鏈接到交換機端口上,另一端插入CPU314的MPI通訊口,NETLINK是由CPU314的MPI口供電的。如果CPU上已經(jīng)連接了其他監(jiān)控設(shè)備如觸摸屏,則可以選用西門子帶編程口的網(wǎng)絡(luò)插頭。

NETLINK鏈接到MPI端口后的三分鐘內(nèi)(上電三分鐘內(nèi))運行[開始]-[程序]-[Hilscher IP Driver]-[NetIdent Demo Program],點擊[Start Poll]按鈕自動查找網(wǎng)絡(luò)上的NETLINK,找到后將會顯示NETLINK信息,NETLINK出廠默認IP地址為0.0.0.0,選擇顯示的NETLINK并點擊[Set IP]按鈕,設(shè)置IP地址為192.168.1.88;如果軟件找不到NETLINK,請用PING命令檢查網(wǎng)絡(luò)是否鏈接正確。

注意1:通過NetIdent設(shè)定的IP地址是臨時的,在NETLINK再次上電后將自動恢復(fù)到原來的IP地址;

注意2:NETLINK上電的三分鐘內(nèi)允許通過NetIdent設(shè)定其IP地址,三分鐘后設(shè)定將被拒絕;

設(shè)定好NETLINK的IP地址后運行[開始]-[程序]-[SyCon System Configurator],新建項目并添加NETLINK設(shè)備,雙擊NETLINK并設(shè)定網(wǎng)絡(luò)參數(shù),IP地址設(shè)為192.168.1.88,選擇自動檢測接口和自動速率識別,NETLINK的MPI地址設(shè)定為1(注意不要和MPI網(wǎng)絡(luò)上其他站點地址沖突);設(shè)定好參數(shù)后將其下載到NETLINK。(具體可以參考《NetLINK和IBHNet驅(qū)動在SIEMENS STEP7 WINCC中的使用說明.doc》中的描述)

注意3:通過SYCON軟件設(shè)定的IP地址是永久固定的,在NETLINK再次上電后不會改變;

四、IP Driver參數(shù)配置

運行[開始]-[程序]-[Hilscher IP Driver]-[IP Driver Setup],在Connection 0中輸入NETLINK的IP地址:192.168.1.88、1099、TCP、Client、5000;

運行[開始]-[程序]-[Hilscher IP Driver]-[IP Driver Test],在菜單[Connection select]中選擇Connection 0,連接后進行其他菜單的測試,如[Driver Info]等,如果測試正常說明IP Driver已連接到NETLINK。

 

五、VB應(yīng)用

應(yīng)用舉例:

1、   按下[循環(huán)啟動]按鈕后周期性讀取MW0的數(shù)值(間隔100ms),直到按下[停止]按鈕。

2、   按下[寫入新值]按鈕命令將新值寫入MW0。

3、   [復(fù)位NETLINK]按鈕初始化NETLINK。

 

演示界面如下圖所示:

 

開發(fā)步驟:

1、    新建VB EXE工程,將NETLINK光盤中Api\Demo\VBASIC32\CIFUSER.BAS模板文件復(fù)制到VB工程中并取消只讀屬性;然后添加到工程中,打開CIFUSER.BAS模板,加入以下常數(shù)申明:

'新增常數(shù)

Public Const TASK_TDT_UINT8 = 5

Public Const TASK_TFC_READ = 1

Public Const TASK_TFC_WRITE = 2

2、    新建模塊Module1,添加以下公共變量和API函數(shù):

Public Const usSize = 288                   '消息長度常數(shù)=288

Public SndMsgRead As MSG_STRUC              '讀取MW0數(shù)據(jù)的消息

Public SndMsgWrite As MSG_STRUC             '寫MWO數(shù)據(jù)的消息

Public SndMsgReset As MSG_STRUC             '復(fù)位NETLINK的消息

Public RcvMsg As MSG_STRUC                  '接收消息

'內(nèi)存拷貝API

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

3、    Form1代碼窗口中添加讀寫控制變量、三個消息初始化函數(shù)、NETLINK鏈接和讀寫函數(shù)(請參考Nlmpi_pie.pdf文件):

Dim bNetLink_Connected As Boolean   'NETLINK鏈接標(biāo)記

Dim bStartRead As Boolean           '開始循環(huán)讀取標(biāo)記

Dim bWrite As Boolean               '寫數(shù)據(jù)標(biāo)記

 

'初始化讀MW0數(shù)據(jù)的消息

Private Function Initial_SndMsgRead()

SndMsgRead.rx = 3          '接收號=3

SndMsgRead.tx = 255        '發(fā)送號=255

SndMsgRead.ln = 8          '讀數(shù)據(jù)長度=8

SndMsgRead.nr = 0          '消息號

SndMsgRead.a = 0           '應(yīng)答號=0

SndMsgRead.f = 0           '錯誤號=0

SndMsgRead.b = 0           '命令碼=16#33(M區(qū)數(shù)據(jù))

SndMsgRead.e = 0           '擴展號=0

SndMsgRead.data(0) = 2     'S7300 CPU的MPI地址=2

SndMsgRead.data(1) = 0     '數(shù)據(jù)區(qū)=0

SndMsgRead.data(2) = 0     'M區(qū)起始地址=0(起始地址 MOD 256)

SndMsgRead.data(3) = 0     'M區(qū)起始地址=0(起始地址 / 256)

SndMsgRead.data(4) = 0     '數(shù)據(jù)索引=0(僅用于DB區(qū))

SndMsgRead.data(5) = 2     '讀取的字節(jié)數(shù)=2 (MW0)

SndMsgRead.data(6) = TASK_TDT_UINT8    '數(shù)據(jù)類型=TASK_TDT_UINT8(字節(jié))

SndMsgRead.data(7) = TASK_TFC_READ     '功能號=TASK_TFC_READ(讀數(shù)據(jù))

End Function

 

'初始化寫MW0數(shù)據(jù)的消息

Private Function Initial_SndMsgWrite()

SndMsgWrite.rx = 3          '接收號

SndMsgWrite.tx = 255        '發(fā)送號

SndMsgWrite.ln = 10         '寫數(shù)據(jù)長度=10

SndMsgWrite.nr = 0          '消息號

SndMsgWrite.a = 0           '應(yīng)答號=0

SndMsgWrite.f = 0           '錯誤號=0

SndMsgWrite.b = 0           '命令碼=16#33(M區(qū)數(shù)據(jù))

SndMsgWrite.e = 0           '擴展號=0

SndMsgWrite.data(0) = 2     'S7300 CPU的MPI地址=2

SndMsgWrite.data(1) = 0     '數(shù)據(jù)區(qū)=0

SndMsgWrite.data(2) = 0     'M區(qū)起始地址=0(起始地址 MOD 256)

SndMsgWrite.data(3) = 0     'M區(qū)起始地址=0(起始地址 / 256)

SndMsgWrite.data(4) = 0     '數(shù)據(jù)索引=0(僅用于DB區(qū))

SndMsgWrite.data(5) = 0     '要寫的字節(jié)數(shù)=2 (MW0)

SndMsgWrite.data(6) = TASK_TDT_UINT8    'TASK_TDT_UINT8

SndMsgWrite.data(7) = TASK_TFC_WRITE    'TASK_TFC_WRITE

SndMsgWrite.data(8) = 0     '待寫數(shù)據(jù)低字節(jié)=0

SndMsgWrite.data(9) = 0      '待寫數(shù)據(jù)高字節(jié)=0

End Function

 

'初始化復(fù)位NETLINK消息

Private Function Initial_SndMsgReset()

SndMsgReset.rx = 0         '接收號=0(NETLINK 系統(tǒng))

SndMsgReset.tx = 255       '發(fā)送號

SndMsgReset.ln = 1         '數(shù)據(jù)長度

SndMsgReset.nr = 1         '消息號

SndMsgReset.a = 0          '應(yīng)答號=0

SndMsgReset.f = 0          '錯誤號=0

SndMsgReset.b = 1          '命令碼=1

SndMsgReset.e = 0          '擴展號=0

SndMsgReset.data(0) = 1     '=1

End Function

 

'NETLINK鏈接

Private Function NetLINK_Connect()

Dim sRet As Integer

sRet = DevOpenDriver(0)                     '打開驅(qū)動

If sRet = DRV_NO_ERROR Then

    sRet = DevInitBoard(0, 0)               '初始化板卡

    If sRet = DRV_NO_ERROR Then

        bNetLink_Connected = True           '設(shè)置NETLINK鏈接標(biāo)記

    Else

        MsgBox "找不到NETLINK!", vbCritical + vbOKOnly, "錯誤"

        DevExitBoard 0                      '退出板卡

        DevCloseDriver 0                    '關(guān)閉驅(qū)動

    End If

Else

    MsgBox "找不到NETLINK驅(qū)動!", vbCritical + vbOKOnly, "錯誤"

    DevExitBoard 0

    DevCloseDriver 0

End If

End Function

 

'讀MW0數(shù)據(jù)

Private Function ReadValue()

Dim sRet As Integer, RcvData(0 To 1) As Byte, Val_INT16 As Integer

sRet = DevPutMessage(0, SndMsgRead, 500)    '發(fā)送讀取數(shù)據(jù)的消息

If sRet = DRV_NO_ERROR Then                 '如果發(fā)送消息無錯誤

    sRet = DevGetMessage(0, usSize, RcvMsg, 500)    '接收返回消息

    '如果接收無錯誤且消息無錯誤且功能號為讀取消息則接收消息中的MW0數(shù)據(jù)

    If sRet = DRV_NO_ERROR And RcvMsg.f = 0 And RcvMsg.data(7) = TASK_TFC_READ Then

        RcvData(0) = RcvMsg.data(9)         '注意高低字節(jié)的顛到

        RcvData(1) = RcvMsg.data(8)

        CopyMemory Val_INT16, RcvData(0), 2

        Text_Value.Text = Val_INT16

    End If

End If

End Function

 

'寫MW0數(shù)據(jù)

Private Function WriteValue()

Dim sRet As Integer, SndData(0 To 1) As Byte, Val_INT16 As Integer

Val_INT16 = Int(Text_Setting.Text)

CopyMemory SndData(0), Val_INT16, 2

SndMsgWrite.data(8) = SndData(1)            '注意高低字節(jié)的顛到

SndMsgWrite.data(9) = SndData(0)

sRet = DevPutMessage(0, SndMsgWrite, 500)   '發(fā)送寫數(shù)據(jù)的消息

If sRet = DRV_NO_ERROR Then                 '如果發(fā)送消息無錯誤

    sRet = DevGetMessage(0, usSize, RcvMsg, 500)    '接收返回消息

End If

bWrite = False                              '復(fù)位寫值標(biāo)志

End Function

4、    Form1添加定時器Timer1,設(shè)定周期為100ms;在Timer1的執(zhí)行事件中添加以下代碼:

'定時器1的執(zhí)行代碼

Private Sub Timer1_Timer()

If bNetLink_Connected = False Then  '如果NetLink沒有鏈接則退出定時器執(zhí)行

    Exit Sub

End If

If bWrite = True Then               '如果有寫值請求

    WriteValue                      '寫MW0值

ElseIf bStartRead = True Then       '否則檢查是否啟動了讀循環(huán)

    ReadValue                       '讀MW0值

End If

End Sub

5、    添加[循環(huán)讀取]、[停止]、[寫入新值]、[復(fù)位NETLINK]按鈕的動作

'循環(huán)讀取按鈕

Private Sub Command_read_Click()

If bNetLink_Connected = False Then  '如果NETLINK未鏈接

    NetLINK_Connect                 '鏈接NETLINK

End If

If bNetLink_Connected = True Then   '如果已鏈接

    bStartRead = True               '啟動循環(huán)讀

End If

End Sub

 

'停止按鈕

Private Sub Command_stop_Click()

bStartRead = False

End Sub

 

'寫入新值按鈕

Private Sub Command_set_Click()

If IsNumeric(Text_Setting.Text) Then

    bWrite = True

Else

    MsgBox "設(shè)定值錯誤,范圍:-32768至32767", vbExclamation + vbOKOnly, "格式錯誤"

End If

End Sub

 

'復(fù)位NETLINK按鈕

Private Sub Command_reset_Click()

Dim sRet As Integer

If bStartRead = True Then

    MsgBox "復(fù)位NETLINK前請先停止循環(huán)讀取。", vbInformation + vbOKOnly, "提示"

Else

    sRet = DevPutMessage(0, SndMsgReset, 500)       '發(fā)送復(fù)位NETLINK的消息

End If

End Sub

6、    Form1的Load事件中添加初始化代碼:

'Form1裝載

Private Sub Form_Load()

bStartRead = False

bWrite = False

bNetLink_Connected = False

Text_Value.Text = 0

Text_Setting.Text = 0

Initial_SndMsgRead          '初始化讀取數(shù)據(jù)消息

Initial_SndMsgWrite         '初始化寫值消息

Initial_SndMsgReset         '初始化復(fù)位消息

NetLINK_Connect             '鏈接NETLINK

End Sub

 

六、注意事項

1、   注意發(fā)送消息中的數(shù)據(jù)起始地址的高低字節(jié)顛到和接收消息中數(shù)據(jù)區(qū)的高低字節(jié)顛到;

2、   定時器事件在操作系統(tǒng)繁忙時容易被中斷執(zhí)行,可以適當(dāng)提高進程和線程的優(yōu)先級來保證數(shù)據(jù)的更新速率,在Form_Load()中添加以下代碼:

Dim hThread As Long, hProcess As Long

hThread = GetCurrentThread

hProcess = GetCurrentProcess

SetThreadPriority hThread, THREAD_PRIORITY_HIGHEST

SetPriorityClass hProcess, HIGH_PRIORITY_CLASS

Module1中添加以下聲明:

Public Const THREAD_BASE_PRIORITY_IDLE = -15

Public Const THREAD_BASE_PRIORITY_LOWRT = 15

Public Const THREAD_BASE_PRIORITY_MIN = -2

Public Const THREAD_BASE_PRIORITY_MAX = 2

Public Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN

Public Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX

Public Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)

Public Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)

Public Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE

Public Const THREAD_PRIORITY_NORMAL = 0

Public Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT

Public Const HIGH_PRIORITY_CLASS = &H80

Public Const IDLE_PRIORITY_CLASS = &H40

Public Const NORMAL_PRIORITY_CLASS = &H20

Public Const REALTIME_PRIORITY_CLASS = &H100

 

Public Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long

Public Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long

3、   無論是讀取數(shù)據(jù)還是寫數(shù)據(jù),發(fā)送和接收消息函數(shù)必須成對出現(xiàn);

4、   在實際的通訊中如果網(wǎng)絡(luò)中斷(譬如交換機斷電,插拔網(wǎng)絡(luò)插頭)將會導(dǎo)致發(fā)送和接收消息函數(shù)出錯,其返回值sRet大于等于10000(網(wǎng)絡(luò)錯誤),此時需要主動發(fā)出NETLINK復(fù)位消息;發(fā)出復(fù)位消息后一般需要等待5秒鐘后再次進行鏈接;

5、   在每次嘗試NETLINK鏈接前為了避免找不到NETLINK導(dǎo)致的驅(qū)動函數(shù)超時返回,可以先采用NetIdent協(xié)議(參考Ni_pie.pdf文件,使用Winsock控件)廣播網(wǎng)絡(luò)上的NETLINK,找到NETLINK后再嘗試鏈接,這樣可以提高通訊效率;

6、   一次讀取地址連續(xù)的數(shù)據(jù)包(不要超過240個字節(jié))比多次讀取單個數(shù)據(jù)的效率要高的多;

7、   發(fā)送和返回的響應(yīng)消息的消息號Nr是對應(yīng)的,可以用Nr來判斷多個讀寫任務(wù)的響應(yīng)消息;

8、   如果一臺計算機需要同時訪問多個NETLINK通訊,建議采用VC++6.0開發(fā),采用多線程技術(shù);

 

七、聯(lián)系我們

無錫市北辰自動化技術(shù)有限公司

江蘇省滴翠路100號無錫市國家工業(yè)設(shè)計園創(chuàng)意園A幢903

電話:0510-85166823,85162669,聯(lián)系人:王海波,張鵬

傳真:0510-85166813

Email:beichen@beichen-automation.com,網(wǎng)址:www.beichen-automation.com

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
国产精品视频一区二区三区综合| 日韩美女国产精品| 日本中文字幕一区二区| 日韩午夜在线| 亚洲女同av| 午夜精品成人av| 91精品蜜臀一区二区三区在线| 国产婷婷精品| 三上悠亚国产精品一区二区三区| 另类av一区二区| 日本天堂一区| 欧美亚洲日本精品| 欧美不卡高清| 日韩中文欧美| 亚洲乱亚洲高清| 国产66精品| 麻豆91在线播放| 国产精品美女久久久| 欧美日本一区| 欧美精选视频一区二区| 蜜桃久久av一区| 高清一区二区三区| 成人精品天堂一区二区三区| 日韩欧美高清一区二区三区| av资源亚洲| 爽好久久久欧美精品| 久久97视频| 欧美色综合网| 在线综合视频| 国产一区二区三区不卡视频网站| 久久男人av资源站| 卡一卡二国产精品| 在线精品观看| 日本高清不卡一区二区三区视频| 日韩专区视频网站| 国产真实久久| 成人精品视频| 美女精品在线观看| 国产精品美女| 亚洲www免费| 国产精品流白浆在线观看| 制服诱惑一区二区| 石原莉奈在线亚洲二区| 日韩欧美在线中字| 国产欧美另类| 五月综合激情| 亚洲中午字幕| 日韩精品麻豆| 高清久久精品| www成人在线视频| 激情国产在线| 精品视频91| 欧美有码在线| 97精品国产福利一区二区三区| 日韩av字幕| 野花国产精品入口| 欧美国产美女| 欧美+亚洲+精品+三区| 国产白浆在线免费观看| 久久精品一区二区三区中文字幕| 精品一区视频| 国产免费av一区二区三区| 亚洲91在线| 美国欧美日韩国产在线播放| 日韩中文字幕不卡| 免费视频最近日韩| 中文字幕一区二区av| 国产韩日影视精品| 伊人www22综合色| 免费观看在线综合色| 亚洲欧美日韩一区在线观看| 亚洲精品午夜av福利久久蜜桃| 视频一区二区欧美| 日韩国产高清在线| 久久国产精品免费一区二区三区| 日本中文字幕不卡| 亚洲伦乱视频| 欧美另类综合| 亚洲aⅴ网站| 免费视频一区二区| 麻豆mv在线观看| 久久久久久久久久久妇女| 日韩欧美少妇| 激情久久久久久久| 玖玖玖国产精品| 欧美一区免费| 精品久久免费| 蜜桃国内精品久久久久软件9| 精品一区在线| 日韩av在线播放中文字幕| 国产精品一区免费在线| 福利精品在线| 欧美一区二区三区激情视频| 亚洲少妇一区| 国产精品a级| 亚洲大片在线| 日韩av午夜在线观看| 国内在线观看一区二区三区| 国产高清精品二区| 亚洲精选91| 欧美xxxx中国| 亚洲国产日韩欧美在线| 中文字幕人成乱码在线观看| 亚洲美女久久精品| 热久久国产精品| 久久精品国产99国产| 香蕉久久一区| 日韩欧美精品一区| 日本中文字幕不卡| 欧美日韩国产免费观看| 国产精品久久久亚洲一区| 亚洲少妇在线| av不卡在线看| 在线一区电影| 亚洲一级二级| 亚洲午夜91| 午夜精品网站| 99视频精品| 亚洲欧美日韩国产一区| 国产精品日本| 午夜亚洲福利| 婷婷综合成人| 国产欧美三级| 高清精品久久| 久久精品av| 91精品福利| 日韩在线一区二区| 四虎精品一区二区免费| 亚洲欧美在线专区| 日韩av影院| 欧美国产另类| 热三久草你在线| 99久久视频| 国产亚洲一区在线| 亚洲tv在线| 美女视频黄免费的久久| 理论片午夜视频在线观看| 日韩欧美一区二区三区在线视频| 色婷婷精品视频| 国产一区二区精品| 欧美视频久久| 精品国产第一福利网站| 国精品一区二区| 99视频一区| 国产日韩一区| 精品三级久久| 亚洲欧美网站在线观看| 久久伊人久久| 精品日韩毛片| 日韩精品视频网| 91嫩草亚洲精品| 欧美日韩国产在线观看网站| 亚洲天堂av资源在线观看| 欧美日一区二区在线观看| 韩日一区二区| 在线精品小视频| 国产九九精品| 激情综合网址| 日韩不卡在线观看日韩不卡视频| 国产专区精品| 国产中文一区| 麻豆精品视频在线观看| 婷婷综合网站| 久久精品国产99国产| 亚洲黄页一区| 国产aa精品| 日韩视频1区| 久久精品播放| 久久精品一本| 日韩精品一区第一页| 成人亚洲精品| 亚洲精品一二| 欧美日韩在线播放视频| 久久国产三级| 在线综合视频| 91亚洲国产| 日韩精品1区2区3区| 999国产精品视频| 国产精品qvod| 亚洲人成毛片在线播放女女| 久久人人97超碰国产公开结果| 人人爱人人干婷婷丁香亚洲| 精品欧美久久| 黄色在线观看www| 久久不卡日韩美女| 亚洲+小说+欧美+激情+另类| 伊人久久大香线蕉av不卡| 美女久久99| 青青伊人久久| 亚洲综合激情在线| 久久精品观看| 红杏一区二区三区| 欧美日韩一区二区国产| av不卡免费看| 香蕉精品视频在线观看| 日韩精品电影| 久久青草久久| av资源新版天堂在线| 九九久久国产| 久久超碰99|