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

wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
樓主  發表于: 2013-06-22 19:51
Omron_Fins.dll V1.0 Fins通信協議串口通訊動態鏈接庫DLL(以下簡稱DLL),是為滿足工業通信需要,

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

可以適用于常用的各種開發環境如:Vb6、Vb.net、Delphi、C#、VC++、powerbuilder、易語言、labviEW等進行上位機軟件開發。

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

1)、遵循歐姆龍最新Fins通信協議;

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

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

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

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

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

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

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

9)、采用數組指針調用數據發生與接收,初學者快速入門;對于不方便使用指針的開發環境可采用DLL緩沖區傳遞;

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

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

軟件版本及相關說明:

Omron_Fins.dll V1.0 Fins通信協議串口通訊鏈接庫,實現了對歐姆龍全系列PLC的Fins協議的支持,

wangjun于2013年在原有Omron_HostLink.dll V3.2版基礎上基于Finsi協議重寫通訊底層協議結構。

對于16位整數和32位整數讀取寫入均按有符號整數處理,小數的返回按單精度浮點型(2進制浮點)

處理讀取方式。提供擴展功能函數,方便用戶實現混合數據讀取。能夠同時滿足32個串口并發

情況下的正常使用。

Omron_Fins.dll V1.0 分為完美版和單機版兩個版本。

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


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

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

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

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

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

電 話:13912935690

騰訊QQ:157610979

阿里旺旺: wj_longshuai

郵 箱:[url=mailto:157610979@QQ.com]157610979@QQ.com[/url] ;   [url=mailto:chinawanglong@163.com]chinawanglong@163.com[/url]
[ 此帖被wjun7610在2016-11-24 14:06重新編輯 ]
附件: 歐姆龍fins協議動態庫.rar (1353 K) 下載次數:663
網站提示: 請不要用迅雷下載附件,容易出錯
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
1樓  發表于: 2013-06-22 19:52
DLL串口操作函數包括:

  1)、finsComOpen打開串口;

     finsCvComOpen打開串口; //CV模式通訊串口打開

  2)、finsComClose關閉串口;
      
  3)、finsSetDelay串口通訊延時設定;
                    
  4)、finsComTrue判斷串口是否打開成功;
            
  5)、finsComWork判斷串口是否正在工作中;

Fins協議基本功能函數包括:

  1)、finsPlcRs  讀取PLC運行狀態;

  2)、finsPlcWs 更改PLC運行狀態;  

  3)、finsBitForced  PLC位元件強制;

  4)、finsCancelAllF 取消全部PLC強制;

  5)、finsReadBit 讀PLC位元件值;

  6)、finsReadInt 讀PLC字元件值;

  7)、finsWriteBit 寫PLC位元件值;  

  8)、finsWriteInt 寫PLC字元件值;

Fins協議擴展功能函數包括:

  1)、finsSet PLC的位元件置位;

  2)、finsReSet PLC的位元件復位;  

  3)、finsReadDInt 讀PLC的雙字整數值;

  4)、finsReadFloat 讀PLC的浮點數據值;

  5)、finsWriteDInt 寫PLC的雙字整數值;

  6)、finsWriteFloat 寫PLC的浮點數據值;

Fins協議DLL緩沖區傳遞功能函數包括

  1)、finsClearBuf  清除復位DLL緩存區;

  2)、finsReadBitBuf 讀PLC的位元件值  

  3)、finsReadIntBuf 讀PLC的字元件值;

  4)、finsReadDIntBuf 讀PLC雙字整數值;

  5)、finsIntDllBufRead 讀DLL整數緩存區值;

  6)、finsReadFloatBuf 讀PLC浮點數據值;  

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

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

  9)、finsBitBufWrite  寫PLC的位元件值;

  10)、finsIntBufWrite 寫PLC的字元件值;  

  11)、finsDIntBufWrite 寫PLC雙字整數值;

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

  13)、finsFloatBufWrite 寫PLC浮點數據值;
