四虎成人免费视频 I 99精彩视频 I 国产女人毛片 I 快播av在线 I 久久精品国产自在天天线 I 欧美日韩国产亚洲综合卡18 I 亚洲在线视频一区 I 欧美日韩中文字幕一区二区三区 I 亚洲日本午夜 I 激情小说 在线视频 I 精品久久久久久天美传媒 I 变态 另类 欧美 大码 日韩 I 亚洲精品人成 I 日韩欧美大片免费观看 I 亚洲精品偷拍无码不卡av I 伊人久久青青草 I 天干天干天啪啪夜爽爽av I 丁香五月网久久综合 I 久久久精彩 I 99热欧美 I 香蕉视频黄色 I 亚洲永久精品国产 I 亚洲欧美日韩中文字幕在线观看 I www.亚洲一区二区 I 玖玖爱国产 I 好了av四色综合网站 I 精品亚洲国产成人 I 国产精品高潮露脸在线观看 I a级黄色片网站 I 亚洲精品色无码av试看

咨詢熱線

18621916738

當(dāng)前位置:首頁(yè)  >  技術(shù)文章  >  運(yùn)用VC#編程通過(guò)OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊

運(yùn)用VC#編程通過(guò)OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊

更新時(shí)間:2016-01-06      點(diǎn)擊次數(shù):1908

運(yùn)用VC#編程通過(guò)OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊

1、 配置OPC服務(wù)器
  對(duì)于服務(wù)器的配置與同步通訊的配置一樣,這里不需再講解,若有不清楚的,可以參閱之前發(fā)布的<運(yùn)用VC#編程通過(guò)OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊>

2、 OPC編程
  變量組、項(xiàng)的命名規(guī)則與同步通訊的一樣,這里不再描敘,下面主要就開(kāi)發(fā)一個(gè)異步通訊類 AsynServer來(lái)講解如何編程。

<1>、引用
  在VC#開(kāi)發(fā)環(huán)境中添加對(duì)OpcRcw.Da庫(kù)以及OpcRcw.Comn庫(kù)的引用,該庫(kù)屬于.NET庫(kù),不屬于COM庫(kù),西門子雖然編寫了類庫(kù),以提供對(duì).NET平臺(tái)的支持,但這些類庫(kù)仍然難于編程,里面包含了大量的在托管和非托管區(qū)傳輸數(shù)據(jù),因此我們需要在它的基礎(chǔ)上再開(kāi)發(fā)一個(gè)類庫(kù),以簡(jiǎn)化以后的編程,首先在類的開(kāi)頭使用命名空間:
using OpcRcw.Comn;
using OpcRcw.Da;
using System.Runtime.InteropServices;
using System.Collections;

<2>、編程
  異步編程的原理就是在OPC服務(wù)器那邊檢測(cè)當(dāng)前活動(dòng)的變量組,一但檢測(cè)到某一個(gè)變量,譬如變量Q0.0從1變成0,就會(huì)執(zhí)行一個(gè)回調(diào)函數(shù),以實(shí)現(xiàn)針對(duì)變量發(fā)生變化時(shí)需要實(shí)現(xiàn)的動(dòng)作,在這里可以采用委托來(lái)實(shí)現(xiàn)該功能。

  1、 在命名空間的內(nèi)部、類 AsynServer聲明之前添加委托的申明:
// 定義用于返回發(fā)生變化的項(xiàng)的值和其對(duì)應(yīng)的客戶句柄
public delegate void DataChange(object[] values,int[] itemsID);

  2、 該類繼承于西門子提供的庫(kù)接口IOPCDataCallback
public class AsynServer:IOPCDataCallback
在類的開(kāi)頭部分聲明變量:
struct groupStru
{
public int groupID;
public object groupObj;
}
internal const int LOCALE_ID = 0x407; //本地語(yǔ)言
private Guid iidRequiredInterface;
private string serverType="";
private int hClientGroup = 0; //客戶組號(hào)
private int nSvrGroupID; // server group handle for the added group 
private Hashtable hashGroup; //用于把組收集到一起
private int hClientItem=0; //Item號(hào)

   3、編寫構(gòu)造函數(shù),接收委托參數(shù)已確定當(dāng)數(shù)據(jù)發(fā)生變化時(shí)需要執(zhí)行的方法入口點(diǎn):
