国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
樓主  發(fā)表于: 2011-04-05 15:29
圖片:
Omron_HostLink.dll V3.2 HostLink通信協(xié)議串口通訊動態(tài)鏈接庫DLL(以下簡稱DLL),是為滿足工業(yè)通信需要,

針對工業(yè)領域要求上位機對歐姆龍系列PLC通訊實時采集與控制的組態(tài)編程而設計。

本DLL是采用Delphi語言開發(fā)的標準串口通訊庫,具有以下特點:

1)、遵循歐姆龍HostLink通信協(xié)議;

2)、支持多串口并發(fā)操作,支持多線程串口通訊,將串口通訊對主程序的影響降至最低;

3)、實時性、可靠性好,通用性強;

4)、適用于多PLC(下位機)聯(lián)網(wǎng)和上位機通信,滿足多方面的需要;

5)、函數(shù)接口功能全,操作簡單,支持歐姆龍PLC的絕大部分地址的讀寫功能函數(shù);

6)、支持USB、PC擴展卡等擴展串口號;

7)、支持多種操作系統(tǒng)win9x/win2000/winXP(標準Win32 DLL);

8)、易于快速開發(fā)(VC等非RAD開發(fā)環(huán)境的開發(fā));

9)、更新原有函數(shù)調(diào)用方式采用數(shù)組調(diào)用數(shù)據(jù)發(fā)生與接收,初學者快速入門;

10)、可在多種編程環(huán)境下使用,例如VB、VC、Delphi、PB、Labview、易語言等開發(fā)環(huán)境;

11)、擴展了函數(shù)功能讀取下位機中的雙字、單精度浮點等類型數(shù)據(jù),更加符合工業(yè)自動化領域的工控軟件的開發(fā)。

軟件版本更新及相關說明:

Omron_HostLink.dll V3.2 HostLink通信協(xié)議串口通訊鏈接庫,實現(xiàn)了對歐姆 龍全系列PLC的HostLink協(xié)議的支持,

(刪減了一些特權指令)wangjun于2010年在原有omron.dll V2.0版基礎上的更新版,重寫了函數(shù)結構,采用數(shù)據(jù)接收

和發(fā)送緩沖區(qū)(數(shù)組)方式傳遞,讀出和寫入單元數(shù)據(jù)使用更方便。對于16位整數(shù)和32位整數(shù)讀取寫入均按有符號整數(shù)

處理,小數(shù)的返回按單精度浮點型(2進制浮點)處理讀取方式。提供擴展功能函數(shù),方便用戶實現(xiàn)混合數(shù)據(jù)讀取。

能夠同時滿足32個串口并發(fā)情況下的正常使用。

Omron_HostLink.dll V3.2 分為完美版和單機版兩個版本,本DLL于2010年最新規(guī)整優(yōu)化了部分源碼,

通過DLL發(fā)送緩存區(qū)與接收緩存區(qū)數(shù)據(jù)傳遞的功能擴展,使多語言環(huán)境的使用更加便利。

全新的串口通信DLL控件,完美的VB、VC、delphi例程及工件手冊是,廣大立志利用各類高級語言進行上位機軟件開發(fā)的首先工具。

淘寶店:http://shop34821629.taobao.com

電 話:13912935690 025-84359545

騰訊QQ:157610979

郵 箱:157610979@QQ.com

wjun7610@yahoo.com.cn

chinawanglong@163.com
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
1樓  發(fā)表于: 2011-04-05 15:32
在VC中使用DLL一般都是采用動態(tài)聲明的方式,函數(shù)說明中給出的是Delphi的函數(shù)原型,

在VC中聲明時只要注意一下類型的對應即可,Delphi中的longint類型對應VC中的int類型

Delphi中的Pchar對應VC中的char* ,下面給出主要函數(shù)的聲明:

在使用的文件的cpp中聲明一個句柄:

HINSTANCE hinstDLL;

用來標識導入的動態(tài)鏈接庫。

1)、按下例說明聲明相關各個函數(shù):(在cpp文件的頭處聲明)

