1、EtherCAT总线初始化的目的
运动控制器的EtherCAT
总线接口可用于连接
EtherCAT
伺服驱动器和
EtherCAT
扩展模块,无论连接什么模块, EtherCAT 总线都需要编写一段
EtherCAT
总线初始化程序来进行电机和
EtherCAT
扩展模块的使能。使能之后的应用与脉冲电机一致,运动指令都是相同的。
2、EtherCAT总线初始化的一般过程
1、
使用
SLOT_SCAN
扫描设备,判断
RETURN
是否正确,未连接设备时不会报错。
2、
通过
NODE_INFO/ NODE_AXIS_COUNT
等对设备类型、信息等进行判断。
3、
依次设置
AIXS_ADDRESS
,
ATYPE
,
DRIVE_PROFILE
,
DRIVE_IO
等。
4、
SLOT_START
启动设备。
5、
设置每个轴的
AXIS_ENABLE=1
,打开轴的使能,设置
WDOG=1
,所有轴使能允许。(部分驱动 器需要使用 DRIVE_CONTROLWORD
指令清除驱动器报警)
6、
建立连接后主站和从站即可进行周期性数据交换。
3、总线初始化涉及到的基本概念
1、
NODE
节点编号:根据
EtherCAT
设备接线顺序排列,编号从
0
开始到设备个数减
1
。
2、
驱动器编号:根据
EtherCAT
设备接线顺序排列,编号从
0
开始到
EtherCAT
驱动器个数减
1
,只在 AXIS_ADDRESS 配置时有作用,即只计算驱动器设备,其他扩展
IO
等设备不计入驱动器编号。
3、
轴号:控制器对连接在控制器上的驱动电机设备设定的编号,编号从
0
开始到连接设备总个数减
1
, 通过 AXIS_ADDRESS
指令可以将轴号映射到任何一个连接的驱动器设备(脉冲型控制器不支持本地轴号映 射)。
4、设置时的注意事项
1、
设备号按照连接先后顺序,从编号
0
依次递增编号,需要支持
EtherCAT
总线。
2、
总线控制器上脉冲轴的轴号是固定的。总线也可以调用脉冲轴轴号,
ATYPE=65 时总线调用,注意切换时 DPOS 会发生改变,所以最好不要使轴号冲突。
3、
用
DRIVE_CONTROLWORD(
轴号
)
清除驱动器报警后,需要延时
200ms
,再用
DATUM(0)
清除控制器报警,不延时可能需要下载两次程序才能清除报警。
4、
如果使用了
DRIVE_CONTROLWORD(
轴号
)
对驱动器操作,那么此驱动器之后的所有驱动器会继承 此次设置。所以最好对每个驱动器都设置一次。
5、
运行中连接或断开设备,需要重新扫描,状态才能更新,比如
NODE_COUNT(0)
,返回当前连接设备个数,重新扫描后返回的个数才会改变。
6、
AXIS_ADDRESS(i)=1
,选择的是第一个驱动器,而不是第一个设备。比如连接了两个扩展板后再连 接两个驱动器,设备号依次为扩展板 A
:0,扩展板
B
:
1
,驱动器
A
:
2
,驱动器
B
:
3
。此时
AXIS_ADDRESS(i)=1 选择的是驱动器 A
,
AXIS_ADDRESS(i)=2
选择的是驱动器
B
。
按照顺序连续选择,不可先选
2
再选
1
,不可选完
1
跳过
2
选择
3
。