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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gtcardapi.cpp

?? 關(guān)于固高卡的包裝的api函數(shù)和軸狀態(tài)以及坐標(biāo)系狀態(tài)下的狀態(tài)實(shí)時(shí)讀取及顯示
?? CPP
?? 第 1 頁 / 共 3 頁
字號(hào):
/*	Copyright (c) 2006, lihaizhou All rights reserved.
				華中科技大學(xué)國家數(shù)控系統(tǒng)工程技術(shù)研究中心
文件名稱:GtCardApi.h
摘  要:固高GT-400-SP-PCI-G運(yùn)動(dòng)控制卡操作類
			
運(yùn)行環(huán)境:Windows2000/Xp 
當(dāng)前版本:0.1 
修改描述:
修改作者:
修改日期:
原 作 者:李海洲
主 管 人:李海洲
完成日期:2006年02月19日		*/

#include "stdafx.h"
#include "math.h"
#include "GtCardApi.h"

IMPLEMENT_DYNAMIC(Gt_Card_Api, CCncBase)

Gt_Card_Api::Gt_Card_Api()
{
	memset(m_home_step , 0 ,sizeof(m_home_step));
	error_msk = 0;
	axis_mode = 0;//都是私有成員變量

	acc_home_jog = 0.001;
	speed_jog = 6;
	speed_home = 6;
	
	speed_move_step = 10;
	acc_move_step = 0.001;
	jerk_move_step = 0.0001;

	for(int i=0; i<=Sys_Max_Axis_Num; i++)
	{ 
		m_axis_ratio[i] = 1.0;
	}
}

Gt_Card_Api::~Gt_Card_Api()
{

}

// 功  能:運(yùn)動(dòng)控制器初始化
//
// 返回值: 非0表示有錯(cuò)誤發(fā)生
//			0表示沒有有錯(cuò)誤發(fā)生 
int Gt_Card_Api::InitNCCard(void) 
{ 
	int i;
	int nRet = 0; 

	if(GT_Open( ))//打開運(yùn)動(dòng)控制器設(shè)備
		nRet = 1;

	if(GT_Reset( ))//復(fù)位運(yùn)動(dòng)控制器
		nRet = 1;
	
//	if(GT_SwitchtoCardNo(1)) /* 將1 號(hào)卡設(shè)為當(dāng)前卡(僅對(duì)于多卡系統(tǒng),單卡系統(tǒng)可取消該行)*/ 
//		nRet = 1;

	if(GT_SetSmplTm(Sys_Control_Timer))//該函數(shù)設(shè)置運(yùn)動(dòng)控制器伺服周期。設(shè)定值的范圍為:48~1966.08 微秒運(yùn)動(dòng)控制器推薦使用的伺服周期是200 微秒。
		nRet = 1;

	for( i=1; i<=Sys_Max_Axis_Num; i++) //屏蔽每一軸的中斷
	{ 
		if(GT_Axis(i))
			nRet = 1;

		if(GT_SetIntrMsk(0))
			nRet = 1;
 
		if(GT_CtrlMode(1))	// 0表示為模擬電壓輸出模式,1 表示為脈沖輸
			nRet = 1;
	} 

	m_bIsCardInitialized = nRet ? FALSE : TRUE;
	return nRet;
} 

// 功  能: 檢測(cè)指定的軸是否是有效軸(1,2,3,4為有效軸)
//
// 返回值: 1表示無效軸
//			0表示有效軸
int Gt_Card_Api::check_axis_user(int axis)
{ 
	int rtn = 1; 

	if((axis <= Sys_Max_Axis_Num)&&(axis > 0))
		rtn = 0;

	return rtn;
} 

// 功  能: 設(shè)置指定軸的1um對(duì)應(yīng)的脈沖數(shù)
//
// 參  數(shù):axis的取值(1)  axis  <= 0 無效的參數(shù)
//					 (2)  1 , 2 , 3 ,4 時(shí)初始化指定的軸
//		   PerPlus的取值(1) 每轉(zhuǎn)脈沖數(shù)目
//		   PerGap的取值 (1) 每轉(zhuǎn)工作臺(tái)移動(dòng)的距離
void Gt_Card_Api::set_axis_ratio(int axis,long PerPlus , long PerGap)
{ 
	long tmpPos;
	double tmpDub;

	if(check_axis_user(axis))
		return ;

	tmpDub = PerPlus;
	tmpDub /= (double)PerGap;

	tmpPos = (long)(tmpDub *100000.0);

	if(tmpPos != 0)
		m_axis_ratio[axis] = tmpDub;

}

