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

online services

咨詢熱線

0510-85166823 0510-85136823

微信公眾號(hào)

微信咨詢

18915273738 18906172238

手機(jī)淘寶

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

2007/10/18 12:24:46

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

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

 

一、概述

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

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

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

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

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

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

l          使用winsock控件進(jìn)行通訊;

 

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

 

二、平臺(tái)和配置

1、平臺(tái):WINDOW2000+SP4,Microsoft VB6.0;

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

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

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

 

三、NETLINK參數(shù)配置

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

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

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

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

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

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

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

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

運(yùn)行[開(kāi)始]-[程序]-[Hilscher IP Driver]-[IP Driver Test],在菜單[Connection select]中選擇Connection 0,連接后進(jìn)行其他菜單的測(cè)試,如[Driver Info]等,如果測(cè)試正常說(shuō)明IP Driver已連接到NETLINK。

 

五、VB應(yīng)用

應(yīng)用舉例:

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

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

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

 

演示界面如下圖所示:

 

開(kāi)發(fā)步驟:

1、    新建VB EXE工程,將NETLINK光盤中Api\Demo\VBASIC32\CIFUSER.BAS模板文件復(fù)制到VB工程中并取消只讀屬性;然后添加到工程中,打開(kāi)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                   '消息長(zhǎng)度常數(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代碼窗口中添加讀寫控制變量、三個(gè)消息初始化函數(shù)、NETLINK鏈接和讀寫函數(shù)(請(qǐng)參考Nlmpi_pie.pdf文件):

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

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

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

 

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

Private Function Initial_SndMsgRead()

SndMsgRead.rx = 3          '接收號(hào)=3

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

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

SndMsgRead.nr = 0          '消息號(hào)

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

SndMsgRead.f = 0           '錯(cuò)誤號(hào)=0

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

SndMsgRead.e = 0           '擴(kuò)展號(hào)=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     '功能號(hào)=TASK_TFC_READ(讀數(shù)據(jù))

End Function

 

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

Private Function Initial_SndMsgWrite()

SndMsgWrite.rx = 3          '接收號(hào)

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

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

SndMsgWrite.nr = 0          '消息號(hào)

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

SndMsgWrite.f = 0           '錯(cuò)誤號(hào)=0

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

SndMsgWrite.e = 0           '擴(kuò)展號(hào)=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         '接收號(hào)=0(NETLINK 系統(tǒng))

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

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

SndMsgReset.nr = 1         '消息號(hào)

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

SndMsgReset.f = 0          '錯(cuò)誤號(hào)=0

SndMsgReset.b = 1          '命令碼=1

SndMsgReset.e = 0          '擴(kuò)展號(hào)=0

SndMsgReset.data(0) = 1     '=1

End Function

 

'NETLINK鏈接

Private Function NetLINK_Connect()

Dim sRet As Integer

sRet = DevOpenDriver(0)                     '打開(kāi)驅(qū)動(dòng)

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, "錯(cuò)誤"

        DevExitBoard 0                      '退出板卡

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

    End If

Else

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

    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ā)送消息無(wú)錯(cuò)誤

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

    '如果接收無(wú)錯(cuò)誤且消息無(wú)錯(cuò)誤且功能號(hào)為讀取消息則接收消息中的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ā)送消息無(wú)錯(cuò)誤

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

End If

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

End Function

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

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

Private Sub Timer1_Timer()

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

    Exit Sub

End If

If bWrite = True Then               '如果有寫值請(qǐng)求

    WriteValue                      '寫MW0值

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

    ReadValue                       '讀MW0值

End If

End Sub

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

'循環(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               '啟動(dòng)循環(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è)定值錯(cuò)誤,范圍:-32768至32767", vbExclamation + vbOKOnly, "格式錯(cuò)誤"

End If

End Sub

 

'復(fù)位NETLINK按鈕

Private Sub Command_reset_Click()

Dim sRet As Integer

If bStartRead = True Then

    MsgBox "復(fù)位NETLINK前請(qǐng)先停止循環(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

 

六、注意事項(xiàng)

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

