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

科技   科技   2024-08-15 07:01   广东  

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



ZMC408CE硬件介绍



ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。

ZMC408CE支持8轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。

ZMC408CE支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。

ZMC408CE支持8轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24路输入口和16路输出口,部分IO为高速IO,模拟量AD/DA各两路,EtherCAT最快125us的刷新周期。
ZMC408CE支持8个通道的硬件比较输出、硬件定时器、运动中精准输出,还支持8通道PWM输出,对应的输出口为OUT0-7,支持8个通道同时触发硬件比较输出。

ZMC408CE视频介绍

更多关于ZMC408CE的详情介绍,点击推荐|8通道PSO的高性能EtherCAT总线运动控制器查看。



PCIE464M硬件介绍



PCIE464M是一款基于PCIe的PCI Express的EtherCAT总线运动控制卡,具有多项实时和高精度运动控制控制功能。

用户可直接将PCIE464M嵌入标准PC机实现高性能的EtherCAT运动控制功能,实现高精多轴同步控制,EtherCAT控制周期最小可达100us!

PCIE464M内置多路高速IO输入输出,可满足用户的多样化高速IO应用需求,如:高速色标锁存、高速PWM、多维位置比较输出PSO、视觉飞拍、速度前瞻、编码器位置检测等应用。

PCIE464M运动控制卡上自带16进16出,第三方图像处理工控机或PC无需额外配置IO数据采集卡和PLC,即可实现IPC形态的机器视觉运动控制一体机,简化硬件架构,节省成本,软硬件一体化。

PCIE464M视频介绍

更多关于PCIE464M的详情介绍,点击PCIE464M-高速高精,超高速PCIe EthrtCAT实时运动控制卡查看。



▶▶▶

PT指令与PVT指令

1.PT运动介绍

PT(Position-Time)运动:是一种单位时间内的运动位置控制技术,主要用于控制步进电机和伺服电机等运动设备在设定时间内实现精确的轴位置控制。位置跟时间参数一般是PC每个周期计算好对应的坐标,然后传给控制器。

PT算法:在用户定义的“位置和时间”点之间,PT算法计算出一个合适的速度曲线。PT算法保证控制卡的轨迹计算符合每一个已知的点和时间。分段速度简单的由位置和时间的差分计算出来。

PT运动适用场景:适用于近距离的点位运动或低速度的运动。它是非常简单的算法,需要很少的计算量,因此计算速度很快。在低性能的运动系统中很受欢迎。但如果点之间间隔太大,那么运动将会很粗糙,因为每一段的加速度将会显得不连续。

PT运动为保证设定的单位时间内达到规划的目标位置,控制器自动生成相应的加速度、速度曲线规划。如果在极短时间内运动大距离,脉冲频率会过高,导致电机堵转。建议分解成小段,重复发送,连续的多个周期PT运动时, 速度会自动均匀。

2.PVT运动介绍

PVT(Position-Velocity-Time)运动:是一种基于位置、速度和时间的综合控制方法,通过协调这三个方面的参数,实现对运动系统的精准控制。PVT在一段时间内驱动电机运动设置的距离,可以指定结束速度,小段内速度会自动根据前面的速度与结束速度来自动规划,尽可能连续。位置、速度跟时间参数一般是PC每个周期计算好对应的坐标,然后传给控制器。

PVT算法:在用户定义的“位置/速度/时间”点之间,PVT算法计算出合适的Jerk参数(加加速度,非恒定加速度)。这个算法保证轨迹计算合符每个已知点的位置、速度和时间。

PVT模式算法适用场景:PVT算法对于平滑轨迹和轨迹跟踪非常有效。位置轨迹点可以间隔很近,也可以间隔很大。比如说对于复杂的路径,点位需要间隔很近;对于简单的路径,点位可以间隔很大。PVT可以手动指定点位置,但是要确定好每个点的合适速度值。

3.正运动的PT指令与PVT指令

相关的指令说明可以打开RTSys软件,点击软件右上角的【帮助文档】,选择RTBasic编程手册,在第七章的7.3节特殊运动指令章节进行查看。



▶▶▶

ZBasic快速验证自定义轨迹规划指令MOVE_PTABS

1.MOVE_PTABS指令的介绍。

注意距离参数dis的单位不是脉冲数,dis*units才表示具体的脉冲数。

时间参数ticks的单位是伺服周期,控制器的伺服周期可以通过RTSys软件的在线命令输入?*max进行打印。

如下图SERVO_PERIOD:1000 min:500 max:4000表示当前控制器的伺服周期是1000us,伺服周期的可调范围是500us到4000us。

控制器伺服周期可以通过在线命令发送SERVO_PERIOD=500把伺服周期设置成500us,控制器断电重启后生效。

2.如何通过move_ptabs指令来封装接口来实现单轴Sin曲线的位置规划。

