本文主要介绍XPLC006E多轴经济型EtherCAT总线运动控制器控制EtherCAT总线驱动器的方法,分别介绍硬件接线方法,控制器与EtherCAT总线驱动器如何通讯,EtherCAT总线驱动器相关参数的配置,EtherCAT总线初始化操作,以及初始化成功以后的运动控制。
XPLC006E是正运动运动控制器推出的一款多轴经济型EtherCAT总线运动控制器,XPLC系列运动控制器可应用于各种需要脱机或联机运行的场合。
XPLC006E自带6个电机轴,最多12轴运动控制(含虚拟轴数),支持12轴直线插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等功能。
XPLC006E支持多任务同时运行,同时可以在PC上直接仿真运行,编程方式多种可选,支持ZDevelop软件的Basic/PLC梯形图/HMI组态和常用上位机软件编程。
XPLC006E只支持EtherCAT总线轴,不支持脉冲轴和编码器轴。采用EtherCAT总线与驱动器通讯,1ms的刷新周期。
XPLC006E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
→此款产品有XPLC004E、XPLC006E、XPLC008E三个不同轴数的型号可选。
XPLC864E在XPLC006E的功能基础上做了升级(即上节介绍的XPLC006E的功能都支持),部分资源空间优于XPLC006E,使用方法基本一致,不同之处在于XPLC864E,硬件支持32点输入、32点输出、2个ADC、2个DAC,支持脉冲轴和总线轴混合使用,总实轴轴数为8,除了带EtherCAT接口之外,输出口硬件上可配置为8个轴的脉冲方向信号输出,另带两路编码器输入,可由输入口配置
XPLC864E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
1.EtherCAT总线接线
使用一根网线将XPLC006E控制器的“EtherCAT总线端口”与“伺服驱动器的EtherCAT总线端口”相连即可。
注意: 伺服驱动器的EtherCAT接口有两个,有些驱动器这两个口可以随意接,有些分为“EtherCAT IN”和“EtherCAT OUT”,IN口接上一级设备,OUT口接下一级设备,二者不能混用,要注意连接顺序。
多轴控制时伺服驱动器的EtherCAT OUT口再连接下一级驱动设备的EtherCAT IN口,依此类推。
slot槽位编号、node节点编号和驱动器编号规则如上图所示,EtherCAT总线接口的槽位号默认是0,节点编号按照与控制器的连接先后顺序从0开始依次编号,驱动器编号则是只给带电机设备编号,其他类型设备忽略,也是按连接顺序从0开始编号,这些编号在总线指令中将会用到。
硬件接线完成还需运行总线初始化程序才能与驱动器通讯,初始化模板程序参见下文。
注意: 使用EtherCAT总线扩展模块时,也要执行总线初始化操作,再映射IO的编号后才可操作扩展IO。
2. 控制器与电脑连接
控制器与电脑可以通过串口或网口连接,下面以网口连接例展开说明。
先将控制器与电脑用一根网线连接好,接通控制器的电源,再打开ZDevelop编程软件,点击菜单栏“控制器”→“连接”,打开“连接到控制器”窗口。
通过“连接到控制器”窗口,可以快速查看本机IP,对比控制器与电脑是否处于同一网段。
IP地址列表下拉选择时,会自动查找当前局域网可用的控制器IP地址(控制器上电POWER灯和RUN灯亮的时候就能查找到该控制器的IP地址)。
同一个网络有多个控制器的时候,IP的下拉列表若没有显示目标控制器的IP地址,可以采取IP扫描来查看当前所有可用的控制器IP地址,扫描完成之后确定关闭此窗口,重新在IP下拉列表选择。
选择正确的IP地址,点击连接之后,连接成功或失败均有信息提示。
控制器出厂的缺省IP地址为192.168.0.11,“连接到控制器”窗口能显示出本机IP地址,请注意设置有线网卡与无线网卡各自的IP。电脑需要设置IP地址与控制器IP处于同一网段才能连接,即四段的前三段要相同,最后一段不同才能通讯。
若控制器与电脑不处于同一网段,则需要修改控制器或电脑其中之一的IP地址,使二者处于同一网段。
若控制器IP地址遗忘,可通过网口连接控制器,再获取控制器IP。
1.通讯周期
使用EtherCAT伺服驱动器时需要保证控制器与伺服周期一致才可正常通讯使用。
EtherCAT伺服驱动器一般支持不同周期,通讯周期主要有250us,500us,1ms,2ms,4ms,连接时自动匹配控制器周期,不需要设置,当通讯周期无法自动匹配时,通讯失败,通过修改控制器周期解决(SERVO_PERIOD指令或升级固件修改)。
控制器一般默认为1ms,使用SERVO_PERIOD指令读取控制器周期。伺服周期越小,位置控制越精细,响应速度也更快。
2.驱动器PDO设置
驱动器的PDO是必要的配置,代表着当前驱动器包含的功能。
PDO全名为(Process Data Object),指在EtherCAT总线网络中周期的进行主站与从站的数据交互的功能,可以看作一个数组空间,每个数组元素存放了不同的功能码,PDO在一个周期中执行这些功能码对应的操作,这些功能码就叫做数据字典,数据字典用4位16进制数来表示。
RxPDO: 主站传送数据给从站。
TxPDO: 从站传送数据给主站。
EtherCAT总线上控制器为主站,伺服驱动器为从站。
如6040h控制字(用于控制伺服轴的使能、启动、停止、报警、复位等运行状态),每个数据字典Index可包含32个子字典Sub-Index。数据字典的功能和初始值查看驱动器手册的描述。
数据字典的编号及功能是协议本身就确定好的,用户只需按照数据字典的描述设置数据字典的bit位,所有的标准EtherCAT设备都使用一套数据字典。
松下A6B伺服驱动器的EtherCAT相关说明内容可查看松下文档《技术资料-EtherCAT通讯规格篇》。
EtherCAT初始化过程中必须进行驱动器PDO配置,“DRIVE_PROFILE”指令配置驱动器的PDO列表,目前提供约20几种配置选择,每种配置包含哪些数据字典查看该指令说明确认,如下图,具体内容可以在《ZBasic编程手册》中查看。
DRIVE_PROFILE=-1表示驱动器的内置缺省PDO列表,驱动器内置PDO列表包含哪些数据字典需要查看驱动器手册。
DRIVE_PROFILE已有的配置不能满足需求就自定义PDO,采用SDO相关指令操作数据字典配置驱动器需要的PDO。
驱动器的相关参数修改,同样使用SDO指令读写对应的数据字典进行配置或通过驱动器软件修改。SDO指令包含数据字典读取“SDO_READ”、“SDO_READ_AXIS”和数据字典写入“SDO_WRITE”、“SDO_WRITE_AXIS”。
更多回帖