當需要進行16位整數、32位整數、32位浮點數值進行混合讀寫時,所需拓展函數包括:

  1)、DecBitBin  字整數的位抽取;

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

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

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

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

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

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

  8)、Int16Unsign   16位有符號整數轉無符號整數  
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
2樓  發表于: 2013-06-22 19:52
在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 *pRs)(int nport, int node);
typedef int (_stdcall *pWs)(int nport, int node, int State);
typedef int (_stdcall *pBitForced)(int nport, int node, int address, int Bit, int value, char* Area);
typedef int (_stdcall *pCancelAllF)(int nport, int node);
typedef int (_stdcall *pReadBit)(int nport, int node, int address, int Bit, int Count, char* Area, int* RxdBuffer);
typedef int (_stdcall *pReadInt)(int nport, int node, int address, int Count, char* Area, int* RxdBuffer);
typedef int (_stdcall *pWriteBit)(int nport, int node, int address, int Bit, int Count, char* Area, int* TxdBuffer);
typedef int (_stdcall *pWriteInt)(int nport, int node, int address, int Count, char* Area, int* TxdBuffer);

typedef int (_stdcall *pSet)(int nport, int node, int address, int Bit, char* Area);
typedef int (_stdcall *pReSet)(int nport, int node, int address, int Bit, char* Area);
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);
typedef int (_stdcall *pInt16Unsign)(int value);

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

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

pRs mRs;
pWs mWs;
pBitForced mBitForced;
pCancelAllF mCancelAllF;
pReadBit mReadBit;
pReadInt mReadInt;
pWriteBit mWriteBit;
pWriteInt mWriteInt;

pSet mSet;
pReSet mReSet;
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;
pInt16Unsign mInt16Unsign;

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

