0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装

正运动技术 ? 来源:正运动技术 ? 作者:正运动技术 ? 2025-04-08 13:49 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ZMC408CE 高性能总线型运动控制器

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

wKgZO2f0uNaAEYtxAAEo7uUNtPk956.png

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

wKgZPGf0uNeACS4AAABx-OLptfo644.png

ZMC408CE硬件功能特性:

1.支持8轴运动控制(脉冲+EtherCAT总线),EtherCAT同步周期可快至125us;

2.24路通用输入、16路通用输出,模拟AD/DA各两路;

3.8路10MHz高速差分脉冲输出,总线轴、脉冲轴可混合插补;

4.高性能处理器,提升运算速度、响应时间和扫描周期等;

5.一维/二维/三维、多通道视觉飞拍,高速高精;

6.位置同步输出PSO,连续轨迹加工中对精密点胶胶量控制和激光能量控制等;

7.多轴同步控制,多坐标系独立控制等;

8.直线插补、任意空间圆弧插补、螺旋插补、样条插补等;

9.应用灵活,可PC上位机开发,也可脱机独立运行;

ZMC408CE视频介绍,点击→“高性能EtherCAT总线运动控制器,带你玩转“8通道独立PSO”应用场景”查看。

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

PCIE464M PCIe EtherCAT总线运动控制卡

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

wKgZO2f0uNeAWYYNAAOtTgnHN88964.png

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

wKgZPGf0uNiABwTKAAExbnu2HGs816.png

PCIE464M硬件功能特性:

1.可选6-64轴运动控制,支持EtherCAT总线/脉冲/步进伺服驱动器

2.联动轴数最高可达16轴,运动周期最小为100μs;

3.标配16进16出,其中4路高速锁存输入、4路高速PWM和12路高速硬件比较输出PSO;

4.支持PWM输出、1D/2D/3D PSO硬件位置比较输出、视觉飞拍、连续轨迹插补等;

5.支持30+机械手模型正逆解模型算法,比如SCARA、Delta、UVW、4轴/5轴 RTCP...;

6.支持掉电存储和掉电中断,多重加密,提供程序更安全机制;

7.8路单端脉冲轴、4路单端编码器轴;

8.具有一维、二维螺距补偿控制,实现更高的加工精度;

PCIE464M视频介绍,点击→“超高速PCle EtherCAT控制卡PCIE464M,即刻提升高速高精智能装备生产力!”查看。

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

ECI2A18B 高性价比10轴运动控制卡

ECI2A18B是正运动推出的一款高性价比10轴脉冲型、模块化的网络型运动控制卡,采用优化的网络通讯协议可以实现实时的运动控制,同时支持多种通信协议,方便与其他工业控制设备连接和集成。安装配置相对便捷,适合于模块化和灵活性要求较高的控制系统

wKgZO2f0uNiASm3RAAGyv0AKVLc845.png

ECI2A18B控制卡最大可扩展至12脉冲轴,支持8路高速输入和4路高速输出,集成丰富的运动控制功能,包含多轴点位运动、电子凸轮,直线插补,圆弧插补,连续插补运动等,满足多样化的工业应用需求。

wKgZPGf0uNiALguUAAHPBwoyKto871.png

ECI2A18B硬件功能特性:

1.支持6路差分脉冲轴+4路单端脉冲轴运动控制;

2.支持1路专用的手轮输入接口;

3.差分脉冲轴最大输出脉冲频率10MHz;

4.标配24+12进16+6出,其中支持4路高速锁存,4路高速PWM,2路高速硬件比较输出PSO(可选支持HW2功能);

5.可支持RTSys+其他高级上位机编程语言的混合编程支持;

6.支持RTBasic多任务编程;


ECI2A18B视频介绍,点击→“【加量不加价】高性价比十轴脉冲运动控制卡ECI2A18B 让您的设备在自动化行业内卷中脱颖而出!”查看。

