开放式激光振镜运动控制器在Ubuntu+Qt下自定义图形标刻

科技   科技   2024-09-24 07:03   广东  

点击上方正运动小助手,随时关注新动态!


前面课程我们讲述了如何通过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通过CAN、EtherCAT总线可以连接各个扩展模块,从而扩展数字量、模拟量或运动轴。可以在Windows,Linux,Mac,Android,Wince各种操作系统下开发,提供vc,c#,vb.net,labview等各种环境的dll库。上位机软件编程参考《ZMotion PC函数库编程手册》。


02
Ubuntu+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项目,选择“添加现有文件...”,将之前复制到项目文件下的头文件zmotion.h以及zmcaux.cpp和zmcaux.h添加到项目中。

(4)函数库添加成功后,打开pro文件可以看到相关的函数库和头文件信息。此时已经将例程需要用到的函数库和头文件都加入到项目中了,接下来开始实现例程。


03
自定义图形标刻流程以及相关函数介绍

1.自定义图形标刻流程图

2.相关函数介绍

(1)连接控制器

函数原型

int32 __stdcall ZMC_FastOpen(ZMC_CONNECTION_TYPE type, char *pconnectstring, uint32 uims ,ZMC_HANDLE * phandle)

功能

与控制器建立连接, 可以指定连接的等待时间。

输入参数

参数名

描述

type

连接类型。

pconnectstring

连接字符串。

uims

连接等待时间。

phandle

控制器句柄。

返回值

成功返回值为0,非0详见错误码说明。

(2)通用命令执行接口

函数原型

int32 __stdcall ZMC_Execute(ZMC_HANDLE handle, const char* pszCommand, uint32 uimswait, char* psResponse, uint32 uiResponseLength)

功能

通过命令字符串直接操作控制器,执行对应的指令。

输入参数

参数名

描述

handle

连接的控制器句柄。

pszCommand

在线命令字符串。

uimswait

最长等待ms时间。

psResponse

接收控制器执行结果输出。

uiResponseLength

接收执行结果输出的大小。

返回值

成功返回值为0,非0详见错误码说明。

(3)三次文件初始化

函数原型

void LaserScan_z3p_Init(QString &strFile3)

功能

对三次文件字符串初始化。

输入参数

参数名

描述

strFile3

三次文件字符串的地址。

返回值

void

(4)生成空移字符串

函数原型

void LaserScan_z3p_EmptyMove(QString &strFile3,double x,double y,double jumpSpeed,double jumpDelay)

功能

生成空移的三次文件字符串。

输入参数

参数名

描述

strFile3

三次文件字符串的地址。

x

空移点的x坐标。

y

空移点的y坐标。

jumpSpeed

空移点的跳转速度。

jumpDelay

空移点的跳转延时(us)。

返回值

void

(5)生成开光字符串

函数原型

void LaserScan_z3p_OpenLight(QString &strFile3,int op,double openDelay,double markSpeed)

功能

生成开光的三次文件字符串。

输入参数

参数名

描述

strFile3

三次文件字符串的地址。

op

激光开光的op输出口号。

openDelay

开光延时(us)。

markSpeed

设置的标刻速度。

返回值

void

(6)生成关光字符串

函数原型

void LaserScan_z3p_CloseLight(QString &strFile3, int op, double closeDelay)

功能

生成关光的三次文件字符串。

输入参数

参数名

描述

strFile3

三次文件字符串的地址。

op

激光开光的op输出口号。

closeDelay

关光延时(us)。

返回值

void

(7)生成标刻点字符串

函数原型

void LaserScan_z3p_MarkPoint(QString &strFile3, double x, double y)

功能

生成标刻点的三次文件字符串。

输入参数

参数名

描述

strFile3

三次文件字符串的地址。

x

标刻点的x坐标。

y

标刻点的y坐标。

返回值

void

(8)下载三次文件

函数原型

int32 __stdcall ZMC_DownMem3File(ZMC_HANDLE handle, const char* pbuffer, uint32 buffsize, const char* pfilenameinControl)

功能

