RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

開放式激光振鏡運(yùn)動(dòng)控制器在Ubuntu+Qt下自定義圖形標(biāo)刻

正運(yùn)動(dòng)技術(shù) ? 來源:正運(yùn)動(dòng)技術(shù) ? 作者:正運(yùn)動(dòng)技術(shù) ? 2024-10-08 10:45 ? 次閱讀

前面課程我們講述了如何通過Ubuntu+Qt進(jìn)行振鏡校正(詳情點(diǎn)擊→開放式激光振鏡運(yùn)動(dòng)控制器在Ubuntu+Qt下的激光振鏡校正),本節(jié)自定義圖形標(biāo)刻是在振鏡校正的前提下實(shí)現(xiàn)的。在正式學(xué)習(xí)之前,我們先了解一下正運(yùn)動(dòng)技術(shù)的ZMC408SCAN-V22運(yùn)動(dòng)控制器,ZMC408SCAN-V22支持在Linux環(huán)境進(jìn)行開發(fā)使用。


01ZMC408SCAN-V22硬件介紹



ZMC408SCAN-V22是正運(yùn)動(dòng)技術(shù)推出的高性能雙振鏡運(yùn)動(dòng)控制器,集成了2個(gè)百兆以太網(wǎng)口,支持EtherCAT、EtherNET、CAN、RS232RS485、24路通用數(shù)字輸入、20路通用數(shù)字輸出、2路通用模擬量輸出、2路通用模擬量輸入、4個(gè)本地差分脈沖軸接口、1個(gè)MPG手輪編碼器接口、2個(gè)帶反饋振鏡接口、1個(gè)LASER激光專用接口、1個(gè)FIBER激光器接口。開放式系統(tǒng)框圖如下所示:

wKgZomcEnMeAO0-QAAOTP_9qxog915.png

ZMC408SCAN-V22總線控制器支持EtherCAT總線連接,支持最快500μs的刷新周期,支持最多達(dá)16軸運(yùn)動(dòng)控制,支持直線插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、同步跟隨、虛擬軸設(shè)置等;采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實(shí)現(xiàn)實(shí)時(shí)的運(yùn)動(dòng)控制。

wKgaomcEnMeAIKVIAAIdltU-2Q4855.png

ZMC408SCAN-V22通過CAN、EtherCAT總線可以連接各個(gè)擴(kuò)展模塊,從而擴(kuò)展數(shù)字量、模擬量或運(yùn)動(dòng)軸??梢栽?Windows,Linux,Mac,Android,Wince各種操作系統(tǒng)下開發(fā),提供vc,c#,vb.net,labview等各種環(huán)境的dll庫(kù)。上位機(jī)軟件編程參考《ZMotion PC函數(shù)庫(kù)編程手冊(cè)》。

wKgZomcEnMeAM3TGAADmcJSJ664013.png



02 Ubuntu+Qt進(jìn)行自定義圖形標(biāo)刻項(xiàng)目的開發(fā)


1.在Qt Creator菜單選擇“文件”→“新建文件或項(xiàng)目...”,打開創(chuàng)建項(xiàng)目向?qū)?。選擇Application項(xiàng)目集,創(chuàng)建Qt Widgets Application項(xiàng)目,設(shè)置項(xiàng)目名稱和保存位置。

wKgaomcEnMeAZ3FBAAIFwTOzhIw927.png

2.導(dǎo)入廠家提供的相關(guān)函數(shù)庫(kù)及頭文件。

(1) 將zmotion.h和zmcaux.h、zmcaux.cpp以及l(fā)ibzmotion.so庫(kù)復(fù)制到新建的項(xiàng)目文件夾中。

wKgZomcEnMmAdK9yAAKj-0hA-WE987.png

(2) 在Qt Creator選擇新建的Qt項(xiàng)目右擊選擇“添加庫(kù)...”→“外部庫(kù)”點(diǎn)擊下一步,將剛才復(fù)制到項(xiàng)目文件夾上的libzmotion.so庫(kù)文件導(dǎo)入到項(xiàng)目中。

wKgaomcEnMmAa3fuAALq9zlFWyk854.png

(3) 在Qt Creator下右擊新建的Qt項(xiàng)目,選擇“添加現(xiàn)有文件...”,將之前復(fù)制到項(xiàng)目文件下的頭文件zmotion.h以及zmcaux.cpp和zmcaux.h添加到項(xiàng)目中。