更多关于ECI2A18B的详情介绍,点击“【加量不加价】正运动网络型运动控制卡ECI2618B/ECI2A18B”查看。

??? LabVIEW进行项目开发

1.找到厂家提供的光盘资料里面的LabVIEW的VI库文件,路径如下。

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

wKgZO2f0uNmAQV9KAALpaoYsELQ045.png

2)选择“01 PC函数库V2.1”文件夹。

wKgZPGf0uNmAUEjKAAHOX8Xyu5Y133.png

3)选择“windows平台”文件夹。

wKgZO2f0uNmAOCijAAIM-_f0oZA151.png

4)选择“Labview文件夹”,里面有32位和64位的动态库和例程。

wKgZPGf0uNqAbt5HAALOoNrrL6M456.pngwKgZO2f0uNqAGVQQAAFJDPzYlXc127.png

2.将厂商提供的LabVIEW的VI库文件复制到LabVIEW安装路径下LabVIEW/user.lib的文件夹内。

1)找到解压的VI库文件夹(zaudll是32位的VI库,64的VI库是newZauxDll64)。

wKgZPGf0uNuAGplCAAC7qbv0_Ns217.png

2)选中LabVIEW右击打开文件所在位置(这里以LabVIEW2013-32位为演示)。

wKgZO2f0uNuAZntjAAGV8UN5nnE968.png

3)将整个VI库文件夹直接复制放到user.lib该目录,然后关闭LabVIEW软件重新启动。

wKgZPGf0uNuActkkAAKY1Kz_kJw393.png

3.重新启动LabVIEW后,选择新建VI,然后右键点击VI程序框图空白处,选择用户库来找到添加的VI库,或者直接搜索VI,最后将需要的函数直接拖到面板上。

wKgZO2f0uN2AFCcZAAF8nF-tm_g784.pngwKgZPGf0uN2AVVQkAAQDNNUBR2g283.png

??? PC函数介绍

PC函数手册可在光盘资料查看,具体路径如下。

wKgZO2f0uN6AWvEgAAKZf-zX_4s093.png

wKgZPGf0uN6AVS_7AAHBVVXPOaY398.pngwKgZO2f0uN6AceNLAAGvZ9gmn9A354.pngwKgZPGf0uN6Aat92AABsHEKTwrc873.pngwKgZO2f0uN-AP9X9AABWn13-PrE701.pngwKgZPGf0uN-AO43vAAGP3I17YDc088.pngwKgZO2f0uN-AXpCwAAGjaseArmQ774.pngwKgZPGf0uOCABkWCAAFAdvIBtuw318.png

??? 在线命令

1.指令列表

wKgZO2f0uOCAPKlEAABgQdrH9vc783.png

2.重点说明

ZAux_Execute或ZAux_DirectCommand可对basic指令进行封装。如果使用到没有封装的命令或者想封装自己的函数,可以通过ZAux_Execute或 ZAux_DirectCommand进行发送,或是参照已有代码修改增加相应的函数。发送字符串命令有两种方式,缓冲方式和直接方式。具体如图所示:

wKgZPGf0uOGAfCvrAAC9zM17mNY794.png

3.ZAux_Execute与ZAux_DirectCommand的区别

(1)ZAux_DirectCommand是直接发送到控制器,ZAux_Execute需要得到控制器应答才能发送到控制器。

如果短时间内多次使用ZAux_Execute,会造成ZAux_Execute发送命令阻塞,上位机跟控制器断开连接。一般建议使用ZAux_DirectCommand,除非是ZAux_DirectCommand不支持的语句才使用ZAux_Execute。例如分别用ZAux_DirectCommand和ZAux_Execute快速的循环发送运动指令MOVE(100),ZAux_DirectCommand会返回错误码1002(无运动缓冲),那是因为控制器的运动缓冲区满了。

如果控制器的固件版本很新(例如RTSys的仿真器),ZAux_Execute会返回20003(超时,可能是fifo缓冲阻塞),控制器固件版本不算特别新的,ZAux_Execute会返回字符串“Online command warn, ZMotion move command blocked.”(在线命令警告,ZMotion移动命令被阻塞)。

