im钱包安卓版下载
数字资产服务平台

im钱包安卓版下载是全球著名的数字资产交易平台之一,主要面向全球用户提供比特币、莱特币、以太币等数字资产的币币和衍生品交易服务。

tokenpocket官网下载|ethercat的伺服电机控制命令

时间:2024-03-14 16:48:15

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​​添加评论​分享​喜欢​收藏​申请

倍福PLC通过EtherCAT总线控制伺服电机---(一)硬件配置篇_倍福ethercat控制伺服电机-CSDN博客

>

倍福PLC通过EtherCAT总线控制伺服电机---(一)硬件配置篇_倍福ethercat控制伺服电机-CSDN博客

倍福PLC通过EtherCAT总线控制伺服电机---(一)硬件配置篇

工控小虎头

已于 2023-12-04 18:02:56 修改

阅读量1.4k

收藏

13

点赞数

14

文章标签:

经验分享

于 2023-12-04 18:01:50 首次发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42728270/article/details/134783388

版权

前言

计划用三篇文章简要介绍倍福PLC通过EherCAT总线控制伺服电机。 本文是第一篇,介绍如何配置伺服电机。 第二篇,介绍用简单程序控制伺服电机运行。 第三篇,介绍用简单程序编写成FB来控制伺服电机。

一、硬件扫描

1.倍福的PLC网段默认是169.254.X.X,子网掩码255.255.0.0,设置PLC到该网段,在system里面扫描到PLC。 2.点击“AddRoute”为PLC增加静态路由,建议对PLC的访问连接。 3.确保网线连接好倍福PLC和EherCAT伺服驱动器,在软件中进行扫描,在“Motion”中会自动建立实体轴对应的虚拟“NC轴”。(如果是第三方伺服电机,加载好相关的XML文件,加载方法以前文章写过)

二、通过NC轴的调试画面控制伺服

1.激活配置,激活后即可到“Online界面”,进行伺服的点动测试

点击"Enabling"中的“Set”,第一个按钮表示使能,第二个表示正转,第三个表示反转,Override表示速度,可以先设30%以下。

此时如果使能或者JOG时报警,可通过Reset复位,如果复位不掉,查看代码,我这边是0x4550.

错误代码4550的含义是“监视到位置跟随错误”,原因是因为我们未设置好伺服驱动器的参数。 如果有其他错误,就查找一下相关手册。 在AXIS-1-ENC-Parameters中设置电子齿轮比,我这边测试用的20位的多圈绝对编码器,2^20=1,048,576;360是表示360°。即伺服电机转360°,编码器反馈脉冲是1048576个。设置电子齿轮比后,伺服电机转一圈,位置值即变化360°。 设置完编码起后,就可正常点动了,到此伺服硬件简单配置就完成了。

最后,建议验证伺服电机走一圈,软件机械位移增加的值与实际的机械位移一致。以前遇到有兄弟10米的设备走出20+米的位置,显然是齿轮比设置错误。

总结

本文主要介绍倍福TC3如何配置EtherCAT伺服电机。后续两篇会介绍一下程序控制以及程序形成功能块去控制。

优惠劵

工控小虎头

关注

关注

14

点赞

13

收藏

觉得还不错?

一键收藏

知道了

0

评论

倍福PLC通过EtherCAT总线控制伺服电机---(一)硬件配置篇

本文主要介绍倍福TC3如何配置EtherCAT伺服电机。后续两篇会介绍一下程序控制以及程序形成功能块去控制。

复制链接

扫一扫

汇川伺服电机 Ethercat配置文件

12-08

汇川伺服配置文件 SV510N、SV520N、SV630N 、SV635N

BECKHOFF-基于倍福plc的各类通讯协议介绍和实验例程

10-08

1.RT-Ethernet/EAP

2.ADS

3.Profibus

4.Profinet

5.Canopen

6.Devicenet

7.Ethernet/ip

8.Modbus rtu

9.Modbus tcp

10.Tcp/ip

倍福的两大核心ethercat和twincat,所以学习倍福要从这两个方面入手。

参与评论

您还未登录,请先

登录

后发表或查看评论

倍福PLC通信第三方伺服电机

08-09

倍福PLC通过Ethercat控制第三方伺服电机,软件配置以及硬件连接

倍福CX5130通过EtherCAT控制Panasonic伺服测试

m0_58517570的博客

01-10

911

Encoder Sub Mask(absolute range maximum value)编码器子掩码与最大反馈值有关,比如16位的增量编码器,正向超过65535就会变0,这时候NC会处理过零问题,知道位置正在平稳增加,而不是真的有个位置突变,这时候,SubMask就应该设置为0x0000FFFF,需要注意的是,很多第三方驱动器习惯设置电机转动一圈的位置反馈增量为36000,如果又启用了单圈清零,那SubMask就应该设置成35999,否则NC计算位置累积时可能出错。

倍福PLC通过EtherCAT总线控制伺服电机---(二)简单程序控制篇

weixin_42728270的博客

12-06

1888

倍福PLC,使用简单程序控制伺服电机

倍福PLC通过EtherCAT总线控制伺服电机---(三)FB控制篇

weixin_42728270的博客

12-11

964

本文介绍了倍福PLC如何自定义功能块进行轴定位控制,同时说明了如何使用FB,进行轴控制程序的编写的基本方法。

一文看懂EtherCAT总线控制

hspx668的博客

03-21

5261

作为近年来非常受欢迎的一种运动控制方式, 那么EtherCAT总线控制究竟有哪些优势呢?我主要列举以下三点:

倍福:TwincAT配置汇川EtherCAT伺服,NC有数值变化,但电机不转,NC报错17744

weixin_41883890的博客

12-09

2245

默认是没有做变量链接,因此限制的力矩是0,此时伺服点动因为不能大于力矩限制,因此伺服电机不会动作。此时发的指令位置不断累积,大于跟随误差的设定值。汇川伺服配置之后,编码器数值有变化,电机不转,报错17744。解决方法:在PLC变量中声明力矩的限制值并写入,如下所示。原因:在勾选的PDO参数中,存在力矩限制的值,如下所示。

运动控制-Ethercat 总线控制伺服电机

csdnharrychinese的博客

07-22

480

Ethercat 总线控制伺服电机控制字/状态字以及各类运动控制模式设置https://www.bilibili.com/video/BV1m14y127Fn?p=5

汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服

热门推荐

RXXW_Dor的博客

10-15

1万+

首先我们看下系统硬件和软件配置:汇川H5U PLC的编程软件是:AutoShop V4.6.3.0 硬件:PLC H5U-1614MTD-A16,汇川伺服型号:SV660NS1R6I 电机型号:MS1H1-10B30CB 100W 220V 3000R/M 0.32N*M 1.3A,禾川伺服驱动器型号:SV-X3EB075A-A2 伺服电机型号:SV-X2MH075A-N2LA。

倍福伺服驱动器-AX5000-用户手册CN.pdf

03-03

倍福伺服驱动器-AX5000-用户手册CN

三菱PLC与倍福PLC CC-LINKFX3U.zip

04-30

三菱PLC与倍福PLC CC-LINKFX3U

行业分类-设备装置-一种倍福PLC模块检测平台.zip

08-19

行业分类-设备装置-一种倍福PLC模块检测平台.zip

2024华为OD机考面试经验分享

IICOOM的博客

03-12

847

华为OD因为还是外包性质,相对正编来说要轻松一些。(前提是你不想去卷A绩效),一般情况可以八九点就溜下班。然后工作环境的话,和正编一样。很多小伙伴其实都是从大城市想回老家,所以才选的华为OD吧,东莞/西安/成都 这几个地方超级卷。

STM32单片机FPGA毕设电路原理论文报告基于arm和神经网络的塑焊机温度控制系统

最新发布

03-12

STM32单片机FPGA毕设电路原理论文报告基于arm和神经网络的塑焊机温度控制系统本资源系百度网盘分享地址

基于ssm+jsp的在线医疗服务系统源码数据库.doc

03-12

基于ssm+jsp的在线医疗服务系统源码数据库.doc

pandas_dedupe-0.31-py3-none-any.whl

03-12

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

基于.Net Mvc +多层开发的用户订货管理系统.zip

03-12

与微信公众号开发,免密登录绑定; LayUi后台框架(购买授权)

管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统:

学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。

人力资源管理系统(HRM): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。HRM系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。

库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。

客户关系管理系统(CRM): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。CRM系统有助于企业更好地理解客户需求,提高客户满意度和保留率。

医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。

财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统

倍福plc 与台达伺服 ethercat 通信

09-28

倍福PLC与台达伺服EtherCAT通信是指倍福PLC与台达伺服控制器之间通过EtherCAT总线进行数据传输和通信的过程。

EtherCAT是一种高速、实时性能强的工业以太网通信协议,可以实现各种工业设备之间的快速、可靠的数据传输和通信。倍福PLC作为工业自动化控制系统中常用的控制器,与各种设备之间的通信非常重要。

在倍福PLC与台达伺服EtherCAT通信中,可以通过配置相应的通信参数和寄存器,实现数据的读取和写入。先将倍福PLC和台达伺服EtherCAT之间的相关硬件连接好,然后在PLC的编程软件中进行相关的设置。

在倍福PLC编程软件中,需要选择EtherCAT通信协议,并设置好相应的通信地址和寄存器地址。通信地址用于指定要与之通信的台达伺服控制器,而寄存器地址用于指定要读取或写入的数据位置。