wKgZomcEnMqAb6wnAAPQu3U5nkY066.png

(4) 函數(shù)庫(kù)添加成功后,打開pro文件可以看到相關(guān)的函數(shù)庫(kù)和頭文件信息。此時(shí)已經(jīng)將例程需要用到的函數(shù)庫(kù)和頭文件都加入到項(xiàng)目中了,接下來開始實(shí)現(xiàn)例程。

wKgaomcEnMqAauGRAAO1Ib5BhaQ592.png



03 自定義圖形標(biāo)刻流程以及相關(guān)函數(shù)介紹

1.自定義圖形標(biāo)刻流程圖

wKgZomcEnM-ADdBhAAC4seyILTk529.png

2.相關(guān)函數(shù)介紹

(1)連接控制器

wKgaomcEnNGAVIe3AAAzhCBXi-M104.png

(2)通用命令執(zhí)行接口

wKgZomcEnNGAIJkIAAA-b7EriZA147.png

(3)三次文件初始化

wKgaomcEnNGALocaAAAaPLlnHQQ409.png

(4)生成空移字符串

wKgZomcEnNOAKARIAAA1B86N4gA633.png

(5)生成開光字符串

wKgaomcEnNOABVK9AAAu5yRg6Ts788.png

(6)生成關(guān)光字符串

wKgZomcEnNOAKcTUAAAoljW8yhk030.png

(7)生成標(biāo)刻點(diǎn)字符串

wKgaomcEnNOAW8PgAAAmXrwOS8k612.png

(8)下載三次文件

wKgZomcEnNSAIYqGAAA4j9_4rzA805.png

(9)設(shè)置輸出口狀態(tài)

wKgaomcEnNSAI3fYAAAswvOX7Tc079.png

(10)設(shè)置模擬量輸出

wKgZomcEnNSAAlLMAAArXmxmhKE090.png

(11)設(shè)置pwm占空比

wKgaomcEnNWAYhS6AAAprD-IZoE869.png

(12)設(shè)置pwm頻率

wKgZomcEnNWAYHWXAAAp2Si_AJU601.png

04 自定義圖形標(biāo)刻的實(shí)現(xiàn)例程

自定義圖形標(biāo)刻例程主要是通過選擇簡(jiǎn)單圖形來生成標(biāo)刻的三次文件,控制器運(yùn)行三次文件標(biāo)刻對(duì)應(yīng)的圖形,例程中的三次文件主要通過字符串追加的形式生成,在將所有圖形的繪制過程生成三次文件后下載到控制器即可。

1.建立控制器連接,設(shè)置相關(guān)的振鏡和工藝參數(shù),可以通過設(shè)置模擬量口和pwm以及激光器使能信號(hào),可以打開或者關(guān)閉激光。

voidMainWindow::on_ip_open_clicked()
{
    char*tmp_buff=newchar[16];
    QStringstr=ui->ip_Address->text();
    QByteArrayba=str.toLatin1();
    tmp_buff=ba.data();
    if(0!=g_handle)
    {
        ZAux_Close(g_handle);
    }
    int32iresult=ZMC_FastOpen(ZMC_CONNECTION_ETH,tmp_buff,1000,&g_handle);
    if(0!=iresult)
    {
        QMessageBox::warning(this,"提示","連接失敗");
        return;
    }
    ZAux_Direct_SetDA(g_handle,markPara.PowerDA,markPara.Power);//設(shè)置模擬量
    ZAux_Direct_SetPwmDuty(g_handle,markPara.PwmIo,0.5);//設(shè)置占空比
    ZAux_Direct_SetPwmFreq(g_handle,markPara.PwmIo,markPara.PwmFreq);//設(shè)置頻率
    ZAux_Direct_SetOp(g_handle,io_value.emit_io,0);//關(guān)閉激光輸出口
    ZAux_Direct_SetOp(g_handle,io_value.enable_io,0);//關(guān)閉激光器使能
}

2.生成初始化的三次文件字符串

