无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
PC強實時運動控制(一):C#的EtherCAT總線初始化(上)
深圳市正運動技術有限公司
收藏本文     查看收藏

今天,正運動小助手給大家分享一下強實時運動控制內核MotionRT750下PC上位機的EtherCAT總線初始化。

PC上位機EtherCAT總線的初始化方式主要分為兩種:純上位機初始化和下載BASIC腳本初始化。本文將詳細講解如何通過純上位機的方法來實現PC上位機EtherCAT總線初始化。

全國產強實時運動控制內核MotionRT750

MotionRT750是正運動技術首家自主自研的x86架構Windows系統或Linux系統下獨占確定CPU的強實時運動控制內核。

正運動實時控制內核MotionRT750.webp

該方案采用獨占確定CPU內核技術實現超強性能的強實時運動控制。它將核心的運動控制、機器人算法、數控(CNC)及機器視覺等強實時的任務,集中運行在1-2個專用CPU核上。與此同時,其余CPU核則專注于處理Windows/Linux相關的非實時任務。

此外集成MotionRT750 Runtime實時層與操作系統非實時層,并利用高速共享內存進行數據交互,顯著提升了運動控制與上層應用間的通信效率及函數執行速度,最終實現更穩定、更高效的智能裝備控制,確保了運動控制任務的絕對實時性與系統穩定性,特別適用于半導體、電子裝備等高速高精的應用場合。

強實時運動控制內核MotionRT750應用.webp

MotionRT750應用優勢:

1.跨平臺兼容性:支持Windows/Linux系統,適配不同等級CPU。

2.開發靈活性:提供多語言編程接口,便于二次開發與功能定制。

3.實時性提升:通過CPU內核獨占機制與高效LOCAL接口,實現2-3us指令交互周期,較傳統PCI/PCIe方案提速近20倍。

4.擴展能力強化:多卡多EtherCAT通道架構支持254軸運動控制及500usEtherCAT周期。

5.系統穩定性:32軸125us EtherCAT冗余架構消除單點故障風險,保障連續生產。

6.安全可靠性:不懼Windows系統崩潰影響,藍屏時仍可維持急停與安全停機功能有效,確保產線安全運行。

7.功能擴展性:實時內核支持C語言程序開發,方便功能拓展與實時代碼提升效率。

MotionRT750視頻介紹可點擊→正運動強實時運動控制內核MotionRT750

更多關于MotionRT750的詳情介紹與使用點擊→強實時運動控制內核MotionRT750(一):驅動安裝、內核配置與使用。

01 C#語言進行PC上位機的EtherCAT總線初始化項目開發

1.在VS2019菜單“文件”→“新建”→“項目”,啟動創建項目向導。

01.1.webp

2.選擇開發語言為“C#”和Windows窗體應用程序,點擊下一步。

01.3~1.webp

3.配置好項目名稱和位置,以及相應框架,點擊創建。

01.3.png

4.找到廠家提供的光盤資料里面的C#函數庫,路徑如下(64位庫為例)。

進入廠商提供的光盤資料,找到zauxdll.dll,zmotion.dll和Zmcaux.cs這三個庫文件。庫文件路徑:【00光盤資料】→【04PC函數】→【01PC函數庫V2.1】→【Windows平臺】→【C#】→【64位】→【庫文件】。

01.4~1.webp

5.使用純上位機總線初始化時需要找廠商提供ZMotionECAT.cs文件。

01.5.webp

6.將廠商提供的C#的庫文件以及相關文件復制到新建的項目中。

(1)將zmcaux.cs和ZMotionECAT.cs文件復制到新建的項目里面中。

01.6.webp

(2)將zauxdll.dll和zmotion.dll文件放入bin\debug文件夾中。

01.6.2.webp

(3)將Zmcaux.cs和ZMotionECAT.cs文件添加進項目中。右鍵項目名稱,選擇添加,再選擇現有項,選擇Zmcaux.cs和ZMotionECAT.cs文件。

01.6.3~1.webp

7.雙擊Form1.cs里面的Form1,出現代碼編輯界面,在文件開頭寫入using cszmcaux,并聲明控制器句柄g_handle。

01.7.webp

至此,項目新建完成,可進行C#項目開發。

02 相關PC函數介紹

