工控網首頁
>

應用設計

>

開放式激光振鏡運動控制器:C++ 快速調用圖形庫應用

開放式激光振鏡運動控制器:C++ 快速調用圖形庫應用

01
ZMC408SCAN控制器介紹

ZMC408SCAN是正運動技術推出的高性能總線雙振鏡運動控制器,集成了2個百兆以太網口,支持EtherCAT、EtherNET、CAN、RS232、RS485、24路通用數字輸入、20路通用數字輸出、2路通用模擬量輸出、2路通用模擬量輸入、4個本地差分脈沖軸接口、1個MPG手輪編碼器接口、2個帶反饋振鏡接口、1個激光電源專用接口、一個EXIO可配置擴展IO接口。

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

企業微信截圖_20221123095842.png

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

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

(3)通過指令在運動中靈活的調節激光開光/關光延時,響應快,精確到us級別的控制,且設置過程簡單,大大縮短了工程師的調參時間;
(4)自帶LASER激光器控制接口,支持IPG、YLR、YLS等類型激光電源,還帶一個EXIO擴展IO接口,通過定制轉接板,靈活控制市場上主流的各種激光器;
(5)支持PC同時控制16個ZMC408SCAN控制器同時工作,形成一種振鏡陣列的激光加工;

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

1.基本規格參數
企業微信截圖_20221123095904.png

2.接口定義

企業微信截圖_20221123095930.png

企業微信截圖_20221123095949.png
3.參考架構

企業微信截圖_20221123100011.png



02
打標庫說明

1.目的
為解決激光打標時需要進行各種復雜的操作和函數庫調用時容易出現的錯誤問題。用戶可以通過PC更加方便的進行加工文件的生成,在軟件中進行圖形加工操作。
如要打標二維碼,只需要通過條碼指令ZmotionLaser_BarCode(int nTechnology,const char *pStrText,const char *pStrType,double dX,double dY,double dSizeX,double dSizeY,double dAngle)將參數設置好,選擇好要標刻的碼類型,將標刻內容輸入即可,通過程序將其軌跡生成的三次文件等待啟動標刻。
如要打標文本,則通過對應的文本指令ZmotionLaser_Text(int nTechnology,const char *pStrText,double dX,double dY,double dAccuracy)設置好其工藝參數大小、旋轉角度等,而后輸入我們要標刻的文本內容,通過三次文件的形式進行打標。

我們打標條碼、二維碼、不同字體樣式的文本、矢量圖形、位圖等,都有對應的接口指令,從而實現快速調參開發,可以節省工程師大量的編程及工藝規劃時間。

2.方式

使用ZmotionLaser.dll與ZmotionLaser.lib庫添加到需要使用的程序中,調用ZmotionLaser.h中的相關函數即可生成需要加工的三次文件,在控制器中運行該三次文件就可以進行加工(需要帶Zmotion庫與ZMotionCad3庫)。

3.三次文件使用步驟如下

(1)先開啟文件生成;
(2)進行各種初始化,確定軸與輸出口;
(3)設置各種加工參數,調整加工效果;
(4)進行加工函數的調用,將需要加工的數據寫入;
(5)調用生成函數生成加工三次文件;
(6)關閉文件生成。
4.優勢

僅需要很少的指令填上對應參數就能實現一個類型打標,將復雜的指令編程簡單化,對于加工軌跡復雜、文件較大也能實現動態追加文件發送字符串運行。



03
指令說明

一、條碼

1.函數名:uint32 ZmotionLaser_BarCode(int nTechnology,const char *pStrText,const char *pStrType,double dX,double dY,double dSizeX,double dSizeY,double dAngle)

2.說明:進行條碼圖形的加工,通過該指令配合上幾個常用指令我們可以輕松選擇要打標的條碼類型,以及更改我們想要的尺寸大小、打標幅面內的位置。
二、文本及狀態設置

1.文本

(1)函數名:uint32 ZmotionLaser_Text(int nTechnology,const char *pStrText,double dX,double dY,double dAccuracy)
(2)說明:進行文本圖形的加工,通過該指令配合上幾個常用指令我們可以簡單的實現文本打標,只需要將打標的內容填到對應參數位置,在對應參數寫好工藝參數,打標坐標位置等。

2.文本狀態設置

