开放式激光振镜运动控制器C快速开发

今天,正运动技术为大家分享一下应用ZMCSCAN开放式激光振镜运动控制器的C++开发,实现激光振镜打标,可在文章末尾扫码获取例程源码。

除了C++还支持使用其他上位机软件来开发,上位机程序运行时需要动态库“zmotion.dll”,上位机开发调试时可以把ZDevelop软件同时连接到控制器辅助调试。

01ZMCSCAN控制器介绍

ZMCSCAN是正运动技术新推出的一款支持EtherCAT总线的开放式激光振镜运动控制器,专为工业激光+振镜+运动控制方面的应用而设计。通过EtherCAT总线和脉冲轴接口能实现多轴联动运动控制。

ZMCSCAN支持ETHERNET、EtherCAT、USB、CAN、RS、RS等通讯接口,通过CAN、EtherCAT总线可以连接各个扩展模块,从而扩展数字量、模拟量或运动轴。

(1)ZMCSCAN内置高精度PSO位置同步输出功能,在加工圆角、曲线部分时即使进行了减速调整,在高速加工的场合,也能控制激光输出的间距保持恒定;

(2)支持激光振镜控制和振镜反馈,包含2个振镜接口,支持2D振镜和3D振镜,配合不带加减速的运动指令MOVESCAN,拐角处振镜加工自动延时,完成精准高效的激光控制,提高激光加工设备的产能;

(3)通过指令在运动中灵活的调节激光开光/关光延时,响应快,精确到us级别的控制,且设置过程简单,大大缩短了工程师的调参时间;

(4)自带LASER激光器控制接口,支持IPG、YLR、YLS等类型激光电源,还带一个EXIO扩展IO接口,通过定制转接板,灵活控制市场上主流的各种激光器;

(5)支持PC同时控制16个ZMCSCAN控制器同时工作,形成一种振镜阵列的激光加工;

(6)板载4路高速差分脉冲输出,并带4路高速差分编码器反馈,支持EtherCAT总线驱动器的控制,支持5轴XYZAC轴的插补,支持振镜轴与运动轴混合插补。

(7)支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等多种运动控制功能。

02系统架构

下图为ZMCSCAN开放式激光控制器的参考架构,支持多种不同类型的激光器控制。

03上位机和控制器通讯

上位机和控制器通讯调用正运动封装好的函数库,提供运动控制和激光控制等众多函数库接口,激光振镜的系统架构参见下图。

本例采用EtherNET网口连接控制器,通过函数ZAux_OpenEth()建立通讯连接,用户可在设置好的界面中选择当前网段下的控制器IP完成连接,控制器出厂IP地址..0.11,参见下图。

04激光控制一、指令介绍

下面是我们程序中用到的接口函数,主要包含激光控制和激光振镜控制两部分,程序的实现可直接使用封装好的接口函数发送命令给控制器。

本例采用FIBER激光器和2D激光振镜,用到下面的函数接口:ZAux_Direct_MoveScanAbs:振镜轴多轴绝对直线插补SCAN运动,不带加减速过程,我们这里用来控制振镜轴运动,通过小线段的形式拟合圆形轨迹;ZAux_Direct_MoveOpDelay:缓冲输出延时,提前开光时将延时时间设置为负数;ZAux_Direct_MoveDelay:缓冲输出延时,我们这里用来延时关光。激光功率设置:提供模拟量ZAux_Direct_SetDA、PWM的占空比ZAux_Direct_SetPwmDuty和频率ZAux_Direct_SetPwmFreq等方式控制设置振镜轴拐角处自动延时:

ZAux_Direct_SetCornerMode

1.振镜轴直线插补

ZAux_Direct_MoveScanAbs绝对运动,ZAux_Direct_MoveScan相对运动。

2.设置开关光

输出状态为0关光,输出状态为1开光。

3.开关光延时

4.提前/延时开关光

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

通过改变模拟量输出的电压值来控制激光能量大小。

6.PWM占空比

通过设置PWM的占空比来调整激光频率,在开始打轨迹之前一定要先设置好。

7.PWM频率

8.振镜轴拐角延时

9.拐角延时起始角度

10.拐角延时结束角度

二、程序流程

先建立控制器通讯,获取连接句柄,激光器选择及参数设置,然后编辑红光与激光口控制开关,运动参数设置,轨迹参数进行小线段处理,开始运动,停止运动。

三、主要程序展示

初始化定义相关变量,初始化轴参数,配置好FIBER转接板的方向为输出,后续的激光轨迹加工控制由按钮触发。

在运动之前我们要设置好空移速度、打标速度、开关光延时、轨迹圆半径、标刻行列数、圆心距等参数。运动开始直接调用这些相关参数执行,获取完轨迹后调用3次文件执行。

1.初始化FIBER转换板针脚定义,不同激光器类型定义一套不同的输出口,输出口可以在选择激光器类型后对应在界面上进行修改。

FIBER转换板参数初始化程序:

2.设置拐角延时与激光功率,再调用运动执行,程序如下。

3.圆弧转小线段是将我们的设置的圆弧轨迹转换为小线段存起来,然后转换后由3次文件的形式加载执行。

圆弧转小线段程序如下:

4.这里程序完成空移,然后移动完成之前,如果下一条运动指令执行的是轨迹运动,那么提前将激光打开。

5.延时关光是在打标轨迹完成后,将激光延时关闭。

延时关光程序如下:

四、最终效果

首先点击下拉框选择控制器IP,点击连接,依次设置好激光器参数、运动参数,设置好后输入打轨迹的参数,点击运动开始打圆形轨迹,点击停止结束。

通过Zdevelop软件的示波器采样运动结果:先从其他位置空移到起始位置,然后提前1ms开光,走完一个圆形轨迹,关闭激光(延时关光),再空移到下一个圆形轨迹的起点,开光(提前1ms开光),又走完一个轨迹后,关光(延时5ms关光),如此循环执行,直到设置的行列数打完停止(打轨迹中也能点击停止)。

XY模式下的轨迹,轨迹包括了圆形打标轨迹和空走轨迹:

实际效果运行视频:

00:00

本次,正运动技术开放式激光振镜运动控制器:C++快速开发,就分享到这里。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。




转载请注明:http://www.aierlanlan.com/rzgz/7213.html

  • 上一篇文章:
  •   
  • 下一篇文章: