赞
踩
硬件环境:
软件环境:
操作步骤:
1、硬件连接上Ethercat从站后,启动Igh主站,"/etc/init.d/ethercat start",提示"Starting EtherCAT master 1.5.2 done"后可以看到伺服网口灯开始闪烁,表示运行正常了。
2、终端输入igh的ethercat slaves、ethercat pdos可以查看从站的基本信息及PDO输出信息;需要这些信息结合厂家给的XML描述文件去修改国外大神的xml配置文件配置PDO等实现Ethercat数据交互。
需要说明下igh与倍福的Ethercat主站的区别;倍福及SOEM查找总线上从站pdo信息是通过厂家的描述文件配置去实现的,而igh则是实时读取从站的信息去路由pdo信息的;所以我这里遇到了一个问题,就是我使用的这台台达ASDA伺服的EEPROM信息是不完整的,导致igh使用ethercat pdos时则没法看到pdo信息,无法驱动,而倍福Twincat则没有问题。后来我重新给这台台达伺服刷了相对完整的EEPROM信息才可以使用igh。
3、以台达伺服为例子:(都是拿的Linuxcnc的Axis界面进行测试的)
1)、deltapos.xml
这个xml文件格式是由国外这位大神定的,其中各个项的含义如果了解CIA402的话应该也大部分能够理解了。vid及pid指伺服的一些基本信息,厂家的XML文件或者ethercat slaves命令应该都可以看到;还有其中“type="generic"”表示这个模块的定义是通用的方式,需要自己通过SDO去配置PDO分组。当然这个type有其他默认的倍福的一些模块如(EL1008、EL2008、台达的ASDA等等,这里拿通用的来演示可以方便扩展),需要自己将PDO中Cia402用于伺服控制的信息命名一个halpin名称,用于在hal文件中与其他Linuxcnc管脚进行连接(需要了解Linuxcnc的基本工作原理),比如这里配置了6060默认值为8,表示伺服工作模式是CSP同步位置模式,60C2表示扫描周期为2ms,6040则是伺服控制字,607A是目标位置等等,一般CSP模式只要用到这4个即可,如果需要加入速度前馈或者扭矩前馈修正可以自己在1601里面往后添加对应项即可,格式自行参考测试使用。原谅我管脚的命名很随意。。。。。。请忽视。。。
2)、deltapos.hal
该hal调用了大神的lcec_conf脚本去读取上面的deltapos.xml文件配置ethercat,同时loadrt装载了lcec模块,从站的属性调用方法很有规律,看下就明白了,我将下面的lcec.0.0.pos、poscommand等与linuxcnc的Axis界面一些参数进行了关联,如目标位置、反馈位置。通过位操作将drivecontrol控制字Linuxcnc的Axis的使能按键进行关联,这样点击界面的使能则伺服使能了;其他是基本操作,自己测试下就好了。
3)、axis_deltax.ini
该文件由linuxcnc调用,放入Linuxcnc的config文件夹后,可以在启动项目选择界面上找到axis_deltax选项,选择则可以。我是拿Axis配置文件进行了简单修改;主要是添加hal的调用。
4、以倍福IO模块为例(XML文件及Hal文件)
看,XML文件使用了默认的配置EK1100、EL1008、EL2008,关联起来是不是特别简单,根本不需要自己配置什么,注意下默认的输入输出halpin命名方式,看大神的源码就可以理解他的思路。
5、上述理解纯粹出于个人兴趣玩后的经验总结,如有出入,欢迎指正~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。