【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

更新时间:2024-01-04 00:11:31 阅读: 评论:0

2024年1月4日发(作者:泉州闽台缘博物馆)

【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

导语:今天,正运动小助手给大家共享一下EtherCAT运动控制卡之ECI2828的轴参数讲明和怎样使用LabVIEW进展EtherCAT总线初始化。

今天,正运动小助手给大家共享一下EtherCAT运动控制卡之ECI2828的轴参数讲明和怎样使用LabVIEW进展EtherCAT总线初始化。

一ECI2828硬件介绍

ECI2828系列运动控制卡支持多达16

轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴和机械手指令等;采用优化的网络通讯协议可以实现实时的运动控制。

ECI2828系列运动运动控制卡支持以太网,232

通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,进而扩展输入输出点数或者运动轴。

ECI2828系列运动控制卡的应用程序可以使用VC、VB、VS、C++和C#等软件来开发,程序运行时需要动态库

。调试时可以把ZDevelop软件同时连接到控制器,进而方便调试,方便观察。

ECI2828系列典型连接配置图

二、LabVIEW根本轴参数介绍

ATYPE:轴功能类型设置,只能设置为轴具备的特性(轴特性可查询硬件手册或者使用ZDevelop软件连接上控制器以后查看控制器状态)。

UNITS:脉冲当量,指定每单位发送的脉冲数,支持5位小数精度。

ACCEL:轴加速度,单位为

units/s/s。当多轴运动时,插补运动的加速度为主轴加速度。建议运动前设置好加速度和减速度,运动中不要修改,运动中调整会导致速度曲线变化。

DECEL:轴减速度,单位为units/s/s。当多轴运动时,作为插补运动的减速度。当设置为0

时,自动等于加速度ACCEL值,进展对称的加减速。建议运

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

SPEED:轴速度,单位为units/s。当多轴运动时,作为插补运动的速度。SPEED

修改后,立即生效,可以实现动态变速,但是改变瞬间会抖。祈望平滑变速请使用SPEED_RATIO指令。

以上是控制轴运动的根本参数,在硬件连接没问题的情况下,只要设置好这5个参数,就可以控制伺服或者步进电机运动。

三、总线初始化文件准备

总线初始化文件一般可以使用正运动的开发环境ZDevelop来编辑。

我们可以直接翻开“.zpj〞工程,该工程中就包含了“ECAT初始化.bas〞文件。或直接翻开“ECAT初始化.bas〞文件来修改初始化程序。

以下是初始化文件的详细内容:

'*******************************************************ECAT总线初始化'''''''''global

CONSTBUS_TYPE=0'总线类型。用于上位机区分当前形式

globalCONSTMAX_AXISNUM=16'最大轴数global

CONSTBus_Slot=0'槽位号0globalCONSTBus_AxisStart=0'总线轴起始轴号global

Bus_InitStatus'总线初始化完成状态Bus_InitStatus=-1globalBus_TotalAxisnum

'检查扫描的总轴数delay(3000)'延时3S等待驱动器上电'**********************初始化ECAT总线

Ecat_Init()end

globalsubEcat_Init()localtemp_axisfori=0toMAX_AXISNUM-1'初始化复原轴类型

AXIS_ENABLE(i)=0atype(i)=0nextBus_InitStatus=-1Bus_TotalAxisnum=0

SLOT_STOP(Bus_Slot)delay(200)slot_scan(Bus_Slot)'开场扫描ifreturnthen

?"总线扫描成功","连接设备数:"NODE_COUNT(Bus_Slot)?"开场映射轴号"fori=0to

NODE_COUNT(Bus_Slot)-1'遍历总线下所有从站节点ifNODE_AXIS_COUNT(Bus_Slot,i)0

then'判断当前节点是否有电机forj=0toNODE_AXIS_COUNT(Bus_Slot,i)-1temp_axis=

Bus_AxisStart+Bus_TotalAxisnumba(temp_axis)AXIS_ADDRESS=Bus_TotalAxisnum+1

'映射轴号ATYPE=65'设置控制形式65-位置66-速度67-转矩DRIVE_PROFILE=0'设置PROFILE功能

disable_group(temp_axis)'每轴单独分组'DRIVE_IO=128+(temp_axis)*16'映射驱动器上的IO状态

'REV_IN=128+(temp_axis)*16'FWD_IN=129+(temp_axis)*16'DATUM_IN=130

+(temp_axis)*16'INVERT_IN(128+(temp_axis)*16,ON)'INVERT_IN(129+

(temp_axis)*16,ON)'INVERT_IN(130+(temp_axis)*16,ON)

Bus_TotalAxisnum=Bus_TotalAxisnum+1'总轴数+1nextendifnext

?"轴号映射完成","连接总轴数:"Bus_TotalAxisnumwa2000SLOT_START(Bus_Slot)'启动总线ifreturn

then?"总线开启成功"?"开场去除驱动器错误(根据驱动器数据字典设置)"fori=Bus_AxisStarttoBus_AxisStart+

Bus_TotalAxisnum-1DRIVE_CONTROLWORD(i)=128'根据驱动器数据字典wa100

DRIVE_CONTROLWORD(i)=6wa100DRIVE_CONTROLWORD(i)=15wa100next?"驱动器错误去除完成"

