LabVIEW运动控制(二):EtherCAT运动控制器的多轴示教加工应用(上)

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上位机开发,也可脱机独立运行;

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

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

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

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

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

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多任务编程;

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

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

使用LabVIEW进行项目开发

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

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

图片

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

图片

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

图片

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

图片

图片

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

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

图片

图片

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

图片

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

图片

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

图片

图片

控制器连接

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

图片

指令1

ZAux_OpenCom

指令原型

int32 __stdcall  ZAux_OpenCom(uint32 comid,ZMC_HANDLE *phandle )

指令说明

串口方式连接控制器。

输入参数

参数名

描述

Comid

连接的COM口编号

输出参数

参数名

描述

Phandle

控制器连接句柄

返回值

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

指令示例

串口连接控制器

详细说明

控制器提供多种方式连接,该指令为串口连接方式,较于网口连接,串口连接,通讯速率不高。

2.ZMC_HANDLE类型:Zmotion库中,专门用于控制卡连接数据定义类型;

3.控制器串口默认的参数

波特率

数据位

停止位

校验位

38400

8

1

指令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库中,专门用于控制卡连接数据定义类型;

指令11

ZAux_FastOpen

指令原型

int32  __stdcall  ZAux_FastOpen(int type, char *pconnectstring, uint32 uims ,ZMC_HANDLE * phandle)

指令说明

与控制器建立连接, 可以指定连接的等待时间

输入参数

参数名

描述

type

连接类型

type: 1-COM 2-ETH 4-PCI 5-MotionRT

pconnectstring

连接字符串:

type=1:COM+串口号

type=2:IP地址

type=4:Pci+卡号

type=5:LOCAL+卡号

uims

连接超时时间 uims;单位ms

输出参数

参数名

描述

phandle

控制器连接句柄

返回值

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

指令示例

串口连接:

ZMC_HANDLE  phandle;//控制器连接句柄

Char comID[32]= "Com0";//串口ID,不能直接写串口号,需要在串口号前加个Com

ZAux_FastOpen(1, comID,1000 ,&phandle);

网口连接例子:

ZMC_HANDLE  phandle;//控制器连接句柄

Char EthID[32]= "192.168.0.11";//网口ID

ZAux_FastOpen(2, EthID,1000 ,&phandle);

PCI连接例子:

ZMC_HANDLE  phandle;//控制器连接句柄

ZAux_FastOpen(4, “PCI1”,1000 ,&phandle);

MotionRT连接例子:

ZMC_HANDLE  phandle;//控制器连接句柄

ZAux_FastOpen(5, “LOCAL1”,1000 ,&phandle);

详细说明

type设置为5,zmotion.dll版本要在3.8.8.50以上。

若type设置为5,字符串非LOACL+卡号,则自动默认为LOCAL1

指令4

ZAux_OpenPci

指令原型

int32  __stdcall  ZAux_OpenPci(uint32 cardnum, ZMC_HANDLE *phandle)

指令说明

连接PCI卡。

输入参数

参数名

描述

Cardnum

PCI卡号,缺省从0开始。

输出参数

参数名

描述

Phandle

连接句柄

返回值

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

指令示例

PCI方式连接控制器

详细说明

1.PCI连接,需要PCI类型的控制卡才可进行PCI连接,该类型连接通讯速率最高,但该连接需要工控机含有PCI卡槽接口。

2.ZMC_HANDLE 类型:Zmotion库中,专门用于控制卡连接数据定义类型;

指令5

ZAux_Close

指令原型

int32  __stdcall  ZAux_Close(ZMC_HANDLE  handle)

指令说明

关闭控制器连接。

输入参数

参数名

描述

Handle

连接句柄。

输出参数

/

返回值

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

指令示例

串口连接控制器

详细说明

/

要想通过上位机操控控制器,就必须先连接控制器,上位机连接控制器的接口有四种,分别是网口连接、串口连接、PCI和LOCAL连接。

图片

图片

网口链接

图片

串口链接

图片

PCI链接

图片

LOCAL链接

读取多个轴轴参数和控制器型号

相关PC函数介绍。

指令63

ZAux_Direct_GetAllAxisPara

指令原型

