日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python使用python-snap7实现西门子PLC通讯

發(fā)布時間:2023/12/9 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python使用python-snap7实现西门子PLC通讯 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python簡介

Python是開源的高級編程語言之一,廣泛應(yīng)用于人工智能、數(shù)據(jù)分析、爬蟲等領(lǐng)域。由于它擁有大量的開源庫和標(biāo)準(zhǔn)庫,以及簡單且貼近自然語言的語法,所以即便是從未接觸過編程的人,也能快速上手。2021年10月,Python登頂Tiobe,成為全世界最熱門的編程語言之一。

以下摘自百度百科:

Python由荷蘭數(shù)學(xué)和計算機(jī)科學(xué)研究學(xué)會的吉多·范羅蘇姆 于1990 年代初設(shè)計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭ython語法和動態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。??

需要注意的是,Python存在2.x版本和3.x版本,本文使用的是3.x的版本。

本文代碼已上傳至GitHub,項目地址如下:

https://github.com/XMNHCAS/Snap7PythonDemo


Snap7簡介

snap7是一個由國外程序員開發(fā)的基于以太網(wǎng)與西門子S7系列PLC的通訊的開源庫,類似于C#的S7.Net,但是它不單只支持Python,還支持Java、C/C++、C#等語言。

以下是snap7的官網(wǎng):

http://snap7.sourceforge.net/

官網(wǎng)包含了使用文檔、源碼、歷史版本等說明,可以根據(jù)需要自行查閱。

而python-snap7則是snap7的python版本,有單獨的文檔以及使用說明,只能用于python,以下是官方文檔及GitHub鏈接:

python-snap7官方文檔

GitHub


導(dǎo)入python-snap7

首先需要安裝python-snap7,打開cmd,輸入以下命令,安裝python-snap7

pip3 install python-snap7

?

打開vscode,新建一個py文件,然后在最上面導(dǎo)入snap7

如果不知道如何安裝python和使用vscode進(jìn)行python代碼編輯,可以百度一下,此處不贅述如何配置Python開發(fā)環(huán)境

import snap7

創(chuàng)建連接

snap7實現(xiàn)通訊的時候,是將PLC作為服務(wù)端,PC以客戶端的身份主動連接的,所以最開始的時候,我們應(yīng)該創(chuàng)建通訊需要使用的客戶端

# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)

如果手頭沒有PLC,可以參考我寫的這篇文章:C#使用S7NetPlus以及PLCSIM Advanced V3.0實現(xiàn)西門子PLC仿真通訊

使用PLCSIM Advanced可以仿真出PLC來進(jìn)行通訊測試

測試連接功能是否正常:

import snap7# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)# 打印連接狀態(tài) print(f"連接狀態(tài):{plcObj.get_connected()}")# 關(guān)閉連接 plcObj.disconnect()# 打印連接狀態(tài) print(f"連接狀態(tài):{plcObj.get_connected()}")


讀取數(shù)據(jù)

python-snap7并未集成像S7.Net那樣的讀取即刻解析數(shù)據(jù)的功能,所以無論是讀還是寫,都是需要進(jìn)行字節(jié)轉(zhuǎn)換的。

以讀取DB10的以下的五個變量為例:

打開TIA Protal,創(chuàng)建DB塊,編號為10,并添加如下圖所示的變量并賦初值,下載到仿真的PLC后打開打開數(shù)值監(jiān)控:

首先我們需要計算需要讀取的總字節(jié)數(shù),也就是最后一個變量的地址(即偏移量)加上它的數(shù)據(jù)長度。可以看到,上面的六個變量中,最后一個地址是264,WString為512字節(jié),所以需要讀取的總字節(jié)數(shù)為264+512=776個。

所以第一步,把這776個字節(jié)都讀取上來:

data = plcObj.db_read(10, 0, 776)

其中,plcObj是我們剛剛創(chuàng)建的通訊客戶端對象,db_read是它的讀取DB塊的方法,第一個參數(shù)是DB號,第二個是要讀取的字節(jié)起始的起始地址,第三個參數(shù)是要讀取的字節(jié)總數(shù),用data這個變量來接收這些數(shù)據(jù)。

當(dāng)然也可以寫成這種形式:

data = plcObj.read_area(snap7.client.Areas.DB, 10, 0, 776)

read_area是讀取任意區(qū)域的方法,通過第一個參數(shù)的枚舉來區(qū)分讀取的區(qū)域,如input、output、DB等,后面三個參數(shù)與db_read一致。

當(dāng)我們需要的數(shù)據(jù)以字節(jié)的形式讀取上來以后,我們就可以進(jìn)行解析了。


解析數(shù)據(jù)

這里解析的方法有兩種,第一種是使用python自身的數(shù)據(jù)類型轉(zhuǎn)換的方法進(jìn)行解析,第二種是使用python-snap7提供的轉(zhuǎn)換方法進(jìn)行解析。

Python自身函數(shù)

首先我們介紹第一種方法,使用python自身的數(shù)據(jù)類型轉(zhuǎn)換的方法進(jìn)行解析。

在python中,bool、int兩個類型都有一個from_bytes的方法,可以通過這個方法來將字節(jié)數(shù)組轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)。但是需要注意的是,在PLC中,數(shù)據(jù)是大端存儲的,而PC中一般是小端存儲,所以在這樣進(jìn)行轉(zhuǎn)換的時候,需要加上byteorder='big',來聲明讀取上來的字節(jié)是大端存儲的方式。故前面的bool和int變量都可以以這種方式進(jìn)行解析:

# 讀取bool的值 bool.from_bytes(data[0:1], byteorder='big') # 讀取int的值 int.from_bytes(data[2:4], byteorder='big')

其中[ 數(shù)字 : 數(shù)字 ]是python截取數(shù)組的語法,左邊的數(shù)字是截取的起始索引號,右邊的是截取的停止的索引號,需要注意的是,右邊的索引是不會被截取的,所以像上面代碼的data[ 0 : 1 ],實際上截取的只有data[0],而data[ 2 : 4 ],截取的則是data[2]和data[3]。如果左邊的數(shù)字不填,則默認(rèn)從索引0開始截取;而如果右邊的數(shù)字不填,則默認(rèn)截取剩余的所有元素。

