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

wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
樓主  發表于: 2013-04-13 12:43
S7200_PPI動態庫DLL+實例.rar (490 K) 下载次数:1920    S7200_PPI.dll V3.2 通信協議串口通訊動態鏈接庫DLL(以下簡稱DLL),是為滿足工業通信需要,

針對工業領域要求上位機對西門子S7-200系列PLC通訊實時采集與控制的組態編程而設計。

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

1)、遵循西門子PLC的PPI通訊協議;

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

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

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

5)、函數接口功能全,操作簡單,支持PPI通訊協議的絕大部分地址的讀寫功能函數;

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

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

8)、易于快速開發(VC等非RAD開發環境的開發);

9)、更新原有函數調用方式采用數組調用數據發生與接收,初學者快速入門;

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

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

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

S7200_PPI.dll V3.2 串口通訊鏈接庫,實現了對S7-200系列PLC的I、Q、M、V、S、、SM、C、T區軟元件的讀寫功能

wangjun于2008年在原有S7200_PPI.dll V2.0版基礎上的更新版,重寫了函數結構,采用數據接收和發送緩沖區

(數組)方式傳遞,讀出和寫入單元數據使用更方便。對于16位整數和32位整數讀取寫入均按有符號整數處理,

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

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

S7200_PPI.dll V3.2 分為完美版和單機版兩個版本。

注意:實例在使用時不能超出試用版的地址限制,否則無法正確通訊。

龍帥工作室為您提供專業串口通訊控件,也可為您訂制

專用通訊協議串口控件。目前龍帥系列串口通訊協議

控件包括modbus_rtu、modbus_tcp、三菱FX PLC編程口、

歐姆龍HostLink、西門子PPI等多個系列產品。

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

電  話:13912935690

騰訊QQ:157610979

阿里旺旺: wj_longshuai

郵  箱:157610979@QQ.com        

        wjun7610@yahoo.com.cn

        chinawanglong@163.com
[ 此帖被wjun7610在2013-04-13 15:03重新編輯 ]
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
1樓  發表于: 2013-04-13 12:47
DLL串口操作函數包括:

  1)、S7200ComOpen打開串口;

  2)、S7200ComClose關閉串口;
      
  3)、S7200SetDelay串口通訊延時設定;
                    
  4)、S7200ComTrue判斷串口是否打開成功;
            
  5)、S7200ComWork判斷串口是否正在工作中;

S7200 PPI協議功能函數:

  1)、S7200BitRead    位讀取函數

  2)、S7200ByteRead   字節讀取函數

  3)、S7200WordRead   字讀取函數

  4)、S7200DwordRead  雙字讀取函數

  5)、S7200FloatRead  浮點讀取函數

  6)、S7200BitWrite   位賦值函數

  7)、S7200ByteWrite  字節賦值函數

  8)、S7200WordWrite  字賦值函數

  9)、S7200DwordWrite 雙字賦值函數

10)、S7200FloatWrite 浮點賦值函數

11)、S7200BitEWrite  元件強制賦值函數

12)、S7200EbitCancel 取消位元件強制值函數

13)、S7200PlcRun     置PLC為運行模式

14)、S7200PlcStop    置PLC為停止模式

S7200 PPI協議DLL緩沖區傳遞功能函數包括:

  1)、S7200ClearBuf         清除復位DLL緩存區

  2)、S7200ByteReadBuf      字節讀取函數  

  3)、S7200WordReadBuf      字讀取函數

  4)、S7200DwordReadBuf     雙字讀取函數  

  5)、S7200IntDllBufRead    讀DLL整數緩存區值;
  
  6)、S7200FloatReadBuf     浮點讀取函數

  7)、S7200FloatDllBufRead  讀DLL浮點緩存區值;

  8)、S7200WriteIntDllBuf   寫DLL整數緩存區值;

  9)、S7200ByteWriteBuf     字節賦值函數  

