技术频道

娓娓工业
您现在的位置: 中国传动网 > 技术频道 > 技术百科 > EtherCAT运动控制卡应用开发教程之Java

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

时间:2025-06-13 14:43:12来源:深圳市正运动技术有限公司

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

  ZMC408CE 高性能总线型运动控制

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

运动控制

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

运动控制

  ZMC408CE硬件功能特性:

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

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

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

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

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

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

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

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

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

  PCIE464M PCIe EtherCAT总线运动控制卡

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

运动控制

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

运动控制

  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.具有一维、二维螺距补偿控制,实现更高的加工精度;

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

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

运动控制

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

运动控制

  ECI2A18B硬件功能特性:

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

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

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

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

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

  6.支持RTBasic多任务编程;

  本文案例java开发环境:

  1、操作系统环境:Win11_64位

  2、Java版本:Oracle OpenJDK 22.0.2

  3、IntelliJ IDEA版本:IntelliJ IDEA 2024.1.2

  Java开发流程

  1、新建项目

  打开IntelliJ IDEA 2024.1.2,新建项目,生成器选择Spring Boot,语言选java,类型选择Maven,选择JDK版本(此处选择JDK22.0.2),选择java版本(此处是17)。

运动控制

运动控制

  2、配置构建

  配置构建,添加main下面的application,运行一遍程序,没有问题就进行下一步。

运动控制

运动控制

  3、创建接口

  (1)按照标准开发,在当前软件包路径下创建接口ZmotionDao。

运动控制

运动控制

  (2)ZmotionDao接口继承自StdCallLibrary,并添加相应的Maven依赖项。

  4、导入DLL库

  添加正运动DLL库函数文件至resource路径下。

运动控制

  5、接口实例

  通过Native.load方法加载“zauxdll.dll”的DLL,并创建一个ZMotionDao接口的实例INSTANCE,并声明需要调用的PC函数,PC函数可查询ZMotion PC函数库编程手册。

运动控制

  6、数据类型

  函数声明中JNA对应C语言中的数据类型需要修改,PC函数原型在ZMotion PC函数库编程手册查询。比如打开网口连接函数ZAux_OpenEth(char * ipaddr,ZMC_HANDLE*phandle)中的char *用String替换,ZMC_HANDLE*对应void**用PointerByReference替换。

运动控制

运动控制

  简单应用

  1、句柄初始化

  PC函数均需传入参数句柄handle,而ZMC_HANDLE实际封装是void*,则传入的参数类型是void**,根据上面的数据类型转化表,void**需要用PointerByReference()创建一个PointerByReference对象intptr,即句柄初始化完成,把intptr传入函数即可。

运动控制

  2、网口连接

  打开网口连接,函数参数填入控制器的IP地址(此处控制器IP地址为192.168.0.11),注意电脑IP的网段和控制器的网段一致(即电脑IP设置为192.168.0.XX),查看打印结果返回值X1,为0则控制器连接成功。

运动控制

  3、设置轴参数

运动控制

  此处函数第一个参数的数据类型ZMC_HANDLE封装是void*,前面已初始化的二级指针对象(此处为intptr)的数据类型是void**,需要调用方法intptr.getValue()来获取一级指针才能传入函数,否则参数无法设置成功,查看打印结果X检验控制器参数是否设置成功。

运动控制

  4、打印结果

  查看打印结果X检验控制器参数是否设置成功,返回的结果为0即说明设置成功。

运动控制

  5、简单轴运动

  轴0往正方向持续运动。

运动控制

  6、指针类型的参数处理

  注意获取位置函数的第三个参数是一级指针类型,此处需用数组去接收函数返回的数据。

  此时数组第一个元素dpos[0]即对应轴0的位置,程序上死循环不断获取轴0位置,直至DPOS为100停止运动并关闭控制器的连接。

运动控制

