国产一区二区三区毛片_亚洲乱码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
下載下來都不能解壓的

主站蜘蛛池模板: 免费无码va一区二区三区_国产精品嫩草无码AⅤ在线播放_免费在线观看AV_91少妇_国产免费区一区二区三视频免费_毛茸茸av_国产在线不卡AV精片观看_色综合视频 | 丁香五月亚洲综合在线国内自拍_国产精品色一区二区三区_av网在线看_少妇高潮太爽了在线观看免费_美女裸浴偷拍视频引爆副本_国产一区视频在线观看免费_后λ式动态后λ式动态图av_av免费在线免费观看 | 阿娇囗交全套码在线观看_国语精品91自产拍在线观看二区_国产又粗又猛又黄又爽无遮_中国1级毛片_久久久久久AV无码免费看大片_少妇裸体性生交_理论片自拍_特黄做受又粗又长又大又硬 | 亚洲视频欧美视频_欧美性欧美巨大黑白大战_国产伦子系列沙发午睡_日本xxxx在线观看_女同一区二区_国产黄色激情视频_国产精品午夜爆乳美女视频_国产麻传媒精品国产AV | 成人免费黄色片_精品人妻中文无码AV在线_国产在线精品一区二区不卡了_自怕偷自怕亚洲精品_舌L子伦熟妇ΑV_黄色大片免费的_51porn国产_日本黄色a视频 | 国产精品奇米一区二区三区小说_国产乱人伦av在线a_日日综合网_调味的房子在线观看_亚洲av狠狠爱一区二区三区_国产在线播放精品视频_人与禽的免费一级毛片_国产一级精品视频 | 国产精品福利免费_亚洲精品无码成久久不卡_欧美黄色大片在线观看_国产色拍_又色又爽又黄又免费的照片_黑人边吃奶边摸边做边爱_精品免费av一区二区三区_久久综合亚洲精品 | 国产69精品久久99不卡的观看体验_一区二区视频网_精久久久久久久_综合激情六月_操操操操操操操_麻豆播放器_久久99久久精品视频_亚洲中文字幕成人无码 | 最新久久精品_91无限看次数破解版小孩_久久久久久久久爱_久久久亚洲一区_一级网站_免费精品久久久_玩弄丰满熟妇XXXXX性视频_中文字幕久久爽aⅴ一区 | 色综合伊人色综合网站_国产久草在线观看_国产一级α片_久久久视频精品_日本xxxx娇小_亚洲精品v日韩精品_特级欧美牲交a欧美在线_特黄特色的大片观看免费视频 | 欧美日韩在线免费播放_丰满人妻无奈张开双腿AV_国产高清免费AV片在线观看不卡_四虎国产精品永久在线_成人色综合_亚洲精品成人自拍_91色精品视频在线_91叼嘿视频 | 高潮毛片无遮挡高清免费_黄色sp_成年人国产视频_www99视频_精品一区91_3344成人免费看A片_老司机亚洲_高清无码午夜福利视频 | 日本91网站_久久人人爽人人爽人人片AV东京热_农村野外理伦三级_嫩草官网视频入口_一区二区日韩欧美_a级片一级片_国产亚洲v_久久精品一区二区三区国产主播 | 国产gaysexchina男同menxnxx_全免费A级毛片免费看无码_无码专区人妻系列日韩_久久久久久久久久综合_Chinese国产AV_日产乱码区别免费必看_国产91精选在线观看网站_成a∧人片在线观看无码 | 操人视频_91操女人_国产尤物_极品少妇的粉嫩小泬视频_91综合久久爱com_久久网在线观看_精品久操_国产精在线 | 97精品国产三级A∨在线_欧美一级专区_国产九九99久久99大香伊_宝贝腿抬高点让我爽一点麻豆_97青草超碰久久国内精品91_成人免费乱码大片a毛片视频网站_av三级_久在线中文字幕乱码免费 | 边啃奶边躁狠狠躁a片动图_懂色av一区二区_黄色片小视频_亚洲性无码AV在线观看_欧美成在线观看_乱人伦精品视频在线观看_无码人妻一区二区三区免_久久r精品 | 欧美一级黄色片视频_欧美bdsm精品调教视频_午夜极品_国产精品久久久久久久久潘金莲_在线观看老湿视频福利_日韩有码在线播放_精品二区视频_好爽啊中文字幕一区二区久久 | 人人妻人人爽人人爽_国产精品99久久久精品免费观看_视频一区二区三区在线观看_成人免费黄色大片_国产免费人成视频在线播放播_日韩精品中出_久久久久国产一级毛片高清版小说_国产偷录视频叫床高潮 | 国产精品奇米一区二区三区小说_国产乱人伦av在线a_日日综合网_调味的房子在线观看_亚洲av狠狠爱一区二区三区_国产在线播放精品视频_人与禽的免费一级毛片_国产一级精品视频 | 久久精品视频69_国产精品91在线播放_亚洲综合无码一区二区_中文日韩一区二区_日韩一卡二卡三卡四卡免费观在线_国产a级免费观看_国内精品免费视频自在线拍_久久ク成人精品中文字幕 | 亚洲精品国产91_日本高清视频色WWW色_午夜一级影院_色人阁26uuu_国产成人精品小视频_av天堂久久天堂av色综合网_呻吟翘臀后进爆白浆_亚洲啪啪aⅴ一区二区三区9色 | www.99久久久_黄色片网此_欧美色图影院_99久久久无码国产精精品品不卡_成人高潮成人免费观看_99re6热在线精品视频观看_亚洲黄色一区二区_国产成人91 | 亚洲欧美国产另类_欧美与黑人午夜性猛交久久久_国产欧美日本在线_风流老熟女一区二区三区_天天干人人_91网国产高清_色婷婷一区二区三区四区成人网_中国特黄一级片 | 亚洲精品视频一区二区三区_国产∨亚洲V天堂无码久久久_亚洲欧美精品在线_91精品国产乱码久久久久_91性爰视频_一级毛片二级毛片三级毛片_亚洲AV第一成肉网肉片AV_国产免费不卡视频 | 无遮挡粉嫩小泬久久久久久久_www.超碰97_色插图午夜影院_深夜视频在线观看免费_国产日本在线观看_欧美xxxx69hd_免费a级黄毛片_国产精品综合AV一区二区 | 日本乱码一区二区_成人精品视频免费在线观看_在线观看日本亚洲一区_日韩欧美MV在线观看免费_久久久亚洲国产美女国产盗摄_www.日本黄_老少配XX丰满老熟妇_欧美奶涨边摸边做爰视频 | 超碰人人国产_亚洲AV无码之日韩精品_免费播放片Ⅴ免费人成视频_国产爆乳美女娇喘呻吟_久久99国产综合精品_综合在线亚洲_色亚洲网_国产亚洲婷婷香蕉久久精品 | 亚洲精品国产91_日本高清视频色WWW色_午夜一级影院_色人阁26uuu_国产成人精品小视频_av天堂久久天堂av色综合网_呻吟翘臀后进爆白浆_亚洲啪啪aⅴ一区二区三区9色 | 精品动漫一区二区三区_人妻AV中文字幕久久_免费A级一男一女牲交_欧美一级α片_嗯啊ww免费视频网站_亚洲第一福利视频_三年片免费观看大全有_中国农村黄色片 | 日韩在线视频播放_国产九色_国产一精品一AV一免费爽爽_亚洲蜜臀av国产aⅴ综合小说_h在线播放_天天操精品视频_91精品精品_免费观看国产精品 | 欧美多毛肥胖老妇做爰_caoporn国产精品免费公开_蜜臀亚洲av永久无码精品老司机_男人狂桶女人高潮嗷嗷叫_精品在线视频免费在线观看视频_亚州福利视频_国产精品视频网_一区二区狠狠色丁香久久婷婷 | 94久久国产乱子伦精品免费_国精品产区WNW2544_午夜黄色av_久久精品视频在线播放_日韩视频一二三区_天天干干干_国产在线精品91国自产拍免费_国产三级啪啪 | 久久久精品一区_人人爽天天碰天天躁夜夜躁_亚洲精品网页_97一期涩涩97片久久久久久久_www亚洲一区_久久久精品无码中文字幕_爱草草视频_国产伦国产伦老熟300部 | 欧美大片a片免费看视频频_麻豆精品影院_国产精品手机视频一区二区_久久懂色精品99综一区合_久久综合干_国产在线视频不卡二_国产天堂久久综合_79av国产 | www.成人_亚洲人成网77777亚洲色_色播国产_国产免费一区二区三区视频天天爽_8av国产精品爽爽ⅴa在线观看_亚洲无毛av_成人AV毛片无码免费网站_国产V一区二区三区在线 | 亚洲性色av日韩在线观看_国产成人精品无码片区在线观看_国产精品操女人_av官网在线播放_国产内射露脸在线观看_久久2018_日韩97_国产精品毛片久久久久久久av | 一本大道香蕉大在线中文_国产精品久久久久久妇_天天干天天爱天天_18禁美女黄网站色大片在线_98超碰人人_国产丝袜av一区二区三区性色_av毛片无码中文字幕不卡_一区二区三区产品免费精品久久75 | 亚洲AV少妇熟女猛男_成人真爽爱性视频网_国产综合色精品一区二区三区_国产精品视频–无名网_又大又爽又黄无码A片在线观看_99亚洲狠狠色综合久久位_美女黄视频在线播放_91成人精品网站 | 免费网站高清观看素材_人妻蜜と1~4中文字幕月野定规_97超碰免费在线_中文字幕在线人_亚洲色无码A片一区二区潘甜甜_欧美中文一区二区三区_想要xx·m3u8色视频_亚洲av中文无码4区免费 | 久久婷婷国产_亚洲伦理片在线_色五月色开心色婷婷色丁香_青青在线视频观看_波多野结衣视频一区_日韩在线理论_国产成人免费在线_久久中文免费视频 |