亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? iec103_xuji.cpp

?? 許繼公司103規(guī)約源碼
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
		// 通道任務(wù)(復(fù)歸)
		else if(WatchTask(pTask, taskChThree, byNodeID) && pTask) 
		{
			/*
			* 
			*=======================================================
			*	描述					偏移量				占位空間	
			*-------------------------------------------------------
			*	相應(yīng)數(shù)據(jù)總長(zhǎng)度			0~1				2
			*	**103數(shù)據(jù)幀總個(gè)數(shù)N		2~3				2
			*-------------------------------------------------------
			*	**103數(shù)據(jù)幀1總長(zhǎng)度L1	4					1
			*	**103數(shù)據(jù)幀1			5~L1+5				L1
			*	**103數(shù)據(jù)幀2總長(zhǎng)度L2	L1+6				1
			*	**103數(shù)據(jù)幀2			L1+7~L1+7+8 	L2
			*	**。。。	。。。	。。。
			*	**103數(shù)據(jù)幀2總長(zhǎng)度LN 	X					1
			*	**103數(shù)據(jù)幀N			X~X+LN			LN
			*/
			pTask->pbyBuff = g_pTaskDataBuff->QueryBuf(pTask->byDataBufIndex);//分配空間
			if(pTask->pbyBuff == NULL)
				return;
			pTask->nDataBufLen = 0;
			pTask->bWithDataF = TRUE;
			if(SaveTaskRespFmt(buf - sizeof(LPDU_Vol_Head), len + 8, pTask))
			{
				pTask->eRespType = taskZF;
				m_pCH->TaskResp(pTask);
				//m_pCH->m_pTaskQue->UnLockTask();
			}
		}
	}
	// 通用數(shù)據(jù)傳輸
	else 
	{
		// 主動(dòng)傳送/測(cè)試模式(事項(xiàng)存儲(chǔ))
		BOOL bStateChg = FALSE;
		eDataSort data;
		nIndex = GetnIndexbyFuninf(pIED, dataYx, pFmt->head.funInf);//先取實(shí)遙信的索引
		data = dataYx;
		if(nIndex == -1)
		{
			nIndex = GetnIndexbyFuninf(pIED, dataBhYx, pFmt->head.funInf);//取保護(hù)虛遙信索引
			data = dataBhYx;
		}
		TIME_STRUCT sysTime;
		g_pMainApp->GetSystime(&sysTime);
		if(data == dataBhYx)
		{
			//存事項(xiàng)
			BHEVENT_STRUCT bhevent;
			bhevent.eDS=(eDataSource)m_pCH->m_ChConfig.eDS;			// 數(shù)據(jù)源
			bhevent.nIEDType=iedXUJI103;							// 裝置類(lèi)型
			bhevent.eEventType=dataBh;								// 事項(xiàng)類(lèi)型()
			bhevent.nEventNode=nIndex;								// 事項(xiàng)點(diǎn)
			bhevent.nNode=pIED->m_IEDConfig.byNodeID;
			bhevent.nEventVal=0x10;
			if(yxBit == 1)
				bhevent.nEventVal = 0x01;
			bhevent.nFunCode=bhevent.nEventVal;// 事項(xiàng)值

			bhevent.TimeStamp.nMs = wb.bwUnion.wVal % 1000;
			bhevent.TimeStamp.bySecond = wb.bwUnion.wVal / 1000;
			bhevent.TimeStamp.byMinute = pFmt->tm.Minutes;
			bhevent.TimeStamp.byHour	 = pFmt->tm.Hours;
			bhevent.TimeStamp.byDay    = sysTime.byDay;
			bhevent.TimeStamp.byMonth  = sysTime.byMonth;
			bhevent.TimeStamp.nYear    = sysTime.nYear;

			memcpy(bhevent.byUserData, buf, len);					//事項(xiàng)數(shù)據(jù)
			bhevent.nUserDataLen = len;							//記錄數(shù)據(jù)緩沖區(qū)長(zhǎng)度

			m_pCH->m_pBhSoeQue->Add(bhevent);

			if(!m_IEC103PtlPara.bEventVirtualYX)//參數(shù)設(shè)置,保護(hù)事項(xiàng)不需要轉(zhuǎn)成虛遙信
				return;
		}
		// 遙信變位判別
		BYTE byYXRecvVal = pIED->GetDataRecvVal(data,0,nIndex);
		if (nIndex >= 0) 
		{
			if (byYXRecvVal != yxBit)
				bStateChg = TRUE;
		}
	
		// 遙信存儲(chǔ)
		if (nIndex >= 0)//設(shè)置遙信值
			pIED->SetDataRecvVal(data,0,nIndex,yxBit);
		// 事項(xiàng)存儲(chǔ)等待
		if (bStateChg) 
		{	
			// 遙信變位存儲(chǔ)
			// 事項(xiàng)存儲(chǔ)
			EVENT_STRUCT bhent;

			bhent.eDS		 = (eDataSource)m_pCH->m_ChConfig.eDS;	// 數(shù)據(jù)源
			bhent.eEventType = data;					// 事項(xiàng)類(lèi)型(開(kāi)關(guān)類(lèi))
			bhent.nEventNode = nIndex;					// 事項(xiàng)點(diǎn)
			bhent.nEventVal  = 0x10;					// 事項(xiàng)值
			if(yxBit == 1)
				bhent.nEventVal = 0x01;
			bhent.nNode      = pIED->m_IEDConfig.byNodeID;// 設(shè)備節(jié)點(diǎn)
			bhent.TimeStamp.nMs = wb.bwUnion.wVal % 1000;
			bhent.TimeStamp.bySecond = wb.bwUnion.wVal / 1000;
			bhent.TimeStamp.byMinute = pFmt->tm.Minutes;
			bhent.TimeStamp.byHour	 = pFmt->tm.Hours;
			bhent.TimeStamp.byDay    = sysTime.byDay;
			bhent.TimeStamp.byMonth  = sysTime.byMonth;
			bhent.TimeStamp.nYear    = sysTime.nYear;
			
			m_pCH->m_pYxbwSoeQue->Add(bhent);
			m_pCH->m_pYxSoeQue->Add(bhent);	
		}
	}
}