运动控制

  五角星轨迹代码如下:

  (1)变量定义。

  int[] piAxislist = {0,1}; //运动轴列表int a = 30; //五角星的边长int[] status_x = {0}; //x轴的运动状态int[] status_y = {0}; //y轴的运动状态float[][] pfDisancelists = new float[11][2]; // 初始化运动距离列表int[] GetValue = {0}; //当前剩余缓冲数

  (2)用二维数组来存放五角星轨迹的位置。

  float[][] pfDisancelists = new float[11][2]; // 初始化运动距离列表 pfDisancelists[0] = new float[]{0, (float) (a * Math.cos(0.1 * Math.PI))}; pfDisancelists[1] = new float[]{(float) (a * Math.sin(0.1 * Math.PI)), 0}; pfDisancelists[2] = new float[]{(float) (a + a * Math.sin(0.1 * Math.PI)), 0}; pfDisancelists[3] = new float[]{(float) (a * Math.sin(0.1 * Math.PI) + a * Math.sin(0.2 * Math.PI) * Math.tan(0.1 * Math.PI)), (float) (-a * Math.sin(0.2 * Math.PI))}; pfDisancelists[4] = new float[]{(float) (a * Math.cos(0.2 * Math.PI)), (float) (-(a + a * Math.sin(0.1 * Math.PI)) * Math.tan(0.2 * Math.PI) - a * Math.sin(0.2 * Math.PI))}; pfDisancelists[5] = new float[]{0, (float) (-(a + a * Math.sin(0.1 * Math.PI)) * Math.tan(0.2 * Math.PI))}; pfDisancelists[6] = new float[]{(float) (-a * Math.cos(0.2 * Math.PI)), (float) (-(a + a * Math.sin(0.1 * Math.PI)) * Math.tan(0.2 * Math.PI) - a * Math.sin(0.2 * Math.PI))}; pfDisancelists[7] = new float[]{(float) (-a * Math.sin(0.1 * Math.PI) - a * Math.sin(0.2 * Math.PI) * Math.tan(0.1 * Math.PI)), (float) (-a * Math.sin(0.2 * Math.PI))}; pfDisancelists[8] = new float[]{(float) (-a - a * Math.sin(0.1 * Math.PI)), 0}; pfDisancelists[9] = new float[]{(float) (-a * Math.sin(0.1 * Math.PI)), 0}; pfDisancelists[10] = new float[]{0, (float) (a * Math.cos(0.1 * Math.PI))};

  (3)通过函数ZAux_Direct_MoveAbs根据五角星轨迹点位运动。

  // 循环调用运动函数for (float[] pfDisancelist : pfDisancelists) { ZMotionDao.INSTANCE.ZAux_Direct_GetRemain_Buffer( intptr.getValue(), 0, GetValue);//获取轴 0 剩余缓冲数 System.out.printf("当前剩余缓冲数为%d\n" ,GetValue[0]); if (GetValue[0]>0) { ZMotionDao.INSTANCE.ZAux_Direct_MoveAbs(intptr.getValue(), 2, piAxislist, pfDisancelist); }}

  (4)通过函数ZAux_Direct_GetIfIdle得到的status_x[0]和status_y[0]判断运动是否结束。

  // 判断运动是否结束do { ZMotionDao.INSTANCE.ZAux_Direct_GetIfIdle(intptr.getValue(), 0, status_x); ZMotionDao.INSTANCE.ZAux_Direct_GetIfIdle(intptr.getValue(), 0, status_y);} while (status_x[0] != -1 || status_y[0] != -1);

  RTSys示波器监控轨迹

  RTSys是正运动推出的集成运动控制+机器视觉功能的开发软件,先用RTSys软件连接控制器,控制器默认IP是192.168.0.11,轴参数窗口监控参数设置是否成功,打开示波器,通过示波器观察轨迹是否正确。

运动控制

运动控制

运动控制

运动控制

运动控制

  已同步到看一看写下你的评论

视频详情 完整代码获取地址

运动控制

  本次,正运动技术EtherCAT运动控制卡应用开发教程之Java,就分享到这里。

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

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

标签: 正运动运动控制

点赞

分享到:

上一篇:电动汽车行业发展现状与电池...

下一篇:无人机锂电池寿命维护方法有...

中国传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。

本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。

网站简介|会员服务|联系方式|帮助信息|版权信息|网站地图|友情链接|法律支持|意见反馈|sitemap

传动网-工业自动化与智能制造的全媒体“互联网+”创新服务平台

网站客服服务咨询采购咨询媒体合作

Chuandong.com Copyright ©2005 - 2025 ,All Rights Reserved 深圳市奥美大唐广告有限公司 版权所有
粤ICP备 14004826号 | 营业执照证书 | 不良信息举报中心 | 粤公网安备 44030402000946号