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

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

?? df_103.c

?? 東方電子700系統接入源代碼,比較一下,就清楚如何利用該代碼改寫其他的接入代碼了.
?? C
?? 第 1 頁 / 共 3 頁
字號:
/****************************************************************************/
/*									    */
/*           版權 (c) 2000-2010 國電南京自動化股份有限公司		    */
/*									    */
/****************************************************************************/
/****************************************************************************/
/*	文件名					                                                */
/*								                                            */
/*  DF_103.c	                        1.00		    		            */
/*									                                        */
/*  概述:								                                    */
/*									                                        */
/*	轉接東方電子1700系統                                                    */
/*                                                                          */
/*  保護:PSL600,PST1200,PSL640及系列                                       */
/*                                                                          */
/*  任務:保護事件,告警事件,軟壓板,遙測,遙信,定值上送,遠方投退壓板    */
/*        遠方修改定值,遙控跳合閘,通訊對時,遠方復歸保護信號               */
/*                                                                          */
/*	上行報文:                                                              */
/*     	保護事件,告警事件,遙信-----ASDU1                                  */
/*   	軟壓板-----------------------ASDU1(總查詢,或壓板變位遙信)          */
/*		總查詢結束-------------------ASDU8                                  */
/*     	遙測-------------------------ASDU9(越限上送)                        */
/*      回答出廠信息-----------------ASDU5	                                */                
/*    	定值上送---------------------ASDU10(通用分類服務)                   */
/*      描述-------------------------ASDU10                                 */
/*  下行報文:                                                              */
/*      通訊對時---------------------ASDU6                                  */
/*      總查-------------------------ASDU8                                  */
/*      遠方復歸保護信號-------------ASDU20                                 */
/*      遠方投退壓板-----------------ASDU10                                 */
/*		遠方遙控跳合閘---------------ASDU10                                 */
/*      遠方修改定值-----------------ASDU10                                 */
/*		讀取(定值、壓板狀態、遙信)---ASDU21			                        */
/*  XM修改:                                                                */
/*     1 遙測按高13位傳                                                     */
/*     2 二級數據送遙信SOE,壓板SOE,及全遙測                               */
/*     3 一級數據送全遙信,保護事件,告警的SOE                              */
/****************************************************************************/

#include "typedef.h"
#include "generic.h"
#include "inforec.h"
#include "dev_mng.h"
#include "DF_103.h"
//#include "telnet.h"
//#include  "cs8900.h"
//#include  "target"
//REM ZJH 2002/11/7
//#define UART_RCV_SIZE 250
//ADD ZJH 2002/11/7
#define UART_RCV_SIZE 300
//END ZJH 2001/11/7
static WORD flag[DEV_TYPE];
static BYTE scn;

BYTE sbuf[UART_PACKET_SIZE];
//REM ZJH 2002/11/7
//BYTE last_cmd;
//WORD last_id;
BYTE last_cmd[DEV_TYPE];
WORD last_id[DEV_TYPE];
//END ZJH 2001/11/7
WORD tot_leng;
BYTE dznumber;
BYTE list_num;
BYTE count,ACD;

T_SET rsetbuf;
T_SET wsetbuf;
T_LIST list;
T_MEASURE measure;
T_SFC sfc[DEV_TYPE];
T_DI di[DEV_TYPE];
T_ANALOG_ENTRY *p_analog_list;
T_SET_ENTRY *p_set_list;
T_SFC_ENTRY *p_sfc_list;

extern T_IED g_ied_list[];
extern WORD g_ied_num;

/*   串口設置   */
extern BYTE uart_port;

/*	數據庫句柄  */
static HANDLE hand;

/*   串口任務   */
static  BYTE	  STACK_SERIAL[0x2000];
static  NU_TASK   nuTask_Serial;

