前言
说了这么多,这和EtherCAT有关系么?当然有,对于EtherCAT或者任意一个总线来说,都需要知道接入设备的类型及数据格式,否则是无法解释数据的,通常有两种方式:
事先约定:通过事先约定的来确定工作如何进行。这就像发个信息说“我们晚上8点一起看电影吧“一样简单,这是小编喜欢它的原因。但这个约定有时就像友谊的小船说翻就翻,对方招呼也不打,只剩你一个人还傻傻地站在的电影院门口;
协议规范:定义一套完整的规范,大家一起遵循它。规范通常都很多很杂,学习成本较高,按规范开发就像是你去做的基金定投,短期收益低,但稳定可靠。
ESI(EtherCAT Slave Information):这个是从站提供的标准描述规范文件,该文件描述了设备的类型、数据格式及一些“特殊癖好”,这就相当于USB的设备描述符+接口描述符。
ENI(EtherCAT Network Information):这个是用于给主站启动时,加载的标准配置规范文件,用于初始化所有的从站。这个文件描述了从站的数量、每个从站的类型及数据格式、DC等配置信息。
准备工作
生成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。
解释输入输出数据
在CiA402规范中,定义了伺服类设备的数据格式,这里给大家介绍一下最常用的位置控制模式的数据格式。
1.输出数据
Controlword:控制字,16Bit,主要用于控制电机上下电,抱闸等;
Target Position:目标位置,32Bit,用于控制电机转到指定的位置。
Statusword:控制字,16Bit,主要用于控制电机上电、下电、抱闸等操作;
Position Actual Value:实际位置,用于反馈电机当前所在位置。我们要做的就是周期性解释以上4个数据,然后执行对应的操作即可,可参考如下代码:
电机测试
1. move_test
angle表示电机转动角度,输入该命令后,电机会一直重复执行输出:先正转angle度,然后反转angle度。
输入move_test 90,仔细观察电机的转动,如果发现转动的角度比90度小,则说明脉冲当量偏小,应适当增加。推荐10倍住上递增进行测试,该值默认为1。
1. 关于脉冲当量
编码器的分辨率,可以从伺服驱动器的手册得到。
2. 关于EtherCAT主站
-
致远电子
+关注
关注
13文章
405浏览量
31275
原文标题:【产品应用】三个步骤,让你的EtherCAT电机转起来
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论