通过命令字符串直接操作控制器,执行对应的指令。

输入参数

参数名

描述

handle

连接的控制器句柄。

pbuffer

三次文件字符串。

buffsize

三次文件字符串长度。

pfilenameinControl

下载到控制器中的三次文件名。

返回值

成功返回值为0,非0详见错误码说明。

(9)设置输出口状态

函数原型

int32 ZAux_Direct_SetOp(ZMC_HANDLE handle, int ionum, uint32 iValue)

功能

设置输出口的状态,打开或者关闭输出口。

输入参数

参数名

描述

handle

连接的控制器句柄。

ionum

输出口号。

iValue

输出口状态(0为关闭,1为打开状态)。

返回值

成功返回值为0,非0详见错误码说明。

(10)设置模拟量输出

函数原型

int32 ZAux_Direct_SetDA(ZMC_HANDLE handle, int ionum, float fValue)

功能

设置输出口的状态,打开或者关闭输出口。

输入参数

参数名

描述

handle

连接的控制器句柄。

ionum

模拟量输出口号。

fValue

模拟量值。

返回值

成功返回值为0,非0详见错误码说明。

(11)设置pwm占空比

函数原型

iint32 ZAux_Direct_SetPwmDuty(ZMC_HANDLE handle, int ionum, float fValue)

功能

设置pwm占空比。

输入参数

参数名

描述

handle

连接的控制器句柄。

ionum

PWM口编号。

fValue

占空比大小。

返回值

成功返回值为0,非0详见错误码说明。

(12)设置pwm频率

函数原型

int32 ZAux_Direct_SetPwmFreq(ZMC_HANDLE handle, int ionum, float fValue)

功能

设置pwm频率。

输入参数

参数名

描述

handle

连接的控制器句柄。

ionum

模拟量输出口号。

fValue

pwm频率。

返回值

成功返回值为0,非0详见错误码说明。



04
自定义图形标刻的实现例程

自定义图形标刻例程主要是通过选择简单图形来生成标刻的三次文件,控制器运行三次文件标刻对应的图形,例程中的三次文件主要通过字符串追加的形式生成,在将所有图形的绘制过程生成三次文件后下载到控制器即可。

1.建立控制器连接,设置相关的振镜和工艺参数,可以通过设置模拟量口和pwm以及激光器使能信号,可以打开或者关闭激光。
void MainWindow::on_ip_open_clicked(){    char * tmp_buff = new char[16];    QString str = ui->ip_Address->text();    QByteArray ba = str.toLatin1();    tmp_buff = ba.data();    if(0 != g_handle)    {        ZAux_Close(g_handle);    }    int32 iresult= ZMC_FastOpen(ZMC_CONNECTION_ETH,tmp_buff,1000,&g_handle);    if0 != iresult)    {        QMessageBox::warning(this,"提示","连接失败");        return;    }    ZAux_Direct_SetDA(g_handle,markPara.PowerDA,markPara.Power);   //设置模拟量    ZAux_Direct_SetPwmDuty(g_handle,markPara.PwmIo,0.5);   //设置占空比    ZAux_Direct_SetPwmFreq(g_handle,markPara.PwmIo,markPara.PwmFreq);   //设置频率    ZAux_Direct_SetOp(g_handle,io_value.emit_io,0);   //关闭激光输出口    ZAux_Direct_SetOp(g_handle,io_value.enable_io,0);  //关闭激光器使能}

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

