技术频道

娓娓工业
您现在的位置: 中国传动网 > 技术频道 > 技术百科 > 【正运动】EtherCAT运动控制卡和LabVIEW构建智能装备(三)

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

时间:2021-08-11 10:52:47来源:深圳市正运动技术有限公司

导语:​今天,正运动小助手给大家分享一下EtherCAT运动控制卡之ECI2828的轴参数说明以及如何使用LabVIEW进行EtherCAT总线初始化。

  今天,正运动小助手给大家分享一下EtherCAT运动控制卡之ECI2828的轴参数说明以及如何使用LabVIEW进行EtherCAT总线初始化。

  一ECI2828硬件介绍

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

  ECI2828系列运动运动控制卡支持以太网,232 通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,从而扩展输入输出点数或运动轴。

ECI2828系列运动控制卡支持多达16 轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴和机械手指令等;采用优化的网络通讯协议可以实现实时的运动控制。    ECI2828系列运动运动控制卡支持以太网,232 通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,从而扩展输入输出点数或运动轴。

  ECI2828系列运动控制卡的应用程序可以使用 VC、VB、VS、C++以及C#等软件来开发,程序运行时需要动态库 zmotion.dll。调试时可以把ZDevelop软件同时连接到控制器,从而方便调试,方便观察。

ECI2828系列运动控制卡支持多达16 轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴和机械手指令等;采用优化的网络通讯协议可以实现实时的运动控制。    ECI2828系列运动运动控制卡支持以太网,232 通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,从而扩展输入输出点数或运动轴。

  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 CONST BUS_TYPE = 0 '总线类型。用于上位机区分当前模式global CONST MAX_AXISNUM = 16 '最大轴数global CONST Bus_Slot = 0 '槽位号0global CONST Bus_AxisStart = 0 '总线轴起始轴号global Bus_InitStatus '总线初始化完成状态Bus_InitStatus = -1global Bus_TotalAxisnum '检查扫描的总轴数delay(3000) '延时3S等待驱动器上电'**********************初始化ECAT总线 Ecat_Init()end

  global sub Ecat_Init() local temp_axis for i=0 to MAX_AXISNUM - 1 '初始化还原轴类型 AXIS_ENABLE(i) = 0 atype(i)=0 next Bus_InitStatus = -1 Bus_TotalAxisnum = 0 SLOT_STOP(Bus_Slot) delay(200) slot_scan(Bus_Slot) '开始扫描 if return then ?"总线扫描成功","连接设备数:"NODE_COUNT(Bus_Slot) ?"开始映射轴号" for i=0 to NODE_COUNT(Bus_Slot)-1 '遍历总线下所有从站节点 if NODE_AXIS_COUNT(Bus_Slot,i) <>0 then '判断当前节点是否有电机 for j=0 to NODE_AXIS_COUNT(Bus_Slot,i)-1 temp_axis = Bus_AxisStart +Bus_TotalAxisnum base(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 '总轴数+1 next endif next ?"轴号映射完成","连接总轴数:"Bus_TotalAxisnum wa 2000 SLOT_START(Bus_Slot) '启动总线 if return then ?"总线开启成功" ?"开始清除驱动器错误(根据驱动器数据字典设置)" for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 DRIVE_CONTROLWORD(i)=128 '根据驱动器数据字典 wa 100 DRIVE_CONTROLWORD(i)=6 wa 100 DRIVE_CONTROLWORD(i)=15 wa 100 next ?"驱动器错误清除完成" wa 100 ?"清除控制器错误" datum(0) DRIVE_CLEAR(0) ?"控制器错误清除完成" wa 100 ?"轴使能准备" for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 base(i) AXIS_ENABLE=1 next wdog=1 '使能总开关 Bus_InitStatus = 1 ?"轴使能完成" else ?"总线开启失败" Bus_InitStatus = 0 endif else ?"总线扫描失败" Bus_InitStatus = 0 endifend sub

  四、LabVIEW编程介绍

  在进入具体程序介绍前,我们先来大概了解一下LabVIEW究竟是怎么编程的。

  1.LabVIEW编程结构 -- while循环结构

运动控制

  While循环结构顾名思义,就是类似于C语言中的while,或是正运动开发环境ZDevelop中使用的while循环一般,来对程序进行循环扫描。我们可以通过BOOL类型输入来控制while循环是否结束,以及将 !接入显示控件来显示while循环次数。

  2.LabVIEW编程结构--事件结构

运动控制

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

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

运动控制

第一步控制器连接

运动控制

第二步添加事件分支

运动控制

第三步编辑事件

运动控制

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

运动控制

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

运动控制

  此时当我们按下“以太网连接”控件后,可以发现弹出一个消息框,消息框显示“鼠标按下”,这个正是我们所要显示的字符常量。

  3. LabVIEW编程结构 -- 条件结构。

运动控制

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

  4. LabVIEW编程结构 -- 程序运行顺序。

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

运动控制

运动控制

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

运动控制

第一步

运动控制

第二步

运动控制

第三步

  五LabVIEW初始化EtherCAT总线

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

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

运动控制

  2.LabVIEW中函数使用实例。

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

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

运动控制

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

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

运动控制

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

运动控制

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

运动控制

  3.LabVIEW中轴状态显示。

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

运动控制

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

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

  4.LabVIEW中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。

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


标签: EtherCAT运动控制控制器

点赞

分享到:

上一篇:英国的物联网安全监管法规也...

下一篇:X-NAND技术有望为QLC闪存带来...

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

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

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

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

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

Chuandong.com Copyright ©2005 - 2021 ,All Rights Reserved 版权所有 粤ICP备 14004826号 | 营业执照证书 | 不良信息举报中心 | 粤公网安备 44030402000946号