而對于字符串,python提供了decode方法,可以將字符串的字節(jié)數(shù)組按照指定的編碼格式來轉(zhuǎn)換為字符串。不過PLC中的字符串的頭字節(jié)是字符串的變量長度和字符串的實際長度,所以需要跳過這些字節(jié)來讀取實際的數(shù)據(jù)。string類型是單字節(jié)存儲的ASCII編碼的字符串,所以跳過前兩個字節(jié)。而wstring類型則是雙字節(jié)存儲的UTF-16BE編碼的字符串,所以需要跳過前四個字節(jié)。

# 讀取string的值 data[10:264].decode(encoding="ascii") # 讀取wstring的值 data[268:].decode(encoding="utf-16be")

在python中,float類型沒有像bool和int一樣的from_bytes方法,這個時候我們就需要使用struct來進(jìn)行解析。struct是python的模塊之一,可以用以解析字節(jié),剛剛說到的bool、int和字符串都可以用它來解析,當(dāng)然float也是可以的,不過要講的話東西就會比較多,此次就不深入講解了。

struct有pack和unpack兩個方法,分別用以將數(shù)據(jù)轉(zhuǎn)換為字節(jié)流和將字節(jié)流解析為對應(yīng)的數(shù)據(jù),如下所示,即可將real數(shù)值轉(zhuǎn)換為python的float類型:

# 讀取real的值 struct.unpack('>f', data[4:8])[0]

第一個參數(shù)是指定需要轉(zhuǎn)換成的數(shù)據(jù)類型,“f”代表float類型,前面加的“>”代表這個字節(jié)數(shù)組是大端存儲的方式,第二個參數(shù)是需要轉(zhuǎn)換的字節(jié)流。由于unpack是以元組的形式返回的數(shù)據(jù),所以需要加[0]來獲取它返回的第一個數(shù)據(jù)。

接下來運行一下我們的代碼,來查看讀取結(jié)果:

import snap7 import struct# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)# 讀取數(shù)據(jù) data = plcObj.db_read(10, 0, 776)# 關(guān)閉連接 plcObj.disconnect()# python解析 selfBool = bool.from_bytes(data[0:1], byteorder='big') selfInt = int.from_bytes(data[2:4], byteorder='big') selfReal = struct.unpack('>f', data[4:8])[0] selfString = data[10:264].decode(encoding="ascii") selfWString = data[268:].decode(encoding="utf-16be") print("python自身函數(shù)解析:") print(f"bool:{selfBool}; int:{selfInt}; real:{selfReal}; string:{selfString}; wstring:{selfWString}" )

?

對比我們上面的PLC中的數(shù)值,基本上是沒什么問題的。至于為什么real里的30.1,讀上來之后會變成30.100000381469727,是因為計算機(jī)中的浮點型的存儲規(guī)則決定了浮點數(shù)在部分情況下只能是個近似值,并非是python的問題,由于誤差是比較小,實際應(yīng)用時一般可以忽略不計。

通過上述方法,我們可以知道python自身就足以解析PLC讀取上來的字節(jié),但是這種方法對于部分人來說可能不是那么好理解,使用起來也不是那么簡單直觀,而且更重要的是,這種方法解析bool值存在一點小問題,畢竟python對二進(jìn)制的位操作支持得并沒有C#那么好。

python-snap7函數(shù)

接下來我們來介紹第二種方法,使用python-snap7提供的轉(zhuǎn)換方法進(jìn)行解析。

首先查看文檔,可以看到snap7中有一個util的模塊,它提供了多種數(shù)據(jù)類型的轉(zhuǎn)換方法,可以將從PLC讀取上來的字節(jié)直接解析為python可識別的數(shù)據(jù)類型。

首先導(dǎo)入util,這樣我們可以少寫個snap7,提高代碼的簡明性。?

from snap7 import util

根據(jù)文檔,我們寫出以下轉(zhuǎn)換代碼:

# Bool的值 util.get_bool(data, 0, 0) # Int的值 util.get_int(data, 2) # Real的值 util.get_real(data, 4) # String的值 util.get_string(data, 8, 256)

可以看到,我們在使用snap7的轉(zhuǎn)換方法的時候,只需要把我們讀取到的字節(jié)數(shù)組以及數(shù)據(jù)的起始索引傳進(jìn)去即可,比起使用python自身的方法會更加簡單。

get_bool方法的第三個參數(shù)為該字節(jié)的第幾個bool量,因為一個bool量只需要一個位來表示,而一個字節(jié)是包含八個位的,也就是說這個字節(jié)可以表示八個bool量,在這里對應(yīng)的DB10里地址為0.0~0.7的八個bool量,由于我們要讀取的是地址0上的第一個bool量,所以第二個參數(shù)和第三個參數(shù)分別為0,0。

get_string方法的第三個參數(shù)為該字符串的最大長度,由于string類型共有256個字節(jié),所以此處填256。

打印一下兩種方法的結(jié)果:

import snap7 import struct from snap7 import util# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)# 讀取數(shù)據(jù) data = plcObj.db_read(10, 0, 776)# 關(guān)閉連接 plcObj.disconnect()# python解析 selfBool = bool.from_bytes(data[0:1], byteorder='big') selfInt = int.from_bytes(data[2:4], byteorder='big') selfReal = struct.unpack('>f', data[4:8])[0] selfString = data[10:264].decode(encoding="ascii") selfWString = data[268:].decode(encoding="utf-16be") print("python自身函數(shù)解析:") print(f"bool:{selfBool}; int:{selfInt}; real:{selfReal}; string:{selfString}; wstring:{selfWString}" )# snap7解析 snap7Bool = util.get_bool(data, 0, 0) snap7Int = util.get_int(data, 2) snap7Real = util.get_real(data, 4) snap7String = util.get_string(data, 8, 256) snap7WString = util.get_string(data, 264, 508) print("snap7函數(shù)解析:") print(f"bool:{snap7Bool}; int:{selfInt}; real:{snap7Real}; string:{snap7String}; wstring:{snap7WString}" )

