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

科技   科技   2024-07-30 07:02   广东  

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

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实时运动控制卡查看。



Python语言开发流程


本文案例Python开发环境:

操作系统环境:Win10_64位

Python版本:python-3.10.10-amd64.exe

Pycharm版本:pycharm-community-2024.1.3.exe

1、Python开发前对环境、解析器进行配置。

1)安装汉化包:点击file → setting → plugins,然后搜索Chinese中文包。

2)python解析器安装Pyside2软件包(QT库):File → Settings → Project pythonProject。

3)配置自定义控件:File → Settings → Tools → External Tools点击+新增自定义工具。


自定义QtDesigner
目的:用于生成.ui文件

Name:QtDesigner

Group:Qt

Program:PySide2安装路径下的 designer.exe 路径

例如:C:\Python\Python39\Scripts\pyside2-designer.exe

Working directory:$ProjectFileDir$

自定义Pyside2-uic
目的:将制作好的.ui文件转化为.py文件

Name:Pyside2-uic

Group:Qt

Program:Python安装目录下Scripts\pyside2-uic.exe

例如:C:\Python\Python39\Scripts\pyside2-uic.exe  

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working directory:$FileDir$

自定义Pyside2-rcc
目的:将图片文件转化为.py文件

Name:Pyside2-rcc

Group:Qt

Program:Python安装目录下Scripts\pyside2-rcc.exe

例如:C:\Python\Python39\Scripts\pyside2-rcc.exe  

Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py

Working directory:$FileDir$
4)配置好自定义控件后,后续可以直接在pycharm菜单中使用。


Python+Qt进行运动控制开发


1、新建项目

2、UI设置界面

1)进入项目ui设置界面:工具 → Qt → QtDesigner。

2)设置项目Ui:通过拖动控件到界面设置ui。

3)ui设置完后保存文件:文件 → 保存。

3、Python运行UI

1)添加UI运行的python文件:选中项目右键 → 新建 → Python File。

2)Ui_Weiget文件里面添加UI处理的类。

from PySide2.QtCore import QFilefrom PySide2.QtUiTools import QUiLoaderclass UiInterFace:    def __init__(self):        # 从文件中加载UI定义        q_state_file = QFile("mainWeiget.ui")        q_state_file.open(QFile.ReadOnly)        q_state_file.close()        # 从 UI 定义中动态 创建一个相应的窗口对象        self.ui = QUiLoader().load(q_state_file)
3)同步骤1添加主运行python文件Main,并添加主入口运行函数。
from PySide2.QtWidgets import QApplicationfrom Ui_Weiget import UiInterFaceif __name__ == "__main__":    app = QApplication([])  #加载所有控件    ui_interface = UiInterFace()   #创建窗体对象    ui_interface.ui.show()    #主窗口的控件,全部显示在界面上    app.exec_()             #进入QApplication的事件处理循环
4)此时在Main文件点击运行按钮,可以运行程序显示UI界面。

4、添加库文件、库函数封装的Python文件。

1)找到厂家提供的光盘资料里面的python函数库,路径如下(64位库为例)。

A、进入厂商提供的光盘资料找到“04PC函数”文件夹,并点击进入。

B、选择“PC函数库V2.1”文件夹。

C、选择“Windows平台”文件夹。

D、根据需要选择对应的函数库,这里选择64位库。

E、解压Python64压缩包,里面有Python对应的函数库,与运动函数封装的python文件。

2)将厂商提供的python的库文件以及相关文件复制到新建的项目中。

A、进入dll文件夹,选中zauxdll.dl、zmotion.dll、zauxdllPython.py三个文件复制。

B、选中新建的项目粘贴,便把对应的库文件与封装的运动Python文件粘贴到了项目中。

3)进入ui的python文件在文件开头处导入zauxdllPython文件的ZAUXDLL类,并在界面类中创建ZAUXDLL对象。



相关PC函数介绍


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、读取当前轴运动是否在运动中。

指令39

ZAux_Direct_GetIfIdle

指令原型

int32  __stdcall  ZAux_Direct_GetIfIdle(ZMC_HANDLE  handle, int  iaxis, int  *piValue)

指令说明

读取当前轴运动是否在运动中

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

输出参数

参数名

描述

pfValue

返回的状态:

0 –运动中,-1-未运动

返回值

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

指令示例

多轴直线插补

详细说明

当轴关联为机械手,CONNFRAME逆解时,关节轴一直返回0;CONNREFRAME正解时,虚拟轴一直返回0。

4、设置脉冲当量。

指令18