// 功  能:將指定軸對(duì)應(yīng)的以u(píng)m為單位的位置,轉(zhuǎn)換成以脈沖為單位的位置
//
// 參  數(shù):axis的取值(1)  axis  <= 0 無效的參數(shù)
//					 (2)  1 , 2 , 3 ,4 時(shí)初始化指定的軸
//		   pos的取值 (1)  以u(píng)m為單位的位置
//
// 返回值: 以脈沖為單位的位置
long Gt_Card_Api::cmd_to_motion_pos(int axis,long pos)
{
	double tmpPos = m_axis_ratio[axis] * (double)pos;

	return (long)tmpPos;
}

// 功  能:將指定軸對(duì)應(yīng)的以脈沖為單位的位置,轉(zhuǎn)換成以u(píng)m為單位的位置
//
// 參  數(shù):axis的取值(1)  axis  <= 0 無效的參數(shù)
//					 (2)  1 , 2 , 3 ,4 時(shí)初始化指定的軸
//		   pos的取值 (1)  以u(píng)m為單位的位置
//
// 返回值: 以u(píng)m為單位的位置
long Gt_Card_Api::motion_to_cmd_pos(int axis,long pos)
{
	double tmpPos = (double)pos / m_axis_ratio[axis];

	return (long)tmpPos;
}

// 功  能:初始化軸指定的軸
//
// 參  數(shù):axis的取值(1)  axis  <= 0 時(shí)初始化系統(tǒng)所有的軸
//					 (2)  1 , 2 , 3 ,4 時(shí)初始化指定的軸
//
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功

// 功  能:控制使能或者關(guān)閉指定的軸
//
// 參  數(shù): axis的取值 (1) axis  <= 0 時(shí)使能或者關(guān)閉系統(tǒng)所有的軸
//					  (2) 1 , 2 , 3 ,4 時(shí)使能或者關(guān)閉指定的軸
//
//         mode的取值 (1) Axis_On_Mode 打開軸驅(qū)動(dòng)使能
//					  (2) Axis_Off_Mode 關(guān)閉軸驅(qū)動(dòng)使能
//
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_on_off(int axis , int mode) //控制軸初始化函數(shù)
{ 
	int i;
	int k;
	short rtn = 0; 

	if(axis > Sys_Max_Axis_Num)
		return 1;

	if(axis <= 0)
	{
		i = 1;
		k = Sys_Max_Axis_Num;
	}
	else
		{
			i = axis;
			k = axis;
		}

	for( ; i <= k  ; i++) 
	{ 
		if(GT_Axis(i))//設(shè)置第i 軸為當(dāng)前軸
			rtn = 1;

		if(mode == Axis_On_Mode)
		{
			if(GT_AxisOn())//驅(qū)動(dòng)使能 
				rtn = 1;
		}
		else
			{
				if(GT_AxisOff())//關(guān)閉軸驅(qū)動(dòng)使能
					rtn = 1;
			}
	} 
	
	return rtn;
}

// 功  能:設(shè)置指定的軸手動(dòng)和回零時(shí)的運(yùn)動(dòng)參數(shù)
//
// 參  數(shù): speed的取值(1) speed > 0 指定的軸向以speed的速度向正方向手動(dòng) (-16384 -- 16384)
//					  (2) speed < 0 指定的軸向以speed的速度向負(fù)方向手動(dòng)
//					  (3) speed = 0 指定的軸停止運(yùn)動(dòng)
//		   acc的取值  (1) 指定的軸加速度 0 -- 16383
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_jog_para(double speed , double acc)
{
	int rtn = 0;

	if(acc < 0.0 || acc > 16383.0)
		acc_home_jog = 0.001;
	else
		acc_home_jog = acc;

	if(speed < (-16384.0))
		speed_jog = -16383.0;
	else
		if(speed > 16384.0)
			speed_jog = 16383.0;
		else
			speed_jog = speed;

	return rtn;
}