可以將標(biāo)刻過程中初始化的部分寫到相關(guān)的函數(shù)里面,包括設(shè)置初始化的激光器參數(shù)、標(biāo)刻起點(diǎn)、延時(shí)參數(shù)等,方便在標(biāo)刻自定義圖形的過程中直接使用。三次文件字符串本質(zhì)是將basic指令進(jìn)行拼接處理,將所有指令拼接完成后,可以直接寫入控制器中執(zhí)行。

voidMainWindow::LaserScan_z3p_Init()
{
    strFile3.clear();
    strFile3+=QString("BASE(%1,%2)n").arg(4).arg(5);//設(shè)置軸號(hào)
    strFile3+="ATYPE=21,21n";//設(shè)置軸類型
    strFile3+="UNITS=100,100n";//設(shè)置脈沖當(dāng)量
    strFile3+="AXIS_ZSET=3,3n";//開啟精準(zhǔn)輸出
    strFile3+="MERGE=1,1n";//開啟連續(xù)插補(bǔ)
    strFile3+=QString("OP(%1,ON)n").arg(io_value.enable_io);
    strFile3+=QString("MOVE_AOUT(%1,%2)n").arg(markPara.PowerDA).arg(static_cast(markPara.Power*255/100));
    strFile3+=QString("MOVE_PWM(%1,0.5,%2)n").arg(markPara.PwmIo).arg(markPara.PwmFreq);
    strFile3+=QString("DECEL_ANGLE=%1,%2n").arg(15.0/180.0*M_PI).arg(15.0/180.0*M_PI);
    strFile3+=QString("STOP_ANGLE=%1,%2n").arg(90.0/180.0*M_PI).arg(90.0/180.0*M_PI);
    strFile3+=QString("ZSMOOTH=%1,%2n").arg(markPara.CorDelay).arg(markPara.CorDelay);//拐角延時(shí)時(shí)間
    strFile3+=QString("FORCE_SPEED=%1n").arg(markPara.JumpSpeed);//空移速度
    strFile3+="MOVESCANABS(0,0)n";//移動(dòng)到0位
}

3.生成標(biāo)刻自定義圖形的三次文件字符串

自定義圖形本質(zhì)上可以分解為線段進(jìn)行繪制,在進(jìn)行激光標(biāo)刻時(shí)也是采用線段的形式,在生成自定義圖形時(shí),只需要控制每一條線段的起始點(diǎn)和結(jié)束點(diǎn)位置,同時(shí)在起始點(diǎn)和結(jié)束點(diǎn)的位置控制延時(shí)參數(shù),最后在完成繪制時(shí)關(guān)閉激光和使能即可。下面是部分生成三次文件字符串以及下載的代碼。

voidMainWindow::on_create_File3_clicked()
{
    LaserScan_z3p_Init(strFile3);
ListNode*ps=layers->next;
    do
    {
        Coordinate*pData=ps->data;
        if(ps->type==1)//標(biāo)刻點(diǎn)
        {
            LaserScan_z3p_EmptyMove(strFile3,pData->next->x,pData->next->y,markPara.JumpSpeed,markPara.JumpDelay);
            LaserScan_z3p_OpenLight(strFile3,io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed);
            LaserScan_z3p_MarkPoint(strFile3,pData->next->x,pData->next->y);
            LaserScan_z3p_CloseLight(strFile3,io_value.emit_io,markPara.CloseDelay,markPara.JumpDelay);
        }
        elseif(ps->type==2)//標(biāo)刻直線
        {
            LaserScan_z3p_EmptyMove(strFile3,pData->next->x,pData->next->y,markPara.JumpSpeed,markPara.JumpDelay);
            LaserScan_z3p_OpenLight(strFile3,io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed);
            LaserScan_z3p_MarkPoint(strFile3,pData->next->x2,pData->next->y2);
            LaserScan_z3p_CloseLight(strFile3,io_value.emit_io,markPara.CloseDelay,markPara.JumpDelay);
        }
        elseif(ps->type==3)//標(biāo)刻圓弧
        {
            LaserScan_z3p_Arc(pData->next->x+ps->radius,pData->next->y-ps->radius,ps->radius,ps->angle,ps->radian,0,0);
        }
        elseif(ps->type==4)//標(biāo)刻整圓
        {
            LaserScan_z3p_Arc(pData->next->x+ps->radius,pData->next->y-ps->radius,ps->radius,0,360,0,0);
        }
        ......//標(biāo)刻其他類型
        ps=ps->next;
    }while(ps!=layers);
}