10)、S7200WordWriteBuf     字賦值函數  

11)、S7200DwordWriteBuf    雙字賦值函數

12)、S7200WriteFloatDllBuf 寫DLL浮點緩存區值;  

13)、S7200FloatWriteBuf    浮點賦值函數

   這里,僅對PB開發環境使用DLL緩存區數據傳遞進行調用給出了

申明方式和調用舉例,其他非VC、VB、Delphi等語言需要使用DLL

緩沖區進行數據傳遞時,調用DLL聲明請參考本語言對Windows標準

DLL的規則和函數原型進行調用。

能夠正確傳遞數組的開發環境如VB、VC、delphi不推薦使用該部分

擴展功能函數。

當需要進行8位整數、16位整數、32位整數、32位浮點數值進行混合讀寫時,所需拓展函數包括:

  1)、DecBitBin        字整數的位抽;

  2)、Int16ToInt_8h     字到字節轉換高位字節;  

  3)、Int16ToInt_8l     字到字節轉換低位字節;

  4)、Int8ToInt16       字節到字的轉換;

  5)、Int32ToInt_16h    雙字到字轉換高位字;  

  6)、Int32ToInt_16l    雙字到字轉換低位字;

  7)、Int16ToInt32      字到雙字的轉換;

  8)、Float32ToInt_16h  浮點到字轉換高位字;

  9)、Float32ToInt_16l  浮點到字轉換低位字;

  10)、Int16ToFloat32   字到浮點的轉換;  

  11)、介紹如何實現數據的混合讀取和寫入;
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
2樓  發表于: 2013-04-13 12:47
在VC中使用DLL一般都是采用動態聲明的方式,函數說明中給出的是Delphi的函數原型,

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

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

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

HINSTANCE hinstDLL;

用來標識導入的動態鏈接庫。

1)、按下例說明聲明相關各個函數:(在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 value);
typedef int (_stdcall *pComTrue)(int nport);
typedef int (_stdcall *pComWork)(int nport);

typedef int (_stdcall *pReadBit)(int nport, int node, char* element, int address, int Bit);
typedef int (_stdcall *pReadByte)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadInt)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadDInt)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadFloat)(int nport, int node, char* element, int address, int Count, float* RxdBuffer);

typedef int (_stdcall *pBitWrite)(int nport, int node, char* element, int address, int Bit, int value);
typedef int (_stdcall *pBitEWrite)(int nport, int node, char* element, int address, int Bit, int value);
typedef int (_stdcall *pEbitCancel)(int nport, int node, char* element, int address, int Bit);

typedef int (_stdcall *pWriteByte)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteInt)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteDInt)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteFloat)(int nport, int node, char* element, int address, int Count, float* TxdBuffer);

typedef int (_stdcall *pPlcRun)(int nport, int node);
typedef int (_stdcall *pPlcStop)(int nport, int node);

typedef int (_stdcall *pBitBin)(int value, int Bitaddress);
typedef int (_stdcall *p16I_8h)(int value);
typedef int (_stdcall *p16I_8l)(int value);
typedef int (_stdcall *p8I_16I)(int valueH, int valueL);
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)、建立動態鏈接庫的新函數名:(在cpp文件的頭處聲明,上面的聲明之后)

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

pReadBit mReadBit;
pReadByte mReadByte;
pReadInt mReadInt;
pReadDInt mReadDInt;
pReadFloat mReadFloat;

pBitWrite mBitWrite;
pBitEWrite mBitEWrite;
pEbitCancel mEbitCancel;

pWriteByte mWriteByte;
pWriteInt mWriteInt;
pWriteDInt mWriteDInt;
pWriteFloat mWriteFloat;

pPlcRun mPlcRun;
pPlcStop mPlcStop;

pBitBin mBitBin;
p16I_8h m16I_8h;
p16I_8l m16I_8l;
p8I_16I m8I_16I;
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)、導入動態鏈接庫,如例所示:(在cpp文件的OnInitDialog過程建立):