hinstDLL = LoadLibrary("Omron_fins.dll");

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

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

   if (hinstDLL)
   {
      mOpen = (pOpen)GetProcAddress (hinstDLL,"finsComOpen");
      //mOpen = (pOpen)GetProcAddress (hinstDLL,"finsCvComOpen");  CV模式plc使用這個打開串口
      mClose = (pClose)GetProcAddress (hinstDLL,"finsComClose");
      mSetDelay = (pSetDelay)GetProcAddress (hinstDLL,"finsSetDelay");
      mComTrue = (pComTrue)GetProcAddress (hinstDLL,"finsComTrue");
      mComWork = (pComWork)GetProcAddress (hinstDLL,"finsComWork");
    
      mRs = (pRs)GetProcAddress (hinstDLL,"finsPlcRs");
      mWs = (pWs)GetProcAddress (hinstDLL,"finsPlcWs");
      mBitForced = (pBitForced)GetProcAddress (hinstDLL,"finsBitForced");
      mCancelAllF = (pCancelAllF)GetProcAddress (hinstDLL,"finsCancelAllF");
      mReadBit = (pReadBit)GetProcAddress (hinstDLL,"finsReadBit");
      mReadInt = (pReadInt)GetProcAddress (hinstDLL,"finsReadInt");
      mWriteBit = (pWriteBit)GetProcAddress (hinstDLL,"finsWriteBit");
      mWriteInt = (pWriteInt)GetProcAddress (hinstDLL,"finsWriteInt");

      mSet = (pSet)GetProcAddress (hinstDLL,"finsSet");
      mReSet = (pReSet)GetProcAddress (hinstDLL,"finsReSet");
      mReadDInt = (pReadDInt)GetProcAddress (hinstDLL,"finsReadDInt");
      mReadFloat = (pReadFloat)GetProcAddress (hinstDLL,"finsReadFloat");
      mWriteDInt = (pWriteDInt)GetProcAddress (hinstDLL,"finsWriteDInt");
      mWriteFloat = (pWriteFloat)GetProcAddress (hinstDLL,"finsWriteFloat");


     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");
     mInt16Unsign = (pInt16Unsign)GetProcAddress (hinstDLL,"Int16Unsign");
  
     AfxMessageBox("Omron_fins.dll已成功載入!");
  }
  else
{
    AfxMessageBox("沒找到Omron_fins.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);
}
cmsn
      
級別: 略有小成
精華主題: 0
發帖數量: 275 個
工控威望: 451 點
下載積分: 1037 分
在線時間: 281(小時)
注冊時間: 2012-09-10
最后登錄: 2025-02-22
查看cmsn的 主題 / 回貼
3樓  發表于: 2013-06-22 20:57
這個關注下
manjialin
專業工業控制軟件開發!
級別: 略有小成
精華主題: 0
發帖數量: 144 個
工控威望: 334 點
下載積分: 718 分
在線時間: 110(小時)
注冊時間: 2008-11-28
最后登錄: 2020-08-26
查看manjialin的 主題 / 回貼
4樓  發表于: 2013-07-02 08:55
干了那么多年軟件開發,第一次聽說OMRON能全系支持FINS
945785181
做自己,信自己。
級別: 探索解密
精華主題: 0
發帖數量: 20 個
工控威望: 128 點
下載積分: 619 分
在線時間: 17(小時)
注冊時間: 2011-01-15
最后登錄: 2015-08-13
查看945785181的 主題 / 回貼
5樓  發表于: 2013-07-11 09:14
下載下來都不能解壓的

主站蜘蛛池模板: 麻豆激情视频在线_久久人人爽人人爽人人片亞洲_亚洲一级国产_一区二区高清在线观看_国产精品永久免费自在线观看_亚洲国产精品一区二区www_日韩免费无码人妻波多野_欧美性猛交xxxx乱大交3喷潮 | 一区在线播放视频_天堂网色_日韩国产网站_国产国语一级A毛片高清视频_色777狠狠综合秋免鲁丝_免费特级黄色片_久久亚洲第一_caoporn国产免费 | 高h粗口_日本黄色三级网站_黄色av大全_少妇饥渴偷公乱第一章全文_精品免费久久久国产一区_国产乱人_国产精品久久久国产盗摄_欧美亚洲人成在线 | 精品国内在视频线2019_国产69精品久久久久男男系列_免费国产a国产片高清不卡_无码熟妇人妻av在线c0930_国产97视频在线观看_人人艹av_CHINESEXXXXHD麻豆_www久草 | 午夜性做爰A片免费看_最近中文字幕在线视频1_99久久99视频只有精品_叶子楣三级在线观看_91精品久久久久久久久久久久久_欧美精品乱码久久久久久按摩_91av精品视频_国产精彩在线视频 | 日本人真人姓交大视频_www精品视频_91看片网页_国产一级美女_三级男人添奶爽爽爽视频_av在线中文在线_海绵宝宝英文版双语字幕在线观看_色人在线 | 欧美另类在线观看_男女视频久久久_亚洲综合影视_一区www_理论片午午伦夜理片久久_色爱综合激情五月激情_欧美日韩精品成人网站二区A∨有_亚洲aⅴ天堂av天堂无码 | 亚洲欧美日本国产高清_欧美大逼逼_亚洲一区二区三区四区在线_亚洲精品色_亚洲三区在线_黄色av网站免费在线观看_a级性视频_纳粹荒淫史 | 手机成人影视_国产精品伦视频看免费三_扒开粉嫩的小缝喷白浆h_亚洲Ⅴa制服丝袜一区二区三区_久草青青在线_久久久小视频_免费A级毛片18禁网站免费_亚洲精品成a人在线观看网站 | 国产免费观看一区二区三区_狼人视频国产在线视频WWW色_色欧美与xxxxx_日韩欧美一区二区免费_亚洲国产aⅴ精品一区二区三区_日本黄色一级视频_精品成人一区二区三区_国产精品合集久久久久青苹果 | 又爽又黄又无遮挡的视频_五月激情五月婷婷_伊人久久综合视频_99国产精品9_免费毛片在线_欧美黄色免费在线观看_成人α片免费视频在线观看_欧美日韩在线精品一区二区三区 | 第一福利导航导航_国产激情久久久久久熟女老人AV_丁香五月七月综合激情_久草毛片_91亚色视频在线观看_日本女优一区_日日躁夜夜躁狠狠躁av麻豆_国产精品乱码久久久久久久久 | 国产人与动牲交_老牛嫩草一区二区三区日本_性欧美日本_欧美成人在线免费视频_日本WWW一道久久久免费榴莲_丰满少妇A级毛片露出偷拍_国产无码一区二区精品_欧洲裸体兽交大黑妞 | 911影视_91看篇_国产一级黄色影片_爱爱视频在线_国产成人精品一区二区三区视频_久久91精品国产一区二区三区_aa视频免费观看_国产精品无码一区二区牛牛 | 麻豆一二三专区入口_免费h网站在线观看的_国产成人亚洲精品青草_欧美顶级METART裸体全部_日韩在线观看网址_A级免费黄色视频_久久久免费看_国产真人无码作爱视频免费 | 亚洲欧美日韩、中文字幕不卡_黄不卡免费在线_91精品国产综合久久久久久粉嫩_伊人久久大香线蕉午夜AV_亚洲最大AV资源网在线观看_男人女人真曰批免费观看国产_日韩中文字幕在线一区二区三区_久久精品手机视频 | 久久久久久久久久久久久国产精品_日韩国产三区_色日本视频_欧美日韩亚洲不卡_最新国模无码国产在线视频_亚洲人成网站18禁止无码_亚洲激情免费视频_久久精品呦女 四虎免费观看_日韩在线91_国产观看99_91婷婷射_亚洲精选中文字幕_色yeye高清在线视频_亚洲日韩成人无码不卡_一区二区三区日韩视频 | 国内自拍第23页_欧美性做爰片免费视频看_狠狠操人人_久久av喷潮久久av高_国产真人美女A爱做_国产精成人品localhost_亚洲乱码日产一区三区_999精品国产人妻无码梦乃爱华 | 久久婷婷五月综合色一区二区_com毛片_黄色亚洲精品_www成人在线_超级碰人人干_91久久国语露脸精品国产高跟_91精品啪在线观看_天天狠天天透天天伊人 | 青苹果乐园高清免费播放_国产午夜亚洲精品一区_成人做爰A片免费看视频暗夜_国产亚洲精久久久久久_亚洲成a人片_日本成本人片视频免费_亚洲午夜无码久久久久小说_男女a级毛片 | 国产精品久久久久国产精品三级_免费观看老乱熟视频_日韩精品在线视频观看_天海翼精品一区二区三区_亚洲一线视频_四虎伊人_国内精品小视频_人妻出轨和黑人疯狂做国产人 国产精品国产三级国产av′_www国产精品_www.精品视频_奇米在线7777在线精品_性生交裸片免费看_91爱观看在线_夜夜草影院_中文字幕亚洲日本 | 嫩草精品_91精品一区二区三区四区_欧洲美女粗暴牲交_日韩精品无码一区二区三区av_伊人青草_内射爽无广熟女亚洲_欧美黄片免费看_久久本道综合色狠狠五月 | 我要综合色_国产精品99久久久久久久女警_欧洲一区二区在线观看_国产激情午夜视频在线观看_农村女人十八毛片a级毛片_亚洲免费在线_日韩一二_精品久久www | 人与性动交ⅩXXXB_骚片AV蜜桃精品一区_大胸美女白丝被到流水软件_国产精品黄网在线播放_国产欧美视频在线观看_7777免费精品视频_精品国产乱码久久久久久88av_成人在线91 | 国产亚洲精品hd网站_国产精品久久久久久久久久久久久_国产精品一亚洲AV日韩AV欧_久久精品亚洲综合_双乳奶水饱满少妇呻吟免费看_久久99深爱久久99精品_yellow高清在线观看免费观看视频_国产福利精品一区二区 | 国产淫片_中文在线一区二区_精品一区二区免费_日韩在线激情视频_亚洲色婷婷久久精品AV蜜桃_草草影院ccyycom_欧美日韩视频免费看_出租屋勾搭老熟妇啪啪 | 国产在线乱_免费精品一区二区三区视频日产_国产精品视频亚洲_办公室撕开奶罩揉吮奶头在线观看_看片久久_久操欧美_国产一区二区波多野结衣_国产精品麻豆成人AV网 www.拔插_亚洲熟女综合一区二区三区_人人狠狠综合久久88成人_银魂在线观看_国产精品成人黄片_91久草视频_99久久精品国产毛片_h高潮娇喘抽搐A片国产麻豆 | 国内自拍第23页_欧美性做爰片免费视频看_狠狠操人人_久久av喷潮久久av高_国产真人美女A爱做_国产精成人品localhost_亚洲乱码日产一区三区_999精品国产人妻无码梦乃爱华 | 国产精品18久久久久久av小说_91高清一区_好男人资源在线www免费_久久久噜噜噜久久中文福利_日本中文字幕一级_99精品视频免费观看_免费看片源_亚洲精品国男人在线视频 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 日韩精品一区二区午夜成人版_亚洲精品乱码久久久久久蜜桃不爽_猫咪最新永久在线网站_欧美一区二区三区久久综_天天干夜夜爱_亚洲精品一区二三区不卡_日本黄色片免费看_在线播放黄色网址 | 亚洲AV无码兔费综合_欧美第一夜_成人av影视在线_超色视频在线观看_日韩无码一区中文_自拍亚洲综合_亚洲精品一区二区三区精华液_国产裸体永久免费视频网站 亚洲精品综合_足疗店女技师按摩毛片_亚洲精品久久嫩草网站秘色_国产亚洲一区精品_这题超纲了动漫免费观看_国产免费av高清在线_波多野结衣1区2区3区_久久精品小短片 | 成人一二三四区_国产成人精品人人2020视频_成人久久色_无码Aⅴ在线观看_毛片黄色_我要看毛片播放器_丁香婷婷色综合激情五月_欧美亚洲影院 | 97热久久_91视频合集_在线免费亚洲视频_日本高清色www在线安全_久久久网站av_999精品在线观看视频_91精品国产综合久久香蕉922_国产第一页在线观看 | 日本91网站_久久人人爽人人爽人人片AV东京热_农村野外理伦三级_嫩草官网视频入口_一区二区日韩欧美_a级片一级片_国产亚洲v_久久精品一区二区三区国产主播 | 三级网站免费观看_欧美乱妇高清无乱码免费_一天av在线高清免费观看_国产亚洲一区字幕_高清视频一区二区三区_成人福利片在线_久久这里只精品_久久精品国产99精品国产亚洲性色 | 日夜操天天干_久久精品99国产精品_国产一性一爱一乱一交_亚洲永久视频_精品久久久久久久无码人妻热_亚洲一级免费视频_m豆传媒在线链接观看_人人天天夜夜 | 裸体在线国模精品偷拍_国产欧美日韩一区二区在线_国产高清无码专区_成人免费xxxxxx视频_免费同性男男自慰网站_日本网址在线观看_国产亚洲AV无码乱码在线观看_大卫科波菲尔1999 | 在线黄色免费观看_国产精品午夜无码av体验区_国产精品免费_区二区三区观看_国产成人欧美_久久精品第一页_四川丰满少妇A级毛片_日韩欧美特级片_色哟哟一区二区 | 成人精品鲁一区一区二区_久久人人爽人人爽人人爽av_久久久久久久伊人_少妇18xxxx性xxxx片_www天天操_免费a级毛片18以上观看精品_国产在线一级片_又黄又爽的视频在线观看 | 成人在线观看h_亚洲久久在线_91九色福利_日韩av一区在线_日本又黄又爽gif动态图_人人综合_67194成l人在线观看_日本精品久久久 |