wKgZO2f0uOGAOVB8AAHXW9y9M24011.pngwKgZPGf0uOGAAkVGAAEnGOkJAZs692.png

(2)因为ZAux_DirectCommand是以直接的方式把输入框的字符串命令发送到控制器的,所以当在线命令字符是错误的时候,ZAux_DirectCommand会运行失败,错误返回值显示非0。

但是这错误值只是ZAux_DirectCommand运行失败的原因,并不能说明在线命令字符的错误原因,而同样的情况,ZAux_Execute就运行成功,错误返回值显示0,但是ZAux_Execute返回的字符串会显示在线命令字符的错误。

wKgZO2f0uOKAN9joAAJivVHe4mo211.png


??? 例程说明

1.综合例程界面如下

wKgZPGf0uOOABEsfAAIGqH9Q7kk351.png

2.例程简易流程图

wKgZPGf0uOOAYCgiAAGdD23d4bw306.png

3.连接控制器

要想通过上位机控制控制器,就必须先连接控制器,上位机连接控制器的接口有四种,

分别是网口连接、串口连接、PCI和LOCAL连接。

wKgZO2f0uOSAbuWWAAH1H194lP8568.png

IP连接方式

wKgZPGf0uOSANLBfAAENso9G66g126.png

串口连接方式

wKgZO2f0uOWANImLAAEYuA8ndYs408.png

PCI连接方式

wKgZPGf0uOWAJFg1AAEG0XecIjE572.png

LOCAL连接方式

4.Direct命令按键与Execute命令按键

(1)点击Direct命令按键,以直接的方式把输入框的字符串命令发送到控制器,不进缓冲区,有少数命令,暂时不支持,例如?*MAX(打印所有规格参数)。

wKgZO2f0uOWAawIdAAENHGA5K88022.png

(2)点击Execute命令按键,以缓存的方式把输入框的字符串命令发送到控制器,当控制器没有缓冲时自动阻塞,例如发送运动命令时自动阻塞时会显示“Online command warn, ZMotion move command blocked.”(在线命令警告,ZMotion移动命令被阻塞)。

wKgZPGf0uOaAQN9gAAEIXcgQT0s347.png

(3)Direct命令按钮和Execute命令按钮的事件处理是同一个,通过判断Direct命令按钮来确认使用哪个接口,程序框图如下。

wKgZO2f0uOeAYTRqAAP2CJapcFw880.pngwKgZPGf0uOeAadkmAAJ_L5hxxto029.png

(4)分别通过ZAux_DirectCommand和ZAux_Execute发送在线命令?*MAX(打印所有规格参数)。

wKgZO2f0uOeAfgHnAAH6Jh8Z8Cs020.png

可以看出?*MAX(打印所有规格参数)就是ZAux_DirectCommand少数不支持的命令之一,这些ZAux_DirectCommand少数不支持的命令可以通过ZAux_Execute进行使用。

5.清空按键

(1)点击清空按键清空界面显示之前。

wKgZPGf0uOiAaEZ8AAF6nTHGnbY030.png

(2)点击清空按键清空界面显示之后。

wKgZO2f0uOiAKRQfAAEmUwOgAT8335.png

(3)清空按钮的事件处理程序框图如下。

wKgZPGf0uOiAZq1yAAB6BDRETT0172.png

6.自定义函数按键

本例程设置了3个自定义函数按键作为例子,分别对应3种常见的在线命令接口使用场景。

wKgZO2f0uOmAc6vgAAIV7C4NMos189.png

(1)自定义函数1按键。该按键主要演示了如何用Execute函数封装一个使用在线命令获取控制器型号的VI和如何用DirectCommand函数封装一个使用在线命令设置速度功能的VI。

wKgZPGf0uOmAE37QAAHPYGqEpmo039.png

a.自定义封装vi获取控制器型号。