?

可以看到,wstring讀取出來的結(jié)果是亂碼,這是因為python-snap7的頭字節(jié)解析及編碼格式問題,所以當(dāng)我們讀取wstring的時候,最好還是用python自己的decode方法


寫入數(shù)據(jù)

與讀取數(shù)據(jù)一樣,寫入數(shù)據(jù)也有兩種方式,但是區(qū)別也僅僅是生成寫入數(shù)據(jù)的字節(jié)方式不用。

寫入數(shù)據(jù)可以調(diào)用db_write方法,也可以調(diào)用write_area,與讀取數(shù)據(jù)一樣,前者只能用以寫入DB塊,后者可以寫入任意區(qū)域。

plcObj.write_area(snap7.client.Areas.DB,10,0,data) plcObj.db_write(10,0,data)

?data是需要寫入的數(shù)據(jù)的字節(jié)形式。

Python轉(zhuǎn)換

我們在解析讀取數(shù)據(jù)的時候提到,bool和int有from_bytes,同樣的它們也有to_bytes方法,用以將數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的字節(jié)數(shù)組的形式:

# bool的字節(jié) bool.to_bytes(True, 1, 'big')# int的字節(jié)數(shù)組(雙字節(jié)) int.to_bytes(200, 2, 'big')

同樣的,字符串類型有解碼的decode方法,也有轉(zhuǎn)碼的encode方法:

# string的字節(jié)數(shù)組 str = 'hello python' str.encode(encoding='ascii')# wstring的字節(jié)數(shù)組 str = '中國北京市' str.encode(encoding='utf-16be')

而對于float類型要用的struct,我們解析數(shù)據(jù)時用到了它的unpack方法,而轉(zhuǎn)換為字節(jié)的時候,我們就需要調(diào)用它的pack方法:

# float的字節(jié)數(shù)組 struct.pack(">f", 10.1)

所以我們能很輕易地寫出寫入數(shù)據(jù)的代碼:

import snap7 import struct# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)# 寫入DB10.0 —— bool值 plcObj.write_area(snap7.client.Areas.DB, 10, 0, bool.to_bytes(False, 1, 'big'))# 寫入DB10.2 plcObj.write_area(snap7.client.Areas.DB, 10, 2, int.to_bytes(200, 2, 'big')) # plcObj.write_area(snap7.client.Areas.DB, 10, 2, struct.pack(">h", 112))# 寫入DB10.4 —— real值 plcObj.write_area(snap7.client.Areas.DB, 10, 4, struct.pack(">f", 10.1))# 寫入DB10.8 —— string值 str = 'hello python' data = int.to_bytes(254, 1, 'big') + int.to_bytes(len(str), 1, 'big') + str.encode(encoding='ascii') plcObj.write_area(snap7.client.Areas.DB, 10, 8, data)# 寫入DB10.264 —— wstring值 str = '中國北京市' data = int.to_bytes(508, 2, 'big') + int.to_bytes(len(str), 2, 'big') + str.encode(encoding='utf-16be') plcObj.write_area(snap7.client.Areas.DB, 10, 264, data)# 關(guān)閉連接 plcObj.disconnect()

運行程序后,回到TIA Protal的監(jiān)視界面可以看到,數(shù)值已經(jīng)被更改了:

python-snap7轉(zhuǎn)換

python-snap7提供了不同數(shù)據(jù)類型的轉(zhuǎn)換方法,如下圖所示:

?所以根據(jù)我們這里的五種變量類型,可以寫出對應(yīng)的轉(zhuǎn)換代碼:

# bool的字節(jié)數(shù)組 boolData = bytearray(1) util.set_bool(boolData, 0, 0, True)# int的字節(jié)數(shù)組 intData = bytearray(2) util.set_int(intData, 0, 100)# real的字節(jié)數(shù)組 realData = bytearray(4) util.set_real(realData, 0, 20.5)# string的字節(jié)數(shù)組 str = "hello snap7" stringData = bytearray(len(str) + 2) util.set_string(stringData, 0, str, 256) stringData[0] = 254

需要注意,string類型在調(diào)用了set_string方法后,首字節(jié)的字符最大值依舊是0,可能是python-snap7目前仍然存在的小bug,所以需要手動修改為真實的最大值。

由于目前并沒有set_wstring方法,而且set_string方法也不支持wstring,所以wstring依然使用python的decode方法進(jìn)行寫入。

寫入代碼如下:

import snap7 from snap7 import util# 創(chuàng)建通訊客戶端實例 plcObj = snap7.client.Client()# 連接至PLC plcObj.connect('192.168.10.230', 0, 1)# 寫入bool boolData = bytearray(1) util.set_bool(boolData, 0, 0, True) plcObj.db_write(10, 0, boolData)# 寫入int intData = bytearray(2) util.set_int(intData, 0, 100) plcObj.db_write(10, 2, intData)# 寫入real realData = bytearray(4) util.set_real(realData, 0, 20.5) plcObj.db_write(10, 4, realData)# 寫入string str = "hello snap7" stringData = bytearray(len(str) + 2) util.set_string(stringData, 0, str, 256) stringData[0] = 254 plcObj.db_write(10, 8, stringData)# 寫入wstring str = '中國廣州市' data = int.to_bytes(508, 2, 'big') + int.to_bytes(len(str), 2, 'big') + str.encode(encoding='utf-16be') plcObj.db_write(10, 264, data)plcObj.disconnect()

再打開TIA Protal,可以看到數(shù)據(jù)已經(jīng)成功寫入。


結(jié)尾

本文介紹了怎么使用python實現(xiàn)西門子PLC的通訊,如果會C#的寫法的話,可以很明顯感覺到python的代碼量會比C#少,但是相對的,數(shù)據(jù)解析也會比C#稍微麻煩一點。不過底層的通訊原理都是一樣的,只是具體實現(xiàn)方式不同而已。

總結(jié)

以上是生活随笔為你收集整理的Python使用python-snap7实现西门子PLC通讯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