ZAux_Direct_SetUnits

指令原型

int32 __stdcall ZAux_Direct_SetUnits(ZMC_HANDLE handle,int  iaxis, float  fValue)

指令说明

设置脉冲当量,当设置为1时,表示单位为1个脉冲。

脉冲当量,控制器基本单位。指定每单位发送的脉冲数,支持5位小数精度。

控制器以脉冲当量作为基本单位,修改后坐标显示会随脉冲当量改变比例变化。

输入参数

参数名

描述

handle

控制器连接句柄

iaxis

轴号

fValue

设置的脉冲当量

输出参数

/

返回值

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

指令示例

轴基本运动参数设置获取

详细说明

如何设置

假设电机U=3600脉冲转一圈,丝杠一圈螺距P=2mm:

电机转1°对应的脉冲当量UNITS:

UNITS=U/360=3600/360=10;//此时MOVE(1),电机转1°

工作台走1mm对应的脉冲当量UNTIS:

UNITS=U/P=3600/2=1800,//此时MOVE(1),工作台走1mm

机台存在减速比时,要把减速比算上,假设减速比i=2:1

UNITS=U*i/P=3600*2/2=3600

5、设置轴运动速度。

指令24

ZAux_Direct_SetSpeed

指令原型

int32 __stdcall ZAux_Direct_SetSpeed(ZMC_HANDLE handle,int  iaxis, float  fValue)

指令说明

设置轴速度,单位units/s

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

fValue

设置的轴速度。

输出参数

/

返回值

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

指令示例

轴基本运动参数设置获取

详细说明

1.当多轴运动时,插补运动的速度设置主轴速度,作为插补运动的速度。(主轴:轴列表数组里第0个数据所指定的轴号)

2.速度修改后,立刻生效,可以实现动态变速,但是改变瞬间会抖。希望平滑变速请使用SPEED_RATIO(zbasic指令,PC可以用这个函数:

ZAux_Direct_SetParam(句柄, “SPEED_RATIO”,轴号, 当前速度的比例))来代替掉速度函数,让他在线变速变得相对平滑。

6、单轴持续运动。

指令94

ZAux_Direct_Single_Vmove

指令原型

int32  __stdcall  ZAux_Direct_Single_Vmove(ZMC_HANDLE handle, int  iaxis, int  idir)

指令说明

单轴连续运动指令,连续往一个方向运动。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

idir

方向-1—负向  1—正向。

输出参数

/

返回值

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

指令示例

单轴持续运动

详细说明

当前面的VMOVE运动没有停止时,此VMOVE指令会自动替换前面的VMOVE指令并修改方向,因此无需CANCEL前面的VMOVE指令。

7、单轴绝对运动。

指令93

ZAux_Direct_Single_MoveAbs

指令原型

int32  __stdcall  ZAux_Direct_Single_MoveAbs(ZMC_HANDLE handle, int  iaxis, float  fdistance)

指令说明

单轴绝对运动。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

fdistance

绝对距离。

输出参数

/

返回值

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

指令示例

单轴点位运动

详细说明

/

8、单轴停止运动。

指令189

ZAux_Direct_Single_Cancel

指令原型

int32 __stdcall ZAux_Direct_Single_Cancel (ZMC_HANDLE handle, int iaxis, int imode);

指令说明

单轴运动停止。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

imode

模式:

0 (缺省)取消当前运动

1  取消缓冲的运动

2  取消当前运动和缓冲运动

3  立即中断脉冲发送

输出参数

/

返回值

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

指令示例

单轴持续运动

详细说明

如果指定轴在插补运动轴列表中,无论主轴或者其他轴,都停止轴组的插补运动

MODE0~2减速度按FASTDEC和DECEL中最大的值。

CANCEL后要调用绝对位置运动,必须先等待停止完成。



例程演示


1、连接控制器。

#连接控制器, 控制器默认IP是192.168.0.11,此处使用comboBox内输入的ipdef on_btn_open_clicked(self):    strtemp = self.ui.comboBox.currentText()    print("当前的ip是 :", strtemp)    if self.Zmc.handle.value is not None:        self.Zmc.ZAux_Close()        self.time1.stop()        self.ui.setWindowTitle("单轴运动")    iresult = self.Zmc.ZAux_OpenEth(strtemp)#连接控制器    if 0 != iresult:        QMessageBox.warning(self.ui, "提示", "连接失败")    else:        QMessageBox.warning(self.ui, "提示", "连接成功")        str_title = self.ui.windowTitle() + strtemp        self.ui.setWindowTitle(str_title)        self.Up_State()  #刷新函数        self.time1.start(100)#开启定时器
2、轴运动。