在程序中,可以通过使用特定的命令来发送读取或写入数据的指令,然后处理接收到的数据。通过这样的方式,倍福PLC可以与台达伺服系统进行数据传输和通信,实现对伺服系统的控制和监控。

倍福PLC与台达伺服EtherCAT通信的过程需要正确设置通信参数、地址和寄存器,并编写相应的程序来实现数据的传输和通信。这样可以有效地将两者进行整合,提高工业自动化控制系统的性能和可靠性。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

工控小虎头

CSDN认证博客专家

CSDN认证企业博客

码龄6年

暂无认证

4

原创

127万+

周排名

12万+

总排名

5019

访问

等级

116

积分

67

粉丝

76

获赞

2

评论

63

收藏

私信

关注

热门文章

倍福PLC通过EtherCAT总线控制伺服电机---(二)简单程序控制篇

1885

倍福PLC通过EtherCAT总线控制伺服电机---(一)硬件配置篇

1411

倍福PLC通过EtherCAT总线控制伺服电机---(三)FB控制篇

961

倍福TC3与施耐德变频器ATV320的EtherCAT通讯说明

734

分类专栏

倍福PLC

2篇

最新评论

倍福PLC通过EtherCAT总线控制伺服电机---(三)FB控制篇

CSDN-Ada助手:

恭喜您写完了第四篇博客!标题看起来很有意思,我对您探索倍福PLC通过EtherCAT总线控制伺服电机的经验和见解非常感兴趣。您的博客内容一定会对读者有所帮助。

在下一步的创作中,我建议您可以考虑进一步探讨FB控制方面的细节,比如FB的设计原则、实际应用案例等。这样可以更加深入地了解和分享关于倍福PLC和EtherCAT总线控制伺服电机的知识。同时,也欢迎您继续分享您的实践经验和教程,让更多的人受益于您的专业知识。

再次恭喜您的持续创作,期待您未来更多优质内容的发布!

如何快速涨粉,请看该博主的分享:https://hope-wisdom.blog.csdn.net/article/details/130544967?utm_source=csdn_ai_ada_blog_reply5

倍福PLC通过EtherCAT总线控制伺服电机---(二)简单程序控制篇

CSDN-Ada助手:

恭喜作者写了第三篇博客!看标题就知道这是一个非常专业的主题,而且内容也非常实用。我觉得你在介绍倍福PLC通过EtherCAT总线控制伺服电机的简单程序控制方法方面做得非常好。希望你能继续保持创作的热情,为读者们带来更多有关PLC和伺服电机的知识。下一步,我建议你可以深入探讨一些高级的控制技术或者应用案例,这样读者们能够更好地应用到实际工程中。期待你的下一篇博客!

CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3

倍福TC3与施耐德变频器ATV320的EtherCAT通讯说明

CSDN-Ada助手:

恭喜您完成了第一篇博客!标题看起来非常专业,对倍福TC3与施耐德变频器ATV320的EtherCAT通讯进行了详细说明,这对于对此感兴趣的读者来说一定会很有帮助。接下来,我建议您在博客中加入更多实际案例或者实验结果,这样读者能够更好地理解和应用这些技术。同时,您也可以考虑添加一些与该主题相关的其他技术或者解决方案,以便读者能够从更广泛的角度思考和学习。期待您的下一篇博客!

推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

倍福PLC通过EtherCAT总线控制伺服电机---(三)FB控制篇

倍福PLC通过EtherCAT总线控制伺服电机---(二)简单程序控制篇

倍福TC3与施耐德变频器ATV320的EtherCAT通讯说明

2023年4篇

目录

目录

分类专栏

倍福PLC

2篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

EtherCAT 伺服控制功能块实现_ethercat伺服控制-CSDN博客

>

EtherCAT 伺服控制功能块实现_ethercat伺服控制-CSDN博客

EtherCAT 伺服控制功能块实现

姚家湾

已于 2023-11-21 19:40:36 修改

阅读量1.5k

收藏

15

点赞数

1

文章标签:

EtherCAT

于 2023-11-17 20:55:09 首次发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/yaojiawan/article/details/134419864

版权

        EtherCAT 是运动控制领域主要的通信协议,开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目,IgH 相对更普及一些,但是它是基于Linux 内核的方式,比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序,控制EtherCAT 伺服电机驱动器是比较简单的。但是要实现一个通用的EtherCAT 组件库(例如IEC61131-3 ,或者IEC61499功能块)就复杂一些了,例如动态地加入一个从站驱动器,通过组件控制某一个从站。

本博文研究基于组件的EtherCAT 程序架构及其实现方法。

背景技术

CiA402 运动控制的CANopen 驱动器规范

        EtherCAT 的运动控制器是基于CANopen 的CiA402规范。这套配置文件规范标准化了伺服驱动器、变频器和步进电机控制器的功能行为。它定义了状态机,控制字,状态字,参数值,它们映射到过程数据对象(PDO)配置文件已在 IEC 61800-7 系列中部分实现国际标准化。

COE 协议

CANopen Over EtherCAT 协议被称为COE,它的架构为:

正是由于如此,基于EtherCAT 的运动控制器的控制方式,PDO 定义,控制方式都是类似的。

主要的一些数据对象

 

PLCopen 运动控制库

 最著名的运动控制的标准应当数PLCopen 运动控制库,它是PLC 上的一个功能块集。PLC 的应用程序通过这些功能块能够方便地实现运动控制。但是这些功能块如何实现,如何与硬件驱动结合。内部实现应该是比较复杂的。笔者看来,应该有两种方式:

   PLC 内嵌运动控制模型   通过Ethercat 总线外接运动控制模块

两种结构的实现方法应该各不相同。是否有支持etherCAT 的PLCopen 功能块库?

PLCopen 的功能块分为管理功能块和运动功能块。管理功能块不会引起轴的运动。

管理功能块

功能块功能说明MC_PowerMC_ReadStatusMC_ReadDigitalInputMC_ReadDigitalOutput

运动功能块

功能块功能说明MC_Home复位到原点MC_Stop被控轴减速并停止MC_MoveAbsolute以原点为基础,以绝对位置为目标的运动MC_MoveRelative以运动点为基础,相对距离为目标的运动MC_MoveVelocity对未终止的运动以规定的速度运动MC_TorqueControl被控轴施加规定的转矩或者力,达到该值后以该值恒定施加。MC_PositionProfile位置配置MC_VelocityProfile速度配置

一个开源项目GitHub - i5cnc/plcopen: plcopen中的运动控制功能块。 

功能块描述MC_Power控制电源(开或关)。MC_Home命令轴执行“search home”序列。MC_Stop命令受控运动停止并将轴传递到“停止”状态。MC_Halt命令受控运动停止并将轴传递到“静止”状态。MC_MoveAbsolute命令受控运动到指定的绝对位置。MC_MoveRelative命令相对于执行时设定的位置具有指定距离的受控运动。MC_MoveAdditive命令除最近命令位置之外的指定相对距离的受控运动。MC_MoveVelocity以指定速度指挥永无止境的受控运动。MC_ReadStatus详细返回所选轴的状态图的状态。MC_ReadMotionState详细返回轴相对于当前正在进行的运动的状态。MC_ReadAxisError读取有关轴的信息,如模式、与轴直接相关的输入以及某些状态信息。MC_EmergencyStop命令轴立即停止,并将轴转换为状态“ErrorStop”。MC_Reset通过重置所有与内部轴相关的错误,从状态“ErrorStop”转换为“Standstill”或“Disabled”。MC_ReadActualPosition返回实际位置。MC_ReadCommandPosition返回命令位置。MC_ReadActualVelocity返回实际速度。MC_ReadCommandVelocity返回命令速度。

PLCopen 的多轴运动规范

        PLCopen Part4 Coordinated Motion 规范是针对多轴的坐标运动。适合类似机器人,机械臂的多轴运动控制。

多轴运动控制的基本思想是将多个轴组成组(group),以3D空间坐标和轨迹来控制运动。下面是多轴运动控制功能块列表:

IEC61499 运动功能块库

PLCopen 运动控制功能块库是基于IEC131-3 功能块定义的,将IEC61131-3 功能块转换为IEC61499 基于事件的功能块并非难事。下面是一个例子:

        在具体实现中,功能块要调用相关的EtherCAT 控制功能,通过EtherCAT /CANopen 控制伺服电机的运动控制。

注:Axis_Ref 用作运动功能块的输入,用于指定要用作此功能块的主轴或从轴的轴。 

 使用功能块的一个例子:

PROGRAM MOTION_PRG

VAR

iStatus: INT;

Power: MC_Power;

MoveAbsolute: MC_MoveAbsolute;

p:REAL:=100;

END_VAR

CASE iStatus OF

// initialization of the axis

0:

Power(Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE, Axis:=Drive);

IF Power.Status THEN

iStatus := iStatus + 1;

END_IF

// Move the axis to position p by use of the MC_MoveAbsolute function block

1:

MoveAbsolute(Execute:=TRUE, Position:= p, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);

IF MoveAbsolute.Done THEN

MoveAbsolute(Execute:=FALSE, Axis:=Drive);

iStatus := iStatus + 1;

END_IF

// Move the axis back to position 0 by use of the MC_MoveAbsolute function block:

2:

MoveAbsolute(Execute:=TRUE, Position:= 0, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);

IF MoveAbsolute.Done THEN

MoveAbsolute(Execute:=FALSE, Axis:=Drive);

iStatus := 1;