/* 數據接受處理函數 */
void Serial_Interpret(const BYTE* rbuf,BYTE uart_port)
{
	BYTE byDevAddr;
	BYTE i;
	WORD Dev_Num;

	Dev_Num = Get_Device_Number();
	for (i = 1;i <= Dev_Num;i++)
	{
		byDevAddr = ID_to_Addr(i);
		switch (rbuf[0])
		{
		case FRAME_T_CON:
			if (rbuf[2] == byDevAddr)
			{
				Ack_Staid(rbuf,byDevAddr,uart_port);
				return;
			}
			break;
		case FRAME_T_VOL:
			if (rbuf[5] == byDevAddr || rbuf[5] == 0xff)
			{
				Ack_Changeable(rbuf,byDevAddr,uart_port);
				return;
			}
			break;
		default:
			return;
		}
	}
}

//可變幀長報文的處理
void Ack_Changeable(const BYTE* rbuf,BYTE byDevAddr,BYTE uart_port)
{
	switch(rbuf[6])
	{
	case 0x06:
		ASDU06(rbuf,byDevAddr,uart_port);//對時
		return ;
	case 0x07:
		ASDU07(rbuf,byDevAddr,uart_port);//總查詢
		return ;
	case 0x0a:
		ASDU10(rbuf,byDevAddr,uart_port);//通用分類數據
		return ;
	case 0x14:
		ASDU20(rbuf,byDevAddr,uart_port);//一般命令(復歸保護信號)
		return;
	case 0x15:
		ASDU21(rbuf,byDevAddr,uart_port);//通用分類命令
		return ;
	default:
		return ;
	}
}