hinstDLL = LoadLibrary("S7200_PPI.dll");

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

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

if (hinstDLL)
{
   mOpen = (pOpen)GetProcAddress (hinstDLL,"S7200ComOpen");
   mClose = (pClose)GetProcAddress (hinstDLL,"S7200ComClose");
   mSetDelay = (pSetDelay)GetProcAddress (hinstDLL,"S7200SetDelay");
   mComTrue = (pComTrue)GetProcAddress (hinstDLL,"S7200ComTrue");
   mComWork = (pComWork)GetProcAddress (hinstDLL,"S7200ComWork");

   mReadBit = (pReadBit)GetProcAddress (hinstDLL,"S7200BitRead");
   mReadByte = (pReadByte)GetProcAddress (hinstDLL,"S7200ByteRead");
   mReadInt = (pReadInt)GetProcAddress (hinstDLL,"S7200WordRead");
   mReadDInt = (pReadDInt)GetProcAddress (hinstDLL,"S7200DwordRead");
   mReadFloat = (pReadFloat)GetProcAddress (hinstDLL,"S7200FloatRead");

   mBitWrite = (pBitWrite)GetProcAddress (hinstDLL,"S7200BitWrite");
   mBitEWrite = (pBitEWrite)GetProcAddress (hinstDLL,"S7200BitEWrite");
   mEbitCancel = (pEbitCancel)GetProcAddress (hinstDLL,"S7200EbitCancel");
      
   mWriteByte = (pWriteByte)GetProcAddress (hinstDLL,"S7200ByteWrite");
   mWriteInt = (pWriteInt)GetProcAddress (hinstDLL,"S7200WordWrite");
   mWriteDInt = (pWriteDInt)GetProcAddress (hinstDLL,"S7200DwordWrite");
   mWriteFloat = (pWriteFloat)GetProcAddress (hinstDLL,"S7200FloatWrite");
  
   mPlcRun = (pPlcRun)GetProcAddress (hinstDLL,"S7200PlcRun");
   mPlcStop = (pPlcStop)GetProcAddress (hinstDLL,"S7200PlcStop");
      
   mBitBin = (pBitBin)GetProcAddress (hinstDLL,"DecBitBin");
   m16I_8h = (p16I_8h)GetProcAddress (hinstDLL,"Int16ToInt_8h");
   m16I_8l = (p16I_8l)GetProcAddress (hinstDLL,"Int16ToInt_8l");
   m8I_16I= (p8I_16I)GetProcAddress (hinstDLL,"Int8ToInt16");
   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("S7200_PPI.dll已成功載入!");
}
else
{
  AfxMessageBox("沒找到S7200_PPI.dll!");
  SendMessage(WM_CLOSE);
}

注:雙引號中為動態鏈接庫中的原有函數名。

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

(1)char*->CString

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

(2) CString -> char*

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


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

if(hinstDLL)
{
   int k = mComTrue(mnport);
   if (k==1)
   {
      mClose(mnport);
   }    
   FreeLibrary(hinstDLL);
}
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
3樓  發表于: 2013-04-13 12:47
西門子PPI通訊協議

    通過硬件和軟件偵聽的方法,分析PLC內部固有的PPI通訊協議,然后采用上位機編程,遵循PPI通訊協議,讀寫PLC數據,實現人機操作

任務。這種通訊方法,與一般的自由通訊協議相比,省略了PLC的通訊程序編寫,只需編寫上位機的通訊程序資源S7-226的編程口物理層為

RS-485結構,SIEMENS提供MicroWin軟件,采用的是PPI(Point to Point)協議,可以用來傳輸、調試PLC程序。在現場應用中,當需要PLC

與上位機通訊時,較多的使用自定義協議與上位機通訊。在這種通訊方式中,需要編程者首先定義自己的自由通訊格式,在PLC中編寫代碼,