int32  __stdcall  ZAux_Direct_GetAllAxisPara(ZMC_HANDLE handle, const  char  *sParam,int  imaxaxis,float  *pfValue)

指令说明

一次性读取多个轴轴参数。

输入参数

参数名

描述

handle

连接标识。

sParam

Baisc语法参数的字符串名称。

imaxaxis

轴数量。

输出参数

参数名

描述

pfValue

返回参数值。

返回值

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

指令示例

float fAtype[8];

ZAux_Direct_GetAllAxisPara(handle,"ATYPE",8,fAtype);

//获取0-7轴的轴类型

详细说明

/

指令64

ZAux_Direct_GetAllAxisInfo

指令原型

int32  __stdcall  ZAux_Direct_GetAllAxisInfo(ZMC_HANDLE handle,int  imaxaxis,int *IdleStatus,float *DposStatus,float *MposStatus, int *AxisStatus)

指令说明

读取多个轴基本轴状态。

按十进制显示数值,按二进制对应位判断状态。

输入参数

参数名

描述

handle

连接标识。

imaxaxis

轴数量。

输出参数

参数名

描述

IdleStatus

轴运行状态。

DposStatus

轴命令坐标。

MposStatus

轴反馈坐标。

AxisStatus

轴状态。(详看详细说明)

返回值

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

指令示例

int iIdle[8];

Float iDpos[8];

Float iMpos[8];

int iStatus[8];

ZAux_Direct_GetAllAxisPara(handle,,8,iIdle,iDpos,iMpos,iStatus);

//获取0-7轴的轴基本轴状态

详细说明

轴状态,按位对应:

图片6.png

指令12

ZAux_GetControllerInfo

指令原型

int32  __stdcall  ZAux_GetControllerInfo(ZMC_HANDLE handle ,char  *SoftType ,char  *SoftVersion ,char  *ControllerId)

指令说明

读取控制器厂商信息。

输入参数

参数名

描述

handle

控制器连接句柄

输出参数

参数名

描述

SoftType

控制器软件型号。

SoftVersion

控制器固件版本号。

ControllerId

控制器唯一ID。

返回值

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

指令示例

控制器信息

详细说明

/

链接控制器后,通过定时获取轴坐标、轴状态和控制器型号。

图片

图片

图片

获取轴坐标、轴状态和控制器型号的程序框图。

图片

把轴坐标显示到界面上。

图片

更新轴状态前,清空界面的轴状态显示。

图片

判断轴状态,轴状态有错误就处理错误信息并显示出来。

图片

图片

轴状态子VI把轴状态数值转换成数组,通过判断位数值来识别错误信息。

图片

图片

图片

LabVIEW进行IO控制

相关PC函数介绍。

指令197

ZAux_Direct_GetIn

指令原型

int32 __stdcall ZAux_Direct_GetIn(ZMC_HANDLE handle,int ionum,uint32  *piValue)

指令说明

读取输入口状态, 参见软件手册里面的“IN”指令。

输入参数

参数名

描述

handle

连接句柄。

ionum

输入口编号。

输出参数

参数名

描述

*piValue

获取输入口的状态值。

返回值

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

指令示例

IO读取与设置

详细说明

1.若设置了翻转,读取的是INVERT_IN翻转以后的状态。

2.ZIO扩展板的IO通道号与拨码有关,起始值为(16 +拨码组合值*16),EIO总线扩展IO使用NODE_IO指令,只能设置为8的倍数,详细查看硬件手册。

注意:IO映射编号要大于控制器自身最大的IO编号,不能与控制器的编号重合。

指令198

ZAux_Direct_SetOp

指令原型

int32 __stdcall ZAux_Direct_SetOp(ZMC_HANDLE handle, int ionum,uint32 iValue);

指令说明

打开输出口,参见软件手册里面的“OP”指令。

输入参数

参数名

描述

handle

连接句柄。

ionum

输入口编号。

piValue

设置的输出口的状态值。

输出参数

/

返回值

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

指令示例

IO读取与设置

详细说明

ZIO扩展板的IO通道号与拨码有关,起始值为(16 +拨码组合值*16),EIO总线扩展IO使用NODE_IO指令,只能设置为8的倍数,详细查看硬件手册。

注意IO映射编号要大于控制器自身最大的IO编号,不能与控制器的编号重合。