精品国产一区二区三区不卡 | 伊人看片| 美女中文字幕 | 国产视频导航 | 国产精品久久网 | 91精品小视频 | 久久久夜色 | 特级毛片在线免费观看 | 免费观看国产精品 | 国产精品久久久视频 | 成 人 黄 色 片 在线播放 | 免费av网站观看 | 久久精品日本啪啪涩涩 | 久久网站免费 | 中文字幕一区二区三区视频 | 久久精品一级片 | 成人久久18免费网站图片 | 福利视频导航网址 | 中文在线a∨在线 | 国产精品电影一区二区 | 天天射成人 | 99热这里有精品 | 日韩天天综合 | 久久国产成人午夜av影院潦草 | 日b视频在线观看网址 | 91精彩在线视频 | 国产精品 国内视频 | 日韩在线激情 | 亚洲天堂网在线视频观看 | 97久久精品午夜一区二区 | 天天鲁天天干天天射 | 国产区 在线| 玖玖视频国产 | 97超碰在线视| 综合久久久 | 看片的网址 | 激情综合中文娱乐网 | 999久久国精品免费观看网站 | 东方av在 | 中文欧美字幕免费 | 麻豆影视网站 | 热99在线 | 国产精品激情偷乱一区二区∴ | 在线观看91网站 | 又黄又爽的视频在线观看网站 | 久久精品激情 | 99在线视频精品 | 久久狠狠亚洲综合 | 午夜黄色影院 | 久久色视频 | 亚洲精品国产综合99久久夜夜嗨 | 视频在线观看亚洲 | 日韩中文字幕亚洲一区二区va在线 | 国产精品久久久毛片 | 在线观看精品黄av片免费 | 国产精品18久久久久久不卡孕妇 | 欧美少妇xxx | 正在播放国产91 | 西西www444| 色婷婷免费视频 | 久草在线免费色站 | 黄网站色视频免费观看 | 美女视频a美女大全免费下载蜜臀 | 国产精品6999成人免费视频 | 91最新在线观看 | 91黄色免费看 | 国产精品99久久久久 | 在线国产一区二区 | 91视频在线免费 | 久久精品久久精品久久 | 一级淫片在线观看 | 欧美亚洲一区二区在线 | 91福利社区在线观看 | 久久99电影 | 国产中文自拍 | 国产老太婆免费交性大片 | 婷婷久久国产 | 人人爽人人片 | 亚洲精选视频在线 | 国产高清免费观看 | 91九色国产视频 | 国产精品福利在线播放 | av免费在线播放 | 在线日韩中文 | 91精品国产高清自在线观看 | 久草久草在线观看 | www国产亚洲精品久久麻豆 | 奇米四色影狠狠爱7777 | 日韩黄色在线观看 | 久久天堂影院 | 日日夜夜综合 | 六月色丁香 | 久久午夜精品 | 欧美va天堂在线电影 | 欧美日韩国产页 | 91中文字幕一区 | 在线中文字幕观看 | 国产福利免费看 | 亚洲激情六月 | 欧美精品久久久久久久久久丰满 | 天天操比 | 欧美激情综合五月色丁香小说 | 69国产成人综合久久精品欧美 | 国内精品久久久久久久久久清纯 | 黄色综合| 欧美一级电影在线观看 | 91最新国产 | 色婷婷av国产精品 | 亚洲精品国产日韩 | 国产伦理久久精品久久久久_ | www.av免费| 在线成人免费电影 | 久久精品国产99 | 国产一二三区av | 国产成人三级一区二区在线观看一 | 亚洲午夜精品一区二区三区电影院 | 国产精品高潮在线观看 | 超碰激情在线 | 国产中文字幕在线播放 | 人人天天夜夜 | 麻豆传媒电影在线观看 | 日本在线观看一区二区 | 在线看国产 | 国产一区网址 | 超碰激情在线 | 色婷婷免费视频 | 国产激情小视频在线观看 | 亚洲精品小视频 | 国产精品色在线 | 亚洲精品伦理在线 | 91 中文字幕 | 欧美日韩裸体免费视频 | 国产99久久久欧美黑人 | 国产 日韩 欧美 中文 在线播放 | 天天色天天射天天操 | 欧美在线资源 | 亚洲2019精品| 欧美精品久久久久久久久免 | 日本黄色免费播放 | 东方av在线免费观看 | 色婷婷视频在线观看 | 美女网站在线观看 | 欧美激情奇米色 | 成人免费在线视频观看 | 国产无限资源在线观看 | 久久国产一区二区三区 | 日韩久久激情 | 欧美va天堂va视频va在线 | 黄色小说在线观看视频 | 欧美精品久久99 | 中文字幕在线观看完整版电影 | 国产1区2区 | 国产精品系列在线 | 婷久久| 五月天国产 | 国产在线精品视频 | 国产精品久久久久永久免费看 | 一区二区三区 中文字幕 | 园产精品久久久久久久7电影 | 人人看黄色 | 国产人成一区二区三区影院 | 激情综合色播五月 | 国内少妇自拍视频一区 | 国产黄色视 | 成人免费网站在线观看 | 国产精品爽爽爽 | 色综合a| 欧美日韩破处 | 精品久久久久久久久久久久久久久久 | 国色天香在线观看 | 99在线热播精品免费99热 | 狠狠地日| 久久96| 成人在线免费视频 | 久久久99精品免费观看乱色 | 亚洲国产精品视频 | 丁香六月网| 四虎视频 | 国产精品毛片一区二区三区 | 亚洲激情视频在线观看 | 国产精品不卡在线播放 | 欧美大片在线观看一区 | 日韩免费在线视频观看 | 亚洲国产福利视频 | 少妇按摩av | 亚洲在线视频网站 | 2020天天干天天操 | 激情综合中文娱乐网 | 亚洲精品视频在线观看免费视频 | 日本中文字幕在线看 | 国产成人一区二区三区免费看 | 国产69精品久久99不卡的观看体验 | 美女视频永久黄网站免费观看国产 | 黄a网| 麻豆视频免费在线播放 | 欧美日韩一区二区三区不卡 | 91精品视频免费观看 | 91豆花在线 | 久草影视在线观看 | 射射射综合网 | 午夜婷婷在线观看 | 国产最顶级的黄色片在线免费观看 | 亚洲精品在线视频观看 | 福利一区二区三区四区 | 91精品在线免费观看 | 久艹视频在线观看 | 久久久久一区二区三区 | 欧美日韩1区 | 天天艹天天爽 | 热久久视久久精品18亚洲精品 | 国产1区在线观看 | 国产亚洲在 | 911免费视频| 免费亚洲电影 | 国产一区二区精 | 国产99久久久国产精品 | 天天躁日日躁狠狠躁av中文 | 国产亚洲情侣一区二区无 | 天天干,天天操,天天射 | 激情久久五月天 | 六月天色婷婷 | 婷婷色网视频在线播放 | 国产成人精品一区二 | 免费中文字幕在线观看 | 成年人在线免费看视频 | 免费亚洲黄色 | 毛片视频网址 | 视频精品一区二区三区 | 三级性生活视频 | 激情久久综合网 | 国产理论片在线观看 | 日韩在线观看免费 | 日韩欧美在线一区 | 色婷婷狠狠五月综合天色拍 | 中文字幕免费高清在线观看 | 欧美 日韩 视频 | 久久字幕 | 亚洲精品毛片一级91精品 | 操久久免费视频 | 国产精品成人久久 | 99r在线视频 | 亚洲国产视频网站 | av在线之家电影网站 | 欧洲激情在线 | 国产色视频网站2 | 青青河边草免费观看完整版高清 | 亚洲精品福利在线观看 | 黄色一及电影 | 深夜男人影院 | 久久9999久久免费精品国产 | 狠狠狠色| 精品视频国产 | 中文字幕在线观看国产 | 色五丁香| 久艹在线播放 | 99精品乱码国产在线观看 | 91夫妻自拍 | 狠狠色丁香婷婷综合最新地址 | 天天视频色 | 97热久久免费频精品99 | 蜜臀久久99静品久久久久久 | 亚洲精品777 | 欧美日韩精品在线观看 | 久久avav | 在线观看视频99 | 国产视频不卡 | 亚洲a色 | 国产v欧美| 国产亚洲精品免费 | 麻豆视频国产在线观看 | 在线国产欧美 | 天天干 天天摸 天天操 | 91在线网站 | 国产成人精品国内自产拍免费看 | 久久精品视频国产 | 91精品国产欧美一区二区成人 | 国产精品一区二区久久精品爱微奶 | 国产精品一区二区在线观看免费 | 久久夜靖品 | 国产精品涩涩屋www在线观看 | 黄色大全免费观看 | 国产免费xvideos视频入口 | 色视频在线看 | 国产高清av| 日韩在线高清免费视频 | 成人av直播 | 国产操在线| 久久精品国产99 | 欧美久久久影院 | 久久精品免费播放 | 久热久草 | 日韩综合在线观看 | av日韩国产| 五月天综合 | 91在线免费公开视频 | 91久久国产露脸精品国产闺蜜 | 日韩欧美高清视频在线观看 | 三级av小说 | 黄色一级免费网站 | 久久九九国产视频 | 97人人爽人人 | 丁香激情五月婷婷 | 精品国产自在精品国产精野外直播 | 欧美精品你懂的 | 天天操天天干天天 | 日韩国产精品久久 | 美女视频黄频 | 国产自在线 | 国产精品自在线拍国产 | 国产精品 国内视频 | 黄色网在线免费观看 | 最近日本mv字幕免费观看 | 国产69熟| 亚洲最新合集 | 色偷偷男人的天堂av | 亚洲国产精品500在线观看 | 99视频偷窥在线精品国自产拍 | 久久久久久国产精品 | 国外成人在线视频网站 | 一级片视频免费观看 | 波多野结衣在线视频免费观看 | 国产精品v a免费视频 | 丝袜足交在线 | 国产网红在线观看 | 精品a在线 | 国产精品久久久久久999 | av黄色成人| 色天天综合久久久久综合片 | 97免费在线观看视频 | 999成人国产| 久久久国产成人 | 久草香蕉在线 | av黄在线播放 | 色九九视频 | 中文字幕高清在线播放 | 欧美激情视频一二区 | 国产美女在线免费观看 | 91av在线免费观看 | 成人资源在线观看 | 91亚洲欧美激情 | 中文字幕一区二区三区久久 | 久久这里只有精品视频首页 | 日韩v欧美v日本v亚洲v国产v | 中文字幕黄色网 | 色婷婷国产在线 | 天天艹天天 | 91精品中文字幕 | 激情av资源 | 日韩高清一| 一区二区三区免费播放 | 国产精品久久久久久久久毛片 | 亚洲精品视频网站在线观看 | www.99久久.com | av高清网站在线观看 | 日韩精品无码一区二区三区 | 欧美aaa大片 | 天堂在线一区二区 | 中文字幕在线一二 | 精品久久国产一区 | 亚洲视频免费在线观看 | 在线精品观看 | a国产精品 | 国产视频在线观看免费 | 黄色成人毛片 | 九九热免费精品视频 | 中文字幕在线播放日韩 | 亚洲国内精品 | 成人一区二区三区中文字幕 | 欧美日韩不卡在线 | 天天操天天操天天操天天操天天操天天操 | 91久久精品一区二区三区 | av视屏在线播放 | 久草在线网址 | 国产色小视频 | 国模一二三区 | 99久久精品免费看国产一区二区三区 | 久草精品网 | 日韩欧美在线观看一区 | 黄色片亚洲| 欧美福利片在线观看 | 日本精品在线 | 波多野结衣网址 | 黄av免费| 丁香婷婷色综合亚洲电影 | 国产精品久久久久久久久久久杏吧 | 麻豆传媒一区二区 | 日韩黄色免费在线观看 | 亚洲一区欧美激情 | 一级性生活片 | 500部大龄熟乱视频使用方法 | 奇米影视777四色米奇影院 | 91资源在线免费观看 | 17videosex性欧美 | 亚洲国产片色 | 一区二区三区四区五区在线视频 | 最近中文字幕大全中文字幕免费 | 不卡av在线免费观看 | 国产在线超碰 | 美女视频网站久久 | av在线一级 | 久久精品小视频 | 亚洲精品国产片 | 九九九电影免费看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成人一级免费视频 | 久久电影国产免费久久电影 | 香蕉久久国产 | 久久久国产精品人人片99精片欧美一 | 成人免费视频网址 | 日韩av片免费在线观看 | 一级片免费观看视频 | 亚洲精品男女 | 亚洲伦理电影在线 | 国产午夜免费视频 | 九九视频网站 | 国外成人在线视频网站 | 日韩在线色视频 | 制服丝袜天堂 | 国产人成在线视频 | 亚洲高清国产视频 | 国产高清在线看 | 免费高清在线视频一区· | 九九免费精品视频 | 国产成人中文字幕 | 中文字幕a∨在线乱码免费看 | 日韩av网址在线 | .国产精品成人自产拍在线观看6 | 曰韩精品| 国产亚洲一级高清 | 国产精品18久久久久久久久久久久 | 国产一区在线免费观看 | 99视频免费看 | 久久综合色天天久久综合图片 | 亚洲精品午夜国产va久久成人 | 国产一区二区免费看 | 九九久久久 | www日日| 激情偷乱人伦小说视频在线观看 | 国产精品久久久久久久久久不蜜月 | 国产在线色视频 | 六月色婷婷| 97精品超碰一区二区三区 | 波多野结衣在线播放视频 | 日韩av电影手机在线观看 | 97网| 亚洲欧美国产精品 | 99国产精品久久久久久久久久 | 国产精品一区二区三区在线免费观看 | av丁香花 | 91色蜜桃 | 伊人狠狠 | 国产精品成人一区 | 99在线观看免费视频精品观看 | 国产精品久久久久久模特 | 欧美性生活免费 | 特级毛片爽www免费版 | 日韩中文字幕免费视频 | 日本久久中文字幕 | 粉嫩aⅴ一区二区三区 | 永久免费看av | 日日操天天射 | 欧美日韩精品在线视频 | 免费网站看av片 | 在线观看播放av | 热久久最新地址 | 在线观看精品一区 | 国产精品爽爽爽 | 成人a级免费视频 | 日韩伦理片hd | 国产免费观看视频 | 欧美综合在线观看 | 天天色天天| 综合网色| 中文字幕欧美激情 | 91亚瑟视频 | 麻豆影视在线观看 | 亚洲免费在线观看视频 | 91成人免费在线 | 亚洲五月综合 | 天天爽夜夜爽人人爽曰av | 精品一二三区视频 | 97在线免费观看 | 日韩欧在线 | 国产一级视频 | 久久高清av| a黄色大片| 天天色天天射天天综合网 | 中文字幕中文字幕在线中文字幕三区 | av黄色av | 国产香蕉久久 | 色在线国产| 国产又粗又硬又爽的视频 | 色黄www小说 | 一区二区三区中文字幕在线观看 | 最近中文字幕免费av | 久久综合毛片 | 91精品一区在线观看 | 中文字幕免费观看 | 国产精品99精品 | 亚洲妇女av| 国产96精品 | www.五月天婷婷.com | 中文字幕在线看视频 | 米奇狠狠狠888 | 正在播放五月婷婷狠狠干 | 91少妇精拍在线播放 | 国产永久免费高清在线观看视频 | 又色又爽又黄高潮的免费视频 | 国产亚洲久一区二区 | 成人精品一区二区三区中文字幕 | 亚洲免费在线播放视频 | 99超碰在线观看 | 五月色综合| av在线中文 | 中文字幕视频网站 | 国产在线色| 91黄视频在线 | 九九热免费精品视频 | 天天做天天爱天天爽综合网 | 又黄又爽又色无遮挡免费 | 久久成人精品视频 | 欧美精品九九 | 草樱av| 国产麻豆精品在线观看 | 黄污视频网站大全 | 成人小电影在线看 | 国产又粗又硬又爽的视频 | 不卡的av在线播放 | 欧美一区二区三区在线视频观看 | 6080yy精品一区二区三区 | 国产成人精品电影久久久 | 亚洲欧洲精品一区二区精品久久久 | 亚洲一区二区三区毛片 | 在线中文字幕视频 | 一区av在线播放 | 免费av的网站 | 天天看天天干天天操 | 久久婷五月 | 欧美精品久久久久久久久免 | 欧美日韩一区二区三区视频 | 国产成人不卡 | 92av视频 | 色婷婷激情四射 | 久草亚洲视频 | 探花视频在线观看+在线播放 | 久久人人艹 | 国产精品综合久久久久久 | 精品国产免费久久 | 久久久精品国产免费观看同学 | 中文字幕有码在线 | 五月婷婷影视 | 欧美一区日韩精品 | 伊人成人久久 | 国产日产精品一区二区三区四区 | 国产亚洲精品久久久久动 | 日韩免费三区 | 久久久久久久久久久综合 | 欧美人体xx| 最近中文字幕在线 | 天天综合天天综合 | 精品国产色 | 免费看高清毛片 | 日韩精品五月天 | 97在线观看视频免费 | 成人黄色片免费看 | 久草综合在线观看 | 国产色一区 | 亚洲精品激情 | 日韩免费电影在线观看 | 免费一级日韩欧美性大片 | 国产精品一区二区果冻传媒 | 五月激情亚洲 | 精品久久久999 | 亚洲天天摸日日摸天天欢 | 久久天天躁夜夜躁狠狠躁2022 | 成年人黄色在线观看 | 久久99精品国产麻豆婷婷 | 人人草人人草 | 三级免费黄色 | 国产玖玖在线 | 中文在线a√在线 | 91亚洲在线 | 亚洲欧美日韩精品久久奇米一区 | 人人精品久久 | 国产精品久久99 | 麻豆国产电影 | 久久免费视频6 | 8x8x在线观看视频 | 日本女人逼 | 色av男人的天堂免费在线 | 久久精品麻豆 | 99资源网 | 欧美日韩久| 日韩久久久久久久久久 | 日韩精品中文字幕在线不卡尤物 | 亚洲自拍偷拍色图 | 免费毛片一区二区三区久久久 | 成人激情开心网 | 在线中文字幕视频 | av中文字幕在线播放 | 国产视频中文字幕在线观看 | 97超碰在| 美女黄久久 | 欧美福利视频 | 午夜91视频 | 久久96国产精品久久99软件 | 天天干天天上 | 欧美午夜视频在线 | 免费男女羞羞的视频网站中文字幕 | 婷婷久操 | 黄色免费大片 | 亚洲精品www久久久 www国产精品com | 国产一卡二卡在线 | 日韩毛片久久久 | 久久9精品 | 中文在线免费看视频 | 午夜a区 | 91成人精品一区在线播放69 | 久久精品com| 精品九九九 | 91视频高清完整版 | 日本精品视频一区二区 | 久久免费视频这里只有精品 | 成人一级片在线观看 | 亚洲精品综合欧美二区变态 | 成人免费观看网站 | 91人人干| 国产成人黄色在线 | 日本精品视频网站 | 婷婷国产v亚洲v欧美久久 | 久久综合狠狠综合 | 国产中文字幕在线视频 | 波多野结衣在线视频免费观看 | 久久调教视频 | 色综合久久久久综合 | 精品欧美一区二区精品久久 | 久草男人天堂 | 国产夫妻自拍av | 精品国产视频在线观看 | 日韩视频1 | 操少妇视频 | 91成人在线观看高潮 | 中文字幕在线观看你懂的 | 九九涩涩av台湾日本热热 | 亚洲精品国产成人av在线 | 婷婷在线视频观看 | www天天干com| 麻豆传媒视频在线免费观看 | 亚洲国产伊人 | 免费毛片一区二区三区久久久 | 美女视频黄,久久 | 永久免费的av电影 | 99久久精品一区二区成人 | 国产精品一区二区精品视频免费看 | 99精品国产一区二区三区不卡 | 婷婷视频在线观看 | 日韩一区视频在线 | 国产精品久久99综合免费观看尤物 | 99久久999久久久精玫瑰 | 一区 二区 精品 | 天天干com| 一级黄色毛片 | 欧美一级大片在线观看 | 日本mv大片欧洲mv大片 | 日韩精品一区二区三区免费视频观看 | 激情久久伊人 | 亚洲 综合 激情 | 欧美作爱视频 | 欧美精品久久久久久久久老牛影院 | 国产精品久久久久久久久久ktv | 久久久综合精品 | 精品国偷自产在线 | 97人人模人人爽人人喊网 | www.av免费观看 | 日韩欧美高清视频在线观看 | 日韩激情视频在线 | 日韩精品免费在线播放 | 日韩一区二区三区免费视频 | 国产精品国产三级国产不产一地 | 97av超碰| 天堂在线一区 | 91精品亚洲影视在线观看 | 久久综合精品国产一区二区三区 | www99久久| 亚洲精品综合久久 | 日韩精品国产一区 | 九九涩涩av台湾日本热热 | 麻豆视频在线看 | 日日爱av | 天天草天天摸 | 亚洲精品视频第一页 | 99精品在线观看 | 国产精品男女啪啪 | av不卡中文字幕 | 久久高清国产视频 | 欧美中文字幕第一页 | 国产一级二级在线播放 | 欧美性春潮 | 一区二区三区免费网站 | 在线日本看片免费人成视久网 | 亚洲丝袜一区二区 | 国产伦理一区二区 | 日本三级吹潮在线 | 色激情五月 | 精品视频专区 | 久久天天躁夜夜躁狠狠85麻豆 | 久久久影院一区二区三区 | 亚洲天天做 | 99久久www免费 | 亚洲综合色激情五月 | 免费在线色 | 精品亚洲va在线va天堂资源站 | 超碰在线人 | 天天爽天天搞 | 91在线看视频免费 | 国产精品99精品久久免费 | 一区二区三区免费在线 | 欧美肥妇free | 777久久久| 日韩1页| 亚洲一区二区三区miaa149 | 1区2区3区在线观看 三级动图 | 日日夜夜av| 日韩欧美电影在线观看 | 在线a人v观看视频 | 久久另类视频 | 日韩在线播放欧美字幕 | 日日干,天天干 | 成人午夜精品久久久久久久3d | 丝袜少妇在线 | 国产剧情久久 | 97香蕉久久国产在线观看 | 久99久中文字幕在线 | 日韩黄色中文字幕 | 亚洲综合视频在线播放 | 97在线观看视频国产 | www久久久久 | 91原创在线观看 | 操操日| 国产成人精品亚洲a | 黄色av三级在线 | 中文字幕888 | 天天干,天天射,天天操,天天摸 | 久久免费看片 | 天天射天天色天天干 | 91高清免费观看 | 国产精品成人a免费观看 | av超碰免费在线 | 国产精品美女久久久久久久网站 | 国产精品久久久久久高潮 | 久草网在线 | 色久av| 日韩爱爱片 | 日韩久久视频 | 国产aaa免费视频 | 欧美五月婷婷 | 九热精品| 欧美另类视频 | 欧美一区二区在线免费看 | 日本久久电影 | 久久69精品| 婷婷色在线资源 | 97国产在线视频 | 国产aaa大片 | 国产一级视屏 | 91人人在线| 色资源网免费观看视频 | 18性欧美xxxⅹ性满足 | 天堂av在线7| 免费高清在线观看电视网站 | 成年人在线观看视频免费 | 国产99久久精品一区二区300 | 欧美一区二区精美视频 | 日韩在线观看免费 | 夜夜操天天摸 | 亚洲精品国偷拍自产在线观看 | 偷拍福利视频一区二区三区 | 国产在线视频导航 | 蜜臀一区二区三区精品免费视频 | 国产专区在线播放 | 五月天久久久 | 在线 精品 国产 | 激情婷婷亚洲 | 青青河边草手机免费 | 欧美激情第28页 | 四虎影视成人 | 2024国产精品视频 | 99色精品视频 | 国产精品国内免费一区二区三区 | 久久婷婷综合激情 | 久久在线视频在线 | 91香蕉视频黄 | 久久精品久久99精品久久 | 日韩三级在线观看 | 激情欧美一区二区三区 | 日韩高清www | 精品久久免费 | 青草视频在线看 | 特级毛片在线 | 日免费视频 | 日韩一区二区三区免费视频 | 国产福利av在线 | 网站免费黄 | 久久九九影视网 | 五月天最新网址 | 99在线精品视频 | 日韩激情影院 | 日韩综合一区二区 | 久久曰视频| 国产精品亚洲视频 | 日韩欧美精品在线视频 | 91av在线免费视频 | 国产成人av一区二区三区在线观看 | 国产成人综合精品 | 亚州av免费 | 色免费在线| 中文亚洲欧美日韩 | 91亚洲精品久久久蜜桃网站 | www久久国产| 色.www| 丁香av| 欧美在线1区 | 狠狠干婷婷色 | 亚洲国产精品一区二区久久hs | 亚洲欧美成人在线 | 毛片网在线 | 国产中文字幕国产 | 国产黄色免费在线观看 | 狠狠躁日日躁狂躁夜夜躁av | 天天干天天色2020 | av不卡网站 | 国产精品亚洲a | 成人免费观看视频大全 | 欧美久久久久久久久中文字幕 | 国产麻豆果冻传媒在线观看 | 99精品成人 | 综合网天天色 | 国产91电影在线观看 | 伊人五月婷 | 日韩欧美aaa | 全久久久久久久久久久电影 | av高清影院| 日本中文字幕在线电影 | 欧美不卡视频在线 | 少妇bbbb搡bbbb桶 | 久久久久国产精品免费免费搜索 | 特级毛片网 | 日韩精品免费一区二区三区 | 欧美巨乳网 | 日本精品久久久久影院 | 91精品久久久久久久久 | 国产美腿白丝袜足在线av | 视频国产在线 | 国产欧美在线一区二区三区 | 69av在线播放| 国产精品 中文在线 | 久色伊人| 少妇bbbb揉bbbb日本 | 亚洲综合在线一区二区三区 | 91污在线| 国产91探花| 日本99干网| 色偷偷网站视频 | 国产女人免费看a级丨片 | 免费成人av在线 | 日韩,精品电影 | 日韩精品一区二区三区免费视频观看 | 在线观看岛国片 | 一级淫片在线观看 | 国产精品久久久久永久免费看 | 精品国产精品一区二区夜夜嗨 | 人人爽网站 | 国产高清不卡av | 国产精品一区二区 91 | 三级黄色a | 在线免费观看国产精品 | 五月综合久久 | 免费看毛片网站 | 天天操天天吃 | 免费国产在线精品 | 久草视频视频在线播放 | 国产精品视频永久免费播放 | 色噜噜狠狠狠狠色综合久不 | 日韩欧美国产激情在线播放 | 久久久影视 | 黄色三级在线观看 | 久久免费视频2 | 午夜婷婷在线观看 | 久久 地址 | 国产亚洲精品久久19p | 欧美精品久久久久久 | 超碰av在线免费观看 | 中文字幕区 | 国产精品美女久久久久久久久久久 | 伊人狠狠| 亚洲国产精品999 | 日日夜av| 国产色区 | 亚洲婷婷在线视频 | 色综合天天色综合 | 青草视频在线播放 | 亚洲精品国产精品国自产观看 | 久久综合久久综合久久综合 | 精品国产1区2区 | 在线观看国产一区 | 日韩欧美69| 欧美狠狠色 | 免费91麻豆精品国产自产在线观看 | 黄色网址在线播放 | 欧美孕妇与黑人孕交 | 天天操天天干天天操天天干 | 国产成人综合图片 | 国产午夜精品理论片在线 | 国产精品国产三级国产不产一地 | 91av视频导航 | 91日韩免费 | 人人超碰97 | 日本中文字幕一二区观 | 激情开心网站 | 久草在线国产 | 视频1区2区 | 久久久久99999| 18久久久久久 | 色插综合 | 99欧美视频 | 色综合网在线 | 欧美激情一区不卡 | 视频在线观看亚洲 | 日日天天狠狠 | 天天干天天做天天爱 | 亚洲好视频 | 亚洲免费av网站 | 免费在线成人av | 久久免费视频观看 | 久久国产精品一区二区 | 欧美日韩高清国产 | 五月婷婷丁香综合 | 午夜 久久 tv | 国产中文字幕在线观看 | 丁香视频全集免费观看 | 成人久久久久久久久 | 久艹在线免费观看 | 9999免费视频 | av+在线播放在线播放 | 亚洲精欧美一区二区精品 | 国产麻豆精品传媒av国产下载 | 中文在线资源 | 国产高清免费在线观看 | 日韩在线视频网 | 久久人人爽人人爽人人片 | 99热在线国产精品 | 狠狠色丁香婷婷综合久小说久 | 中文字幕免费久久 | 349k.cc看片app | a在线观看国产 | 国产精品com | 亚洲精品在线资源 | 中文在线a∨在线 | a级片久久| 日韩欧美一区二区在线播放 | 国产小视频你懂的在线 | 99精品国产兔费观看久久99 | 丁香九月婷婷综合 | 婷婷伊人五月天 | 国产成人久久av免费高清密臂 | 香蕉免费在线 | 午夜免费福利视频 | 婷久久 | 日韩高清www| 久久综合精品一区 | 99精品免费久久久久久久久日本 | 精品国产乱码一区二 | 久久久久伦理电影 | 亚洲女同ⅹxx女同tv | av3级在线| 国产一区二区免费看 | 九九影视理伦片 | 国产在线精品区 | 日韩免费电影一区二区 | 在线观看一区 | 99视频免费观看 | 人人爱人人爽 | 亚洲综合成人婷婷小说 | 91免费观看视频网站 | 久久99欧美| 在线播放视频一区 | 91九色蝌蚪视频在线 | 久久精品视频日本 | 日本久久中文 | 中文区中文字幕免费看 | 亚洲国产精品视频在线观看 | www.黄色片网站 | 国产精品va | 久久久久久久久影院 | 亚洲一区尤物 | 五月婷婷一区 | 精品综合久久久 | 91视频成人免费 |