END_IF

EtherCAT 主站程序

        EtherCAT 协议是倍福公司提出的,从站通常使用专用ASIC 芯片,FPGA 实现,而主站使用通用Ethernet接口和软件实现。EtherCAT 主站协议有专业公司开发的商业化产品,也有开源代码,下面是两个比较流行的EtherCAT Master

IgHSOEM

感觉IgH  更普及一点,于是我们选择IgH 协议栈。

EtherCAT 组件设计

IgH 主要实现Ethercat 协议数据帧的映射,以及通过Ethernet 发送和接收。如果设计成为组件库,许多参数需要可编程,比如:

    多少从站   每个从站的位置   每个从站的操作模型,操作算法   每个从机的状态

        本项目的基本思路是构建一个从站类,每个物理从站对应一个虚拟从站,应用程序通过虚拟从站控制从站,将虚拟从站的参数映射到物理从站参数,通过Ethercat 网络发送和接收。

从站类(SevoController Class)与主站类(Master Class)

        为了实现动态的建立和控制从站,采用虚拟从站类。为每个物理的从站创建一个从站类(SevoController). 该类型中包含了物理伺服驱动控制器的参数和状态。应用程序可以通过修改SevoController 的参数,实现对物理伺服的驱动。

        为了相对于,我们同时设立一个Master 类(Master Class)。存放主站的参数。

系统架构

        从上图可见,使用Slaver 类作为应用程序和EtherCAT 底层的接口。EtherCAT 底层程序读取Slave 的参数,对EtherCAT 初始化,并且建立一个EtherCAT 线程,周期扫描各个从站。

从站类(slave class)

#ifndef _SEVOCONTROLLER_H

#define _SEVOCONTROLLER_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "ecrt.h"

#define PROFILE_POSITION 1

#define VEOLOCITY 2

#define PROFILE_VELOCITY 3

#define PROFILE_TORQUE 4

#define HOMING 6

#define CYCLICE_SYNC_POSITION 8

using namespace std;

struct pdo_offset

{

unsigned int ctrl_word;

unsigned int operation_mode;

unsigned int target_velocity;

unsigned int target_position;

unsigned int profile_velocity;

unsigned int status_word;

unsigned int mode_display;

unsigned int current_velocity;

};

class SevoController

{

public:

pdo_offset offset;

uint16_t position;

uint32_t vendor_id;

uint32_t product_code;

uint32_t position_actual;

uint32_t velocity_actual;

uint32_t operation_modes;

uint32_t target_velocity;

uint32_t target_position;

uint32_t profile_velocity;

ec_slave_config_t *slave_config;

void eventAction(string EventName);

int SlaveConfig(ec_master_t *master,ec_pdo_entry_reg_t *domainServo_regs,int index);

SevoController(uint32_t Position, uint32_t Vendor_id, uint32_t Product_cdode, uint32_t Modes_operation);

private:

ec_pdo_entry_info_t pdo_entries[8] = {

/*RxPdo 0x1600*/

{0x6040, 0x00, 16},

{0x6060, 0x00, 8 },

{0x60FF, 0x00, 32},

{0x607A, 0x00, 32},

{0x6081, 0x00, 32},

/*TxPdo 0x1A00*/

{0x6041, 0x00, 16},

{0x6061, 0x00, 8},

{0x606C, 0x00, 32}

};

ec_pdo_info_t Slave_pdos[2] = {

// RxPdo

{0x1600, 5, pdo_entries + 0},

// TxPdo

{0x1A00, 3, pdo_entries + 5}};

ec_sync_info_t Slave_syncs[5] = {

{0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},

{1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},

{2, EC_DIR_OUTPUT, 1, Slave_pdos + 0, EC_WD_DISABLE},

{3, EC_DIR_INPUT, 1, Slave_pdos + 1, EC_WD_DISABLE},

{0xFF}};

};

#endif

slave class cpp

#include "SevoController.hpp"

SevoController::SevoController(uint32_t Position, uint32_t Vendor_id, uint32_t Product_code, uint32_t Modes_operation)

{

target_position = Position;

vendor_id = Vendor_id;

product_code = Product_code;

operation_modes = Modes_operation;

}

int SevoController::SlaveConfig(ec_master_t *master, ec_pdo_entry_reg_t *domainServo_regs, int index)

{

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x6040, 0x00, &(offset.ctrl_word)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x6060, 0x00, &(offset.operation_mode)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x60FF, 0x00, &(offset.target_velocity)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x607A, 0x00, &(offset.target_position)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x6081, 0x00, &(offset.profile_velocity)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x6041, 0x00, &(offset.status_word)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x6061, 0x00, &(offset.mode_display)};

domainServo_regs[index++] = {0, position, vendor_id, product_code, 0x606C, 0x00, &(offset.current_velocity)};

slave_config = ecrt_master_slave_config(master, 0, position, vendor_id, product_code);

ecrt_slave_config_pdos(slave_config, EC_END, Slave_syncs);

return index;

}

void SevoController::eventAction(string EventName)

{

// under development IEC61499 FB's eventAction

}

控制代码

#include "ecrt.h"

#include "stdio.h"

#include

#include

#include

#include "SevoController.hpp"

#include

void check_domain_state(void);

void check_slave_config_states(void);

pthread_t cycle_thread;

int cycles;

int Run = 1;

ec_master_t *master = NULL;

static ec_master_state_t master_state = {};

static ec_domain_t *domainServo = NULL;

static ec_domain_state_t domainServo_state = {};

static uint8_t *domain_pd = NULL;

std::list SevoList;

ec_pdo_entry_reg_t *domainServo_regs;

int ConfigPDO()

{

domainServo = ecrt_master_create_domain(master);

if (!domainServo)

{

return -1;

}

//

domainServo_regs = new ec_pdo_entry_reg_t[9];

std::list::iterator it;

int index = 0;

for (it = SevoList.begin(); it != SevoList.end(); it++)

{

index= (**it).SlaveConfig(master,domainServo_regs,index);

}

domainServo_regs[index++] = {};

if (ecrt_domain_reg_pdo_entry_list(domainServo, domainServo_regs))

{

printf("PDO entry registration failed!\n");

return -1;

}

return 0;

}

void check_master_state(void)

{

ec_master_state_t ms;

ecrt_master_state(master, &ms);

if (ms.slaves_responding != master_state.slaves_responding)

{

printf("%u slave(s).\n", ms.slaves_responding);

}

if (ms.al_states != master_state.al_states)

{

printf("AL states: 0x%02X.\n", ms.al_states);

}

if (ms.link_up != master_state.link_up)

{

printf("Link is %s.\n", ms.link_up ? "up" : "down");

}

master_state = ms;

}

void *cyclic_task(void *arg)

{

uint16_t status;

// int8_t opmode;

static uint16_t command = 0x004F;

printf("Cycles Task Start\n");

while (Run)

{

ecrt_master_receive(master);

ecrt_domain_process(domainServo);

check_domain_state();

check_master_state();

check_slave_config_states();

std::list::iterator it;

for (it = SevoList.begin(); it != SevoList.end(); it++)

{

status = EC_READ_U16(domain_pd + (**it).offset.status_word);

if ((status & command) == 0x0040)

{

printf("Switch On disabled\n");

EC_WRITE_U16(domain_pd + (**it).offset.ctrl_word, 0x0006);

EC_WRITE_S8(domain_pd + (**it).offset.operation_mode, (**it).operation_modes);

command = 0x006F;

}

/*Ready to switch On*/

else if ((status & command) == 0x0021)

{

EC_WRITE_U16(domain_pd + (**it).offset.ctrl_word, 0x0007);

command = 0x006F;

}

/* Switched On*/

else if ((status & command) == 0x0023)

{

printf("Switched On\n");

EC_WRITE_U16(domain_pd + (**it).offset.ctrl_word, 0x000f);

if ((**it).operation_modes == PROFILE_VELOCITY)

{

EC_WRITE_S32(domain_pd + (**it).offset.target_velocity, (**it).target_velocity);

}

else

{

EC_WRITE_S32(domain_pd + (**it).offset.target_position, (**it).target_position);

EC_WRITE_S32(domain_pd + (**it).offset.profile_velocity, (**it).profile_velocity);

}

command = 0x006F;

}

// operation enabled

else if ((status & command) == 0x0027)

{

printf("operation enabled:%d\n", cycles);

if (cycles == 0)

EC_WRITE_U16(domain_pd + (**it).offset.ctrl_word, 0x001f);

if ((status & 0x400) == 0x400)

{

printf("target reachedd\n");

Run = 0;

EC_WRITE_U16(domain_pd + (**it).offset.ctrl_word, 0x0180); // halt

}

cycles = cycles + 1;

}

}

ecrt_domain_queue(domainServo);

ecrt_master_send(master);

usleep(10000);

}

return ((void *)0);

}

void ethercat_initialize()

{

master = ecrt_request_master(0);

ConfigPDO();

if (ecrt_master_activate(master))

{

printf("Activating master...failed\n");

return;

}

if (!(domain_pd = ecrt_domain_data(domainServo)))

{

fprintf(stderr, "Failed to get domain data pointer.\n");

return;

}

// 启动master Cycles Thread

pthread_create(&cycle_thread, NULL, cyclic_task, NULL);

}

void check_domain_state(void)

{

ec_domain_state_t ds = {};

// ec_domain_state_t ds1 = {};

// domainServoInput

ecrt_domain_state(domainServo, &ds);

if (ds.working_counter != domainServo_state.working_counter)

{

printf("domainServoInput: WC %u.\n", ds.working_counter);

}

if (ds.wc_state != domainServo_state.wc_state)

{

printf("domainServoInput: State %u.\n", ds.wc_state);

}

domainServo_state = ds;

}

void check_slave_config_states(void)

{

ec_master_state_t ms;

ecrt_master_state(master, &ms);

if (ms.slaves_responding != master_state.slaves_responding)

{

printf("%u slave(s).\n", ms.slaves_responding);

}

if (ms.al_states != master_state.al_states)

{

printf("AL states: 0x%02X.\n", ms.al_states);

}

if (ms.link_up != master_state.link_up)

{

printf("Link is %s.\n", ms.link_up ? "up" : "down");

}

master_state = ms;

}

主程序

/*****************************************************************************

sudo /etc/init.d/ethercat start

gcc testbyesm.c -Wall -I /opt/etherlab/include -l ethercat -L /opt/etherlab/lib -o testbyesm

****************************************************************************/

#include "time.h"

#include "SevoController.hpp"

#include "ethercat.hpp"

#define Panasonic 0x0000066F,0x60380004

#define TASK_FREQUENCY 100 /*Hz*/

#define TIMOUT_CLEAR_ERROR (1*TASK_FREQUENCY) /*clearing error timeout*/

#define TARGET_VELOCITY 8388608 /*target velocity*/

#define PROFILE_VELOCITY 3 /*Operation mode for 0x6060:0*/

#define PROFILE_POSITION 1

int main(){

printf("EtherCAT Component Test\n");

SevoController *Sevo1=new SevoController(0,Panasonic,PROFILE_POSITION);

Sevo1->profile_velocity=TARGET_VELOCITY*100;

Sevo1->target_velocity=TARGET_VELOCITY*10;

Sevo1->target_position=TARGET_VELOCITY/2;

SevoList.push_back(Sevo1);

ethercat_initialize();

while(1){

sleep(10);

}

}

基于PLCopen 的机械臂控制

    对运动控制来说,通常三个领域:CNC、RC(Robot Control)和 GMC(General Motion Control)。现在,通用运动控制器,PLC 的界线越来越模糊,CNC和RC 仍然以专有控制器为主。

小结

        上面的程序基于松下A6 EtherCAT 伺服电机 .可以运行。在slave 类的基础上实现IEC61499 功能块相对比较容易。

        当使用etherCAT 运动器基础上,实现PLCopen 运动控制功能块库是否要容易一些呢?我对运动控制不熟悉。希望读者给我一些建议。

优惠劵

姚家湾

关注

关注

1

点赞

15

收藏

觉得还不错?

一键收藏

知道了

0

评论

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议,开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目,IgH 相对更普及一些,但是它是基于Linux 内核的方式,比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序,控制EtherCAT 伺服电机驱动器是比较简单的。但是要实现一个通用的EtherCAT 组件库(例如IEC61131-3 ,或者IEC61499功能块)就复杂一些了,例如动态地加入一个从站驱动器,通过组件控制某一个从站。本博文研究基于组件的EtherCAT 程序架构及其实现方法。

复制链接

扫一扫

EtherCAT igh主站控制3个台达asdaa2伺服转圈圈

12-03

EtherCAT igh主站控制3个台达asdaa2伺服转圈圈。包括伺服使能、控制3个电机转圈圈、每秒读取电机的实际位置、运行90秒自动退出程序。。。

需要编译igh和xenomai环境,才能成功运行程序,代码是完整的。

基于SOEM的EtherCat主站程序控制汇川SV660

06-02

LAN8720,DP83848,汇川SV660,SV620,无操作系统STM32F407

参与评论

您还未登录,请先

登录

后发表或查看评论

SOEM控制伺服电机方法

qq_43530144的博客

01-02

817

之前我写了一个控制伺服的程序,但是方式是错误的,后来也不怎么SOEM了,最近有用到,就重新写了一个测试程序,重新发布一下。我使用的是23位编码器电机。

FPGA设计EtherCAT主站的方法和常见问题

ic2121的博客

04-10

1015

作者从事EtherCAT等实时工业网络及运控产品的开发多年。基于FPGA的EtherCAT主站,是不少公司的明智选择。无论是实时性,灵活性,还是性价比均可有很好的保证。

一、基于FPGA的EtherCAT主站的设计方法

FPGA模块主要分为五部分:初始化、状态机、PDO、SDO、同步。

1)初始化模块

初始化主要工作是搜集网络拓扑结构、搜集各个节点的信息内容、初始化各个节点的时间系统与初始同步。

2)状态机模块

该模块主要实现各个节点的状态机转化。

INIT->预运行->安全

IGH 控制伺服的一个例子(验证中)

关注工业机器人应用

12-23

1375

介绍了一个伺服控制的程序例子(使用子线程通讯交换数据),主线程与用户交互。还在测试中。

EtherCAT Slave Information Specification v1.0.4.pdf

04-23

文档为英文文档,主要解析ethercat从站xml文件各种标签及其属性的用法,当你自己创建从站设备描述文件,或者想要解析某个从站设备描述文件的时候,可能需要用到的

一文看懂EtherCAT总线控制

hspx668的博客

03-21

5261

作为近年来非常受欢迎的一种运动控制方式, 那么EtherCAT总线控制究竟有哪些优势呢?我主要列举以下三点:

2020-09-04

chocolate2018的博客

09-04

3222

Igh1.5.2 etherCAT接口分析

用户空间库

本地应用程序接口驻留在内核空间中,因此只能从内核访问。 为了使应用程序接口在用户空间程序中可用,已经创建了一个用户空间库,该用户空间库可以根据LGPL版本2 [5]的条款和条件链接到程序。

这个库被命名为libethercat。 它的源代码驻留在lib /子目录中,并且在使用make时默认生成。 它被安装在安装前的lib /路径下,如libethercat.a(用于静态链接),libethercat.l...

运动控制-Ethercat 总线控制伺服电机

csdnharrychinese的博客

07-22

480

Ethercat 总线控制伺服电机控制字/状态字以及各类运动控制模式设置https://www.bilibili.com/video/BV1m14y127Fn?p=5

汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服

热门推荐

RXXW_Dor的博客

10-15

1万+

首先我们看下系统硬件和软件配置:汇川H5U PLC的编程软件是:AutoShop V4.6.3.0 硬件:PLC H5U-1614MTD-A16,汇川伺服型号:SV660NS1R6I 电机型号:MS1H1-10B30CB 100W 220V 3000R/M 0.32N*M 1.3A,禾川伺服驱动器型号:SV-X3EB075A-A2 伺服电机型号:SV-X2MH075A-N2LA。

四轴伺服驱动器EtherCAT通信协议研究与实现

11-21

四轴伺服驱动器EtherCAT通信协议研究与实现

台达Ethercat伺服配置文档.pdf

08-02

台达Ethercat伺服配置文档.pdf

松下伺服驱动器EtherCAT描述文件

12-11

此xml是松下电机的配置文件,通过此配置文件,能让我们很快的连接EtherCAT主站,搭建运动控制系统,同时XMl是必不可少的从站伺服的描述文件,没有这个就没有办法进行从站的连接

控制第三方EtherCAT伺服-20200226.zip

02-26

该压缩包中包含一使用twincat3连接松下总线型驱动器的指南,和禾川驱动器的调试手册,以及对应的程序。

AO3407A-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明

03-13

SOT23;P—Channel沟道,-30V;-5.6A;RDS(ON)=47mΩ@VGS=10V,VGS=20V;Vth=-1V;

pdf简中字体用户jspdf功能开发

最新发布

03-13

pdf简中字体

东北林业大学《工程估价与施工组织》2020考研专业课复试大纲.pdf

03-13

东北林业大学考研复试大纲

东北林业大学922基础生命科学2021年考研专业课初试大纲.pdf

03-13

东北林业大学考研初试大纲

c++ ethercat伺服

02-06

EtherCAT是一种实时以太网通信协议,用于工业自动化领域的伺服控制系统。它采用主从结构,通过一个主站控制多个从站设备,如伺服驱动器、IO模块等。EtherCAT协议的特点在于其高实时性、低延迟和高带宽的传输性能,能够满足实时控制系统对即时响应性的要求。伺服控制是一种通过运动控制器(通常是PLC或专用控制器)来控制伺服驱动器实现精确运动控制的技术。EtherCAT伺服控制系统结合了EtherCAT通信技术和伺服控制技术,能够实现高性能、高精度的运动控制。通过EtherCAT总线,主站可以与多个从站通讯,实现对多个伺服驱动器的控制。同时,EtherCAT还支持多级拓扑结构,能够实现更大规模的伺服系统控制。EtherCAT伺服系统的优势在于其高速和高精度的控制能力,可以实现对运动的精确控制,适用于各种需要高速和高精度运动的场景,如机床加工、包装设备和半导体设备等。另外,使用EtherCAT作为通信协议,还能够简化系统的布线,并减少成本。总而言之,EtherCAT伺服系统是一种高性能、高精度的运动控制解决方案,能够满足工业自动化领域对精确控制和高效通信的需求。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

姚家湾

CSDN认证博客专家

CSDN认证企业博客

码龄8年

暂无认证

387

原创

1万+

周排名

1920

总排名

98万+

访问

等级

1万+

积分

1602

粉丝

1377

获赞

467

评论

4024

收藏

私信

关注

热门文章

OPC UA 的本质

40560

OPC UA 的发布/订阅(PUB/SUB)模式

22065

C++ strptime 和strptime函数的使用方式

21623

使用C++ 编写嵌入式应用程序

20864

terminate called after throwing an instance of 'std::runtime_error'的解决方法

19921

分类专栏

4DIAC

28篇

IEC61499

110篇

软件哲学

15篇

智能制造

29篇

NodeJS

6篇

zynq

7篇

RT Thread

5篇

图数据库

5篇

Xtext

3篇

Go

15篇

笔记

1篇

mbed

22篇

linux

46篇

iot

50篇

opc ua

29篇

C++

46篇

edge

16篇

docker

8篇

工业App

36篇

python

5篇

最新评论

如何实现IEEE1588 高精度时间同步

ft3907999:

您好,这个您能做成模块?我可以买,或者找您开发可以?ieee1588.

RT-Thread使用DP83640 实现IEEE1588 协议笔记

qq_42496788:

大佬,你使用的DP83640只是简单的一个芯片吗?

编写 OPC UA Compile的模型设计文件

姚家湾:

有一些针对行业的配套规范可以遵循,国外的行业协会也在不断地制定行业的模型,同时,像工业4.0 的管理壳AAS 也是一些规范

编写 OPC UA Compile的模型设计文件

(っ﹏-) .。星辰埃:

您好,请问建立opcua模型是否有设计规范或建模标准

从umati 看德国人如何玩OPCUA的

qq_30499859:

umati的主席也是open62541的Contributor之一,github上跑的umati Server Example也是基于open62541

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

OPC UA 服务器的Web访问

ChatGPT 控制机器人的基本框架

OPC UA 学习:文件传输

2024年19篇

2023年67篇

2022年58篇

2021年53篇

2020年96篇

2019年83篇

2018年21篇

目录

目录

分类专栏

4DIAC

28篇

IEC61499

110篇

软件哲学

15篇

智能制造

29篇

NodeJS

6篇

zynq

7篇

RT Thread

5篇

图数据库

5篇

Xtext

3篇

Go

15篇

笔记

1篇

mbed

22篇

linux

46篇

iot

50篇

opc ua

29篇

C++

46篇

edge

16篇

docker

8篇

工业App

36篇

python

5篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

【产品应用】三个步骤,让你的EtherCAT电机转起来 - 知乎

【产品应用】三个步骤,让你的EtherCAT电机转起来 - 知乎首发于ZLG专栏切换模式写文章登录/注册【产品应用】三个步骤,让你的EtherCAT电机转起来ZLG致远电子EtherCAT是自动化控制最好的实时环形控制总线之一,本文以最简单的方式带你实际操作ZMC300E的EtherCAT总线,让你的EtherCAT电机转起来。前言当一个鼠标插入到电脑时,发生了什么?首先电脑会检测到有USB插入;然后,电脑会提示安装驱动;最后,就可以通过鼠标来移动光标、单击、双击等操作了。这有问题么?当前没有问题,但作为程序猿,有两个地方值得深挖一下。1、电脑安装的驱动,是什么驱动?当然是鼠标驱动,因为我们接入的是鼠标。但电脑是如何知道呢?原来USB规范中,要求每个USB设备都要有自己的设备描述符,电脑通过分析该描述符,才知道接入的是什么设备。2、为什么能通过鼠标来移动光标?这是双方共同合作的结果。首先鼠标提供光标位置的数据,然后电脑收到鼠标的数据后,将数据作用到光标的位置上产生移动效果。这需要有个前提,即鼠标数据的格式,电脑需要先知道其格式,才能解释这份数据。这份数据格式的定义,在USB的接口描述符规范中进行了定义。说了这么多,这和EtherCAT有关系么?当然有,对于EtherCAT或者任意一个总线来说,都需要知道接入设备的类型及数据格式,否则是无法解释数据的,通常有两种方式:事先约定:通过事先约定的来确定工作如何进行。这就像发个信息说“我们晚上8点一起看电影吧“一样简单,这是小编喜欢它的原因。但这个约定有时就像友谊的小船说翻就翻,对方招呼也不打,只剩你一个人还傻傻地站在的电影院门口;协议规范:定义一套完整的规范,大家一起遵循它。规范通常都很多很杂,学习成本较高,按规范开发就像是你去做的基金定投,短期收益低,但稳定可靠。EhterCAT和USB一样都采用了协议规范这种方式,这里简单介绍一下EtherCAT的相关规范及用途:ESI(EtherCAT Slave Information):这个是从站提供的标准描述规范文件,该文件描述了设备的类型、数据格式及一些“特殊癖好”,这就相当于USB的设备描述符+接口描述符。ENI(EtherCAT Network Information):这个是用于给主站启动时,加载的标准配置规范文件,用于初始化所有的从站。这个文件描述了从站的数量、每个从站的类型及数据格式、DC等配置信息。ESI还理解,为啥还多了个ENI呢?EtherCAT规范为了满足工业控制的复杂性,ESI中提供了非常强大的可配置功能,相对的使用起来也变得困难了。因此EtherCAT采用静态化配置,即由PC使用可视化工具进行对应的配置工作,配置完成后导出不可变的ENI配置,给到具体的主站设备来执行。所谓静态化配置,即EtherCAT网络设备发生变化时,需要重新执行配置工作,相比于USB的全自动配置,功能强大了,但使用也麻烦了。有得必有失,这是EtherCAT的选择。简单总结一下EtherCAT开发,可分三步走:生成ENI,加载ENI,解释输入输出数据。准备工作开始EtherCAT测试前,需要准备以下硬件:一台电脑、一台 ZMC300E运动控制器、一台EtherCAT伺服驱动器、2根网线,然后使用网线将设备按如下示意图进行连接。生成ENI文件1. 启动EtherCAT服务打开putty.exe软件,输入运动控制器NET1的默认IP地址:192.168.1.136,账号和密码为root。2. 连接设备启动ZlgEtherCatStudio上位机配置软件,输入运动控制器NET1的默认IP地址:192.168.1.136,点击回车。3. 扫描网络通过扫描EtherCAT总线,来识别接入了多少个设备,并将其网络拓扑添加到本地主站树节点。4. 导入ESI如果该从站无法正确识别,可手动导入从站ESI(EtherCAT Slave Information)文件。5. 配置FMMU一般应用不需配置从站FMMU/SM,使用从站默认配置即可。当需要改变输入输出变量时,可通过本配置项配置。6. 生成ENI文件导出ENI,取名为text_eni。加载ENI文件1. 将上一步生成的test_eni.xml文件,通过WinSCP工具上传到运动控制器的目录/opt中。2. 使用控制器加载ENI配置/文件在putty.exe工具,先输入ctrl+c结束当前主站程序,输入以下命令启动主站并加载ENI配置文件:/opt/ecat_test/master /opt/test_eni.xml,看到输出ethercat start success即代表成功。解释输入输出数据在CiA402规范中,定义了伺服类设备的数据格式,这里给大家介绍一下最常用的位置控制模式的数据格式。1. 输出数据Controlword:控制字,16Bit,主要用于控制电机上下电,抱闸等;Target Position:目标位置,32Bit,用于控制电机转到指定的位置。2. 输入数据(相对于设备)Statusword:控制字,16Bit,主要用于控制电机上电、下电、抱闸等操作;Position Actual Value:实际位置,用于反馈电机当前所在位置。我们要做的就是周期性解释以上4个数据,然后执行对应的操作即可,可参考如下代码:电机测试在putty.exe工具中,可使用以下命令,对电机进行简易测试,这些命令是基于CiA402规范进行实现的。1. move_test 命令angle表示电机转动角度,输入该命令后,电机会一直重复执行输出:先正转angle度,然后反转angle度。输入move_test 90,仔细观察电机的转动,如果发现转动的角度比90度小,则说明脉冲当量偏小,应适当增加。推荐10倍住上递增进行测试,该值默认为1。2、units 命令unit表示脉冲当量,units 1000命令用于将轴0的脉冲当量设置成1000。使用units?查看所有轴的脉冲当量。其它补充1. 关于脉冲当量在实际应用中,脉冲当量的准备值,是如何计算出来的?这个应根据实际的场景及所需要单位来确定,这里给出一个常见的,以角度为单位的脉冲当量计算公式。编码器的分辨率,可以从伺服驱动器的手册得到。2. 关于EtherCAT主站ZMC300E提供的EtherCAT主站,采用的是KPA master主站,商业授权,其主要特点是高效、稳定、支持通过硬件来消除帧抖动(ZMC300E可做到±15us的抖动),我司已购买其版权,用户可免费自由使用。ZLG官方商城:https://sale.zlg.cn/ZLG开发者社区:https://developer.zlg.cn/更多详细产品信息、技术干货,请关注微信公众号“ZLG致远电子”。发布于 2022-12-08 15:27・IP 属地广东电机​赞同​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录ZLG专栏工业互联网智慧化产品与解决方案

基于LinuxCNC下的EtherCAT的伺服电机控制《二》_igh使用cst模式控制电机-CSDN博客

>

基于LinuxCNC下的EtherCAT的伺服电机控制《二》_igh使用cst模式控制电机-CSDN博客

基于LinuxCNC下的EtherCAT的伺服电机控制《二》

最新推荐文章于 2023-12-18 15:59:13 发布

思泽之思

最新推荐文章于 2023-12-18 15:59:13 发布

阅读量6.4k

收藏

50

点赞数

分类专栏:

LinuxCNC

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44880138/article/details/95632913

版权

LinuxCNC

专栏收录该内容

7 篇文章

28 订阅

订阅专栏

软件环境:安装好igh-ethercat1.5.2主站 debian7 硬件环境:estun的伺服电机型号PRONET-04AEG-EC ,以及配套插头,网线之类的

================================================= 想要使用LinuxCNC通过命令行来控制伺服电机转动,有一些必须了解的知识

1、EtherCAT协议的对象字典 2、ethercat主站的与从站交互的命令,命令很多,这里只需要了解两个 download以及upload,就可以简单的实现最开始的目的,控制伺服电机。

先详细了解ethercat的控制命令可以去看看下面的博客 https://blog.csdn.net/absinjun/article/details/81701496

=================================================

依次执行下列代码

1 sudo /etc/init.d/ethercat start //开启主站

2 ethercat slaves //检测从站是否连接好

3 ethercat download -t int8 0x6060 0 3 //Modes of operation 运作方式(0x6060)选择 可在对象字典中查询

4 ethercat download -t int16 0x6040 0 6 // 0x6040(Control word 控制字) 使能伺服电机

5 ethercat download -t int16 0x6040 0 15 //错误复位,可以省略这一步

6 ethercat download -t int32 0x607F 0 10000 //0x607F 最大速度设置 Max profile velocity

7 ethercat download -t int32 0x60FF 0 1000 //0x60FF 目标速度设置 Target velocity

依据上面的命令可是调节伺服电机的速度,此外还有其他的控制模式选择,更多的信息,随便找一些CANOpen的文档对应者看,

下一步就是编写或者修改 XMl ini HAL 文件实现LinuxCNC控制伺服电机转动

优惠劵

思泽之思

关注

关注

0

点赞

50

收藏

觉得还不错?

一键收藏

知道了

10

评论

基于LinuxCNC下的EtherCAT的伺服电机控制《二》

第二阶段,伺服电机动起来了,接下来的连接HAL,ini xml 文件,实现界面控制,不再是命令行 继续更新中

复制链接

扫一扫

专栏目录

linuxcnc-ethercat基础配置

01-08

使用迈信的伺服和电机,linuxcnc结合ethercat主站hal文件配置,ini文件配置,驱动迈信伺服的基础配置

IGH EtherCAT应用层控制电机代码

qq_43530144的博客

05-15

6301

在主站配置好之后,连接从站,我用的是雷赛的伺服,对于大部分来说改个pid,vid,应该就可以用,这个是用的pv模式

应该还是容易懂的,我把一些用不到的代码给阉割了