// 功  能:設(shè)置指定的軸手動(dòng)和回零時(shí)的運(yùn)動(dòng)參數(shù)
//
// 參  數(shù): speed1的取值(1) speed1 > 0 指定的軸向以speed1的速度向正方向回零 (-16384 -- 16384)
//					   (2) speed1 < 0 指定的軸向以speed1的速度向負(fù)方向回零
//					   (3) speed1 = 0 指定的軸停止運(yùn)動(dòng)
//		   acc的取值  (1) 指定的軸加速度 0 -- 16383
void Gt_Card_Api::set_home_para(double speed1 , double acc)
{
	if(acc < 0.0 || acc > 16383.0)
		acc_home_jog = 0.001;
	else
		acc_home_jog = acc;

	if(speed1 < (-16384.0))
		speed_home = -16383.0;
	else
		if(speed1 > 16384.0)
			speed_home = 16383.0;
		else
			speed_home = speed1;
}

// 功  能:控制指定的軸回參考點(diǎn)
//
// 參  數(shù): axis的取值 (1) axis  <= 0 無效的參數(shù)
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸回參考點(diǎn)
//
// start_stop參數(shù):	1 指定的軸回零
//					0 指定的回零動(dòng)作停止
//
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_home(int axis,int start_stop)
{
	int rtn = 0;

	if(check_axis_user(axis))
		return 1;

	m_home_step[axis] = start_stop;
	
	if(start_stop == 0)
	{
		if(GT_ClrSts())//清狀態(tài)
			rtn = -1;

		if(set_axis_stop(axis))
			rtn = -1;

		m_home_step[axis] = -1; 
	}

	return rtn;
}

// 功  能:控制指定的軸進(jìn)行回參考點(diǎn)動(dòng)作,此函數(shù)需不斷執(zhí)行,直到返回0或者-1
//
// 參  數(shù): axis的取值 (1) axis  <= 0 無效的參數(shù)
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸回參考點(diǎn)
//
// 返回值: 1 表示正在回零
//		   -1 表示回零失敗
//		    0 表示回零完成
int Gt_Card_Api::set_axis_homeing(int axis)
{
	int rtn = 1;
	unsigned short status; 
	long actl_pos;

	if(check_axis_user(axis))
		return -1;

	switch(m_home_step[axis])
	{
		case 0:
		default:
				break;
		case 1:
				if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
					rtn = -1;

				if(GT_ClrSts())//清狀態(tài)
					rtn = -1;

				if(GT_CaptHome()) //設(shè)置捕獲Home 
					rtn = -1;

				if(GT_PrflV()) //設(shè)置速度控制模式
					rtn = -1;
	
				axis_mode = 0;

				if(GT_SetAcc(acc_home_jog))//設(shè)置加速度
					rtn = 1;

				if(GT_SetVel(speed_home)) // 設(shè)置速度為目標(biāo)速度
					rtn = 1;

				if(GT_Update()) //刷新參數(shù) 
					rtn = -1;
				
				m_home_step[axis] = 2; 
				break;
		case 2:
				if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
					rtn = -1;

				if(GT_GetSts(&status))//讀取軸狀態(tài)值 
					rtn = -1;

				if((status&0x8)) //等待Home 捕獲 
				{ 
					m_home_step[axis] = 3; 
				} 
				break;
		case 3:
				if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
					rtn = -1;

				if(GT_GetCapt(&actl_pos)) //讀取捕獲位置 
					rtn = -1;

				if(GT_PrflS()) //設(shè)置S-曲線控制模式
					rtn = 1;
				
				axis_mode = 0;

				if(GT_SetJerk(jerk_move_step))//設(shè)置加加速度
					rtn = 1;

				if(GT_SetMAcc(acc_move_step))//設(shè)置加速度為
					rtn = 1;

				if(GT_SetVel(speed_move_step)) // 設(shè)置速度為目標(biāo)速度
					rtn = 1;

				if(GT_SetPos(actl_pos)) //設(shè)置捕獲位置為目標(biāo)位置 
					rtn = -1;
				
				if(GT_ClrSts()) //清狀態(tài) 
					rtn = -1;

				if(GT_Update()) //刷新參數(shù) 
					rtn = -1;

				m_home_step[axis] = 4; 
				break;
		case 4:
				if(check_axis_done(axis)) //等待運(yùn)動(dòng)完成
					break;

				if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
					rtn = -1;

				if(GT_ZeroPos()) //清零
					rtn = -1;
				m_home_step[axis] = -1; 
				rtn = 0;
				break;

	} 

	return rtn;
}

