本文以正运动扩展模块EIO16084为例
一、EtherCAT扩展模块接线参考
EIO16084数字量扩展模块为单电源供电,主电源就可以给IO供电,主电源采用24V直流电源。
EIO16084扩展模块在扩展接线完成后,不需要进行进行二次开发,只需手动在EtherCAT主站控制器配置唯一的IO地址,配置完成即可访问。IO地址编号通过总线指令NODE_IO来设置,控制器上程序只需通过IO编号就可以访问到扩展模块上的资源。
接线时注意EtherCAT IN连接上一级模块,EtherCAT OUT连接下一级模块,IN和OUT口不可混用。
EIO扩展模块接线参考示例(以ZMC408SCAN举例):
上图涉及的编号概念如下:总线相关指令参数会用到如下编号:
槽位号(slot):
槽位号是指控制器上总线接口的编号,EtherCAT总线槽位号为0。
设备号(node):
设备号是指一个槽位上连接的所有设备的编号,从0开始,按设备在总线上的连接顺序自动编号,可以通过NODE_COUNT(slot)指令查看总线上连接的设备总数。
驱动器编号:
控制器会自动识别出槽位上的驱动器,编号从0开始,按驱动器在总线上的连接顺序自动编号。
驱动器编号与设备号不同,只给槽位上的驱动器设备编号,其他设备忽略,映射轴号时将会用到驱动器编号。
二、EtherCAT扩展模块使用步骤
1.请按照以上接线说明正确完成电源,EtherCAT总线,IO信号等模块的接线;
2.控制器上电后请选用ETHERNET接口、RS232串口连接ZDevelop;
3.EIO16084扩展模块需要经过总线初始化之后才能使用;
①执行总线初始化程序,初始化过程中识别EIO扩展模块的设备编号和连接的驱动器编号,根据驱动器编号操作轴映射,采用AXIS_ADDRESS指令映射轴,根据设备号操作扩展模块的IO映射,采用NODE_IO指令映射IO,设置DRIVE_PROFILE和ATYPE;
②初始化成功后,使能扩展模块上的驱动器;
③使能完成设置基本运动参数ATYPE、UNITS、SPEED、ACCEL、FWD_IN、REV_IN等轴参数,再发送运动指令便可驱动电机;
4.设置完成后即可建立通讯,通讯成功“控制器状态”-“槽位0节点”则会显示扩展模块的信息;
5.可通过“IN”指令直接读取相应输入口的状态值,也可以通过“ZDevelop/视图/输入口”界面直观查看输入口状态,详细说明见“ZBasic编程手册”;
6.可通过“OP”指令直接操作端口开启或关闭,也可以通过“ZDevelop/视图/输出口”界面直接点击进行开启或关闭,直观查看输出口状态,详细说明见“ZBasic编程手册”;
7.脉冲轴的相关参数比较多,需通过相关指令进行设定和查看,详细说明见“ZBasic编程手册”中“轴参数与轴状态指令”部分说明;也可以通过“ZDevelop/视图/轴参数”界面直观查看。
8.通过ZDevelop视图栏中手动运动窗口操作控制相应运动即可。
注意事项:
- 扩展模块上的IO不管有没有使用都需要使用NODE
IO指令映射EIO16084的输入输出编号。扩展模块的DRIVE_PROFILE配置为0,ATYPE设为65,但实际由于是脉冲型驱动器,轴类型并不是65,真实轴类型的配置使用SDO指令配置数据字典6011h设置。 - 初始化过程中若产生硬限位报警,可在轴参数窗口将硬限位FWD_IN和REV_IN的映射编号指向-1,表示不映射,需要接入限位开关时再去修改
FWD_IN和REV_IN。