加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    •   准备工作
    •   生成ENI文件
    •   加载ENI文件
    • 解释输入输出数据
    •   电机测试
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【产品应用】三个步骤,让你的EtherCAT电机转起来

2023/06/18
5113
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

EtherCAT是自动化控制最好的实时环形控制总线之一,本文以最简单的方式带你实际操作ZMC300E的EtherCAT总线,让你的EtherCAT电机转起来。

前言

当一个鼠标插入到电脑时,发生了什么?

首先电脑会检测到有USB插入;然后,电脑会提示安装驱动;最后,就可以通过鼠标来移动光标、单击、双击等操作了。

这有问题么?当前没有问题,但作为程序猿,有两个地方值得深挖一下。

1、电脑安装的驱动,是什么驱动?当然是鼠标驱动,因为我们接入的是鼠标。但电脑是如何知道呢?原来USB规范中,要求每个USB设备都要有自己的设备描述符,电脑通过分析该描述符,才知道接入的是什么设备。

2、为什么能通过鼠标来移动光标?这是双方共同合作的结果。首先鼠标提供光标位置的数据,然后电脑收到鼠标的数据后,将数据作用到光标的位置上产生移动效果。这需要有个前提,即鼠标数据的格式,电脑需要先知道其格式,才能解释这份数据。这份数据格式的定义,在USB的接口描述符规范中进行了定义。

说了这么多,这和EtherCAT有关系么?当然有,对于EtherCAT或者任意一个总线来说,都需要知道接入设备的类型及数据格式,否则是无法解释数据的,通常有两种方式:

事先约定:通过事先约定的来确定工作如何进行。这就像发个信息说“我们晚上8点一起看电影吧“一样简单,这是小编喜欢它的原因。但这个约定有时就像友谊的小船说翻就翻,对方招呼也不打,只剩你一个人还傻傻地站在的电影院门口;

协议规范:定义一套完整的规范,大家一起遵循它。规范通常都很多很杂,学习成本较高,按规范开发就像是你去做的基金定投,短期收益低,但稳定可靠。

EhterCAT和USB一样都采用了协议规范这种方式,这里简单介绍一下EtherCAT的相关规范及用途:

ESI(EtherCAT Slave Information):这个是从站提供的标准描述规范文件,该文件描述了设备的类型、数据格式及一些“特殊癖好”,这就相当于USB的设备描述符+接口描述符。

ENI(EtherCAT Network Information):这个是用于给主站启动时,加载的标准配置规范文件,用于初始化所有的从站。这个文件描述了从站的数量、每个从站的类型及数据格式、DC等配置信息。

ESI还理解,为啥还多了个ENI呢?EtherCAT规范为了满足工业控制的复杂性,ESI中提供了非常强大的可配置功能,相对的使用起来也变得困难了。因此EtherCAT采用静态化配置,即由PC使用可视化工具进行对应的配置工作,配置完成后导出不可变的ENI配置,给到具体的主站设备来执行。所谓静态化配置,即EtherCAT网络设备发生变化时,需要重新执行配置工作,相比于USB的全自动配置,功能强大了,但使用也麻烦了。有得必有失,这是EtherCAT的选择。简单总结一下EtherCAT开发,可分三步走:生成ENI,加载ENI,解释输入输出数据。

  准备工作

开始EtherCAT测试前,需要准备以下硬件:一台电脑、一台 ZMC300E运动控制器、一台EtherCAT伺服驱动器、2根网线,然后使用网线将设备按如下示意图进行连接。

  生成ENI文件

1. 启动EtherCAT服务

打开putty.exe软件,输入运动控制器NET1的默认IP地址:192.168.1.136,账号和密码为root。

2. 连接设备

启动ZlgEtherCatStudio上位机配置软件,输入运动控制器NET1的默认IP地址:192.168.1.136,点击回车。

3. 扫描网络

通过扫描EtherCAT总线,来识别接入了多少个设备,并将其网络拓扑添加到本地主站树节点。

4. 导入ESI

如果该从站无法正确识别,可手动导入从站ESI(EtherCAT Slave Information)文件。

5. 配置FMMU

一般应用不需配置从站FMMU/SM,使用从站默认配置即可。当需要改变输入输出变量时,可通过本配置项配置。

6. 生成ENI文件

导出ENI,取名为text_eni。

  加载ENI文件

1. 将上一步生成的test_eni.xml文件,通过WinSCP工具上传到运动控制器的目录/opt中。

2. 使用控制器加载ENI配置/文件在putty.exe工具,先输入ctrl+c结束当前主站程序,输入以下命令启动主站并加载ENI配置文件:/opt/ecat_test/master /opt/test_eni.xml,看到输出ethercat start success即代表成功。

解释输入输出数据

在CiA402规范中,定义了伺服类设备的数据格式,这里给大家介绍一下最常用的位置控制模式的数据格式。

1. 输出数据

Controlword:控制字,16Bit,主要用于控制电机上下电,抱闸等;

Target Position:目标位置,32Bit,用于控制电机转到指定的位置。

2. 输入数据(相对于设备)

Statusword:控制字,16Bit,主要用于控制电机上电、下电、抱闸等操作;

Position Actual Value:实际位置,用于反馈电机当前所在位置。我们要做的就是周期性解释以上4个数据,然后执行对应的操作即可,可参考如下代码:

  电机测试

在putty.exe工具中,可使用以下命令,对电机进行简易测试,这些命令是基于CiA402规范进行实现的。

1. move_test <angle>命令

angle表示电机转动角度,输入该命令后,电机会一直重复执行输出:先正转angle度,然后反转angle度。

输入move_test 90,仔细观察电机的转动,如果发现转动的角度比90度小,则说明脉冲当量偏小,应适当增加。推荐10倍住上递增进行测试,该值默认为1。

2、units <unit>命令unit表示脉冲当量,units 1000命令用于将轴0的脉冲当量设置成1000。使用units?查看所有轴的脉冲当量。

其它补充

1. 关于脉冲当量

在实际应用中,脉冲当量的准备值,是如何计算出来的?这个应根据实际的场景及所需要单位来确定,这里给出一个常见的,以角度为单位的脉冲当量计算公式。

编码器的分辨率,可以从伺服驱动器的手册得到。

2. 关于EtherCAT主站

ZMC300E提供的EtherCAT主站,采用的是KPA master主站,商业授权,其主要特点是高效、稳定、支持通过硬件来消除帧抖动(ZMC300E可做到±15us的抖动),我司已购买其版权,用户可免费自由使用。

 

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TJA1055T/1J 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin
$1.72 查看
AD9361BBCZ-REEL 1 Analog Devices Inc RF Agile Transceiver

ECAD模型

下载ECAD模型
暂无数据 查看
KSZ9477STXI-TR 1 Microchip Technology Inc IC ETHERNET SWITCH 7PORT 128TQFP

ECAD模型

下载ECAD模型
$17.3 查看

相关推荐

电子产业图谱