指令199

ZAux_Direct_GetOp

指令原型

int32 __stdcall ZAux_Direct_GetOp(ZMC_HANDLE handle, int ionum, uint32 *piValue);

指令说明

读取输出口,参见软件手册里面的“OP”指令。

输入参数

参数名

描述

handle

连接句柄。

ionum

输入口编号。

输出参数

参数名

描述

piValue

获取输出口的状态值。

返回值

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

指令示例

IO读取与设置

*piValue

返回状态值

详细说明

ZIO扩展板的IO通道号与拨码有关,起始值为(16 +拨码组合值*16),EIO总线扩展IO使用NODE_IO指令,只能设置为8的倍数,详细查看硬件手册。

注意IO映射编号要大于控制器自身最大的IO编号,不能与控制器的编号重合。

最多可操作32个输出口。

输入输出口的监测与控制。

图片

(1)定时获取输出口和输入口状态的程序框图。

图片

(2)切换输出口状态的程序框图。

图片

图片

LabVIEW进行Basic下载

相关PC函数介绍。

指令268

ZAux_BasDown

指令原型

int32  __stdcall  ZAux_BasDown(ZMC_HANDLE handle,const char *Filename,uint32 run_mode )

指令说明

单个.bas文件生成ZAR并且下载到控制器运行

输入参数

参数名

描述

handle

连接句柄。

Filename

zar文件名带路径。

run_mode

下载模式0-RAM  1-ROM。

输出参数

/

返回值

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

指令示例

控制程序的下载及编写

详细说明

.bas文件,可在正运动控制卡直接运行的Basic语法文件

指令269

ZAux_ZarDown

指令原型

int32 __stdcall ZAux_ZarDown(ZMC_HANDLE handle,const char *Filename,uint32 run_mode)

指令说明

下载ZAR程序到控制器运行

输入参数

参数名

描述

handle

连接句柄。

Filename

BAS文件名带路径。

run_mode

下载模式0-RAM  1-ROM

输出参数

/

返回值

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

指令示例

/

详细说明

Zar文件,正运动控制卡直接运行的程序,经过加密后生成的文件

把Bas/Zar文件下载到控制器。

图片

点击下载文件,会根据选择文件的类型选项进行弹窗,然后就可以选择要下载的文件。

图片

图片

选择Bas/Zar文件下载到控制器的程序框图。

图片

图片

LabVIEW进行轴参数设置

1.相关PC函数介绍

指令16

ZAux_Direct_SetAtype

指令原型

int32  __stdcall  ZAux_Direct_SetAtype(ZMC_HANDLE  handle, int  iaxis, int  iValue)

指令说明

设置指定轴的轴类型。

输入参数

参数名

描述

handle

控制器连接句柄

iaxis

轴号

iValue

轴类型(见下方详细说明2)

输出参数

/

返回值

详见错误码说明。

指令示例

轴基本运动参数设置获取

详细说明1

1.最好是在程序初始化的时候就设置好ATYPE。

2.ZCAN扩展轴要先设置AXIS_ADDRESS,并在设置后延迟2个任务周期再调用运动指令,受总线带宽限制,ZCAN扩展轴不要设置超过2个。

3.对部分产品型号带有独立的编码器,可以使用相应虚拟轴来做编码器轴使用,例如ZMC206的电机轴为0-5轴,编码器可以通过轴6-11来控制,详细可通过ZDevelop软件连接上控制器以后查看控制器状态。

详细说明2

轴类型

描述

0

虚拟轴。

1

脉冲方向方式的步进或伺服 。

2

模拟信号控制方式的伺服 。

3

正交编码器 。

4

脉冲方向输出+正交编码器输入。

5

脉冲方向输出+脉冲方向编码器输入

6

脉冲方向方式的编码器,可用于手轮输入。

7

脉冲方向方式步进或伺服+EZ信号输入。

8

ZCAN扩展脉冲方向方式步进或伺服 。

9

ZCAN扩展正交编码器。

10

ZCAN扩展脉冲方向方式的编码器。

20

振镜类型,带振镜状态反馈;振镜连接不上AXISSTATUS的bit2会置位ENCODER返回原始的发送位置,脉冲单位;ZMC408SCAN支持