利用中斷方式控制通訊端口的數據收發。采用這種方式,PLC編程調試較為煩瑣,占用PLC的軟件中斷和代碼資源,而且當PLC的通訊口定義

為自由通訊口時,PLC的編程軟件無法對PLC進行監控,給PLC程序調試帶來不便。

    SIEMENS S7-200PLC的編程通訊接口,內部固化的通訊協議為PPI協議,如果上位機遵循PPI協議來讀寫PLC,就可以省略編寫PLC的通訊

代碼。如何獲得PPI協議?可以在PLC的編程軟件讀寫PLC數據時,利用第三個串口偵聽PLC的通訊數據,或者利用軟件方法,截取已經打開

且正在通訊的端口的數據,然后歸納總結,解析出PPI協議的數據讀寫報文。這樣,上位機遵循PPI協議,就可以便利的讀寫PLC內部的數據,

實現上位機的人機操作功能。

西門子的PPI(Point to Point)通訊協議采用主從式的通訊方式,一次讀寫操作的步驟包括:首先上位機發出讀寫命令,PLC作出接收正確

的響應,上位機接到此響應則發出確認申請命令,PLC則完成正確的讀寫響應,回應給上位機數據。這樣收發兩次數據,完成一次數據的讀寫

(從這里可以看出PPI協議的通訊效率并不好,一次讀寫需收發兩次數據^_^)。

其通訊數據報文格式大致有以下幾類:

1)、讀寫申請的數據格式如下:

SD LE LER SD DA SA FC DASP SSAP DU FCS ED

SD:(Start Delimiter)開始定界符(68H)

LE:(Length)報文數據長度

LER:(Repeated Length)重復數據長度

SD: (Start Delimiter)開始定界符(68H)

SA:(Source Address)源地址,指該地址;

DA:(Destination Address)目標地址,指該地址;

FC:(Function Code)功能碼

DSAP:(Destination Service Access Point)目的服務存取點

SSAP:(Source Service Access Point)源服務存取點

DU:(Data Unit)數據單元

FCS:(Frame Check Sequence)校驗碼

ED:(End Delimiter)結束分界符(16H)

報文數據長度和重復數據長度為自DA至DU的數據長度,校驗碼為DA至DU數據的和校驗,只取其中的末字節值。

讀寫一般數據的功能碼為 6CH,讀CT數據、置位、復位、強制等的功能碼為 7CH,確認命令功能碼5CH。

2)、PLC接收到讀寫命令,校驗后正確,返回的數據格式為 E5H

3)、確認讀寫命令的數據格式為:

SD SA DA FC FCS ED  

其中SD為起始符,為10H

SA為數據源地址

DA為目的地址

FC為功能碼,取5CH

FCS為SA+DA+FC的和的末字節

ED為結束符,取16H

4)、數據類型碼

04:S
05:SM
06:AI
07:AQ
1E: C
81:I
82:Q
83:M
84:V
1F: T

5)、讀寫功能數據命令實例

1、給寫VW3值1200

68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 06 05 01 12 0A 10 02 00 02 00 01 84 00 00 18 00 04 00 10 04 B0 50 16

2、讀取IB0的數據值

68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 01 00 00 81 00 00 00 64 16

感興趣的朋友給你根據上述例子用串口精靈測試一下,當發送命令成功PLC返回E5,你再發送10 02 00 5C 5E 16,就可以完成一次讀寫命令。

(記得接收和發送采用16進制方式 o(∩_∩)o...哈哈)

2.2 S7-200PLC CPU內存地址范圍(DLL所能尋址的范圍)

被存。       內存類型      CPU 221        CPU 222         CPU 224                   CPU 226