可以将标刻过程中初始化的部分写到相关的函数里面,包括设置初始化的激光器参数、标刻起点、延时参数等,方便在标刻自定义图形的过程中直接使用。三次文件字符串本质是将basic指令进行拼接处理,将所有指令拼接完成后,可以直接写入控制器中执行。
void MainWindow::LaserScan_z3p_Init(){    strFile3.clear();    strFile3 += QString("BASE(%1,%2)\n").arg(4).arg(5); //设置轴号    strFile3 += "ATYPE = 21,21\n"//设置轴类型    strFile3 += "UNITS = 100,100\n"//设置脉冲当量    strFile3 += "AXIS_ZSET = 3,3\n"// 开启精准输出    strFile3 += "MERGE = 1,1\n"//开启连续插补    strFile3 += QString("OP(%1,ON)\n").arg(io_value.enable_io);    strFile3+=QString("MOVE_AOUT(%1,%2)\n").arg(markPara.PowerDA).arg(static_cast<int>(markPara.Power * 255 / 100));               strFile3+=QString("MOVE_PWM(%1,0.5,%2)\n").arg(markPara.PwmIo).arg(markPara.PwmFreq);    strFile3 +=QString("DECEL_ANGLE= %1,%2\n").arg(15.0/180.0*M_PI).arg(15.0/180.0*M_PI);    strFile3 += QString("STOP_ANGLE = %1,%2\n").arg(90.0/180.0*M_PI).arg(90.0/180.0*M_PI);    strFile3 += QString("ZSMOOTH= %1,%2\n").arg(markPara.CorDelay).arg(markPara.CorDelay); //拐角延时时间    strFile3 += QString("FORCE_SPEED = %1\n").arg(markPara.JumpSpeed); //空移速度    strFile3 += "MOVESCANABS(0,0)\n"//移动到 0 位}

3.生成标刻自定义图形的三次文件字符串

自定义图形本质上可以分解为线段进行绘制,在进行激光标刻时也是采用线段的形式,在生成自定义图形时,只需要控制每一条线段的起始点和结束点位置,同时在起始点和结束点的位置控制延时参数,最后在完成绘制时关闭激光和使能即可。下面是部分生成三次文件字符串以及下载的代码。
void MainWindow::on_create_File3_clicked(){    LaserScan_z3p_Init(strFile3);    ListNode *ps = layers->next;    do    {        Coordinate * pData = ps->data;        if(ps->type == 1)//标刻点        {            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);        }        else if(ps->type == 2)//标刻直线        {            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);         }        else if(ps->type == 3)//标刻圆弧        {            LaserScan_z3p_Arc(pData->next->x + ps->radius,pData->next->y - ps->radius,ps->radius,ps->angle,ps->radian,0,0);        }        else if(ps->type == 4)//标刻整圆        {            LaserScan_z3p_Arc(pData->next->x + ps->radius,pData->next->y - ps->radius,ps->radius,0,360,0,0);        }        ......        //标刻其他类型        ps = ps->next;    }while(ps != layers);}

4.设置运行任务号,启动任务进行标刻

三次文件已经下载到控制器中,这个时候可以通过ZMC_Execute函数输入命令去运行生成的三次文件,完成图形的标刻。下面的启动任务,进行标刻的部分实现代码。

void MainWindow::on_but_Mark_clicked(){    if( 0 == g_handle)    {        QMessageBox::warning(this,"提示","控制器未连接!");        return;    }    QString Cmd;    char Response[1024];    //设置启动任务号,执行Zmc_polyline.z3p    ZMC_Execute(g_handle,"FILE3_RUN  \"Zmc_polyline.z3p\",7 ",500,Response,1024);}

5.设置配置文件信息,保留配置参数

通过生成ini配置文件信息,在程序加载时读取文件,程序关闭时将配置数据写到ini配置文件中,以此实现保留最后一次的使用参数,方便下一次加载使用。通过使用内部函数库QSettings实现的,下面是部分的实现代码。

void MainWindow::saveINI(){    //保存配置数据信息    QSettings *iniWrite = new QSettings("config.ini",QSettings::IniFormat);    iniWrite->setValue("laserType",ui->laser_List->currentIndex());    .....    delete iniWrite;}void MainWindow::readINI(){    //读取配置文件数据    QSettings *iniRead = new QSettings("config.ini",QSettings::IniFormat);    int laserType = iniRead->value("laserType").toInt();    ui->laser_List->setCurrentIndex(laserType);    .....    delete iniRead;}



05
自定义图形标刻的实现效果

1.打开Qt绘制的基本图形界面,设置基本的激光器参数和运动参数。

2.添加想要标刻的自定义图形,设置图形参数,选择添加图形,例程中添加的图形为点、矩形、整圆、圆弧、直线,点击生成三次文件后,查看三次文件的内容。

3.点击标刻即可完成已选自定义图形的标刻。

4.分析生成的三次文件信息,下面是生成三次文件的部分内容,三次文件的开头都是对轴参数加工参数的设置,当移动到运动起始点时,设置开光参数和延时参数,在轨迹完成时设置关光延时和关光操作。

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



06
激光标刻过程
激光标刻的过程,初始化、空移、开光、标刻、关光都封装成函数接口,在进行标刻时,调用相关的函数接口即可生成对应的三次文件字符串。

完整代码获取地址

本次,正运动技术开放式激光振镜运动控制器在Ubuntu+Qt下自定义图形标刻,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

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

回顾往期内容

开奖啦!参与《运动控制系统应用与实践》赠书活动的粉丝们看这里

送书福利!全自主IDE的《运动控制系统应用与实践》

开放式激光振镜运动控制器在Ubuntu+Qt下CAD图形标刻

开放式激光振镜运动控制器在Ubuntu+Qt下的文本标刻

开放式激光振镜运动控制器在Ubuntu+Qt下的激光振镜校正

EtherCAT运动控制器上位机开发之Python+Qt(三):PDO配置与SDO读写

EtherCAT运动控制器上位机开发之Python+Qt(二):回零

EtherCAT运动控制器上位机开发之Python+Qt(一):链接与单轴运动

C#之Delta并联机械手的视觉同步分拣

C#之Delta并联机械手的视觉相机标定与形状匹配

C#之Delta并联机械手正逆解的建立和手动运动

PCIe EtherCAT实时运动控制卡PCIE464的安装与调试

PCIe EtherCAT实时运动控制卡PCIE464的IO与编码器读写应用

PCIe EtherCAT实时运动控制卡的DXF图形的CAD导图与多条运动指令的快速加工

VPLC7机器视觉运动控制一体机在三轴SCARA机械手螺丝锁付的应用

VPLC系列机器视觉运动控制一体机在五轴联动点胶上的应用

基于VPLC7机器视觉运动控制一体机的UVW视觉对位解决方案

基于VPLC711的曲面外观检测XYR运动控制解决方案

基于VPLC532E开放式数控系统在五轴义齿机上的应用

机器视觉运动控制快组态软件RTFuse在XYZ三轴运动平台的应用方案

机器视觉运动控制一体机VPLC532E在汽车胶带缠绕的开放式CNC应用

机器视觉运动控制一体机在喇叭跟随点胶上的应用

机器视觉运动控制一体机在光伏汇流焊机器人系统的解决方案

机器视觉运动控制一体机在点胶胶路检测上的应用

机器视觉运动控制一体机在SCARA机械手柔性上下料的应用

开放式激光振镜运动控制器在动力电池模组连接片的焊接应用

开放式激光振镜运动控制器的视觉校正振镜精度解决方案

开放式激光振镜运动控制器的激光清洗应用

PCIE超高速实时运动控制卡在六面外观视觉检测上的应用

超高速PCIe EtherCAT运动控制卡在高速异形插件机上的应用

运动控制器多工位位置比较输出在转盘式视觉筛选设备中的应用

EtherCAT总线冗余让制造更安全更可靠更智能

机器视觉运动控制一体机结构体功能上线,助力客户高效开发

正运动携手EPLAN,以高效的电气设计助力运动控制的数字化设计

BissC绝对值编码器在EtherCAT运动控制器中的应用

EtherCAT运动控制器在SCARA和码垛机械手中的应用

EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划

EtherCAT运动控制器在UVW对位平台中的应用

EtherCAT运动控制器Delta机械手应用

EtherCAT运动控制器的MATLAB开发

运动控制器/运动控制卡配套ZCAN总线ZIO模块的使用

运动控制卡/运动控制器的ZCAN总线ZMIO310扩展模块使用

EtherCAT运动控制器在ROS上的应用(下)

EtherCAT运动控制器在ROS上的应用(上)

皮带同步跟随:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十四)

自定义电子凸轮曲线的运动:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十三)

连续轨迹加工和速度前瞻:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十二)

PT/PVT运动模式介绍:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十一)

项目工程下载与XML配置文件下载:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十)

