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

电子说

1.3w人已加入

描述

本文以正运动技术EtherCAT运动控制器ZMC408CE为例,介绍如何使用LabVIEW对控制器参数进行获取内容并生成示波器波形。

01  ZMC408CE硬件介绍

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

LabVIEW

ZMC408CE支持8轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。ZMC408CE支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。

LabVIEW

ZMC408CE支持8轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24路输入口和16路输出口,部分IO为高速IO,模拟量AD/DA各两路,EtherCAT最快125us的刷新周期。

ZMC408CE支持8个通道的硬件比较输出、硬件定时器、运动中精准输出,还支持8通道PWM输出,对应的输出口为OUT0-7,支持8个通道同时触发硬件比较输出。

02  LabVIEW进行运动控制开发

1、创建LabVIEW项目。

LabVIEW

2.将“光盘资料”里面LabVIEW的Vi函数库“zauxdll”文件夹下载到电脑中,然后复制到LabVIEW安装路径下LabVIEW/user.lib的文件夹内。

LabVIEW

Zauxdll函数库路径

LabVIEW

Zauxdll函数库粘贴路径

3、相关PC函数介绍。

PC函数手册也在光盘资料里面,具体路径如下:“光盘资料8.PC函数函数库2.1ZMotion函数库编程手册 V2.1.pdf”。

LabVIEW

(1)ZAux_OpenEth()接口说明。

LabVIEW

(2)获取table寄存器内容,导入示波器数据源。

LabVIEW

(3)获取规划位置。

LabVIEW

(4)获取反馈速度。

LabVIEW

(5)获取规划速度。

LabVIEW

(6)获取反馈位置。

LabVIEW

(7)电子凸轮运动。

LabVIEW

4、LabVIEW进行运动控制的数据采集数据源获取。

(1)新建Vi,在前面板,右键鼠标,选择控件进行UI设计,如图所示,左边是连接界面以及获取点数、数据源等,右边是示波器图形规划的位置。

LabVIEW

(2)在程序编辑框中通过鼠标,在添加的帧里面添加“While循环”,在“While循环”里面又添加“事件结构”,右击选择添加事件分支,选择“超时”事件,获取当前获取到数据源的采样点数,并将数据源数据导入到示波器中按波形显示出来。

LabVIEW

(3)选择事件结构,右击选择添加事件分支,在循环结构中,当句柄为空时自动进行获取当前ip的控制器,然后在该事件分支中使用“Z Aux Open Eth.vi”函数对控制器进行连接,以实现连接控制器按钮的功能。

LabVIEW

(4)选择事件结构,右击选择添加事件分支,选择“断开”值改变,然后在该事件分支中使用“Z Aux Close.vi”函数对控制器断开连接,以实现断开链接按钮的功能。

LabVIEW

(5)选择事件结构,右击选择添加事件分支,选择“触发”值改变,然后在该事件分支中使用“Z Aux Trigger.vi”函数进行触发示波器抓取,以实现触发指令抓取数据源将数据存储到table寄存器中。

LabVIEW

(6)选择事件结构,右击选择添加事件分支,选择“启动采集”值改变,然后在该事件分支中使用“Z Aux Execute.vi”函数调用指令SCOPE进行启动获取数据源数据,存放到table寄存器中。

LabVIEW

 

LabVIEW

(7)选择事件结构,右击选择事件,选择“XY图:”鼠标改变,然后在该事件分支实时读取XY示波器以及XY2示波器对应范围内鼠标的坐标位置,并显示在界面上。

LabVIEW

 

LabVIEW

(8)选择条件结构,当正弦运动按钮按下时两段触发正弦运动使用平铺顺序结构按顺序执行两段电子凸轮运动指令,使用“Z Aux Cam.vi”函数按照提前加载在table寄存器内的数据进行对应电子凸轮运动。

LabVIEW

03  调试与监控

编译运行例程,同时连接ZDevelop软件,并对应使用单轴小例程运动一个正弦波形轨迹,进行抓取波形进行对比LabVIEW示波器波形以及ZDevelop软件波形对比。

1.生成正弦波形数据的算法指令如下。

 

DIM num_p,scale,m,t '变量定义 num_p=100 scale=500 FOR p=0 TO num_p TABLE(p,((-SIN(PI*2*p/num_p)/(PI*2))+p/num_p)*scale) 'table存储凸轮表运动参数 NEXT

 

2、ZDevelop软件示波器波形如下图所示。

LabVIEW

3、LabVIEW示波器波形,示波器数据源是DPOS数据内容,与ZDevelop软件示波器dpos波形一致。

LabVIEW

4、LabVIEW示波器波形,示波器数据源是VP_Speed数据内容,与ZDevelop软件示波器VP_speed波形一致。

LabVIEW

本次,正运动技术EtherCAT运动控制器在LabVIEW中的运动控制与实时数据采集,就分享到这里。

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

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

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分