位(字節.位)       V          0.0 ~ 2047.7  0.0 ~  2047.7  0.0 ~  5119.7  V 1.22    0.0 ~  5119.7   V 1.23
                                                            0.0 ~  8191.7  V 2.00    0.0 ~ 10239.7  V 2.00
                                                            0.0 ~  10239.7 XP

                   I          0.0 ~ 15.7   0.0 ~ 15.7     0.0 ~  15.7              0.0 ~  15.7

                   Q          0.0 ~ 15.7   0.0 ~ 15.7     0.0 ~ 15.7               0.0 ~ 15.7
                  
                   M          0.0 ~ 31.7   0.0 ~ 31.7     0.0 ~ 31.7               0.0 ~ 31.7

                   S          0.0 ~ 31.7   0.0 ~ 31.7     0.0 ~ 31.7               0.0 ~ 31.7

                   SM         0.0 ~ 179.7  0.0 ~ 299.7    0.0 ~ 549.7              0.0 ~ 549.7

字節               VB         0 ~ 2047     0 ~ 2047       0 ~ 5119   V 1.22        0 ~ 5119        V 1.23
                                                            0 ~ 8191   V 2.00        0 ~ 10239       V 2.00
                                                            0 ~ 10239  XP

                   IB         0 ~ 15       0 ~ 15         0 ~ 15                   0 ~ 15

                   QB         0 ~ 15       0 ~ 15         0 ~ 15                   0 ~ 15

                   MB         0 ~ 31       0 ~ 31         0 ~ 31                   0 ~ 31

                   SMB        0 ~179       0 ~299         0 ~ 549                  0 ~ 549

                   SB         0 ~ 31       0 ~ 31         0 ~ 31                   0 ~ 31

字                 VW         0 ~2046      0 ~ 2046       0 ~5118   V 1.22         0 ~ 5118        V 1.23
                                                            0 ~ 8190   V 2.00        0 ~ 10230       V 2.00
                                                            0 ~ 10230  XP
                  
                   T          0 ~ 255      0 ~ 255        0 ~ 255                  0 ~ 255

                   C          0 ~ 255      0 ~ 255        0 ~ 255                  0 ~ 255

                   AIW        0 ~ 30       0 ~ 30         0 ~ 62                   0 ~ 62

                   AQW        0 ~ 30       0 ~ 30         0 ~ 62                   0 ~ 62

雙字               VD         0 ~ 2044     0 ~ 2044      0 ~ 5116   V 1.22       0 ~ 5116        V 1.23
                                                           0 ~ 8188   V 2.00       0 ~ 10236       V 2.00
                                                           0 ~ 10236  XP

說明:S7-200PLC的字、雙字地址和字節地址實際上是重疊的,下面做個說明如:

VB0  VB1  VB2  VB3  VB4  VB5  VB6  VB7  VB8  VB9  VB10  VB11  VB12  VB13  VB14  VB15

————  ————  ————  ————  ————  ————    ————     ————
  VW0       VW2       VW4       VW6       VW8       VW10        VW12         VW14
—————————  ————————— —————————    ———————————
       VD0                 VD4                 VD8                     VD12

從上例可以看出PLC中字節、字與雙字尋址的關系,當然如果你想使用VW1(VB1 VB2)、VD3(VB3 VB4 VB5 VB6)等尋址方式也是可以的,

但為了減少不必要的尋址錯誤造成程序的非法執行建議:

字尋址時使用(V、I、Q、M等等)0、2、4、6、8、10 ……,(這從PLC的模擬量輸入/輸出(AIW/AQW)的尋址就可以看出奇數地址是不允許的)

雙字尋址時使用(V、I、Q、M等等)0、4、8、12、16、20、24 …………………………,同時還要注意字節地址尋址最好也能不重疊;

C、T區當前值讀取時的地址按實際地址0~255來。
huoshi
為所當為
級別: 網絡英雄