PC函數手冊可在光盤資料獲取,具體路徑如下:“00光盤資料\03編程手冊\03ZMotion PC函數庫編程手冊”。

02.0.webp

1.上位機連接MotionRT750的接口。

02.1指令11.png

2.控制器回零模式。

02.2指令103.png

3.驅動器回零模式。

02.3指令104.png

03 PC純上位機總線初始流程

03流程圖.webp

總線初始化代碼:


04  C#總線初始化功能展示例程介紹

一、選擇連接方式為LOCAL連接,點擊【連接】。彈出連接成功提示框后,配置總線軸地址參數和本地脈沖軸地址參數后,點擊【總線初始化】,會在界面表格中顯示總線相關信息。

4.1.webp

1.若無法成功總線初始化,命令與輸出窗口會打印相關錯誤信息。如:Unknown device man XXX Slot return error:3205.

報錯信息如下圖,則需要先詢問對應驅動器廠家提供XML文件。

4.2.webp

解決方法:將驅動器廠家提供的XML文件,添加到RTSys項目的配置文件中。

(1)打開RTSys軟件,點擊【文件】,選擇【新建工程】。

4.3.webp

(2)選擇文件路徑,輸入文件名,然后點擊【保存】。

4.4~2.webp

(3)右鍵點擊【配置文件】,選擇【添加到配置文件】,選中要添加的XML文件后點擊【打開】。

4.5~1.webp

(4)點擊菜單欄中的【控制器】,接著點擊【生成ZAR文件】,隨后點擊【瀏覽】來選擇生成ZAR文件的路徑。

4.6.webp

(5)將生成的ZAR文件放在項目的ZAR文件夾中,隨后進行總線初始化。

4.7~1.webp

具體代碼如下:

// 獲取解決方案根目錄
string solutionDir = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, @"..\..\..\"));
string zarPath = Path.Combine(solutionDir, "ZAR");
// 獲取所有文件的完整路徑string[] fileNames = Directory.GetFiles(zarPath).Select(Path.GetFileName).ToArray();
foreach(string fileName in fileNames)
{
    //Init.zar為下載的ZAR文件名
    if (fileName == "Init.zar")
    {
        string path = Path.Combine(zarPath, "Init.zar");
        zmcaux.ZAux_ZarDown(g_handle, path, 0);
        AppendTextOut("ZAR文件下載成功!!!", Color.DarkGoldenrod);
    }
}

2.如需將對應總線節點的IO狀態信息或模擬量信息映射到控制器上對應起始地址查看,則修改對應節點IO或模擬量的起始地址,修改完成后,點擊【保存】,再點擊【總線初始化】。

4.8.webp

3.通過RTSys軟件查看IO或模擬量映射的地址成功與否。

成功連接控制器后,在菜單欄中找到【控制器】→【控制器狀態】→【槽位0節點】,可以看到所有節點對應的IO或模擬量起始地址。可以在總線初始化完成后觀看此界面確認IO或模擬量起始地址映射正常。

4.9.webp

相關代碼介紹:

(1)上位機如何鏈接上MotionRT750。

if (Controler_IP.Text != null && Controler_IP.Text != "")
{
    int ret = -1;
    switch (Connect_ModeIP.Text)
    {
        case "IP":
        //控制器IP地址連接
        ret = zmcaux.ZAux_FastOpen(2, Controler_IP.Text.Trim(), 5000, out g_handle);
        break;
        case "COM":
        //控制器COM串口號連接
        ret = zmcaux.ZAux_OpenCom(uint.Parse(Controler_IP.Text), out g_handle);
        break;
        case "LOCAL":
        //LOCAL接口連接RT750
        ret = zmcaux.ZAux_FastOpen(5, Controler_IP.Text.Trim(), 5000, out g_handle);
        break;
        case "PCI":
        //插入卡槽卡號連接PCI卡
        ret = zmcaux.ZAux_FastOpen(4, Controler_IP.Text.Trim(), 5000, out g_handle);
        break;
    }
    if (ret != 0)
    {
        MessageBox.Show("IP鏈接失敗,報錯碼: " + ret.ToString());
    }
    else
    {
        if (g_handle != (IntPtr)0)
        {
            //連接成功后停止所有軸
            ret = zmcaux.ZAux_Direct_Rapidstop(g_handle, 2);
            MessageBox.Show("鏈接成功!");
            this.Text = "已連接";
            timer1.Enabled = true;
        }
    }
}

