色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

開放式激光振鏡運動控制器:C++快速開發(fā)

正運動技術 ? 來源:正運動技術 ? 作者:正運動技術 ? 2022-10-19 09:04 ? 次閱讀

今天,正運動技術為大家分享一下應用ZMC408SCAN開放式激光振鏡運動控制器C++開發(fā),實現(xiàn)激光振鏡打標 ,可在文章末尾掃碼獲取例程源碼。

除了C++還支持使用其他上位機軟件來開發(fā),上位機程序運行時需要動態(tài)庫“zmotion.dll”,上位機開發(fā)調(diào)試時可以把ZDevelop軟件同時連接到控制器輔助調(diào)試。


01 ZMC408SCAN控制器介紹

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光振鏡運動控制器,專為工業(yè)激光+振鏡+運動控制方面的應用而設計。通過EtherCAT總線和脈沖軸接口能實現(xiàn)多軸聯(lián)動運動控制。

ZMC408SCAN支持ETHERNET、EtherCAT、USB、CAN、RS485RS232等通訊接口,通過CAN、EtherCAT總線可以連接各個擴展模塊,從而擴展數(shù)字量、模擬量或運動軸。

poYBAGNOh2iAeAwQAAJpd9hSaJ0707.png

(1)ZMC408SCAN內(nèi)置高精度PSO位置同步輸出功能,在加工圓角、曲線部分時即使進行了減速調(diào)整,在高速加工的場合,也能控制激光輸出的間距保持恒定;

(2)支持激光振鏡控制和振鏡反饋,包含2個振鏡接口,支持2D振鏡和3D振鏡,配合不帶加減速的運動指令MOVESCAN,拐角處振鏡加工自動延時,完成精準高效的激光控制,提高激光加工設備的產(chǎn)能;

(3)通過指令在運動中靈活的調(diào)節(jié)激光開光/關光延時,響應快,精確到us級別的控制,且設置過程簡單,大大縮短了工程師的調(diào)參時間;

(4)自帶LASER激光器控制接口,支持IPG、YLR、YLS等類型激光電源,還帶一個EXIO擴展IO接口,通過定制轉(zhuǎn)接板,靈活控制市場上主流的各種激光器;

(5)支持PC同時控制16個ZMC408SCAN控制器同時工作,形成一種振鏡陣列的激光加工;

(6)板載4路高速差分脈沖輸出,并帶4路高速差分編碼器反饋,支持EtherCAT總線驅(qū)動器的控制,支持5軸XYZAC軸的插補,支持振鏡軸與運動軸混合插補。

(7)支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等多種運動控制功能。

02 系統(tǒng)架構

下圖為ZMC408SCAN開放式激光 控制器的參考架構,支持多種不同類型的激光器控制。

poYBAGNOh8GAL6DdAANF5e9R_88514.png

03 上位機和控制器通訊

上位機和控制器通訊調(diào)用正運動封裝好的函數(shù)庫,提供運動控制和激光控制等眾多函數(shù)庫接口,激光振鏡的系統(tǒng)架構參見下圖。

poYBAGNOh_-ASXUaAAEnlGcw86E325.png

本例采用EtherNET網(wǎng)口連接控制器,通過函數(shù)ZAux_OpenEth()建立通訊連接,用戶可在設置好的界面中選擇當前網(wǎng)段下的控制器IP完成連接,控制器出廠IP地址192.168.0.11,參見下圖。

poYBAGNOiBSAXijHAABMk0yZhgw686.png

04 激光控制


一、指令介紹

下面是我們程序中用到的接口函數(shù),主要包含激光控制和激光振鏡控制兩部分,程序的實現(xiàn)可直接使用封裝好的接口函數(shù)發(fā)送命令給控制器 。

本例采用FIBER激光器和2D激光振鏡,用到下面的函數(shù)接口:

ZAux_Direct_MoveScanAbs:振鏡軸多軸絕對直線插補SCAN運動,不帶加減速過程,我們這里用來控制振鏡軸運動,通過小線段的形式擬合圓形軌跡;

