点击上方“正运动小助手”,随时关注新动态!
今天,正运动小助手给大家分享一下EtherCAT运动控制卡的开发辅助调试工具ZDevelop软件。本文以回零例程为例,演示如何通过ZDevelop软件配合LabVIEW等上位机开发软件进行开发调试。
ECI2828系列运动控制卡支持多达16 轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴和机械手指令等;采用优化的网络通讯协议可以实现实时的运动控制。
ECI2828系列运动运动控制卡支持以太网,232 通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,从而扩展输入输出点数或运动轴。
ECI2828系列运动控制卡的应用程序可以使用 VC、VB、VS、C++以及C#等软件来开发,程序运行时需要动态库 zmotion.dll。调试时可以把ZDevelop软件同时连接到控制器,从而方便调试,方便观察。
ECI2828系列典型连接配置图
1.将“光盘资料”里面LabVIEW的Vi函数库“zauxdll”文件夹下载到电脑中,然后复制到LabVIEW安装路径下LabVIEW/user.lib的文件夹内。 Zauxdll函数库路径
Zauxdll函数库粘贴路径
2.查看PC函数手册,熟悉相关函数接口。
(1)PC函数手册也在光盘资料里面,具体路径如下:“光盘资料\8.PC函数\函数库2.1\ZMotion函数库编程手册 V2.1.pdf”
(2)PC编程,一般如果网口对控制器和工控机进行链接。网口链接函数接口是ZAux_OpenEth();如果链接成功,该接口会返回一个链接句柄。通过操作这个链接句柄可以实现对控制器的控制。
ZAux_OpenEth()接口说明:
指令7 | ZAux_OpenEth |
指令原型 | int32 __stdcall ZAux_OpenEth(char *ipaddr, ZMC_HANDLE * phandle) |
指令说明 | 以太网链接控制器。 |
输入参数 | 输入参数1个,详细见下面说明。 |
ipaddr | 链接的IP地址。 |
输出参数 | 输出参数1个,详细见下面说明。 |
Phandle | 返回的链接句柄。 |
返回值 | 详细见错误码说明。 |
(3)使用轴参数设置相关的指令操作链接句柄“g_handle”,对控制器进行轴参数的设置,轴参数设置相关的指令如下。
4.2 基本轴参数的初始化 |
ZAux_Direct_SetAtype | 设置轴类型 |
ZAux_Direct_SetUnits | 设置轴脉冲当量 |
ZAux_Direct_SetInvertStep | 设置脉冲输出模式 |
ZAux_Direct_SetSpeed | 设置轴速度 |
ZAux_Direct_SetAccel | 设置轴加速度 |
ZAux_Direct_SetDecel | 设置轴减速度 |
ZAux_Direct_SetSramp | 设置轴S曲线 |
ZAux_Direct_GetAtype | 读取轴类型 |
ZAux_Direct_GetUnits | 读取轴脉冲当量 |
ZAux_Direct_GetInvertStep | 读取脉冲输出模式 |
ZAux_Direct_GetSpeed | 读取轴速度 |
ZAux_Direct_GetAccel | 读取轴加速度 |
ZAux_Direct_GetDecel | 读取轴减速度 |
ZAux_Direct_GetSramp | 读取轴S曲线设置 |
(4)原点信号映射接口和回零接口说明如下。
原点信号映射接口:
指令120 | ZAux_Direct_SetDatumIn |
指令原型 | int32 __stdcall ZAux_Direct_SetDatumIn(ZMC_HANDLE handle, int iaxis, int iValue) |
指令说明 | 设置轴原点信号, -1 表示取消,参见软件手册里面的 “ DATUM_IN”指令。 |
输入参数 | 共有3个输入参数,见下方说明。 |
handle | 链接句柄。 |
iaxis | 轴号。 |
iValue | IO口编号, -1 时为取消设置。 |
回零复位接口:
指令78 | ZAux_Direct_Single_Datum |
指令原型 | int32 __stdcall ZAux_Direct_Single_Datum(ZMC_HANDLE handle, int iaxis, int imode) |
指令说明 | 单轴回零运动。 |
输入参数 | 共有3个输入参数,见下方说明。 |
imode | 回零模式 0 清除所有轴的错误状态。 1 轴以CREEP速度正向运行直到Z信号出DPOS值重置为0同时纠正MPOS。 2 轴以CREEP速度反向运行直到Z信号出现。DPOS值重置为0同时纠正MPOS。 3 轴以SPEED速度正向运行,直到碰到原点开关。然后轴以CREEP速度反向运动直到离开原点开关。DPOS值重置为0同时纠正MPOS 4 轴以SPEED速度反向运行,直到碰到原点开关。然后轴以CREEP速度正向运动直到离开原点开关。DPOS值重置为0同时纠正MPOS。 |
LabViEW的回零例程的具体开发过程此处不做详细描述,具体例程可通过百度网盘下载。
链接:https://pan.baidu.com/s/1PkjqVmoeiQ9KcEYeULx21w
提取码:cj7z
1.通过网口将ZDevelop软件和控制器进行连接。 在顶部菜单栏中,点击“控制器”--“连接”,弹出如下窗口,输入控制器的IP(出厂默认:192.168.0.11),然后点击“连接”按钮实现和控制器的通讯。
2.基本轴参数信息的查看。
和控制器连接成功后,在软件的右侧部分有一个轴参数的窗口,可以通过查看这里面的数据来监控上位机轴参数是否设置成功。
还有一个很重要的信息可以从这里查看。当轴出现异常运动不了时我们可以通过查看这里的AxisStatus这个参数进行分析。
如下图,轴O出现报警运行不了了,我们发现轴0这个参数变成了红色的200h。可以通过basic帮助文档查看“AxisStatus”发现200h表示轴超过正向软限位了,所以报警。
3.手动运动调试窗口。
在顶部菜单栏中,点击“视图”--“手动运动”打开该窗口。可以通过这个窗口对轴进行点动控制,来验证各个轴的硬件接线是否正确等。
4.输入输出口监控窗口。
在顶部菜单栏中,点击“视图”--“输入口/输出口”来打开这两个窗口。可以通过这两个窗口对控制器的输入输出口的信息进行监控。
5.示波器功能。
Zdevelop软件正常电子示波器的功能,可以去抓取一些参数随时间变化的波形。如果抓取轴位置(Dpos)、轴速度(Mspeed),输入输出口(IN/OP),模拟输入输出口(AIN/AOUT)等参数随时间变化的波形。
在顶部菜单栏中,点击“视图”--“示波器”打开示波器窗口。
点击“设置按钮”,可以设置示波器抓取数据的通道数和抓取数据的时间间隔等。
接下来我们按照上图示波器的设置,对LabViEW单轴回零例程的X轴回零过程中的位置和速度波形进行抓取结果如下:
6.模拟量输入输出监控窗口。
在顶部菜单栏中,点击“视图”--“AD/DA”打开这个窗口,监控模拟量输入输出信息。
7.远程IO的扩展信息查询功能。
在顶部菜单栏中,点击“控制器”--“控制器状态”打开这个窗口,对控制器的状态和扩展设备的信息进行查询。
ZCAN节点信息:
EtherCAT总线节点信息:
8.快速诊断与调试EtherCAT伺服。
在“命令与输出”中输入“?*ethercat”可以查看各个EtherCAT伺服的状态。
EtherCAT伺服的状态阐明如下:
Slot:0 contain 1 nodes.:包含1个EtherCAT节点
Lostcount:0-0.:当前丢包计数值为0
Node:0:节点0
status:1:等同NODE_STATUS,1提示为node存在
manid:66fh:制造商ID,提示为ETG组织的ID为松下伺服
productid:525100a1h:产品ID,525100a1h
axises:1:该节点包含1个轴
Node_profile:0:节点报文内容
Node_profile:配置为0
BindAxis:0:节点0绑定到轴0
Drive_profile:0:驱动器的PDO报文选择模式0
Controlword:0h:CiA402控制字,0x6040, fh表示使能状态
drive_status:1237h:CiA402状态字,0x6041, 1237h表示已经使能
Drive_mode:8h:CiA402控制模式,0x6060,8h表示CSP模式
target:0h:CiA402TargetPosition,0x607A, 表示目标位置值
encode:0:ActualPosition,0x6064,表示实际位置值。
其次可以利用ZDevelop软件上面的总线诊断工具进行连接到控制器对当前连接状态进行判断查看,如图所示:
9.ZDevelop软件调试视频。