(1)函數名:uint32 ZmotionLaser_SetTextStyle(const char * pStrFont,bool bThickness,bool bItalics,bool bUnderline,bool bDelete,double dHeight,double dWidthR,double dAngle,double dTilt)

(2)說明:設置文本的狀態,需要確定文本的字體、風格、尺寸、角度和傾斜等狀態。該狀態設置后如果不重新設置,后續所有文本的狀態都按照該狀態進行,配合文本指令使用進行文本打標。

三、矢量圖形參數設置

1.函數名:uint32 ZmotionLaser_SetVectPar(int nPower, double dFreq,double dMarkSp,double dJumpSp,double dOpenDelay,double dCloseDelay,double dJumpDelay,double dCorAngle,double dCorDelay,double dEndDelay,int nTechnology)

2.說明:設置某一工藝的矢量圖形加工參數。該指令用于矢量圖形加工時參數設置,針對矢量圖形的加工復雜性,通過將參數提前寫入,以在打標時快速響應。



04
激光振鏡控制實例

一、二維碼打標

1.二維碼打標參數設置界面

企業微信截圖_20221123100034.png

2.操作流程

(1)架好設備后,用振鏡矯正工具將振鏡矯正(可參考正運動小助手文章“開放式激光振鏡運動控制器:C++振鏡矯正方法與實現”);
(2)矯正完成后,如上圖選擇對應的IP地址進行連接,選擇對應的激光器類型、設置好運動參數、選好填充工藝并將參數設置好、選擇要標刻的條碼類型、設置條碼大小及打標位置旋轉角度等,在內容欄填入標刻內容;

(3)準備工作完成,點擊標刻進行打標,如果中途發現有異常,點擊停止即可。

通過這個例程我們可以實現多種類型條碼、二維碼的打標,適用于多種激光器類型,還能隨時調整打標的內容、大小、位置以及在xy平面上的角度,而且通過對功率的調整我們可以在不同的物品上進行打標,如平面產品包裝、充電器、手機外殼、一些金屬產品等。

我們用到的頭文件和定義控制器句柄,實現與控制器連接的第一步。通過ZAux_OpenEth(char *ipaddr, ZMC_HANDLE * phandle)指令連接控制器獲取返回句柄。斷開連接則用ZAux_Close(ZMC_HANDLE handle)。連接上就能對控制器實現交互控制了。

企業微信截圖_20221123100049.png

程序如下:
QQ截圖20221123100929.png
3.選擇激光器類型
通過指令ZAux_SetExioType(ZMC_HANDLE handle,int iType)設定轉接板類型,不同的轉接板類型對應不同類型的激光器(需定制)。
使用時我們只需要選擇對應的激光器類型,并按照對應接口接好線,調節好功率(激光能量)、頻率。

企業微信截圖_20221123100942.png

程序如下:
QQ截圖20221123101026.png

4.設置運動參數和二維碼大小參數

將運動參數及填充工藝參數存到變量里面,在后面打標過程中調用此參數,現在這個值是一個初始化值,只是一個參考作用,具體參數還要通過測試調整后才能更適合相應機臺及打標加工,空移速度為后續打標軌跡中空走軌跡所用速度。
開關光延時是用于提前開光和延時關光,設置適當的開光延時參數可以去除在運動起點出現的  “火柴頭”,但如果開光延時參數設置太大則會導致起始段缺筆的現象。
可以通過ZAux_Direct_MoveOpDelay設置為負值,負值標刻激光器提前出光。一般光纖激光器的開光延時就是設置負值,而其他激光器,如端泵激光器是設置正值的。
設置適當的關光延時參數可以去除在運動結束時出現的不閉合現象,但如果關光延時設置太大會導致結束段出現“火柴頭”。
關光指令后調用指令ZAux_Direct_MoveDelay設置對應的延時時間實現延時控制。
設置適當的拐角延時參數可以去除在運動軌跡是直角時出現的圓角現象,但如果拐角延時設置太大會導致標刻時間增加,且拐角處有重點現象,為解決這一問題,引入拐角自動延時模式,根據拐角角度計算延時時間。
調用指令ZAux_Direct_SetCornerMode設置拐角延時模式為2,通過 ZAux_Direct_SetDecelAngle與ZAux_Direct_SetStopAngle設置拐角開始延時和結束延時角度、ZAux_Direct_SetZsmooth設置最大拐角延時時間。