21

振镜轴类型,需要控制器支持;缺省系统周期250us,振镜刷新周期50us,与固件有关;可以使用普通轴的所有运动控制指令,支持振镜轴与其它轴类型混合插补

22

振镜轴类型,带振镜位置反馈;振镜连接不上AXISSTATUS的bit2会置位,振镜报警AXISSTATUS的bit3会置位;MPOS返回反馈位置,做了反矫正处理,ENCODER返回原始的反馈位置脉冲单位;ZMC408SCAN支持

24

远程编码器轴类型;ZHD500X上手轮使用,需要控制器5系列20180404以上固件版本支持

50

RTEX周期位置模式,需Rtex控制器

51

RTEX周期速度模式,需Rtex控制器

52

RTEX周期力矩模式,需Rtex控制器;请先关闭驱动器2自由度控制模式,并设置设置速度限制

65

ECAT周期位置模式,需支持EtherCAT

66

ECAT周期速度模式,需支持EtherCAT

Profile要设置为20或以上

67

ECAT周期力矩模式,需支持EtherCAT

PROFILE要设置为30或以上

70

ECAT自定义操作,只读取编码器,需支持EtherCAT

指令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

指令33

ZAux_Direct_SetLspeed

指令原型

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

指令说明

设置起始速度,单位units/s。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

fValue

设置的起始速度。

输出参数

/

返回值

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

指令示例

轴基本参数的设置获取(带起始速度与S曲线)

详细说明

1.当多轴运动时,设置主轴作为插补运动的起始速度。

2.当需要追求效率时,可以考虑设置起始速度。

指令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”,轴号, 当前速度的比例))来代替掉速度函数,让他在线变速变得相对平滑。

指令20

ZAux_Direct_SetAccel

指令原型

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

指令说明

设置加速度。单位为units/s/s。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

pfValue

设置的加速度。

输出参数

/

返回值

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

指令示例

轴基本运动参数设置获取

详细说明

1.当多轴运动时,插补运动的加速度设置主轴加速度。

(主轴:轴列表数组里第0个数据所指定的轴号)

2.建议运动前设置好加速度和减速度,运动中不要修改,运动中调整会导致速度曲线变化。

指令22

ZAux_Direct_SetDecel

指令原型

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

指令说明

设置减速度,单位units/s/s。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

pfValue

设置的减速度。

输出参数

/

返回值

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

指令示例

轴基本运动参数设置获取

详细说明

当多轴运动时,插补运动的加速度设置主轴减速度。

(主轴:轴列表数组里第0个数据所指定的轴号)

建议运动前设置好加速度和减速度,运动中不要修改,运动中调整会导致速度曲线变化。

当设置为0时,自动等于加速度ACCEL值,进行对称的加减速。

指令35

ZAux_Direct_SetSramp

指令原型

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

指令说明

设置S曲线时间,单位ms,0时则表示梯形加减速。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

fValue

设置的S曲线值。

输出参数

/

返回值

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

指令示例

轴基本参数的设置获取(带起始速度与S曲线)

详细说明

设置后加减速过程会延长相应的时间

设置最大值为原来T型加速度的加速时间。

指令214

ZAux_Direct_SetFsLimit

指令原型

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

指令说明

设置轴正向软限位,取消软限位时设置一个较大的值即可。单位units。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

pfValue

设置的正向限位值。

输出参数

/

返回值

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

指令示例

正负软限位设置

详细说明

当FS_LIMIT大于REP_DIST时,参数不起作用,正向软限位被禁止。

取消软限位时,建议不要去修改REP_DIST的值,将FS_LIMIT设置一个较大值即可。FS_LIMIT的值默认为200000000。

软限位无法作为DATUM回零时的限位信号参考。

注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

指令216

ZAux_Direct_SetRsLimit

指令原型

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

指令说明

设置轴负向软限位,取消软限位时设置一个较大的值即可。单位units。

输入参数

参数名

描述

handle

连接标识。

iaxis

轴号。

pfValue

设置的负向限位值。

输出参数

/

返回值

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

指令示例

正负软限位设置

详细说明

当RS_LIMIT大于REP_DIST时,参数不起作用,负向软限位被禁止。