wKgZO2f0uOqAaivNAAHR-UoNHKs073.png

b.判断处理自定义封装获取控制器型号VI的错误码和返回值。

wKgZPGf0uOqAbuYGAAEHdVfwoJk171.png

c.通过ZAux_Direct_SetSpeed获取在使用自定义设置速度的VI之前的速度。

wKgZO2f0uOqAeSZhAAEflAHeP-Q287.png

d.通过ZAux_DirectCommand封装的设置轴速度VI的调用和封装程序框图。

wKgZPGf0uOuAV9lNAAMdAO3a7TY234.png

e.通过ZAux_Direct_SetSpeed获取在使用自定义设置速度的VI之后的速度,验证自定义设置速度的VI是否成功修改轴速度。

wKgZO2f0uOuAUHzeAAERJOVXkfM096.png

f.把处理过的信息显示到界面的字符串显示框。

wKgZPGf0uOyAHhwLAADzolLtWmk257.png

(2)用户若想要获取多种数据,如轴的命令位置,轴的反馈位置,板卡上的 IO 点等等,往往都是通过多种单独独立的函数获取不同的数据,这样堆积,会导致读写次数的上位,导致程序的卡顿。为了提升一个上位程序的,往往可以通过自己定义一个自己的函数,通过一个函数,快速的把数据传输到上位程序上面来,而非是通过多次循环来获取到不同类型的数据。

如下举例:

假设有一个简易的三轴平台,需要读取轴0,轴1,轴2的命令位置、反馈位置和轴状态以及控制器板卡上的输入口0,输入口23,输出口0,输出口,以及三个轴的状态。获取数据程序如下:

wKgZO2f0uOyAViMfAAJfil6gldM059.png

a.通过ZAux_DirectCommand封装的获取多参数VI的调用和封装程序框图

wKgZPGf0uO2AUWpbAAGREOb78lE231.png

b.自定义函数封装的获取多参数VI程序框图中的拼接在线命令字符。

wKgZO2f0uO2Ac2w6AAKRj-nqSQg581.pngwKgZPGf0uO6ASHuQAAMo61tGAKA723.png

c.自定义函数封装的获取多参数VI程序框图中的发送在线命令字符串。

wKgZO2f0uO6Aflm1AADEd5eAO7Q596.png

d.自定义函数封装的获取多参数VI程序框图中的返回字符串处理。

wKgZPGf0uO-AacWHAARbb9gi87U364.pngwKgZO2f0uO-AAsOxAALilIfGrTs755.pngwKgZPGf0uO-AWG_AAALaGAq-9iU670.png

e.把各个数组数据处理成字符串并显示到界面字符串显示框,要处理的数组较多,下面以命令位置数组处理为演示。

wKgZO2f0uPCAYtwTAALqh9JlZ7E093.pngwKgZO2f0uPCAc-LgAAFSsSZl54Y211.png

(3)一般点胶行业,木工行业用的居多,都是用连续轨迹,连续轨迹之间有插入缓冲输出,如果把运动跟连续轨迹的运动跟缓冲输出分开来发的话,在批量加工下发大量命令时,对通讯效率会有一定影响,采用自定义封装指令的方式,能一次性下发多条运动指令,改善批量加工的效率。

如下举例:

假设控制一个XY两轴平台,从坐标点(0,0)→(100,0)(输出口0输出50ms)→(100,100)(输出口0输出50ms)→(0,100)(输出口0输出50ms)→(0,0)(输出口0输出50ms)的轨迹,则可以通过自己封装,用一条函数,快速发送下去:

wKgZPGf0uPGAZOKrAAHqA15gvPo678.pngwKgZO2f0uPGAb2tBAAFVmIl8TuE428.pngwKgZPGf0uPGAfbVJAAEyvT9smb8791.png

a.使用自定义封装VI发送运动指令前的设置。

wKgZO2f0uPKAOOd4AAMi5zEnXqk427.pngwKgZPGf0uPOAGigkAAIn_S0441k802.png