(2)總線初始化結構體定義,自定義初始化所需的變量,例如LocalAxisId(本地軸起始ID)和LocalAxisNum(本地軸使用的軸數量)。

具體變量信息可以在解決方案中點擊ZMotionEcat.cs文件進行查看。

其中,DrivePdoMode用于設置每個軸的發送PDO和接收PDO的配置選擇。不同模式對應的PDO數據各不相同。

例如,若總線軸需切換至EtherCAT周期速度模式或EtherCAT周期力矩模式,則相應的PDO列表必須包含對應數據,如模式17和18支持三種總線模式。

具體列表數據請參考RTBasic手冊中的drive_profile說明。

if (textBox1.Text == "" || textBox3.Text == "")
{
    Console.WriteLine("總線參數不能為空");
    return;
}
//定義總線初始化的信息結構體個數,最多可以支持128個節點MyEcatInit.EcatInitInfoSet ecatInitInfo = new 
MyEcatInit.EcatInitInfoSet(int.Parse(textBox3.Text));
?ecatInitInfo.InitStructFlag = 0;                            //是否自定義初始化參數,設置1的話使用默認的總線初始化參數,設置成0則需要自定義總線初始化相關參數
if (ecatInitInfo.InitStructFlag != 1)
{
    // 1. 本地軸參數,用于指定本地軸的起始 ID 和使用的軸數量
    ecatInitInfo.LocalAxisId = int.Parse(textBox2.Text);    // 本地軸起始 ID
    ecatInitInfo.LocalAxisNum = int.Parse(textBox4.Text);   // 本地軸使用的軸數量
    // 2. 驅動軸相關參數,用于指定驅動軸的起始 ID 和數量
    ecatInitInfo.DriveAxisStart = int.Parse(textBox1.Text); // 驅動軸起始 ID,第 1 個驅動軸為 DriveAxisStart,第 2 個為 DriveAxisStart + 1 以此類推
    ecatInitInfo.DriveAxisNum = -1;                         // 驅動軸數量[默認 -1],-1 表示總線初始化的時候不判斷驅動的軸數量是否對上,若為 0 表示掃描到的軸數量,會檢查掃描到的軸數量是否一致
    ecatInitInfo.EcatNodeNum = int.Parse(textBox3.Text);    // 總線節點數目[默認 -1],-1 表示總線初始化的時候不判斷節點個數是否對上
    for (int i = 0; i < ecatInitInfo.EcatNodeNum; i++)
    {
        ecatInitInfo.DrivePdoMode[i] = 12;                  // PDO 模式數組,參考 RTBasic 手冊 drive_profile 說明,默認值為 12 表示需要配置相關 PDO
    }
    ecatInitInfo.DriveEnable = 1;                           // 總線初始化時是否自動使能,1 驅動器自動使能,0 不使能驅動器
    ecatInitInfo.DriveIoSpa = 16;                           // 一個驅動映射多少個 IO 端口數量    
    // 3.DC 同步時鐘和 DC 偏移補償,用于指定系統時鐘模式和 DC 偏移標志及時間
    ecatInitInfo.SysClockMode = 1;                          // 系統時鐘模式,1 開啟 DC 同步時鐘,0 關閉 DC 同步時鐘
    for (int i = 0; i < ecatInitInfo.EcatNodeNum; i++)
    {
        ecatInitInfo.DcOffsetFlag[i] = 0;                   // N 個節點對應的是否需要進行 DC 偏移補償,0 關閉 DC 偏移,1 開啟 DC 偏移,以節點 ID 形式
        ecatInitInfo.DcOffsetTime[i] = 0;                   // N 個節點對應的 DC 偏移時間,單位為微秒,0.5 表示 0.5 微秒,以節點 ID 形式
    }
}

二、點擊【軸參數初始化】進入軸控制界面,開始總線軸的手動調試運動。

1.軸的使能控制。首先將軸類型切換到總線軸,再觀察軸使能狀態指示燈的顏色,可以準確判斷軸的使能情況:綠色代表已使能,紅色則表示未使能。點擊圖案即可切換軸的使能狀態。