4.設(shè)置運(yùn)行任務(wù)號(hào),啟動(dòng)任務(wù)進(jìn)行標(biāo)刻

三次文件已經(jīng)下載到控制器中,這個(gè)時(shí)候可以通過ZMC_Execute函數(shù)輸入命令去運(yùn)行生成的三次文件,完成圖形的標(biāo)刻。下面的啟動(dòng)任務(wù),進(jìn)行標(biāo)刻的部分實(shí)現(xiàn)代碼。

voidMainWindow::on_but_Mark_clicked()
{
    if(0==g_handle)
    {
        QMessageBox::warning(this,"提示","控制器未連接!");
        return;
    }
    QStringCmd;
    charResponse[1024];
    //設(shè)置啟動(dòng)任務(wù)號(hào),執(zhí)行Zmc_polyline.z3p
    ZMC_Execute(g_handle,"FILE3_RUN"Zmc_polyline.z3p",7",500,Response,1024);
}

5.設(shè)置配置文件信息,保留配置參數(shù)

通過生成ini配置文件信息,在程序加載時(shí)讀取文件,程序關(guān)閉時(shí)將配置數(shù)據(jù)寫到ini配置文件中,以此實(shí)現(xiàn)保留最后一次的使用參數(shù),方便下一次加載使用。通過使用內(nèi)部函數(shù)庫(kù)QSettings實(shí)現(xiàn)的,下面是部分的實(shí)現(xiàn)代碼。

voidMainWindow::saveINI()
{
    //保存配置數(shù)據(jù)信息
    QSettings*iniWrite=newQSettings("config.ini",QSettings::IniFormat);
    iniWrite->setValue("laserType",ui->laser_List->currentIndex());
    .....
    deleteiniWrite;
}


voidMainWindow::readINI()
{
    //讀取配置文件數(shù)據(jù)
    QSettings*iniRead=newQSettings("config.ini",QSettings::IniFormat);
    intlaserType=iniRead->value("laserType").toInt();
    ui->laser_List->setCurrentIndex(laserType);
    .....
    deleteiniRead;
}

05自定義圖形標(biāo)刻的實(shí)現(xiàn)效果

1. 打開Qt繪制的基本圖形界面,設(shè)置基本的激光器參數(shù)和運(yùn)動(dòng)參數(shù)。

wKgaomcEnNeAPak6AAK3w9hDngQ761.png

2. 添加想要標(biāo)刻的自定義圖形,設(shè)置圖形參數(shù),選擇添加圖形,例程中添加的圖形為點(diǎn)、矩形、整圓、圓弧、直線,點(diǎn)擊生成三次文件后,查看三次文件的內(nèi)容。

wKgZomcEnNeAH03LAAMf4UGz1Wc637.png

3. 點(diǎn)擊標(biāo)刻即可完成已選自定義圖形的標(biāo)刻。

4.分析生成的三次文件信息,下面是生成三次文件的部分內(nèi)容,三次文件的開頭都是對(duì)軸參數(shù)加工參數(shù)的設(shè)置,當(dāng)移動(dòng)到運(yùn)動(dòng)起始點(diǎn)時(shí),設(shè)置開光參數(shù)和延時(shí)參數(shù),在軌跡完成時(shí)設(shè)置關(guān)光延時(shí)和關(guān)光操作。

BASE(4,5)
ATYPE=21,21
UNITS=100,100
AXIS_ZSET=3,3
MERGE=1,1
OP(47,ON)
MOVE_AOUT(3,127)
MOVE_PWM(11,0.5,4000)
DECEL_ANGLE=0.261799,0.261799
STOP_ANGLE=1.5708,1.5708
ZSMOOTH=1000,1000
FORCE_SPEED=1000
MOVESCANABS(0,0)
FORCE_SPEED=1000
MOVESCANABS(0.00000,0.00000)
MOVE_DELAY(0.2,1)
FORCE_SPEED=500
MOVEOP_DELAY=-0.1
MOVE_OP(44,ON)
MOVESCANABS(0.00000,0.00000)
MOVEOP_DELAY=0
MOVE_DELAY(1)
MOVE_OP(44,OFF)
FORCE_SPEED=1000
MOVESCANABS(-5.00000,5.00000)
MOVE_DELAY(200,1)
FORCE_SPEED=500
MOVEOP_DELAY=-0.1
MOVE_OP(44,ON)
MOVESCANABS(5.00000,5.00000)
MOVESCANABS(5.00000,-5.00000)
MOVESCANABS(-5.00000,-5.00000)
MOVESCANABS(-5.00000,5.00000)
MOVEOP_DELAY=0
MOVE_DELAY(1)
MOVE_OP(44,OFF)