// 帶相對(duì)時(shí)間的時(shí)標(biāo)報(bào)文,在許繼103中是保護(hù)動(dòng)作事項(xiàng)報(bào)文
void CIEC103_XUJIPtl::Unpack_Asdu_2(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
	ASDU_2_Fmt *pFmt = (ASDU_2_Fmt *)buf;
	TIME_STRUCT sysTime;
	g_pMainApp->GetSystime(&sysTime);
	//調(diào)整數(shù)據(jù)值
	WB_UNION wb;
	wb.bwUnion.byVal[0] = pFmt->ret.byHigh;
	wb.bwUnion.byVal[1] = pFmt->ret.byLow;

	wb.bwUnion.byVal[0] = pFmt->fan.byHigh;
	wb.bwUnion.byVal[1] = pFmt->fan.byLow;


	CIED *pIED = pRunIed->pDevData;
	if(pIED == NULL)
		return;

	eDataSort data;
	int	nIndex = GetnIndexbyFuninf(pIED, dataBhYx, pFmt->head.funInf);//取保護(hù)虛遙信索引
	data = dataBhYx;
	if(nIndex == -1)
		return;

	BYTE yxBit = (pFmt->dpi & 0x03) >> 1;//單點(diǎn)遙信

	//存事項(xiàng)
	BHEVENT_STRUCT bhevent;
	bhevent.eDS=(eDataSource)m_pCH->m_ChConfig.eDS;			// 數(shù)據(jù)源
	bhevent.nIEDType=iedXUJI103;							// 裝置類(lèi)型
	bhevent.eEventType=dataBh;								// 事項(xiàng)類(lèi)型()
	bhevent.nEventNode=nIndex;								// 事項(xiàng)點(diǎn)
	bhevent.nNode=pIED->m_IEDConfig.byNodeID;
	bhevent.nEventVal=0x10;
	if(yxBit == 1)
		bhevent.nEventVal = 0x01;
	bhevent.nFunCode=bhevent.nEventVal;// 事項(xiàng)值

	wb.bwUnion.byVal[0] = pFmt->tm.byHighMs;
	wb.bwUnion.byVal[1] = pFmt->tm.byLowMs;

	bhevent.TimeStamp.nMs = wb.bwUnion.wVal % 1000;
	bhevent.TimeStamp.bySecond = wb.bwUnion.wVal / 1000;
	bhevent.TimeStamp.byMinute = pFmt->tm.Minutes;
	bhevent.TimeStamp.byHour	 = pFmt->tm.Hours;
	bhevent.TimeStamp.byDay    = sysTime.byDay;
	bhevent.TimeStamp.byMonth  = sysTime.byMonth;
	bhevent.TimeStamp.nYear    = sysTime.nYear;

	memcpy(bhevent.byUserData, buf, len);					//事項(xiàng)數(shù)據(jù)
	bhevent.nUserDataLen = len;							//記錄數(shù)據(jù)緩沖區(qū)長(zhǎng)度

	m_pCH->m_pBhSoeQue->Add(bhevent);

	if(!m_IEC103PtlPara.bEventVirtualYX)//參數(shù)設(shè)置,保護(hù)事項(xiàng)不需要轉(zhuǎn)成虛遙信
		return;

	BYTE byYXRecvVal = pIED->GetDataRecvVal(data,0,nIndex);
	//	if(byYXRecvVal != yxbit)
	{
		//設(shè)置保護(hù)遙信狀態(tài)
		pIED->SetDataRecvVal(data,0,nIndex,yxBit);
		// 事項(xiàng)存儲(chǔ)
		EVENT_STRUCT bhent;

		bhent.eDS		 = (eDataSource)m_pCH->m_ChConfig.eDS;	// 數(shù)據(jù)源
		bhent.eEventType = data;					// 事項(xiàng)類(lèi)型(開(kāi)關(guān)類(lèi))
		bhent.nEventNode = nIndex;					// 事項(xiàng)點(diǎn)
		bhent.nEventVal  = 0x10;					// 事項(xiàng)值
		if(yxBit == 1)
			bhent.nEventVal = 0x01;
		bhent.nNode      = pIED->m_IEDConfig.byNodeID;// 設(shè)備節(jié)點(diǎn)
		bhent.TimeStamp.nMs = wb.bwUnion.wVal % 1000;
		bhent.TimeStamp.bySecond = wb.bwUnion.wVal / 1000;
		bhent.TimeStamp.byMinute = pFmt->tm.Minutes;
		bhent.TimeStamp.byHour	 = pFmt->tm.Hours;
		bhent.TimeStamp.byDay    = sysTime.byDay;
		bhent.TimeStamp.byMonth  = sysTime.byMonth;
		bhent.TimeStamp.nYear    = sysTime.nYear;
		
		m_pCH->m_pYxbwSoeQue->Add(bhent);
		m_pCH->m_pYxSoeQue->Add(bhent);	
	}
}