10.webp

2.配置好軸參數、軸號及相關參數后,通過左轉右轉手動調試軸運動。

建議將【脈沖當量】設置為機臺運動1mm所需的脈沖數若按此推薦設置,【速度】的單位為mm/s,【加速度】和【減速度】的單位則為mm/s²。

通常,【加速度】和【減速度】設置為速度的10倍。

3.若在調試過程中不確定機臺運動1mm所需的脈沖數,可將【脈沖當量】設為1。

為安全起見,【速度】可先設為10,此時左右整體速度為1*10=10個脈沖每秒,【加速度】和【減速度】均設為1000。隨后手動運動軸,觀察軸是否運動及【反饋位置】是否有變化。

若手動運動時【反饋位置】數據變化但實際軸未動,可逐步將【脈沖當量】以10倍遞增,每次調整后反復手動運動,檢查軸是否運動。

【反饋位置】由編碼器反饋,若其數據變化,軸必定在運動;若肉眼難以察覺,可能是機臺運動較慢。

11.webp

手動運動和寸動代碼如下:

//參數同步
zmcaux.ZAux_Direct_SetAtype(g_handle, axis[select_axis], int.Parse(atype_s[select_axis]));           //設置軸類型
zmcaux.ZAux_Direct_SetUnits(g_handle, axis[select_axis], units[select_axis]);                        //設置脈沖當量
zmcaux.ZAux_Direct_SetAccel(g_handle, axis[select_axis], accel[select_axis]);                        //設置加速度
zmcaux.ZAux_Direct_SetDecel(g_handle, axis[select_axis], decel[select_axis]);                        //設置減速度
zmcaux.ZAux_Direct_SetSpeed(g_handle, axis[select_axis], speed[select_axis]);                        //設置運行速度
zmcaux.ZAux_Direct_SetFsLimit(g_handle, axis[select_axis], Fslimit[select_axis]);                    //設置正向軟限位
zmcaux.ZAux_Direct_SetRsLimit(g_handle, axis[select_axis],Rslimit[select_axis]);                     //設置負向軟限位
zmcaux.ZAux_Direct_SetFastDec(g_handle, axis[select_axis], speed[select_axis]* accel[select_axis]);  //設置快減減速度,達到限位或異常停止時自動采用
Thread.Sleep(1);
if (param < 5)//左轉
{
    zmcaux.ZAux_Direct_Single_MoveAbs(g_handle, axis[select_axis], Rslimit[select_axis]);
}
else if (5 <= param && param  9)//運動
{
    if (mode[select_axis])//絕對運動
    {
        zmcaux.ZAux_Direct_Single_MoveAbs(g_handle, axis[select_axis], move_dpos[select_axis]);
    }
    else //相對運動
    {
        zmcaux.ZAux_Direct_Single_Move(g_handle, axis[select_axis], move_dpos[select_axis]);
    }
}

三、在確保手動運動正常且方向無誤的前提下,我們可以繼續測試軸的回零功能。

若未勾選【啟用控制器回零方式】,則默認采用總線驅動器回零(精度更高,推薦使用,驅動器回零參考驅動器手冊)。

此時,需參照總線驅動器手冊中對回零模式的說明,并將原點傳感器連接至驅動器的原點輸入口。若勾選【啟用控制器回零方式】,則使用控制器回零,具體回零方式可參考下拉框中的介紹。

在實際項目中,仍建議優先選擇總線驅動器回零。回零測試步驟如下:

1.選擇回零軸號,配置軸的正限位信號、負限位信號及原點信號后,點擊【配置軸IO】。若軸狀態顯示“30h”,則勾選【反轉】,并再次點擊【配置軸IO】。

2.配置速度、爬行速度及回零模式后,點擊【啟動回零】。若出現方向錯誤或速度過快的情況,請立即點擊【緊急停止】,并重新進行調試。

12.webp

3.若軸狀態顯示“8h”,則表示驅動器出現報錯。以下是遇到驅動器報警后的處理方法。

13.webp

(1)檢查驅動器上的LED面板是否顯示報錯信息,報錯時將呈現相應的錯誤碼。

14.webp