#轴运行函数def on_btn_Run_clicked(self):    if self.Zmc.handle.value is None:        QMessageBox.warning(self.ui, "警告", "未连接控制器")        return    # 获取轴运动状态0 –运动中,-1-未运动    isidle=self.Zmc.ZAux_Direct_GetIfIdle(self.axis_Num)[1].value     isidle=int(isidle)    if self.mode == 1 and not isidle:        QMessageBox.warning(self.ui, "警告", "未停止")        return    # 设置脉冲当量    str_tmp = self.ui.edit_Units.text()    float_tmp = float(str_tmp)    self.Zmc.ZAux_Direct_SetUnits(self.axis_Num, float_tmp)#设置脉冲单量    # 设置运动速度    str_tmp = self.ui.edit_Speed.text()    float_tmp = float(str_tmp)    self.Zmc.ZAux_Direct_SetSpeed(self.axis_Num, float_tmp)#设置运动速度    # 设置加速度    str_tmp = self.ui.edit_Accel.text()    float_tmp = float(str_tmp)    self.Zmc.ZAux_Direct_SetAccel(self.axis_Num, float_tmp)#设置加速度    # 设置减速度    str_tmp = self.ui.edit_Decel.text()    float_tmp = float(str_tmp)    self.Zmc.ZAux_Direct_SetDecel(self.axis_Num, float_tmp)#设置减速    # 设置S曲线    str_tmp = self.ui.edit_Sramp.text()    float_tmp = float(str_tmp)    self.Zmc.ZAux_Direct_SetSramp(self.axis_Num, float_tmp)# 设置S曲线    if 0 == self.mode:        # 单轴持续运动        self.Zmc.ZAux_Direct_Single_Vmove(self.axis_Num, self.direction)    elif 1 == self.mode:        str_tmp = self.ui.edit_Distance.text()        float_tmp = float(str_tmp)        # 单轴相对运动运动        self.Zmc.ZAux_Direct_Single_Move(self.axis_Num, -float_tmp if self.direction == -1 else float_tmp)
3、停止轴运动。

#停止轴运动def on_btn_Stop_clicked(self):    if self.Zmc.handle.value is None:        QMessageBox.warning(self.ui, "警告", "未连接控制器")        return    #获取轴运动状态0 –运动中,-1-未运动    isidle=self.Zmc.ZAux_Direct_GetIfIdle(self.axis_Num)[1].value    if isidle:        QMessageBox.warning(self.ui, "警告", "已停止")        return    #停止单轴运动    self.Zmc.ZAux_Direct_Single_Cancel(self.axis_Num, 2)

4、运行程序观察运行效果。

运行python程序,通过RTSys软件观察运行情况。

5、教学视频。

完整代码获取地址

本次,正运动技术EtherCAT运动控制器上位机开发之Python+Qt(一):链接与单轴运动,就分享到这里。

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

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

回顾往期内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6月3号直播预告 | 认识PCIE464控制卡及其EtherCAT总线学习和使用

6月6号直播预告 | 认识PCIE464控制卡及其EtherCAT驱动器与控制卡常用回零模式介绍

6月13号直播预告 | 认识PCIE464控制卡以及连续轨迹加工和速度前瞻介绍

6月17号直播预告 | 认识XPCIE1032H控制卡以及单轴PSO视觉飞拍和精准输出知识分享

6月20号直播预告 | 认识XPCIE1032H控制卡以及硬件位置比较输出和编码器锁存知识分享

6月24号直播预告 | 认识XPCIE1032H控制卡以及二维/三维的多轴PSO视觉飞拍与精准输出分享

6月27号直播预告 | 认识XPCIE1032H控制卡以及PT/PVT运动模式介绍

7月1号直播预告 | 认识全国产EtherCAT运动控制器ZMC432HG以及板载IO与扩展IO配置技巧和应用

7月4号直播预告 | 全国产EtherCAT运动控制器ZMC432HG及其EtherCAT总线使用

7月8号直播预告 | 全国产EtherCAT运动控制器ZMC432HG及其EtherCAT驱动器与控制器常用回零模式介绍

7月15号直播预告 | 超高速PCIe EtherCAT实时运动控制卡PCIE464M以及单轴PSO视觉飞拍和精准输出知识分享

7月22号直播预告 | 超高速PCIe EtherCAT实时运动控制卡PCIE464M以及连续轨迹加工和速度前瞻知识分享

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运动控制器Delta机械手应用

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

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