EtherCAT驱动器回零与控制器回零:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(九)

二维/三维的多轴PSO视觉飞拍与精准输出:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(八)

单轴PSO视觉飞拍与精准输出:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(七)

硬件位置比较输出和编码器锁存:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(六)

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(五):通过RTSys进行调试与诊断

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(四):板载IO与总线扩展IO的编码器与脉冲配置的应用

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(三):EtherCAT总线CSP,CSV,CST模式切换

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(二):EtherCAT总线初始化

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(一):驱动安装与建立连接

全国产EtherCAT运动控制边缘控制器(六):RtBasic文件下载与连续轨迹加工的Python+Qt开发

全国产EtherCAT运动控制边缘控制器(五):IO配置与回零运动的Python+Qt开发

全国产EtherCAT运动控制边缘控制器(四):轴参数配置与单轴运动PC上位机C++控制

全国产EtherCAT运动控制边缘控制器(三):外设读写与RTSys开发诊断

全国产EtherCAT运动控制边缘控制器(二):统一的上位机API接口

全国产EtherCAT运动控制边缘控制器(一):ZMC432H硬件接口

高柔SS加减速曲线在锂电池焊接中的应用

EtherCAT和Ethernet的不同点有哪些, 通信周期又是什么意思?

工业以太网时代,该如何选择总线运动控制器?