typedef int (_stdcall *pOpen)(int nport, int BaudRate, int DataBits, char* Parity, int StopBits, char* User);
typedef int (_stdcall *pClose)(int nport);
typedef int (_stdcall *pSetDelay)(int nport);
typedef int (_stdcall *pComTrue)(int nport);
typedef int (_stdcall *pComWork)(int nport);

typedef int (_stdcall *pMS)(int nport, int node);
typedef int (_stdcall *pSC)(int nport, int node, int State);
typedef int (_stdcall *pMM)(int nport, int node);
typedef int (_stdcall *pTS)(int nport, int node);
typedef int (_stdcall *pReadInt)(int nport, int node, int address, int Count, char* Order, int* RxdBuffer);
typedef int (_stdcall *pReadTc)(int nport, int node, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pWriteInt)(int nport, int node, int address, int Count, char* Order, int* TxdBuffer);

typedef int (_stdcall *pSetF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReSetF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pCancelF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pCancelAllF)(int nport, int node);

typedef int (_stdcall *pSet)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReSet)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReadBit)(int nport, int node, int address, int Bit, int Count, char* Order, int* RxdBuffer);
typedef int (_stdcall *pReadDInt)(int nport, int node, int address, int Count,int* RxdBuffer);
typedef int (_stdcall *pReadFloat)(int nport, int node, int address, int Count, float* RxdBuffer);
typedef int (_stdcall *pWriteDInt)(int nport, int node, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteFloat)(int nport, int node, int address, int Count, float* TxdBuffer);

typedef int (_stdcall *pBitBin)(int value, int Bitaddress);
typedef int (_stdcall *p32I_16h)(int value);
typedef int (_stdcall *p32I_16l)(int value);
typedef int (_stdcall *p16I_32I)(int valueH, int valueL);
typedef int (_stdcall *p32f_16h)(float value);
typedef int (_stdcall *p32f_16l)(float value);
typedef float (_stdcall *p16I_32f)(int valueH, int valueL);

2)、建立動態(tài)鏈接庫的新函數(shù)名:(在cpp文件的頭處聲明)

pOpen mOpen;
pClose mClose;
pSetDelay mSetDelay;
pComTrue mComTrue;
pComWork mComWork;

pMS mMS;
pSC mSC;
pMM mMM;
pTS mTS;
pReadInt mReadInt;
pReadTc mReadTc;
pWriteInt mWriteInt;

pSetF mSetF;
pReSetF mReSetF;
pCancelF mCancelF;
pCancelAllF mCancelAllF;

pSet mSet;
pReSet mReSet;
pReadBit mReadBit;
pReadDInt mReadDInt;
pReadFloat mReadFloat;
pWriteDInt mWriteDInt;
pWriteFloat mWriteFloat;

pBitBin mBitBin;
p32I_16h m32I_16h;
p32I_16l m32I_16l;
p16I_32I m16I_32I;
p32f_16h m32f_16h;
p32f_16l m32f_16l;
p16I_32f m16I_32f;

3)、導入動態(tài)鏈接庫,如例所示:(在cpp文件的OnInitDialog過程建立):

hinstDLL = LoadLibrary("Omron_HostLink.dll");

4)、判斷dll文件是否存在并聲明并建立動態(tài)鏈接庫中的函數(shù)與新函數(shù)名的對應關系,

如下:(在cpp文件的OnInitDialog過程建立):