精華主題: 0
發帖數量: 2600 個
工控威望: 21442 點
下載積分: 16939 分
在線時間: 2776(小時)
注冊時間: 2010-12-27
最后登錄: 2025-06-03
查看huoshi的 主題 / 回貼
4樓  發表于: 2013-04-14 08:50
謝謝下了學習學習
kccjason
級別: 探索解密
精華主題: 0
發帖數量: 42 個
工控威望: 144 點
下載積分: 600 分
在線時間: 35(小時)
注冊時間: 2011-04-26
最后登錄: 2024-12-25
查看kccjason的 主題 / 回貼
5樓  發表于: 2013-04-25 23:10
取下謝謝
11yewang
級別: 探索解密
精華主題: 0
發帖數量: 3 個
工控威望: 121 點
下載積分: 523 分
在線時間: 1(小時)
注冊時間: 2013-01-28
最后登錄: 2015-01-30
查看11yewang的 主題 / 回貼
6樓  發表于: 2013-10-23 09:23
好東西啊
yahk1984
級別: 探索解密
精華主題: 0
發帖數量: 7 個
工控威望: 125 點
下載積分: 576 分
在線時間: 8(小時)
注冊時間: 2013-04-19
最后登錄: 2025-05-18
查看yahk1984的 主題 / 回貼
7樓  發表于: 2013-11-05 11:49
下不了