b.通过ZAux_DirectCommand封装的直线插补与缓存输出运动VI的调用和封装程序框图。

wKgZO2f0uPWAEJ_yAAKZm7cYIfs753.pngwKgZPGf0uPWAK2ZgAAIGgBI0C6I025.pngwKgZPGf0uPaAT1MvAAKwmjjPuNs470.pngwKgZO2f0uPaAcBJMAALgCSnx93E706.pngwKgZPGf0uPeAbWsBAAIcrnBKOEc223.png

教学视频讲解请点击→“LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装”查看。


完整代码获取地址

wKgZO2f0uPeAMQnKAAC7zKW-emM326.png

本次,正运动技术LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装,就分享到这里。

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

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

正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等。

审核编辑 黄宇

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

    关注

    2002

    文章

    3672

    浏览量

    337166
  • 运动控制器
    +关注

    关注

    2

    文章

    452

    浏览量

    25447
  • 运动控制
    +关注

    关注

    4

    文章

    732

    浏览量

    33614
  • ethercat
    +关注

    关注

    19

    文章

    1145

    浏览量

    40206
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EtherCAT运动控制卡的自定义运动曲线

    今天,正运动小助手给大家分享一下EtherCAT运动控制卡的自定义运动曲线,主要介绍一下如何通过
    的头像 发表于 09-27 11:19 ?2270次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b>卡的<b class='flag-5'>自定义</b><b class='flag-5'>运动</b>曲线

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    轨迹的小线段前瞻,各种机器人与自定义机器人算法的控制,多种PSO控制等,满足多样化的工业应用需求。正运动提供自主自研IDE-RTSys开发编程软件,PCIE464
    发表于 01-24 09:48

    EtherCAT总线运动控制器硬件是如何进行接线的?

    EtherCAT总线运动控制器硬件是如何进行接线的?EtherCAT总线运动控制器有哪些参数设置
    发表于 07-15 13:02

    运动技术运动控制器EtherCAT总线快速入门

    EtherCAT 总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用、U盘接口的使用、ZDevelop 编程软件的使用、运动控制器
    发表于 09-07 06:59

    运动技术运动控制器EtherCAT总线的基础使用

    EtherCAT总线扩展模块包含哪些?怎样去使用正运动技术运动控制器EtherCAT总线?
    发表于 09-27 08:34

    经济型EtherCAT运动控制器EtherCAT总线快速入门

    的相关参数修改,同样使用SDO指令读写对应的数据字典进行配置或通过驱动软件修改。SDO指令包含数据字典读取“SDO_READ”、“SDO_READ_AXIS”和数据字典写入“SDO_WRITE”、“SDO_WRITE_AXIS
    发表于 05-11 09:49

    EtherCAT运动控制器进行自定义API封装例程

    本节课程我们主要讲解一下正运动API函数封装原理以及自定义API封装例程。 正运动技术运动
    发表于 10-26 15:11

    EtherCAT运动控制边缘控制器功能简介和自定义API封装例程

    上节课程我们介绍了全国产EtherCAT运动控制边缘控制器ZMC432H的硬件接口与功能,本节课程我们主要讲解一下正运动API函数
    的头像 发表于 08-28 15:08 ?2083次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b>边缘<b class='flag-5'>控制器</b>功能简介和<b class='flag-5'>自定义</b>API<b class='flag-5'>封装</b>例程

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

    本文以正运动技术EtherCAT运动控制器ZMC408CE为例,介绍如何使用LabVIEW控制器
    的头像 发表于 04-08 11:45 ?1509次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在<b class='flag-5'>LabVIEW</b>中的<b class='flag-5'>运动</b><b class='flag-5'>控制</b>与实时数据采集

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

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划。
    的头像 发表于 08-15 11:49 ?1306次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>运动</b><b class='flag-5'>控制器</b>PT/PVT实现用户<b class='flag-5'>自定义</b>轨迹规划