06 激光標(biāo)刻過程

激光標(biāo)刻的過程,初始化、空移、開光、標(biāo)刻、關(guān)光都封裝成函數(shù)接口,在進(jìn)行標(biāo)刻時(shí),調(diào)用相關(guān)的函數(shù)接口即可生成對(duì)應(yīng)的三次文件字符串。

wKgaomcEnNiAHAAUAAGWlTK9u3w239.png

完整代碼獲取地址

本次,正運(yùn)動(dòng)技術(shù)開放式激光振鏡運(yùn)動(dòng)控制器在Ubuntu+Qt下自定義圖形標(biāo)刻,就分享到這里。

更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開發(fā)環(huán)境與例程代碼,請(qǐng)咨詢正運(yùn)動(dòng)技術(shù)銷售工程師:400-089-8936。

本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來源。

正運(yùn)動(dòng)技術(shù)專注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國(guó)家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國(guó)內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國(guó)內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ZMC408SCAN控制光纖激光器加工

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

    激光標(biāo)控制器的工作原理及其電路設(shè)計(jì)

    控制器的工作原理 激光標(biāo)控制器上位機(jī)是安裝了
    發(fā)表于 11-13 15:40 ?69次下載
    <b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>式</b><b class='flag-5'>激光</b>打<b class='flag-5'>標(biāo)</b><b class='flag-5'>控制器</b>的工作原理及其電路設(shè)計(jì)

    激光運(yùn)動(dòng)控制器(一):ZMC408SCAN接口與功能

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

    開放式激光運(yùn)動(dòng)控制器:C++快速開發(fā)

    今天,正運(yùn)動(dòng)技術(shù)為大家分享一下應(yīng)用ZMC408SCAN開放式激光運(yùn)動(dòng)
    的頭像 發(fā)表于 10-19 09:04 ?1443次閱讀
    <b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制器</b>:C++快速開發(fā)

    應(yīng)用ZMC408SCAN開放式激光運(yùn)動(dòng)控制器的C++開發(fā)

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

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

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

    開放式激光運(yùn)動(dòng)控制器:C++矯正方法與實(shí)現(xiàn)

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

    開放式激光運(yùn)動(dòng)控制器ZMC408SCAN進(jìn)行矯正的方法與實(shí)現(xiàn)

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

    如何實(shí)現(xiàn)激光標(biāo)控制

    ZMC408SCAN是正運(yùn)動(dòng)技術(shù)新推出的一款支持EtherCAT總線的開放式激光運(yùn)動(dòng)
    的頭像 發(fā)表于 11-01 15:13 ?2229次閱讀

    開放式激光運(yùn)動(dòng)控制器激光清洗應(yīng)用

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

    開放式激光運(yùn)動(dòng)控制器Ubuntu+Qt下的文本標(biāo)

    基于Ubuntu+Qt的文本標(biāo)例程的實(shí)現(xiàn)
    的頭像 發(fā)表于 09-10 10:37 ?306次閱讀
    <b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制器</b><b class='flag-5'>在</b><b class='flag-5'>Ubuntu+Qt</b>下的文本<b class='flag-5'>標(biāo)</b><b class='flag-5'>刻</b>

    開放式激光運(yùn)動(dòng)控制器Ubuntu+Qt下CAD圖形標(biāo)

    開放式激光運(yùn)動(dòng)控制器Ubuntu+Qt下CAD
    的頭像 發(fā)表于 09-18 15:12 ?285次閱讀
    <b class='flag-5'>開放式</b><b class='flag-5'>激光</b><b class='flag-5'>振</b><b class='flag-5'>鏡</b><b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制器</b><b class='flag-5'>在</b><b class='flag-5'>Ubuntu+Qt</b>下CAD<b class='flag-5'>圖形</b><b class='flag-5'>標(biāo)</b><b class='flag-5'>刻</b>
    RM新时代网站-首页