//創(chuàng)建服務(wù)器
//svrType 服務(wù)器類型的枚舉
//dataChange 提供用于在數(shù)據(jù)發(fā)生變化時(shí)需要執(zhí)行的函數(shù)入口
public AsynServer(ServerType svrType,DataChange dataChange)
{
switch(svrType)
{
case ServerType.OPC_SimaticHMI_PTPR
serverType="OPC.SimaticHMI.PTPro";break;
case ServerType.OPC_SimaticNET:
serverType="OPC.SimaticNET";break;
case ServerType.OPC_SimaticNET_DP:
serverType="OPC.SimaticNET.DP";break;
case ServerType.OPC_SimaticNET_PD:
serverType="OPC.SimaticNET.PD";break;
case ServerType.OPCServer_WinCC:
serverType="OPCServer.WinCC";break;

}
hashGroup=new Hashtable(11);
dtChange=dataChange;
}
  
  4、創(chuàng)建服務(wù)器
// 創(chuàng)建一個(gè)OPC Server接口
//error 返回錯(cuò)誤信息
//若為true,創(chuàng)建成功,否則創(chuàng)建失敗
public bool Open(out string error)
{
error="";bool success=true;
Type svrComponenttyp ;
//獲取 OPC Server COM 接口
iidRequiredInterface = typeof(IOPCItemMgt).GUID;
svrComponenttyp = System.Type.GetTypeFromProgID(serverType);
try
{
//創(chuàng)建接口
pIOPCServer =(IOPCServer)System.Activator.CreateInstance(svrComponenttyp);
error="";
}
catch (System.Exception err) //捕捉失敗信息
{
error="錯(cuò)誤信息:"+err.Message;success=false;
}
return success;
}

  5、 編寫添加Group的函數(shù)
///


/// 添加組
/// 
/// 組名
/// /創(chuàng)建時(shí),組是否被激活
/// //組的刷新頻率,以ms為單位
/// 返回錯(cuò)誤信息
/// 若為true,添加成功,否則添加失敗
public bool AddGroup(string groupName,int bActive,int updateRate,out string error)

error="";bool success=true;
int dwLCID = 0x407; //本地語(yǔ)言為英語(yǔ) 
int pRevUpdateRate;
float deadband = 0;
// 處理非托管COM內(nèi)存
GCHandle hDeadband;
IntPtr pTimeBias = IntPtr.Zero;
hDeadband = GCHandle.Alloc(deadband,GCHandleType.Pinned);
try
{
pIOPCServer.AddGroup(groupName, //組名
bActive, //創(chuàng)建時(shí),組是否被激活
updateRate, //組的刷新頻率,以ms為單位
hClientGroup, //客戶號(hào)
pTimeBias, //這里不使用
(IntPtr)hDeadband,
dwLCID, //本地語(yǔ)言
out nSvrGroupID, //移去組時(shí),用到的組ID號(hào)
out pRevUpdateRate, //返回組中的變量改變時(shí)的zui短通知時(shí)間間隔
ref iidRequiredInterface,
out pobjGroup1); //指向要求的接口
hClientGroup=hClientGroup+1; 
groupStru grp=new groupStru();
grp.groupID=nSvrGroupID;grp.groupObj=pobjGroup1;
this.hashGroup.Add(groupName,grp);//儲(chǔ)存組信息
// 對(duì)異步操作設(shè)置回調(diào),初始化接口
pIConnectionPointContainer = (IConnectionPointContainer)pobjGroup1;
Guid iid = typeof(IOPCDataCallback).GUID;
pIConnectionPointContainer.FindConnectionPoint(ref iid,out pIConnectionPoint);
pIConnectionPoint.Advise(this,out dwCookie);
}
catch (System.Exception err) //捕捉失敗信息
{
error="錯(cuò)誤信息:"+err.Message;success=false;
}
finally
{
if (hDeadband.IsAllocated) hDeadband.Free();
}
return success;
}

  6、 編寫激活、或者取消激活組的函數(shù)

  在同步編程中對(duì)于組的激活或者取消激活沒(méi)有實(shí)質(zhì)的意義,但在異步通訊編程中卻異常重要,這是因?yàn)镺PC服務(wù)器只對(duì)當(dāng)前處于活動(dòng)狀態(tài)的組中的變量進(jìn)行監(jiān)控,同時(shí)這也是很有必要的,因?yàn)槲覀兛梢园巡煌缑嬷械淖兞烤幊滩煌慕M,即同一界面中的變量規(guī)成一個(gè)組,而在某一時(shí)刻提供給用戶的只有一個(gè)界面,讓該界面中用到的組處于活動(dòng)狀態(tài),這樣執(zhí)行委托調(diào)用時(shí)只會(huì)執(zhí)行于該界面中有關(guān)的變量檢測(cè),而如果讓所有的組處于活動(dòng)狀態(tài),則當(dāng)前沒(méi)有顯示給用戶的界面用到的變量若發(fā)生變化也會(huì)觸發(fā)對(duì)委托函數(shù)的調(diào)用,這根本是沒(méi)有必要的,同時(shí)會(huì)大大降低程序的性能,請(qǐng)嚴(yán)格控制組的激活。
