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

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

上節課程我們講述了如何通過Ubuntu+Qt進行振鏡校正(詳情點擊→開放式激光振鏡運動控制器在Ubuntu+Qt下的激光振鏡校正),本節文本標刻是在振鏡校正的前提下實現的。

在正式學習之前,我們先了解一下正運動技術的ZMC408SCAN-V22運動控制器,ZMC408SCAN-V22支持在Linux環境進行開發使用。

01 ZMC408SCAN-V22硬件介紹

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

ZMC408SCAN-V22總線控制器支持EtherCAT總線連接,支持最快500μs的刷新周期,支持最多達16軸運動控制,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等;采用優化的網絡通訊協議可以實現實時的運動控制。

ZMC408SCAN-V22支持ETHERNET、EtherCAT、USB、CAN、RS485、RS232等通訊接口,通過CAN、EtherCAT總線可以連接各個擴展模塊,從而擴展數字量、模擬量或運動軸。可以在windows,linux,Mac,Android,wince各種操作系統下開發,提供vc,c#,vb.net,labview等各種環境的dll庫,如下圖。上位機軟件編程參考《ZMotion PC函數庫編程手冊》。

02 Ubuntu+Qt進行文本標刻項目的開發

(一)新建Qt項目并添加函數庫

1.在Qt Creator菜單選擇“文件”→“新建文件或項目...”,打開創建項目向導。選擇Application項目集,創建Qt Widgets Application項目,設置項目名稱和保存位置。

2.導入廠家提供的相關函數庫及頭文件。

(1)將zmotion.h和zmcaux.h、zmcaux.cpp以及libzmotion.so庫復制到新建的項目文件夾中。

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

(3)在Qt Creator下右擊新建的Qt項目,選擇“添加現有文件...”,將之前復制到項目文件下的libzmotion.so、zmotion.h、zmcaux.cpp以及zmcaux.h添加到項目中。

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

(二)安裝Linux下字體引擎庫

1.FreeType字體引擎庫的安裝

字體引擎庫有很多,在例程中我們選擇使用FreeType字體引擎庫來進行字符輪廓解析。首先我們需要在Ubuntu環境中下載FreeType庫,在終端命令行中輸入sudo apt-get update和sudo apt-get install libfreetype6 libfreetype6-dev命令在線安裝FreeType庫,如下圖所示:

安裝完成后只需要在使用時引入#include <ft2build.h>頭文件即可。實現文本標刻的例程必須安裝字體引擎庫來解析字符,否則無法得到字符的關鍵點坐標,就無法完成標刻和繪制。

2.設置字體文件

FreeType庫沒有掃描系統字體庫文件的功能,在進行輪廓解析時,需要將字體文件傳入。所以在正式開始例程前,需要把提前下載好的字體文件放在項目文件下,方便解析字體時直接使用。在當前項目下新建一個字體文件夾,將提前下載好的字體復制到文件夾中,如下圖所示:

03 文本標刻流程以及相關函數介紹

(一)文本繪制流程

文本的處理首先是需要將文本輪廓進行解析,對輪廓信息進行分解,輪廓信息中包含輪廓的類型,文本輪廓分為線段、二次貝塞爾曲線、三次貝塞爾曲線,對于貝塞爾曲線類型需要將曲線分解為小線段進行處理,可以控制分解的精度,將所有的輪廓線處理完即代表已經完成當前字符的繪制。

(二)相關函數接口介紹

1.加載和初始化字體文件

2.計算貝塞爾曲線的二次項系數

貝塞爾曲線是通過控制點來定義的一種曲線形狀,貝塞爾曲線的一個關鍵性質是它是由一組控制點和二項式基函數組合而成的。二項式系數確定了每個控制點在貝塞爾曲線中的權重。在計算貝塞爾曲線上的點時,每個控制點的貢獻由其對應的二項式系數乘以相應的基函數得出。貝塞爾曲線通過調整控制點的位置和二項式系數來實現各種復雜的曲線形狀。