正运动技术运动控制器如何快速实现单轴/多轴同步跟随功能?


EtherCAT运动控制器在数控加工手轮随动中的应用

EtherCAT运动控制器在数控加工手轮随动中的应用之C++

EtherCAT运动控制器在LabVIEW中的运动控制与实时数据采集

运动控制器PSO视觉飞拍与精准输出的C++开发(三):二维/三维/多轴PSO输出

运动控制器PSO视觉飞拍与精准输出的C++开发(二):多轴PSO等距/周期输出

运动控制器PSO视觉飞拍与精准输出的C++开发(一):单轴PSO

运动控制器八通道PSO的视觉飞拍与精准输出

Windows实时运动控制软核(七):LOCAL高速接口测试之Labview

Windows实时运动控制软核(六):LOCAL高速接口测试之Matlab

Windows实时运动控制软核(五):LOCAL高速接口测试之VC6.0

Windows实时运动控制软核(四):LOCAL高速接口测试之VB.NET

Windows实时运动控制软核(三):LOCAL高速接口测试之C++

Windows实时运动控制软核(二):LOCAL高速接口测试之Qt

Windows实时运动控制软核(一):LOCAL高速接口测试之C#

开放式激光振镜运动控制器:C++ 快速调用图形库应用

开放式激光振镜运动控制器:C++振镜矫正方法与实现

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


开放式激光振镜运动控制器(五):ZMC408SCAN 光纤激光器的能量控制

开放式激光振镜运动控制器(四):ZMC408SCAN振镜控制光纤激光器加工

开放式激光振镜运动控制器(三):ZMC408SCAN轴控光纤激光器加工

开放式激光振镜运动控制器(二):ZMC408SCAN激光接口与控制

开放式激光振镜运动控制器(一):ZMC408SCAN接口与功能


运动控制器PSO位置同步输出(三):高精度等间距二维三维PSO输出

运动控制器PSO位置同步输出(二):PSO模式详解

运动控制器PSO位置同步输出(一):硬件平台与PSO指令简介


经济型EtherCAT运动控制器(十):EtherCAT总线快速入门

经济型EtherCAT运动控制器(九):示波器使

经济型EtherCAT运动控制器(八):轴参数与运动指令

经济型EtherCAT运动控制器(七):运动缓冲

经济型EtherCAT运动控制器(六):数据储存

经济型EtherCAT运动控制器(五):多任务运行

经济型EtherCAT运动控制器(四):ModbusRTU或ModbusTcp与触摸屏通讯

