Hero Circle Shape
Hero Moon Shape
Hero Right Shape
tokenpockettokenpocket官方下载|ethercat总线驱动器

tokenpockettokenpocket官方下载|ethercat总线驱动器

  • 作者: tokenpockettokenpocket官方下载
  • 2024-03-14 18:31:35

一文看懂EtherCAT总线控制 - 知乎

一文看懂EtherCAT总线控制 - 知乎首发于华山经验切换模式写文章登录/注册一文看懂EtherCAT总线控制华山自控编程粉丝好礼!关注送入门教程大家好,我是华山自控编程的朱老师。今天给大家介绍一种前沿的运动控制技术——EtherCAT总线控制。作为近年来非常受欢迎的一种运动控制方式, 那么EtherCAT总线控制究竟有哪些优势呢?我主要列举以下三点:传输速度特别快。在以太网控制协议中,EtherCAT总线控制协议是传输速度最快的。设备集成与拓展非常方便。所有支持EtherCAT总线控制的驱动器,IO模块等设备都可以纳入到EtherCAT总线控制的系统中。接线简化,成本降低。EtherCAT总线控制给我们的接线带来极大的方便,使得我们的接线工作大为简化。只需要一根网线从EtherCAT总线控制卡连接到驱动器和IO模块等设备上,外围的IO输入输出等接线都直接接在驱动器上或者是接在总线模块IO模块上,这样就大大降低我们的接线成本。下面,我将介绍EtherCAT总线控制系统的配置、接线和编程方式。首先我们看一下EtherCAT的系统配置(如上图所示)。以固高的EtherCAT总线控制卡为例,它可以连接伺服驱动器、步进驱动器及其他支持EtherCAT总线控制的设备。这种拓展方式非常方便,只需要一根网线连接到EtherCAT总线控制卡即可。同时,Glink总线可以用来控制数字量和模拟量的输入输出,比如电磁阀、指示灯等。下图是我们的EtherCAT控制系统的一个实际接线,只需要将网线从EtherCAT控制卡的接口连接到EtherCAT驱动器即可。驱动器可以连接到下一个驱动器,同时驱动器连接到我们的伺服电机和编码器。我们的专用IO信号可以连接在总线驱动器上的IO端口,包括原点信号、限位信号等。总线驱动器可以就地连接我们的电机平台,总线IO模块也可以就近连接电磁阀,传感器等,从而大大简化了接线,有利于设备的不断拓展。EtherCAT控制卡的编程方式大体上与通用控制卡相似,初始化控制卡,原点获取,专用IO信号读取 等方面稍有区别,熟悉通用控制卡编程的话,入手总线控制卡编程也就不难了。EtherCAT总线控制作为一种高性能、高可靠性的运动控制方式,越来越受到工业自动化领域的重视。对于想要深入了解控制系统技术的工程师来说,掌握EtherCAT总线控制技术是非常有必要的。希望这篇文章能够帮助你了解EtherCAT总线控制的基础知识,如果你对此有更深入的问题,欢迎在下方评论区提问, 需要EtherCAT总线控制相关资料的同学,请留言并关注我。发布于 2023-03-20 14:35・IP 属地广东EtherCAT 总线驱动器PLC电气自动化​赞同 4​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录华山经验专注解决电气工程师发展瓶颈,零基础学习上位

EtherCAT总线运动控制器应用进阶一 - 知乎

EtherCAT总线运动控制器应用进阶一 - 知乎切换模式写文章登录/注册EtherCAT总线运动控制器应用进阶一正运动技术做最好用的运动控制 — www.zmotion.com.cn视频教程:01 准备工作 一、材料准备  1.硬件  A.ZMC432控制器一台,带EtherCAT总线接口。  B.松下EtherCAT伺服驱动器+电机一套  C.电脑一台。  D.带屏蔽层网线两根。  E.24V直流电源一个。  F.接线端子与连接线若干。  2.软件  A.ZDevelop V3.10版本控制器编程软件。  从正运动官网http://www.zmotion.com.cn下载压缩包,解压后直接运行应用程序,无需安装。  B.松下伺服驱动器上位机调试软件。  从松下官网下载后安装。 二、硬件接线1.控制器接线  控制器接口的用途参见下图。  A.主电源:将控制器主电源接线端子上的E+24V端子接入24V直流电源正极,将EGND端子接入24V直流电源负极。  B.以太网EtherNET端口接线:使用一根网线将控制器的EtherNET端口与电脑的以太网口相连。  C.伺服驱动器与控制器接线:使用一根网线将控制器的EtherCAT总线端口与伺服驱动器的X2A或X2B口相连。  注意伺服驱动器的EtherCAT接口有两个,有些驱动器这两个口可以随意接,有些分为EtherCAT IN和EtherCAT OUT,IN口接上一级设备,OUT口接下一级设备,二者不能混用,要注意连接顺序。  多轴控制时伺服驱动器的EtherCAT OUT口再连接下一级驱动设备的EtherCAT IN口,依此类推。2.驱动器接线  伺服驱动器与电机和编码器的接线参见驱动器手册,将驱动器接入220V市电。 02 控制器与电脑连接  控制器与电脑可以通过串口或网口连接,下面以网口连接例展开说明。 一、网口通讯操作方法  先将控制器与电脑用网线连接好,接通控制器的电源,再打开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地址,然后修改本机IP或控制器IP使二者处于同一网段。 二、修改控制器IP地址  先使用串口连接控制器,获取控制器IP地址,再修改控制器IP地址。  方法一:可以通过菜单栏“控制器”→“修改IP地址”窗口直接修改控制器IP地址。  方法二:通过IP_ADDRESS指令发送在线命令修改。  指令发送修改成功之后自动断开连接,在线命令打印控制器连接错误信息,通过网口连接选择新IP地址192.168.0.23再次连接控制器,IP地址修改成功后永久有效。 三、修改本机IP地址  以WIN10为例,在开始菜单里打开控制面板,打开“网络和Internet”。  再打开“网络与共享中心”。  点击“以太网”。  在“以太网状态”窗口点击“属性”,打开“以太网属性”窗口,找到Internet协议版本4(TCP/IPv4)打开,就能看到本机IP地址修改窗口,勾选“使用下面的IP地址”,在IP地址输入栏里修改IP,将本机IP改为和控制器IP处于同一网段,修改完成点击“确认”即可成功修改IP。  再次打开“连接到控制器”窗口尝试连接到控制器。  03 DPOS与MPOS的区别  DPOS为用户定义的目标位置,即控制器发出的指令位置,单位是UNITS,该值的大小等于控制器实际发送脉冲数,除以脉冲当量得出。  写DPOS会自动转换为DEFPOS绝对坐标位置偏移,不会移动电机。  MPOS为用户单位的轴测量位置,也称为实际位置,单位是UNITS。该值是由编码器测量得出的轴实际位置,接在伺服电机上的编码器用于测量电机的转角与转速,MPOS的值正常情况下会跟随DPOS值,该值的大小等于编码器测得实际脉冲数,除以脉冲当量得出。没有编码器的场合,轴的MPOS值自动复制DPOS的值。  写MPOS会自动转换为DEFPOS绝对坐标位置偏移。  部分电机有一定跟随误差的(DPOS-MPOS),这个和机械和电机本身刚性都有关系,机械越好,电机越好,调的刚性越足,则跟随误差越小,但跟随误差永远存在,不可能消除,并且在实时变化,实际应用中尽量把机械刚性和电机刚性提高,让跟随误差尽量减小,速度尽量平滑,使得MPOS更准确。  另外SPEED为控制器给定速度,MSPEED为编码器的实际测量反馈速度。  如下图,轴类型ATYPE=65,EtherCAT周期位置模式,带编码器反馈,故脉冲信号输出与编码器反馈信号均在轴0上,此时MPOS为真,跟随DPOS。  ATYPE=4或65或50模式时,轴号上均带编码器反馈。  OFFPOS指令相对偏移修改所有的坐标,不会对已运行/进入缓冲区的运动产生影响。  DEFPOS指令设置当前轴位置为一个新的绝对位置值,不会对已运行/进入缓冲区的运动产生影响。示例:  BASE(0,1) '选择轴0,轴1  DPOS=100,100 '设置当前位置为100,100  ?DPOS(0),DPOS(1) '打印确认,当前位置为100,100  OFFPOS=10,20 '多次调用OFFPOS相对位置  OFFPOS=10,20  ?DPOS(0),DPOS(1) '此时当前位置变为120,140  DEFPOS(10,20) '设置当前位置为10,20  ?DPOS(0),DPOS(1) '当前位置为10,20  04 EtherCAT伺服驱动器参数设置  一、电子齿轮比的应用  伺服电机电子齿轮比就是伺服对接收到的控制器脉冲频率进行放大或者缩小,其中一个参数为分子,一个为分母。分子与分母比值为大于1就是放大,比值小于1就是缩小,比值等于1时电机接受脉冲数等于控制器发出脉冲数。  计算公式:电机接收的实际脉冲数=控制器发送脉冲数*电子齿轮比  例如:控制器发出脉冲10000个,电子齿轮比分子设为1,分母设为2,电子齿轮比为0.5,那么伺服实际运行按照5000个脉冲来进行。控制器发出脉冲10000个,电子齿轮比分子设为2,分母设为1,电子齿轮比为2,那么伺服实际运行按照20000个脉冲来进行。  松下驱动器电子齿轮的比值在1000-1/1000的范围内有效。  电子齿轮比通过数据字典6091h的子字典01h和02h的比值设定。6091h-01h设置电子齿轮比的分子,6091h-02h设置电子齿轮比的分母。  数据字典6092h的子字典01h用以设定电机旋转一圈所需脉冲数,一般根据编码器的分辨率设置,6092h的子字典02h的值默认为1。  电子齿轮比等驱动器的相关参数修改,可以通过驱动器软件直接修改,或使用SDO指令读写对应的数据字典进行配置。1.驱动器软件修改电子齿轮比  修改驱动器参数先连接驱动器,可选USB线或WLAN连接驱动器,使用USB线连接电脑与驱动器端的X1端口,给驱动器上电,打开松下驱动器软件PANATERM,弹出“选择与驱动器通信”窗口,选择与驱动器通过USB连接后,自动获取到驱动器信息显示在窗口内,点击OK连接成功,就能对驱动器进行设置。  点击菜单栏“显示”→“对象编辑器”,打开如下窗口,找到需要设置的数据字典,在“Setting Value”一栏直接修改数据字典的内容。  修改完成将参数传送给驱动器,并写入驱动器的EEPROM,驱动器再次上电后参数生效。  图中电子齿轮比=1:1,电机旋转一圈脉冲数10000。2.SDO指令修改电子齿轮比  SDO指令包含数据字典读取SDO_READ、SDO_READ_AXIS和数据字典写入SDO_WRITE、SDO_WRITE_AXIS。  数据字典读取语法:  SDO_READ (槽位号, 设备编号, 数据字典编号, 数据字典子编号, 数据类型, 读取数据存储TABLE位置)  SDO_READ_AXIS (轴号, 数据字典编号, 数据字典子编号, 数据类型, 读取数据存储TABLE位置)  数据字典写入语法:  SDO_WRITE (槽位号, 设备编号, 数据字典编号, 数据字典子编号, 数据类型, 写入数据值)  SDO_WRITE_AXIS (轴号, 数据字典编号, 数据字典子编号, 数据类型, 写入数据值)  示例:  SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) '电子齿轮比分子设为1  SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1) '电子齿轮比分母设为1  SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000) '电机一圈脉冲数设为10000  SDO_WRITE(Bus_Slot,iNode,$1010,1,7,$65766173) '写EPPROM(写EPPROM后驱动器需要重新上电)  使用指令更改完成后,查看驱动器参数如下: 二、读取多圈编码器值  驱动器有多圈绝对值编码器时,可使用ENCORDE指令读取编码器硬件寄存器原始值,就是多圈绝对值,此参数为只读类型。只有配置为需要使用编码器的ATYPE时才可以读取。  驱动器重新启动之后将ENCORDE值清零。  ?*ENCODER '打印各轴编码器值,驱动器上电初始值为0  ?ENCODER(0) '打印单轴编码器值  ?ENCODER AXIS(0) '打印单轴编码器值  如下图,使用EtherCAT驱动器,带编码器反馈,控制轴0持续正向运动MOVE(500),此时发送的总脉冲数=UNITS*DPOS=100*500=50000。  ENCORDE指令读取驱动器的多圈绝对值编码器的值,等于编码器检测到的接受脉冲总数50000。  此时将DPOS和MPOS改变,ENCORDE的值不会发生变化,因为改坐标电机不会运动,编码器接收脉冲数没有改变。  因为读取的是多圈绝对值,负方向运动ENCORDE值减小,正向运动ENCORDE值增大。  松下驱动器软件可对绝对式编码器设定。  通过参数Pr0.15设置。  Pr0.15参数选择说明:三个设定值说明如下,上方例子为默认值1,作为增量编码器使用。 三、驱动器IO操作  驱动器IN输入的读取,OP的输出  通过DRIVE_IO指令映射驱动器对象字典中60FDh驱动器IO输入、60FEh驱动器IO输出的起始IO编号。  驱动器在映射IO信号之后,可根据编号对驱动器的IO信号进行控制,IO信号输出可用OP指令控制。  Bit位的值设为1表示ON,为0表示OFF。  驱动器IO映射示例:映射正负限位信号  要设置正确的DRIVE_PROFILEE或者PDO后才可以正常映射输入,也就是说DRIVE_PROFILE驱动器PDO配置模式包含60FDh和60FEh这两个数据字典。  DRIVE_PROFILE(iAxis) = 5 '设定对应的带IO映射的PDO模式  DRIVE_IO(iAxis) = i_IoNum '设定IO起始编号  REV_IN(iAxis) = i_IoNum '负限位应60FD BIT0  FWD_IN(iAxis) = i_IoNum + 1 '正限位先对应60FD BIT1  DATUM_IN(iAxis) = i_IoNum + 2 '原点信号对应60FD BIT2  INVERT_IN(i_IoNum,ON) '特殊信号有效电平反转  INVERT_IN(i_IoNum + 1,ON)  INVERT_IN(i_IoNum + 2,ON)  驱动器IO输出:  DRIVE_PROFILE(iAxis) = 5 '设定对应的带IO映射的PDO模式  DRIVE_IO(iAxis) = i_IoNum '设定IO起始编号  OP(i_IoNum,ON) '打开驱动器的第一个OUT口  可在驱动器的“参数”窗口,找到参数分类4,操作驱动器的IO信号,如下图。  四、驱动器回零  EtherCAT总线可使用控制器提供的回零方式DATUM(mode),mode模式值选择查看ZBasic编程手册的DATUM指令。EtherCAT总线也可以使用驱动器本身的回零模式。  驱动器本身回零使用DATUM(21,mode2)指令,mode2模式值要查驱动器手册数据字典6098h回零模式,如下图所示,mode2填入对应Value值,mode2缺省值为0,也是驱动器回零模式,注意此时的原点限位等信号要接在驱动器上,所以要使用驱动器回零时需要对驱动器的IO进行映射。示例:  初始化完成后再运行驱动器回零程序,按上一节的示例,将驱动器的限位信号和原点信号映射到控制器的IO上,再运行以下回零程序。  BASE(iAxis) '按驱动器轴号逐个回零  AXIS_STOPREASON = 0  SPEED = 100 '回零速度  CREEP = 10 '反找速度  ACCEL = 1000  DATUM(21,2) '驱动器回零模式value=2  WAIT IDLE  IF AXIS_STOPREASON = 0 THEN  ?"回零成功"  ELSE  ?"回零失败","停止原因:",AXIS_STOPREASON,"状态字0X",HEX(DRIVE_STATUS)  ENDIF 五、力矩的实时读取  当PDO包含数据字典6071h(目标力矩)时,ATYPE可设置为67,周期力矩模式,此时使用DAC指令控制电机以设置值的力矩运行,DAC值范围0-1000,对应0-100%的DAC的值,比如DAC=10,此时电机力矩=1%的力矩值。  力矩控制时DAC单位为千分之一,等于1000时表示100%力矩,此时的值等于数据字典6072h(设定最大转矩)的值。  注意速度模式和力矩模式切换时,先将DAC=0后,再修改ATYPE,防止出现事故。  SDO读取数据字典6071h的值为目标力矩的大小,即当前发送的DAC的大小,没有发送DAC指令时,6071h的值为0。一般当前力矩6071h的取值范围是0-6072h的设定值。  例如:ATYPE=67力矩模式  DAC=40  SDO_READ(0,0,$6071,0,3,0)'读取轴0的目标力矩,TABLE(0)的值变为40  驱动器力矩的读取可以在配置的DRIVE_PROFILE包含数据字典6077h的情况下,使用DRIVE_TORQUE指令读取当前轴的力矩,或使用SDO_READ指令直接读取数据字典6077h的值获取当前力矩,与目标转矩的值之间可能存在波动,读取的是实时值的大小。示例:  ?DRIVE_TORQUE(0) '打印轴0的力矩  数据字典6077h用于读取当前力矩的值,示例:  SDO_READ(Bus_Slot,iNode,$6077,0,3,0)'读取当前力矩保存到TABLE(0) 六、转矩限制的应用  转矩控制用于印刷机、绕线机、注塑机等场合,使用EtherCAT总线时,电机输出的转矩与DAC指令输入的值成正比。  为了保护机台,可对输出转矩进行限制,电机的最大转矩使用6072h设置,出厂默认值10。  转矩控制时,电机转矩输出受DAC指令控制,但不对电机速度进行控制,因此轻载时,可能发生超速现象,为了保护机械,必须对速度进行限制。  数据字典6072h用于设置电机的最大转矩,6072h的值设为1000表示额定转矩的100%;设为500,表示额定转矩的50%。在EtherCAT的几种不同的模式下均支持,例如在位置模式下可以设置最大允许的力矩,使用MOVE等运动指令控制电机运行,此时电机速度按照SPEED参数运动,若目标位置设置的更大,这样碰到阻碍物后,速度受到限制,只能发出来设定的最大力矩。SDO指令读取示例:  SDO_READ(0,0,$6072,0,3,0) '读取数据保存到TABLE(0),值为5000 七、电机极性设置  电机极性(旋转方向)通过数据字典607Eh设定,有8个bit值可设定,如下图,极性不反转的时候,将607Eh的bit7-5均设为0;极性反转的时候,将607Eh的bit7-4均设为1;其余位bit4-0均设为0。  设置方法:将607Eh的值设为224时,符号有反转,给正方向指令,电机旋转方向为CW(顺时针);将607Eh的值设为0时,符号无反转,给正方向指令,电机旋转方向为CCW(逆时针);电机旋转方向规定参见下图。设置示例:  使用驱动器软件或SDO指令操作数据字典607Eh。  SDO_READ(Bus_Slot,iNode,$607E,0,5,0) '读取极性保存到TABLE(0)  SDO_WRITE(Bus_Slot,iNode,$607E,0,5,$E0) '极性设置  驱动器软件设置:可查看或修改设定值,值为224时,给正向运动参数,电机顺时针旋转。 八、驱动器其他参数设置  驱动器的出厂设置一般没有反转IO电平,会导致驱动器限位报警,出现限位报警之后,要根据驱动器手册设置限位电平反转。比如松下伺服要将Pr4.01、Pr4.02的参数分别设置为010101h(65793)、020202h(131586)。IO输入出厂默认值(下图显示十进制):  可在驱动器软件上直接修改Pr4.01、Pr4.02的值,也可以通过SDO_write指令设置数据字典3401h和3402h设置正负限位的电平。SDO指令设置正负限位的示例:  SDO_WRITE(Bus_Slot,iNode,$3401,0,4,$10101)'正限位电平,出厂值$818181  SDO_WRITE(Bus_Slot,iNode,$3402,0,4,$20202)'负限位电平,出厂值$828282  修改后的值,可查看数据字典的值,或查看参数分类。  其他参数的设置均可在“对象编辑器”窗口或“参数”窗口直接修改,修改完成保存到EEPROM,驱动器重新上电生效。  《EtherCAT总线运动控制器应用进阶一》就讲到这里。更多学习视频及图文详解请关注我们的公众号“正运动小助手”。  本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。编辑于 2021-01-22 11:11Ethernet上位机运动控制​赞同 9​​添加评论​分享​喜欢​收藏​申请

经济型EtherCAT运动控制器(十):EtherCAT总线快速入门 - 知乎

经济型EtherCAT运动控制器(十):EtherCAT总线快速入门 - 知乎切换模式写文章登录/注册经济型EtherCAT运动控制器(十):EtherCAT总线快速入门正运动技术做最好用的运动控制 — www.zmotion.com.cn本节主要介绍XPLC006E多轴经济型EtherCAT总线运动控制器控制EtherCAT总线驱动器的方法,分别介绍硬件接线方法,控制器与EtherCAT总线驱动器如何通讯,EtherCAT总线驱动器相关参数的配置,EtherCAT总线初始化操作,以及初始化成功以后的运动控制。一、XPLC006E功能简介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功能简介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。四、EtherCAT总线驱动器通讯说明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”。(1)数据字典读取语法SDO_READ (槽位号, 设备编号, 数据字典编号, 数据字典子编号, 数据类型, 读取数据存储TABLE位置)SDO_READ_AXIS (轴号, 数据字典编号, 数据字典子编号, 数据类型, 读取数据存储TABLE位置)(2)数据字典写入语法SDO_WRITE (槽位号, 设备编号, 数据字典编号, 数据字典子编号, 数据类型, 写入数据值)SDO_WRITE_AXIS (轴号, 数据字典编号, 数据字典子编号, 数据类型, 写入数据值)自定义PDO的配置方法请咨询正运动的销售工程师或者技术工程师。3.驱动器参数设置可使用驱动器软件修改,或控制器端操作SDO指令修改。修改驱动器参数先连接驱动器,可选USB线或WLAN连接驱动器,使用USB线连接电脑与驱动器端的X1端口,给驱动器上电。打开松下驱动器软件PANATERM,弹出“选择与驱动器通信”窗口,选择与驱动器通过USB连接后,自动获取到驱动器信息显示在窗口内,点击OK连接成功,就能对驱动器进行设置。点击菜单栏“显示”→“对象编辑器”,打开如下窗口,找到需要设置的数据字典,在“Setting Value”一栏直接修改数据字典的内容。修改完成将参数传送给驱动器,并写入驱动器的EEPROM,驱动器再次上电后参数生效。例:设置UNITS脉冲当量,即设置电机转一圈需要发送多少个脉冲。SPEED速度、ACCEL加速度、DECEL减速度和运动指令等都是以UNITS为基本单位。如上图,通过数字字典6091h设置电子齿轮比,6091h-01h设置电子齿轮比分子,6091h-02h设置电子齿轮比分母,此时,电子齿轮比=1/1,6092h-01h设为10000表示给电机发10000个脉冲能使电机旋转一圈,对应的脉冲当量UNITS=10000,MOVE(2)表示给电机发送20000个脉冲,此时电机转两圈。或者使用SDO指令读写数据字典修改参数。修改完成使用驱动器软件读取6092h-01h的值为10000。示例:SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) '电子齿轮比分子

SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1) '电子齿轮比分母

SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000) '电机一圈脉冲数4.驱动器IO信号若要使用驱动器的IO口,才会涉及到驱动器的IO映射操作,否则忽略。当驱动器产生IO报警时,可根据驱动器手册的提示,修改IO的设定值。驱动器自身有输入信号,作用为保护信号,默认使能状态,若不接入外部信号,驱动器就会保护报错,调试阶段可以关闭这些信号方便调试,将输入值设置为0即可,需要使用驱动器IO时要对驱动器的IO编号映射后才能使用,后续根据实际需求接入实际信号。点击驱动器软件PANATERM主界面的“参数”按钮打开下方窗口,选中要修改的IO信号后,在“设定值”一栏修改。驱动器IO映射需要PDO包含数据字典60FDh,然后使用DRIVE_IO指令设置驱动器IO地址,映射的编号范围不要与总线上的其他设备的IO编号重复。DRIVE_IO (轴号)=输入输出IO起始编号。示例:DRIVE_PROFILE(iAxis) = 5 '设定对应的带IO映射的PDO模式

DRIVE_IO(iAxis) = i_IoNum '设定驱动器输入/输出IO起始编号5.参数写入驱动器可使用驱动器软件修改,或控制器端操作SDO指令修改。驱动器的数据字典参数或其他的参数设置完成后,先点击“传送”将修改的全部参数传入驱动器,再点击EEP,将参数写入驱动器的EEPROM,给驱动器重新上电后修改的参数生效,图片上值修改了输入参数,在上图参数一览中可参看多中类别的参数并修改。6.驱动器轴号映射EtherCAT总线驱动电机设备连上控制器之后,驱动器轴号需要使用指令映射绑定。EtherCAT总线上连接的设备的设备号按照连接顺序从0开始自动编号,驱动器编号也是按连接顺序给驱动器设备自动从0开始编号的,只算总线上的驱动器设备,其他设备是没有驱动器编号的。EtherCAT总线上连接的驱动器需要使用指令映射驱动器的轴号,使用AXIS_ADDRESS 指令映射,映射完成之后才能使用BASE指令选择驱动器轴号,发送脉冲,控制驱动器所连的电机运行。轴映射写在总线初始化程序中,总线扫描之后,开启总线之前。语法:AXIS_ADDRESS(轴号)=(槽位号<<16)+驱动器编号+1EtherCAT总线的槽位号是0。轴号为驱动器映射的目标轴号,映射时每个驱动器的轴号不重复,指向空闲轴号即可。示例:AXIS_ADDRESS (6)=(0<<16)+0+1 '第一个ECAT驱动器,驱动器编号0,绑定为轴6

AXIS_ADDRESS (7)=(0<<16)+1+1 '第二个ECAT驱动器,驱动器编号1,绑定为轴7

AXIS_ADDRESS (8)=(0<<16)+2+1 '第三个ECAT驱动器,驱动器编号2,绑定为轴8

ATYPE(6)=65 '设置为ECAT轴类型,65-位置 66-速度 67-转矩

ATYPE(7)=65

ATYPE(8)=657.驱动器控制模式EtherCAT驱动器一般有三种控制模式,分别为CSP周期位置模式,CSV周期速度模式,CST周期力矩模式。提供ATYPE指令设置控制模式。CSP,CSV,CST模式的设置需要预先设置PDO,PDO同时包含下方数据字典时,即可直接修改ATYPE数值进行模式切换。驱动器默认PDO列表内置有哪些数据字典需要查看驱动器手册确定。(1)当PDO包含607Ah时,ATYPE可设置为65,周期位置模式,此时使用运动指令控制电机运动。(2)当PDO包含60FFh时,ATYPE可设置为66,周期速度模式,此时使用DAC指令控制电机以设置值的速度运行,速度单位有两个,脉冲数/S和R/MIN,有驱动器确定,使用时先给较小的数值,观察电机速度情况,再加大。(3)当PDO包含6071h时,ATYPE可设置为67,周期力矩模式,此时使用DAC指令控制电机以设置值的力矩运行,DAC值范围0-1000,对应0-100%的6071设置值,比如DAC=10,此时电机力矩=1%的6071h值。注意:速度模式和力矩模式切换时,先将DAC=0后,再修改ATYPE,防止出现事故。A.位置模式:ATYPE=65将DRIVE_PROFILE配置为带位置的模式1,ATYPE=66,执行总线初始化程序后,设置轴的UNITS、SPEED等运行参数,使用运动指令给电机发脉冲控制轴的运行,注意试运行时SPEED的值不要设置过大。位置模式也是实际过程中用的较多的一种模式,运行效果参见后续章节。B.速度模式:ATYPE=66将DRIVE_PROFILE配置为带速度的模式22,ATYPE=66,执行总线初始化程序后,在线命令栏发送DAC指令即可控制电机运行,如下图,DAC=5000表示电机以每秒5000个脉冲的速度持续运行,DAC命令发送后电机一直运行,要提高运行速度将DAC的值加大,DAC的值太小电机会克服不了摩擦力无法转动。注意:出于安全因素考虑,DAC不要设置过大,先设置一个较小值,观察电机运行情况后慢慢往上增加。此模式下停止电机在线命令发送DAC=0即可,或按下软件的紧急停止按钮。C.力矩模式:ATYPE=67将DRIVE_PROFILE配置为带力矩的模式30,ATYPE=67,执行总线初始化程序后,在线命令栏发送DAC指令即可控制电机运行。如下图,DAC=30,当前驱动器为0.03的力矩,DAC等于1000时表示100%力矩。要提高运行速度将DAC的值加大,DAC的值太小电机会克服不了摩擦力无法转动。注意:出于安全因素考虑,DAC不要设置过大,先设置一个较小值,观察电机运行情况后慢慢往上增加。此模式下停止电机在线命令发送DAC=0即可,或按下软件的紧急停止按钮。8.驱动器报警观察驱动器上LED面板上是否有报错信息,报错会显示错误码,根据驱动器手册排查错误,修正后将报警清零。打开驱动器软件的警报窗口,也能看当前驱动器是否有警报,或查询历史警报。警报窗口历史警报信息初始化过程中按轴号清除驱动器的错误,重复调用DRIVE_CLEAR指令清除多个驱动器错误。语法:DRIVE_CLEAR(模式值)模式值0-清除当前告警,1-清除历史告警,2-清除外部输入告警。示例:BASE(i)

DRIVE_CLEAR(0) '清除驱动器错误

DELAY 50

DATUM(0) '清除控制器轴状态错误"

DELAY 1009.驱动器回零EtherCAT总线可使用控制器提供的回零方式DATUM(mode),mode模式值选择查看ZBasic编程手册的DATUM指令。EtherCAT总线也可以使用驱动器本身的回零模式。驱动器本身回零使用DATUM(21,mode2)指令,mode2模式值要查驱动器手册数据字典6098h回零模式,如下图所示,mode2填入对应Value值,mode2缺省值为0,也是驱动器回零模式,注意此时的原点限位等信号要接在驱动器上,所以要使用驱动器回零时需要对驱动器的IO进行映射。示例:初始化完成后再运行驱动器回零程序。BASE(iAxis) '按驱动器轴号逐个回零

AXIS_STOPREASON = 0

SPEED = 100 '回零速度

CREEP = 10 '反找速度

ACCEL = 1000

DATUM(21,2) '驱动器回零模式value=2

WAIT IDLE

IF AXIS_STOPREASON = 0 THEN

?"回零成功"

ELSE

?"回零失败" ,"停止原因:",AXIS_STOPREASON,"状态字0X",HEX(DRIVE_STATUS)

ENDIF10.EtherCAT总线驱动器参数设置说明https://www.zhihu.com/video/1541019581703720960五、EtherCAT总线初始化EtherCAT总线初始化操作是控制器与EtherCAT总线驱动器通讯的重要步骤,也是第一步,初始化成功表示着二者成功建立了通讯连接,之后才可顺利进行运动控制和读写驱动的参数。1.初始化基本流程按照前面的步骤接好线,给EtherCAT伺服驱动器和控制器上电,使用ZDevelop软件连接控制器,EtherCAT总线使用一段程序来初始化,将初始化程序下载到控制器运行之后,才能设置轴参数和执行运动指令控制伺服电机的运动。初始化程序中包含WDOG=1开总使能,和AXIS_ENABLE(轴号) = 1开单轴使能,使能前用手可以转动点击,使能完成后便旋转不动,需要给电机发送脉冲才能使其转动。2.初始化模板程序(1)主要初始化程序'用户使用的时候只需要设置程序头的四个常量的值即可。程序其他地方不用改动。分别设置起始的脉冲轴号,和使用的脉冲轴个数,总线轴的起始映射轴号,和总线轴的个数。

'****************ECAT总线初始化

global CONST PUL_AxisStart = 0 '本地脉冲轴起始轴号

global CONST PUL_AxisNum = 0 '本地脉冲轴轴数量

global CONST Bus_AxisStart = 0 '总线轴起始轴号

global CONST Bus_NodeNum = 1 '总线配置节点数量,用于判断实际检测到的从站数量是否一致

global CONST BUS_TYPE = 0 '总线类型。可用于上位机区分当前总线类型

global CONST Bus_Slot = 0 '槽位号0(单总线控制器缺省0)

global MAX_AXISNUM '最大轴数

MAX_AXISNUM = SYS_ZFEATURE(0)

global Bus_InitStatus '总线初始化完成状态

Bus_InitStatus = -1

global Bus_TotalAxisnum '检查扫描的总轴数

delay(3000) '延时3S等待驱动器上电,不同驱动器自身上电时间不同,具体根据驱动器调整延时

?"总线通讯周期:",SERVO_PERIOD,"us"

Ecat_Init() '初始化ECAT总线

while (Bus_InitStatus = 0)

Ecat_Init()

wend

END

'************************ECAT总线初始****************************************

'初始流程: slot_scan(扫描总线) -> 从站节点映射轴/io -> SLOT_START(启动总线) -> 初始化成功

'****************************************************************************

global sub Ecat_Init()

local Node_Num,Temp_Axis,Drive_Vender,Drive_Device,Drive_Alias

RAPIDSTOP(2)

WAIT IDLE(0)

for i=0 to MAX_AXISNUM - 1 '初始化还原轴类型

AXIS_ENABLE(i) = 0

atype(i)=0

AXIS_ADDRESS(i) =0

DELAY(10) '防止所有驱动器全部同时切换使能导致瞬间电流过大

next

Bus_InitStatus = -1

SLOT_STOP(Bus_Slot)

delay(200) '延时时间可以按需调整,确保驱动器已上电可以等待EtherCAT到位

slot_scan(Bus_Slot) '扫描总线

if return then

?"总线扫描成功","连接从站设备数:"NODE_COUNT(Bus_Slot)

if NODE_COUNT(Bus_Slot) <> Bus_NodeNum then '判断总线检测数量是否为实际接线数量

?""

?"扫描节点数量与程序配置数量不一致!" ,"配置数量:"Bus_NodeNum,"检测数量:"NODE_COUNT(Bus_Slot)

Bus_InitStatus = 0 '初始化失败。报警提示

'return

endif

'"开始映射轴号"

for Node_Num=0 to NODE_COUNT(Bus_Slot)-1 '遍历扫描到的所有从站节点

Drive_Vender = NODE_INFO(Bus_Slot,Node_Num,0) '读取驱动器厂商

Drive_Device = NODE_INFO(Bus_Slot,Node_Num,1) '读取设备编号

Drive_Alias = NODE_INFO(Bus_Slot,Node_Num,3) '读取设备拨码ID

if NODE_AXIS_COUNT(Bus_Slot,Node_Num) <> 0 then '判断当前节点是否有电机

for j=0 to NODE_AXIS_COUNT(Bus_Slot,Node_Num)-1 '根据节点带的电机数量循环配置轴参数(针对一拖多驱动器)

Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum '轴号按NODE顺序分配

'Temp_Axis = Drive_Alias '轴号按驱动器设定的拨码分配(一拖多需要特殊处理)

base(Temp_Axis)

AXIS_ADDRESS(Temp_Axis)= (Bus_Slot<<16)+ Bus_TotalAxisnum + 1 '映射轴号

ATYPE=65 '设置控制模式 65-位置 66-速度 67-转矩

DRIVE_PROFILE=-1 '配置为驱动器内置PDO列表,可改为1,-1,等参数 '配置为驱动器内置PDO列表

' Sub_SetDriverIo(Drive_Vender,Temp_Axis,128 + 32*Temp_Axis) '映射驱动器IO IO映射到控制器IO32-以后每个驱动器间隔32点

' Sub_SetNodePara(Node_Num,Drive_Vender,Drive_Device,j) '设置特殊总线参数

disable_group(Temp_Axis) '每轴单独分组

Bus_TotalAxisnum=Bus_TotalAxisnum+1 '总轴数+1

next

else 'IO扩展模块

Sub_SetNodeIo(Node_Num,Drive_Vender,Drive_Device,1024 + 32*Node_Num) '映射扩展模块IO

endif

next

?"轴号映射完成","连接总轴数:"Bus_TotalAxisnum

delay(200)

SLOT_START(Bus_Slot) '启动总线

if return then

'?"开始清除驱动器错误"

for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1

BASE(i)

DRIVE_CLEAR(0)

DELAY 50

'?"驱动器错误清除完成"

datum(0) '清除控制器轴状态错误"

wa 100

wdog=1 '使能总开关

'"轴使能"

AXIS_ENABLE=1

next

Bus_InitStatus = 1

?"轴使能完成"

'本地脉冲轴配置

for i = 0 to PUL_AxisNum - 1

base(PUL_AxisStart + i)

AXIS_ADDRESS = (-1<<16) + i

ATYPE = 4

next

?"总线开启成功"

else

?"总线开启失败"

Bus_InitStatus = 0

endif

else

?"总线扫描失败"

Bus_InitStatus = 0

endif

end sub(2)驱动器IO映射(需要使用驱动器IO时才映射,否则不用映射)‍' ************************总线驱动IO映射**************************************

'通过DRIVE_IO指令映射驱动器对象字典中60FD,60FE输入输出状态,要设置正确的DRIVE_PROFILEE或者POD后才可以正常映射

'DRIVE_PROFILE模式包含60FD/60FE

'iAxis - 轴号 iVender - 驱动器类型 i_IoNum - 输入输出起始编号

' **************************************************************************

global sub Sub_SetDriverIo(iVender,Iaxis,i_IoNum)

if iVender = $66f then '松下驱动器

DRIVE_PROFILE(iAxis) = 5 '设定对应的带IO映射的PDO模式

DRIVE_IO(iAxis) = i_IoNum

REV_IN(iAxis) = i_IoNum '负限位应60FD BIT0

FWD_IN(iAxis) = i_IoNum + 1 '正限位先对应60FD BIT1

DATUM_IN(iAxis) = i_IoNum + 2 '原点先对应60FD BIT2

INVERT_IN(i_IoNum,ON) '特殊信号有效电平反转

INVERT_IN(i_IoNum + 1,ON)

INVERT_IN(i_IoNum + 2,ON)

endif

end sub(3)扩展模块IO映射(连接了扩展模块才设置)' ***********************总线IO扩展模块映射**************************************

'通过NODE_IO(Bus_Slot,Node_Num)分配模块IO起始地址

' *******************************************************************************

global sub Sub_SetNodeIo(iNode,iVender,iDevice,i_IoNum)

if iVender = $41B and iDevice = $130 then '正运动EIO1616MT

NODE_IO(Bus_Slot,iNode) = i_IoNum

endif

end sub(4)特殊参数配置' ********************************从站节点特殊参数配置********************************

'通过SDO方式修改对应对象字典的值修改从站参数(具体对象字典查看驱动器手册)

' ******************************************************************************************************

global sub Sub_SetNodePara(iNode,iVender,iDevice,Iaxis)

if iVender = $41B and iDevice = $1ab0 then '正运动24088脉冲扩展轴

SDO_WRITE(Bus_Slot,iNode,$6011+Iaxis*$800,0,5,4) '设置扩展脉冲轴ATYPE类型

SDO_WRITE(Bus_Slot,iNode,$6012+Iaxis*$800,0,6,0) '设置扩展脉冲轴INVERT_STEP脉冲输出模式

NODE_IO(Bus_Slot,iNode) = 32 + 32*iNode '设置240808上IO的起始映射地址

elseif iVender = $66f then '松下驱动器

SDO_WRITE(Bus_Slot,iNode,$3741,0,3,0) '以拨码为ID

SDO_WRITE(Bus_Slot,iNode,$3401,0,4,$10101) '正限位电平 $818181

SDO_WRITE(Bus_Slot,iNode,$3402,0,4,$20202) '负限位电平 $828282

SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) '电子齿轮比分子

SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1) '电子齿轮比分母

SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000) '电机一圈脉冲数

SDO_WRITE(Bus_Slot,iNode,$607E,0,5,0) '电机正转0 反转224

SDO_WRITE(Bus_Slot,iNode,$6085,0,7,4290000000) '异常减速度

'SDO_WRITE(Bus_Slot,iNode,$1010,1,7,$65766173) '写EPPROM(写EPPROM后驱动器需要重新上电)

'?"写EPPR0M OK 请断电重启"

endif

end subEtherCAT初始化成功后会打印信息提示,如下。若初始化失败也会打印信息提示。3.总线节点状态查看EtherCAT总线上连接的设备信息有如下三种查看方法。查看总线状态的前提是初始化操作成功,否则无法查看。(1)在菜单栏“控制器”→“控制器状态”窗口查看“槽位0节点”。(2)在菜单栏“调试”→“总线状态诊断”打开如下窗口查看控制器总线槽位接口的设备信息。(3)还可以通过在线命令发送“?*EtherCAT”打印EtherCAT总线上的全部设备信息。4. EtherCAT总线驱动器控制效果初始化成功后,将各个总线轴依此回零,配置好轴参数之后,就可以使用指令让总线轴按需求动作。在程序中写入运动指令、在线命令发送运动指令或使用“手动运动”窗口控制电机运行。示波器采集轴参数波形:使用“手动运动”功能快速手动操作电机运动,运动前先设置左侧轴参数。5.EtherCAT总线初始化演示https://www.zhihu.com/video/1541021208305180672本次,正运动技术经济型EtherCAT运动控制器(十):EtherCAT总线快速入门,就分享到这里。本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。编辑于 2022-08-11 11:23CAN总线​赞同 6​​添加评论​分享​喜欢​收藏​申请

EtherCAT | 倍福 中国

EtherCAT | 倍福 中国

解除固定固定关闭

Beckhoff - 自动化新技术

中国

请选择您的地区和语言

Beckhoff Worldwide

Australia

Belgique (Français)

België (Nederlands)

Brasil

Canada

Česká republika

Danmark

Deutschland

Eesti

España

France

India

Indonesia

Italia

Lietuva

Magyarország

Malaysia

México

Nederland

New Zealand

Norge

Österreich

Polska

Republika ng Pilipinas (English)

Schweiz (Deutsch)

Singapore

Slovenija

Slovenská republika

South Africa

Suisse (Français)

Suomi

Sverige

Svizzera (Italiano)

Türkiye

USA

United Kingdom

Việt Nam

ישראל

الإمارات (UAE)

مصر

ประเทศไทย

中国

日本

대한민국

台灣(中華台北)

myBeckhoff 登录已登录

myBeckhoff Login欢迎,

电子邮件地址

密码

保持登录状态

您想取消订阅 myBeckhoff 吗?

登录登出

忘记密码?

您还没有注册 myBeckhoff?

注册

您在使用 myBeckhoff 时需要帮助吗?请通过以下方式联系我们 mybeckhoff@beckhoff.com.

书签列表

搜索

搜索

输入搜索值…

搜索

建议关键词

建议页面

下载

建议产品

公司

产品

行业

支持

myBeckhoff

最新资讯

新品

产品搜索器

Information System

下载中心

Startseite

产品

I/O

EtherCAT

联系我们

中国区总部

Beckhoff Automation (Shanghai) Co., Ltd.

市北智汇园4号楼

静安区汶水路 299 弄 9-10 号

上海, 200072, 中国

+86 21 6631 2666

info@beckhoff.com.cn

www.beckhoff.com.cn/zh-cn/

销售部

+86 21 6631 2666

sales@beckhoff.com.cn

联系表单

技术支持部

+86 21 5677 4765

support@beckhoff.com.cn

联系表单

售后服务部

+86 21 6250 7207-862

service@beckhoff.com.cn

联系表单

详细联系方式

EtherCAT — 以太网现场总线

选对合适的通信技术非常重要:它决定了控制性能是否能直达现场层,以及可以使用哪些设备。EtherCAT 是由倍福开发的工业以太网技术,它能够助力实现通信速度更快、更简单、更经济的设备和系统。EtherCAT 以太网现场总线将以太网的优势和传统现场总线系统的简洁性融合于一体,避免了 IT 技术不必要的复杂性。2003 年成立的 EtherCAT 技术协会(ETG)确保 EtherCAT 技术对所有潜在用户开放。ETG 是目前全球最大的现场总线用户组织,拥有来自 67 个国家的 6000 多家会员单位(截至到 2020 年 12 月)。

EtherCAT 是一种具有良好开放性和超高稳定性的技术,已经被纳入国际 IEC 标准:目前,EtherCAT 协议仍然保持稳定不变;但是该技术仍在不断扩展并保持兼容性。这意味着当前设备可以轻松地集成到现有系统中,无需考虑版本是否不同。扩展功能包括用于同一网络中设备和人员安全的 Safety over EtherCAT 安全协议,以及用于将通信与供电(2 x 24 V)集成在同一根四芯电缆上的 EtherCAT P。还有 EtherCAT G/G10,它们具有更高的传输速率,同时通过分支控制器理念集成现有的 EtherCAT 设备,因此与百兆 EtherCAT 技术可以无缝连接。

ETG手册。EtherCAT

产品

EtherCAT 端子模块

EtherCAT 端子模块产品可以适用于自动化领域的几乎所有信号类型。

更多信息

EtherCAT 端子盒

EtherCAT 的高性能直达现场层:倍福可提供由 EtherCAT 端子盒组成的防护等级高达 IP 67 的 I/O 系统。

更多信息

EtherCAT 插拔式模块

EtherCAT 插拔式模块简化了标准设备的接线工作,同时缩短了系统的安装时间。

更多信息

EtherCAT 和现场总线电缆

EtherCAT 和现场总线电缆确保可靠的数据传输,适用于工业应用环境和其它恶劣的环境条件。

更多信息

工程师的选择:EtherCAT 的六大核心优势

卓越的性能

灵活的拓扑

简单且耐用

集成功能安全

低成本易实现

支持最多样化的厂商和设备

卓越的性能

灵活的拓扑

简单且耐用

集成功能安全

低成本易实现

支持最多样化的厂商和设备

EtherCAT 是迄今为止速度最快的工业以太网技术之一,同时它提供纳秒级精度的同步。所有由总线系统控制或监测的系统应用都将从此大大获益。EtherCAT 系统中设备的快速反应时间减少了处理步骤中的状态转换等待时间,从而显著提高了应用的效率。最后,相对于设定了相同循环时间的其他总线系统,EtherCAT 系统结构通常能减少 25%-30% 的 CPU 负载。而最好的情况下,EtherCAT 性能可以提高精度,提升数据吞吐量,并降低成本。

在 EtherCAT 应用中,机器结构决定网络拓扑结构,而不是网络拓扑结构决定机器结构。在传统的工业以太网系统中,可安装的交换机和集线器的级联数量是有限的,这限制了整个网络拓扑结构。而 EtherCAT 无需交换机或集线器,因此没有这方面的限制。简而言之,EtherCAT 在网络拓扑方面没有任何限制。几乎无限数量的节点可以组成线型、树型、星型拓扑及任何拓扑的组合。由于具备自动链接检测功能,节点和网段可以在运行中断开及重新连接 — 甚至连接到其他地方。线型拓扑可以拓展为环形拓扑,从而实现线缆冗余。主站设备仅需要第二个以太网口即可实现这种冗余功能,而从站设备已经具备了支持冗余功能的条件。因此可在机器运行期间断开设备。

配置、诊断、维护都与系统的成本息息相关。以太网现场总线使得所有这些任务变得异常简单:EtherCAT 可以自动配置地址,而无需手动配置。低总线负载和点对点的物理层增强了抗电磁干扰的能力。网络可以准确地定位潜在的干扰,从而大大缩短了故障排除时间。在启动时,网络会对目标拓扑与现实拓扑进行对比以检测差异。EtherCAT 出色的性能通过减低对网络调试的需求,从而缩减系统配置的工作量。高带宽可以将其他 TCP/IP 与控制数据同时传输。然而,EtherCAT 并不是基于 TCP/IP 的,因此无需使用 MAC 地址或 IP 地址,更不需要 IT 专家配置交换机或路由器。

将功能性安全作为网络结构的一个不可或缺的部分?这对于 FSoE(Fail Safe over EtherCAT)来说不是问题。FSoE 是经使用验证的,自 2005 年就有了通过 TÜV 认证的 FSoE 设备。协议满足 SIL 3 系统要求,且适用于集中控制和分散控制系统。由于采用了黑色通道的方式及特别精简的安全容器(Safety Container),FSoE 也可以应用于其他总线系统。该集成方案及精简的协议可降低系统成本。此外,一个对安全等级要求不高的控制器也可以接收并处理安全数据。

EtherCAT 以相当于甚至低于传统现场总线系统的价格水平提供工业以太网的特性。对于主站设备,硬件仅需要一个以太网端口 — 而无需昂贵的接口卡或协处理器。不同形式的 EtherCAT 从站控制器可以从很多供应商那里获得:作为 ASIC 芯片、基于 FPGA,或作为标准微处理器的可选总线接口。由于这些便宜的控制器可以承担所有对时间要求苛刻的任务,EtherCAT自身并不向从站设备 CPU 提出任何性能要求,从而降低了设备成本。因为 EtherCAT 不需要交换机或其他有源基础组件,从而节省了此类组件及其安装、配置和维护的成本。

EtherCAT 是迄今为止在市场上拥有厂商和设备种类最多的工业以太网技术之一。而且,由于倍福发明了 EtherCAT,其他厂商通常使用倍福的 TwinCAT(EtherCAT 控制器的黄金标准)来测试他们的 EtherCAT 产品。倍福开发了 1000 多种 EtherCAT 设备,是全球 EtherCAT 产品系列最多的厂商,当然,如果需要的话,您还可以使用其他 3000 家正式注册的厂商提供的 EtherCAT 产品进行补充。而目您也可以使用 EtherCAT 从站控制器芯片轻松开发出目前市场上还没有的产品。

技术详解

基于以太网

EtherCAT 是工业以太网,采用标准的以太网数据帧和符合以太网标准 IEEE 802.3 的物理层。EtherCAT 还可以满足工业自动化领域的各项具体需求:

需要确定的响应时间的硬实时性系统由多个节点构成,且每个节点只有少量的周期性过程数据相对于 IT 和办公应用中的硬件成本而言,工业自动化的硬件成本更加重要

标准以太网网络几乎无法满足以上需求的现场级应用。如果每个节点使用一个独立的以太网报文传输几个字节的周期性过程数据,那么有效数据利用率会明显下降:因为以太网报文的最短长度为 84 字节(包括帧间距),其中的 46 个字节可以用于过程数据。

例如,一个驱动器发送 4 字节的实际位置和状态信息过程数据,同时接收 4 字节的目标位置和控制字信息数据,则发送/接收报文的有效数据利用率下降到 4.8%(4/84)。另外,驱动器通常在接收到目标值后,触发传输实际值需要一定的响应时间。最终,100 Mbit/s 的带宽会所剩无几。而在 IT 领域通常使用的路由(IP)和连接(TCP)协议栈需要为每个节点使用附加的协议头,会产生进一步的延时。管理 MAC 和 IP 地址、SNMP、IGMP Snooping、路由器和交换机并不适合所有应用。

EtherCAT 运行原理

一个 EtherCAT 数据帧足以完成所有节点控制数据的发送和接收,这种高性能的运行模式克服了传统以太网无法解决的各种问题。EtherCAT 主站发送一个报文,报文顺序经过所有节点。EtherCAT 从站设备高速动态地(on the fly)读取寻址到该节点的数据,并在数据帧继续传输的同时插入数据。这样,数据帧的传输延时只取决于硬件传输延时。当某一网段或分支上的最后一个节点检测到开放端口(无下一个从站)时,利用以太网技术的全双工特性,将报文返回给主站。EtherCAT 报文的最大有效数据利用率高达 90% 以上,而由于采用全双工特性,有效数据利用率理论上高于 100 Mbit/s。EtherCAT 主站是网段内唯一能够主动发送 EtherCAT 数据帧的节点,其他节点仅传送数据帧。这一设想是为了避免不可预知的延时,从而保证 EtherCAT 的实时性能。EtherCAT 主站采用标准的以太网介质访问控制器(MAC),无需额外的通信处理器。因此,任何集成了以太网接口的硬件平台都可以实现 EtherCAT 主站,而与所使用的实时操作系统或应用软件无关。EtherCAT 从站设备使用 EtherCAT 从站控制器(ESC)在硬件中高速动态地(on the fly)处理 EtherCAT 数据帧,不仅使网络性能可预测,而且其性能独立于具体的从站设备实施方式。

EtherCAT 协议

EtherCAT 将其报文嵌入到标准的以太网数据帧中(形成 EtherCAT 数据帧)。由于 EtherCAT协议被优化为适用于短周期性的过程数据,因此无需庞大的协议堆栈,例如 TCP/IP 或 UDP/IP。节点之间的以太网 IT 通信可以选择通过邮箱通道实现,而不会影响实时数据传输。EtherCAT 数据帧包含一个或多个 EtherCAT 子报文,子报文头标明了主站设备的访问方式:

读,写,或读-写通过直接寻址访问指定的从站设备,或通过隐式寻址访问多个从站设备

隐式寻址方式主要用于周期性交换的过程数据。每个报文定位到 EtherCAT 网段中过程映像的具体位置,可以为过程映像提供 4 GB 的地址空间。网络启动阶段,在全局地址空间中,为每个从站分配一个或多个地址。如果多个从站设备被分配到了相同的地址域,那么可通过单个报文对其进行寻址。

由于报文中包含了所有的数据访问相关信息,因此主站可决定何时对哪些数据进行访问。例如,主站设备可以使用短循环周期刷新驱动器中的数据,长循环周期采样 I/O 端口,固定的过程数据结构不是必要的。

除了逻辑寻址外,EtherCAT 主站还可以通过设备在网络中的位置寻址从站设备。该方法是在网络启动期间检测网络的拓扑结构,并将其与预期的拓扑结构进行比较。在检查完网络配置后,EtherCAT 主站为每个节点分配一个配置好的节点地址,并通过该固定的地址与节点进行通信。这使得主站可以有针对性地访问某个从站设备,即使网络拓扑结构在运行期间发生改变,例如对于热插拔组。除循环数据之外,其他数据报文可用于实现异步通信或事件驱动的通信。

灵活的拓扑结构

EtherCAT 几乎支持所有的拓扑结构:线型、树型、星型、菊花链型。EtherCAT 使得带有成百上千个节点的纯总线型或线型拓扑结构成为可能,而不受限于级联交换机或集线器。最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合:用于创建分支的端口被直接集成到 I/O 模块中,无需专用的交换机或其他有源设备。另外,还可以使用以太网中常用的星型拓扑结构。

模块化、复杂的机器往往需要在运行过程中连接或断开一个网段或独立的节点(热连接)。EtherCAT 从站控制器已经具备了这种热插拔特性的基础。当移除一个相邻站点时,该站点对应的端口会自动关闭,网络的剩余部分继续正常运行。整个检测时间 < 15 μs,从而保证了平稳切换。

有多种灵活的电缆类型可供选择:成本低廉的工业以太网电缆可采用 100BASE-TX 模式(传输信号)连接两个间距长达 100 米的节点。对于节点间距大于 100 米的应用,还可使用光纤(如100BASE-FX)。可以说,以太网的任何线缆类型都适用于 EtherCAT。

EtherCAT 有充足的带宽资源,因此可以通过 EtherCAT 网关集成作为底层总线的传统现场总线系统。这种用法特别有助于从传统网络移植到 EtherCAT 系统的应用,使系统逐步升级到 EtherCAT,并可以继续使用尚不支持 EtherCAT 接口的自动化组件。

EtherCAT 网络可连接多达 65535 个设备,网络容量几乎没有限制。由于实际上节点数量没有限制,可以将模块化设备设计为每个 I/O 片都是一个独立的 EtherCAT 从站。因此无需本地扩展总线,高性能的 EtherCAT 能直达每个模块。因为在总线耦合器上无需网关,所以没有任何延时。

用于高精度同步的分布式时钟

精确同步对于同时动作的分布式过程而言尤为重要。例如,对于执行协同运动的多个伺服轴的应用便是如此。下面将进一步详细解释,在控制单根轴时,准确的时基同样也很重要。

对于完全同步的通信,通信错误会立即影响其同步品质,而与其相比,分布式同步时钟对于通信系统的抖动具有很好的容错性。因此,EtherCAT 采用分布式时钟(DC)的方式同步节点。各个节点的时钟校准完全基于硬件。第一个具有分布时钟功能的从站设备的时间被周期性地发布给系统中的其他设备。采用这样的机制,其它从站时钟可以根据参考时钟精确地进行调整。整个系统的抖动远小于 1 µs,通常在两位数的纳秒范围内。

由于参考时钟发送时间到其他从站设备时产生轻微的传输延时,因此必须能够测量该延时并补偿给每个从站设备,以确保通信的同步性和同时性。可在网络启动期间测量该延时,如有需要,甚至在通信过程中还可以连续不断地进行测量,从而保证各个从时钟彼此之间时差不超过 1 µs。

如果所有节点都具有相同的时间信息,那么它们可以同时触发输出信号,也可以给输入信号附上一个精确的时间戳。对于运动控制而言,除了同步性和同时性外,精确的周期同样重要。在运动控制应用中,速度值通过检测到的位置值计算,因此位置的精确等距测量非常关键(例如,以精确的周期)。此外,分布式时钟的使用也可以减轻主站设备的负担;因为位置测量等动作由本地时钟触发,而不是在接收到数据帧的时候触发,主站设备对数据帧的发送没有那么严格的要求。 这样可以用软件在标准以太网硬件上实现主站堆栈。主站即使是几微秒范围内的抖动也不会降低分布式时钟的精度!由于时钟的精度与何时进行设置无关,因此数据帧的绝对传输时间变得无关紧要。EtherCAT 主站只需确保在从站设备的直流信号触发输出之前及早发送 EtherCAT 报文。

Webinar: Distributed Clocks

诊断和错误定位

传统现场总线的应用经验表明,诊断能力对于机器的可用性和调试时间起着决定性的作用。在故障排除过程中,错误检测和错误定位非常重要。EtherCAT 可以在启动过程中扫描网络拓扑结构,并将其与预期的拓扑结构进行对比。另外,EtherCAT 还在其系统具有许多额外的诊断能力。

每个节点中的 EtherCAT 从站控制器利用校验码对传输的数据帧进行错误检测,只有在数据帧被正确接收之后,从站应用才会得到相关信息。而一旦发现位错误,错误计数器就会自动加 1,后面的节点则会被通知数据帧中包含错误。主站也会检测到数据帧包含错误,并摒弃其中的信息。主站通过分析节点的错误计数器,能够检测到系统中发生错误的最初位置。这相对于传统的现场总线系统而言有很大优势,在传统现场总线中,错误一旦发生就会沿着公用线缆一路传播,而不可能对错误进行定位。EtherCAT 能够检测并定位偶发的干扰,避免对机器运行造成影响。链路丢失计数器功能可以快速定位 EtherCAT 网段中出现松动的连接器。

得益于其独特的运行原理,EtherCAT 具有出色的带宽利用率。采用此种传输方式,EtherCAT 比传统以太网那样每个节点用一个独立帧的传输方式的效率高出数倍。如果使用同一循环周期,在一个 EtherCAT 帧内由于位错误引发干扰的可能性很低。而且,在典型的 EtherCAT 方式中,由于循环周期更短,恢复错误所需要的时间也将明显缩短。因此,在应用中对于主站出现这样的问题也会更为简单。

由于 EtherCAT 使用的是标准以太网数据帧,因此可以借助免费的以太网软件工具记录以太网网络流量。例如,常用的 Wireshark 软件自带用于 EtherCAT 的协议解释器,因此,工作计数器、指令等协议专用的信息,都以纯文本形式显示。然后,主站能够循环确认是否所有节点都在与一致的数据协作。如果工作计数器的值与它应该有的不同,主站不会将这个数据报文的数据传输给控制应用程序。然后,主站设备能够借助来自节点的状态和错误信息以及链接状态,自动检测出造成意外行为的原因。

Webinar: EtherCAT diagnostics

高可用性

对于具备高可用性的机器或设备,当出现线缆损坏或节点故障时,不应影响对某个网段的访问或导致整个网络出现故障。EtherCAT 通过简单的措施实现线缆的冗余性。通过将网络中最后一个节点与主站设备中的以太网端口连接,可以将线型拓扑结构扩展为环型拓扑结构。在需要冗余的情况下,例如当线缆损坏或节点出现故障时,可被主站堆栈中的附加软件检测到。仅此而已,而各节点无需为此而改变,甚至不会“意识到”它们正在冗余线路中运行。

位于从站设备中的链路检测功能会自动地检测并解决冗余问题,且恢复时间不超过 15 µs,因此最多破坏一个通信周期。这意味着即使是周期时间很短的运动控制应用,在线缆损坏时,也可以平稳地继续工作。

使用 EtherCAT 还可以通过热备份实现主站设备的冗余。对于比较脆弱的网络部件,例如通过拖链连接的部件,可以使用分支线缆连接,确保在线缆损坏时,机器的其他部分仍能继续运行。

EtherCAT 发展历程

XFC

XFC 基于高效的控制和通信架构,可以实现 I/O 响应时间 ≤ 100 μs。

更多信息

EtherCAT P

全新的单电缆解决方案 — 铺平了无控制柜的自动化之路。

更多信息

EtherCAT G

EtherCAT G 基于成功的 EtherCAT 技术运行原理,同时将数据速率提升到 1 Gbit/s 或 10 Gbit/s。

更多信息

EtherCAT 技术协会 — ETG

EtherCAT 技术协会(ETG)确保 EtherCAT 技术对所有潜在用户开放。EtherCAT 设备制造商、技术提供商和用户共同推动该技术的发展。他们拥有一个共同目标:保持 EtherCAT 的稳定性和互操作性。ETG 每年都会在欧洲、亚洲和美国举办多次 Plug Fest 活动。Plug Fest 活动聚集 EtherCAT 设备研发者进行测试,以保证设备的互操作性。每个制造商在产品发布前应使用官方 EtherCAT 一致性测试工具对其 EtherCAT 设备进行一致性测试。在成功通过了授权测试实验室的测试后,ETG 将为制造商颁发一致性证书。

ETG 是全球最大的现场总线组织。ETG 官网主页上可以找到所有会员名单。然而,对于 ETG 来说,最重要的并不是会员数量,而是会员的活跃度。EtherCAT 设备的数量和种类都是无可比拟的,同时。在欧洲、亚洲和美国,EtherCAT 采用率都超过了其他工业以太网技术。

里程碑

2003 在汉诺威工业博览会上推出 EtherCAT 技术2003 SPS/IPC/DRIVES 展会期间,EtherCAT 技术协会(ETG)宣布正式成立2005 Safety over EtherCAT 技术被引入市场2007 EtherCAT 成为 IEC 标准2016 EtherCAT P:超高速通信和动力系统整合在一根电缆中2019 EtherCAT G:将性能提升到千兆级别

中国区总部

Beckhoff Automation (Shanghai) Co., Ltd.

市北智汇园4号楼 静安区汶水路 299 弄 9-10 号 上海, 200072

+86 21 6631 2666

+86 21 6631 5696

info@beckhoff.com.cn

详细联系方式

www.beckhoff.com.cn/zh-cn/

电子快讯

打印页面

公司

公司

公司简介

全球业务

职位招聘

新闻

《PC Control》杂志

市场活动及日期

产品与行业

产品与行业

工业 PC

I/O

运动控制

自动化软件

MX-System

机器视觉

行业

支持

支持

技术支持

服务

培训

在线研讨会

Beckhoff Information System

下载中心

社交媒体

社交媒体

LinkedIn

WeChat

bilibili

法律声明

使用条款

数据隐私政策

一般条款

沪公网安备 31010602003961号

工信部备案:沪ICP备12000630号-1

隐私设置

商标

© Beckhoff Automation 2024

请选择您的地区和语言

The link was copied to the clipboard.

您已经成功登录 myBeckhoff。