wa100?"去除控制器错误"datum(0)DRIVE_CLEAR(0)?"控制器错误去除完成"wa100?"轴使能准备"fori=

Bus_AxisStarttoBus_AxisStart+Bus_TotalAxisnum-1ba(i)AXIS_ENABLE=1next

wdog=1'使能总开关Bus_InitStatus=1?"轴使能完成"el?"总线开启失败"Bus_InitStatus=0

endifel?"总线扫描失败"Bus_InitStatus=0endifendsub

四、LabVIEW编程介绍

在进入详细程序介绍前,我们先来大概解析一下LabVIEW终究是怎么编程的。

W编程构造--while循环构造

While循环构造顾名思义,就是类似于C语言中的while,或者是正运动开发环境ZDevelop中使用的while循环一般,来对程序进展循环扫描。我们可以通过BOOL类型输入来控制while循环是否完毕,和将

!接入显示控件来显示while循环次数。

W编程构造--事件构造

事件构造是我们进展人机交互的主要构造,在事件构造中,我们可以自由添加外部控件的触发事件。

例如:在前面板处,我们添加了一个“以太网连接〞的控件,当我们想在这个控件按下时,执行对应的程序,我们就可以在事件构造中添加这个控件的事件,以此来到达我们的目的。

第一步控制器连接

第二步添加事件分支

第三步编辑事件

第四步添加以太网连接控件

第五步按下“以太网连接〞控件

此时当我们按下“以太网连接〞控件后,可以发现弹出一个消

息框,消息框显示“鼠标按下〞,这个正是我们所要显示的字符常量。

W编程构造--条件构造。

此构造类似于C语言中的if语句,当条件构造中的?输入为真时,执行“真〞内程序,当条件构造的?输入为假时,执行“假〞内程序。

W编程构造--程序运行顺序。

在LabVIEW中一般是最后添加的函数先执行。

所以,为了进展先后顺序执行,我们可以使用顺序构造来进展分类。

第一步

第二步

第三步

五LabVIEW初始化EtherCAT总线

1.下载初始化文件函数。

如今我们来介绍一下,下载“Bas文件〞到控制器里所用到的函数。

W中函数使用实例。

下面我们以例程8-总线控制运动例程来讲解一下ZAux_BasDown函数使用方式。

(1)首先,我们在事件构造中添加了【“下载Bas文件】值改变〞鼠标按下事件。

也就是当我们控件界面的“下载Bas文件〞按键按下时触发该事件。

(2)接下来是知足“条件构造〞中的条件,即句柄不为0时,执行条件构造中“真〞程序。

在“条件构造〞中我们看到还有一个“文件对话框〞的控件,该控件可以为我们翻开一个用于选择下载文件的对话框。剩下的就是选择我们需要初始化的总线文件即可。

(3)初始化完成后,我们可以看见轴状态为65,这代表我们使用的是csp位置形式。

W中轴状态显示。

(1)轴状态栏因为是实时更新的,所以需要我们循环地访问控制器里的轴参数。这里我们可以在“事件构造〞中的“超时〞处写入我们的读取轴参数程序。“超时〞事件是在其他事件未

触发时,“事件构造〞中默认执行的事件。

这里我们可以看到,此处“超时〞事件中有两个“条件构造〞一个是轴参数读取“条件构造〞。在轴参数读取的条件构造中,当连接句柄不为0时,轴参数读取的“条件构造〞便处于执行状态,也就是只要我们一旦连接上了控制器,轴参数便一直处于实时读取状态。

另一个“条件构造〞是总线初始化显示程序,当“文件下载标志〞、“初始化状态〞、“连接句柄〞三个变量有一个不知足要求时,便重新读取一下总线节点、初始化文件里的“Bus_InitStatus〞初始化完成标志、“Bus_TotalAxisnum〞总线总轴数。

W中EtherCAT交互。

要解析EtherCAT总线的SDO通讯的程序实现,我们可以在“事件构造〞中看一下“设置〞和“读取〞两个按键里的程序。

(1)“设置〞事件程序。

我们可以看见“设置〞事件中仅调用了一个“ZAux_BusCmd_SDOWrite〞函数就可以实现。

(2)“读取〞事件程序。

读取也只需要调用“ZAux_BusCmd_SDORead〞函数即可实现。

六调试与监控

1.因为,ECI2828是通过TCP/IP与PC建立连接的,这意味着我们可以建立多条连接。因此,在使用启动LabVIEW程序时,我们还可以使用正运动开发环境ZDevelop来监控当前控制器运行状态。

通过打印信息,我们可以看见总线初始化已成功。

2.示波器使用。

连接“ZDevelop〞软件通过软件右侧的轴参数进展控制器状态监控,可以以点击“视图〞→“示波器〞翻开示波器对轴运动情况进展监控。

示波器可以实现实时监控当前的命令位置和反应位置。

3.调试视频。

本次,正运动技术EtherCAT运动控制卡和LabVIEW构建智能装备(三),就共享到这里。

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

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

0

【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

本文发布于:2024-01-04 00:11:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1704298291132728.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三).doc

本文 PDF 下载地址:【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三).pdf

下一篇:返回列表
标签:运动   构造   总线   使用   连接   事件   文件   控制器
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|