3.獲取貝塞爾曲線的點坐標

4.三次文件初始化

5.生成空移字符串

6.生成開光字符串

7.生成關光字符串

8.生成標刻點字符串

9.下載三次文件

10.通用命令執行接口

04 文本標刻的實現例程

文本標刻例程首先需要獲取到文本數據,獲取到外部輸入文本后,將文本進行單個解析,生成字符輪廓數據,接下來的處理就是對輪廓數據進行轉換,將貝塞爾曲線數據全部轉換為小線段來處理,最后將小線段相連接,生成三次文件字符串,下載到控制器中,執行標刻命令即可完成文本的標刻。

(1)將文本解析為輪廓數據,FreeType庫解析文本時需要對字符進行單個處理,將每個字符都進行解析輪廓。

//初始化輪廓數據
FT_Init_FreeType(&library);
const char* fontFilePath = gainFontFilePath(text_data.type);
FT_New_Face(library, fontFilePath, 0, &face);
// 獲取字符的索引
FT_UInt glyphIndex = FT_Get_Char_Index(face, charCode);
// 加載字符的輪廓信息
FT_Int32 loadFlags = FT_LOAD_DEFAULT | FT_LOAD_NO_BITMAP;
FT_Load_Glyph(face, glyphIndex, loadFlags);
// 獲取字形槽
FT_GlyphSlot glyphSlot = face->glyph;
// 獲取字形的輪廓信息
FT_Outline* outline = &glyphSlot->outline;

(2)將輪廓數據轉換為小線段生成三次文件字符串,對于線段數據可以直接通過坐標位置生成三次文件字符串,對于貝塞爾曲線數據,需要循環遍歷,將所有曲線數據轉換為小線段數據,最后生成三次文件字符串。

//將所有輪廓數據遍歷,對不同類型的數據進行不同的處理

for(int n=0;n < outline->n_contours;n++)

{    

    LaserScan_z3p_EmptyMove(strFile3,startX,startY,markPara.JumpSpeed,corrJumpDelay);//空移到起點    

    LaserScan_z3p_OpenLight(strFile3,markPara.Io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed);//開光

    tag = FT_CURVE_TAG(tags[0]); //判斷當前輪廓數據的類型

    switch(tag)

    {

        case FT_CURVE_TAG_ON: //線段

        {           

            LaserScan_z3p_Mark(strFile3,markPara.CorDelay,line,2);

        }

        case FT_CURVE_TAG_CONIC: //兩次貝塞爾曲線        

        {        

            ZPointF *pointData = new ZPointF[myVector.size()];          

            for (unsigned long i = 0; i <= myVector.size() - 1; ++i)

            {

                pointData[i] = myVector[i];

            }         

            LaserScan_z3p_Mark(strFile3,markPara.CorDelay,pointData,myVector.size());//標刻

        }

        default: //三次貝塞爾曲線

        {

            ZPointF *pointData = new ZPointF[myVector.size()];

            for (unsigned long i = 0; i <= myVector.size() - 1; ++i)          

            {

                pointData[i] = myVector[i];            

            }         

            LaserScan_z3p_Mark(strFile3,markPara.CorDelay,pointData,myVector.size());//標刻        

        }    

    }    

    LaserScan_z3p_CloseLight(strFile3,markPara.Io_value.emit_io,markPara.CloseDelay,corrJumpDelay);//關光

}

(3)使用Free Type庫解析生成的輪廓坐標點,是按照內部矩陣的像素位置決定,暫時沒有相關的函數來調整起始點坐標位置,但是在使用文本標刻時,必須要確定標刻的起點位置,所以在例程中的實現方法是將解析出的的坐標位置進行比較,得到最小的X和Y坐標,將所有的輪廓坐標偏移最小坐標位置,保證起始點是在原點位置開始,后續可以通過更改起點位置來確定相對位置。

(4)三次文件字符串追加完成后,將三次文件下載到控制器中,進行文本標刻。

//初始化三次文件字符串

LaserScan_z3p_Init();