///
/// 激活或者取消激活組
/// 
/// 組名
/// true為激活,false為取消激活
/// 若有錯(cuò)誤,返回錯(cuò)誤信息
/// 若為true,添加成功,否則添加失敗
public bool AciveGroup(string groupName,bool toActive,out string error)
{
error="";bool success=true;
//通過(guò)名稱獲取組
object grp=((groupStru)hashGroup[groupName]).groupObj;
IOPCGroupStateMgt groupStateMgt=(IOPCGroupStateMgt)grp;
//初始化傳遞參數(shù)
IntPtr pRequestedUpdateRate = IntPtr.Zero; //由客戶的Item更新間隔時(shí)間
int nRevUpdateRate = 0; //由服務(wù)器返回的能夠更新的zui短時(shí)間間隔
IntPtr hClientGroup = IntPtr.Zero; //客戶組
IntPtr pTimeBias = IntPtr.Zero;
IntPtr pDeadband = IntPtr.Zero;
IntPtr pLCID = IntPtr.Zero; 

// 激活或者取消激活組
int nActive = 0; 
GCHandle hActive = GCHandle.Alloc(nActive,GCHandleType.Pinned);
if(toActive)
hActive.Target = 1;
else
hActive.Target = 0;
try 
{
groupStateMgt.SetState(pRequestedUpdateRate,out nRevUpdateRate,hActive.AddrOfPinnedObject(),pTimeBias,pDeadband,pLCID,hClientGroup); 
}
catch(System.Exception err)
{
error="錯(cuò)誤信息:"+err.Message;success=false;
}
finally
{
hActive.Free(); 
}
return success;
}