(1)接口详情
'主函数逻辑'轴参数初始化BASE(0,1,2)DPOS=0,0,0MPOS=0,0,0UNITS=100,100,100MAX_SPEED=10000000,10000000,10000000'停止线程和轴运动STOPTASK 1RAPIDSTOP(2)WAIT IDLE'清除控制器报警DATUM(0)'开始轨迹规划'单轴Sin曲线,振幅10,周期100个SERVO_PERIOD,初相角 0°Runtask 1,MySingleAxisSin(0,10,Pi/50,0)END'/**********************************************************************'函数功能:单轴sin函数的轨迹'函数模型:y=Amp*sin(Rad*x+Ipa)' 输  入 :Amp(振幅)、Rad(角速度ω,弧度制)、Ipa(初相角φ,弧度制)' 输  入 :AxisNum(运动的轴)' 输  出 :' 备  注 :周期=2*Pi/Rad*10(控制周期)'**********************************************************************/GLOBAL SUB MySingleAxisSin(AxisNum,Amp,Rad,Ipa)    LOCAL lvTime    lvTime=0    '选择要运动的轴     BASE(AxisNum)    WHILE 1         '通过PT运动下发运动指令        MOVE_PTABS(10,Amp*SIN(Rad*lvTime+Ipa))        lvTime=lvTime+1        DELAY(1)    WENDENDSUB
(2)测试结果

单轴Sin效果演示

3.如何通过move_ptabs指令来封装接口实现多轴的Sin曲线的位置规划。

(1)接口详情
'主函数逻辑'轴参数初始化BASE(0,1,2)DPOS=0,0,0MPOS=0,0,0UNITS=100,100,100MAX_SPEED=10000000,10000000,10000000'停止线程和轴运动STOPTASK 1RAPIDSTOP(2)WAIT IDLE'清除控制器报警DATUM(0)'开始轨迹规划'多轴的Sin曲线规划Runtask 1,MyMultAxisSin(10,Pi/50,0,10,Pi/100,0,10,Pi/200,0)END'/**********************************************************************'函数功能:0、1、2轴的3轴sin函数的轨迹  '函数模型:y1=A1mp*sin(Rad1*x+Ipa1)'     :y2=A2mp*sin(Rad2*x+Ipa2)'     :y3=A3mp*sin(Rad3*x+Ipa3)' 输  入 :Amp(振幅)、Rad(角速度ω,弧度制)、Ipa(初相角φ,弧度制)' 输  出 :' 备  注 :周期=2*Pi/Rad*10(控制周期)'**********************************************************************/GLOBAL SUB MyMultAxisSin(Amp1,Rad1,Ipa1,Amp2,Rad2,Ipa2,Amp3,Rad3,Ipa3)    LOCAL lvTime    lvTime=0    '选择要运动的轴    BASE(0,1,2)    WHILE 1         MOVE_PTABS(10,Amp1*SIN(Rad1*lvTime+Ipa1),Amp2*SIN(Rad2*lvTime+Ipa2),Amp3*SIN(Rad3*lvTime+Ipa3))\        lvTime=lvTime+1        DELAY(1)    WENDENDSUB
(2)测试结果

多轴Sin效果演示

4.如何在move_ptabs指令后插入move_op指令来实现运动中对输出口的操作。

(1)假设需要在每执行Spasce个周期就需要操作一下输出口0,接口详情如下。

'主函数逻辑'轴参数初始化BASE(0,1,2)DPOS=0,0,0MPOS=0,0,0UNITS=100,100,100MAX_SPEED=10000000,10000000,10000000'停止线程和轴运动STOPTASK 1RAPIDSTOP(2)WAIT IDLE'清除控制器报警DATUM(0)'开始轨迹规划'单在Sin曲线轨迹规划插入对输出口的操作指令MySingleAxisSinOP(0,10,Pi/50,0,0.25)END'/**********************************************************************'函数功能:单轴sin函数的轨迹+MOVE_OP '函数模型:y=Amp*sin(Rad*x+Ipa)' 输  入 :Amp(振幅)、Rad(角速度ω,弧度制)、Ipa(初相角φ,弧度制)' 输  入 :AxisNum(运动的轴),Space(间隔多少个周期操作一下输出口)' 输  出 :' 备  注 :周期=2*Pi/Rad*10(控制周期)'**********************************************************************/GLOBAL SUB MySingleAxisSinOP(AxisNum,Amp,Rad,Ipa,Space)    LOCAL lvTime,lvOpFlag    lvTime=0    lvOpFlag=0    MOVE_OP(0,OFF)    WHILE 1         MOVE_PTABS(10,Amp*SIN(Rad*lvTime+Ipa))        '检测是否执行到Space个周期,执行到需要打开/关闭输出口        IF lvTime MOD(Space*2*Pi/Rad) = 0THEN            IF lvOpFlag=1 THEN                MOVE_OP(0,OFF)                lvOpFlag=0            ELSE                MOVE_OP(0,ON)                lvOpFlag=1            ENDIF        ENDIF        lvTime=lvTime+1        DELAY(1)    WENDENDSUB
(2)测试结果