if (hinstDLL)
{
mOpen = (pOpen)GetProcAddress (hinstDLL,"OmronComOpen");
mClose = (pClose)GetProcAddress (hinstDLL,"OmronComClose");
mSetDelay = (pSetDelay)GetProcAddress (hinstDLL,"OmronSetDelay");
mComTrue = (pComTrue)GetProcAddress (hinstDLL,"OmronComTrue");
mComWork = (pComWork)GetProcAddress (hinstDLL,"OmronComWork");

mMS = (pMS)GetProcAddress (hinstDLL,"OmronMS");
mSC = (pSC)GetProcAddress (hinstDLL,"OmronSC");
mMM = (pMM)GetProcAddress (hinstDLL,"OmronMM");
mTS= (pTS)GetProcAddress (hinstDLL,"OmronTS");
mReadInt = (pReadInt)GetProcAddress (hinstDLL,"OmronReadInt");
mReadTc = (pReadTc)GetProcAddress (hinstDLL,"OmronReadTc");
mWriteInt = (pWriteInt)GetProcAddress (hinstDLL,"OmronWriteInt");

mSetF = (pSetF)GetProcAddress (hinstDLL,"OmronSetF");
mReSetF = (pReSetF)GetProcAddress (hinstDLL,"OmronReSetF");
mCancelF = (pCancelF)GetProcAddress (hinstDLL,"OmronCancelF");
mCancelAllF = (pCancelAllF)GetProcAddress (hinstDLL,"OmronCancelAllF");

mSet = (pSet)GetProcAddress (hinstDLL,"OmronSet");
mReSet = (pReSet)GetProcAddress (hinstDLL,"OmronReSet");
mReadBit = (pReadBit)GetProcAddress (hinstDLL,"OmronReadBit");
mReadDInt = (pReadDInt)GetProcAddress (hinstDLL,"OmronReadDInt");
mReadFloat = (pReadFloat)GetProcAddress (hinstDLL,"OmronReadFloat");
mWriteDInt = (pWriteDInt)GetProcAddress (hinstDLL,"OmronWriteDInt");
mWriteFloat = (pWriteFloat)GetProcAddress (hinstDLL,"OmronWriteFloat");

mBitBin = (pBitBin)GetProcAddress (hinstDLL,"DecBitBin");
m32I_16h = (p32I_16h)GetProcAddress (hinstDLL,"Int32ToInt_16h");
m32I_16l = (p32I_16l)GetProcAddress (hinstDLL,"Int32ToInt_16l");
m16I_32I= (p16I_32I)GetProcAddress (hinstDLL,"Int16ToInt32");
m32f_16h = (p32f_16h)GetProcAddress (hinstDLL,"Float32ToInt_16h");
m32f_16l = (p32f_16l)GetProcAddress (hinstDLL,"Float32ToInt_16l");
m16I_32f= (p16I_32f)GetProcAddress (hinstDLL,"Int16ToFloat32");

AfxMessageBox("Omron_HostLink.dll已成功載入!");
}
else
{
AfxMessageBox("沒找到Omron_HostLink.dll!");
SendMessage(WM_CLOSE);
}

注:雙引號中為動態(tài)鏈接庫中的原有函數(shù)名。


函數(shù)中用到了char*型參數(shù),這里介紹下char*與Cstring的相互轉換的函數(shù):

(1)char*->CString

char* sz;
CString str;
str.Format("%s",sz); //可以用此函數(shù)將讀取的值轉成字符串

(2) CString -> char*

CString str;
char* sz = str.GetBuffer(0);//可將字符串轉成char*給函數(shù)賦值


5)、當不再需要使用DLL時記得關閉串口及釋放動態(tài)鏈接庫,(在OnDestroy事件中釋放)

if(hinstDLL)
{
int k = mComTrue(mnport);
if (k==1)
{
mClose(mnport);
}
FreeLibrary(hinstDLL);
}
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
2樓  發(fā)表于: 2011-04-05 15:35
上面的DLL使用要點也適用于其他各種windows標準DLL的VC調(diào)用。
yamqq
雅馬哈,愛普生,電裝機器人。
級別: 網(wǎng)絡英雄

精華主題: 0
發(fā)帖數(shù)量: 1720 個
工控威望: 5542 點
下載積分: 24644 分
在線時間: 301(小時)
注冊時間: 2008-05-05
最后登錄: 2025-05-27
查看yamqq的 主題 / 回貼
3樓  發(fā)表于: 2011-04-06 16:31
樓主,你out了,現(xiàn)在是基于fins的了!本來想把源碼貼出來,想想還是不要斷了你的財路,只把通訊協(xié)議貼一些出來吧
SUDT ACCESSPORT LOG FILE - Monitor mode