经济型EtherCAT运动控制器(三):PLC实现多轴直线插补与电子凸轮

经济型EtherCAT运动控制器(二):ZBasic实现多轴直线插补运动

经济型EtherCAT运动控制器(一):功能简介与应用场景


运动控制+机器视觉Demo软件框架(三):视觉纠偏+连续插补的配方编辑

运动控制+机器视觉Demo软件框架(二):移动标定和形状匹配

运动控制+机器视觉Demo软件框架(一):机械参数和配方文件的管理

运动控制+机器视觉Demo软件框架系统概述


开放式激光振镜+运动控制器(六):双振镜运动

开放式激光振镜+运动控制器(五):ZMC408SCAN控制器硬件介绍

开放式激光振镜+运动控制器(四):PSO位置同步输出在激光振镜加工中的应用

开放式激光振镜+运动控制器(三):振镜矫正

开放式激光振镜+运动控制器(二):振镜填充

开放式激光振镜+运动控制器(一):硬件接口


EtherCAT轴扩展模块EIO16084在运动控制系统中的应用
EtherCAT运动控制器中脉冲接口的快速调试与诊断
EtherCAT运动控制器之ZMIO300模块的使用
EtherCAT运动控制器的PLC编程(四) 电子凸轮
EtherCAT运动控制器的PLC编程(三) 电子齿轮
EtherCAT运动控制器的PLC编程(二) 圆弧插补
EtherCAT运动控制器的PLC编程(一) 直线插补


快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

快速入门 | 篇二十一:正运动技术运动控制器自定义通讯

快速入门 | 篇二十:正运动技术运动控制器MODBUS通讯

快速入门 | 篇十九:正运动技术运动控制器多轴同步与电子凸轮指令简介


快速入门 | 篇十八:正运动技术脉冲型运动控制器的使用

快速入门 | 篇十七:运动控制器多轴插补运动指令的使用

快速入门 | 篇十六:正运动控制器EtherCAT总线快速入门

快速入门 | 篇十五:运动控制器运动缓冲简介

快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令

快速入门 | 篇十三:正运动技术运动控制器ZDevelop 编程软件的使用


快速入门 | 篇十二:正运动技术运动控制器U盘接口的使用

快速入门 | 篇十一:正运动技术运动控制器中断的应用

快速入门 | 篇十:运动控制器多任务运行特点

快速入门 | 篇九:如何进行运动控制器示波器的应用?

快速入门 | 篇八:如何进行运动控制器EtherCAT总线的基础使用?

快速入门 | 篇七:如何进行运动控制器ZCAN总线扩展模块的使用?


快速入门 | 篇六:如何进行运动控制器数据与存储的应用?

快速入门 | 篇五:如何进行运动控制器输入/输出IO的应用?

快速入门 | 篇四:如何进行运动控制器与触摸屏通讯?

快速入门 | 篇三:如何进行运动控制器ZPLC程序开发?

快速入门 | 篇二:如何进行运动控制器ZBasic程序开发?

快速入门 | 篇一:如何进行运动控制器固件升级?


EtherCAT与RTEX驱动器轴回零的配置与实现

G代码在运动控制器上的应用

运动控制器的自定义G代码编程应用

离线仿真调试,加快项目进度!

8轴EtherCAT轴扩展模块EIO24088的使用

运动控制器之追剪应用Demo

运动控制器激光振镜控制
运动控制器轴回零的配置与实现

运动控制器位置锁存功能的应用

ZMC运动控制器SCARA机械手应用快速入门

运动控制器RTEX总线使用入门

正运动技术CAD导图软件配合控制器的使用方法

EtherCAT总线运动控制器应用进阶一


EtherCAT运动控制卡开发教程之Qt(下):SCARA机械手正反解的建立

EtherCAT运动控制卡开发教程之Qt(中):小线段连续轨迹加工、暂停与继续

EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用


EtherCAT运动控制卡开发教程之python

EtherCAT运动控制卡的SCARA等机器人指令的应用

EtherCAT运动控制卡的PWM与模拟量输出和运动速度同步