企業微信截圖_20221123101050.png

實際的拐角延時則依據軌跡的實際角度自動計算對應拐角延時時間,在設定的角度范圍內,延時時間呈線性分布。

企業微信截圖_20221123101103.png

程序如下:
QQ截圖20221123101125.png

5.設置填充工藝參數

由輸入內容生成二維碼,將我們的二維碼軌跡分成小線段軌跡生成三次文件,并且將填充工藝參數等設置進去。

通過指令ZmotionLaser_SetOutput(int nAp,int nMO,int nRed)設置好出光口號,為標刻做好準備。

填充工藝:主要是指令uint32 ZmotionLaser_SetFillParam(bool bEnable,bool bOutline,bool bOutlineFirst,bool bEdge,bool bAverage,int nType,int nAngle,int nNum,double dLineSpace,double dMargin,double dSOffset,double dEOffset,double dLineIndent,int nFillNum)的一些參數,將參數通過變量的形式做到界面上。

bOutline 使能輪廓:填充時是否保存原來的圖形輪廓。
bOutlineFirst輪廓優先:填充時保留輪廓的情況下,勾選輪廓優先會使輪廓軌跡在填充線之前進行加工,否則輪廓軌跡在填充線之后進行加工(如想了解更多填充工藝,可聯系正運動技術支持工程師)。
填充類型:圖形進行填充的方式

(1)單相填充:填充線總是從左向右填充;

(2)雙向填充:填充線先是從左向右,然后從右向左進行填充,其余循環填充;

(3)弓形填充:類似于雙向填充,但填充線末端之間會產生連接線;

(4)優化弓形填充:類似于弓形填充,但對象空白的地方仍會跳過去填充。

企業微信截圖_20221123101136.png

程序如下:
企業微信截圖_20221123101319.png
6.進行標刻

通過Zpj文件方式下載三次文件到控制器ROM,開啟一個未使用或者一個確認停止的任務號運行該文件。

程序如下:
企業微信截圖_20221123101536.png

7.完成打標

停止加工,主要是將任務停止,然后停止所有的軸運動,關掉激光。

程序如下:
企業微信截圖_20221123101555.png

8.二維碼打標界面

企業微信截圖_20221123101605.png

9.界面參數配置講解&打標效果展示

二、文本打標

1.文本打標參數設置界面

企業微信截圖_20221123101618.png

通過該例程我們可以實現產品包裝生產日期、金屬元件、硬質塑料產品上的標注打標,還能在金屬物品上進行紀念語等的打標,多種字體樣式可選擇。

操作流程和二維碼打標類似,連接控制器,選擇對應激光器類型,填寫運動參數、填充工藝以及標刻文本信息等(可根據實際打標測試結果進行調整)。
程序構建類似,唯一不同在于標刻處程序寫法上有差異,二維碼打標是將軌跡生成與標刻運行分開寫,而文本打標是將參數設置好、文本內容確定后,點擊打標才開始生成三次文件,后開啟任務運行文件。

程序如下:
企業微信截圖_20221123101808.png企業微信截圖_20221123101838.png

2.界面參數配置講解&打標效果展示

三、矢量圖形打標

1.矢量圖形打標參數設置界面

企業微信截圖_20221123101904.png

通過該例程我們可以實現一些圖案的打標,如產品LONG打印、圖案打印、金屬牌上打印圖案做項鏈等。

操作流程和前面兩個例程類似,唯一不同的是這里矢量圖形標刻,我們要選擇保存好的矢量圖形,設置完大小、位置、旋轉角度后進行標刻。
我們添加進來圖形可以在右下部分區域看見圖形(二維碼例程一樣有顯示圖形)。如下圖紅色框內顯示。
2.矢量圖形打標界面

企業微信截圖_20221123101917.png

程序如下:
企業微信截圖_20221123102027.png

本次,正運動技術開放式激光振鏡運動控制器:C++快速調用圖形庫應用,就分享到這里。

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

本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

EtherCAT與RTEX驅動器軸回零的配置與實現

運動控制器軸回零配置與實現

運動控制器位置鎖存功能的應用

機器視覺運動控制一體機應用|供料單元物料在線有無檢測

開放式激光振鏡運動控制器:C++振鏡矯正方法與實現