// 功  能:控制指定的軸以某一速度一直運(yùn)動(dòng)
//
// 參  數(shù): axis的取值 (1) axis  <= 0 無效的參數(shù)
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_jog(int axis)
{
	int rtn = 0;

	if(check_axis_user(axis))
		return 1;

	if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
		rtn = 1;

	if(GT_PrflV()) //設(shè)置速度控制模式
		rtn = 1;

	axis_mode = 0;

	if(GT_SetAcc(acc_home_jog))//設(shè)置加速度 
		rtn = 1;

	if(GT_SetVel(speed_jog)) // 設(shè)置速度為目標(biāo)速度
		rtn = 1;

	if(GT_Update()) //刷新參數(shù) 
		rtn = 1;

	return rtn;
}

// 功  能:設(shè)置指定的軸步進(jìn)或者單軸運(yùn)動(dòng)時(shí)的運(yùn)動(dòng)參數(shù)
//
// 參  數(shù): speed的取值(1) speed > 0 指定的軸向以speed的速度運(yùn)動(dòng)0 -- 16383
//		   acc的取值  (1) 指定的軸加速度 0 -- 0.5
//		   jerk的取值  (1) 指定的軸加加速度 0 -- 0.5
void Gt_Card_Api::set_move_step_para(double speed ,double acc,double jerk)
{
	if(jerk < 0.0 || jerk > 0.5)
		jerk_move_step = 0.0001;
	else
		jerk_move_step = jerk;

	if(acc < 0.0 || acc > 0.5)
		acc_move_step = 0.001;
	else
		acc_move_step = acc;

	if(speed < (0.0))
		speed_move_step = 0.0;
	else
		if(speed > 16384.0)
			speed_move_step = 16383.0;
		else
			speed_move_step = speed;
}

// 功  能:控制指定的軸以某一速度,以當(dāng)前設(shè)定的目標(biāo)位置為基礎(chǔ),增量運(yùn)行displacement指定的距離
//
//
// 參  數(shù): axis的取值 (1) axis  <= 0 無效的參數(shù)
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸
//
//         displacement的取值(1) displacement > 0 指定的軸向以speed的速度向正方向運(yùn)動(dòng)
//							 (2) displacement < 0 指定的軸向以speed的速度向負(fù)方向運(yùn)動(dòng)
//
//         speed的取值(1) speed > 0 指定的軸向以speed的速度運(yùn)動(dòng)0 -- 16383
//		   acc的取值  (1) 指定的軸加速度 0 -- 0.5
//		   jerk的取值  (1) 指定的軸加加速度 0 -- 0.5
//					  
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_step(int axis,long displacement)
{
	int rtn = 0;
	long actl_pos;

	if(check_axis_user(axis))
		return 1;

	if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
		rtn = 1;

	if(get_axis_den(axis)) //檢測(cè)指定軸是否在運(yùn)動(dòng)
		return 1;

	if(GT_PrflS()) //設(shè)置S-曲線控制模式
		rtn = 1;

	axis_mode = 0;

	if(GT_SetJerk(jerk_move_step))//設(shè)置加加速度
		rtn = 1;

	if(GT_SetMAcc(acc_move_step))//設(shè)置加速度為
		rtn = 1;

	if(GT_SetVel(speed_move_step)) // 設(shè)置速度為目標(biāo)速度
		rtn = 1;

	if(GT_GetPos(&actl_pos)) //Atl取得當(dāng)前軸的實(shí)際位置
		rtn = 1;

	actl_pos += cmd_to_motion_pos(axis,actl_pos + displacement);

	if(GT_SetPos(actl_pos)) //設(shè)置目標(biāo)位置 
		rtn = 1;

	if(GT_Update()) //刷新參數(shù) 
		rtn = 1;

	return rtn;
}