EtherCAT运动控制卡硬件比较输出以及编码器锁存

EtherCAT运动控制卡IO动作与运动控制的同步

EtherCAT运动控制卡实时程序的运行和读写控制


EtherCAT运动控制卡的运动暂停、恢复与系统安全设置

EtherCAT运动控制卡小线段前瞻的连续插补运动

EtherCAT运动控制卡的多轴插补运动和手轮运动

EtherCAT运动控制卡的辅助调试工具与方法介绍

EtherCAT运动控制卡的总线轴参数设置和轴运动

EtherCAT运动控制卡的硬件接线与C#的硬件外设读写与回零运动

EtherCAT运动控制卡的硬件接线与C#的单轴运动控制


简单易用的运动控制卡(十六):螺距补偿和反向间隙补偿

简单易用的运动控制卡(十五):PC启停控制器的实时程序

简单易用的运动控制卡(十四):PWM、模拟量输出与运动控制的同步

简单易用的运动控制卡(十三):IO动作与运动控制的同步

简单易用的运动控制卡(十二):运动控制系统的安全设置

简单易用的运动控制卡(十一):运动的暂停恢复和速度倍率设置


简单易用的运动控制卡(十):连续插补和小线段前瞻

简单易用的运动控制卡(九):圆弧插补和螺旋插补

简单易用的运动控制卡(八):直线插补和手轮运动

简单易用的运动控制卡(七):一次性加载多条连续小线段数据

简单易用的运动控制卡(六):Basic文件下载和连续轨迹加工


简单易用的运动控制卡(五):IO配置与回零运动

简单易用的运动控制卡(四):函数库的封装

简单易用的运动控制卡(三):轴参数配置和单轴运动控制

简单易用的运动控制卡(二):外设读写与ZDevelop诊断

简单易用的运动控制卡(一):硬件接线和上位机开发


运动控制卡在ROS上的应用(下)

运动控制卡在ROS上的应用(上)


EtherCAT运动控制卡和LabVIEW构建智能装备(五)

EtherCAT运动控制卡和LabVIEW构建智能装备(四)

EtherCAT运动控制卡和LabVIEW构建智能装备(三)

EtherCAT运动控制卡和LabVIEW构建智能装备(二)

EtherCAT运动控制卡和LabVIEW构建智能装备(一)

EtherCAT运动控制卡在LabVIEW中的运动控制与数据采集


运动控制卡应用开发教程之MATLAB

运动控制卡应用开发教程之C++

运动控制卡应用开发教程之Python

运动控制卡应用开发教程之C#

运动控制卡应用开发教程之Linux

运动控制卡应用开发教程之VB.NET


运动控制卡应用开发教程之VB6.0

运动控制卡应用开发教程之VC6.0

运动控制卡应用开发教程之使用Qt

运动控制卡应用开发教程之LabVIEW

运动控制卡应用开发教程之激光振镜控制

运动控制卡应用开发教程之硬件比较输出


关于正运动技术



深圳市正运动技术有限公司成立于2013年,专注于纯国产运动控制技术研究和通用运动控制软硬件平台和产品的研发,是国家级高新技术和专精特新“小巨人”企业。

正运动技术汇集了来自华为、中兴等公司的优秀人才。力求创新,目前公司拥有专利、著作权等知识产权五十余项。在坚持自主创新的同时,积极联合各大高校和科研院所协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。

正运动技术除本部研发中心外,设有中山、武汉、上海三个研发分部。为更好地服务客户,本部之外设有苏州、东莞两个区域性服务中心,设有佛山、厦门、青岛、西安、武汉、成都、天津、郑州等销售和技术服务机构。

经过众多合作伙伴多年的开发应用,正运动技术的产品广泛地应用于3C电子、半导体、新能源、机器人、包装印刷、纺织服装、激光加工、医疗制药、数控机床、传统加工等领域。

正运动小助手
正运动小助手是正运动技术旗下技术资料平台,可第一时间发布最新产品技术文档,为您奉上最全面的运动控制产品基础知识介绍、使用注意事项及操作步骤指引等资料。
 最新文章