主站蜘蛛池模板: 一本大道香蕉大在线中文_国产精品久久久久久妇_天天干天天爱天天_18禁美女黄网站色大片在线_98超碰人人_国产丝袜av一区二区三区性色_av毛片无码中文字幕不卡_一区二区三区产品免费精品久久75 | 伊人亚洲视频_完美世界在线观看免费完整_黑人黄色一级片_久久天天躁夜夜躁狠狠ds005_操女人视频网站_51嘿嘿嘿国产精品伦理_高清av免费_多人乱p欧美在线观看 | 欧美另类在线观看_男女视频久久久_亚洲综合影视_一区www_理论片午午伦夜理片久久_色爱综合激情五月激情_欧美日韩精品成人网站二区A∨有_亚洲aⅴ天堂av天堂无码 | 九色亚洲_国产色a_日本高清免费在线_77成人影院_中文字幕日本人妻久久久免费_绯色av蜜臀av_色999日韩_中国丰满少妇熟乱xxxx | 成人无码视频在线观看网站_快色91_国产欧美日韩一区二区三区在线_在线看黄色_极品销魂美女一区二区_无码成人一区二区三区_videos日本多毛hd护士_人妻互换HD无码中文在线 | 免费一级a毛片免费观看欧美大片_久久人妻熟女一区二区_xxxxhd裸体video_久久久久久久国产精品视频_国产村偷农村妇女免费视频_欧美激情黄色片_永久免费一区二区三区_国产日产欧洲无码视频 | 午夜性做爰A片免费看_最近中文字幕在线视频1_99久久99视频只有精品_叶子楣三级在线观看_91精品久久久久久久久久久久久_欧美精品乱码久久久久久按摩_91av精品视频_国产精彩在线视频 | 中国av免费看_亚洲综合在线第一页_啊灬啊灬啊灬快灬深点吃奶_日本a大片_四川少妇BBB凸凸凸BBB按摩_亚洲第一视频网_久久婷婷色香五月综合激激情狠狠做五月_成人免费黄色视频 | 亚洲AV少妇熟女猛男_成人真爽爱性视频网_国产综合色精品一区二区三区_国产精品视频–无名网_又大又爽又黄无码A片在线观看_99亚洲狠狠色综合久久位_美女黄视频在线播放_91成人精品网站 | 超碰97人人人人人蜜桃_日韩不卡在线观看_国产又粗又猛又黄又爽的视频_男人亚洲天堂网_日本少妇xlxxx_午夜AV免费播放不卡三区_少妇做受xxxxⅹ高潮片_无码人妻精品一区二区三区欧美 | 少妇一区二区三区_中文字幕日韩精品无码内射_91精品网_欧洲mv日韩mv国产mv_日产精品一卡2卡三卡4乱码_97涩色_无遮挡免费高清羞羞视频_操操操干干 | 亚洲91网_成人影院网站ww555久久精品_日本在线观看视频一区_国产一级第一级毛片_jizzjizz日本护士视频_久久99精品国产91久久来源_久久久av免费观看_免费看久久久 | 麻豆蜜桃AV蜜臀AV色欲AV_懂色aⅴ精品一区二区三区蜜月_潮喷失禁大喷水无码_免费观看激色视频网站在线观看_亚洲砖码砖专无区2023_福利小视频在线观看_久久综合天天_久久免费看少妇高潮a片免费 | 色噜噜久久综合伊人一本_伊人久久丁香色婷婷啪啪_久久狠狠爱亚洲综合影院_日韩一级免费观看_日本内射FREERAPE视频_国产欧美一区二区精品秋霞影院_亚洲一区国产二区_中文字幕一二三综合a | 国产一级性片_性欧美另类_精品视频一区二区在线_国产成人无码AⅤ片在线观看_国产一级一级一级_一级黄色大片在线_国产a爱_在线看片日韩 | 国产麻豆精品a在线观看_91成人天堂久久成人_国产精品久久久久久52avav_成人av激情人伦小说_亚洲黄视频在线观看_国产成人亚洲综合网站小说_精品国产乱来一区二区三区_亚洲日韩中文字幕a∨ | 亚洲视频aaa_日本19禁啪啪免费观看www_国产一区二区三区四区www._亚洲精品久久久久中文字幕欢迎你_亚洲精品50p_av无码午夜福利一区二区三区_亚洲第一免费播放区_91一区在线 | av网址免费在线_久久乐国产精品亚洲综合_国产精品一区网站_亚洲人成网站在线在线观看_久久精品免费网站_国产精品精品久久久久久_又大又粗又猛免费视频_久久亚洲国产精品 | 精品成人免费一区二区_久草观看_久久精品国产亚洲av影院_日韩精品手机在线观看_亚洲成人中文_免费一级片在线观看_国产在线拍揄自揄视频菠萝_国产免费人成在线看视频 | 91少妇丨porny丨_中文字幕av一区二区_亚洲精品视频三区_骚妇内射中岀群交_欧美久久大片_欧美日本日韩aⅴ在线视频_国产91久久久久蜜臀青青天草二_97色伦婷婷综合色情网 | 久久久精品一区_人人爽天天碰天天躁夜夜躁_亚洲精品网页_97一期涩涩97片久久久久久久_www亚洲一区_久久久精品无码中文字幕_爱草草视频_国产伦国产伦老熟300部 | 91视频免费看网站_300部国产真实乱_国产麻豆乱码精品一区二区三区_999久久久精品免费毛片_国产精品爽爽va在线观看无码_最好的2019中文大全在线观看_国产又黄又爽又色的免费视频白丝_九九视频在线观看 | 欧美多毛肥胖老妇做爰_caoporn国产精品免费公开_蜜臀亚洲av永久无码精品老司机_男人狂桶女人高潮嗷嗷叫_精品在线视频免费在线观看视频_亚州福利视频_国产精品视频网_一区二区狠狠色丁香久久婷婷 | 无遮挡拍拍拍免费观看_99日韩_亚洲国产欧美日韩另类_毛片免费全部播放无码_狂野欧美激情性xxxx喷水_视频在线国产_超碰pron人人_免费h动漫无码网站 | 成人综合亚洲日韩欧美色_奇米成人影视_午夜精品a片一区二区三区_超碰色偷偷_青青草精品_久久久久久人妻精品一区二区三区_日本黄色三级大片_91福利网址导航 | 无毛一级片_9I精品福利一区二区三区蜜桃_精品免费观看_99热这里只有精品地址_亚洲国产精品一区二区成人_久久久精品一品道一区_国产的精品一区二区在线观看_国产亚洲精品久久yy5099 | 久久网站热最新地址4_www色.com_饥渴少妇浪潮AV麻豆传煤_欧美色五月_伊人成伊人成综合网222_CHINESE玩弄老年熟女_成人午夜视频在线_日本婷婷免费久久毛片 | 巨爆乳寡妇中文在线观看_亚洲精品资源在线观看_午夜剧场协和影视_日韩欧美在线观看视频一区二区_国产人妖ts重口系列网站观看_精品夜夜澡人妻无码AV_四虎国产精品亚洲一区久久特色_久久精品国产影院 | 久在草视频_乱码一区二区_飘雪在线高清观看视频动漫_日本高清视频免费在线观看_久久亚洲一区二区三区四区_亚洲欧洲av在线_精品国产AV无码一区二区三区_免费黄色在线观看视频 | 国产亚洲精品久久19p_肉人妻丰满av无码久久不卡_色综合久久久久久久粉嫩_好男人www在线社区_深夜A级毛片免费无码视频_久久91精品_精品国产91aⅴ一区二区三区_国产精品永久免费 | 国产亚洲精品hd网站_国产精品久久久久久久久久久久久_国产精品一亚洲AV日韩AV欧_久久精品亚洲综合_双乳奶水饱满少妇呻吟免费看_久久99深爱久久99精品_yellow高清在线观看免费观看视频_国产福利精品一区二区 | 女人与拘做受AAAAA片_久久国产AV无码一区二区老太_消息称老熟妇乱视频一区二区_中文字幕精品乱码中文字乱码_澳门永久av免费网站入口_午夜激情成人网_搡女人真爽免费视频大全_亚洲暴爽av人人爽日日碰麻豆 | 亚洲精品国产91_日本高清视频色WWW色_午夜一级影院_色人阁26uuu_国产成人精品小视频_av天堂久久天堂av色综合网_呻吟翘臀后进爆白浆_亚洲啪啪aⅴ一区二区三区9色 | 男女啪啪无遮挡免费网站_www.com黄色_亚洲日产无码中文字幕_人人澡人人妻人人爽人人蜜桃_伊人伊成久久人综合网996_久爱视频免费_中文字幕在线网_A片免费观看一区二区三一区 | 另类激情五月_中文天堂在线观看视频_视频一区二区免费_久久久久蜜桃精品成人片公司_精品成人无码A片观看香草视频_亚洲3atv精品一区二区三区_午夜男人网站_国产精品浓毛一区二区三区 | 四虎黄色网_铠甲勇士第一部免费_亚洲色成人WWW永久在线观看_男女做爰猛烈吃奶啪啪喷水网站_久久精品午夜福利_91手机在线观看_成人日日夜夜_中国av在线播放 | 国产精品久久久天天影视_强乱中文字幕在线播放不卡_亚洲日韩精品A∨片无码加勒比_国产精品第1页_4455永久在线观看_伊人久久婷婷综合五月97色_亚洲国产毛片_一级h片 | 中文字幕一精品亚洲无线一区_一级毛片全部免费播放特黄_成人在线一级片_2020av视频_亚洲福利网_亚洲精选无码久久久_午夜影视啪啪免费体验区深夜_夜鲁夜鲁夜鲁视频在线观看 | 无毛一级片_9I精品福利一区二区三区蜜桃_精品免费观看_99热这里只有精品地址_亚洲国产精品一区二区成人_久久久精品一品道一区_国产的精品一区二区在线观看_国产亚洲精品久久yy5099 | 日韩欧美国产精品_巴中文旅集团_粉嫩蜜桃麻豆免费大片_久久久精品久久日韩一区_久久久久久久久久爱_男女爽爽午夜18污污影院_亚州欧美精品_婷婷久久香蕉五月综合加勒比 | 色视频网站免费_国产逼视频_双性清冷美人被老肥丑攻c哭_黄色片xxxxx_中国人与黑人牲交FREE欧美_高清视频在线_91精品国产视频_精品国产aⅴ |