7、 向的組中添加變量的函數(shù)
///
/// 向的組添加一系列項(xiàng)
/// 
/// 組名
/// 完整的item名數(shù)組
/// 由服務(wù)器返回讀寫數(shù)據(jù)時(shí)需要使用的item號(hào)
/// 無(wú)錯(cuò)誤,返回true,否則返回false
public bool AddItems(string groupName,string[] iteame,int[] itemsID)
{
bool success=true;
OPCITEMDEF[] ItemDefArray=new OPCITEMDEF[iteame.Length];
for(int i=0;i {
hClientItem=hClientItem+1; //客戶項(xiàng)自動(dòng)加1
ItemDefArray[i].szAccessPath = ""; // 可選的通道路徑,對(duì)于Simatiic Net不需要。
ItemDefArray[i].szItemID = iteame[i]; // ItemID, see above
ItemDefArray[i].bActive = 1; // item is active
ItemDefArray[i].hClient = hClientItem; // client handle ,在OnDataChange中會(huì)用到
ItemDefArray[i].dwBlobSize = 0; // blob size
ItemDefArray[i].pBlob = IntPtr.Zero; // pointer to blob 
ItemDefArray[i].vtRequestedDataType = 4; //DWord數(shù)據(jù)類型
}
//初始化輸出參數(shù)
IntPtr pResults = IntPtr.Zero;
IntPtr pErrors = IntPtr.Zero;
try 
{
// 添加項(xiàng)到組
object grp=((groupStru)hashGroup[groupName]).groupObj;
((IOPCItemMgt)grp).AddItems(iteame.Length,ItemDefArray,out pResults,out pErrors);

int[] errors = new int[iteame.Length]; 
IntPtr pos = pResults;
Marshal.Copy(pErrors, errors, 0,iteame.Length);
for(int i=0;i {
if (errors[i] == 0)
{
OPCITEMRESULT result = (OPCITEMRESULT)Marshal.PtrToStructure(pos, typeof(OPCITEMRESULT));
itemsID[i] = result.hServer; 
pos = new IntPtr(pos.ToInt32() + Marshal.SizeOf(typeof(OPCITEMRESULT)));
}
else
{
String pstrError;
pIOPCServer.GetErrorString(errors[0],0x407,out pstrError); 
success=false;
break;
}
}
SetItenClient(groupName,itemsID,itemsID); //要求始終只有一個(gè)組被激活,才不會(huì)引起沖突。
}
catch (System.Exception err) // catch for error in adding items.
{
success=false;
//error="錯(cuò)誤信息:"+error+err.Message;
}
finally
{
// 釋放非托管內(nèi)存
if(pResults != IntPtr.Zero)
{
Marshal.FreeCoTaskMem(pResults);
pResults = IntPtr.Zero;
}
if(pErrors != IntPtr.Zero)
{
Marshal.FreeCoTaskMem(pErrors);
pErrors = IntPtr.Zero; 
}
}
return success;
}

聯(lián)系我們

上海翰粵自動(dòng)化系統(tǒng)有限公司 公司地址:上海市松江區(qū)思賢路2399弄137號(hào)   技術(shù)支持:化工儀器網(wǎng)
  • 聯(lián)系人:黃政武
  • QQ:76868608
  • 公司傳真:021-57657276
  • 郵箱:76868608@qq.com

掃一掃 更多精彩

微信二維碼

網(wǎng)站二維碼

主站蜘蛛池模板: 久草热线视频 | 99精品国产在热久久无毒 | 日韩系列无码一中文字暮 | 乡村性满足hd | 九九久久精品 | 亚洲国产精品无码久久一区二区 | 久久久青草 | 亚洲日本一区二区一本一道 | 国产妇女乱码一区二区三区 | 亚洲欧洲精品成人久久曰影片 | 国产成人av不卡免费观看 | www.在线国产| 日韩午夜毛片 | 成年人视频免费网站 | 国产色综合天天综合网 | 伊人色综合久久天天人守人婷 | 天堂视频网站 | 国产亚洲精品久久久久久彩霞 | 一边摸一边抽搐一进一出视频 | 国产无遮挡又黄又爽免费软件 | 欧美精品日韩 | 99精品国产高清一区二区麻豆 | 91丨九色丨蝌蚪丨少妇在线观看 | 舌头伸进去搅动好爽视频 | 国产亚洲成人精品 | 日韩免费在线看 | 日本丰满老妇bbb | 俺去俺来也在线www色官网 | 日韩国产精品无码一区二区三区 | 久久国产精品福利一区二区三区 | 狠狠色依依成人婷婷九月 | 少妇日皮视频 | 欧洲一卡2卡三卡4卡免费视频 | 日本老妇hd| 欧美日韩中文国产一区 | 天天干天天爱天天操 | 色播影院性播影院私人影院 | 免费观看又色又爽又湿的软件 | 国产美女精品一区二区三区 | 久久久久中文字幕 | 日本道二区免费v | 青青视频国产 | 国产精品主播在线观看 | 国产第一区第二区 | 一个人看的www在线高清视频 | 亚洲国产成人无码电影 | 国产美女特级嫩嫩嫩bbb | 欧美性猛交xxxx三人 | 毛毛片片毛片片片58 | av字幕在线| 又粗又大内射免费视频小说 | 亚洲自拍偷拍视频 | 国产精品999999 | 国产日韩网站 | 日本a级片免费 | 国产亚洲精品成人aa片新蒲金 | 中国一及毛片 | 96免费视频 | 久久精品国产久精国产 | 主站蜘蛛池模板: 蛛词}| 国产真实乱对白精彩久久 | 污网站大全免费 | 手机在线一区 | 成人短视频在线免费观看 | 亚洲性av| 成人无码av片在线观看蜜桃 | 91黄色视屏| 91精品黄色 | 永久毛片全免费福利网站 | 国产一卡2卡3卡四卡精品app | 欧美天天性影院 | 碰超免费人妻中文字幕 | 女人被男人桶30分钟无遮挡动态图 | 真人作爱免费视频 | 无码东京热一区二区三区 | 精品国产av一区二区果冻传媒 | 午夜视频a | 日本xxxx少妇高清hd | 亚洲成av人片天堂网无码】 | 欧美xxxx做受欧美1314 | 97久久国产亚洲精品超碰热 | 中文在线а√在线天堂中文 | 美女视频久久久 | 欧美极品在线观看 | 中文人妻无码一区二区三区信息 | 日本一二免费不卡区 | 亚洲精品蜜桃久久久久久 | 97久久人澡人人添人人爽 | 无码乱人伦一区二区亚洲一 | 少妇被躁爽到高潮无码久久 | 日产乱码一区二区三区在线 | 日本欧美在线播放 | 亚洲免费av一区二区 | 亚洲国产精品无码中文字2022 | 亚洲人成网站在线播放2020 | 最新国产の精品合集bt伙计 | 青青草在久久免费久久免费 | 免费全黄无遮挡裸体毛片 | 国产综合视频一区二区三区 | 伊人久久综在合线亚洲2019 | 国产真人做爰毛片视频直播 | 国产精品手机在线观看 | 色综合久久天天综合 | 欧美成人三级 | 9999国产精品欧美久久久久久 | 国产成人片无码视频在线观看 | 在线看片免费人成视频电影 | 欧美日韩精品久久 | 亚洲激情黄色 | 亚洲国产长腿丝袜av天堂 | 亚洲欧美偷拍另类a∨色屁股 | 十八禁无码精品a∨在线观看 | 久久精品国产亚洲精品2020 | 天天躁日日躁狠狠躁a∨麻豆 | 伊人伊人伊人伊人 | 18禁无遮挡免费视频网站 | 婷婷中文在线 | 国产清纯白嫩初高生在线观看 | 色77久久综合网 | 主站蜘蛛池模板: 蛛词}| 国产肉体ⅹxxx137大胆 | 国产美女福利视频 | 色噜噜色噜噜 | 日本天天射 | 2020狠狠狠狠久久免费观看 | 精品免费国偷自产在线视频 | 亚洲欧美在线另类 | 国语自产少妇精品视频蜜乱 | 亚洲乱码在线卡一卡二卡新区豆瓣 | 欧美日本乱大交xxxxx | 精品无码国产一区二区三区51安 | 国产美女三级无套内谢 | 2018国产大陆天天弄 | 国产精品免费av一区二区三区 | 激情视频免费在线观看 | 美女涩涩网站 | 日本又色又爽又黄的视频免 | a狠狠久久蜜臀婷色中文网 亚洲国产精品一 | 国产日韩一区二区三区 | 免费a级毛片出奶水 | 日本欧美一区二区三区高清 | 国产精品国语对白露脸在线播放 | 66m—66摸成人免费视频 | 超碰成人97 | 东京道一本热中文字幕 | 亚洲午夜久久久久久久国产 | 美女黄网页 | 国产少妇高潮在线观看 | 久久国产热视频 | 毛片无码免费无码播放 | 国产精品日本一区二区不卡视频 | 日本熟妇毛耸耸xxxxxx | 日韩和的一区二区 | 久久www色情成人免费 | 久久久久爽爽爽爽一区老女人 | 人妻熟女久久久久久久 | 色猫咪av | 日本特黄特色大片免费视频 | 欧美 日本 国产 在线a∨观看 | 五月天超碰 | 久久久久麻豆v国产精华液好用吗 | 国产精品亚洲精品久久 | av在线免费观看播放 | 亚洲天天做 | 老司机在线精品视频网站 | 成本人妻片无码中文字幕免费 | 欧美精品一区二区三区四区在线 | 天天干天天av | 波多野结衣美乳人妻hd电影欧美 | 欧美不卡视频一区发布 | 91五月色国产在线观看 | 99色这里只有精品 | 美女一区二区视频 | 国产精品午夜性视频 | 日韩高清片 | 天天插日日操 | 国产女人视频 | 91啦中文在线 | 日本亚洲免费 | 主站蜘蛛池模板: 蛛词}| 欧美日韩精品一区二区天天拍小说 | 伊在人亚洲香蕉精品区麻豆 | 精品亚洲一区二区 | 欧美激情综合五月色丁香 | 成年女人午夜毛片免费视频 | 牛牛视频精品一区二区不卡 | 99热2 | 欧美一级大片在线播放 | www操| 国内揄拍国内精品人妻 | 男女猛烈激情xx00免费视频 | 亚洲 国产 韩国 欧美 在线 | 久久中文字幕高清 | 日韩免费无码人妻波多野 | 欧美国产中文在线字幕视频 | 超碰99在线观看 | 精品淑女少妇av久久免费 | 13小箩利洗澡无码视频网站 | 瑜伽裤国产一区二区三区 | 国产偷窥熟女精品视频 | 日韩黄色一区 | 国产成人精品午夜视频 | 欧美精品一区二区视频 | 亚洲第一最快av网站 | 亚洲日本香蕉视频 | 男女无套免费视频网站 | 国产特级毛片aaaaaa毛片 | 日韩版在线看免费 | 日中文字幕 | 亚洲欧美国产日韩综合 | 日日摸夜夜爽无码毛片精选 | 不卡视频在线播放 | 少妇spa推油被扣高潮 | 日韩中文字幕久久久97都市激情 | 九九九九精品九九九九 | 亚洲欧洲日本综合aⅴ在线 成人性视频免费看的鲁片 熟女人妻aⅴ一区二区三区电影 | 国产日韩av免费无码一区二区三区 | 狠狠色狠狠综合久久 | 亚洲第四页 | 亚洲熟女中文字幕男人总站 | 另类 亚洲 图片 激情 欧美 | 少妇大叫太大太爽受不了在线观看 | 国产做爰xxxⅹ高潮视频在线 | av无码国产在线看免费网站 | 亚洲男人的天堂一区二区 | 亚洲日韩精品无码专区加勒比海 | 久久高清内射无套 | 四虎影视884a精品国产 | 国产午夜永久福利视频在线观看 | 欧美人与动牲交大全免费 | 天天射天天摸 | 熟妇人妻av无码一区二区视频 | 久久一区二区三区精品 | 亚洲成在人线在线播放 | 国产精品高潮呻吟av久久黄 | awww在线天堂bd资源在线 | 97久久超碰成人精品网页 | 美女福利一区 | 国产精品午夜福利不卡120 | 主站蜘蛛池模板: 蛛词}| 欧牲交a欧美牲交aⅴ | 加勒比久久综合 | 一区二区免费高清观看国产丝瓜 | 国产一级片播放 | 99久久精品国产波多野结衣 | 精品国产av一区二区三区 | 免费看婬乱a欧美大片 | 天堂av一区二区 | 波多野结衣一二三 | 人人妻人人澡人人爽人人dvd | 黄色小视频免费 | 亚洲妇女自偷自偷图片 | 国产91久久久 | 夜夜躁很很躁日日躁2020铜川 | 久久免费一级片 | 日韩精品亚洲一区 | 欧美男生射精高潮视频网站 | 亚洲人成国产精品无码果冻 | 6~12呦孩精品xxxx视频视频 | 国产亚洲精品久久久999 | 久久欧美一区二区三区性生奴 | 99福利在线 | 一对一色视频聊天a | 伊人激情影院 | 天天添天天操 | 亚洲中文字幕在线观看 | 日韩少妇内射免费播放18禁裸乳 | 福利第一页 | 97香蕉久久国产在线观看 | 日本大人吃奶视频xxxx | 女人下边被添全过视频的网址 | 国产亚洲欧洲aⅴ综合一区 www.av88 | 被公侵犯中文字幕在线观看 | 欧美人与动牲猛交xxxxbbbb | 亚洲免费视频在线 | 成熟交bgmbgmbgm在线 | 成人毛片av| 意大利av| 国产精品自在线拍国产第一页 | 国产精品51麻豆cm传媒 | 欧美黑人又粗又大又爽免费 | 亚洲日产aⅴ中文字幕无码 国产超碰av | 欧美性高潮视频 | 久久久久久久久久久久中文字幕 | 国产精品色网站 | 亚洲天堂网视频 | 伊人久久大香线焦av色 | 91天堂影院 | 亚洲一区在线观看视频 | 欧美 日韩 国产 一区 | 国产婷婷成人久久av免费高清 | 国产精品特黄aaaa片在线观看 | 日韩国产欧美亚洲v片 | 国产免码va在线观看免费 | 搡老熟女老女人一区二区 | 日本精品二区 | 亚洲第一二三四区 | 天天爽天天操 | 人妻丰满熟妇岳av无码区hd |