取消软限位时,建议不要去修改REP_DIST的值,将RS_LIMIT设置一个较大值即可。RS_LIMIT的值默认为-200000000。

软限位无法作为DATUM回零时的限位信号参考。

注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

指令113

ZAux_Direct_SetDatumIn

指令原型

int32 __stdcall ZAux_Direct_SetDatumIn(ZMC_HANDLE handle, int iaxis , int  iValue)

指令说明

设置轴映射原点IN,-1表示取消。

输入参数

参数名

描述

handle

连接句柄。

iaxis

轴口编号。

iValue

IO口编号,-1时为取消设置。

输出参数

/

返回值

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

指令示例

单轴回零运动

详细说明

设置了原点开关后,ZMC控制器输入OFF时认为有信号输入,要相反效果可以用INVERT_IN反转电平。(ECI系列控制器相反)。

指令218

ZAux_Direct_SetFwdIn

指令原型

int32 __stdcall ZAux_Direct_SetFwdIn(ZMC_HANDLE handle, int iaxis,int iValue)

指令说明

设置正向限位信号,-1表示取消,参见软件手册里面的“FWD_IN”指令。注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

输入参数

参数名

描述

handle

连接句柄。

iaxis

轴号。

iValue

IO口编号,-1时为取消设置。

输出参数

/

返回值

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

指令示例

正负硬限位设置

详细说明

1设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

2输入OFF时,认为有信号输入,要相反效果可以用INVERT_IN反转电平(ECI系列控制器相反)。

3正负限位切记勿要设置反,否则碰到限位还是会继续运动。

指令220

ZAux_Direct_SetRevIn

指令原型

int32 __stdcall ZAux_Direct_SetRevIn(ZMC_HANDLE handle, int iaxis,int iValue);

指令说明

设置负向限位信号,-1表示取消,参见软件手册里面的“REV_IN”指令。注:设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

输入参数

参数名

描述

handle

连接句柄。

iaxis

轴号。

iValue

IO口编号,-1时为取消设置。

输出参数

/

返回值

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

指令示例

正负硬限位设置

详细说明

1设置限位前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

2输入OFF时,认为有信号输入,要相反效果可以用INVERT_IN反转电平(ECI系列控制器相反)。

3正负限位切记勿要设置反,否则碰到限位还是会继续运动。

指令222

ZAux_Direct_SetAlmIn

指令原型

int32 __stdcall ZAux_Direct_SetAlmIn(ZMC_HANDLE handle, int iaxis,int iValue)

指令说明

设置轴报警信号,-1表示取消,参见软件手册里面的“ALM_IN”指令。

输入参数

参数名

描述

handle

连接句柄。

iaxis

轴号。

iValue

IO口编号,-1时为取消设置。

输出参数

/

返回值

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

指令示例

告警IN设置

详细说明

1设置轴报警信号前需检查有无设置对应的加减速度,以及快减减速度,若无设置,碰到限位无法停止

2输入OFF时,认为有信号输入,要相反效果可以用INVERT_IN反转电平(ECI系列控制器相反)。

指令205

ZAux_Direct_SetInvertIn

指令原型

int32 __stdcall ZAux_Direct_SetInvertIn(ZMC_HANDLE handle, int

ionum, int bifInvert)

指令说明

设置反转输入状态,参见软件手册里面的“ INVERT_IN”指令。

输入参数

参数名

描述

handle

连接句柄。

ionum

输入口编号。

BifInvert

状态 0-反转关 1-反转开。

输出参数

/

返回值

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

指令示例

正负硬限位设置

详细说明

ZMC系列控制器输入OFF时认为有信号输入(ECI系列控制器与之相反)

2.轴参数设置界面

图片

(1)成功连接控制器后,还使能参数写入布尔,然后超时事件根据进行一次轴参数初始化设置。

图片

(2)在参数界面修改轴参数数值,会自动设置轴参数。

图片

图片

(3)参数写入子VI。

图片

3.教学视频可点击→“LabVIEW运动控制(二):EtherCAT运动控制器的多轴示教加工应用(上)_”查看。

完整代码获取地址

完整代码.png

本次,正运动技术LabVIEW运动控制(二):EtherCAT运动控制器的多轴示教加工应用(上),就分享到这里。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正运动技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值