//固定幀長報文的處理
void Ack_Staid(const BYTE* rbuf,BYTE byDevAddr,BYTE uart_port)
{
	BYTE	*crc;
	BYTE	*apack;
	BYTE	dev_fun;
	T_EVENT pEvent;
	T_DIC	pDIC;
	T_DATE	t_date;
	T_SFCC  pSFCC;
	BOOL	bDI,bEvent,bMeasure,bAlarm,bSFCC;
	WORD	wLen;
	WORD	ngd;
	WORD	dev_id;

	dev_id = Addr_to_ID(byDevAddr);
//REM ZJH 2002/11/7
//if (rbuf[1] == last_cmd && dev_id == last_id)
	if (rbuf[1] == last_cmd[dev_id-1] && dev_id == last_id[dev_id-1])
//END ZJH 2002/11/7
	{
		//將上次報文重發
		wLen = tot_leng;
		UART_Write(uart_port,sbuf,wLen);
		return;
	}
//REM ZJH 2002/11/7
//	last_cmd = rbuf[1];
//	last_id = dev_id;
    last_cmd[dev_id-1] = rbuf[1];
    last_id[dev_id-1] = dev_id;
//END ZJH 2002/11/7
	switch(rbuf[1]&0x0f)
	{
	case 0x00:
		//復位通信單元
		memset(sbuf, 0, UART_RCV_SIZE);
//REM ZJH 2002/11/7
//		flag = FLAG_RESET_CU;
        flag[dev_id-1] = FLAG_RESET_CU;
//END ZJH 2002/11/7
		sbuf[0] = 0x10;
		sbuf[1] = 0x20;
		sbuf[2] = byDevAddr;
		wLen = 2;
		sbuf[3] = Makecrc(&sbuf[1],wLen);
		sbuf[4] = 0x16;
		wLen = 5;
		tot_leng = wLen;
		UART_Write(uart_port,sbuf,wLen);
		break;
	case 0x07:
		//復位幀計數位
		flag[dev_id-1] = FLAG_RESET_FCB;
		sbuf[0] = 0x10;
		sbuf[1] = 0x20;
		sbuf[2] = byDevAddr;
		wLen = 2;
		sbuf[3] = Makecrc(&sbuf[1],wLen);
		sbuf[4] = 0x16;
		wLen = 5;
		tot_leng = wLen;
		UART_Write(uart_port,sbuf,wLen);
		break;
	case 0x0a:
		if (flag[dev_id-1] == FLAG_RESET_CU)
		{
			//回答復位通信單元報文
			ASDU05(rbuf,byDevAddr,uart_port);
			flag[dev_id-1] = FLAG_POWER_ON;
			return;
		}
		if (flag [dev_id-1]== FLAG_RESET_FCB)
		{
			//回答復位幀計數報文
			ASDU05(rbuf,byDevAddr,uart_port);
			flag[dev_id-1]= FLAG_POWER_ON;
			return;
		}
		if (flag[dev_id-1] == FLAG_POWER_ON)
		{
			ASDU05(rbuf,byDevAddr,uart_port);
			flag[dev_id-1] = 0x00;
			return;
		}
		
		

		//檢查是否總查詢發生
		if (flag[dev_id-1] == FLAG_POLLING)
		{
			//REM ZJH 2002/11/7
			//asdu40回答全遙信
			ASDU40(rbuf,byDevAddr,uart_port);
			flag[dev_id-1] = FLAG_POLLING_OK;			
			//ASDU01(rbuf,byDevAddr,uart_port);
            //END ZJH 2002/11/7
			return;
		}
		
		if (flag[dev_id-1] == FLAG_POLLING_OK)
		{
		ACD=0;
	    bDI = INF_Search_Dic(hand,dev_id);
		bEvent = INF_Search_Event(hand,dev_id);
		bAlarm = INF_Search_Alarm(hand,dev_id);
		bSFCC = INF_Search_SFCC(hand,dev_id);
		
		if (bDI||bSFCC||bEvent||bAlarm) ACD=0x20;
		//檢查是否有保護事件發生
		bEvent = INF_Search_Event(hand,dev_id);
		if (bEvent)
		{
				INF_Get_Event(hand,dev_id,&pEvent);
				apack = sbuf;
				*apack++ = 0x68;
				*apack++;
				*apack++;
				*apack++ = 0x68;
				crc = apack;
				bEvent = INF_Search_Event(hand,dev_id);
				*apack++ = 0x08|ACD;
				*apack++ = byDevAddr;
				*apack++ = 0x01;
				*apack++ = 0x81;
				*apack++ = 1;
				*apack++ = byDevAddr;
				*apack++ = Get_Fun(dev_id);				
	            *apack++ = (BYTE)pEvent.e_code + EVT_BEGIN;//條目號				
				*apack++ = (BYTE)pEvent.e_state + 1;
				*apack++ = (BYTE) pEvent.e_date.msec;
				*apack++ = (BYTE) (pEvent.e_date.msec >> 8);
				*apack++ = pEvent.e_date.minute;
				*apack++ = pEvent.e_date.hour;
				*apack++ = 0;
				wLen = apack - crc;
				sbuf[1] = (BYTE)wLen;
				sbuf[2] = (BYTE)wLen;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}

		//檢查是否有保護告警事件發生
		bAlarm = INF_Search_Alarm(hand,dev_id);
		if (bAlarm)
		{
				INF_Get_Alarm(hand,dev_id,&pEvent);
				apack = sbuf;
				*apack++ = 0x68;
				*apack++;
				*apack++;
				*apack++ = 0x68;
				crc = apack;
				*apack++ = 0x08|ACD;				
				*apack++ = byDevAddr;
				*apack++ = 0x01;
				*apack++ = 0x81;
				*apack++ = 1;
				*apack++ = byDevAddr;
				*apack++ = Get_Fun(dev_id);//Fun
				switch(*(apack-1))              //廣東鐘村特別修改pst1260
	            {	             		
	             case 194:
	             if(((BYTE)pEvent.e_code>=0x14)&&((BYTE)pEvent.e_code<=0x18))	             
		         *apack++ = (BYTE)pEvent.e_code- 0x14;
		         else
		         *apack++ = (BYTE)pEvent.e_code + ALA_BEGIN;//條目號
		         break;
	             case 195:
	             if((BYTE)pEvent.e_code>=0x1f)
		         *apack++ = (BYTE)pEvent.e_code - 0x1f;
		         else
		         *apack++ = (BYTE)pEvent.e_code + ALA_BEGIN;//條目號		         
		         break;		
	             case 196:
	             if((BYTE)pEvent.e_code>=0x1f)
		         *apack++ = (BYTE)pEvent.e_code - 0x1f;
		         else
		         *apack++ = (BYTE)pEvent.e_code + ALA_BEGIN;//條目號
		         break;	
	             default:
		         *apack++ = (BYTE)pEvent.e_code + ALA_BEGIN;//條目號
		         break;
	            }
				*apack++ = (BYTE)pEvent.e_state + 1;
				*apack++ = (BYTE) pEvent.e_date.msec;
				*apack++ = (BYTE) (pEvent.e_date.msec >> 8);
				*apack++ = pEvent.e_date.minute;
				*apack++ = pEvent.e_date.hour;
				*apack++ = 0;
				wLen = apack - crc;
				sbuf[1] = (BYTE)wLen;
				sbuf[2] = (BYTE)wLen;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}
		
		
		//回答無所響應數據報文
		if(bEvent||bAlarm)
		{
		apack = sbuf;
		*apack++ = 0x10;
		crc = apack;
		*apack++ = 0x09|ACD;
		*apack++ = byDevAddr;
		*apack++ = Makecrc(crc,2);
		*apack++ = 0x16;
		wLen = apack - sbuf;
		tot_leng = wLen;
		UART_Write(uart_port,sbuf,wLen);
		return;
        }    
		
		{
			ASDU40(rbuf,byDevAddr,uart_port);			
			return;
		}
		
	    }
	
				
		//總查詢的終止
		if (flag[dev_id-1] == FLAG_POLLING_END)
		{
			ASDU08(rbuf,byDevAddr,uart_port);
			return;
		}

			

		//傳送描述表
		if (flag[dev_id-1] == FLAG_READ_LIST)
		{
			BYTE i;
			BYTE ginl;
			BYTE data_leng;

			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x28;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xfe;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			data_leng = 0x0a;
			*apack++ = (BYTE)list.l_size;
			switch(list.l_type)
			{
			case LIST_T_ANALOG:
//				p_analog_list = (T_ANALOG_ENTRY *) list.l_ptr;
				ginl = 0x01;
				break;
			case LIST_T_SET:
//				p_set_list = (T_SET_ENTRY *) list.l_ptr;
				ginl = 0x04;
				break;
			case LIST_T_SFC:
//				p_sfc_list = (T_SFC_ENTRY *) list.l_ptr;
				ginl = 0x06;
				break;
			}
			i = 0;
			while(i < 10)
			{
				if(list_num < list.l_size)
				{
					*apack++ = ginl;
					*apack++ = list_num + 1;
					*apack++ = 10;
					*apack++ = 1;
					*apack++ = 16;
					*apack++ = 1;
					data_leng += 6;
					if(list.l_type == LIST_T_ANALOG)
					{
						memcpy(apack, p_analog_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_analog_list++;
					}
					if(list.l_type == LIST_T_SET)
					{
						memcpy(apack, p_set_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_set_list++;
					}
					if(list.l_type == LIST_T_SFC)
					{
						memcpy(apack, p_sfc_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_sfc_list++;
					}
					i++;
				}
				else
					break;
			}

			//超過10項分幀發送
			sbuf[1] = data_leng;
			sbuf[2] = data_leng;
			
			if (list_num != list.l_size)
			{
				sbuf[13] = (i | 0x80);
				sbuf[4] = 0x28;
			}
			else
			{
				sbuf[13] = (i | 0x00);
				sbuf[4] = 0x08;
				flag[dev_id-1] = 0;
			}
			wLen = data_leng;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = data_leng + 6;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}
		
		//是否傳送遙信量
		if(flag[dev_id-1] == FLAG_READ_DI)
		{
			BYTE i;

			flag[dev_id-1] = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) di[dev_id-1].di_num;
			for(i = 0;i< (di[dev_id-1].di_num + 31)/32;i++)
			{
				*apack++ = 0x07;//遙信組
				*apack++ = i + 1;
				*apack++ = 1;
				*apack++ = 7;
				*apack++ = 4;
				*apack++ = 1;
				*apack++ = *((BYTE *)&di[dev_id-1].di_val[i] + 3);
				*apack++ = *((BYTE *)&di[dev_id-1].di_val[i] + 2);
				*apack++ = *((BYTE *)&di[dev_id-1].di_val[i] + 1);
				*apack++ = *((BYTE *)&di[dev_id-1].di_val[i]);
			}
			wLen = apack - crc;
			sbuf[1] = wLen + 2;
			sbuf[2] = wLen + 2;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = apack - sbuf;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}

		//是否要傳送遙測值
		if(flag[dev_id-1] == FLAG_READ_MEASURE)
		{
			BYTE i;

			flag[dev_id-1] = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) measure.ms_num;
			for(i = 0;i< measure.ms_num;i++)
			{
				*apack++ = 0x01;//遙測組
				*apack++ = i + 1;
				*apack++ = 1;
				*apack++ = 7;
				*apack++ = 2;
				*apack++ = 1;
				*apack++ = LOBYTE(measure.ms_val[i]<<3);   //高13位
				*apack++ = HIBYTE(measure.ms_val[i]<<3);
			}
			wLen = apack - crc;
			sbuf[1] = wLen + 2;
			sbuf[2] = wLen + 2;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = apack - sbuf;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}

		//檢查是否要傳送軟壓板
		if(flag[dev_id-1] == FLAG_READ_SFC)
		{
			BYTE i;

			flag[dev_id-1] = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) sfc[dev_id-1].sfc_num;
			for(i = 0;i< sfc[dev_id-1].sfc_num;i++)
			{
				*apack++ = 0x06;//壓板組
				*apack++ = i + 1;
				*apack++ = 1;
				*apack++ = 10;
				*apack++ = 1;
				*apack++ = 1;
				*apack++ =((BYTE) (sfc[dev_id-1].sfc_val[0] >> i)&0x00000001) + 1;
				if(i == 31)
				{
					sfc[dev_id-1].sfc_val[0] = sfc[dev_id-1].sfc_val[1];
				}
			}
			wLen = apack - crc;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = apack - sbuf;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}

		//檢查是否要傳送保護定值 asdu10
		if (flag[dev_id-1] == FLAG_READ_SET)
		{
			BYTE data_leng,i;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91同城在线观看| 一区在线观看免费| 国产精品国产成人国产三级| 午夜一区二区三区视频| 成人午夜视频福利| 亚洲精品一区二区三区精华液| 亚洲欧美激情插| 国产精品99久久久久久似苏梦涵| 欧美精品日日鲁夜夜添| 亚洲精品五月天| 国产98色在线|日韩| 精品国产91乱码一区二区三区 | 欧美日本在线看| 成人欧美一区二区三区白人| 国产一区二区在线观看视频| 欧美一区二区三区影视| 一区二区三区中文字幕精品精品 | 国产乱国产乱300精品| 欧美一区二区啪啪| 午夜伊人狠狠久久| 欧美日韩黄视频| 亚洲成人黄色影院| 91美女视频网站| 亚洲裸体在线观看| 不卡一区中文字幕| 国产精品夫妻自拍| 成人晚上爱看视频| 中文在线一区二区| 菠萝蜜视频在线观看一区| 国产拍欧美日韩视频二区| 国产乱子伦视频一区二区三区 | 欧美日韩视频第一区| 亚洲一区二区在线免费观看视频 | 2020国产精品| 久久国产成人午夜av影院| 精品日韩欧美一区二区| 久久国产精品99久久人人澡| 欧美精品一区二区三区四区| 久久精品国产亚洲高清剧情介绍 | 777色狠狠一区二区三区| 日韩精品乱码免费| 日韩欧美在线观看一区二区三区| 久久爱另类一区二区小说| 日韩一区二区在线观看视频 | 精品日韩一区二区三区 | 91美女精品福利| 亚洲男同性视频| 欧美亚洲动漫制服丝袜| 首页国产欧美日韩丝袜| 精品黑人一区二区三区久久| 国产盗摄女厕一区二区三区| 亚洲欧洲精品天堂一级| 欧美婷婷六月丁香综合色| 老司机午夜精品| 国产精品人妖ts系列视频| 欧美曰成人黄网| 美女一区二区在线观看| 国产精品视频免费| 欧美群妇大交群的观看方式| 久久99热这里只有精品| 国产精品色呦呦| 欧美日韩视频专区在线播放| 国产成人精品免费看| 亚洲大片在线观看| 久久久久久免费网| 欧美自拍偷拍午夜视频| 国产伦精品一区二区三区免费| 亚洲天堂免费看| 精品国产自在久精品国产| 波波电影院一区二区三区| 天堂成人国产精品一区| 中文在线一区二区| 日韩三级在线观看| 在线一区二区观看| 国产一区二区不卡在线| 亚洲成人tv网| 中文字幕一区免费在线观看| 欧美一区二区三区色| 成人精品电影在线观看| 亚洲超碰精品一区二区| 中文字幕一区二区三区在线不卡| 欧美一区二区三区四区五区| 色婷婷久久久亚洲一区二区三区| 极品瑜伽女神91| 日本伊人午夜精品| 亚洲综合成人在线视频| 欧美激情一区二区三区不卡 | 综合婷婷亚洲小说| www久久精品| 欧美久久一区二区| 91官网在线观看| 成人国产精品免费观看| 狠狠色狠狠色综合| 爽好久久久欧美精品| 亚洲精品成人在线| 国产欧美日韩麻豆91| 久久嫩草精品久久久精品| 91.com在线观看| 欧美三区在线观看| 在线观看视频一区| 99精品视频一区二区三区| 国产v综合v亚洲欧| 国产成人精品综合在线观看| 极品销魂美女一区二区三区| 日韩激情视频网站| 日韩国产欧美在线观看| 午夜视频久久久久久| 亚洲一区中文日韩| 亚洲女与黑人做爰| 亚洲狠狠丁香婷婷综合久久久| 国产精品国产三级国产普通话三级 | 99精品欧美一区二区蜜桃免费| 国产精品综合一区二区| 国产一区二区日韩精品| 国产在线视频一区二区| 久久99精品久久久久婷婷| 免费看欧美美女黄的网站| 日韩av一级电影| 蜜臀久久99精品久久久画质超高清| 日韩影院精彩在线| 人禽交欧美网站| 久久97超碰色| 加勒比av一区二区| 国产精品911| 成人av在线资源| 久久综合九色综合97婷婷女人| 日韩美女主播在线视频一区二区三区| 欧美一区二区黄| 国产午夜精品理论片a级大结局| 国产农村妇女精品| 亚洲女与黑人做爰| 日韩成人一区二区三区在线观看| 日本麻豆一区二区三区视频| 国产一区二区三区观看| 波多野结衣的一区二区三区| 欧洲激情一区二区| 日韩午夜在线观看视频| 国产亚洲美州欧州综合国| 亚洲欧美成人一区二区三区| 日韩不卡手机在线v区| 久久精品国产精品亚洲综合| 粉嫩久久99精品久久久久久夜 | 国产一二精品视频| 成人在线视频一区二区| 欧美午夜一区二区三区免费大片| 日韩欧美综合一区| **欧美大码日韩| 秋霞午夜鲁丝一区二区老狼| 懂色av噜噜一区二区三区av| 欧美在线色视频| 久久你懂得1024| 亚洲福利国产精品| 国产麻豆91精品| 欧美喷水一区二区| 国产精品久久久久一区二区三区 | 首页亚洲欧美制服丝腿| 国产99久久久国产精品| 欧美久久久影院| 国产精品视频观看| 另类中文字幕网| 欧美色图一区二区三区| 国产三级精品三级| 日本三级韩国三级欧美三级| 99久久99久久精品国产片果冻| 日韩欧美精品在线视频| 亚洲综合色成人| 成人精品高清在线| 日韩你懂的在线观看| 一二三四社区欧美黄| 国产精品一卡二卡| 欧美一区二区福利在线| 亚洲色图视频网站| 东方欧美亚洲色图在线| 日韩免费在线观看| 午夜免费久久看| 91亚洲精品乱码久久久久久蜜桃| 欧美精品一区二区高清在线观看| 图片区小说区国产精品视频| 91老师国产黑色丝袜在线| 国产女同互慰高潮91漫画| 久久国产精品72免费观看| 欧美放荡的少妇| 午夜亚洲国产au精品一区二区| 91视频观看视频| 亚洲少妇屁股交4| av中文字幕亚洲| 国产精品麻豆网站| 成人一级片网址| 欧美激情一二三区| 国产精品18久久久久久久久| 日韩一级二级三级| 日韩有码一区二区三区| 69久久夜色精品国产69蝌蚪网| 亚洲午夜国产一区99re久久| 色诱视频网站一区| 亚洲色图视频网| 欧洲生活片亚洲生活在线观看| 亚洲精品国产无天堂网2021| 99国产精品久| 亚洲精品写真福利|