// 功  能:控制指定的軸以某一速度,運(yùn)動(dòng)到指定的位置
//
//
// 參  數(shù): axis的取值 (1) axis  <= 0 無效的參數(shù)
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸
//
//         position的取值(1) 指定的軸要運(yùn)動(dòng)到的位置
//
//         speed的取值(1) speed > 0 指定的軸向以speed的速度運(yùn)動(dòng)
//					  
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_moveto(int axis,long position)
{
	int rtn = 0;

	if(check_axis_user(axis))
		return 1;

	if(GT_Axis(axis))//設(shè)置第i 軸為當(dāng)前軸
		rtn = 1;

	if(get_axis_den(axis)) //檢測(cè)指定軸是否在運(yùn)動(dòng)
		return 1;

	if(GT_PrflS()) //設(shè)置S-曲線控制模式
		rtn = 1;

	axis_mode = 0;

	if(GT_SetJerk(jerk_move_step))//設(shè)置加加速度
		rtn = 1;

	if(GT_SetMAcc(acc_move_step))//設(shè)置加速度為
		rtn = 1;

	if(GT_SetVel(speed_move_step)) // 設(shè)置速度為目標(biāo)速度
		rtn = 1;

	position = cmd_to_motion_pos(axis , position);

	if(GT_SetPos(position)) //設(shè)置捕獲位置為目標(biāo)位置 
		rtn = 1;

	if(GT_Update()) //刷新參數(shù) 
		rtn = 1;

	return rtn;
}