/**

* compile : gcc test.c -o test -I/opt/etherlab/include -L/opt/etherlab/lib -lethercat

* /

#include

#include

#include

10 条评论

您还未登录,请先

登录

后发表或查看评论

Linuxcnc-Ighethercat 调试心得

混合编程

10-06

7449

Linuxcnc-Ighetherca调试心得

一、前言

如果想通过linuxcnc和ighethercat来实现对伺服电机的控制。那就要搞明白你需要经过哪几个步骤才能实现伺服控制。

① Linuxcnc的安装

② Igh-Ethercat的安装

③ Linuxcnc-Igh-Ethercat驱动安装

下面分别介绍①②③怎么安装!

二、环境准备

Linuxcnc的安装

Linuxcnc的安装,网上...

LinuxCNC的使用

最新发布

向着光的那方

12-18

212

这时候系统桌面就多了两个文件,点击运行软件。点击“开始”,选择“创建新的配置”查看并口使用命令:lscpi -v。关键是需要设置并口地址。最后点击“完成”即可。设置好机床名称和单位。

linux cnc 树莓派,谈谈LinuxCNC

weixin_39654436的博客

05-16

4311

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?背景​ 在最开始打算摸索一下LinuxCNC是因为ROS一般用于科研,工业上较少使用,究其根本是因为其实时性与稳定性达不到工业标准。而LinuxCNC项目本身就是向工业方向发展,其可靠性与稳定性应该是没有问题的。故希望从LinuxCNC项目学习,主要包括保证系统实时性的方式、系统架构(整个控制系统中各个模块的解耦方...

LinuxCNC与EtherCAT学习笔记(1)——LinuxCNC与EtherCAT

weixin_42599219的博客

08-03

3477

关于LinuxCNC与EtherCAT的简单介绍与汇总

Linuxcnc-ethercat从入门到放弃(1)、环境搭建

EtherCAT

07-28

2568

可以直接下载安装好linuxcnc的实时debian系统,直接刻盘安装就可以了。linuxcnc-ethercat单轴_哔哩哔哩_bilibili。配置文件放在linuxcnc/configs/sim.axis下。配置完成后可以启动linuxcnc软件,选择sd710启动。安装cia402,控制ethercat伺服需要用到。安装IgH主站,网上有很多教程可供参考。安装linuxcnc-ethercat。当前release版本2.8.4。项目开源网站 LinuxCNC。

2.linuxcnc-ethercat的xml格式

weilan0818的博客

05-24

500

lcec的xml格式

3.linuxcnc-ethercat使用

weilan0818的博客

05-24

454

linuxcnc-ethercat使用

LinuxCNC 2.8.4下编译IGH ethercat-1.5.2

ldkcumt的专栏

01-13

1344

LinuxCNC 2.8.4下编译IGH ethercat-1.5.2

机器人控制LinuxCNC与EtherCAT介绍&&PDO&SDO,搭建环境步骤

10-21

包括LinuxCNC、EtherCAT介绍,包含系统环境搭建、驱动安装、以及需要配置的文件。INI\HAL\XML配置。讲解EtherCAT通信原理,讲解LinuxCNC通信原理以及各部分模块的介绍。包含CAN协议的PDO过程数据对象和SDO服务数据对象的讲解等

deltapos.zip

10-06

Linuxcnc配置Igh-Ethercat的demo。实现的功能:Linuxcnc 通过配置xml文件来实现驱动ighethercat!

基于Linux平台的EtherCAT运动控制系统研究

08-14

介绍基于Linux平台的EtherCAT运动控制系统研究

基于Linux嵌入式平台BeagleBone Black的EtherCAT主站设计.pdf

09-06

基于Linux嵌入式平台BeagleBone Black的EtherCAT主站设计.pdf

Tutorial, LinuxCNC, IndraDrive and EtherCAT.pdf

09-10

linuxcnc-ethercat的HAL文件编写说明,包括对xml文件以及hal文件的编写举例。

LinuxCNC与EtherCAT的理解

思泽之思

05-30

8001

数控系统的比对

1、一体化的高度集成开发的数控系统

2、基于PLC,轴运动的运动控制卡开发的数控系统:将运动控制部分写入运动控制卡,由该设备控制硬件,而非实时操作或运算的部分放入计算机内,由计算机完成非实时的任务。

3、完全基于软件的运动规划控制系统:实时任务等完全交由计算机软件完成,并能响应硬件中断。

本文主要讲述LinuxCNC这款纯软件的操作系统,它是基于Linux的非实时的操作系统,相对...

LinuxCNC的能做什么

思泽之思

05-23

7798

LinuxCNC 提供:

1、图形用户界面(实际上有几个界面可供选择)g 代码解释器(rs274 机床编程语言)

2、一种具有前瞻功能的实时运动规划系统

3、传感器和电机驱动等低级机器电子设备的操作

4、易于使用的实验板层可快速为您的机器创建独特的配置软件

5、可编程逻辑控制器可编程梯形图

6、方便快捷的使用CD安装

7、它不提供绘图(计算机辅助设计)或从绘图生成 g 代码(计算机自动...

安装linuxcnc-ethercat中间件

08-11

安装linuxcnc-ethercat中间件需要以下步骤:

1. 首先,确保你的系统已经安装了Ubuntu操作系统,并且已经更新到最新版本。你可以使用终端输入以下命令来更新系统:sudo apt update

2. 接下来需要从官方仓库中安装EtherCAT Master软件包。打开终端,输入以下命令进行安装:

sudo apt-get install ethercat-hg

3. 安装完成后,你需要检查安装是否成功。在终端中输入以下命令来查看EtherCAT Master的版本:

ethercat --version

4. 确认EtherCAT Master已经成功安装后,你需要下载并安装linuxcnc-ethercat中间件。你可以从官方GitHub仓库中下载安装包。打开终端,输入以下命令来下载安装包:

git clone https://github.com/LinuxCNC/linuxcnc-ethercat.git

5. 下载完成后,进入下载的文件夹。在终端中输入以下命令来进入文件夹:

cd linuxcnc-ethercat

6. 进入文件夹后,你可以使用以下命令进行编译安装:

./autogen.sh

./configure

make

sudo make install

7. 编译和安装过程可能需要一些时间,取决于你的系统性能和网络速度。等待编译和安装完成后,你就成功安装了linuxcnc-ethercat中间件。

在安装完成后,你可以使用linuxcnc-ethercat中间件来进行以太网CAT总线驱动和控制。你可以根据具体的使用需求,在配置文件中进行相应的配置和设置。记得在使用前,根据你的硬件配置进行适当的调整和修改。

希望以上回答对你有所帮助!如果还有其他问题,请随时向我提问。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

思泽之思

CSDN认证博客专家

CSDN认证企业博客

码龄5年

暂无认证

54

原创

23万+

周排名

151万+

总排名

20万+

访问

等级

2379

积分

93

粉丝

77

获赞

35

评论

485

收藏

私信

关注

热门文章

Operation not supported 操作不允许

23050

struct timespec 和 struct timeval

14533

LinuxCNC的初步了解

13241

Altium Designer 18 如何导出 3D模型的PDF

11752

C++循环给数组赋值并输出

10352

分类专栏

C++

8篇

笔试练习题

2篇

Shell

5篇

C标准库函数

2篇

vim编辑器

1篇

stm32

11篇

ucosIII操作系统的学习

4篇

树与排序

1篇

LinuxCNC

7篇

其他

2篇

电路

2篇

AD

3篇

ARM驱动

C语言

16篇

linux

4篇

最新评论

基于LinuxCNC下的EtherCAT的伺服电机控制《二》

孙仲良:

你好请教下 我测试输入10000转 实际电机转的很慢,这是什么问题呢

uCOS-III多任务的创建

思泽之思:

你先确定你的硬件有几个LED灯

uCOS-III多任务的创建

m0_73276689:

一样的代码,三个LED只有亮两个是怎么回事呢

struct timespec 和 struct timeval

sky_2015:

https://en.cppreference.com/w/c/chrono/timespec_get

AD技巧--持续更新中

爱吃饭饭小超人:

厉害

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

2021-03-28

2021-03-28

学习数据结构之希尔算法

2021年2篇

2020年10篇

2019年66篇

目录

目录

分类专栏

C++

8篇

笔试练习题

2篇

Shell

5篇

C标准库函数

2篇

vim编辑器

1篇

stm32

11篇

ucosIII操作系统的学习

4篇

树与排序

1篇

LinuxCNC

7篇

其他

2篇

电路

2篇

AD

3篇

ARM驱动

C语言

16篇

linux

4篇

目录

评论 10

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

基于EtherCAT实时通信的电机驱动控制 - 知乎

基于EtherCAT实时通信的电机驱动控制 - 知乎切换模式写文章登录/注册基于EtherCAT实时通信的电机驱动控制南京立迈胜提供专业的运动控制平台和自动化解决方案 ethercat应用于国内外高精度电机驱动控制。市场上大部分的伺服驱动程序可以将以太网通信接口集成,作为以太网从站直接配置。为了实现基于ethercat的马达驱动系统,可以集中于ethercat主站的设计。考虑到主站开发周期较长的样本代码,商用主站软件一般用于二次计划开发。Intervalzero公司的Kingstar Motion Software将高价的运动控制板以软件的形式置换,包括对应的Ethernet主站代码,用以太网标准交换特别的网络协议和IO硬件基于Ethernet支持canopen的使用。为了构建基于低成本以太网的伺服控制系统。 本文结合EtherCAT总线技术、KingStar Motion软件和商业驱动器,设计一种基于EtherCAT通信的电机驱动控制方案,实现对电机的实时驱动控制。 以太网系统采用主从设备结构,并且所有通信都由主站发起。当以太网设备独立地处理双向传输(TX和RX)的特征在全双工模式下操作时,主站发送的消息可以通过RX射线返回到主站控制单元。这个通信机构使整个通信网自由,确保网络。 以太网主站发送下行链路消息。然后,每个从站通过所有从站,包括必要的数据。当消息通过时,以太网从站分析去往站的数据,并根据对应的命令从数据帧中提取或插入数据。然后,更新对应的工作计数器(WKC)以标识数据帧由从站处理。然后,将数据帧传送到下一个相邻的从站。这个过程由从硬件完成。而且,它使通过各个从站的Ethernet数据帧的时间非常小,并且延迟大约为100~500ns。并且,确保网络的高实时性能。在跨越所有从站之后,由从站处理的数据帧被用作上行链路消息,并且从最后的从站返回到主站。在接收到上行链路数据消息之后,主站处理返回的数据以终止一个通信基于ethercat通信的马达驱动控制系统主要由工业计算机、ethercat总线、伺服驱动器、伺服马达、反馈编码器构成。 工业计算机被配置为基于PC的ethercat主站。然后,它定期接收从站上传来的位置和速度数据,产生对应的计算,然后作为发送对应的参考电流或扭矩的以太网从站伺服驱动器通过编码器接收所收集的马达参数,通过Etherscat母线,将周期性对应的数据传输至主站,由主站驱动伺服电机接收发出的数据和控制命令。控制系统设计为典型的3个闭环(位置环、速度环和电流环)模式,伺服驱动器仅进行当前闭环动作的速度和位置的闭环计算在工业计算机中完成。 工业计算机和伺服驱动器构成Ethernet主站-从站结构。其中,将伺服驱动器作为ethercat从属,选择了宁波相公司的axn驱动器。相应的Ethernet从控制器ESC和微处理器芯片被集成以支持COE(Ethernet cat上的Cannopen)应用层协议。该配置相对简单,可以同时实现与主站的通信功能和电机驱动。因此,整个系统的密钥和难点在于以太网主站和主从站之间的通信软件的设计。发布于 2023-07-14 14:14・IP 属地江苏通信EtherCAT 总线驱动器​赞同​​1 条评论​分享​喜欢​收藏​申请

ethercat总线伺服如何控制 EtherCAT运行原理-电子发烧友网

ethercat总线伺服如何控制 EtherCAT运行原理-电子发烧友网

首页

技术

可编程逻辑

MEMS/传感技术

嵌入式技术

模拟技术

控制/MCU

处理器/DSP

存储技术

EMC/EMI设计

电源/新能源

测量仪表

制造/封装

RF/无线

接口/总线/驱动

EDA/IC设计

光电显示

连接器

PCB设计

LEDs

汽车电子

医疗电子

人工智能

可穿戴设备

军用/航空电子

工业控制

触控感测

智能电网

音视频及家电

通信网络

机器人

vr|ar|虚拟现实

安全设备/系统

移动通信

便携设备

物联网

区块链

HarmonyOS

RISC-V MCU

光伏

ChatGPT

IGBT

充电桩

氮化镓

BLDC

逆变器

5G

电机控制

资源

技术文库

新品速递

电路图

元器件知识

电子百科

最新技术文章

下载

在线工具

常用软件

电子书

datasheet

专栏

电子说

专栏

社区

论坛

问答

小组

技术专栏

社区之星

试用中心

HarmonyOS技术社区

2023电子工程师大会

研究院

活动

设计大赛

硬创大赛

社区活动

线下会议

在线研讨会

小测验

学院

直播

课程

视频

企业号

华秋智造

华秋PCB

高可靠多层板制造商

华秋SMT

高可靠一站式PCBA智造商

华秋商城

自营现货电子元器件商城

PCB Layout

高多层、高密度产品设计

钢网制造

专注高品质钢网制造

BOM配单

专业的一站式采购解决方案

华秋DFM

一键分析设计隐患

华秋认证

认证检测无可置疑

工具

PCB在线检查

datasheet查询

选型替代查询

免费样品申请

免费评测试用

工程师专区

技术子站

搜索

搜索历史

清空

搜索热词

0

聊天消息

系统消息

评论与回复

查看更多

查看更多

查看更多

登录

0

关注

0

粉丝

0

动态

个人中心

内容管理

积分兑换

当前积分:

修改资料

退出登录

登录后你可以

下载海量资料

学习在线课程

观看技术视频

写文章/发帖/加入社区

登录

创作中心

发布

发文章

发资料

发帖

提问

发视频

创作活动

推荐

分类

资料

软件

工具

排行榜

DataSheet

搜索

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ethercat总线伺服如何控制 EtherCAT运行原理

要长高

来源:网络整理

• 作者:网络整理

• 2024-01-24 18:12

次阅读

扫一扫,分享给好友

复制链接分享

ethercat总线伺服如何控制

EtherCAT(Ethernet for Control Automation Technology)是一种用于工业自动化的高性能实时以太网总线网络协议。它是一种快速的、实时的场总线通信协议,常用于控制伺服系统。

要控制EtherCAT总线上的伺服,你需要以下步骤:

1. 确保你的硬件设置正确:首先,需要正确安装和连接EtherCAT总线适配器和伺服驱动器。适配器负责将你的控制系统连接到EtherCAT总线网络,而伺服驱动器是用于控制伺服电机的设备。

2. 配置EtherCAT总线:使用适配器提供的配置软件,对EtherCAT总线进行配置。这可能涉及设置网络拓扑、地址分配和通信参数等。

3. 编写控制程序:使用编程软件(如PLC编程软件)编写控制程序,该程序可以向EtherCAT网络发送命令来控制伺服驱动器。控制程序可以使用各种编程语言,如C/C++、Structured Text(ST)或Function Block Diagram(FBD)。

4. 通信:通过控制程序发送命令到EtherCAT总线,以控制伺服驱动器。你可以发送命令来控制伺服的位置、速度、加速度等参数。

5. 反馈和监控:通过EtherCAT总线,你可以获取伺服驱动器的状态和反馈信息,如位置、速度和电流等。这些信息在控制系统中可以用于实时监控和反馈控制。

EtherCAT 运行原理

EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取相应的编址数据,同样,输入数据也是在报文经过时插入至报文中(参见图1)。整个过程中,报文只有几纳秒的时间延迟。

图 : 过程数据插入至报文中

由于发送和接收的以太网帧压缩了大量的设备数据,所以有效数据率可达90%以上。100 Mb/s TX的全双工特性完全得以利用,因此,有效数据率可 大于100 Mb/s(即大于2 x 100 Mb/s的90%)(参见图)。

图 : 带宽利用率的比较

符合IEEE 802.3标准的以太网协议无需附加任何总线即可访问各个设备。耦合设备中的物理层可以将双绞线或光纤转换为LVDS(一种可供选择的以太网物理层标准[4,5]),以满足电子端子块等模块化设备的需求。这样,就可以非常经济地对模块化设备进行扩展了。之后,便可以如普通以太网一样,随时进行从底板物理层LVDS到100 Mb/s TX物理层的转换。

ethercat能用普通网线吗

EtherCAT可以使用普通的以太网电缆(也称为网线)进行连接。EtherCAT使用标准的以太网物理层传输数据,因此你可以使用常见的Cat5、Cat5e、Cat6或Cat7以太网电缆来连接EtherCAT适配器和设备。

然而,需要注意的是,尽管EtherCAT使用普通的以太网电缆进行物理连接,但它采用了自己的通信协议和数据帧结构。所以,即使使用普通网线连接,你仍然需要适配器和设备来支持EtherCAT协议和通信。这些设备具备了特殊的电路和处理器,用于实时和高性能的数据交换。

因此,在使用EtherCAT时,确保使用符合EtherCAT规范的适配器和设备,并根据厂商提供的配置工具和文档进行正确的设置和连接。这样,你就可以实现高性能实时控制和通信,而无需特殊的高成本硬件和电缆。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。

举报投诉

以太网

以太网

+关注

关注

40

文章

4950

浏览量

165868

总线

总线

+关注

关注

10

文章

2672

浏览量

87021

伺服系统

伺服系统

+关注

关注

14

文章

513

浏览量

38755

ethercat

ethercat

+关注

关注

17

文章

409

浏览量

37583

伺服驱动器

伺服驱动器

+关注

关注

21

文章

384

浏览量

30358

收藏

人收藏

扫一扫,分享给好友

复制链接分享

评论

发布评论请先 登录

相关推荐

EtherCAT 技术

本帖最后由 sinap_zhj 于 2016-1-20 07:58 编辑

EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EtherCAT名

发表于 01-16 08:52

TMC8670 – 集成EtherCAT通讯和FOC伺服运动控制芯片适用2/3相永磁同步电机

` 本帖最后由 24不可说 于 2018-8-7 09:18 编辑

TMC8670是一款集成CANopen-over EtherCAT(COE)和磁场定向控制(FOC)与一体的伺服电机控制

发表于 08-06 22:47

labview通过Ethercat控制伺服电机

现在伺服电机很多都支持Ethercat总线了,这个总线速度很牛。有玩过labview通过Ethercat

发表于 10-16 19:15

EtherCAT总线伺服电机/一体化伺服电机如何保存当前参数?

在H1010-01写0x65766173;更多ethercat总线伺服常见参数问题:一体化伺服电机参数调整

发表于 06-28 06:35

请问EtherCAT总线伺服电机如何恢复为出厂参数?

EtherCAT总线伺服电机/一体化伺服电机如何恢复为出厂参数?

发表于 06-28 06:13

EtherCAT总线运动控制器硬件是如何进行接线的?

EtherCAT总线运动控制器硬件是如何进行接线的?EtherCAT总线运动控制器有哪些参数设置

发表于 07-15 13:02

六轴EtherCAT总线伺服涂布收卷机程序

六轴EtherCAT总线伺服涂布收卷机程序,采用六个伺服+变频器+编码器,动态测量频率,计算转速,再换算频率,用变频器同步伺服电机速度,进行

发表于 09-03 06:47

正运动技术运动控制器EtherCAT总线快速入门

、EtherCAT 总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用、U盘接口的使用、ZDevelop 编程软件的使用、运动控制

发表于 09-07 06:59

请问EtherCAT总线伺服电机/一体化伺服电机如何清零当前位置?

EtherCAT总线伺服电机/一体化伺服电机如何清零当前位置?

发表于 09-27 07:37

正运动技术运动控制器EtherCAT总线的基础使用

EtherCAT总线扩展模块包含哪些?怎样去使用正运动技术运动控制器EtherCAT总线?

发表于 09-27 08:34

请问EtherCAT总线伺服电机/一体化伺服电机如何清除历史报警?

请问EtherCAT总线伺服电机/一体化伺服电机如何清除历史报警?

发表于 09-30 06:01

开源!ZYNQ IgH EtherCAT主站方案分享

./igh_ethercat_dc_motor -d 0图 16图 17按下"Ctrl+C"停止运行程序。图 18执行如下命令控制两台伺服电机同时反转。Target#

发表于 10-29 11:17

EtherCAT总线运动控制的优势主要体现在哪?

EtherCAT技术的优异性能,可以实现用传统现场总线系统所无法实现的控制方法。正运动技术的ZMC464运动控制器,实际测试过100us可以带16轴

发表于 02-20 10:20

经济型EtherCAT运动控制器:EtherCAT总线快速入门

传送数据给主站。

EtherCAT总线上控制器为主站,伺服驱动器为从站。

如6040h控制字(用于控制

发表于 05-11 09:49

EtherCAT总线运动控制的优势主要体现在哪?

。利用EtherCAT技术的优异性能,可以实现用传统现场总线系统所无法实现的控制方法。

正运动技术的ZMC464运动控制器,实际测试过100us可以带16轴

发表于 12-13 11:37

要长高

专栏

0

文章

0

阅读

0

粉丝

0

点赞

关注 个人主页

Hot

量子芯片是什么东西 量子芯片和普通芯片的区别

Hot

麒麟9000S到底谁代工的 麒麟9000s geekbench测试结果

New

单相逆变器的“相”是什么意思

New

玄铁C910到底什么水平?

精选推荐

更多

文章 资料 帖子

MOS管的导通条件 MOS管的导通过程

Torex产品资讯

55分钟前

124 阅读

基于FPGA的DSP系统设计中流水线技术的主要应用

FPGA设计论坛

1小时前

134 阅读

瑞萨电容触摸技术之低功耗应用—RX140实验环节(2)-4

瑞萨MCU小百科

3小时前

159 阅读

构建完整的超低功耗精密高边电流检测电路的理想选择!

analog_devices

6小时前

212 阅读

圣邦微电子推出SGM33685系列Sub-1G射频功率放大器

e星球

7小时前

127 阅读

分立元件门电路

维生素B2

433

免费

92下载

基于ARM9的嵌入式PLC系统的设计与实现

h1654155272.9717

326.14KB

免费

28下载

自定义屏幕图案解锁控件教程案例

姚小熊27

1.12 MB

免费

1下载

Triton DataCenter云管理平台

王刚

2.58 MB

免费

1下载

Twemoji Twitter的Emoji表情

张览秀

8.09 MB

免费

0下载

制作一只3D打印的遥控机器狗

DFRobot官方

16小时前

54 阅读

设计干货!19种电压转换的电路设计方法

微风挽雨

16小时前

175 阅读

开关电源9个电路设计实例分析,一看就懂!

感谢相遇

16小时前

174 阅读

推荐!一个经典的单片机供电电路

笑过就走

16小时前

171 阅读

无感功率电阻温度采数的测量

海飞乐技术

16小时前

152 阅读

推荐专栏

更多

华秋(原“华强聚丰”):

电子发烧友

华秋开发

华秋电路(原"华强PCB")

华秋商城(原"华强芯城")

华秋智造

My ElecFans

APP

网站地图

设计技术

可编程逻辑

电源/新能源

MEMS/传感技术

测量仪表

嵌入式技术

制造/封装

模拟技术

RF/无线

接口/总线/驱动

处理器/DSP

EDA/IC设计

存储技术

光电显示

EMC/EMI设计

连接器

行业应用

LEDs

汽车电子

音视频及家电

通信网络

医疗电子

人工智能

虚拟现实

可穿戴设备

机器人

安全设备/系统

军用/航空电子

移动通信

工业控制

便携设备

触控感测

物联网

智能电网

区块链

新科技

特色内容

专栏推荐

学院

设计资源

设计技术

电子百科

电子视频

元器件知识

工具箱

VIP会员

最新技术文章

社区

小组

论坛

问答

评测试用

企业服务

产品

资料

文章

方案

企业

供应链服务

硬件开发

华秋电路

华秋商城

华秋智造

nextPCB

BOM配单

媒体服务

网站广告

在线研讨会

活动策划

新闻发布

新品发布

小测验

设计大赛

华秋

关于我们

投资关系

新闻动态

加入我们

联系我们

举报投诉

社交网络

微博

移动端

发烧友APP

硬声APP

WAP

联系我们

广告合作

王婉珠:wangwanzhu@elecfans.com

内容合作

黄晶晶:huangjingjing@elecfans.com

内容合作(海外)

张迎辉:mikezhang@elecfans.com

供应链服务 PCB/IC/PCBA

江良华:lanhu@huaqiu.com

投资合作

曾海银:zenghaiyin@huaqiu.com

社区合作

刘勇:liuyong@huaqiu.com

关注我们的微信

下载发烧友APP

电子发烧友观察

电子工程师社区

1-32层PCB打样·中小批量

元器件现货·全球代购·SmartBOM

SMT贴片·PCBA加工

PCB&PCBA Manufacturing

华秋简介

企业动态

联系我们

企业文化

企业宣传片

加入我们

版权所有 © 深圳华秋电子有限公司

电子发烧友

(电路图)

粤公网安备 44030402000349 号

电信与信息服务业务经营许可证:合字B2-20210191

工商网监

湘ICP备 2023018690 号