2、   定時(shí)器事件在操作系統(tǒng)繁忙時(shí)容易被中斷執(zhí)行,可以適當(dāng)提高進(jìn)程和線程的優(yōu)先級(jí)來(lái)保證數(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、   無(wú)論是讀取數(shù)據(jù)還是寫數(shù)據(jù),發(fā)送和接收消息函數(shù)必須成對(duì)出現(xiàn);

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

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

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

7、   發(fā)送和返回的響應(yīng)消息的消息號(hào)Nr是對(duì)應(yīng)的,可以用Nr來(lái)判斷多個(gè)讀寫任務(wù)的響應(yīng)消息;

8、   如果一臺(tái)計(jì)算機(jī)需要同時(shí)訪問(wèn)多個(gè)NETLINK通訊,建議采用VC++6.0開(kāi)發(fā),采用多線程技術(shù);

 

七、聯(lián)系我們

無(wú)錫市北辰自動(dòng)化技術(shù)有限公司

江蘇省滴翠路100號(hào)無(wú)錫市國(guó)家工業(yè)設(shè)計(jì)園創(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日在线视频
亚洲精品国产suv一区88| 日韩av加勒比| 五月天丁香花婷婷| 那种视频在线观看| 日韩成人三级视频| 香蕉视频xxxx| 国产精品嫩草影院8vv8| 嫩草av久久伊人妇女超级a| 精品少妇一区二区三区在线| av在线免费观看国产| 欧美a v在线播放| 一级黄色免费在线观看| 黄色手机在线视频| 久久久久久香蕉| 国产亚洲综合视频| 国产精品网站免费| 日本a在线免费观看| 成年人网站国产| www.av91| 无码中文字幕色专区| 日韩视频免费播放| 黄页网站在线观看视频| 免费在线观看视频a| 日韩成人手机在线| 亚洲精品久久久久久久蜜桃臀| 青青草综合视频| 国产911在线观看| 国产免费内射又粗又爽密桃视频| 99亚洲国产精品| www插插插无码免费视频网站| 国产精品免费看久久久无码| 国产精品视频网站在线观看| 全黄性性激高免费视频| 波多野结衣综合网| 免费高清在线观看免费| 黄色高清无遮挡| 日本久久久久久久久久久久| 亚洲高清免费在线观看| 久久精品国产99久久99久久久| 99视频在线观看视频| 亚洲色图都市激情| 鲁一鲁一鲁一鲁一色| 日韩欧美xxxx| 免费成年人高清视频| 国产精品12p| 国产av人人夜夜澡人人爽麻豆 | 男生操女生视频在线观看 | 中文字幕 欧美日韩| 天天做天天爱天天高潮| 国产女主播自拍| 国产激情在线观看视频| 亚洲欧美天堂在线| 一本久道高清无码视频| 国产一级不卡毛片| 在线观看视频黄色| 中文字幕无码精品亚洲35| 日本熟妇人妻中出| 97超碰免费观看| 日本精品免费在线观看| 亚洲色图欧美自拍| av免费观看大全| 日韩av片专区| 国产二区视频在线| 亚洲va在线va天堂va偷拍| 久久这里只有精品18| 亚洲精品久久久中文字幕| 日本香蕉视频在线观看| 亚洲欧美在线精品| 国产色一区二区三区| 潘金莲激情呻吟欲求不满视频| 国产精品无码电影在线观看| 亚洲五月天综合| www.亚洲视频.com| 免费黄频在线观看| 91国视频在线| 亚洲国产精品影视| 无码内射中文字幕岛国片| 亚洲av综合色区| 日本特黄a级片| av高清在线免费观看| 亚洲欧美天堂在线| 久久久久久久少妇| 免费在线看黄色片| 8x8x成人免费视频| 欧美 国产 小说 另类| 国产精品一二三在线观看| www.激情小说.com| 久久国产亚洲精品无码| 日韩视频一二三| 97超碰人人爽| 成人免费视频久久| 欧美极品欧美精品欧美| 欧美a级黄色大片| 色播五月激情五月| 熟女人妇 成熟妇女系列视频| 日韩精品在线视频免费观看| 欧美伦理片在线观看| 日韩欧美视频免费在线观看| 日韩不卡视频一区二区| 91国产精品视频在线观看| 日韩xxxx视频| 伊人久久在线观看| 一二三av在线| av网站在线不卡| 国产日韩一区二区在线观看| 国产欧美久久久久| 中国一级黄色录像| www.欧美激情.com| 男人的天堂最新网址| 国产一线二线三线在线观看| 久久久一本二本三本| 日本一本中文字幕| 欧美性猛交内射兽交老熟妇| 亚洲欧美一二三| 日韩在线一区视频| 日本黄大片一区二区三区| 激情视频综合网| 超碰影院在线观看| 国产a视频免费观看| 自慰无码一区二区三区| 日本在线xxx| 你懂的av在线| 亚洲熟妇av日韩熟妇在线| 成人免费性视频| 福利视频一区二区三区四区| 中国一级黄色录像| 中文字幕55页| 国产91av视频在线观看| 中文字幕制服丝袜在线| 夜夜爽久久精品91| 91制片厂免费观看| 免费观看黄色的网站| 超碰在线免费观看97| 成年人三级视频| 国产精品视频二| 亚洲人成无码网站久久99热国产| 亚洲人成无码网站久久99热国产| 国产天堂视频在线观看| 大j8黑人w巨大888a片| av免费在线播放网站| 久久这里只精品| 国内精品国产三级国产aⅴ久| 中文字幕色呦呦| 欧美日韩精品在线一区二区| 日本精品www| 日韩大片一区二区| 黄瓜视频免费观看在线观看www| 穿情趣内衣被c到高潮视频| 国产 欧美 日本| 欧美a v在线播放| 午夜免费福利在线| 26uuu成人| 国产免费黄色小视频| 成年人免费大片| 国产乱码一区二区三区四区| 久久久久久久久久久久久国产| www.avtt| 日本中文字幕高清| 最新中文字幕久久| 成年人午夜视频在线观看| 久草综合在线观看| 欧美激情第四页| 黄色成人在线看| 自拍偷拍21p| 欧美极品少妇无套实战| 国产淫片av片久久久久久| 午夜一级免费视频| 日本福利视频一区| 日本激情视频在线播放| 看一级黄色录像| 日本黄网站免费| 最新视频 - x88av| 日本一本二本在线观看| 97人人模人人爽人人澡| 欧美一区二区中文字幕| 奇米视频7777| 91好吊色国产欧美日韩在线| 国产小视频精品| 91.com在线| 性生生活大片免费看视频| 很污的网站在线观看| 九色porny自拍| 水蜜桃色314在线观看| 亚洲另类第一页| 少妇人妻在线视频| www.久久av.com| 国模无码视频一区二区三区| 一起操在线视频| 丰满爆乳一区二区三区| 天天综合中文字幕| 欧美黑人又粗又大又爽免费| 国产欧美久久久久| 色91精品久久久久久久久| 青青艹视频在线| 黄黄视频在线观看| 欧美特级aaa| 精品一卡二卡三卡| 大伊香蕉精品视频在线| 中文字幕1234区| 国产免费999|