单轴Sin_OP效果演示

5.如何通过硬件定时器对输出口进行操作。

(1)硬件定时器指令介绍

MOVE_HWTIMER(mode, cyclonetime, optime, reptimes, opstate, opnum )

①mode:0-停止硬件定时器,1-动态修改参数(不修改启动设置),2-启动(启动后不可重复开启)

②cyclonetime:周期时间,us单位

③optime:有效时间,us单位

④reptimes:重复次数,启动模式,reptimes =0时,软关闭HW_TIMER,原来的脉冲没有完成的,会继续输出完成;-1时无限输出,除非主动关闭

⑤opstate:输出缺省状态,输出口变为非此状态后开始计时(输出口初始状态OFF。一般此参数设为OFF,将输出口变为ON状态后开始计时)

⑥opnum:输出口编号,必须能硬件比较输出的口。

(2)测试代码详情

'主函数逻辑'轴参数初始化BASE(0,1,2)DPOS=0,0,0MPOS=0,0,0UNITS=100,100,100MAX_SPEED=10000000,10000000,10000000'停止线程和轴运动STOPTASK 1RAPIDSTOP(2)WAIT IDLE'清除控制器报警DATUM(0)'开始轨迹规划'单在Sin曲线轨迹规划插入对输出口的操作指令MySingleAxisSinOP(0,10,Pi/50,0,0.25)END'/******************************************************************************  '函数功能:单轴sin函数的轨迹+输出口多次输出'函数模型:y=10*sin(Pi/50*x+0)' 输  入 :AxisNum(运动的轴)' 输  出 :'具体需求:要求Sin函数每隔0.5个周期打开一次输出口,并且输出口的以脉冲的形式输出4个脉冲'******************************************************************************/GLOBAL SUB MySingSinOP_HwTime(AxisNum)    LOCAL lvTime,Space    lvTime=0    Space=0.5    BASE(AxisNum)    MOVE_OP(0,OFF)    MOVE_HWTIMER(0, 60000, 30000, 4, OFF, 0)    MOVE_HWTIMER(2, 60000, 30000, 4, OFF, 0)    WHILE 1         MOVE_PTABS(10,10*SIN(PI*lvTime/50+0))        '检测是否执行到Space个周期,执行到需要打开/关闭输出口,mod是求余指令        IF lvTime MOD (50) = 0THEN            MOVE_OP(0,ON)        ENDIF        lvTime=lvTime+1        DELAY(1)    WENDENDSUB
(3)测试结果

HwTimer效果演示



▶▶▶

Qt进行自定义轨迹规划的算法验证

1.新建QT项目,并添加正运动的动态库到项目里面。

(1)新建Qt项目。

图2-1 新建Qt项目

图2-2 选择Qt编译套件(kits)

图2-3 选择基类

(2)将函数库相关的文件复制到新建的项目中。

图2-4 库文件复制

(3)向新建的项目里面添加函数库的静态库。(zmotion.lib)

图2-5 添加函数库1

图2-6 添加函数库2

图2-7 添加函数库3

(4)添加函数库相关的头文件到项目中。

图2-8 添加头文件1

(5)声明相关头文件,并定义连接句柄。

2.正运动动态库相关接口说明。

(1)运动PC函数库编程手册所在路径。

(2)上位机如何连接控制器。

指令3

ZAux_OpenEth

指令原型

int32  __stdcall  ZAux_OpenEth(char  *ipaddr, ZMC_HANDLE * phandle)

指令说明

以太网连接控制器。

输入参数

参数名

描述

Ipaddr

连接的IP地址

输出参数

参数名

描述

Phandle

返回的连接句柄

返回值

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

指令示例

网口连接控制器

详细说明

1.网口采用RJ45标准网线接口,通讯速率为100Mbit/s。

2.控制器出厂的IP地址为192.168.0.11,端口号为502。对端通讯设备需与控制器处于同一网段,才可进行连接。

3.最常用的控制器连接方式。

4.ZMC_HANDLE 类型:Zmotion库中,专门用于控制卡连接数据定义类型;

(3)上位机如何下发自定义的轨迹规划参数。

指令23

ZAux_Direct_MultiMovePtAbs

指令原型

int32 __stdcall ZAux_Direct_MultiMovePtAbs(ZMC_HANDLE handle, int iMoveLen, int imaxaxises, int *piAxislist, uint32 *pTickslist, float *pfDisancelist)

指令说明

在规定ticks内驱动电机运动设置的绝对距离。Ticks:时间长度,大约为1ms

