91黄动漫 I 欧美 日韩 国产 成人 在线 I a级成人毛片 I 农村黄色片 I 男生捅女生的肌肌 I 精品99一区二区三区 I 妃光莉av I 日日夜夜操操 I 性中国古装videossex I 久久不卡av I 美女高潮动态图 I 极品美女开粉嫩精品 I 牛牛精品一区二区 I 91精品福利视频 I 成人刺激视频 I 91国内精品视频 I 中国一级特黄毛片大片 I 校长狠狠挺进校花体内小说 I 欧美激情黄色片 I 欧美久久久一区 I 爱豆国产剧免费观看大全剧苏畅 I 麻豆国产人妻欲求不满谁演的 I 亚洲一区二区在线免费观看视频 I 国产超碰av人人做人人爽 I 精品国产第一国产综合精品 I 久久免费看av I 欧美一区二区三区白人 I 国产精品夫妻激情 I 校花被肉干高h潮不断 I 欧美最猛黑人xxxx黑人表情 I 国产欧美日韩一区二区搜索 I 极品女神露脸呻吟啪啪 I 人人天天久久 I 亚洲动漫在线 I 日本91福利区 I 五月天 桃色 开心 I av在线免费观看国产 I 男人添女人的免费视频 I 夜夜穞天天穞狠狠穞

dujiang100
我是一只小小鳥
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 426 個(gè)
工控威望: 642 點(diǎn)
下載積分: 1895 分
在線時(shí)間: 243(小時(shí))
注冊(cè)時(shí)間: 2011-03-11
最后登錄: 2024-05-22
查看dujiang100的 主題 / 回貼
樓主  發(fā)表于: 2016-03-23 17:29
   最近在研究VB跟歐姆龍CP1H的通信.了解到可以用串口進(jìn)行HOSTLINK通信,還可以用以太網(wǎng)進(jìn)行FANS通信.CP1H沒(méi)有網(wǎng)口所以不可以用FANS通信嗎?串口通信情況下,PLC處于運(yùn)行時(shí)寫入不了數(shù)據(jù),只有當(dāng)PLC是監(jiān)控狀態(tài)時(shí)才能寫入.這怎么能達(dá)到隨時(shí)寫入的目的呢?