常見的錯誤,如驅動器過載和轉矩飽和異常等,均可通過【清除報警】按鈕清除。

15.webp

具體代碼如下:

int position = 3;                                                               // 獲取第3位
int value = 0;
zmcaux.ZAux_BusCmd_DriveClear(g_handle, (uint)param, 0);                        //清除總線伺服軸報警
Thread.Sleep(5000);                                                             //等待報警清除
zmcaux.ZAux_BusCmd_SDOReadAxis(g_handle, (uint)param, 0x6041, 0, 6, ref value); //讀取驅動器狀態字對應數據字典6041
if (((value >> position) & 1) == 0)
{
    zmcaux.ZAux_Direct_Single_Datum(g_handle, param, 0);                        //清除控制器報警
    Thread.Sleep(100);
    zmcaux.ZAux_Direct_SetAxisEnable(g_handle, param, 1);                       //重新上使能
    MessageBox.Show("報警清除成功!!!");
}
else{MessageBox.Show("報警清除失敗,重新清除或查找報錯原因!!!");}

(2)如果通過代碼無法清除報警,絕大多數驅動器報警問題可以通過斷電并重啟驅動器來解決。若斷電重啟后報警依然存在,則需參照驅動器手冊進行錯誤排查,并可咨詢驅動器技術人員以獲取解決方案。

教學視頻請點擊→PC強實時運動控制(一):C#的EtherCAT總線初始化(上)

完整代碼獲取地址

微信圖片_2025-12-18_110602_621.jpg

本次,正運動技術PC強實時運動控制(一):C#的EtherCAT總線初始化(上),就分享到這里。

更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。

二維碼.webp

正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。


 

狀 態: 在線

公司簡介
產品目錄