// 功  能:平滑停止指定軸
//
//
// 參  數(shù): axis的取值 (1) axis  <= 0 平滑停止所有的軸
//					  (2) 1 , 2 , 3 ,4 時(shí)使指定的軸
//
// 返回值: 1表示有錯(cuò)誤發(fā)生
//			0表示命令執(zhí)行成功
int Gt_Card_Api::set_axis_stop(int axis)
{
	int i;
	int k;
	int rtn = 0;

	if(axis > Sys_Max_Axis_Num)
		return 1;

	if(axis <= 0)
	{
		i = 1;
		k = Sys_Max_Axis_Num;
	}
	else
		{
			i = axis;
			k = axis;
		}

	for( ; i <= k  ; i++) 
	{ 
		if(GT_Axis(i))//設(shè)置第i 軸為當(dāng)前軸
		{
			rtn = 1;
		}

		if(GT_SmthStp())
		{
			rtn = 1;
		}

		if(GT_Update())
		{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久黄色| 日韩欧美国产综合| 日本色综合中文字幕| 国产精品国产三级国产普通话三级 | 日韩中文字幕区一区有砖一区| 亚洲人成网站精品片在线观看| 国产日韩欧美麻豆| 国产日韩精品视频一区| 国产午夜精品久久久久久久| 337p粉嫩大胆噜噜噜噜噜91av| 2020国产精品| 久久蜜臀精品av| 国产精品视频九色porn| 国产精品免费丝袜| 国产精品女上位| 亚洲欧洲无码一区二区三区| 亚洲欧美视频在线观看视频| 亚洲乱码日产精品bd| 亚洲小说欧美激情另类| 视频一区视频二区中文字幕| 天堂久久一区二区三区| 久久国产精品99久久久久久老狼| 激情综合网av| 高清不卡在线观看| 91在线视频免费91| 欧美视频一区二区在线观看| 欧美人成免费网站| 欧美不卡123| 欧美国产国产综合| 亚洲男人天堂av网| 日韩中文欧美在线| 高潮精品一区videoshd| 欧美一级二级三级蜜桃| 欧美电影在线免费观看| 色94色欧美sute亚洲线路二 | 美女高潮久久久| 亚洲大片免费看| 婷婷成人激情在线网| 国产麻豆欧美日韩一区| 国产一区二区美女| 懂色av一区二区在线播放| 99久久免费精品| 欧美视频日韩视频在线观看| 日韩午夜精品视频| 久久久美女艺术照精彩视频福利播放| 日韩一卡二卡三卡国产欧美| 国产日韩v精品一区二区| 亚洲欧洲色图综合| 日韩电影在线看| 国产成人小视频| 91黄色免费版| 精品欧美乱码久久久久久 | 黄网站免费久久| 风间由美性色一区二区三区| 色综合天天做天天爱| 欧美一区二区三区四区五区| 中文字幕五月欧美| 久久精品免费观看| 欧美色精品天天在线观看视频| 欧美xxxx在线观看| 亚洲一区二区三区在线| 国产一区二区影院| 欧美二区三区的天堂| 亚洲欧美一区二区三区久本道91| 肉色丝袜一区二区| 99在线热播精品免费| 日韩精品一区在线观看| 一级特黄大欧美久久久| 粉嫩一区二区三区在线看| 91麻豆精品国产| 婷婷开心久久网| 欧美体内she精视频| 亚洲乱码日产精品bd| 不卡视频一二三四| 国产欧美综合在线观看第十页| 麻豆精品精品国产自在97香蕉| 欧美视频在线一区二区三区| 一区二区三区欧美视频| jlzzjlzz亚洲女人18| 久久精品一区二区三区av| 欧美国产日韩精品免费观看| 17c精品麻豆一区二区免费| 极品少妇xxxx精品少妇偷拍 | 国产欧美日韩另类视频免费观看| 青青草国产精品亚洲专区无| 色偷偷一区二区三区| 久久久噜噜噜久久人人看| 青青草国产精品亚洲专区无| 99久精品国产| 国产精品久久99| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩国产片| 一区二区免费在线| 欧洲一区在线电影| 一区二区三区免费| 欧美日韩在线观看一区二区 | 欧美在线一区二区三区| 久久久天堂av| 国产剧情一区二区| 精品久久免费看| 国产精品99精品久久免费| 欧美乱妇15p| 久久精品国产999大香线蕉| 99re热这里只有精品视频| 一区二区三区四区激情| 欧美日韩国产首页在线观看| 蜜桃视频在线观看一区| 久久精品亚洲精品国产欧美kt∨ | 午夜精品一区在线观看| 欧美日韩激情一区二区三区| 五月天激情综合| 欧美一区二区三区公司| 国产成人在线影院 | 4438成人网| 亚洲图片欧美色图| 精品国产1区二区| 97国产精品videossex| 亚洲一区二区av在线| 精品久久久久久亚洲综合网 | 欧美精选午夜久久久乱码6080| 青青草伊人久久| 亚洲人午夜精品天堂一二香蕉| 欧美一级理论片| 91久久精品国产91性色tv| 五月天婷婷综合| 亚洲人成影院在线观看| 9191久久久久久久久久久| 国产成人免费视频网站 | 国产午夜精品理论片a级大结局| 色综合网站在线| 国产一区二区三区精品视频 | 久久久美女毛片| 一本久久综合亚洲鲁鲁五月天| 国产麻豆精品在线| 天天综合色天天综合色h| 亚洲六月丁香色婷婷综合久久 | 欧美mv日韩mv国产| 欧美性猛交xxxx乱大交退制版 | 一区二区三区日韩欧美精品 | 欧美日韩成人在线一区| 国产精品一区二区无线| 香蕉成人伊视频在线观看| 日韩精品三区四区| 久久99精品国产.久久久久| 激情综合一区二区三区| 福利一区二区在线观看| 国产福利一区在线观看| 成人avav影音| 久久超碰97人人做人人爱| 韩国成人在线视频| 不卡一区二区在线| 欧美片在线播放| 久久综合九色综合97_久久久| 久久久国产精品麻豆| 中文字幕一区二区日韩精品绯色| 亚洲日本免费电影| 日日摸夜夜添夜夜添国产精品| 国产伦精品一区二区三区免费 | 亚洲18女电影在线观看| 久久97超碰国产精品超碰| www.日本不卡| 4438成人网| 亚洲日穴在线视频| 亚洲一区在线观看免费| 国产在线精品视频| 欧美影院一区二区| 日韩免费性生活视频播放| 日韩精品一区二区三区四区| 国产精品美女一区二区三区| 日韩制服丝袜先锋影音| 96av麻豆蜜桃一区二区| 欧美精品成人一区二区三区四区| 欧美精品一二三| 久久久久久久久久久黄色 | 亚洲高清一区二区三区| 日韩影院精彩在线| 99精品热视频| 精品国产凹凸成av人网站| 麻豆成人综合网| 欧美日韩国产免费一区二区| 天堂av在线一区| 91精品综合久久久久久| 精品一区二区免费视频| 正在播放亚洲一区| 国产成人免费网站| 久久久久久一二三区| www.日韩大片| 亚洲毛片av在线| 国产v日产∨综合v精品视频| 日韩一区二区电影网| 日韩不卡手机在线v区| 国产成人综合在线播放| 日韩精品中文字幕一区二区三区 | 亚洲综合区在线| 国模一区二区三区白浆| 精品久久久久香蕉网| 亚洲国产综合91精品麻豆| 成人毛片老司机大片| 亚洲美腿欧美偷拍| 欧美二区在线观看|