//生成文本標刻字符串

Z3p_process();

//回原點,打開急停信號,關閉激光器使能

LaserScan_z3p_EmptyMove(strFile3,0,0,markPara.JumpSpeed,corrJumpDelay);//空移到原點

//將三次文件字符串下載到控制器中

ZMC_DownMem3File(g_handle,strFile3.toLatin1().data(),strFile3.length(),"Zmc_text.z3p");

QString filePath = "Zmc_text.z3p";

QFile file(filePath);

//在當前項目下生成三次文件

if (file.open(QIODevice::WriteOnly | QIODevice::Text))

{

QTextStream stream(&file);

    stream << strFile3;    

    file.close();

QMessageBox::warning(this,"提示","3次文件生成成功!");

}

05 文本標刻的實現效果

1.建立控制器連接,設置激光器參數和工藝參數。

2.輸入需要標刻的文本,可以根據需要設置相關的文字屬性,下面是輸入文字通過QPaint繪制的文本。

3.可以更改字體,文本開始位置以及設置傾斜屬性,下面是設置后的效果。

4.點擊生成三次文件,選擇標刻圖形,下圖是通過示波器抓取的標刻數據。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 深圳市正運動技術有限公司
聯 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關技術文摘:
運動控制器PSO位置同步輸出(一):硬件平臺與PSO指令簡介
EtherCAT與RTEX驅動器軸回零的配置與實現
運動控制器位置鎖存功能的應用
開放式激光振鏡運動控制器:C++快速開發
機器視覺運動控制一體機應用例程|供料單元物料在線有無檢測
EtherCAT總線運動控制器中簡單易用的直線插補
EtherCAT運動控制卡的自定義運動曲線
機器視覺運動控制一體機應用例程|端子裁切檢測
機器視覺運動控制一體機應用例程|柔性電路板自動上料解決方案
開放式激光振鏡運動控制器(四):ZMC408SCAN振鏡控制光纖激光器加工
開放式激光振鏡運動控制器(五):ZMC408SCAN光纖激光器的能量控制
EtherCAT軸擴展模塊EIO16084在運動控制系統中的應用
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

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

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
99久久精品网| 高清av一区| 日韩高清中文字幕一区二区| 日韩激情av在线| 久久99影视| 国产精品xxx| 成年男女免费视频网站不卡| 久久麻豆精品| 成年男女免费视频网站不卡| 日韩一区二区三区免费播放| 国内精品麻豆美女在线播放视频| 蜜桃视频在线观看一区| 日韩精品一区二区三区免费视频| 麻豆久久久久久久| 欧美国产另类| 亚洲一区日本| 91精品国产一区二区在线观看| 亚洲欧美专区| 中文欧美日韩| 国产欧美一区二区三区精品酒店 | 欧美日韩精品一本二本三本| 欧美+日本+国产+在线a∨观看| 国产日产精品_国产精品毛片 | 国产精品成人a在线观看| 色偷偷偷在线视频播放| 久久国产高清| 国产探花在线精品| 午夜电影亚洲| 国产精品7m凸凹视频分类| 亚洲免费在线| 亚洲色图综合| 日韩精品三级| 国产精品久久免费视频| 久久亚洲国产精品尤物| 视频二区不卡| zzzwww在线看片免费| 日韩精品一二三四| 在线视频精品| 色综合www| 日韩美女一区二区三区在线观看| 日本久久成人网| 日韩美女一区二区三区在线观看| 国产精品久久久久久久免费观看| 伊人精品久久| 精品丝袜久久| 国产精品v亚洲精品v日韩精品| 午夜久久美女| 视频在线观看国产精品| 日韩在线观看一区二区三区| 性欧美长视频| 鲁鲁在线中文| 久久天堂影院| 日韩在线观看不卡| 99久久99视频只有精品| 激情久久五月| 激情黄产视频在线免费观看| 婷婷成人在线| 日韩精品专区| 免费高清在线一区| 日韩欧美精品| 中文字幕中文字幕精品| 黄在线观看免费网站ktv| 蜜桃视频一区二区| 久久国产欧美| 日本一区二区高清不卡| 爽好久久久欧美精品| 久久精品72免费观看| 你懂的国产精品| 激情久久久久久久| 日本国产欧美| 亚洲精品大片| 喷白浆一区二区| av不卡在线| 国产精品久久亚洲不卡| 精品国产欧美日韩一区二区三区| 久久精品国产99久久| 91亚洲国产高清| 99国产精品99久久久久久粉嫩| 一区二区国产精品| 成人亚洲精品| 亚洲www啪成人一区二区| 亚洲精品va| 国产精品va视频| 蜜桃视频一区二区| 视频一区二区三区入口| 国产精品日本| 91成人在线精品视频| 日韩av专区| 日韩欧美美女在线观看| 婷婷久久一区| av中文资源在线资源免费观看| 亚洲深夜福利| 中文精品在线| 人人精品久久| 成人国产精品久久| 日韩精品麻豆| 日韩成人av影视| 久久精品一本| 国产日韩视频| 国产精品成人国产| 日本国产精品| 人人爱人人干婷婷丁香亚洲| 青草av.久久免费一区| 国产精品久久久久77777丨| 亚洲一区导航| 国内精品美女在线观看| 国产欧美亚洲一区| 日韩一级不卡| 欧美日韩国产观看视频| 日本天堂一区| 日韩一区二区在线免费| 精品亚洲免a| 日韩激情中文字幕| 成人精品亚洲| 欧美日韩精品一区二区视频| 99精品综合| 久久精品97| 综合日韩av| 日韩成人av影视| 国产欧美亚洲精品a| 久久在线视频免费观看| 成人日韩在线观看| 久久国内精品自在自线400部| 午夜欧美精品| 99香蕉国产精品偷在线观看| 日韩二区三区四区| 99视频在线精品国自产拍免费观看| 日本亚洲欧美天堂免费| 久久亚洲精品中文字幕| 午夜宅男久久久| 亚洲综合激情在线| 亚洲一区二区动漫| 日本午夜精品| 不卡福利视频| 免费亚洲婷婷| 尹人成人综合网| 国产精品九九| 激情欧美国产欧美| 欧美不卡在线| 97久久超碰| 亚洲成人精选| 国产在线|日韩| 国产亚洲精品精品国产亚洲综合| 日韩av一区二区三区四区| 日韩高清不卡在线| 97精品一区二区| 伊人久久亚洲| 中文字幕在线高清| 蜜桃久久av一区| 国产激情综合| av亚洲一区二区三区| 国产伦乱精品| 日韩高清在线一区| 99久久亚洲精品蜜臀| 女人天堂亚洲aⅴ在线观看| 国产精品九九| 久久精品97| 亚洲性视频在线| 91日韩欧美| 国产精品久久久久77777丨| 日本а中文在线天堂| 美女视频黄免费的久久| 日韩中文字幕1| 色偷偷偷在线视频播放| 亚洲aⅴ网站| 欧美午夜精彩| 成人免费网站www网站高清| 国产视频一区二| 色综合视频一区二区三区日韩| 欧美日韩国产免费观看| 国产日韩一区| 国产在线观看91一区二区三区| 日韩一区精品视频| 日韩视频一区| 99国产精品| 喷白浆一区二区| 欧美日韩一视频区二区| 色天使综合视频| 美女视频黄久久| 亚洲国产不卡| 国产亚洲欧洲| 香蕉成人久久| 麻豆成全视频免费观看在线看| 精品欧美久久| 国产一区日韩一区| 国产精品xx| 日韩国产激情| 日韩av午夜在线观看| 国产精品久久久久9999高清| 亚洲久久视频| 精品国产中文字幕第一页| 欧美日韩视频| 爽好久久久欧美精品| 成人午夜精品| 亚洲成人av观看| 日韩一区欧美| 久久精品91| 久久国产高清| 亚洲一区欧美激情| 国产精品入口久久|