公司名稱: 深圳市正運動技術有限公司
聯 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關技術文摘:
全國產EtherCAT運動控制邊緣控制器(二):統一的上位機API接口
全國產EtherCAT運動控制邊緣控制器(一):ZMC432H硬件接口
經濟型EtherCAT運動控制器(四):ModbusRTU或ModbusTcp與觸摸屏通訊
推薦 | 8通道PSO的高性能EtherCAT總線運動控制器
正運動技術運動控制器如何快速實現單軸/多軸同步跟隨功能?
VPLC系列機器視覺運動控制一體機快速入門(八)測量點/線/圓
VPLC系列機器視覺運動控制一體機快速入門(五)尺寸測量
經濟型EtherCAT運動控制器(三):PLC實現多軸直線插補與電子凸輪
經濟型EtherCAT運動控制器(二):ZBasic實現多軸直線插補運動
經濟型EtherCAT運動控制器(一):功能簡介與應用場景
VPLC系列機器視覺運動控制一體機快速入門(九)劃痕檢測
VPLC系列機器視覺運動控制一體機快速入門(六)標定功能
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
97精品一区二区| 亚洲大片在线| 久久精品 人人爱| 欧美日韩一区二区三区视频播放| 视频一区国产视频| аⅴ资源天堂资源库在线| 美女网站久久| 99精品在线观看| 国产精久久久| 综合国产在线| 蜜臀久久99精品久久一区二区| 黄色亚洲大片免费在线观看| 精品国产亚洲一区二区在线观看| 美女毛片一区二区三区四区| 美女国产精品久久久| 国产精品普通话对白| 中文字幕在线高清| 国产精品115| 人人爱人人干婷婷丁香亚洲| 亚洲欧美高清| 91精品99| 狠狠久久婷婷| 亚洲深爱激情| 国产在线日韩| 在线精品小视频| 国产综合精品一区| 亚洲精品在线影院| 成人小电影网站| av日韩中文| 成人日韩在线| 亚洲成av人片一区二区密柚| 中文字幕在线免费观看视频| 欧美黄色网页| 日韩一区二区在线免费| 国产欧美在线观看免费| 日本va欧美va欧美va精品| 亚洲青青久久| 天堂俺去俺来也www久久婷婷| 日韩亚洲在线| 亚洲一区二区小说| 国产精品主播在线观看| 国产精品毛片aⅴ一区二区三区| 国产欧美日韩免费观看| 精品日韩在线| 精品免费av在线| 国产精品88久久久久久| 午夜亚洲一区| 日韩免费精品| 国产高清视频一区二区| 日韩精品电影| 欧美日韩国产高清电影| 综合欧美亚洲| 国产精品久久久久久模特| 国产精品一国产精品k频道56| 美女视频黄 久久| 亚洲不卡系列| 亚洲精品一区二区妖精| 亚洲日产国产精品| 国产精品白丝一区二区三区| 日韩综合在线| 亚洲一区国产一区| 国产精品一区高清| 久久精品欧美一区| 免费在线观看精品| 日韩在线高清| 日韩av中文字幕一区| 亚洲成人不卡| 日韩精品成人在线观看| 久久永久免费| 蜜桃久久久久久| 色婷婷久久久| 青青草国产成人99久久| 欧美日韩精品免费观看视完整| 爽好久久久欧美精品| 国产欧美综合一区二区三区| 99久久久久久中文字幕一区| 国产日韩一区二区三区在线| 一区二区三区视频免费观看| 欧美91在线| 免费看精品久久片| 精品日韩视频| 国产精品1区在线| 免费日韩av片| 视频福利一区| 欧美国产不卡| 婷婷综合一区| 99久久99视频只有精品| 欧美激情五月| 日本91福利区| 免费在线观看不卡| 亚洲欧美一区在线| 亚洲成人不卡| 福利一区二区| 国产精品115| 日本aⅴ精品一区二区三区| 尤物在线精品| 色偷偷偷在线视频播放| 国产毛片精品久久| 日本综合视频| 亚洲欧美视频一区二区三区| 国产精品亚洲一区二区三区在线观看| 男人天堂欧美日韩| 激情婷婷欧美| 久久久9色精品国产一区二区三区| 麻豆国产91在线播放| 一区二区国产在线观看| 夜久久久久久| 免费av一区| 999精品在线| 日韩精品水蜜桃| 日本高清不卡一区二区三区视频| 欧美日韩伊人| 日韩精品视频网| 最新国产精品视频| 人人精品人人爱| 黄色日韩在线| 九九在线精品| 9国产精品视频| 日韩精品一二区| 一区二区三区四区日韩| 日韩精品一二三| 中文字幕日本一区二区| 日韩久久一区| 国产精品网站在线看| 国产福利亚洲| 美女一区网站| 黄色av日韩| 婷婷综合电影| 91九色综合| 久久99精品久久久久久园产越南| 美女精品视频在线| 美女国产一区二区三区| 日韩不卡一区| 欧美日韩一区二区综合 | 久久久久久婷| 黄毛片在线观看| 亚洲特级毛片| 中文视频一区| 久久精品国产在热久久| 日本精品不卡| 中文一区在线| 欧美国产精品| 国产一区久久| 97se亚洲| 久久久成人网| 久久不射中文字幕| 91亚洲无吗| 一本大道色婷婷在线| 欧美日韩国产在线观看网站| 色8久久久久| 亚洲人成在线网站| 日韩一区二区三区高清在线观看| 欧美国产极品| 亚洲女人av| av免费不卡国产观看| 亚洲午夜免费| 日本精品不卡| 日本在线不卡视频| 日韩成人亚洲| 国产精品一页| 久久亚洲国产| 久久不卡日韩美女| 好吊日精品视频| 欧美综合社区国产| 精品一区在线| 国产一区二区三区久久| 久久电影一区| 日韩天堂在线| 精品亚洲自拍| 日韩一二三区在线观看| 999国产精品| 精品视频久久| 日韩国产在线观看| 欧美午夜不卡影院在线观看完整版免费| 日韩激情综合| 999国产精品999久久久久久| 国产精品一在线观看| 中文在线一区| 正在播放日韩精品| 国产精品伊人| 18国产精品| 亚洲综合五月| 在线亚洲精品| 欧美1级日本1级| 国产精品毛片久久| 欧美国产专区| 国产精品一区高清| 日韩激情中文字幕| 亚洲视频电影在线| 亚洲欧美日韩一区在线观看| 成人三级高清视频在线看| 国产精品18| 欧美国产先锋| 国产精品探花在线观看| 热久久久久久| 日韩高清二区| 日韩欧美美女在线观看| 日韩精品亚洲aⅴ在线影院| 亚洲精品欧洲| 日韩精品五月天|