監(jiān)控: COM8
創(chuàng)建時間: 2011-03-19, 14:35:30
計算機名: J2
系統(tǒng)版本: Microsoft Windows XP Professional Service Pack 3 (Build 2600)

#       Time        Function                        Data ( Hex )    

1       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
2       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
3       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
4       [00000010]  IRP_MJ_CLOSE                    Port Closed
5       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
6       [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
7       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
8       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
9       [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
10      [00000088]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
11      [00002270]  IRP_MJ_CLOSE                    Port Closed
12      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
13      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
14      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
15      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
16      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
17      [00000940]  IRP_MJ_CLOSE                    Port Closed
18      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
19      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
20      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
21      [00000010]  IRP_MJ_CLOSE                    Port Closed
22      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
23      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
24      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
25      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
26      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
27      [00000941]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
28      [00001933]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 57 44 30 30 30 31 30 30 30 32 35 30 2A 0D
29      [00002507]  IRP_MJ_CLOSE                    Port Closed
30      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
31      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
32      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
33      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
34      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
35      [00000804]  IRP_MJ_CLOSE                    Port Closed
36      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
37      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
38      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
39      [00000009]  IRP_MJ_CLOSE                    Port Closed
40      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
41      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
42      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
43      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
44      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
45      [00000093]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
46      [00000177]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
47      [00000190]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
48      [00000293]  IRP_MJ_CLOSE                    Port Closed

@00FA00000000001018200000000017C*//d0讀
@00FA00000000001018200010000017D*  D1讀   @00FA00000000001018200020000017E*  D2讀
@00FA00000000001018200020000027D*  D2D3 讀
@00FA00000000001018200020000027D*  D2D3 可寫

@00FA0000000000101B2000000000106*  H0 讀
@00FA0000000000101B2000000000106*  H0 可寫
@00FA0000000000101B2000100000107*  H1 讀
@00FA0000000000101B2000100000107*  H1 可寫
@00FA0000000000101B2000200000104*  H2 讀
@00FA0000000000101B2000200000104*  H2 可寫
@00FA0000000000101B2000300000105*  H3 讀
@00FA0000000000101B2000300000105*  H3 可寫
@00FA0000000000101B2000300000206*  H3H4讀
@00FA0000000000101B2000300000206*  H3H4可寫

@00FA00000000001023100010100010176* 設置W1.1位置
@00FA00000000001023000640000010175* 寫100.00
@00FA000000000010130006400000177*  100.00 讀
@00FA000000000010130006401000176*  100.01 讀
@00FA000000000010130006402000175*  100.02 讀
@00FA000000000010130006500000176*  101.00 讀
@00FA000000000010130006501000177*  101.01 讀
@00FA000000000010130006502000174*  101.02 讀


@00FA000000000010130000000000175*  0.00 讀
@00FA000000000010130000001000174*  0.01 讀
@00FA000000000010130000002000177*  0.02 讀
@00FA000000000010130000100000174*  01.00讀
@00FA000000000010130000200000177*  02.00讀
@00FA000000000010131000000000174*  W0.00 讀
@00FA000000000010131000001000175*  W0.01 讀
@00FA000000000010131000002000176*  W0.02 讀
@00FA000000000010131000002000176*   W0.02 讀
@00FA000000000010131000100000175*  W1.00讀
@00FA000000000010131000200000176*  W2.00讀

@00FA000000000010189000000000177*  T0讀
@00FA000000000010189000000000177*  T0讀寫
@00FA000000000010189000100000176*  T1讀
@00FA000000000010189000100000176*  T1讀寫
@00FA000000000010189000200000175*  T2讀
@00FA000000000010189000200000175*  T2讀寫

@00FA000000000010189000000000177*  C0讀
@00FA000000000010189000000000177*  C0讀寫
@00FA000000000010189000100000176*  C1讀
@00FA000000000010189000100000176*  C1讀寫
@00FA000000000010189000100000176*  C1讀寫并寫了上下限100-10

@00FA000000000010189000200000175*  C2讀
@00FA000000000010189000200000175*  C2讀寫
@00FA00000000001018900FA00000170*  C250讀寫
@00FA00000000001018909C400000109*  C2500讀寫
@00FA00000000001018909C40000020A*  C2500 C2501讀寫
這個人很懶,什么也沒有留下!
wyk335858575
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看wyk335858575的 主題 / 回貼
4樓  發(fā)表于: 2011-04-06 16:35
不錯,看看先
wyk335858575
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看wyk335858575的 主題 / 回貼
5樓  發(fā)表于: 2011-04-06 16:37
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
6樓  發(fā)表于: 2011-05-24 20:29
呵呵,謝謝你的指教,不錯Fins協(xié)議是歐姆龍新版的協(xié)議對于新版的支持更好,而且支持串口、以太網(wǎng)等,特別是他支持CP1H、CP1L、CP1E等新出型號的W區(qū)的讀寫。數(shù)據(jù)的讀取數(shù)量也更大,本人正在仿現(xiàn)在的hostlink串口動態(tài)庫開發(fā)相關串口庫,以太網(wǎng)的等我購買了歐姆龍以太網(wǎng)硬件測試成功再吧。
我的目的是提高一些工控人員進行開發(fā)上位機軟件的速度,提供完整的函數(shù)接口,比開發(fā)人員自行使用協(xié)議開發(fā)要快速,特別是對于新手來說完善的使用例程更加方便了他們的使用。多語言的支持比目前很多只支持VB或VC的一些網(wǎng)絡流行源代碼來說適用性更好,無論使用VC、VB、delphi、CB、PB、易語言、Labview等等都可以得到完美的解決方案。不使用其他控件,完全可以制作綠色版上位機軟件,至于收費嘛,我用了時間做這個軟件自然希望得到認可,愿意不愿意用全憑各位自己,我僅提供一種便捷的方法而已。

主站蜘蛛池模板: 18禁男女无遮挡啪啪网站_黄色a级免费观看_奇米成人av国产一区二区三区_插插综合视频_国产成人麻豆亚洲综合无码精品_国产免费一区二区三区四在线播放_免费播放黄色_午夜在线视频播放 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 日韩精品极品视频在线观看免费_免费日韩av在线_欧美丰满少妇XXXX性_国产精品久久久久影院日本_国产成人亚洲综合无码精品_日b视频免费观看_黄色片免费观看_亚洲黄色站 | 成人在线高清不卡免费视频_日韩av中文字幕在线播放_青青国产91毛片成人片在线_成年女人免费观看这视频_九一在线免费看_体内精69xxxxxx视频_日本按摩伦理片_成人午夜 | 97五月天免费视频观看_性一交一乱一色一欲的最新章节_国产日韩精品欧美一区喷水_亚洲一区国产_欧美色资源_狠狠色影院_最近的中文字幕在线看视频_日本亚欧乱色视频免费观看 | 亚洲精品一页_欧美日韩精品在线一区_蜜桃视频久久_国产色女人_亚洲精品欧美_国产精选91_中文字幕乱偷无码AV先锋蜜桃_www.国产精彩视频 | 中日韩产精品1卡二卡三卡_成人精品一区日本无码网_成都同性男男gayxxxx_丁香五月成人_亚洲草片_一区二区三区国产好的精_久草香蕉在线视频_国产性生活大片 | 中文字幕在线观看三区_国产三级农村妇女在线播放_国产91在线看_玩弄chinese丰满人妻videos_国产一区二区三区视频免费_久艹久久_成人网子_91女女互慰吃奶在线 | 91色在线观看视频_免费人成在线观看网站品爱网_日韩亚洲中文图片小说_精品国精品国产自在久国产应用男_在线能看的av_无码国产精品一区二区色情男同_大胆欧美熟妇xxbbwwbw高潮了_天天做天天爱夜夜爽少妇 | 欧美另类性视频_青苹果乐园在线观看免费完整_成人免费网站观看_欧美天堂一区_亚洲品牌自拍一品区9_新av在线天堂网_国内91在线_wwwwxxxx欧美 | 国产黑色丝袜在线看片_精品欧美久久_日本美女视频一区二区_日本特级视频_国产精品色午夜免费视频_狠狠爱视频_天天色图片_2020精品国产福利在线观看香蕉 | 国产小视频网址_奇米影视四色狠狠888俺去啦_欧美在线一二三四_91短视频官网_av播播_少妇一级淫片aaaaaaaaa_手机看片毛片日韩免费观看_日本不卡在线一区二区三区视频 | 国产另类精品_a级高清免费毛片av播放_日韩午夜在线视频_538任你躁精品视频网免费_久草福利资源在线_福利一区福利二区_乡下农村一级毛片_99久热在线精品视频成人一区 | 有码无码人妻视频在线_色吧婷婷_夜夜被两个男人玩得死去活来_国产微拍精品一区一再猛点_成人av动漫在线观看_免费毛片a线观看_尤物在线_91豆麻精品91久久久久久 | 天天噜日日噜狠狠噜免费_免费看成人AA片无码视频_国产第二十页_日韩欧美一级在线_日本a一级在线免费播放_欧美久久精品一级黑人c片_诱惑网综合_骚av在线 | 色视频中文字幕_亚洲性色成人av_外国黄色一级毛片_亚洲国产wwwccc36天堂_国产日韩精品久久久无码专区_久草精品视频在线观看_国产欧美精品aaaaa久久_精品国产一区二区在线观看 | 日韩欧美国产精品_巴中文旅集团_粉嫩蜜桃麻豆免费大片_久久久精品久久日韩一区_久久久久久久久久爱_男女爽爽午夜18污污影院_亚州欧美精品_婷婷久久香蕉五月综合加勒比 | 玖玖色在线观看_久久久国产精品黄毛片_日韩人妻无码潮喷中文视频_日本一区二区三区四区不卡视频_青青操国产_一级看片免费视频_夜夜激情网_凸凹隐藏撒尿xxxx偷拍 | 国产片在线播放_在线久草视频_91麻豆精品一二三区在线_日日噜噜夜夜狠狠_www.精品_我朋友的妈妈在线免费观看_欧美xxxx极品bbw_91色综合久久久久婷婷 | se69色成人网wwwsex_午夜av免费_亚洲高清av_久久久久免费毛A片免费_四虎影院永久_男人一边吃奶一边弄下边好爽_国产91对白刺激露脸在线观看_欧产日产国产精品精品 | 日韩精品不卡一区二区_久久久久久久久久久免费_久久91亚洲精品久久91综合_免费高清国产_久久免费福利_日本一区二区三区免费_无码人妻丰满熟妇啪啪7774_亚洲一区二区三区香蕉 高清不卡免费视频_猛烈顶弄H禁欲老师H春潮视频_国产老肥熟精品大全_亚洲欧美成人a毛片_亚洲精品在_第一区免费在线观看_免费国产自久久久久三四区久久_亚洲男人的天堂网 | 超碰97人人人人人蜜桃_日韩不卡在线观看_国产又粗又猛又黄又爽的视频_男人亚洲天堂网_日本少妇xlxxx_午夜AV免费播放不卡三区_少妇做受xxxxⅹ高潮片_无码人妻精品一区二区三区欧美 | 久久精品视频69_国产精品91在线播放_亚洲综合无码一区二区_中文日韩一区二区_日韩一卡二卡三卡四卡免费观在线_国产a级免费观看_国内精品免费视频自在线拍_久久ク成人精品中文字幕 | 国产sM重味一区二区三区_伊人成人情网_无码欧美毛片一区二区三在线视频_yellow高清免费观看_免费网站观看_人人看人人鲁狠狠_94欧美setu_japanese精品中国少妇 | 国产区综合_精品一区二区免费视频视频_国产精品乱子乱XXXX_久久综合性_亲含舔丰满湿插_国产高清乱码又大又圆_久久免费看少妇高潮a片特黄网站_亚洲综合久 | 国产精品久久一_国产乱码精品一区二区三区黄瓜的功能_亚洲一区二区三区色_国产成人综合精品三级_激情久爱免费视频在线_在线天堂中文最新版_久久草在线精品_免费观看黄网站 | 51免费看成人啪啪片_亚洲国产二区三区_亚洲精品乱码_亚洲AV无码国产成人_免费观看一二区视频网站_伊人av成人_人妻精品动漫h无码中字_久久极品视频 | 亚洲精品一区二区在线播放_久久国产精品一国产精品金尊_久久国产精品一国产精品_在线国产日韩_狠狠色综合网站久久久久久久_8060yy中文无码视频在线观看_美女色站_中文第一区 | 国产一区免费在线_2021少妇久久久久久久久久_www久久无码天堂mv_免费观看的黄色网址_亚洲精品一区二区三区蜜臀_中文天堂国产最新_无码熟妇人妻在线视频_无码中文字幕加勒比高清 | 一个人免费观看视频WWW中文_性xxxxbbbb欧美熟妇_有人有在线观看的片吗WWW_幻女bbwxxxx另类_国产精品久线在线观看_天天干干_91国自啪_色小妹av | freexxxx性特大另类_69xx视频免费观看_国产三级国产精品国产普男人_国产欧美二区综合_555www成人网_东莞性视频88XXX_欧美一区二区三区视频_欧美国产一区二区三区激情无套 | 中国熟妇内谢69xxxxx_国产亚洲精品精品国产亚洲综合_操你妹影视_av在线a_可以直接免费观看的AV网站_啊v在线视频_日本不卡一二三区_久久久噜噜噜久久久白丝袜 | 国产91片_国产一级免费在线视频_国产女人精品视频_毛片1级_一级在线看_久久久麻豆_国产精成人品91_亚洲黄色av | 国产精品福利免费_亚洲精品无码成久久不卡_欧美黄色大片在线观看_国产色拍_又色又爽又黄又免费的照片_黑人边吃奶边摸边做边爱_精品免费av一区二区三区_久久综合亚洲精品 | 在线观看啊啊啊啊_精品亚洲国产成人A片在线观看_国产精品永久久久久久久www_黄色国产视频_欧洲美女粗暴牲交免费观看_18国产一二三精品国产_一区二区三区日本在线观看_在线观看视频99 | 日本不卡视频在线观看_国产精品97_亚洲国产精品黑人久久久_久久精品亚洲欧美日韩久久_亚洲AV无码一区二区三区乱子伦_欧美精品少妇VIDEOFREE720_久草日本_亚a洲v中文字幕2023 | 九月婷婷色_国产精品免费专区_精品国产综合_超碰在线公开_亚洲精品粉嫩美女一区_亚洲色欲综合天堂亚洲_自拍中文字幕_国产午夜草莓视频在线观看 | 免费一级a毛片免费观看欧美大片_久久人妻熟女一区二区_xxxxhd裸体video_久久久久久久国产精品视频_国产村偷农村妇女免费视频_欧美激情黄色片_永久免费一区二区三区_国产日产欧洲无码视频 | 久在草视频_乱码一区二区_飘雪在线高清观看视频动漫_日本高清视频免费在线观看_久久亚洲一区二区三区四区_亚洲欧洲av在线_精品国产AV无码一区二区三区_免费黄色在线观看视频 | 欧美多毛肥胖老妇做爰_caoporn国产精品免费公开_蜜臀亚洲av永久无码精品老司机_男人狂桶女人高潮嗷嗷叫_精品在线视频免费在线观看视频_亚州福利视频_国产精品视频网_一区二区狠狠色丁香久久婷婷 | 穿越时空的少女免费观看动漫日语_国产野战无套av毛片_国产精品成人aaaaa网站_A级毛片内射免费视频_魔鬼部队高清国语免费观看_97精品免费公开在线视频_日韩av高清在线播放_国产欧美日韩另类 |