本帖最近評(píng)分記錄:
  • 下載積分:+1(56071988)
    tkggtdkjpl
    工欲善其事,必先利其器!
    級(jí)別: 網(wǎng)絡(luò)英雄

    精華主題: 1 篇
    發(fā)帖數(shù)量: 3412 個(gè)
    工控威望: 21027 點(diǎn)
    下載積分: 39784 分
    在線時(shí)間: 1840(小時(shí))
    注冊(cè)時(shí)間: 2010-01-03
    最后登錄: 2025-12-24
    查看tkggtdkjpl的 主題 / 回貼
    1樓  發(fā)表于: 2016-03-23 21:29
    將PLC的運(yùn)行模式改為監(jiān)控模式就行了!
    本帖最近評(píng)分記錄:
  • 下載積分:+1(dujiang100) 真誠(chéng)感謝!
  • 自動(dòng)化單機(jī),生產(chǎn)線,項(xiàng)目編程調(diào)試!
    dujiang100
    我是一只小小鳥
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 426 個(gè)
    工控威望: 642 點(diǎn)
    下載積分: 1895 分
    在線時(shí)間: 243(小時(shí))
    注冊(cè)時(shí)間: 2011-03-11
    最后登錄: 2024-05-22
    查看dujiang100的 主題 / 回貼
    2樓  發(fā)表于: 2016-03-26 09:45
    研究了幾天,終于明白,FINS協(xié)議也可以通過(guò)串口和PLC通信上
    xyzenter
    活在當(dāng)下,順其自然
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 130 個(gè)
    工控威望: 266 點(diǎn)
    下載積分: 2080 分
    在線時(shí)間: 108(小時(shí))
    注冊(cè)時(shí)間: 2014-04-09
    最后登錄: 2021-04-13
    查看xyzenter的 主題 / 回貼
    3樓  發(fā)表于: 2016-03-28 15:19
          FINS通訊命令,0401可以讓PLC進(jìn)入運(yùn)行/監(jiān)控模式,0402可以讓PLC進(jìn)入停止模式。
          實(shí)測(cè)用0402讓PLC停止后還可以用0101和0102對(duì)DM區(qū)進(jìn)行讀寫。
          另:串口的hostlink模式FINS命令只能上位機(jī)控制PLC,PLC無(wú)法主動(dòng)發(fā)數(shù)據(jù)給上位機(jī)。通過(guò)看w227文件,發(fā)現(xiàn)FINS幀格式自由度比較高,理論上來(lái)講可以通過(guò)修改幀里面的命令符進(jìn)行PLC通過(guò)串口對(duì)上位機(jī)發(fā)送數(shù)據(jù),就好像用以太網(wǎng)發(fā)送一樣。但是歐姆龍PLC說(shuō)明書里面并沒(méi)這方面的介紹。目前來(lái)說(shuō),PLC通過(guò)串口主動(dòng)發(fā)數(shù)據(jù)給上位機(jī)發(fā)送數(shù)據(jù)要用無(wú)協(xié)議通訊。但是無(wú)協(xié)議通訊的話上位機(jī)無(wú)法控制PLC的開關(guān)狀態(tài)。小弟剛學(xué)歐姆龍通訊,好多東西還不懂,望論壇各位前輩不吝賜教。
    dujiang100
    我是一只小小鳥
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 426 個(gè)
    工控威望: 642 點(diǎn)
    下載積分: 1895 分
    在線時(shí)間: 243(小時(shí))
    注冊(cè)時(shí)間: 2011-03-11
    最后登錄: 2024-05-22
    查看dujiang100的 主題 / 回貼
    4樓  發(fā)表于: 2016-04-01 10:16
    不用PLC發(fā),上位機(jī)不斷的讀取就可以了.FINS協(xié)議是最好的.在運(yùn)行時(shí)可以對(duì)PLC進(jìn)行讀,寫操作.HOSTLINK在PLC運(yùn)行時(shí)可以讀,但要寫入必須把PLC改成監(jiān)控模式,太煩.
    mylinden
    工控閑人
    級(jí)別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 69 個(gè)
    工控威望: 196 點(diǎn)
    下載積分: 3026 分
    在線時(shí)間: 490(小時(shí))
    注冊(cè)時(shí)間: 2012-12-16
    最后登錄: 2025-12-05
    查看mylinden的 主題 / 回貼
    5樓  發(fā)表于: 2016-04-03 23:39
    可以用FINS tcp/ip
    zhou5245
    級(jí)別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 52 個(gè)
    工控威望: 177 點(diǎn)
    下載積分: 16652 分
    在線時(shí)間: 184(小時(shí))
    注冊(cè)時(shí)間: 2012-02-23
    最后登錄: 2025-12-20
    查看zhou5245的 主題 / 回貼
    6樓  發(fā)表于: 2016-04-06 22:02
    Use for Fins TCP/IP.
    shuangyu
    工控行業(yè)呆的越久越迷茫.......懂得多?少?......
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 329 個(gè)
    工控威望: 891 點(diǎn)
    下載積分: 1083 分
    在線時(shí)間: 115(小時(shí))
    注冊(cè)時(shí)間: 2009-08-04
    最后登錄: 2024-07-12
    查看shuangyu的 主題 / 回貼
    7樓  發(fā)表于: 2016-04-13 18:17
    Public Class OmronFins
        Dim WithEvents OmronPLC As New System.IO.Ports.SerialPort
        Dim WithEvents T1 As New Timer
        Dim MLog As New MyFB.RunErrLog


        ''' <summary>
        ''' PLC返回字符
        ''' </summary>
        ''' <remarks></remarks>
        Dim PLCRtString As String

        ''' <summary>
        ''' =True 等待RS返回信息
        ''' </summary>
        ''' <remarks></remarks>
        Dim PLCBusyBit As Boolean = False
        Dim PLCCommd As Integer = 0

        Dim RtValue(19) As String
        Dim RtErrValue(19) As String


        Sub RS232PortSet(ByVal PortNum As Integer)

            Try
                With OmronPLC
                    .BaudRate = 38400
                    .StopBits = 2
                    .DataBits = 7
                    .Parity = IO.Ports.Parity.Even
                    .PortName = "COM" & PortNum
                    .ReceivedBytesThreshold = 1
                End With

                If OmronPLC.IsOpen = False Then
                    OmronPLC.Open()
                End If
            Catch ex As Exception
                MLog.LogErrWrite(ex.ToString)
            End Try



        End Sub

        Sub RS232PortClose()
            If OmronPLC.IsOpen = True Then
                OmronPLC.Close()
            End If
        End Sub

        Sub RS232SendMsg(ByVal SendString As String)
            Dim LenNum As Integer
            LenNum = SendString.Length
            If OmronPLC.IsOpen = True Then
                OmronPLC.Write(SendString)
            Else
                PLCBusyBit = False
            End If

        End Sub



        ''' <summary>
        ''' 20150525
        ''' Fins通訊計(jì)算校驗(yàn)碼
        ''' </summary>
        ''' <param name="Value">傳入需要校驗(yàn)內(nèi)容</param>
        ''' <returns>返回Fins校驗(yàn)值</returns>
        ''' <remarks></remarks>
        Public Function FinsFcsCheck(ByVal Value As String) As String

            Dim CheckValue As Integer
            Dim CheckHex As String

            For i As Integer = 1 To Value.Length
                CheckValue = Asc(Mid(Value, i, 1)) Xor CheckValue
            Next
            CheckHex = Hex(CheckValue)
            If CheckHex.Length < 2 Then
                CheckHex = "0" & CheckHex
            End If

        
            Return CheckHex


        End Function
        ''' <summary>
        ''' 20150526
        ''' 寫單個(gè)PLC值函數(shù)
        '''
        ''' </summary>
        ''' <param name="AddName"></param>
        ''' <param name="Value"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Function SetValue(ByVal AddName As String, ByVal AddNum As Integer, ByVal Value As Integer) As Integer

            Dim AddNumHexLen As Integer '地址16進(jìn)制長(zhǎng)度
            Dim HexAddNum As String     '地址值轉(zhuǎn)到16進(jìn)制
            Dim HCode As String = "@00FA000000000" '通訊表頭
            Dim CommandCode As String = "0102"    '通訊命令代碼
            Dim MemoryAreaCode As String          'PLC內(nèi)存功能碼
            Dim BitNum As String = "00"           '位寫入需要寫數(shù)值 0-15;字寫如=0
            Dim WriteNum As String = "0001"        '寫PLC地址個(gè)數(shù);單個(gè)寫入=0001
            Dim HexValue As String                '寫入數(shù)值轉(zhuǎn)換為16進(jìn)制
            Dim FCSString As String               '需要校驗(yàn)的字符串
            Dim FCSValue As String                '命令校驗(yàn)碼
            Dim EndCode As String = "*" & vbCr    '結(jié)束碼
            Dim SenCode As String                 '發(fā)送到PLC字符串
            '*************************************************************************
            '修改版本20150526 新建
            '寫入數(shù)值到D
            '通訊發(fā)送命令
            'HCode & CommandCode & MemoryAreaCode  & HEXADDNum & BitNum & WriteNum & Value & FCS & EndCode
            '*************************************************************************


            Try
                If PLCBusyBit = False And OmronPLC.IsOpen Then
                    PLCCommd = 1
                    PLCBusyBit = True
                    '選擇寫入PLC地址類型
                    Select Case AddName
                        Case "D"
                            MemoryAreaCode = "82"
                        Case Else
                            Return 1000
                            Exit Function
                    End Select


                    '寫入地址轉(zhuǎn)換為HEX,計(jì)算長(zhǎng)度是否=4;長(zhǎng)度不夠補(bǔ)滿
                    HexAddNum = Hex(AddNum)
                    AddNumHexLen = HexAddNum.Length
                    Select Case AddNumHexLen
                        Case 1
                            HexAddNum = "000" & HexAddNum
                        Case 2
                            HexAddNum = "00" & HexAddNum
                        Case 3
                            HexAddNum = "0" & HexAddNum
                        Case 4
                            HexAddNum = HexAddNum
                        Case Else
                            Return 1001
                            Exit Function
                    End Select

                    '寫入數(shù)值轉(zhuǎn)換位16進(jìn)制,計(jì)算長(zhǎng)度=4;長(zhǎng)度不夠布滿
                    HexValue = Hex(Value)
                    Select Case HexValue.Length
                        Case 1
                            HexValue = "000" & HexValue
                        Case 2
                            HexValue = "00" & HexValue
                        Case 3
                            HexValue = "0" & HexValue
                        Case 4
                            HexValue = HexValue
                        Case Else
                            Return 1002
                            Exit Function
                    End Select

                    FCSString = HCode & CommandCode & MemoryAreaCode & HexAddNum & BitNum & WriteNum & HexValue

                    FCSValue = FinsFcsCheck(FCSString)

                    SenCode = FCSString & FCSValue & EndCode
                    RS232SendMsg(SenCode)
                    ' Threading.Thread.Sleep(10)
                    '***************************************************
                    '20150608 返回結(jié)果處理

                    Dim StartTick As Integer
                    StartTick = Environment.TickCount
                    Do
                        If (Environment.TickCount - StartTick) > 1500 Then
                            '超時(shí)報(bào)警
                            PLCBusyBit = False
                            Return 9001
                            Exit Do
                        End If

                        If PLCBusyBit = False Then

                            Exit Do
                        End If
                        Application.DoEvents()
                    Loop

                    If RtErrValue(0) = "1" Then
                        Return 1
                    Else
                        '未知錯(cuò)誤報(bào)警
                        Return 9002
                    End If
                Else

                    '通訊BUSY
                    Return 9003
                End If
            Catch ex As Exception
                ' MsgBox(ex.Message)
                MLog.LogErrWrite(ex.ToString)
            End Try




        End Function

        Public Function GetValue(ByVal AddName As String, ByVal AddNum As Integer, ByRef RtV As Integer) As Integer

            Dim AddNumHexLen As Integer '地址16進(jìn)制長(zhǎng)度
            Dim HexAddNum As String     '地址值轉(zhuǎn)到16進(jìn)制
            Dim HCode As String = "@00FA000000000" '通訊表頭
            Dim CommandCode As String = "0101"    '通訊命令代碼
            Dim MemoryAreaCode As String          'PLC內(nèi)存功能碼
            Dim BitNum As String = "00"           '位讀取需要寫數(shù)值 0-15;字讀入=0
            Dim ReadNum As String = "0001"        '讀PLC地址個(gè)數(shù);單個(gè)寫入=0001
            'Dim HexValue As String                '寫入數(shù)值轉(zhuǎn)換為16進(jìn)制
            Dim FCSString As String               '需要校驗(yàn)的字符串
            Dim FCSValue As String                '命令校驗(yàn)碼
            Dim EndCode As String = "*" & vbCr    '結(jié)束碼
            Dim SenCode As String                 '發(fā)送到PLC字符串
            '*************************************************************************
            '修改版本2015703 新建
            '讀D數(shù)值
            '通訊發(fā)送命令
            'HCode & CommandCode & MemoryAreaCode  & HEXADDNum & BitNum & ReadNum  & FCS & EndCode
            '*************************************************************************


            Try
                If PLCBusyBit = False And OmronPLC.IsOpen Then
                    PLCCommd = 1
                    PLCBusyBit = True
                    '選擇讀PLC地址類型
                    Select Case AddName
                        Case "D"
                            MemoryAreaCode = "82"
                        Case Else
                            Return 1000
                            Exit Function
                    End Select


                    '讀地址轉(zhuǎn)換為HEX,計(jì)算長(zhǎng)度是否=4;長(zhǎng)度不夠補(bǔ)滿
                    HexAddNum = Hex(AddNum)
                    AddNumHexLen = HexAddNum.Length
                    Select Case AddNumHexLen
                        Case 1
                            HexAddNum = "000" & HexAddNum
                        Case 2
                            HexAddNum = "00" & HexAddNum
                        Case 3
                            HexAddNum = "0" & HexAddNum
                        Case 4
                            HexAddNum = HexAddNum
                        Case Else
                            Return 1001
                            Exit Function
                    End Select



                    FCSString = HCode & CommandCode & MemoryAreaCode & HexAddNum & BitNum & ReadNum

                    FCSValue = FinsFcsCheck(FCSString)

                    SenCode = FCSString & FCSValue & EndCode
                    RS232SendMsg(SenCode)
                    ' Threading.Thread.Sleep(10)
                    '***************************************************
                    '20150608 返回結(jié)果處理

                    Dim StartTick As Integer
                    StartTick = Environment.TickCount
                    Do
                        If (Environment.TickCount - StartTick) > 1500 Then
                            '超時(shí)報(bào)警
                            PLCBusyBit = False
                            Return 9001
                            Exit Do
                        End If

                        If PLCBusyBit = False Then

                            Exit Do
                        End If
                        Application.DoEvents()
                    Loop

                    If RtErrValue(0) = "1" Then
                        RtV = Convert.ToInt32(RtValue(0), 16)
                        Return 1
                    Else
                        '未知錯(cuò)誤報(bào)警
                        Return 9002
                    End If
                Else

                    '通訊BUSY
                    Return 9003
                End If
            Catch ex As Exception
                ' MsgBox(ex.Message)
                MLog.LogErrWrite(ex.ToString)
            End Try




        End Function

        Private Sub OmronPLC_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles OmronPLC.DataReceived
            Threading.Thread.Sleep(100)

            Dim ReadString As String
            If OmronPLC.IsOpen = True Then
                ReadString = OmronPLC.ReadExisting
                Call ReslutCount(ReadString)
            End If


            PLCBusyBit = False

        End Sub

        Sub ReslutCount(ByVal InputS As String)
            Dim FcsRead As String = String.Empty  '返回校驗(yàn)碼
            Dim FcsCount As String = String.Empty '計(jì)算出校驗(yàn)碼
            Dim RtCommand As String = String.Empty '返回命令
            Dim RtMsg As String = String.Empty '返回報(bào)警代碼
            Dim OKMsg As String = "0000"        '返回正確代碼
            Try
                If InputS.Length >= 25 Then
                    If Mid(Microsoft.VisualBasic.Right(InputS, 2), 1, 1) = "*" Then
                        PLCRtString = Mid(InputS, 1, InputS.Length - 4)
                        FcsRead = Mid(InputS, InputS.Length - 3, 2)
                        FcsCount = FinsFcsCheck(PLCRtString)
                        RtCommand = Microsoft.VisualBasic.Mid(PLCRtString, 16, 4)
                    End If

                    If FcsCount = FcsRead Then

                        Select Case RtCommand
                            Case "0101"
                                RtMsg = Microsoft.VisualBasic.Mid(PLCRtString, 20, 4)
                                If RtMsg = OKMsg Then
                                    '=1寫入PLC值正常
                                    RtValue(0) = Microsoft.VisualBasic.Mid(PLCRtString, 24, 4)
                                    RtErrValue(0) = "1"
                                    Exit Sub
                                End If

                            Case "0102"
                                RtMsg = Microsoft.VisualBasic.Mid(PLCRtString, 20, 4)
                                If RtMsg = OKMsg Then
                                    '=1寫入PLC值正常
                                    RtErrValue(0) = "1"
                                    Exit Sub
                                End If
                            Case Else
                                '不能識(shí)別通訊命令
                                RtErrValue(0) = "9002"
                                Exit Sub

                        End Select






                    Else
                        '返回校驗(yàn)碼不對(duì)報(bào)警
                        RtErrValue(0) = "9001"
                    End If




                Else
                    '返回字符串長(zhǎng)度不夠報(bào)警
                    RtErrValue(0) = "9000"

                End If
            Catch ex As Exception
                MLog.LogErrWrite(ex.ToString)
            End Try
          



        End Sub

        Sub ResetErr()
            Try
                If OmronPLC.IsOpen = True Then
                    OmronPLC.Close()
                End If


                If OmronPLC.IsOpen = False Then
                    OmronPLC.Open()
                End If

                PLCBusyBit = False
            Catch ex As Exception
                MLog.LogErrWrite(ex.ToString)
                MsgBox(ex.Message)
            End Try

        End Sub


    End Class
    本帖最近評(píng)分記錄:
  • 下載積分:+1(吃個(gè)鴨梨) 熱心助人!
  • 下載積分:+5(dujiang100) 熱心助人!
    shuangyu
    工控行業(yè)呆的越久越迷茫.......懂得多?少?......
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 329 個(gè)
    工控威望: 891 點(diǎn)
    下載積分: 1083 分
    在線時(shí)間: 115(小時(shí))
    注冊(cè)時(shí)間: 2009-08-04
    最后登錄: 2024-07-12
    查看shuangyu的 主題 / 回貼
    8樓  發(fā)表于: 2016-04-13 18:20
    2015年一個(gè)項(xiàng)目寫的 工控機(jī) 與OMRON CP1H串口通訊, 使用FAINS 能夠穩(wěn)定的讀寫數(shù)據(jù);
    本帖最近評(píng)分記錄:
  • 下載積分:+1(oahz55) 熱心助人!
  • 下載積分:+1(靜水磐石) 厲害
    xyzenter
    活在當(dāng)下,順其自然
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 130 個(gè)
    工控威望: 266 點(diǎn)
    下載積分: 2080 分
    在線時(shí)間: 108(小時(shí))
    注冊(cè)時(shí)間: 2014-04-09
    最后登錄: 2021-04-13
    查看xyzenter的 主題 / 回貼
    9樓  發(fā)表于: 2016-04-14 11:32
          如果用HostLink通訊,F(xiàn)INS指令,上位機(jī)要等待PLC某些步驟準(zhǔn)備好,就要上位機(jī)監(jiān)控PLC某位是否是設(shè)定值,那就需要不斷循環(huán)地發(fā)讀指令,這時(shí)候串口一直在工作,上位機(jī)程序一直調(diào)用串口函數(shù),這樣會(huì)顯得很繁忙,整個(gè)程序的資源都被串口收發(fā)給占用了,程序經(jīng)常處在假死狀態(tài)。這樣的程序顯然是有很大缺陷的。
          最好的解決辦法當(dāng)然是用中斷來(lái)代替循環(huán)等待。然而,F(xiàn)INS指令無(wú)法讓PLC主動(dòng)發(fā)送就緒信號(hào),無(wú)法提供這個(gè)中斷。哪位高手有辦法解決這個(gè)問(wèn)題?
    shuangyu
    工控行業(yè)呆的越久越迷茫.......懂得多?少?......
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 329 個(gè)
    工控威望: 891 點(diǎn)
    下載積分: 1083 分
    在線時(shí)間: 115(小時(shí))
    注冊(cè)時(shí)間: 2009-08-04
    最后登錄: 2024-07-12
    查看shuangyu的 主題 / 回貼
    10樓  發(fā)表于: 2016-04-14 23:20
    線程 批量讀取
    dujiang100
    我是一只小小鳥
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 426 個(gè)
    工控威望: 642 點(diǎn)
    下載積分: 1895 分
    在線時(shí)間: 243(小時(shí))
    注冊(cè)時(shí)間: 2011-03-11
    最后登錄: 2024-05-22
    查看dujiang100的 主題 / 回貼
    11樓  發(fā)表于: 2016-04-21 16:47
    然而VB6是單線程的.

    主站蜘蛛池模板: 国产黑色丝袜呻吟在线91 | 日韩精品三区 | 久久精品毛片免费观看 | 亚洲精品久久蜜桃站 | 亚洲国产天堂一区二区三区 | 国产色婷婷五月精品综合在线 | 国产丝袜无码一区二区三区视频 | 黄色网日本 | 国产av亚洲第一女人av | 军人粗大的内捧猛烈进出视频 | 可以直接免费观看的av网站 | 亚洲a∨无码无在线观看 | 日日av拍夜夜添久久免费浪潮 | 伊人久久伊人 | 中国少妇初尝黑人巨高清 | 国产成人一区二区三区免费 | 亚洲精品成a人在线观看 | 久久精品噜噜噜成人av | 国产精品三级三级三级 | 萌白酱一区二区 | 毛片24种姿势无遮无拦 | 狠狠色噜噜狠狠狠888777米奇 | 亚洲欧美综合精品成人导航 | 久久无码中文字幕久久无码app | 夜色在线视频 | 极品粉嫩福利午夜在线播放 | 中文文字幕文字幕高清 | 久青青在线观看视频国产 | 国产在线精品免费 | 日韩最新中文字幕 | 少妇人妻真实偷人精品视频 | 亚洲国产人成自精在线尤物 | 国产三级韩国三级日产三级 | 免费不卡毛片 | 精品无码国产污污污免费 | 韩国 日本 亚洲 国产 不卡 | 久爱无码免费视频在线 | 久久婷婷国产 | 欧洲美熟女乱av在 | 久久久久人妻精品一区蜜桃网站 | 一区二区日韩欧美 | 一区二区三区在线 | 欧洲 | 精品无人乱码高清在线观看 | 亚洲一区二区无码偷拍 | 欧美国产精品一二三 | 免费人成精品欧美精品 | 人妻与子交毛片 | 无码人妻久久一区二区三区免费丨 | 午夜dv内射一区二区 | 国产日韩精品一区二区 | av片在线观看永久免费 | 中文字幕天堂 | 久久久久有精品国产麻豆 | 国产免费丝袜调教视频 | 婷婷五月综合激情中文字幕 | 亚洲综合一区二区三区四区五区 | 精品国产一区二区三区不卡在线 | 午夜福利试看120秒体验区 | 137肉体摄影日本裸交 | 四库影院永久四虎精品国产 | 内射口爆少妇麻豆 | 清纯小美女主播流白浆 | 又粗又紧又湿又爽的视频 | 黄色小视频在线 | 日本又黄又猛又爽免费视频 | 精品超清无码视频在线观看 | 国产午夜精品一区二区三区软件 | 久草精品视频在线观看 | 日日夜夜伊人 | 英语老师丝袜娇喘好爽视频 | 丰满肥臀风间由美357在线 | 久久网av | 国产微拍精品一区二区 | 亚洲欧洲日本精品专线 | 99久久婷婷国产综合精品 | 亚洲一区二区三区小说 | 国产国产成人免费c片 | 国产中文欧美日韩在线 | 毛片视频观看 | 亚洲狠狠干 | 国产91网| 国产精品va在线观看无码不卡 | 好黄好硬好爽免费视频一 | 无遮挡啪啪摇乳动态图gif | 噜噜噜狠狠夜夜躁精品仙踩林 | 国产亚洲精品久久久久久小舞 | 日韩黄色在线免费观看 | av影音在线| 亚洲美女自拍偷拍 | 成人午夜高潮免费视频 | 国产精品爽爽久久久久久无码 | 午夜久久久久久久 | 天天狠天天透天干天天怕∴ | 欧美成人天天综合在线 | 久久婷婷一级淫片aaa谢语彤 | 国产97色在线 | 日 | 成人精品毛片国产亚洲av十九禁 | 国产白丝精品91爽爽久 | 欧美国产在线看 |