// 被測(cè)值I格式
void CIEC103_XUJIPtl::Unpack_Asdu_3(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{	
}

// 帶相對(duì)時(shí)間的有時(shí)標(biāo)的被測(cè)值報(bào)文,在許繼103中,asdu4是保護(hù)事項(xiàng)報(bào)文,但不能轉(zhuǎn)成需搖信
void CIEC103_XUJIPtl::Unpack_Asdu_4(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
	ASDU_Head *phead = (ASDU_Head *)buf;
	TIME_STRUCT sysTime;
	g_pMainApp->GetSystime(&sysTime);
	//調(diào)整數(shù)據(jù)值
	WB_UNION wb;

	CIED *pIED = pRunIed->pDevData;
	if(pIED == NULL)
		return;
	eDataSort data;
	int	nIndex = GetnIndexbyFuninf(pIED, dataBhYx, phead->funInf);//取保護(hù)虛遙信索引
	data = dataBhYx;
	if(nIndex == -1)
		return;

	//存事項(xiàng)
	BHEVENT_STRUCT bhevent;
	bhevent.eDS=(eDataSource)m_pCH->m_ChConfig.eDS;			// 數(shù)據(jù)源
	bhevent.nIEDType=iedXUJI103;							// 裝置類(lèi)型
	bhevent.eEventType=dataBh;								// 事項(xiàng)類(lèi)型()
	bhevent.nEventNode=nIndex;								// 事項(xiàng)點(diǎn)
	bhevent.nNode=pIED->m_IEDConfig.byNodeID;
	bhevent.nEventVal=0x10;
	//if(yxBit == 1)
	//	bhevent.nEventVal = 0x01;
	bhevent.nFunCode=bhevent.nEventVal;// 事項(xiàng)值

	bhevent.TimeStamp = sysTime;

	memcpy(bhevent.byUserData, buf, len);					//事項(xiàng)數(shù)據(jù)
	bhevent.nUserDataLen = len;							//記錄數(shù)據(jù)緩沖區(qū)長(zhǎng)度

	m_pCH->m_pBhSoeQue->Add(bhevent);
}

// 標(biāo)識(shí)報(bào)文
void CIEC103_XUJIPtl::Unpack_Asdu_5(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 時(shí)間同步
void CIEC103_XUJIPtl::Unpack_Asdu_6(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 總查詢(xún)(召喚)結(jié)束
void CIEC103_XUJIPtl::Unpack_Asdu_8(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 通用分類(lèi)數(shù)據(jù)
void CIEC103_XUJIPtl::Unpack_Asdu_10(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
	TASK *pTask = NULL;
	CIED *pIED = pRunIed->pDevData;
	BYTE byNodeID = pIED->m_IEDConfig.byNodeID;
	Task103 &task = m_IEC103Data.m_task103;

	ASDU_10_Head *pHead = (ASDU_10_Head *)buf;
	
	// 1) 召喚定值  2) 召喚模擬量
	if((WatchTask(pTask, taskAskBhdz, byNodeID) ||
		WatchTask(pTask, taskAskBhYc, byNodeID)) && pTask)
	{	
		GenerReadDesc &genRead = task.genRead;
		if(1 == task.wStep&&!pTask->bWithDataF)//分配空間
		{
			pTask->pbyBuff = g_pTaskDataBuff->QueryBuf(pTask->byDataBufIndex);
			pTask->nDataBufLen=0;
			pTask->bWithDataF = TRUE;
		}
		if(pTask->pbyBuff == NULL)
			return;
		SaveTaskRespFmt(buf - sizeof(LPDU_Vol_Head), len + 8, pTask);
		if (0 == pHead->ngd.cont)
		{
			task.wStep ++;
			if (genRead.grpCnt >= genRead.grpNum)
			{
				if(pTask->eTaskType == taskAskBhdz)
					pTask->eRespType = taskRespBhdz;
				else if(pTask->eTaskType == taskAskBhYc)
					pTask->eRespType = taskRespBhYc;
				m_pCH->TaskResp(pTask);	
				//m_pCH->m_pTaskQue->UnLockTask();
				if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
					pTask->eStatus = tsWaiting;
			}
		}
	} 
	// 3) 修改定值
	else if(WatchTask(pTask, taskCmdModifyBhdz, byNodeID) && pTask)
	{ 
		GenerWriteDesc &genWrite = task.genWrite;
		ModifyProtSettingHead *pProtSetHead = (ModifyProtSettingHead *)(pTask->pbyBuff);

		// 數(shù)據(jù)校驗(yàn)	// 改變發(fā)送計(jì)數(shù)器
		if (44 == pHead->head.cot)
		{
			task.wStep ++;	
			if (genWrite.wSendFmtCnt >= pProtSetHead->fmtNum)
			{
				pTask->eRespType = taskAck;
				m_pCH->TaskResp(pTask);
				if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
					pTask->eStatus = tsWaiting;
				//m_pCH->m_pTaskQue->UnLockTask();
			}
		}
		else 
		{	
			pTask->eRespType = taskNAck;
			m_pCH->TaskResp(pTask);
			if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
				pTask->eStatus = tsWaiting;
			//m_pCH->m_pTaskQue->UnLockTask();
		}	
	}
	// 4) 修改定值組號(hào)
	else if(WatchTask(pTask, taskCmdSetBhdzGroup, byNodeID) && pTask) 
	{ 
		if (M_NEG_GENWR == pHead->head.cot)
			pTask->eRespType = taskNAck;
		else
			pTask->eRespType = taskAck;

		m_pCH->TaskResp(pTask);
		if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
			pTask->eStatus = tsWaiting;
		//m_pCH->m_pTaskQue->UnLockTask();
	}
	// 5) 修改定值  // 6) 修改組號(hào) // 7)取消修改定值 // 8)取消修改組號(hào)
	else if((WatchTask(pTask, taskCmdEnableBhdz, byNodeID) || 
				WatchTask(pTask, taskCmdCancelBhdz, byNodeID) ||
				WatchTask(pTask, taskCmdEnableBhdzGroup, byNodeID) ||
				WatchTask(pTask, taskCmdCancelBhDzGroup, byNodeID)) &&
				pTask)
	{	
		if (M_NEG_GENWR == pHead->head.cot)
			pTask->eRespType = taskNAck;
		else
			pTask->eRespType = taskAck;

		m_pCH->TaskResp(pTask);	
		if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
			pTask->eStatus = tsWaiting;
		//m_pCH->m_pTaskQue->UnLockTask();
	}
	// 7) 通道轉(zhuǎn)發(fā)任務(wù)
	else if(WatchTask(pTask,taskChThree, byNodeID) && pTask)
	{
		GenerWriteDesc &genWrite = task.genWrite;
		if(1 == task.wStep)//分配存儲(chǔ)數(shù)據(jù)空間
		{
			pTask->pbyBuff = g_pTaskDataBuff->QueryBuf(pTask->byDataBufIndex);
			pTask->nDataBufLen = 0;
			pTask->bWithDataF = TRUE;
		}

		if(pTask->pbyBuff == NULL)
			return;
		SaveTaskRespFmt(buf - sizeof(LPDU_Vol_Head), len + 8, pTask);
		if (0 == pHead->ngd.cont)
		{
			task.wStep ++;
			if (genWrite.wSendFmtCnt >= genWrite.wSendNum)
			{
				pTask->eRespType = taskZF;
				m_pCH->TaskResp(pTask);	
				if(pHead->ngd.cont)//還有后續(xù)數(shù)據(jù)幀
					pTask->eStatus = tsWaiting;
				//m_pCH->m_pTaskQue->UnLockTask();
			}
		}

/*		BYTE *pbyData = pTask->pbyBuff;
		WORD *pwLen = (WORD *)pbyData;
		WORD *pwFmtCnt = (WORD *)(pbyData + 2);

		ASDU_Head *pTaskHead = (ASDU_Head *)(pbyData + genWrite.wSendPos + 1);
		bool bRespond = false;
		// 召喚定值
		if (21 == pTaskHead->type)
		{
			if (0 == pHead->ngd.cont)
				bRespond = true;
		}
		// 修改定值
		else if (10 == pTaskHead->type)
		{      
			bRespond = true;
		}

		if (bRespond)
		{
			BYTE byAsduLen = pbyData[genWrite.wSendPos ++];
			genWrite.wSendPos += byAsduLen;
			genWrite.wSendFmtCnt ++;
			if (genWrite.wSendFmtCnt >= *pwFmtCnt)
			{
				pTask->eRespType = taskZF;
				m_pCH->TaskResp(pTask);
				m_pCH->m_pTaskQue->UnLockTask();
			}
		}
*/	}
	//2005-01-31 RenJG 增加南自廠103規(guī)約特殊處理 --start
	else if((WatchTask(pTask, taskCmdYkSelect, byNodeID) ||
			WatchTask(pTask, taskCmdYkExecute, byNodeID) ||
			WatchTask(pTask, taskCmdYkCancel, byNodeID)) && pTask)
	{
		if (pIED->m_IEDConfig.usIEDType/* == NANZI_SYS_ID*/)
		{
			// 否定應(yīng)答
		/*	if (0x29 == pHead->head.cot)
			{
				TaskBufYKAct *pRespTask = (TaskBufYKAct *)(task.pTask->baRespBuf.GetData( ));
				if (pRespTask->byRtn == act_right)
					pRespTask->byRtn  = act_wrong;
				else
					pRespTask->byRtn  = fj_wrong;
			}

			task.pTask->status = responded;		  
		*/}
	}
	//2005-01-31 RenJG 增加南自廠103規(guī)約特殊處理 --end
}

// 通用分類(lèi)標(biāo)識(shí)
void CIEC103_XUJIPtl::Unpack_Asdu_11(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 被記錄的擾動(dòng)表
void CIEC103_XUJIPtl::Unpack_Asdu_23(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 擾動(dòng)數(shù)據(jù)傳輸準(zhǔn)備就緒
void CIEC103_XUJIPtl::Unpack_Asdu_26(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 被記錄的通道傳輸準(zhǔn)備就緒
void CIEC103_XUJIPtl::Unpack_Asdu_27(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 帶標(biāo)志的狀態(tài)變位的傳輸準(zhǔn)備就緒
void CIEC103_XUJIPtl::Unpack_Asdu_28(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 帶標(biāo)志的狀態(tài)變位傳輸
void CIEC103_XUJIPtl::Unpack_Asdu_29(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 傳輸擾動(dòng)值
void CIEC103_XUJIPtl::Unpack_Asdu_30(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 擾動(dòng)數(shù)據(jù)傳輸結(jié)束
void CIEC103_XUJIPtl::Unpack_Asdu_31(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 帶時(shí)標(biāo)的被測(cè)量值III
void CIEC103_XUJIPtl::Unpack_Asdu_32(BYTE* buf, BYTE len, RealRunIED *pRunIed)
{
}

// 帶時(shí)標(biāo)的被測(cè)量值IV
void CIEC103_XUJIPtl:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品乱码免费| 91片黄在线观看| 国产三区在线成人av| 高清在线不卡av| 国产精品久久久久影视| 在线视频欧美精品| 三级一区在线视频先锋| 久久蜜桃香蕉精品一区二区三区| 国产99精品国产| 一区二区欧美视频| 日韩亚洲国产中文字幕欧美| 国产不卡视频在线观看| 亚洲精品欧美二区三区中文字幕| 91麻豆精品国产91久久久久久 | 亚洲国产aⅴ天堂久久| 制服丝袜成人动漫| 国产福利精品一区| 亚洲精品免费一二三区| 欧美一级在线免费| 成人免费不卡视频| 亚洲成人av一区二区| 久久婷婷国产综合国色天香| 91香蕉视频mp4| 日产欧产美韩系列久久99| 国产网站一区二区| 欧美午夜免费电影| 国产伦精品一区二区三区视频青涩| 18成人在线观看| 日韩午夜激情av| kk眼镜猥琐国模调教系列一区二区 | 国产精品美女视频| 欧美精品色综合| 成人午夜av在线| 亚洲一区二区三区在线播放| 久久久久久久久久久电影| 色婷婷av一区二区三区之一色屋| 久久精品二区亚洲w码| 亚洲欧洲精品一区二区三区| 日韩欧美色电影| 色综合久久综合中文综合网| 久久精品噜噜噜成人av农村| 亚洲同性同志一二三专区| 91精品免费在线观看| 99久久夜色精品国产网站| 日韩精品五月天| 亚洲图片另类小说| 2023国产一二三区日本精品2022| 91麻豆精品视频| 国产麻豆欧美日韩一区| 亚洲第一av色| 国产精品国产三级国产普通话99 | 亚洲精选视频在线| 精品国产免费人成电影在线观看四季 | www国产精品av| 欧美午夜一区二区| av在线不卡观看免费观看| 欧美a级一区二区| 樱桃国产成人精品视频| 日本一区二区三区高清不卡| 欧美一区二区私人影院日本| 91美女片黄在线观看91美女| 国产精品正在播放| 奇米777欧美一区二区| 一区二区三区在线观看国产 | 精品成人一区二区三区| 欧美日韩激情一区二区三区| av一区二区不卡| 国产精品一二三四| 久久福利资源站| 丝袜美腿一区二区三区| 亚洲综合色噜噜狠狠| 国产精品蜜臀在线观看| 久久久不卡网国产精品一区| 91麻豆精品国产| 欧美日韩精品综合在线| 色诱视频网站一区| 成人美女视频在线观看| 国产高清在线精品| 狠狠狠色丁香婷婷综合久久五月| 三级一区在线视频先锋| 亚洲一区二区av在线| 亚洲男人的天堂av| 国产精品国产三级国产普通话蜜臀 | 欧美经典一区二区| 欧美成人一区二区三区| 3atv一区二区三区| 91久久国产最好的精华液| av日韩在线网站| 成人高清视频在线观看| 丁香五精品蜜臀久久久久99网站| 韩国精品久久久| 久久超碰97中文字幕| 日韩和的一区二区| 亚洲成av人片| 亚洲成人精品在线观看| 亚洲国产精品人人做人人爽| 一二三四社区欧美黄| 亚洲男人都懂的| 一区二区三区四区不卡在线| 一区二区久久久久| 一区二区国产视频| 亚洲国产欧美在线人成| 午夜精品久久久久久久99水蜜桃 | 亚洲成av人片一区二区| 亚洲综合区在线| 亚洲成av人片| 日本在线观看不卡视频| 日韩精品乱码免费| 久久精品国产色蜜蜜麻豆| 精品亚洲porn| 国产麻豆欧美日韩一区| 国产91精品一区二区麻豆网站| 国产suv精品一区二区883| 成人黄色网址在线观看| www.一区二区| 97久久人人超碰| 一本大道av一区二区在线播放| 欧美影院午夜播放| 欧美喷水一区二区| 欧美一区二区三区喷汁尤物| 精品国产区一区| 中文字幕欧美日韩一区| 亚洲免费观看视频| 午夜精品一区二区三区电影天堂| 奇米精品一区二区三区四区| 国产自产高清不卡| 丁香六月综合激情| 色婷婷一区二区| 欧美欧美午夜aⅴ在线观看| 日韩精品一区二区三区三区免费| 久久伊人中文字幕| 中文字幕一区在线观看视频| 亚洲精品国产a久久久久久| 亚洲成人一区二区| 久久99精品国产麻豆不卡| 成人晚上爱看视频| 欧美亚洲日本一区| 日韩午夜激情免费电影| 国产日本欧洲亚洲| 亚洲人成在线观看一区二区| 亚洲1区2区3区视频| 久88久久88久久久| 99久久久国产精品| 欧美另类z0zxhd电影| 精品国产一区二区亚洲人成毛片 | 国产福利精品一区二区| 色呦呦国产精品| 日韩欧美在线一区二区三区| 欧美激情在线一区二区| 亚洲一区二区在线观看视频| 捆绑紧缚一区二区三区视频| 99在线精品一区二区三区| 欧美嫩在线观看| 国产日韩高清在线| 亚洲五月六月丁香激情| 国产一区欧美日韩| 日本二三区不卡| 精品久久人人做人人爱| **欧美大码日韩| 奇米精品一区二区三区四区| av中文字幕亚洲| 日韩欧美中文字幕公布| 亚洲日本韩国一区| 美女精品一区二区| 色综合久久久网| 久久新电视剧免费观看| 亚洲尤物在线视频观看| 国产一区二区美女| 欧美性做爰猛烈叫床潮| 久久久久久电影| 无码av中文一区二区三区桃花岛| 成人午夜电影久久影院| 91精品国产欧美一区二区18| 亚洲欧美在线视频| 精东粉嫩av免费一区二区三区 | 色悠悠亚洲一区二区| 精品国产电影一区二区| 亚洲一区成人在线| 成人激情文学综合网| 欧美一区二区三区视频在线| 亚洲女同女同女同女同女同69| 激情综合网av| 欧美日韩日日摸| 一区精品在线播放| 国产自产视频一区二区三区| 欧美日韩高清一区| 中文字幕一区二区三区色视频| 免费在线成人网| 欧洲国产伦久久久久久久| 日本一区二区三区国色天香| 久久精品国产免费看久久精品| 在线免费观看日本一区| 中文字幕免费观看一区| 久久国产精品无码网站| 欧美日韩一区二区三区高清| 亚洲欧洲av在线| 国产成人av电影免费在线观看| 日韩欧美国产麻豆| 亚洲va天堂va国产va久| 日本高清不卡aⅴ免费网站|