输入参数

参数名

描述

handle

连接标识。

iMoveLen

填写的运动数量

imaxaxises

参与运动总轴数

piAxislist

轴号列表

pTickslist

Ticks周期列表

pfDisancelist

运动距离列表

输出参数

/

返回值

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

指令示例

Pt运动

详细说明

一般是PC每个周期计算好对应的坐标,然后传给控制器。运动时的速度=(运动距离/时间长度)*1000 units/s。不要在极短时间运动大距离,脉冲频率会过高,电机堵转,可以分解成小段,重复发送。

3.Qt自定义轨迹规划案例讲解。

(1)案例Ui讲解。

该例程除了可以下发Sin曲线的轨迹外,还可以按照设定的角度间隔操作输出口输出,打开输出口后硬件定时器将生效,会按照设定的周期去重复操作输出口,重复操作输出口的次数及界面上的脉冲持续个数。

(2)案例代码讲解。

①连接控制器。
//连接控制器void MainWindow::on_LinkButton_clicked(){    int err=0;    if(g_handle == NULL)    {        QString ControllerIp = ui->IPcomboBox->currentText();        QByteArray IpStr = ControllerIp.toLocal8Bit();        err = ZAux_OpenEth(IpStr.data(),&g_handle);        if(err!=0)        {            QMessageBox::about(this, "提示","连接失败请确认IP正确!");        }    }    else    {        QMessageBox::about(this, "提示", "句柄非空请先断开链接!");    }}

②启动自定义轨迹规划算法测试。

//点击启动按钮,如果条件满足讲会讲标志位RunFlag设置为从而触发定时器下发自定义的轨迹void MainWindow::on_StartRun_clicked(){    if(g_handle!=0)    {        if(RunFlag==0)        {            //初始化轴参数            //例程为方便测试,直接把规划位置DPOS清空            ZAux_Direct_SetDpos(g_handle,0,0);            //例程为方便测试,直接把编码器位置MPOS清空            ZAux_Direct_SetMpos(g_handle,0,0);                   ZAux_Direct_SetUnits(g_handle,0,1000);            //关闭硬件定时器            ZAux_Direct_HwTimer(g_handle,0,10000,5000,1,0,0);            //启动硬件定时器功能,脉冲周期是50ms,高电平持续时间是25ms               ZAux_Direct_HwTimer(g_handle,2,50000,25000,ui->PluseNum->text().toInt(),0,0);            //启动自定义轨迹规划算法测试            CurAanle=0;            RunFlag=1;        }        else        {            QMessageBox::about(this, "提示", "运行中请先停止");          }    }}//定时器的超时服务子函数void MainWindow::MyTimeOut(){    if(g_handle!=NULL)    {        //如果启动条件满足则开始下发运动指令        if(RunFlag==1)        {            int AxisList[1]={0};         //轴列表            uint32 TicksList[1]={10};    //时间列表            float PosList[1]={0};        //位置列表            float OpCycTime=0;           //操作输出口的周期时间            int RemainBuff=0;            //剩余缓冲器            int A = ui->ParaAmp->text().toInt(); //更新Sin曲线的振幅            double Rad =  qDegreesToRadians(ui->ParaRad->text().toDouble());//更新Sin曲线的角速度            double Ipa =  qDegreesToRadians(ui->ParaIpa->text().toDouble());//更新Sin曲线的初相角            OpCycTime = (2*M_PI/Rad*(ui->Angle->text().toInt()/360.0));            //获取剩余轴缓冲器数目            ZAux_Direct_GetRemain_Buffer(g_handle,0,&RemainBuff);            //如果剩余缓冲器够下发新的运动指令            if(RemainBuff>10)            {                for(int i=0;i<10;i++)                {                    // 计算正弦值                    PosList[0] = A*qSin(Rad*CurAanle+Ipa);                    //下发正弦曲线                    ZAux_Direct_MultiMovePtAbs(g_handle,1,1,AxisList,TicksList,PosList);                    //如果到达打开输出口的角度,则下发打开输出口的指令                    if(((int)(CurAanle/OpCycTime))*OpCycTime==CurAanle)                    {                        ZAux_Direct_MoveOp(g_handle,0,0,1);                    }                    CurAanle=CurAanle+1;                }            }        }    }}
(3)通过RTSys的示波器功能接口自定义轨迹的运动效果。

完整代码获取地址

本次,正运动技术EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划,就分享到这里。

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

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

回顾往期内容

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

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

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三轴运动平台的应用方案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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硬件接口

简单易用的以太网数据采集卡应用开发之C#

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

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

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

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


EtherCAT运动控制器的MATLAB开发

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电子、半导体、新能源、机器人、包装印刷、纺织服装、激光加工、医疗制药、数控机床、传统加工等领域。

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