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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iec103_xuji.cpp

?? 許繼公司103規約源碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
				//m_pCH->m_pTaskQue->LockTask();
				break;
			case taskChThree:	
				{// 通道任務
					bRtn = ChanTask(pTask, pDevRun);
				//	if(bRtn)
				//		m_pCH->m_pTaskQue->LockTask();
				}
				break;
			default:	// 其他類型任務不支持
				pTask->eStatus = tsNull;
				break;
		}
		if (!bRtn && tsNull != pTask->eStatus)
		{
			// 召喚1級數據
			BYTE byCode = CallClass2_code;
			if (pDevRun->acd) 
				byCode = CallClass1_code;

			PackLPDU_Fix(pTask->byDestNodeID, byCode);
			bRtn = TRUE;
		}
	}
	return bRtn;
}

// 通道任務 - 校時
BOOL CIEC103_XUJIPtl::SendAdjustTime103(TASK* pTask)
{
	ASDU_6_Fmt *pFmt = (ASDU_6_Fmt *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
	memset(pFmt, 0, sizeof(ASDU_6_Fmt));
	pFmt->head.type = 6;
	pFmt->head.vsq.vsq = 0x81;
	pFmt->head.cot = 8;
	pFmt->head.addr = 0xff;
	pFmt->head.fun = 0xff;
	pFmt->head.inf = 0;

	TIME_STRUCT st;
	g_pMainApp->GetSystime(&st);
	pFmt->dataTime.year = st.nYear % 100;
	pFmt->dataTime.month = st.byMonth;
	pFmt->dataTime.bay = st.byDay;
	pFmt->dataTime.week = 0;
	pFmt->dataTime.time.Hours = st.byHour;
	pFmt->dataTime.time.Minutes = st.byMinute;
	WORD wtmp = st.bySecond * 1000 + st.nMs;
	pFmt->dataTime.time.byLowMs = lobyte(wtmp);
	pFmt->dataTime.time.byHighMs = hibyte(wtmp);

	LPDU_Vol_Head *pHead = (LPDU_Vol_Head *)m_IEC103Data.m_bySend;
	memset(pHead, 0, sizeof(LPDU_Vol_Head));
	pHead->head1 = pHead->head2 = 0x68;
	pHead->len1 = pHead->len2 = ASDU6Fmt_LEN + 2;
	pHead->ctrl.funcode = NoReply_code;
	pHead->ctrl.prm = 1;
	pHead->addr = 0xff;

	m_IEC103Data.m_wSendNum = sizeof(LPDU_Vol_Head) + ASDU6Fmt_LEN;
	m_IEC103Data.m_bySend[m_IEC103Data.m_wSendNum ++] = SumMod(m_IEC103Data.m_bySend + 4, pHead->len1);
	m_IEC103Data.m_bySend[m_IEC103Data.m_wSendNum ++] = 0x16;

	pTask->eStatus = tsSuccess;
	return TRUE;
}

BOOL CIEC103_XUJIPtl::SendAdjustTime103(BYTE byaddr)
{
	ASDU_6_Fmt *pFmt = (ASDU_6_Fmt *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
	memset(pFmt, 0, sizeof(ASDU_6_Fmt));
	pFmt->head.type = 6;
	pFmt->head.vsq.vsq = 0x81;
	pFmt->head.cot = 8;
	pFmt->head.addr = byaddr;
	pFmt->head.fun = 0xff;
	pFmt->head.inf = 0;

	TIME_STRUCT st;
	g_pMainApp->GetSystime(&st);
	pFmt->dataTime.year = st.nYear % 100;
	pFmt->dataTime.month = st.byMonth;
	pFmt->dataTime.bay = st.byDay;
	pFmt->dataTime.week = 0;
	pFmt->dataTime.time.Hours = st.byHour;
	pFmt->dataTime.time.Minutes = st.byMinute;
	WORD wtmp = st.bySecond * 1000 + st.nMs;
	pFmt->dataTime.time.byLowMs = lobyte(wtmp);
	pFmt->dataTime.time.byHighMs = hibyte(wtmp);

	LPDU_Vol_Head *pHead = (LPDU_Vol_Head *)m_IEC103Data.m_bySend;
	memset(pHead, 0, sizeof(LPDU_Vol_Head));
	pHead->head1 = pHead->head2 = 0x68;
	pHead->len1 = pHead->len2 = ASDU6Fmt_LEN + 2;

	if(byaddr == 0xff)
		pHead->ctrl.funcode = NoReply_code;
	else
		pHead->ctrl.funcode = SendCon_code;

	pHead->ctrl.prm = 1;
	pHead->addr = byaddr;

	m_IEC103Data.m_wSendNum = sizeof(LPDU_Vol_Head) + ASDU6Fmt_LEN;
	m_IEC103Data.m_bySend[m_IEC103Data.m_wSendNum ++] = SumMod(m_IEC103Data.m_bySend + 4, pHead->len1);
	m_IEC103Data.m_bySend[m_IEC103Data.m_wSendNum ++] = 0x16;

	return TRUE;
}

//遙控命令組幀
BOOL CIEC103_XUJIPtl::PackYaoKong(TASK *pTask, RealRunIED *pDevRun)
{
	Task103& task = m_IEC103Data.m_task103;
	YK_COMMAND* pYkCom = (YK_COMMAND *)(pTask->iUserData);
	if(!pYkCom || !pDevRun)
		return FALSE;

	CIED *pIED = pDevRun->pDevData;
	if(!pIED)
		return FALSE;

	BOOL bChk = FALSE;
	if (0 == task.wStep) 
	{
		task.wStep ++;

		FunInf funInf;
		if(!GetFunInf(pDevRun->pDevData, dataYk, pYkCom->byYkNode, funInf))// 遙控命令fun+inf
			return FALSE;

		YK_PARA para;
		if(!pIED->GetDataPara(dataYk,0,pYkCom->byYkNode,(void*)&para))
			return FALSE;

		DCC dcc = {0};
		switch(pTask->eTaskType)
		{
			case taskCmdYkSelect:			  //遙控選擇
				dcc.se = 1;
				if(pYkCom->byAction == yk_PrevH)
				{
					dcc.dcs = 2;
					bChk = TRUE;
				}else if(pYkCom->byAction == yk_PrevF)
				{
					dcc.dcs = 1;
					bChk = TRUE;
				}
				break;

			case taskCmdYkExecute:			   //遙控執行
				if (pYkCom->byAction == yk_exec )
				{
					dcc.dcs = (m_IEC103Data.m_OldCmd.dcc).dcs; // 動作類型
					bChk = TRUE;
				}
				break;

			case taskCmdYkCancel:			  //遙控撤銷
				if (pYkCom->byAction == yk_cancel) {
					dcc.dcs = (m_IEC103Data.m_OldCmd.dcc).dcs; // 動作類型描述
					dcc.se = 1;
					dcc.act = 1;
					bChk = TRUE;
				}
				break;

			default:
				break;
		}
		if (!bChk)
			return bChk;

		// 記錄動作類型描述
		m_IEC103Data.m_OldCmd.dcc = dcc;

		// 組幀
		ASDU_64_Fmt *pFmt = (ASDU_64_Fmt *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
		pFmt->head.type = 64;
		pFmt->head.vsq.vsq = 0x81;
		pFmt->head.cot = 12;
		pFmt->head.addr = para.nReserved0;//分cpu地址號
		pFmt->head.funInf = funInf;
		pFmt->dcc = dcc;
		pFmt->rii = m_IEC103Data.m_bySin ++;

		m_IEC103Data.m_wSendNum = sizeof(ASDU_64_Fmt);
		PackLPDU(pTask->byDestNodeID, SendCon_code);
	}
	return bChk;
}

//召喚保護模擬量
//召喚保護模擬量,pTask->iUserData數組中填放數據說明
//   0						1.....		
// 要召喚模擬量組包含的		通用分類組號	
//	通用分類組個數
BOOL CIEC103_XUJIPtl::PackCallProtMea(TASK *pTask, RealRunIED *pDevRun)
{
	Task103 &task = m_IEC103Data.m_task103;
	GenerReadDesc &genRead = task.genRead;

	if (0 == task.wStep) 
	{	
		// 沒有保護模擬量,則不進行組幀命令
		if(pDevRun->pDevData->m_IEDConfig.nBhAcLoopNum <= 0)
		{
			return FALSE;
		}

	//	InitTaskRespBuf(pTask);

		genRead.grpCnt = 0;
		GetGininf(pDevRun->pDevData, pTask, dataBhAc, genRead.grpNum, genRead.readGrp);
	}
	
	return PackGenerReadCmd(pTask, pDevRun);
}

//召喚保護定值
//召喚保護定值,pTask->iUserData數組中填放數據說明
//   0				1				2					3.....
//召喚定值組號	定值組總個數  要召喚定值組包含的	通用分類組號	
//								通用分類組個數
BOOL CIEC103_XUJIPtl::PackCallProtSetting(TASK *pTask, RealRunIED *pDevRun)
{
	Task103 &task = m_IEC103Data.m_task103;
	GenerReadDesc &genRead = task.genRead;

	if (0 == task.wStep)
	{
		BYTE byReadID = pTask->iUserData[0];		//得到要召喚的定值組號
		BOOL bChk = FALSE;
		if (pDevRun->pDevData->m_IEDConfig.nDzNum > 0)
		{
			// 召喚的定值組號
			if (0xff == pTask->iUserData[0])	
				byReadID = 0;

			BYTE bySettingGrpNum = GetSettingGrpNum(pDevRun->pDevData, pTask);
			if (byReadID < bySettingGrpNum)
			{
				//InitTaskRespBuf(pTask);
				genRead.grpCnt = 0;
				GetGininf(pDevRun->pDevData, pTask, dataSetting, genRead.grpNum, genRead.readGrp);
				bChk = TRUE;
			}
		}
		if (!bChk) 
			return FALSE;
	}
	return PackGenerReadCmd(pTask, pDevRun);
}
//修改保護定值
/*
*PackModifyProtSetting - 修改保護定值組幀
* 固定格式
*	描述					偏移量				占位空間	
*-------------------------------------------------------
*	相應數據總長度			0~1				2
*	**103數據幀總個數N		2~3				2
*/
BOOL CIEC103_XUJIPtl::PackModifyProtSetting(TASK *pTask, RealRunIED *pDevRun)
{
	Task103 &task = m_IEC103Data.m_task103;
	GenerWriteDesc &genWrite = task.genWrite;

	//BYTE byAddr = pDevRun->pDevData->m_IEDConfig.byNodeAddr;
	BYTE byAddr = 0;
	if(m_IEC103PtlPara.bCommAddr)
		byAddr = m_IEC103PtlPara.byBHCPUAddr;
	else
		byAddr = pDevRun->pDevData->m_IEDConfig.byNodeAddr;

	if(!pTask->bWithDataF || pTask->pbyBuff == NULL)//沒有用戶附加數據,直接返回
		return FALSE;
	ModifyProtSettingHead *pProtSetHead = (ModifyProtSettingHead *)(pTask->pbyBuff);
	BYTE  byLinkLen = 0;
	if (0 == task.wStep) 
	{
		genWrite.wSendFmtCnt = 0;
		genWrite.wSendPos = 4;
		genWrite.rii = m_IEC103Data.m_bySin ++;

		// 去除第一組的定值組號
		byLinkLen = *(pTask->pbyBuff + genWrite.wSendPos);
		genWrite.wSendPos += 1;
		genWrite.wSendFmtCnt ++;
	}

	if (task.wStep % 2 == 0) 
	{		
		if(task.wStep != 0)
		{
			byLinkLen = *(pTask->pbyBuff + genWrite.wSendPos);
			genWrite.wSendPos += 1;
			genWrite.wSendFmtCnt ++;
		}
		memcpy(m_IEC103Data.m_bySend, pTask->pbyBuff + genWrite.wSendPos, byLinkLen);
		genWrite.wSendPos += byLinkLen;

		task.wStep ++;

		ASDU_10_Head *pFmtHead = (ASDU_10_Head *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
		pFmtHead->head.type = 10;
		pFmtHead->head.vsq.vsq = 0x81;
		pFmtHead->head.cot = 40;
		pFmtHead->head.addr = byAddr;
		pFmtHead->head.fun = 254;
		pFmtHead->head.inf = (genWrite.wSendFmtCnt == pProtSetHead->fmtNum) ?250 : 249;
		pFmtHead->rii = genWrite.rii;
		pFmtHead->ngd.count = (task.wStep / 2) % 2;
		pFmtHead->ngd.cont = (genWrite.wSendFmtCnt != pProtSetHead->fmtNum);

		m_IEC103Data.m_wSendNum = byLinkLen - 8;
		PackLPDU(pTask->byDestNodeID, SendCon_code);

		return TRUE;
	}

	return FALSE;
}

//確認保護定值
BOOL CIEC103_XUJIPtl::PackEnableProtSetting(TASK *pTask, RealRunIED *pDevRun)
{
	return PackGenerExec(pTask, pDevRun, TRUE);
}

//取消修改保護定值
BOOL CIEC103_XUJIPtl::PackCancelProtSetting(TASK *pTask, RealRunIED *pDevRun)
{
	return PackGenerExec(pTask, pDevRun, FALSE);
}

//設置保護定值組
BOOL CIEC103_XUJIPtl::PackModifyProtSettingGroup(TASK *pTask, RealRunIED *pDevRun)
{
	//BYTE byAdd = pDevRun->pDevData->m_IEDConfig.byNodeAddr;
	BYTE byAddr = 0;
	if(m_IEC103PtlPara.bCommAddr)
		byAddr = m_IEC103PtlPara.byBHCPUAddr;
	else
		byAddr = pDevRun->pDevData->m_IEDConfig.byNodeAddr;

	Task103 &task = m_IEC103Data.m_task103;
	if (0 == task.wStep)
	{
		task.wStep ++;

		ASDU_10_Head *pHead = (ASDU_10_Head *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
		pHead->head.type = 10;
		pHead->head.vsq.vsq = 0x81;
		pHead->head.cot = 40;
		pHead->head.addr = byAddr;
		pHead->head.fun = 254;
		pHead->head.inf = 249;
		pHead->rii = m_IEC103Data.m_bySin ++;
		pHead->ngd.cont = pHead->ngd.count = 0;
		pHead->ngd.num = 1;
		
		ASDU_10_Item *pItem = (ASDU_10_Item *)(pHead + 1);
		GIN gin;
		GetProtSetGrpGin(pTask, gin);
		pItem->gin = gin;
		pItem->gdd.byDataTyp = 3;
		pItem->gdd.byDataSize = 1;
		pItem->gdd.num = 1;
		pItem->gdd.cont = 0;
		pItem->kod = 1;
		pItem->byVal = pTask->iUserData[0];

		m_IEC103Data.m_wSendNum = sizeof(ASDU_10_Head) + sizeof(ASDU_10_Item);
		PackLPDU(pTask->byDestNodeID, SendCon_code);
		return TRUE;		
	}
	
	return FALSE;
}

//確認設置的保護定值組
BOOL CIEC103_XUJIPtl::PackEnableProtSettingGroup(TASK *pTask, RealRunIED *pDevRun)
{
	return PackGenerExec(pTask, pDevRun, TRUE);
}

//取消修改保護定值組
BOOL CIEC103_XUJIPtl::PackCancelProtSettingGroup(TASK *pTask, RealRunIED *pDevRun)
{
	return PackGenerExec(pTask, pDevRun, FALSE);
}

// 保護復歸
BOOL CIEC103_XUJIPtl::PackProtRes(TASK *pTask, RealRunIED *pDevRun)
{
	BYTE byAdd = pDevRun->pDevData->m_IEDConfig.byNodeAddr;

	BOOL bRtn = FALSE;
	Task103 &task = m_IEC103Data.m_task103;
	if (0 == task.wStep) 
	{
		ASDU_20_Fmt *pFmt = (ASDU_20_Fmt *)(m_IEC103Data.m_bySend + sizeof(LPDU_Vol_Head));
		pFmt->head.type = 20;
		pFmt->head.vsq.vsq = 0x81;
		pFmt->head.cot =  20;
		
		FunInf funinf;
		BYTE bycpuaddr;
		if(!GetProtResetFuninfFromPara(pDevRun,funinf,bycpuaddr))
			return FALSE;
		pFmt->head.addr = bycpuaddr;
		pFmt->head.funInf = funinf;
		pFmt->dco = Off_dco;
		pFmt->rii = m_IEC103Data.m_bySin ++;

		m_IEC103Data.m_wSendNum = sizeof(ASDU_20_Fmt);
		PackLPDU(pTask->byDestNodeID, SendCon_code);

		task.wStep ++;
		bRtn = TRUE;
		ResetBhYx(pTask,pDevRun);
	}

	return bRtn;
}

//對保護裝置虛搖信信號進行復歸
void CIEC103_XUJIPtl::ResetBhYx(TASK *pTask, RealRunIED *pDevRun)
{
	CIED *pIED = pDevRun->pDevData;
	int nBhYxNum = pIED->m_IEDConfig.nBhNum;
	for(int i=0; i<nBhYxNum; i++)
	{
		pIED->SetDataRecvVal(dataBhYx,0,i,0);
	}
}

// 通道任務
//任務區結構描述
//---------------------------------
// 總長度		0~1			2
// 幀個數		2~3			2
// 第1幀長度	4			1
// 第1幀		5			L+5
BOOL CIEC103_XUJIPtl::ChanTask(TASK *pTask, RealRunIED *pDevRun)
{
	Task103 &task = m_IEC103Data.m_task103;
	GenerWriteDesc &genWrite = task.genWrite;
	
	BYTE *pbyData = pTask->pbyBuff;
	if(!pTask->bWithDataF || pbyData == NULL)//沒有附加數據
		return FALSE;
	
	WORD *pwLen = (WORD *)pbyData;
	WORD *pwFmtCnt = (WORD *)(pbyData + 2);
	genWrite.wSendNum = *(WORD *)(pbyData + 2);

	BYTE byAsduLen = 0;
	ASDU_Head *pHead = NULL;
	if (0 == task.wStep)
	{
		genWrite.wSendFmtCnt = 0;
		genWrite.wSendPos = 4;
		genWrite.rii = m_IEC103Data.m_bySin ++;

		byAsduLen = pbyData[genWrite.wSendPos];
		genWrite.wSendPos++;
		genWrite.wSendFmtCnt++;
		pHead = (ASDU_Head *)(pbyData + genWrite.wSendPos);
		// 復歸命令
		if (C_GRC_NA_3 == pHead->type) 
		{	
			//task.pTask->status = timeOut;
		}
		else if (10 == pHead->type || 21 == pHead->type)
			;//InitTaskRespBuf(pTask);
	}

	if (task.wStep % 2 == 0)
	{
		// 鏈路數據
		if(task.wStep != 0)
		{
			byAsduLen = pbyData[genWrite.wSendPos];
			genWrite.wSendPos++;
			genWrite.wSendFmtCnt++;
			pHead = (ASDU_Head *)(pbyData + genWrite.wSendPos);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线视频在线| 国产精品少妇自拍| 亚洲国产精品二十页| 亚洲综合小说图片| 大桥未久av一区二区三区中文| 欧美美女一区二区在线观看| 国产精品毛片a∨一区二区三区| 天天综合网天天综合色| 成人黄色在线网站| 精品久久久久久亚洲综合网| 亚洲综合丁香婷婷六月香| 国产suv精品一区二区883| 欧美一区二区三区在线观看视频| 亚洲精品视频一区| 成人激情小说网站| 日本一区二区综合亚洲| 另类专区欧美蜜桃臀第一页| 欧美日韩精品系列| 亚洲一卡二卡三卡四卡| 91视频在线看| 亚洲天堂av一区| 懂色av一区二区在线播放| 精品国精品国产尤物美女| 日本女优在线视频一区二区| 欧美亚日韩国产aⅴ精品中极品| 亚洲视频免费在线观看| 成人一道本在线| 中文字幕高清不卡| 99久久婷婷国产综合精品电影 | 在线国产亚洲欧美| 一区二区在线观看免费| 色婷婷激情一区二区三区| 亚洲女子a中天字幕| 色婷婷综合在线| 亚洲日本护士毛茸茸| 色88888久久久久久影院野外| 综合久久综合久久| 日本久久精品电影| 亚洲成人免费看| 欧美久久久一区| 日韩国产欧美在线视频| 日韩一区二区三区四区五区六区| 日本网站在线观看一区二区三区| 欧美一级在线观看| 国产麻豆视频一区| 国产精品九色蝌蚪自拍| 色综合久久久网| 性感美女极品91精品| 日韩一卡二卡三卡国产欧美| 久久99精品国产.久久久久久| 久久伊人中文字幕| 成人sese在线| 婷婷综合五月天| 精品盗摄一区二区三区| aaa国产一区| 亚洲午夜在线电影| 精品福利一二区| 国产91精品精华液一区二区三区| 日本一区二区三区国色天香| 欧洲在线/亚洲| 黄色资源网久久资源365| 中文字幕中文字幕在线一区| 欧美亚洲高清一区| 国产美女精品在线| 亚洲一区二区三区四区五区黄| 日韩一二在线观看| 日韩亚洲欧美综合| 成人黄色在线看| 日韩国产精品久久久| 久久久国际精品| 欧美午夜电影在线播放| 国产成人在线视频免费播放| 午夜视频一区在线观看| 国产精品久久毛片av大全日韩| 欧美日本视频在线| 99国产精品久久久久久久久久久 | 欧美aaa在线| 国产精品久久毛片| 91精品国产综合久久国产大片 | 中文字幕一区二区三区在线播放 | 亚洲图片欧美综合| 亚洲精品在线免费播放| 欧美三级电影网| 国产一区二区三区在线看麻豆 | 国产精品免费久久| 欧美一区二区播放| 欧美无乱码久久久免费午夜一区| 丁香婷婷综合网| 激情深爱一区二区| 婷婷久久综合九色国产成人| 亚洲色欲色欲www| 久久蜜桃av一区精品变态类天堂 | 久久精品亚洲精品国产欧美kt∨| 欧美疯狂做受xxxx富婆| 91精彩视频在线| 成人少妇影院yyyy| 国产麻豆成人传媒免费观看| 人人精品人人爱| 日韩高清不卡一区二区| 亚洲第一在线综合网站| 一区二区三区高清| 亚洲区小说区图片区qvod| 日本一区二区三区在线观看| 久久女同精品一区二区| 欧美成va人片在线观看| 欧美一区二区在线观看| 欧美日韩你懂得| 欧美日韩一区精品| 日本精品一区二区三区高清 | 蜜臀av在线播放一区二区三区| 亚洲制服丝袜一区| 亚洲伊人伊色伊影伊综合网| 一区二区理论电影在线观看| 一区二区三区日韩精品| 伊人一区二区三区| 亚洲精品少妇30p| 亚洲精品久久久久久国产精华液| 中文字幕亚洲一区二区va在线| 国产日韩欧美制服另类| 国产精品女上位| 综合久久久久久| 中文字幕一区二区视频| 亚洲乱码日产精品bd| 亚洲小少妇裸体bbw| 日韩高清不卡一区二区三区| 久久精品国产免费看久久精品| 九九视频精品免费| 国模套图日韩精品一区二区 | 国产精品每日更新| 国产精品国产三级国产aⅴ无密码| 最新不卡av在线| 一级女性全黄久久生活片免费| 亚洲成人免费av| 极品少妇xxxx偷拍精品少妇| 夫妻av一区二区| 在线观看网站黄不卡| 日韩视频在线一区二区| 国产日韩欧美精品综合| 一区二区三区精品在线观看| 免费不卡在线视频| 国产不卡视频在线观看| 91丨九色丨蝌蚪丨老版| 在线不卡欧美精品一区二区三区| 日韩精品最新网址| 国产精品久久久久一区二区三区 | 精彩视频一区二区三区| 成人av在线看| 欧美日韩一区成人| 久久久久久影视| 一区二区三区四区高清精品免费观看| 日韩和的一区二区| aaa欧美色吧激情视频| 911精品产国品一二三产区| 久久精品亚洲国产奇米99| 亚洲另类春色国产| 国产主播一区二区| 欧美性一级生活| 欧美激情综合五月色丁香| 日韩有码一区二区三区| 成人网页在线观看| 日韩一卡二卡三卡四卡| 一区二区久久久| 国产精品亚洲成人| 欧美人成免费网站| 亚洲色欲色欲www| 国产精品69毛片高清亚洲| 91.com视频| 亚洲欧美日本韩国| 国产寡妇亲子伦一区二区| 欧美乱妇一区二区三区不卡视频 | 欧美激情在线免费观看| 免费在线看成人av| 欧洲生活片亚洲生活在线观看| 精品成人在线观看| 日韩av电影天堂| 91成人国产精品| 中文字幕日韩精品一区| 国产成人aaaa| 26uuu色噜噜精品一区| 日本中文在线一区| 欧美亚洲国产一区二区三区va| 国产精品热久久久久夜色精品三区| 久草这里只有精品视频| 6080午夜不卡| 肉肉av福利一精品导航| 欧洲色大大久久| 亚洲一区电影777| 91国偷自产一区二区三区观看 | 一本大道久久a久久综合婷婷| 久久综合色播五月| 精品无人区卡一卡二卡三乱码免费卡| 欧美久久久久免费| 亚洲成人免费看| 欧美日韩黄色影视| 亚洲6080在线| 欧美高清精品3d| 奇米在线7777在线精品| 欧美一区二区三区视频| 日韩成人免费在线| 日韩免费视频一区二区|