ZAux_Direct_MoveOpDelay:緩沖輸出延時,提前開光時將延時時間設置為負數(shù);

ZAux_Direct_MoveDelay:緩沖輸出延時,我們這里用來延時關光。

激光功率設置:提供模擬量ZAux_Direct_SetDA、PWM的占空比ZAux_Direct_SetPwmDuty和頻率ZAux_Direct_SetPwmFreq等方式控制設置振鏡軸拐角處自動延時:

ZAux_Direct_SetCornerMode

1.振鏡軸直線插補

ZAux_Direct_MoveScanAbs絕對運動,ZAux_Direct_MoveScan相對運動。

pYYBAGNOiGWAUCaEAABI5w9R7Gs860.png

2.設置開關光

輸出狀態(tài)為0關光,輸出狀態(tài)為1開光。

poYBAGNOiI2AAD6JAABLCwf5q7I209.png

3. 開關光延時

poYBAGNOiJaALrDkAABDoi8L2dM677.png

4. 提前/延時開關光

正數(shù)時間延時,負數(shù)時間提前開關光。

poYBAGNOiKWAciZMAABRmIgEQcE646.png

5. 設置激光能量(功率)

通過改變模擬量輸出的電壓值來控制激光能量大小。

poYBAGNOiK6AVQXtAAA5T9J0bs4866.png

6. PWM占空比

通過設置 PWM 的占空比來調(diào)整激光頻率,在開始打軌跡之前一定要先設置好。

pYYBAGNOiLeAGZg5AABXCTy6Xdk057.png

7. PWM頻率

pYYBAGNOiMGASP3zAAA-kGZS5ZQ763.png

8. 振鏡軸拐角延時

poYBAGNOiMqAdGZAAABw5ilQYp4861.png

9. 拐角延時起始角度

poYBAGNOiNKAO8ycAAEYYsfnA_I821.png

10. 拐角延時結(jié)束角度

pYYBAGNOiNuAEDiSAAEVC1_jrD0949.png

二、程序流程

先建立控制器通訊,獲取連接句柄,激光器選擇及參數(shù)設置,然后編輯紅光與激光口控制開關,運動參數(shù)設置,軌跡參數(shù)進行小線段處理,開始運動,停止運動。

poYBAGNOiQmABGnJAABfVpC4ci8835.pngpYYBAGNOiRGAJsCtAADNZGfB-2M457.png

三、主要程序展示

初始化定義相關變量,初始化軸參數(shù),配置好 FIBER 轉(zhuǎn)接板的方向為輸出,后續(xù)的激光軌跡加工控制由按鈕觸發(fā)。

在運動之前我們要設置好空移速度、打標速度、開關光延時、軌跡圓半徑、標刻行列數(shù)、圓心距等參數(shù)。運動開始直接調(diào)用這些相關參數(shù)執(zhí)行,獲取完軌跡后調(diào)用3次文件執(zhí)行。

1.初始化408FIBER轉(zhuǎn)換板針腳定義,不同激光器類型定義一套不同的輸出口,輸出口可以在選擇激光器類型后對應在界面上進行修改。

408 FIBER轉(zhuǎn)換板參數(shù)初始化程序:

void CZmc_fontToMoveDlg::OnCbnSelchangeComboLaser()
{
   // TODO: 在此添加控件通知處理程序代碼
   UpdateData(TRUE);
   if(m_nLaserType == FIBER_408)  //408 FIBER轉(zhuǎn)換板參數(shù)設置
   {
       char  cmdbuffAck[2048] = "";
       int iresult = ZAux_Execute(m_Handle,"EXIO_DIR(0, $8FFFF)",cmdbuffAck,2048);
       m_nEnableIO = 47;  //使能io
       m_nLaserIO = 8;    //出關io
       m_nRedIO = 48;     //紅光io
       m_nAout = 3;       //功率io
       m_nPwmIo = 9;      //頻率io
   }
   else if(m_nLaserType == YLR_408)
   {
       m_nEnableIO = 31;  //使能io
       m_nLaserIO = 8;    //出關io
       m_nRedIO = 32;     //紅光io
       m_nAout = 2;       //功率io
       m_nPwmIo = 9;      //頻率io
   }
   else if(m_nLaserType == YAG_408)  //408 YAG轉(zhuǎn)換板參數(shù)設置
   {
       char  cmdbuffAck[2048] = "";
       int iresult = ZAux_Execute(m_Handle,"EXIO_DIR(0, $AFBBF)",cmdbuffAck,2048);
       m_nEnableIO = 47;   //使能io
       m_nLaserIO = 8;     //出關io
       m_nRedIO = 48;      //紅光io
       m_nAout = 3;        //功率io
       m_nPwmIo = 9;      //頻率io
   }
   else if(m_nLaserType == FIBER_504)    //504
   {
       m_nEnableIO = 5;    //使能io
       m_nLaserIO = 6;     //出關io
       m_nRedIO = 28;     //紅光io
       m_nAout = 2;      //功率io
       m_nPwmIo = 7;     //頻率io
   }
   UpdateData(FALSE);
}

2.設置拐角延時與激光功率,再調(diào)用運動執(zhí)行,程序如下。

void CZmc_fontToMoveDlg::OnBnClickedBtnMove()
{
   // TODO: 在此添加控件通知處理程序代碼
   UpdateData(TRUE);
   //設置拐角減速此ZSMOOTH為拐角延時
   int iresult = ZAux_Direct_SetCornerMode(m_Handle,SCAN_AxisX,2);  
   //設置精準輸出
   iresult = ZAux_Direct_SetParam(m_Handle,"AXIS_ZSET",SCAN_AxisX,3);      
   //設置拐角延時
   iresult = ZAux_Direct_SetZsmooth(m_Handle,SCAN_AxisX,m_nCorDelay);      
   //設置拐角起始角度,減速時間在DecelAngle-StopAngle線性變化
   iresult = ZAux_Direct_SetDecelAngle(m_Handle,SCAN_AxisX,0);            //設置拐角結(jié)束角度
   iresult = ZAux_Direct_SetStopAngle(m_Handle,SCAN_AxisX,90/180*3.1415926);  
    //設置激光功率
   iresult = ZAux_Direct_SetDA(m_Handle,m_nAout,m_nAoutVal);          
   //設置激光頻率
   iresult = ZAux_Direct_SetPwmDuty(m_Handle,m_nPwmIo,0.5);        
   iresult = ZAux_Direct_SetPwmFreq(m_Handle,m_nPwmIo,m_nPwmFreq);    
   //獲取軌跡數(shù)據(jù),(0,0)為圓外接起點,5*5間距畫半徑為5的小圓
   Cal_WorkData(m_fStartX, m_fStartY, m_nStepDis, m_nColNum, m_nRowNum, m_fRadius);     
   Run_3FileMode();
}

3.圓弧轉(zhuǎn)小線段是將我們的設置的圓弧軌跡轉(zhuǎn)換為小線段存起來,然后轉(zhuǎn)換后由3次文件的形式加載執(zhí)行。

圓弧轉(zhuǎn)小線段程序如下:

void CZmc_fontToMoveDlg::Cal_WorkData(float fStartX, float fStartY, float iStepDis, int iColNum, int iRowNum, float fRadius)
{
   //圓弧轉(zhuǎn)小線段
   int ilen = -1;
   double ArcX;
   double ArcY;
   //獲取單個整圓轉(zhuǎn)換長度
   int iret = ZMotionOptimize_TransArcSeges(m_Handle,fStartX - fRadius, fStartY,  fStartX + fRadius, fStartY + 2 * fRadius, 0, -2 * PI, m_refDistance, &ArcX, &ArcY, &ilen);
   if (iret != 0 || ilen < 0)
   {
       CString StrErr;
       StrErr.Format("圓弧轉(zhuǎn)小線段失敗錯誤碼:%d",iret);
       MessageBox(StrErr);
       return;
   }
   double *ArcToLineX;
   double *ArcToLineY;
   ArcToLineX = (double*)malloc(sizeof(double)*ilen);
   ArcToLineY = (double*)malloc(sizeof(double)*ilen);
   //獲取數(shù)據(jù)
   iret = ZMotionOptimize_TransArcSeges(m_Handle, fStartX - fRadius, fStartY, fStartX + fRadius, fStartY + 2 * fRadius, 0, -2 * PI, m_refDistance, ArcToLineX, ArcToLineY, &ilen);
   //軌跡總長度
   m_GraphTotalLen = ilen * iColNum * iRowNum;
   m_GraphData  = (struct_GraphPos*)malloc(sizeof(struct_GraphPos)*m_GraphTotalLen);    //申請分配內(nèi)存
   //填寫數(shù)據(jù)
   int iAcr = 0;
   for (int icol = 0; icol < iColNum ; icol++)
   {
       for(int irow = 0 ;irow

4.這里程序完成空移,然后移動完成之前,如果下一條運動指令執(zhí)行的是軌跡運動,那么提前將激光打開。

//空移到打標點起始點
void CZmc_fontToMoveDlg::Zscan_Z3pFile_StartString(struct_GraphPos *iGraphData)
{
   char  cmdbuff[2048] = "";      
   char  tempbuff[2048] = "";
   //生成命令
   sprintf(tempbuff, "BASE(%d,%d)n",SCAN_AxisX,SCAN_AxisY);    //設置打標軸
   strcat(cmdbuff, tempbuff);
   //空移到起點
   sprintf(tempbuff, "FORCE_SPEED = %fn",m_dEmpSpeed);    //設置空移速度
   strcat(cmdbuff, tempbuff);
   sprintf(tempbuff, "MOVESCANABS(%f,%f)n",(*iGraphData).fposx,(*iGraphData).fposy);    //移動
   strcat(cmdbuff, tempbuff);
   //設置提前開光
   if (m_nStartDelay < 0)      //提前出光
   {
       sprintf(tempbuff, "MOVEOP_DELAY = %fn",m_nStartDelay/1000);
       strcat(cmdbuff, tempbuff);
   }
   else
   {
       sprintf(tempbuff, "MOVE_DELAY(%f)n",m_nStartDelay/1000);
       strcat(cmdbuff, tempbuff);
   }
   //開光
   sprintf(tempbuff, "MOVE_OP(%d,1)nMOVE_DELAY(10)nMOVE_OP(%d,1)n",m_nEnableIO,m_nLaserIO);  
   strcat(cmdbuff, tempbuff);
   //判斷命令長度是否發(fā)送
   strcat(g_MoveStr,cmdbuff);
   Zscan_Z3pFile_Down();
}
//生成打標直線段字符串
void CZmc_fontToMoveDlg::Zscan_Z3pFile_LineString(struct_GraphPos *iGraphData)
{
   char  cmdbuff[2048] = "";      
   char  tempbuff[2048] = "";
   //生成命令
   //空移到起點
   sprintf(tempbuff, "FORCE_SPEED = %fn",m_dSpeed);    //設置打標速度
   strcat(cmdbuff, tempbuff);
   sprintf(tempbuff, "MOVESCANABS(%f,%f)n",(*iGraphData).fposx,(*iGraphData).fposy);    //移動
   strcat(cmdbuff, tempbuff);
   //判斷命令長度是否發(fā)送
   strcat(g_MoveStr,cmdbuff);
   Zscan_Z3pFile_Down();
}

5.延時關光是在打標軌跡完成后,將激光延時關閉。

延時關光程序如下:

void CZmc_fontToMoveDlg::Zscan_Z3pFile_EndString(struct_GraphPos *iGraphData)
{
   char  cmdbuff[2048] = "";      
   char  tempbuff[2048] = "";
   //生成命令
   sprintf(tempbuff, "FORCE_SPEED = %fn",m_dEmpSpeed);    //設置空移速度
   strcat(cmdbuff, tempbuff);
   sprintf(tempbuff, "MOVESCANABS(%f,%f)n",(*iGraphData).fposx,(*iGraphData).fposy);    //移動
   strcat(cmdbuff, tempbuff);
   //延時關光
   if(m_nLastDelay >0)
   {
       //延時關光
       sprintf(tempbuff, "MOVEOP_DELAY = 0nMOVE_DELAY(%f)n",m_nLastDelay/1000);
       strcat(cmdbuff, tempbuff);
   }
   else
   {
       sprintf(tempbuff, "MOVEOP_DELAY = %fn",m_nLastDelay/1000);
       strcat(cmdbuff, tempbuff);
   }
   //關光
   sprintf(tempbuff, "MOVE_OP(%d,OFF)n",m_nLaserIO);  
   strcat(cmdbuff, tempbuff);
   //判斷命令長度是否發(fā)送
   strcat(g_MoveStr,cmdbuff);
   Zscan_Z3pFile_Down();
}

四、最終效果

首先點擊下拉框選擇控制器IP,點擊連接,依次設置好激光器參數(shù)、運動參數(shù),設置好后輸入打軌跡的參數(shù),點擊運動開始打圓形軌跡,點擊停止結(jié)束。

poYBAGNOjXyALsXEAADQwKGVhcc429.png

通過 Z develop 軟件的示波器采樣運動結(jié)果:先從其他位置空移到起始位置,然后提前 1ms 開光,走完一個圓形軌跡,關閉激光(延時關光),再空移到下一個圓形軌跡的起點,開光(提前 1ms 開光) , 又走完一個軌跡后,關光(延時 5ms 關光),如此循環(huán)執(zhí)行,直到設置的行列數(shù)打完停止(打軌跡中也能點擊停止)。

pYYBAGNOjYSAT77HAAC7Aq0C_pI435.png

XY模式下的軌跡,軌跡包括了圓形打標軌跡和空走軌跡:

poYBAGNOjYqACUSkAACZNSCV1zg940.png

本次,正運動技術開放式激光振鏡運動控制器:C++快速開發(fā),就分享到這里。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    113

    文章

    16759

    瀏覽量

    181747
  • C++
    C++
    +關注

    關注

    22

    文章

    2116

    瀏覽量

    74445
  • EtherCAT總線
    +關注

    關注

    5

    文章

    76

    瀏覽量

    5577
收藏 0人收藏
  • 正运动技术1

評論

相關推薦

ZMC408SCAN控制光纖激光器加工

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光運動
的頭像 發(fā)表于 09-14 14:16 ?1888次閱讀
ZMC408SCAN<b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>控制</b>光纖<b class='flag-5'>激光器</b>加工

開放式激光運動控制器在Ubuntu+Qt下自定義圖形標刻

開放式激光運動控制器在Ubuntu+Qt下自定義圖形標刻
的頭像 發(fā)表于 10-08 10:45 ?845次閱讀
<b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b>在Ubuntu+Qt下自定義圖形標刻

激光運動控制系統(tǒng)開發(fā)

激光 運動控制 技術是將
發(fā)表于 07-06 18:13 ?368次下載
<b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制系統(tǒng)開發(fā)</b>

開放式激光+運動控制器(五):ZMC408SCAN控制器

軸設置等;采用優(yōu)化的網(wǎng)絡通訊協(xié)議可以實現(xiàn)實時的運動控制。ZMC408SCAN總線控制器支持脈沖軸/總線軸/軸混合插補。
發(fā)表于 03-03 14:45 ?2244次閱讀
<b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b>+<b class='flag-5'>運動</b><b class='flag-5'>控制器</b>(五):ZMC408SCAN<b class='flag-5'>控制器</b>

激光運動控制器(一):ZMC408SCAN接口與功能

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光運動
的頭像 發(fā)表于 08-01 15:03 ?3359次閱讀
<b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b>(一):ZMC408SCAN接口與功能

應用ZMC408SCAN開放式激光運動控制器C++開發(fā)

今天,正運動技術為大家分享一下應用ZMC408SCAN開放式激光運動
的頭像 發(fā)表于 10-24 11:26 ?1926次閱讀

ZMC408SCAN控制光纖激光器加工的方法

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光運動
的頭像 發(fā)表于 10-26 17:32 ?2343次閱讀

開放式激光運動控制器C++矯正方法與實現(xiàn)

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光運動
的頭像 發(fā)表于 10-27 09:02 ?2239次閱讀
<b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b>:<b class='flag-5'>C++</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b>矯正方法與實現(xiàn)

開放式激光運動控制器ZMC408SCAN進行矯正的方法與實現(xiàn)

ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光運動
的頭像 發(fā)表于 10-31 17:56 ?2097次閱讀

運動激光運動控制器ZMC408SCAN用戶手冊

ZMC408SCAN 激光運動控制器是正運動技術推出的高性能總線雙
發(fā)表于 04-11 14:22 ?3次下載

運動控制器激光控制

激光運動控制系統(tǒng)中不但有運動控制,還有
的頭像 發(fā)表于 09-26 11:44 ?2279次閱讀
<b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>控制</b>

開放式激光運動控制器激光清洗應用

開放式激光運動控制器激光清洗解決方案。
的頭像 發(fā)表于 07-18 09:44 ?532次閱讀
<b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b>的<b class='flag-5'>激光</b>清洗應用

開放式激光運動控制器在Ubuntu+Qt下CAD圖形標刻

開放式激光運動控制器再Ubuntu+Qt下CAD圖形標刻
的頭像 發(fā)表于 09-18 15:12 ?503次閱讀
<b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b>在Ubuntu+Qt下CAD圖形標刻

喜訊!正運動榮獲激光星銳獎“最佳激光設備配套產(chǎn)品技術創(chuàng)新獎”

運動控制控制激光控制一站
的頭像 發(fā)表于 11-29 14:24 ?379次閱讀
喜訊!正<b class='flag-5'>運動</b>榮獲<b class='flag-5'>激光</b>星銳獎“最佳<b class='flag-5'>激光</b>設備配套產(chǎn)品技術創(chuàng)新獎”

電子發(fā)燒友

中國電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品
主站蜘蛛池模板: 国产成人在线播放视频 | 少妇伦子伦精品无码 | 国产 精品 亚洲 欧美 高清 | 亚洲视频无码高清在线 | 在线视频免费观看 | 亚洲精品久久久无码 | 涩涩999| videossexo乌克兰| 久久综久久美利坚合众国 | 青柠在线电影高清免费观看 | 国精产品一区二区三区有限公司 | 亚洲欧美日本久久综合网站 | np高h肉辣一女多男 no视频在线观看 | 欧美人妖12p | 动漫美女被到爽了流 | 扒开屁股眼往里面夹东西 | 国产欧美无码亚洲毛片 | 内射气质御姐视频在线播放 | 国产剧情福利AV一区二区 | 青草精品国产福利在线视频 | 美女强奷到抽搐在线播放 | 收集最新中文国产中文字幕 | 一攻多受h嗯啊巨肉bl巨污 | 久久频这里精品99香蕉久网址 | 韩国黄电影 | 国产在线精品视亚洲不卡 | 久久精品国产久精国产果冻传媒 | 亚洲欧美一区二区三区蜜芽 | 久久国产精品久久国产精品 | 99视频精品全部 国产 | 河南老太XXXXXHD | 九九99热久久精品在线6 | 午夜福利视频极品国产83 | 国产成人免费a在线资源 | 97国内精品久久久久久久影视 | 男女性杂交内射妇女BBWXZ | 性夜a爽黄爽| 动漫美女被到爽了流漫画 | 最懂男人心论坛 | 亚洲AV人无码综合在线观看蜜桃 | 亚洲伊人久久精品 |